process algebra (2if45) recursion in process algebra
DESCRIPTION
Process Algebra (2IF45) Recursion in Process Algebra . Suzana Andova. http://fusionanomaly.net/recursion.jpg. Equational theory: terms and LTSs. Language: BPA(A ) Signature: 0, 1, ( a._ ) a A , +, … Language terms T(BPA(A)) Closed terms C(BPA(A)). Deduction rules for BPA(A): . - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/1.jpg)
Process Algebra (2IF45)
Recursion in Process Algebra
Suzana Andova
http://fusionanomaly.net/recursion.jpg
![Page 2: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/2.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’
aa
1
x (x + y)
a.x x a
y y’ x + y y’
aa
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-t
o-one
![Page 3: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/3.jpg)
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’
aa
1
x (x + y)
a.x x a
y y’ x + y y’
aa
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
![Page 4: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/4.jpg)
4
Recursive processes
Process Algebra (2IF45)
Socrates_thinks
Socrates_eats
getHungry
goThinking
thinking
eating
![Page 5: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/5.jpg)
5
Recursive processes
Process Algebra (2IF45)
Socrates_thinks
Socrates_eats
getHungry
goThinking
Socrates_thinks = getHungry.Socrates_eats
Socrates_eats = goThinking.Socrates_thinks
thinking
eating
![Page 6: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/6.jpg)
6 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
aa
1
x (x + y)
a.x x a
y y’ x + y y’
aa
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
![Page 7: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/7.jpg)
7 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
aa
1
x (x + y)
a.x x a
y y’ x + y y’
aa
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
![Page 8: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/8.jpg)
8 Process Algebra (2IF45)
Recursive equations and specifications
E = { X = a.0 }
E1 = { X = a.Y, Y = b.0 }
![Page 9: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/9.jpg)
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
![Page 10: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/10.jpg)
10 Process Algebra (2IF45)
Solutions of recursive equations
Example: 1. E = { X = a.0 }
2. E1 = { X = a.Y, Y = b.0 }
![Page 11: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/11.jpg)
11 Process Algebra (2IF45)
Solutions of recursive equations
Example: 1. E = { X = X }
2. E1 = { X = X + a.0 }
![Page 12: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/12.jpg)
12 Process Algebra (2IF45)
Solutions of recursive equations
Example: 1. E = { X = a.X }
2. E1 = { X = a.(a.(X+1)) +1 }
![Page 13: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/13.jpg)
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.
![Page 14: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/14.jpg)
14
This is also recursion ….
Process Algebra (2IF45)
![Page 15: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/15.jpg)
15 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
aa
1
x (x + y)
a.x x a
y y’ x + y y’
aa
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
![Page 16: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/16.jpg)
16 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
aa
1
x (x + y)
a.x x a
y y’ x + y y’
aa
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
![Page 17: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/17.jpg)
17 Process Algebra (2IF45)
Semantics of Recursive specifications
![Page 18: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/18.jpg)
18 Process Algebra (2IF45)
Semantics of Recursive specifications
tX,E w, X=t in E X w a
a
![Page 19: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/19.jpg)
19 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
aa
1
x (x + y)
a.x x a
y y’ x + y y’
aa
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
….
![Page 20: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/20.jpg)
20 Process Algebra (2IF45)
Deduction rules for BPA(A):
x x’ x + y x’
aa
1
x (x + y)
a.x x a
y y’ x + y y’
aa
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
![Page 21: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/21.jpg)
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)
![Page 22: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/22.jpg)
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)
![Page 23: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/23.jpg)
23
Recursive Definition Principle (RDP)
For every recursive specification there is a solution in the model
Process Algebra (2IF45)
![Page 24: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/24.jpg)
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)
![Page 25: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/25.jpg)
25
Recursive Specification Principle (RSP)
• Every guarded recursive specification has at most one solution.
Process Algebra (2IF45)
![Page 26: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/26.jpg)
26
Restricted Recursive Definition Principle (RSP-)
• Every guarded recursive specification has a solution.
Process Algebra (2IF45)
![Page 27: Process Algebra (2IF45) Recursion in Process Algebra](https://reader036.vdocuments.mx/reader036/viewer/2022062400/568168f7550346895de005ab/html5/thumbnails/27.jpg)
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)