Operational Semantics Coalgebraically
Bartek Klin University of Cambridge, Warsaw University
CMCS, Paphos, 27/03/10
Operational Semantics Coalgebraically Bartek Klin University of - - PowerPoint PPT Presentation
Operational Semantics Coalgebraically Bartek Klin University of Cambridge, Warsaw University CMCS, Paphos, 27/03/10 Summary Structural Operational Semantics is about Defining transition relations by induction CMCS, Paphos, 27/03/10 2 / 37
Bartek Klin University of Cambridge, Warsaw University
CMCS, Paphos, 27/03/10
CMCS, Paphos, 27/03/10
/ 37
2
CMCS, Paphos, 27/03/10
/ 37
2
CMCS, Paphos, 27/03/10
/ 37
2
CMCS, Paphos, 27/03/10
/ 37 3
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ alt : Z2 → Z
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ alt : Z2 → Z
a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . .
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ alt : Z2 → Z
a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . .
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ alt : Z2 → Z
a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . . alt a1, b2, a3, b4, a5, . . .
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ alt : Z2 → Z
a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . . alt a1, b2, a3, b4, a5, . . . Z2
h
B(alt)
z
BZ
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ alt : Z2 → Z
a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . . alt a1, b2, a3, b4, a5, . . . Z2
h
B(alt)
z
BZ = h(σ, τ) hd(σ), (tl(τ), tl(σ))
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ alt : Z2 → Z
a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . . alt a1, b2, a3, b4, a5, . . . = Z2
alt
λ
B(Z2)
B(alt)
z
BZ h(σ, τ) hd(σ), (tl(τ), tl(σ))
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ alt : Z2 → Z
a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . . alt a1, b2, a3, b4, a5, . . . = Z2
alt
λ
B(Z2)
B(alt)
z
BZ λ(a, σ, b, τ) a, (τ, σ)
CMCS, Paphos, 27/03/10
/ 37
4
BX = A × X Z = Aω z = hd, tl : Z → BZ alt : Z2 → Z
a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . . alt a1, b2, a3, b4, a5, . . . = Z2
alt
λ
B(Z2)
B(alt)
z
BZ λ(a, σ, b, τ) a, (τ, σ)
λ : (B−)2 = ⇒ B(−)2
CMCS, Paphos, 27/03/10
/ 37
5
BX = A × X Z = Aω
CMCS, Paphos, 27/03/10
/ 37
5
BX = A × X Z = Aω
+ : A2 → A
⊕ : Z2 → Z
+
CMCS, Paphos, 27/03/10
/ 37
5
BX = A × X Z = Aω
+ : A2 → A
⊕ : Z2 → Z
+ Z2
h
B(⊕)
z
BZ
CMCS, Paphos, 27/03/10
/ 37
5
BX = A × X = Z = Aω
+ : A2 → A
⊕ : Z2 → Z
+ Z2
h
B(⊕)
z
BZ h(σ, τ) hd(σ) + hd(τ), (tl(σ), tl(τ))
CMCS, Paphos, 27/03/10
/ 37
5
BX = A × X = Z = Aω
+ : A2 → A
⊕ : Z2 → Z
+ Z2
⊕
λ
B(Z2)
B(⊕)
z
BZ h(σ, τ) hd(σ) + hd(τ), (tl(σ), tl(τ))
CMCS, Paphos, 27/03/10
/ 37
5
BX = A × X = Z = Aω
+ : A2 → A
⊕ : Z2 → Z
+ Z2
⊕
λ
B(Z2)
B(⊕)
z
BZ λ(a, σ, b, τ) a + b, (σ, τ)
CMCS, Paphos, 27/03/10
/ 37
5
BX = A × X = Z = Aω
+ : A2 → A
⊕ : Z2 → Z
+ Z2
⊕
λ
B(Z2)
B(⊕)
z
BZ λ(a, σ, b, τ) a + b, (σ, τ)
λ : (B−)2 = ⇒ B(−)2
CMCS, Paphos, 27/03/10
/ 37
6
⇒ BΣ
CMCS, Paphos, 27/03/10
/ 37
6
⇒ BΣ
CMCS, Paphos, 27/03/10
/ 37
6
⇒ BΣ
CMCS, Paphos, 27/03/10
/ 37
6
⇒ BΣ ΣZ
g
λZ BΣZ Bg
z
BZ
CMCS, Paphos, 27/03/10
/ 37
6
⇒ BΣ ΣZ
g
λZ BΣZ Bg
z
BZ X
h BX
ΣX
Σh ΣBX λX BΣX
Σλ
CMCS, Paphos, 27/03/10
/ 37
7
ΣZ
g
λZ BΣZ Bg
z
BZ λ : ΣB = ⇒ BΣ
B
CMCS, Paphos, 27/03/10
/ 37
7
ΣZ
g
λZ BΣZ Bg
z
BZ λ : ΣB = ⇒ BΣ
B
ΣA
a
h
λA
BΣA
Ba
BA
Σ
CMCS, Paphos, 27/03/10
/ 37
8
BX = A × X ΣX = A + X2 alt a
CMCS, Paphos, 27/03/10
/ 37
8
BX = A × X ΣX = A + X2 alt a
(a, x′, b, y′) → a, (y′, x′) () → a, () λa
X : 1 → BΣX
λalt
X : (BX)2 → BΣX
λX : ΣBX → BΣX
CMCS, Paphos, 27/03/10
/ 37
8
BX = A × X ΣX = A + X2 alt a
x
a
→ x′ y
b
→ y′ alt(x, y)
a
→ alt(y′, x′) a
a
→ a (a, x′, b, y′) → a, (y′, x′) () → a, () λa
X : 1 → BΣX
λalt
X : (BX)2 → BΣX
λX : ΣBX → BΣX
CMCS, Paphos, 27/03/10
/ 37
8
BX = A × X ΣX = A + X2 alt a
x
a
→ x′ y
b
→ y′ alt(x, y)
a
→ alt(y′, x′) a
a
→ a
alt(a, b)
a
→ alt(b, a)
(a, x′, b, y′) → a, (y′, x′) () → a, () λa
X : 1 → BΣX
λalt
X : (BX)2 → BΣX
λX : ΣBX → BΣX
CMCS, Paphos, 27/03/10
/ 37
9
ΣZ
g
λZ BΣZ Bg
z
BZ λ : ΣB = ⇒ BΣ
B
ΣA
a
h
λA
BΣA
Ba
BA
Σ
CMCS, Paphos, 27/03/10
/ 37
9
ΣZ
g
λZ BΣZ Bg
z
BZ λ : ΣB = ⇒ BΣ
B
ΣA
a
h
λA
BΣA
Ba
BA
Σ
CMCS, Paphos, 27/03/10
/ 37
10
λ ΣX
Σh
X
h
BX ΣBX
λX
BΣX
Bg
CMCS, Paphos, 27/03/10
/ 37
10
λ
ΣX
Σh
X
h
BX ΣBX
λX
BΣX
Bg
CMCS, Paphos, 27/03/10
/ 37
10
λ
ΣX
g
X
h BX
ΣY
k
Y
l
BY ΣX
Σh
X
h
BX ΣBX
λX
BΣX
Bg
CMCS, Paphos, 27/03/10
/ 37
10
λ
ΣX
g
X
h f
ΣY
k
Y
l
BY ΣX
Σh
X
h
BX ΣBX
λX
BΣX
Bg
CMCS, Paphos, 27/03/10
/ 37
10
λ
ΣX
g
h f
Bf
k
Y
l
BY ΣX
Σh
X
h
BX ΣBX
λX
BΣX
Bg
CMCS, Paphos, 27/03/10
/ 37
10
λ
ΣX
g
h f
Bf
k
Y
l
BY
λ-bialg ∼ = Σλ-alg ΣX
Σh
X
h
BX ΣBX
λX
BΣX
Bg
CMCS, Paphos, 27/03/10
/ 37
10
λ
ΣX
g
h f
Bf
k
Y
l
BY
λ-bialg ∼ = Σλ-alg ∼ = Bλ-coalg ΣX
Σh
X
h
BX ΣBX
λX
BΣX
Bg
CMCS, Paphos, 27/03/10
/ 37
11
ΣZ
g
λZ BΣZ Bg
z
BZ λ : ΣB = ⇒ BΣ ΣA
a
h
λA
BΣA
Ba
BA
CMCS, Paphos, 27/03/10
/ 37
11
ΣZ
g
λZ BΣZ Bg
z
BZ λ : ΣB = ⇒ BΣ ΣA
a
h
λA
BΣA
Ba
BA
CMCS, Paphos, 27/03/10
/ 37
12
ΣA
a ∼ =
h f
Bf
g
Z
z ∼ = BZ
f h a
CMCS, Paphos, 27/03/10
/ 37
12
ΣA
a ∼ =
h f
Bf
g
Z
z ∼ = BZ
f h a
CMCS, Paphos, 27/03/10
/ 37
12
ΣA
a ∼ =
h f
Bf
g
Z
z ∼ = BZ
f h a
alt(a, a) ≈ a
C[alt(a, a)] ≈ C[a]
CMCS, Paphos, 27/03/10
/ 37 13
CMCS, Paphos, 27/03/10
/ 37
14
BX = A × X Z = Aω
CMCS, Paphos, 27/03/10
/ 37
14
BX = A × X Z = Aω
CMCS, Paphos, 27/03/10
/ 37
14
BX = A × X Z = Aω a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . .
CMCS, Paphos, 27/03/10
/ 37
14
BX = A × X Z = Aω a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . .
CMCS, Paphos, 27/03/10
/ 37
14
BX = A × X Z = Aω a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . .
zip a1, b1, a2, b2, a3, . . .
CMCS, Paphos, 27/03/10
/ 37
14
BX = A × X Z = Aω a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . .
Z2
zip
λ
B(Z2)
B(zip)
z
BZ zip a1, b1, a2, b2, a3, . . .
CMCS, Paphos, 27/03/10
/ 37
14
BX = A × X Z = Aω a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . .
Z2
zip
λ
B(Z2)
B(zip)
z
BZ λ(a, σ, b, τ) a, (b :: τ, σ) = zip a1, b1, a2, b2, a3, . . .
CMCS, Paphos, 27/03/10
/ 37
14
BX = A × X Z = Aω a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . .
Z2
zip
λ
B(Z2)
B(zip)
z
BZ λ(a, σ, b, τ) a, (b :: τ, σ) = x
a
→ x′ zip(x, y)
a
→ zip(y, x′) zip a1, b1, a2, b2, a3, . . .
CMCS, Paphos, 27/03/10
/ 37
14
BX = A × X Z = Aω a1, a2, a3, a4, a5, . . . b1, b2, b3, b4, b5, . . .
Z2
zip
λ
B(Z2)
B(zip)
z
BZ λ(a, σ, b, τ) a, (b :: τ, σ) = x
a
→ x′ zip(x, y)
a
→ zip(y, x′)
zip a1, b1, a2, b2, a3, . . .
CMCS, Paphos, 27/03/10
/ 37
15
zip Z2
zip
λ
B(Z2)
B(zip)
z
BZ (x, a, x′, y, b, y′) → a, (y, x′) x
a
→ x′ zip(x, y)
a
→ zip(y, x′)
CMCS, Paphos, 27/03/10
/ 37
15
zip Z2
zip
λ
B(Z2)
B(zip)
z
BZ (x, a, x′, y, b, y′) → a, (y, x′) x
a
→ x′ zip(x, y)
a
→ zip(y, x′) λ : Σ(Id × B) = ⇒ BΣ
CMCS, Paphos, 27/03/10
/ 37
15
zip Z2
zip
λ
B(Z2)
B(zip)
z
BZ (x, a, x′, y, b, y′) → a, (y, x′) x
a
→ x′ zip(x, y)
a
→ zip(y, x′) λ : Σ(Id × B) = ⇒ BΣ
CMCS, Paphos, 27/03/10
/ 37
16
a/− : Z → Z b1, b2, b3, b4, b5, . . . a, b2, b3, b4, b5, . . . a/−
CMCS, Paphos, 27/03/10
/ 37
16
a/− : Z → Z b1, b2, b3, b4, b5, . . . a, b2, b3, b4, b5, . . . a/−
Z
a/−
B(a/−)
z
BZ
CMCS, Paphos, 27/03/10
/ 37
16
a/− : Z → Z b1, b2, b3, b4, b5, . . . a, b2, b3, b4, b5, . . . a/−
CMCS, Paphos, 27/03/10
/ 37
16
a/− : Z → Z b1, b2, b3, b4, b5, . . . a, b2, b3, b4, b5, . . . a/− ΣZ
g
λ
B(Z + ΣZ)
B[id,g]
z
BZ
CMCS, Paphos, 27/03/10
/ 37
16
a/− : Z → Z b1, b2, b3, b4, b5, . . . a, b2, b3, b4, b5, . . . a/− ΣZ
g
λ
B(Z + ΣZ)
B[id,g]
z
BZ λ : BZ → B(Z + Z) x
b
− → x′ a/x
a
− → x′ b, x′ → a, ι1(x′)
CMCS, Paphos, 27/03/10
/ 37
16
a/− : Z → Z b1, b2, b3, b4, b5, . . . a, b2, b3, b4, b5, . . . a/− ΣZ
g
λ
B(Z + ΣZ)
B[id,g]
z
BZ λ : BZ → B(Z + Z) x
b
− → x′ a/x
a
− → x′ b, x′ → a, ι1(x′)
CMCS, Paphos, 27/03/10
/ 37
17
x
a
− → x′ f(x)
a
− → zip(a, f(x′))
CMCS, Paphos, 27/03/10
/ 37
17
x
a
− → x′ f(x)
a
− → zip(a, f(x′)) λ : ΣB = ⇒ BTΣ
CMCS, Paphos, 27/03/10
/ 37
17
x
a
− → x′ f(x)
a
− → zip(a, f(x′)) λ : ΣB = ⇒ BTΣ
ΣZ
g
λ
BTΣ
Bg♯
z
BZ
CMCS, Paphos, 27/03/10
/ 37
17
x
a
− → x′ f(x)
a
− → zip(a, f(x′)) λ : ΣB = ⇒ BTΣ
ΣZ
g
λ
BTΣ
Bg♯
z
BZ
CMCS, Paphos, 27/03/10
/ 37
17
x
a
− → x′ f(x)
a
− → zip(a, f(x′)) λ : ΣB = ⇒ BTΣ
zip λ : Σ(Id × B) = ⇒ BTΣ ΣZ
g
λ
BTΣ
Bg♯
z
BZ
CMCS, Paphos, 27/03/10
/ 37
18
CMCS, Paphos, 27/03/10
/ 37
18
a1, a2, a3, a4, a5, . . . a1, a3, a5, a7, ...
CMCS, Paphos, 27/03/10
/ 37
18
a1, a2, a3, a4, a5, . . . a1, a3, a5, a7, ...
x
a
− → y
b
− → z
a
− → odd(z)
CMCS, Paphos, 27/03/10
/ 37
18
a1, a2, a3, a4, a5, . . . a1, a3, a5, a7, ...
x
a
− → y
b
− → z
a
− → odd(z) λ : ΣDB = ⇒ BΣ
CMCS, Paphos, 27/03/10
/ 37
18
a1, a2, a3, a4, a5, . . . a1, a3, a5, a7, ...
x
a
− → y
b
− → z
a
− → odd(z) λ : ΣDB = ⇒ BΣ
CMCS, Paphos, 27/03/10
/ 37
18
a1, a2, a3, a4, a5, . . . a1, a3, a5, a7, ...
x
a
− → y
b
− → z
a
− → odd(z) λ : ΣDB = ⇒ BΣ
ΣZ
g
λZ
BΣZ
Bg
z
BZ
CMCS, Paphos, 27/03/10
/ 37
19
λ : TΣDB = ⇒ DBTΣ
TΣZ
g
λz
DBTΣZ
DBg
z
DBZ
CMCS, Paphos, 27/03/10
/ 37
19
λ : TΣDB = ⇒ DBTΣ
TΣZ
g
λz
DBTΣZ
DBg
z
DBZ
CMCS, Paphos, 27/03/10
/ 37 20
CMCS, Paphos, 27/03/10
/ 37 20
BX = (PωX)A
CMCS, Paphos, 27/03/10
/ 37
21
a
a
− → nil ΣX = 1 + A + X2 BX = (PωX)A x
a
− → x′ y
a
− → y′ x ⊗ y
a
− → x′ ⊗ y′
⇒ BΣ
CMCS, Paphos, 27/03/10
/ 37
21
a
a
− → nil ΣX = 1 + A + X2 BX = (PωX)A x
a
− → x′ y
a
− → y′ x ⊗ y
a
− → x′ ⊗ y′
⇒ BΣ
λ
CMCS, Paphos, 27/03/10
/ 37
22
λ : Σ(Id × B) = ⇒ BTΣ
{xi
aij
− → yij}1≤i≤n
1≤j≤mi
{xi
bik
− →}1≤i≤n
1≤k≤li
f(x1, . . . , xn)
c
− → t xi yij
f c
CMCS, Paphos, 27/03/10
/ 37
22
λ : Σ(Id × B) = ⇒ BTΣ
{xi
aij
− → yij}1≤i≤n
1≤j≤mi
{xi
bik
− →}1≤i≤n
1≤k≤li
f(x1, . . . , xn)
c
− → t xi yij
f c
CMCS, Paphos, 27/03/10
/ 37
22
λ : Σ(Id × B) = ⇒ BTΣ
{xi
aij
− → yij}1≤i≤n
1≤j≤mi
{xi
bik
− →}1≤i≤n
1≤k≤li
f(x1, . . . , xn)
c
− → t xi yij
f c
CMCS, Paphos, 27/03/10
/ 37
22
λ : Σ(Id × B) = ⇒ BTΣ
{xi
aij
− → yij}1≤i≤n
1≤j≤mi
{xi
bik
− →}1≤i≤n
1≤k≤li
f(x1, . . . , xn)
c
− → t xi yij
f c
CMCS, Paphos, 27/03/10
/ 37
23
λ : ΣDB = ⇒ B(Id + Σ)
xi
f c
{zi
ai
− → yi}i∈I {wj
bj
− →}j∈J f(x1, . . . , xn)
c
− → t t 1 yi
CMCS, Paphos, 27/03/10
/ 37
23
λ : ΣDB = ⇒ B(Id + Σ)
xi
f c
{zi
ai
− → yi}i∈I {wj
bj
− →}j∈J f(x1, . . . , xn)
c
− → t t 1 yi
CMCS, Paphos, 27/03/10
/ 37
24
λ : Σ(Id × B) = ⇒ BTΣ
λ : ΣDB = ⇒ B(Id + Σ)
λ : TΣDB = ⇒ DBTΣ
CMCS, Paphos, 27/03/10
/ 37
24
λ : Σ(Id × B) = ⇒ BTΣ
λ : ΣDB = ⇒ B(Id + Σ)
λ : TΣDB = ⇒ DBTΣ
x
a
− → y y
b
− → f(x)
b
− → k k
a
− → f(k)
CMCS, Paphos, 27/03/10
/ 37 25
CMCS, Paphos, 27/03/10
/ 37
26
λ : Σ(Id × B) = ⇒ BTΣ
⇐ ⇒ BX = (1 + DωX)A DωX = {φ : X → R+
0 | ♯supp(φ) < ω, x φ(x) = 1}
a
− →
a
− →
bj
− → yj
f(x1, . . . , xn)
c,w
− → t
CMCS, Paphos, 27/03/10
/ 37
27
BX = (FX)A FX = {φ : X → R+
0 | ♯supp(φ) < ω}
λ : Σ(Id × B) = ⇒ BTΣ
a@wai
− →
bj
− → yj
f(x1, . . . , xn)
c,w
− → t
⇐ ⇒
CMCS, Paphos, 27/03/10
/ 37
28
BX = (FX)A λ : Σ(Id × B) = ⇒ BTΣ
FX = {φ : X → W | ♯supp(φ) < ω}
a
− → wa,i
bj
− → yj
f(x1, . . . , xn)
c,β
− → t = ⇒
CMCS, Paphos, 27/03/10
/ 37
28
BX = (FX)A λ : Σ(Id × B) = ⇒ BTΣ
FX = {φ : X → W | ♯supp(φ) < ω}
a
− → wa,i
bj
− → yj
f(x1, . . . , xn)
c,β
− → t = ⇒
CMCS, Paphos, 27/03/10
/ 37
29
BX = {T ⇀ X | . . .} T a time domain
λ : TΣDB = ⇒ DBTΣ ⇐ ⇒ {xi(0)
ti
− → xi(ti) | ti ∈ T ∧ xi(ti)↓}1≤i≤n f(x1(0), . . . , xn(0))
t
− → θt
CMCS, Paphos, 27/03/10
/ 37
30
λ : Σ(| −|× B| −| ) = ⇒ BTΣ| −| = ⇒
x
c!d
− → x′ y
c?(a)
− → y′ x||y
τ
− → y||([d/a]y′)
CMCS, Paphos, 27/03/10
/ 37
31
CMCS, Paphos, 27/03/10
/ 37
31
CMCS, Paphos, 27/03/10
/ 37
31
t1
a1
− → u1 t2
a2
− → u2 f(x1, . . . , xn)
a
− → t
CMCS, Paphos, 27/03/10
/ 37 32
CMCS, Paphos, 27/03/10
/ 37
33
≈
≈
CMCS, Paphos, 27/03/10
/ 37
33
≈
≈
x
a
− → x′ y
b
− → f(x, y)
c
− → g(x′, y)
CMCS, Paphos, 27/03/10
/ 37
x | = ax′ y | = [b]ff
33
≈
≈
x
a
− → x′ y
b
− → f(x, y)
c
− → g(x′, y)
CMCS, Paphos, 27/03/10
/ 37
x | = ax′ y | = [b]ff
33
≈
≈
x
a
− → x′ y
b
− → f(x, y)
c
− → g(x′, y)
≈
≈
CMCS, Paphos, 27/03/10
/ 37
34
= ⇒
CMCS, Paphos, 27/03/10
/ 37
34
= ⇒
⊤ = T aT = a ∨ [⊗]a⊤ a⊤ = a ∨ [⊗]a⊤ a(b ∨ [⊗]x) = [⊗]ax a[⊗]x = [⊗]ax
CMCS, Paphos, 27/03/10
/ 37
35
CMCS, Paphos, 27/03/10
/ 37
35
CMCS, Paphos, 27/03/10
/ 37
35
CMCS, Paphos, 27/03/10
/ 37
35
CMCS, Paphos, 27/03/10
/ 37
36
CMCS, Paphos, 27/03/10
/ 37
36
x
a
− → x′ loop(x)
a
− → x′; loop(x) loop ;
CMCS, Paphos, 27/03/10
/ 37
36
x
a
− → x′ loop(x)
a
− → x′; loop(x) loop ;
CMCS, Paphos, 27/03/10
/ 37
36
x
a
− → x′ loop(x)
a
− → x′; loop(x) loop ;
CMCS, Paphos, 27/03/10
/ 37
36
x
a
− → x′ loop(x)
a
− → x′; loop(x) loop ;
CMCS, Paphos, 27/03/10
/ 37
36
x
a
− → x′ loop(x)
a
− → x′; loop(x) loop ;
λp
CMCS, Paphos, 27/03/10
/ 37
36
x
a
− → x′ loop(x)
a
− → x′; loop(x) loop ;
λp
CMCS, Paphos, 27/03/10
/ 37
36
x
a
− → x′ loop(x)
a
− → x′; loop(x) loop ;
λp
λb
CMCS, Paphos, 27/03/10
/ 37
36
x
a
− → x′ loop(x)
a
− → x′; loop(x) loop ;
λp
λb
CMCS, Paphos, 27/03/10
/ 37
36
x
a
− → x′ loop(x)
a
− → x′; loop(x) loop ;
λp
λ
CMCS, Paphos, 27/03/10
/ 37
37