Open Bisimulation, Revisited S. Briais
U. Nestmann
School of Computer and Communication Sciences École Polytechnique Fédérale de Lausanne
12th International Workshop on Expressiveness in Concurrency 27 August, 2005 San Francisco, USA
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
1 / 25
Outline
1
The pi-calculus
2
Bisimulations
3
The spi-calculus
4
K-open bisimulation
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
2 / 25
The pi-calculus
Outline
1
The pi-calculus
2
Bisimulations
3
The spi-calculus
4
K-open bisimulation
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
3 / 25
The pi-calculus
Syntax
Processes P, Q
::=
0 π.P
!P (νz) P
P||Q [ x = y ]P
P +Q
Prefixes π
::=
τ
Briais, Nestmann (EPFL)
x(z)
xhzi
Open Bisimulation, Revisited
EXPRESS’05
4 / 25
The pi-calculus
Syntax
Processes P, Q
::=
0 π.P
!P (νz) P
P||Q [ x = y ]P
P +Q
Prefixes π
::=
τ
x(z)
xhzi
Only names
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
4 / 25
The pi-calculus
Labelled Semantics
az
I NPUT
O PEN
a(x)
a(x)
Briais, Nestmann (EPFL)
(νz) a z
z 6= a
(νz) P −−−−→ P 0
a(x).P −−→ P
C LOSE - L
P −−→ P 0
P −−→ P 0
(νz) a z
Q −−−−→ Q 0
τ
P||Q − → (νz) (P 0 {z/x }||Q 0 )
Open Bisimulation, Revisited
z 6∈ fn(P)
EXPRESS’05
5 / 25
Bisimulations
Outline
1
The pi-calculus
2
Bisimulations
3
The spi-calculus
4
K-open bisimulation
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
6 / 25
Bisimulations
Bisimulation
Proof techniques for showing process equivalence
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
7 / 25
Bisimulations
Bisimulation
Proof techniques for showing process equivalence Wide variety of bisimulations: ground, early, late, open, . . .
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
7 / 25
Bisimulations
Bisimulation
Proof techniques for showing process equivalence Wide variety of bisimulations: ground, early, late, open, . . . The above cited differ on how they handle substitutions
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
7 / 25
Bisimulations
Bisimulation
Proof techniques for showing process equivalence Wide variety of bisimulations: ground, early, late, open, . . . The above cited differ on how they handle substitutions For example, ground: no substitutions at all
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
7 / 25
Bisimulations
Bisimulation
Proof techniques for showing process equivalence Wide variety of bisimulations: ground, early, late, open, . . . The above cited differ on how they handle substitutions For example, ground: no substitutions at all P | Q
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
7 / 25
Bisimulations
Bisimulation
Proof techniques for showing process equivalence Wide variety of bisimulations: ground, early, late, open, . . . The above cited differ on how they handle substitutions For example, ground: no substitutions at all P | Q
Briais, Nestmann (EPFL)
α
− → P0
Open Bisimulation, Revisited
EXPRESS’05
7 / 25
Bisimulations
Bisimulation
Proof techniques for showing process equivalence Wide variety of bisimulations: ground, early, late, open, . . . The above cited differ on how they handle substitutions For example, ground: no substitutions at all P | Q
Briais, Nestmann (EPFL)
α
− → P0 α
− →
Open Bisimulation, Revisited
EXPRESS’05
7 / 25
Bisimulations
Bisimulation
Proof techniques for showing process equivalence Wide variety of bisimulations: ground, early, late, open, . . . The above cited differ on how they handle substitutions For example, ground: no substitutions at all P | Q
Briais, Nestmann (EPFL)
α
− → P0 α
− → Q0
Open Bisimulation, Revisited
EXPRESS’05
7 / 25
Bisimulations
Bisimulation
Proof techniques for showing process equivalence Wide variety of bisimulations: ground, early, late, open, . . . The above cited differ on how they handle substitutions For example, ground: no substitutions at all P | Q
Briais, Nestmann (EPFL)
α
− → P0 | α − → Q0
Open Bisimulation, Revisited
EXPRESS’05
7 / 25
Bisimulations
Substitutions
A substitution has finite domain
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
8 / 25
Bisimulations
Substitutions
A substitution has finite domain replaces something (a name) with something (e.g.: a name)
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
8 / 25
Bisimulations
Substitutions
A substitution has finite domain replaces something (a name) with something (e.g.: a name) can be lifted to bigger entities (e.g.: messages)
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
8 / 25
Bisimulations
Substitutions
A substitution has finite domain replaces something (a name) with something (e.g.: a name) can be lifted to bigger entities (e.g.: messages) Some questions when designing a bisimulation:
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
8 / 25
Bisimulations
Substitutions
A substitution has finite domain replaces something (a name) with something (e.g.: a name) can be lifted to bigger entities (e.g.: messages) Some questions when designing a bisimulation: When should substitutions be applied?
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
8 / 25
Bisimulations
Substitutions
A substitution has finite domain replaces something (a name) with something (e.g.: a name) can be lifted to bigger entities (e.g.: messages) Some questions when designing a bisimulation: When should substitutions be applied? Which names are substitutable?
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
8 / 25
Bisimulations
Substitutions
A substitution has finite domain replaces something (a name) with something (e.g.: a name) can be lifted to bigger entities (e.g.: messages) Some questions when designing a bisimulation: When should substitutions be applied? Which names are substitutable? By what?
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
8 / 25
Bisimulations
Late and open Late bisimulation
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation P | Q
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation P |
a(x)
−−→ P 0
Q
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation
Briais, Nestmann (EPFL)
a(x)
P |
−−→ P 0
Q
−−→
a(x)
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation
Briais, Nestmann (EPFL)
a(x)
P |
−−→ P 0
Q
−−→ Q 0
a(x)
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation
Briais, Nestmann (EPFL)
a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open bisimulation
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open bisimulation P | Q
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open bisimulation P | Q
Briais, Nestmann (EPFL)
Pσ
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open bisimulation P | Q
Briais, Nestmann (EPFL)
Pσ
Open Bisimulation, Revisited
α
− → P0
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open bisimulation P | Q
Briais, Nestmann (EPFL)
Pσ
α
− → P0
Qσ
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open bisimulation P | Q
Briais, Nestmann (EPFL)
α
Pσ
− → P0
Qσ
− → Q0
Open Bisimulation, Revisited
α
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open bisimulation P | Q
Briais, Nestmann (EPFL)
Pσ Qσ
Open Bisimulation, Revisited
α
− → P0 | α − → Q0
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open bisimulation P σ.D | Q
Pσ Qσ
α
− → P0 | α − → Q0
Indexed by a distinction D.
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
Late and open Late bisimulation a(x)
P 0 {z/x } |
a(x)
Q 0 {z/x }
P |
−−→ P 0
Q
−−→ Q 0
Open bisimulation P σ.D | Q
Pσ Qσ
α
− → P0 | α − → Q0
Indexed by a distinction D. In the following, we concentrate on open. Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
9 / 25
Bisimulations
The lazy flavour of open
Briais, Nestmann (EPFL)
P
def
Q
def
= c(x).(τ + τ.τ + τ.[ x = a ]τ )
= c(x).(τ + τ.τ )
Open Bisimulation, Revisited
EXPRESS’05
10 / 25
Bisimulations
The lazy flavour of open
P
def
Q
def
= c(x).(τ + τ.τ + τ.[ x = a ]τ )
= c(x).(τ + τ.τ )
P and Q are late bisimilar but not open
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
10 / 25
Bisimulations
The lazy flavour of open
P
def
Q
def
= c(x).(τ + τ.τ + τ.[ x = a ]τ )
= c(x).(τ + τ.τ )
P and Q are late bisimilar but not open In open, the instantiation of x can be delayed until x is used
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
10 / 25
Bisimulations
The lazy flavour of open
P
def
Q
def
= c(x).(τ + τ.τ + τ.[ x = a ]τ )
= c(x).(τ + τ.τ )
P and Q are late bisimilar but not open In open, the instantiation of x can be delayed until x is used Open is “very late”
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
10 / 25
Bisimulations
Some properties of open
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
11 / 25
Bisimulations
Some properties of open
Contrary to early or late, it is a full congruence
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
11 / 25
Bisimulations
Some properties of open
Contrary to early or late, it is a full congruence It is easily implementable (Mobility Workbench, ABC)
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
11 / 25
Bisimulations
Some properties of open
Contrary to early or late, it is a full congruence It is easily implementable (Mobility Workbench, ABC) For these reasons, we wanted to extend open to the spi-calculus.
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
11 / 25
The spi-calculus
Outline
1
The pi-calculus
2
Bisimulations
3
The spi-calculus
4
K-open bisimulation
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
12 / 25
The spi-calculus
The spi-calculus
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
13 / 25
The spi-calculus
The spi-calculus To model and study cryptographic protocols.
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
13 / 25
The spi-calculus
The spi-calculus To model and study cryptographic protocols. Messages M, N
::=
Briais, Nestmann (EPFL)
x
(M . N)
EN (M)
Open Bisimulation, Revisited
EXPRESS’05
13 / 25
The spi-calculus
The spi-calculus To model and study cryptographic protocols. Messages M, N
::=
x
(M . N)
EN (M)
Expressions E, F
::=
Briais, Nestmann (EPFL)
x (E . F ) EF (E)
π1 (E) DF (E)
Open Bisimulation, Revisited
π2 (E)
EXPRESS’05
13 / 25
The spi-calculus
The spi-calculus To model and study cryptographic protocols. Messages M, N
::=
x
(M . N)
EN (M)
Expressions E, F
::=
x (E . F ) EF (E)
π1 (E) DF (E)
π2 (E)
Guards φ
::=
Briais, Nestmann (EPFL)
[E =F ]
[E :N ]
Open Bisimulation, Revisited
EXPRESS’05
13 / 25
The spi-calculus
Open in spi?
Consider def
P = (νk ) (νm) ahEk (m)i.a(x).(ahk i||[ x = k ]ahai)
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
14 / 25
The spi-calculus
Open in spi?
Consider def
P = (νk ) (νm) ahEk (m)i.a(x).(ahk i||[ x = k ]ahai)
The guard [ x = k ] can never be true.
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
14 / 25
The spi-calculus
Open in spi?
Consider def
P = (νk ) (νm) ahEk (m)i.a(x).(ahk i||[ x = k ]ahai)
The guard [ x = k ] can never be true. The name k has been extruded when performing a Ek (m).
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
14 / 25
The spi-calculus
Open in spi?
Consider def
P = (νk ) (νm) ahEk (m)i.a(x).(ahk i||[ x = k ]ahai)
The guard [ x = k ] can never be true. The name k has been extruded when performing a Ek (m). What are the possible values for x?
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
14 / 25
The spi-calculus
Open in spi?
Consider def
P = (νk ) (νm) ahEk (m)i.a(x).(ahk i||[ x = k ]ahai)
The guard [ x = k ] can never be true. The name k has been extruded when performing a Ek (m). What are the possible values for x? a
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
14 / 25
The spi-calculus
Open in spi?
Consider def
P = (νk ) (νm) ahEk (m)i.a(x).(ahk i||[ x = k ]ahai)
The guard [ x = k ] can never be true. The name k has been extruded when performing a Ek (m). What are the possible values for x? a, z for any z fresh
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
14 / 25
The spi-calculus
Open in spi?
Consider def
P = (νk ) (νm) ahEk (m)i.a(x).(ahk i||[ x = k ]ahai)
The guard [ x = k ] can never be true. The name k has been extruded when performing a Ek (m). What are the possible values for x? a, z for any z fresh(not in {k , m, a})
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
14 / 25
The spi-calculus
Open in spi?
Consider def
P = (νk ) (νm) ahEk (m)i.a(x).(ahk i||[ x = k ]ahai)
The guard [ x = k ] can never be true. The name k has been extruded when performing a Ek (m). What are the possible values for x? a, z for any z fresh(not in {k , m, a}), Ek (m)
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
14 / 25
The spi-calculus
Open in spi?
Consider def
P = (νk ) (νm) ahEk (m)i.a(x).(ahk i||[ x = k ]ahai)
The guard [ x = k ] can never be true. The name k has been extruded when performing a Ek (m). What are the possible values for x? a, z for any z fresh(not in {k , m, a}), Ek (m) and any message built with these “bricks”
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
14 / 25
The spi-calculus
Bisimulations in spi
Bisimulations of π-calculus are two strong
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
15 / 25
The spi-calculus
Bisimulations in spi
Bisimulations of π-calculus are two strong def
P(m) = (νk ) ahEk (m)i
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
15 / 25
The spi-calculus
Bisimulations in spi
Bisimulations of π-calculus are two strong def
P(m) = (νk ) ahEk (m)i For any m and n, we want P(m) and P(n) equivalent.
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
15 / 25
The spi-calculus
Bisimulations in spi
Bisimulations of π-calculus are two strong def
P(m) = (νk ) ahEk (m)i For any m and n, we want P(m) and P(n) equivalent. Abadi and Gordon have introduced environment-sensitive bisimulation.
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
15 / 25
K-open bisimulation
Outline
1
The pi-calculus
2
Bisimulations
3
The spi-calculus
4
K-open bisimulation
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
16 / 25
K-open bisimulation
Different kinds of free names
def
P = a(x).(νk ) bhk i.xhk i. 0 A free name is
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
17 / 25
K-open bisimulation
Different kinds of free names
def
P = a(x).(νk ) bhk i.xhk i. 0 A free name is either initially free
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
17 / 25
K-open bisimulation
Different kinds of free names
def
P = a(x).(νk ) bhk i.xhk i. 0 A free name is either initially free or becomes free after an input
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
17 / 25
K-open bisimulation
Different kinds of free names
def
P = a(x).(νk ) bhk i.xhk i. 0 A free name is either initially free or becomes free after an input or becomes free by scope extrusion
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
17 / 25
K-open bisimulation
Different kinds of free names
def
P = a(x).(νk ) bhk i.xhk i. 0 A free name is either initially free or becomes free after an input or becomes free by scope extrusion The first two kinds are substitutable:
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
17 / 25
K-open bisimulation
Different kinds of free names
def
P = a(x).(νk ) bhk i.xhk i. 0 A free name is either initially free or becomes free after an input or becomes free by scope extrusion The first two kinds are substitutable: I
by any name that was known at the moment they became free or
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
17 / 25
K-open bisimulation
Different kinds of free names
def
P = a(x).(νk ) bhk i.xhk i. 0 A free name is either initially free or becomes free after an input or becomes free by scope extrusion The first two kinds are substitutable: I I
by any name that was known at the moment they became free or any fresh name.
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
17 / 25
K-open bisimulation
Refining distinctions A distinction is a finite list of inequalities between names.
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
18 / 25
K-open bisimulation
Refining distinctions A distinction is a finite list of inequalities between names. We take a dual approach for constraining admissible substitutions.
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
18 / 25
K-open bisimulation
Refining distinctions A distinction is a finite list of inequalities between names. We take a dual approach for constraining admissible substitutions. e = (C, V , ≺)
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
18 / 25
K-open bisimulation
Refining distinctions A distinction is a finite list of inequalities between names. We take a dual approach for constraining admissible substitutions. e = (C, V , ≺) I
C contains the emitted names (or messages) not in V
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
18 / 25
K-open bisimulation
Refining distinctions A distinction is a finite list of inequalities between names. We take a dual approach for constraining admissible substitutions. e = (C, V , ≺) I I
C contains the emitted names (or messages) not in V V contains the input names and the initially free ones
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
18 / 25
K-open bisimulation
Refining distinctions A distinction is a finite list of inequalities between names. We take a dual approach for constraining admissible substitutions. e = (C, V , ≺) I I I
C contains the emitted names (or messages) not in V V contains the input names and the initially free ones ≺ indicates for each x ∈ V which names in C were known before
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
18 / 25
K-open bisimulation
Environments
def
P = (νk ) ahk i.a(x).((νl) bhli||[ x = k ]ahai) C ∅
V {a, b}
≺ ∅
D=∅
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
19 / 25
K-open bisimulation
Environments
def
P = (νk ) ahk i.a(x).((νl) bhli||[ x = k ]ahai) C ∅ {k }
V {a, b} {a, b}
≺ ∅ ∅
D = k 6= a, k 6= b
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
19 / 25
K-open bisimulation
Environments
def
P = (νk ) ahk i.a(x).((νl) bhli||[ x = k ]ahai) C ∅ {k } {k }
V ≺ {a, b} ∅ {a, b} ∅ {a, b, x} {(k , x)}
D = k 6= a, k 6= b
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
19 / 25
K-open bisimulation
Environments
def
P = (νk ) ahk i.a(x).((νl) bhli||[ x = k ]ahai) C ∅ {k } {k }
V ≺ {a, b} ∅ {a, b} ∅ {a, b, x} {(k , x)}
D = k 6= a, k 6= b
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
19 / 25
K-open bisimulation
Environments
def
P = (νk ) ahk i.a(x).((νl) bhli||[ x = l ]ahai) C ∅ {k } {k }
V ≺ {a, b} ∅ {a, b} ∅ {a, b, x} {(k , x)}
D = k 6= a, k 6= b
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
19 / 25
K-open bisimulation
Environments
def
P = (νk ) ahk i.a(x).((νl) bhli||[ x = k ]ahai) C V ≺ ∅ {a, b} ∅ {k } {a, b} ∅ {k } {a, b, x} {(k , x)} {k , l} {a, b, x} {(k , x)} D = k 6= a, k 6= b, l 6= a, l 6= b, l 6= x, k 6= l
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
19 / 25
K-open bisimulation
Environments
def
P = (νk ) ahk i.a(x).((νl) bhli||[ x = k ]ahai) C V ≺ ∅ {a, b} ∅ {k } {a, b} ∅ {k } {a, b, x} {(k , x)} {k , l} {a, b, x} {(k , x)} D = k 6= a, k 6= b, l 6= a, l 6= b, l 6= x, k 6= l
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
19 / 25
K-open bisimulation
Environments
def
P = (νk ) ahk i.a(x).((νl) bhli||[ x = l ]ahai) C V ≺ ∅ {a, b} ∅ {k } {a, b} ∅ {k } {a, b, x} {(k , x)} {k , l} {a, b, x} {(k , x)} D = k 6= a, k 6= b, l 6= a, l 6= b, l 6= x, k 6= l
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
19 / 25
K-open bisimulation
Environments
def
P = (νk ) ahk i.a(x).((νl) bhli||[ x = k ]ahai) C V ≺ ∅ {a, b} ∅ {k } {a, b} ∅ {k } {a, b, x} {(k , x)} {k , l} {a, b, x} {(k , x)} D = k 6= a, k 6= b, l 6= a, l 6= b, l 6= x, k 6= l
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
19 / 25
K-open bisimulation
Refining distinctions A distinction is a finite list of inequalities between names. We take a dual approach for constraining admissible substitutions. e = (C, V , ≺) I I I
C contains the emitted names (or messages) not in V V contains the input names and the initially free ones ≺ indicates for each x ∈ V which names in C were known before
A substitution σ respects e if supp(σ) ⊆ V and σ does not “contradict” ≺
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
20 / 25
K-open bisimulation
Refining distinctions A distinction is a finite list of inequalities between names. We take a dual approach for constraining admissible substitutions. e = (C, V , ≺) I I I
C contains the emitted names (or messages) not in V V contains the input names and the initially free ones ≺ indicates for each x ∈ V which names in C were known before
A substitution σ respects e if supp(σ) ⊆ V and σ does not “contradict” ≺ The corresponding distinction is def
D(C, V , ≺) = C 6= ∪ {n 6= x | n ∈ C ∧ ¬(n ≺ x)}
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
20 / 25
K-open bisimulation
Some results We have
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
21 / 25
K-open bisimulation
Some results We have (C,V ,≺)
P ≈K
Briais, Nestmann (EPFL)
D(C,V ,≺)
Q ⇒ P ≈O
Open Bisimulation, Revisited
Q
EXPRESS’05
21 / 25
K-open bisimulation
Some results We have (C,V ,≺)
P ≈K
D(C,V ,≺)
P ≈O
Briais, Nestmann (EPFL)
D(C,V ,≺)
Q
(C,V ,≺)
Q
Q ⇒ P ≈O
Q ⇒ P ≈K
Open Bisimulation, Revisited
EXPRESS’05
21 / 25
K-open bisimulation
Some results We have (C,V ,≺)
P ≈K
D(C,V ,≺)
P ≈O
D(C,V ,≺)
Q
(C,V ,≺)
Q
Q ⇒ P ≈O
Q ⇒ P ≈K
In particular (∅,fn(P+Q),∅)
P ≈∅O Q ⇔ P ≈K
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
Q
EXPRESS’05
21 / 25
Conclusion and future work
Conclusion
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
22 / 25
Conclusion and future work
Conclusion
We have defined K-open bisimulation and proved it coincides with open whenever it is defined
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
22 / 25
Conclusion and future work
Conclusion
We have defined K-open bisimulation and proved it coincides with open whenever it is defined We conjecture that if D can be expressed in terms of (C, V , ≺), then ≈D O is more than a D-congruence
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
22 / 25
Conclusion and future work
Conclusion
We have defined K-open bisimulation and proved it coincides with open whenever it is defined We conjecture that if D can be expressed in terms of (C, V , ≺), then ≈D O is more than a D-congruence We have a proposal for an extension of K-open to spi which is sound w.r.t. barbed equivalence via late hedged bisimulation
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
22 / 25
Conclusion and future work
Future work
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
23 / 25
Conclusion and future work
Future work
Study the congruence properties of K-open
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
23 / 25
Conclusion and future work
Future work
Study the congruence properties of K-open Study the extension of K-open to spi
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
23 / 25
Conclusion and future work
Future work
Study the congruence properties of K-open Study the extension of K-open to spi I I
Link with symbolic bisimulation of [BBN04] Congruence properties
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
23 / 25
Thank you!
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
24 / 25
Thank you! Questions?
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
24 / 25
Appendix
Bibliography
D. Sangiorgi A Theory of Bisimulation for the π-calculus. J. Borgström, S. Briais and U. Nestmann Symbolic Bisimulations in the Spi Calculus
Briais, Nestmann (EPFL)
Open Bisimulation, Revisited
EXPRESS’05
25 / 25