Planche 1
Concurrency 4
Bisimulations
Jean-Jacques Lévy
jeanjacqueslevy.net/dea

Planche 2

Bibliography

Planche 3

CCS with values (1/4)

Language
x ::= variables
x ::= x1,x2,... xn (n ³ 0)
v ::= values
v ::= v1,v2,... vn (n ³ 0)
a, b, c ::= (channel) names
a
,
b
,
c
::=
co-names
a
=a
a ::=
a(x) |
a
v | t
actions
P,Q,R ::= 0 | a.P | P+Q | (P | Q) | (n a) P | K á v ñ processes
K á x ñ
def
=
 
P
::= constant definitions

Act = { a(x), b(x), c(x), ... } È { a v, b v, c v, ... } È { t }

Notation: a for a.0



Planche 4

CCS with values (2/4)

Memory register
Regá ñ
def
=
 
put(x).A á x ñ
A á x ñ
def
=
 
put(y).A á y ñ |
get
 x.A á x ñ

... |
P | put 1 | get(x). Q | put 2.get(y). R | ...

Exercice 1 What can be values of x and y in Q and R ?

Buffers

Buf
1in,out á ñ =def in(x).out  x.Buf1in,out á ñ
in,out
Buf2
 
á ñ
def
=
 
in(x).Aá x ñ
Aá x ñ
def
=
 
in(y).
out
  x.Aá y ñ +
out
 x.
in,out
Buf2
 
á ñ

Buf
1'á ñ =def (n c) (Buf1in,cá ñ| Buf1c,out á ñ)

Exercice 2 Relate Buf
2 and Buf1'.


Planche 5

CCS with values (3/4)

Semantics (SOS)
[Act]  a.P
a
¾®
 
P [Sum1] 
P ¾®a P'
P+Q ¾®a P'
[Sum2] 
Q ¾®a Q'
P+Q ¾®a Q'
[Par1] 
P ¾®a P'
P | Q ¾®a P' | Q
[Par2] 
Q ¾®a Q'
P | Q ¾®a P | Q'
[Com1] 
P ¾®a(x) P' Q ¾®a v Q'
P | Q ¾®t P'{v/x} | Q'
[Com2] 
P ¾®a v P' Q ¾®a(x) Q'
P | Q ¾®t P' | Q' { v/x }
[Res] 
P ¾®a P' a Ï{a,a}
(n a) P ¾®a (n a) P'
[Rec] 
P{v/x} ¾®a P' Ká x ñ =def P
Ká v ñ ¾®a P'


Planche 6

CCS with values (4/4)

One can emulate CCS with values by pure CCS (with infinite sum).
P [[ P ]]
 
a(x).P Sv Î V av.[[ P {v / x} ]] (V set of values)
a
v.P
av.[[ P ]]
t.P t.[[ P ]]
Si Î I Pi Si Î I [[ Pi ]]
P | Q [[ P ]] | [[ Q ]]
...

Exercice 3 Terminate the translation

Exercice 4 Find the relation between P and [[ P ]].


Planche 7

CCS and weak bisimulation (1/4)

Write P (®t)* Q if P=P0 ®t P1 ®t P2 ··· ®t Pk=Q (k ³ 0).

Let µ = µ
1µ2···µn (n > 0)

Write P ¾®
µ Q if P ¾®µ1¾®µ2 ··· ¾®µn Q

Write P µ Q if P (®t)* ¾®µ1 (®t)* ¾®µ2 (®t)* ··· ¾®µn (®t)* Q

Write µ be µ where all occurences of t in µ have been erased.

Take µ = t a b tt a, then µ=aba. If µ = t
n, then µ = e (empty string).

Then
¾®µ specifies exactly the t actions occuring in µ
µ specifies at least the t actions
µ specifies nothing about the t actions

Planche 8

CCS and weak bisimulation (2/4)

Definition 1 P weakly bisimilar to Q (we write P » Q) if, for any a Î Act, whenever (» is the largest weak bisimulation)

Examples
A =def c.(k.A + t.A)
B =def (n d) c.(k.d.B + t.d.B)
A » B
C =def (a.b.t.C + b. a.t.C
D =def ((a.b.D + b a.D)
C » D

Exercice 5 Find weak bisimulation when
A0
def
=
 
a.A0 + b.A1 + t.A1
 
A1
def
=
 
a.A1 + t.A2
B1
def
=
 
a.B1 + t.B2
A2
def
=
 
b.A0
B2
def
=
 
b.B1

Planche 9

CCS and weak bisimulation (3/4)

Proposition 2 Following equations hold.
t.P » P
P » Q  Þ  P | R » Q | R
P » Q  Þ  R | P » R | Q
P » Q  Þ  a.P » a.Q
P » Q  Þ  (n x) P » (n x) Q
K
def
=
 
P  and  P » Q
 Þ  K » Q

Exercice 6 Prove it.

Fact 3 P » Q  ¬ Þ  P + R » Q + R

Take P = t.Q, Q = a, R = b.
Then t.a » a. But we have not t.a + b » a + b.

Hence weak bisimulation is not a congruence in CCS
(differs from strong bisimulation)


Planche 10

CCS and weak bisimulation (4/4)

Definition 4[observation-congruence] P weakly congruent to Q (we write P @ Q) if, for any a Î Act, whenever Exercice 7 Prove @  Í  ».

Proposition 5 @ is a congruence.

Exercice 8 Prove it.

Proposition 6 The following t laws are true:
a.t.P » a.P
P + t.P » t.P
a.(P+t.Q)+a.Q » a.(P+t.Q)

Exercice 9 Prove them.


Planche 11

CCS and weak bisimulation (4/4)

Proposition 7
P ~ Q  Þ  P @ Q  Þ  P » Q
P » Q  Þ  a.P @ a.Q
P » Q   iff   P @ Q  or  P @ t.Q  or  t.P @ Q

Exercice 10 Prove it.

Proposition 8 @ is the largest congruence on CCS contained in ».

Exercice 11 Prove it.



This document was translated from LATEX by HEVEA.