Date post: | 14-Dec-2015 |
Category: |
Documents |
Upload: | aniya-fickett |
View: | 217 times |
Download: | 0 times |
Process Algebra (2IF45)
Recursion in Process Algebra
Suzana Andova
http://fusionanomaly.net/recursion.jpg
2
Language: BPA(A)
Signature: 0, 1, (a._ )aA, +, …
Language terms T(BPA(A))
Closed terms C(BPA(A))
Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
a
a
1
x (x + y)
a.x x a
y y’ x + y y’
a
a
y (x + y)
⑥
Equational theory: terms and LTSs
Axioms of BPA(A):
(A1) x+ y = y+x
(A2) (x+y) + z = x+ (y + z)
(A3) x + x = x
(A4) x+ 0 = x
coin.coffee.1
coin
coffee
one-
to-o
ne
3
Language: BPA(A)
Signature: 0, 1, (a._ )aA, +, …
Language terms T(BPA(A))
Closed terms C(BPA(A))
Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
a
a
1
x (x + y)
a.x x a
y y’ x + y y’
a
a
y (x + y)
⑥
Bisimilarity of LTSs Equality of termsSoundness
Completeness
Equational theory: terms and LTSs
Axioms of BPA(A):
(A1) x+ y = y+x
(A2) (x+y) + z = x+ (y + z)
(A3) x + x = x
(A4) x+ 0 = x
coin.coffee.1
coin.coffee.1 + coin.coffee.1
coin
coffee
coin.coffee.1 = coin.coffee.1 + coin.coffee.1coin
coffee
coin
coffee
4
Recursive processes
Process Algebra (2IF45)
Socrates_thinks
Socrates_eats
getHungry
goThinking
thinking
eating
5
Recursive processes
Process Algebra (2IF45)
Socrates_thinks
Socrates_eats
getHungry
goThinking
Socrates_thinks = getHungry.Socrates_eats
Socrates_eats = goThinking.Socrates_thinks
thinking
eating
6 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
a
a
1
x (x + y)
a.x x a
y y’ x + y y’
a
a
y (x + y)
⑥
Recursive specifications and LTSs
Language: BPA(A)
Signature: 0, 1, (a._ )aA, +, …
Language terms T(BPA(A)) Closed terms C(BPA(A)) Axioms of BPA(A):
(A1) x+ y = y+x
(A2) (x+y) + z = x+ (y + z)
(A3) x + x = x
(A4) x+ 0 = x
goThinking getHungry
Socrates_thinks = getHungry.Socrates_eats
Socrates_eats = goThinking.Socrates_thinks
7 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
a
a
1
x (x + y)
a.x x a
y y’ x + y y’
a
a
y (x + y)
⑥
Recursive specifications and LTSs
Language: BPA(A)
Signature: 0, 1, (a._ )aA, +, …
Language terms T(BPA(A)) Closed terms C(BPA(A)) Axioms of BPA(A):
(A1) x+ y = y+x
(A2) (x+y) + z = x+ (y + z)
(A3) x + x = x
(A4) x+ 0 = x
GoThinking GetHungry
Socrates_thinks = getHungry.Socrates_eats
Socrates_eats = goThinking.Socrates_thinks
8 Process Algebra (2IF45)
Recursive equations and specifications
E = { X = a.0 }
E1 = { X = a.Y, Y = b.0 }
9 Process Algebra (2IF45)
Recursive Equations and Rec. Specification in Equational Theory
E = { X = a.Y + c.0,Y = b.X}
BPA(A), E ├ X = a.Y +c.0 = a.(b.X) +c.0 = a.(b.(a.Y + c.))) + c.0
Language: BPA(A)
Signature: 0, 1, (a._ )aA, +, …
Language terms T(BPA(A)) Closed terms C(BPA(A))
Axioms of BPA(A):
(A1) x+ y = y+x
(A2) (x+y) + z = x+ (y + z)
(A3) x + x = x
(A4) x+ 0 = x
Recursive specification E
10 Process Algebra (2IF45)
Solutions of recursive equations
Example: 1. E = { X = a.0 }
2. E1 = { X = a.Y, Y = b.0 }
11 Process Algebra (2IF45)
Solutions of recursive equations
Example: 1. E = { X = X }
2. E1 = { X = X + a.0 }
12 Process Algebra (2IF45)
Solutions of recursive equations
Example: 1. E = { X = a.X }
2. E1 = { X = a.(a.(X+1)) +1 }
13 Process Algebra (2IF45)
Solutions of recursive specifications
E1 = { X = a.(a.(X+1)) +1 }
X
a
a.(X+1)
a a
X+1
This is a solution for X in the recursive spec. E1Substitute it on the left-hand side and on the right-hand side and check bisimilarity.
14
This is also recursion ….
Process Algebra (2IF45)
15 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
a
a
1
x (x + y)
a.x x a
y y’ x + y y’
a
a
y (x + y)
⑥
Semantics of Recursive specifications
Language: BPA(A)
Signature: 0, 1, (a._ )aA, +, …
Language terms T(BPA(A))
Axioms of BPA(A):
(A1) x+ y = y+x
(A2) (x+y) + z = x+ (y + z)
(A3) x + x = x
(A4) x+ 0 = x
16 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
a
a
1
x (x + y)
a.x x a
y y’ x + y y’
a
a
y (x + y)
⑥
Semantics of Recursive specifications
Language: BPArec(A)
Signature: 0, 1, (a._ )aA, +, X
Language terms T(BPA(A))
Axioms of BPA(A):
(A1) x+ y = y+x
(A2) (x+y) + z = x+ (y + z)
(A3) x + x = x
(A4) x+ 0 = x
17 Process Algebra (2IF45)
Semantics of Recursive specifications
18 Process Algebra (2IF45)
Semantics of Recursive specifications
tX,E w, X=t in E
X w a
a
19 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
a
a
1
x (x + y)
a.x x a
y y’ x + y y’
a
a
y (x + y)
⑥
Semantics of Recursive specifications
Language: BPArec(A)
Signature: 0, 1, (a._ )aA, +, XE
Language terms T(BPArec(A))
Axioms of BPA(A):
(A1) x+ y = y+x
(A2) (x+y) + z = x+ (y + z)
(A3) x + x = x
(A4) x+ 0 = x
GoThinking GetHungry
Socrates_thinks = getHungry.Socrates_eats
Socrates_eats = goThinking.Socrates_thinks
a term
….
20 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
a
a
1
x (x + y)
a.x x a
y y’ x + y y’
a
a
y (x + y)
⑥
Semantics of Recursive specifications
Language: BPArec(A)
Signature: 0, 1, (a._ )aA, +, XE
Language terms T(BPArec(A))
Axioms of BPA(A):
(A1) x+ y = y+x
(A2) (x+y) + z = x+ (y + z)
(A3) x + x = x
(A4) x+ 0 = x
GoThinking GetHungry
Socrates_thinks = getHungry.Socrates_eats
Socrates_eats = goThinking.Socrates_thinks
a term
….
one-
to-o
ne
21
Term model T(BPArec(A)) and BPArec(A)
• Bisimulation is congruence• Soundness holds (it is a model indeed) • Ground completeness does not hold
• Every recursive specification has a solution• Not every recursive specification has unique solution
Process Algebra (2IF45)
22
Equational theories with recursion
• Model vs. Solution of recursive specification• Two important points for “useful models”
• Every recursive specification has a solution• Every recursive specification has a unique solution
Process Algebra (2IF45)
23
Recursive Definition Principle (RDP)
For every recursive specification there is a solution in the model
Process Algebra (2IF45)
24
Guarded recursions
• Does E = {X = a.Y, Y = Z, Z = b.X} has a solution and is this unique in T(BPArec(A))?
Process Algebra (2IF45)
25
Recursive Specification Principle (RSP)
• Every guarded recursive specification has at most one solution.
Process Algebra (2IF45)
26
Restricted Recursive Definition Principle (RSP-)
• Every guarded recursive specification has a solution.
Process Algebra (2IF45)
27
Combining principles
• RDP- + RSP implies
Every guarded recursive specification has a unique solution.
Example
E = {X = a.X}
E’ = {X’ = a.a.X’}
Process Algebra (2IF45)