1. pre-κ
expander
hurbina
Introduction
What is κ
κ syntax
Kappa at
DLab
pre-kappa expander for κ language
DLab’s current
work
Space-related
simulations
Timming control H´ctor Urbina
e
pre-Kappa
expander
July 18, 2011
2. pre-κ
expander
hurbina
Introduction 1 Introduction
What is κ
κ syntax What is κ
Kappa at
DLab
κ syntax
DLab’s current
work
Space-related
simulations
Timming control 2 Kappa at DLab
pre-Kappa
expander DLab’s current work
Space-related simulations
Timming control
pre-Kappa expander
3. What is κ
pre-κ
expander
hurbina
Introduction κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
κ also enables the expression of rules of interaction between
work
Space-related agents.
simulations
Timming control
pre-Kappa These rules are executable, inducing a stochastic dynamics on a
expander
mixture of agents.
A κ model is a collection of rules (with rate constants) and an
initial mixture of agents on which such rules begin to act.
Krivine et. al. Programs as models: Kappa language basics. Unpublised
work.
4. What is κ
pre-κ
expander
hurbina
Introduction κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
κ also enables the expression of rules of interaction between
work
Space-related agents.
simulations
Timming control
pre-Kappa These rules are executable, inducing a stochastic dynamics on a
expander
mixture of agents.
A κ model is a collection of rules (with rate constants) and an
initial mixture of agents on which such rules begin to act.
Krivine et. al. Programs as models: Kappa language basics. Unpublised
work.
5. What is κ
pre-κ
expander
hurbina
Introduction κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
κ also enables the expression of rules of interaction between
work
Space-related agents.
simulations
Timming control
pre-Kappa These rules are executable, inducing a stochastic dynamics on a
expander
mixture of agents.
A κ model is a collection of rules (with rate constants) and an
initial mixture of agents on which such rules begin to act.
Krivine et. al. Programs as models: Kappa language basics. Unpublised
work.
6. What is κ
pre-κ
expander
hurbina
Introduction κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
κ also enables the expression of rules of interaction between
work
Space-related agents.
simulations
Timming control
pre-Kappa These rules are executable, inducing a stochastic dynamics on a
expander
mixture of agents.
A κ model is a collection of rules (with rate constants) and an
initial mixture of agents on which such rules begin to act.
Krivine et. al. Programs as models: Kappa language basics. Unpublised
work.
7. What is κ
pre-κ
expander
hurbina
Introduction κ is a formal language for defining agents as sets of sites.
What is κ
κ syntax
Sites hold an internal state as well as a binding state.
Kappa at
DLab
DLab’s current
κ also enables the expression of rules of interaction between
work
Space-related agents.
simulations
Timming control
pre-Kappa These rules are executable, inducing a stochastic dynamics on a
expander
mixture of agents.
A κ model is a collection of rules (with rate constants) and an
initial mixture of agents on which such rules begin to act.
Krivine et. al. Programs as models: Kappa language basics. Unpublised
work.
8. κ Syntax short introduction
pre-κ
expander
hurbina
Rule in English:
Introduction
What is κ
κ syntax
”Unphosphorilated Site1 of A binds to Site1 of B.”
Kappa at
DLab
DLab’s current
work
κ Rule:
Space-related
simulations
Timming control
A(Site1~u),B(Site1) → A(Site1~u!1),B(Site1!1)
pre-Kappa
expander
Agent Names : an identifier.
Agent Sites : an identifier.
Internal States : ~〈value〉.
Binding States : !〈n〉, ! or !?.
9. κ Syntax short introduction
pre-κ
expander
hurbina
Rule in English:
Introduction
What is κ
κ syntax
”Unphosphorilated Site1 of A binds to Site1 of B.”
Kappa at
DLab
DLab’s current
work
κ Rule:
Space-related
simulations
Timming control
A(Site1~u),B(Site1) → A(Site1~u!1),B(Site1!1)
pre-Kappa
expander
Agent Names : an identifier.
Agent Sites : an identifier.
Internal States : ~〈value〉.
Binding States : !〈n〉, ! or !?.
10. κ Syntax short introduction
pre-κ
expander
hurbina
Rule in English:
Introduction
What is κ
κ syntax
”Unphosphorilated Site1 of A binds to Site1 of B.”
Kappa at
DLab
DLab’s current
work
κ Rule:
Space-related
simulations
Timming control
A(Site1~u),B(Site1) → A(Site1~u!1),B(Site1!1)
pre-Kappa
expander
Agent Names : an identifier.
Agent Sites : an identifier.
Internal States : ~〈value〉.
Binding States : !〈n〉, ! or !?.
11. Kappa file structure
pre-κ
expander 1 #### Signatures
hurbina 2 %agent: A(x,c) # Declaration of agent A
3 %agent: B(x) # Declaration of B
Introduction 4 %agent: C(x1~u~p,x2~u~p) # Declaration of C with 2 modifiable sites
What is κ 5 #### Rules
κ syntax
6 ‘a.b’ A(x),B(x) -> A(x!1),B(x!1) @ ‘on rate’ #A binds B
Kappa at 7 ‘a..b’ A(x!1),B(x!1) -> A(x),B(x) @ ‘off rate’ #AB dissociation
DLab 8 ’ab.c’ A(x! ,c),C(x1~u) ->A(x! ,c!2),C(x1~u!2) @ ‘on rate’ #AB binds C
DLab’s current
work 9 ’mod x1’ C(x1~u!1),A(c!1) ->C(x1~p),A(c) @ ‘mod rate’ #AB modifies x1
Space-related 10 ’a.c’ A(x,c),C(x1~p,x2~u) -> A(x,c!1),C(x1~p,x2~u!1) @ ‘on rate’ #A binds C on x2
simulations
Timming control 11 ’mod x2’ A(x,c!1),C(x1~p,x2~u!1) -> A(x,c),C(x1~p,x2~p) @ ‘mod rate’ #A modifies x2
pre-Kappa 12 #### Variables
expander
13 %var: ‘on rate’ 1.0E-4 # per molecule per second
14 %var: ‘off rate’ 0.1 # per second
15 %var: ‘mod rate’ 1 # per second
16 %obs: ‘AB’ A(x!x.B)
17 %obs: ‘Cuu’ C(x1~u,x2~u)
18 %obs: ‘Cpu’ C(x1~p,x2~u)
19 %obs: ‘Cpp’ C(x1~p,x2~p)
20 #### Initial conditions
21 %init: 1000 A,B
22 %init: 10000 C
KaSim reference manual v1.06
12. DLab’s current work
pre-κ
expander
hurbina
Introduction DLab members study complex dynamical systems.
What is κ
κ syntax
Kappa at
DLab
Currently, Cesar Ravello is modeling muscle contration and
DLab’s current
work Felipe Nu˜ez is simulating massive responses to zombie attacks
n
Space-related
simulations on human populations, whereas Ricardo Honorato is adapting
Timming control
pre-Kappa
expander
Model Checking techniques to be used with systems expressed
in κ language.
Without intervening the κ language, we have reached some
interesting levels of abstraction!
13. DLab’s current work
pre-κ
expander
hurbina
Introduction DLab members study complex dynamical systems.
What is κ
κ syntax
Kappa at
DLab
Currently, Cesar Ravello is modeling muscle contration and
DLab’s current
work Felipe Nu˜ez is simulating massive responses to zombie attacks
n
Space-related
simulations on human populations, whereas Ricardo Honorato is adapting
Timming control
pre-Kappa
expander
Model Checking techniques to be used with systems expressed
in κ language.
Without intervening the κ language, we have reached some
interesting levels of abstraction!
14. DLab’s current work
pre-κ
expander
hurbina
Introduction DLab members study complex dynamical systems.
What is κ
κ syntax
Kappa at
DLab
Currently, Cesar Ravello is modeling muscle contration and
DLab’s current
work Felipe Nu˜ez is simulating massive responses to zombie attacks
n
Space-related
simulations on human populations, whereas Ricardo Honorato is adapting
Timming control
pre-Kappa
expander
Model Checking techniques to be used with systems expressed
in κ language.
Without intervening the κ language, we have reached some
interesting levels of abstraction!
15. DLab’s current work
pre-κ
expander
hurbina
Introduction
What is κ
κ syntax
Kappa at
Space-related simulations.
DLab Compartmentalization.
DLab’s current
work
Space-related
Diffusion events.
simulations
Timming control
pre-Kappa
expander Timming control.
Polymer-driven rules to manipulate latency.
16. DLab’s current work
pre-κ
expander
hurbina
Introduction
What is κ
κ syntax
Kappa at
Space-related simulations.
DLab Compartmentalization.
DLab’s current
work
Space-related
Diffusion events.
simulations
Timming control
pre-Kappa
expander Timming control.
Polymer-driven rules to manipulate latency.
17. DLab’s current work
pre-κ
expander
hurbina
Introduction
What is κ
κ syntax
Kappa at
Space-related simulations.
DLab Compartmentalization.
DLab’s current
work
Space-related
Diffusion events.
simulations
Timming control
pre-Kappa
expander Timming control.
Polymer-driven rules to manipulate latency.
18. Compartmentalization
pre-κ
expander
hurbina
Introduction
What is κ #Signatures
κ syntax %agent: A(x,c,loc~i~j~k)
Kappa at %agent: B(x,loc~i~j~k)
DLab
DLab’s current
work #Rules
Space-related
simulations #A binds B
Timming control
pre-Kappa A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate’
expander
A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on rate’
A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on rate’
19. Compartmentalization
pre-κ
expander
hurbina
Introduction
What is κ #Signatures
κ syntax %agent: A(x,c,loc~i~j~k)
Kappa at %agent: B(x,loc~i~j~k)
DLab
DLab’s current
work #Rules
Space-related
simulations #A binds B
Timming control
pre-Kappa A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate’
expander
A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on rate’
A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on rate’
20. Compartmentalization
pre-κ
expander
hurbina #Locations i, j and k have different volumen/area!
#Signatures
Introduction %agent: A(x,c,loc~i~j~k)
What is κ %agent: B(x,loc~i~j~k)
κ syntax
Kappa at #Rules
DLab
DLab’s current #A binds B
work
Space-related
simulations A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate loc(i)’
Timming control
pre-Kappa A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(X!1,loc~j) @ ’on rate loc(j)’
expander
A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(X!1,loc~k) @ ’on rate loc(k)’
#AB dissociation
A(x!1,loc~i),B(x!1,loc~i) → A(x,loc~i),B(x,loc~i) @ ’off rate’
A(x!1,loc~j),B(x!1,loc~j) → A(x,loc~j),B(x,loc~j) @ ’off rate’
A(x!1,loc~k),B(x!1,loc~k) → A(x,loc~k),B(x,loc~k) @ ’off rate’
21. Compartmentalization
pre-κ
expander
hurbina #Locations i, j and k have different volumen/area!
#Signatures
Introduction %agent: A(x,c,loc~i~j~k)
What is κ %agent: B(x,loc~i~j~k)
κ syntax
Kappa at #Rules
DLab
DLab’s current #A binds B
work
Space-related
simulations A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate loc(i)’
Timming control
pre-Kappa A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(X!1,loc~j) @ ’on rate loc(j)’
expander
A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(X!1,loc~k) @ ’on rate loc(k)’
#AB dissociation
A(x!1,loc~i),B(x!1,loc~i) → A(x,loc~i),B(x,loc~i) @ ’off rate’
A(x!1,loc~j),B(x!1,loc~j) → A(x,loc~j),B(x,loc~j) @ ’off rate’
A(x!1,loc~k),B(x!1,loc~k) → A(x,loc~k),B(x,loc~k) @ ’off rate’
22. Compartmentalization
pre-κ
expander
hurbina #Locations i, j and k have different volumen/area!
#Signatures
Introduction %agent: A(x,c,loc~i~j~k)
What is κ %agent: B(x,loc~i~j~k)
κ syntax
Kappa at #Rules
DLab
DLab’s current #A binds B
work
Space-related
simulations A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on rate loc(i)’
Timming control
pre-Kappa A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(X!1,loc~j) @ ’on rate loc(j)’
expander
A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(X!1,loc~k) @ ’on rate loc(k)’
#AB dissociation
A(x!1,loc~i),B(x!1,loc~i) → A(x,loc~i),B(x,loc~i) @ ’off rate’
A(x!1,loc~j),B(x!1,loc~j) → A(x,loc~j),B(x,loc~j) @ ’off rate’
A(x!1,loc~k),B(x!1,loc~k) → A(x,loc~k),B(x,loc~k) @ ’off rate’
23. Diffusion events
pre-κ
expander
hurbina
Introduction
What is κ
κ syntax
Kappa at
DLab #Signatures
DLab’s current
work
Space-related
%agent: A(x,c,loc~i~j~k)
simulations
Timming control
%agent: B(x,loc~i~j~k)
pre-Kappa
expander %agent: T(s,org~i~j~k,dst~i~j~k)
25. polymer-driven rules
pre-κ
expander
hurbina
Introduction #Signatures
What is κ
κ syntax %agent: S(x)
Kappa at %agent: Z()
DLab
DLab’s current
work
%agent: V(p,n)
Space-related
simulations #Rules
Timming control
pre-Kappa
expander
’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’
’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’
’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4),
V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9),
V(p!9,n!10),V(p!10,n) → Z() @ [inf]
26. polymer-driven rules
pre-κ
expander
hurbina
Introduction #Signatures
What is κ
κ syntax %agent: S(x)
Kappa at %agent: Z()
DLab
DLab’s current
work
%agent: V(p,n)
Space-related
simulations #Rules
Timming control
pre-Kappa
expander
’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’
’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’
’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4),
V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9),
V(p!9,n!10),V(p!10,n) → Z() @ [inf]
27. polymer-driven rules
pre-κ
expander
hurbina
Introduction #Signatures
What is κ
κ syntax %agent: S(x)
Kappa at %agent: Z()
DLab
DLab’s current
work
%agent: V(p,n)
Space-related
simulations #Rules
Timming control
pre-Kappa
expander
’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’
’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’
’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4),
V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9),
V(p!9,n!10),V(p!10,n) → Z() @ [inf]
28. polymer-driven rules
pre-κ
expander
hurbina
Introduction #Signatures
What is κ
κ syntax %agent: S(x)
Kappa at %agent: Z()
DLab
DLab’s current
work
%agent: V(p,n)
Space-related
simulations #Rules
Timming control
pre-Kappa
expander
’Infection’ Z(),S(x) → Z(),S(x!1),V(p!1,n) @ ’infection rate’
’Polymerization’ V(n) → V(n!1),V(p!1,n) @ ’polymer rate’
’Expression’ S(x!1),V(p!1,n!2),V(p!2,n!3),V(p!3,n!4),
V(p!4,n!5),V(p!5,n!6),V(p!6,n!7),V(p!7,n!8),V(p!8,n!9),
V(p!9,n!10),V(p!10,n) → Z() @ [inf]
29. pre-Kappa expander
pre-κ
expander
hurbina
Introduction
What is κ
κ syntax
A Python (V2) script that takes as input a (built in-house)
Kappa at
DLab pre-κ file and outputs a kappa file which can subsequently be
DLab’s current
work
Space-related
used with KaSim.
simulations
Timming control This is done using Lexer & Parser techniques, available in
pre-Kappa
expander
Python through ply library.
It facilitates κ abstraction while reducing error-proneness.
30. pre-Kappa expander
pre-κ
expander
hurbina
Introduction
What is κ
κ syntax
A Python (V2) script that takes as input a (built in-house)
Kappa at
DLab pre-κ file and outputs a kappa file which can subsequently be
DLab’s current
work
Space-related
used with KaSim.
simulations
Timming control This is done using Lexer & Parser techniques, available in
pre-Kappa
expander
Python through ply library.
It facilitates κ abstraction while reducing error-proneness.
31. pre-Kappa expander
pre-κ
expander
hurbina
Introduction
What is κ
κ syntax
A Python (V2) script that takes as input a (built in-house)
Kappa at
DLab pre-κ file and outputs a kappa file which can subsequently be
DLab’s current
work
Space-related
used with KaSim.
simulations
Timming control This is done using Lexer & Parser techniques, available in
pre-Kappa
expander
Python through ply library.
It facilitates κ abstraction while reducing error-proneness.
32. pre-Kappa syntax: Locations
pre-κ
expander
hurbina #Locations
Introduction
%loc: i 100
What is κ
κ syntax
%loc: j 1000
Kappa at %loc: k 500
DLab
DLab’s current
#Location list
work
Space-related %locl: all i j k
simulations
Timming control #Signatures
pre-Kappa
expander
%expand-agent: all A(x,c)
%expand-agent: all B(x)
gives:
%agent: A(x,c,loc~i~j~k)
%agent: B(x,loc~i~j~k)
33. pre-Kappa syntax: Locations
pre-κ
expander
hurbina #Locations
Introduction
%loc: i 100
What is κ
κ syntax
%loc: j 1000
Kappa at %loc: k 500
DLab
DLab’s current
#Location list
work
Space-related %locl: all i j k
simulations
Timming control #Signatures
pre-Kappa
expander
%expand-agent: all A(x,c)
%expand-agent: all B(x)
gives:
%agent: A(x,c,loc~i~j~k)
%agent: B(x,loc~i~j~k)
34. pre-Kappa syntax: Locations
pre-κ
expander
hurbina #Locations
Introduction
%loc: i 100
What is κ
κ syntax
%loc: j 1000
Kappa at %loc: k 500
DLab
DLab’s current
#Location list
work
Space-related %locl: all i j k
simulations
Timming control #Signatures
pre-Kappa
expander
%expand-agent: all A(x,c)
%expand-agent: all B(x)
gives:
%agent: A(x,c,loc~i~j~k)
%agent: B(x,loc~i~j~k)
35. pre-Kappa syntax: Locations
pre-κ
expander
hurbina #Locations
Introduction
%loc: i 100
What is κ
κ syntax
%loc: j 1000
Kappa at %loc: k 500
DLab
DLab’s current
#Location list
work
Space-related %locl: all i j k
simulations
Timming control #Signatures
pre-Kappa
expander
%expand-agent: all A(x,c)
%expand-agent: all B(x)
gives:
%agent: A(x,c,loc~i~j~k)
%agent: B(x,loc~i~j~k)
36. pre-Kappa syntax: Locations
pre-κ
expander #Locations
hurbina %loc: i 100
%loc: j 1000
Introduction
What is κ %loc: k 500
κ syntax
#Location list
Kappa at
DLab %locl: all i j k
DLab’s current
work
#Initializations (expand if densities are equal)
Space-related
simulations %expand-init: all ADensity A(x,c)
Timming control
pre-Kappa %expand-init: all BDensity B(x)
expander
gives:
%init: ADensity * 100 A(x,c,loc~i)
%init: ADensity * 1000 A(x,c,loc~j)
%init: ADensity * 500 A(x,c,loc~k)
%init: BDensity * 100 B(x,loc~i)
%init: BDensity * 1000 B(x,loc~j)
%init: BDensity * 500 B(x,loc~k)
37. pre-Kappa syntax: Locations
pre-κ
expander #Locations
hurbina %loc: i 100
%loc: j 1000
Introduction
What is κ %loc: k 500
κ syntax
#Location list
Kappa at
DLab %locl: all i j k
DLab’s current
work
#Initializations (expand if densities are equal)
Space-related
simulations %expand-init: all ADensity A(x,c)
Timming control
pre-Kappa %expand-init: all BDensity B(x)
expander
gives:
%init: ADensity * 100 A(x,c,loc~i)
%init: ADensity * 1000 A(x,c,loc~j)
%init: ADensity * 500 A(x,c,loc~k)
%init: BDensity * 100 B(x,loc~i)
%init: BDensity * 1000 B(x,loc~j)
%init: BDensity * 500 B(x,loc~k)
38. pre-Kappa syntax: Locations
pre-κ
expander
hurbina
Introduction
What is κ
κ syntax A bimolecular stochastic rate constant γ, expressed in
Kappa at s −1 molecule −1 , is related to its deterministic counterpart k,
DLab
DLab’s current
work
expressed in s −1 M −1 as
Space-related
simulations
Timming control k
pre-Kappa γ= , (1)
expander AV
where A is Avogadro’s number.
Krivine et. al. Programs as models: Execution. Unpublised work.
39. pre-Kappa syntax: Locations
pre-κ
expander
hurbina
#Locations
Introduction
%loc: i 100
What is κ
κ syntax %loc: j 1000
Kappa at
%loc: k 500
DLab #Location list
DLab’s current %locl: all i j k
work
Space-related #A binds B
simulations %expand-rule: all A(x),B(x) → A(x!1),B(x!1) @ ’on base rate’
Timming control
pre-Kappa
expander gives:
A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on base rate’ / 100
A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on base rate’ / 1000
A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on base rate’ / 500
40. pre-Kappa syntax: Locations
pre-κ
expander
hurbina
#Locations
Introduction
%loc: i 100
What is κ
κ syntax %loc: j 1000
Kappa at
%loc: k 500
DLab #Location list
DLab’s current %locl: all i j k
work
Space-related #A binds B
simulations %expand-rule: all A(x),B(x) → A(x!1),B(x!1) @ ’on base rate’
Timming control
pre-Kappa
expander gives:
A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on base rate’ / 100
A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on base rate’ / 1000
A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on base rate’ / 500
41. pre-Kappa syntax: Locations
pre-κ
expander
hurbina
#Locations
Introduction
%loc: i 100
What is κ
κ syntax %loc: j 1000
Kappa at
%loc: k 500
DLab #Location list
DLab’s current %locl: all i j k
work
Space-related #A binds B
simulations %expand-rule: all A(x),B(x) → A(x!1),B(x!1) @ ’on base rate’
Timming control
pre-Kappa
expander gives:
A(x,loc~i),B(x,loc~i) → A(x!1,loc~i),B(x!1,loc~i) @ ’on base rate’ / 100
A(x,loc~j),B(x,loc~j) → A(x!1,loc~j),B(x!1,loc~j) @ ’on base rate’ / 1000
A(x,loc~k),B(x,loc~k) → A(x!1,loc~k),B(x!1,loc~k) @ ’on base rate’ / 500