Enhancements of the bisimulation proof method Davide Sangiorgi - - PowerPoint PPT Presentation

enhancements of the bisimulation proof method
SMART_READER_LITE
LIVE PREVIEW

Enhancements of the bisimulation proof method Davide Sangiorgi - - PowerPoint PPT Presentation

Enhancements of the bisimulation proof method Davide Sangiorgi Focus Lab., INRIA (France) and University of Bologna (Italy) Email: Davide.Sangiorgi@cs.unibo.it http://www.cs.unibo.it/sangio/ BASICS 2009, Shanghai CONTENTS


slide-1
SLIDE 1

Enhancements of the bisimulation proof method

Davide Sangiorgi

Focus Lab., INRIA (France) and University of Bologna (Italy)

Email: Davide.Sangiorgi@cs.unibo.it http://www.cs.unibo.it/˜sangio/

BASICS 2009, Shanghai

slide-2
SLIDE 2

CONTENTS ☞ • Introduction

[1]

  • Part I: Examples

[3]

  • Part II: Counterexamples

[40]

  • Part III: Towards an algebra of enhancements

[48]

  • Part IV: Weak bisimilarity

[58]

slide-3
SLIDE 3

Equality on processes, coinductively

Bisimulation: A relation R s.t. P α R Q α P ′ R Q′ Bisimilarity (∼) :

∪ {R : R is a bisimulation }

Hence: x R y R is a bisimulation x ∼ y (bisimulation proof method)

page 1
slide-4
SLIDE 4

This talk

Enhancements of the bisimulation proof method – Motivations – Results and Examples – Open problems

page 2
slide-5
SLIDE 5

CONTENTS ✓ • Introduction

[1]

☞ • Part I: Examples

[3]

  • Part II: Counterexamples

[40]

  • Part III: Towards an algebra of enhancements

[48]

  • Part IV: Weak bisimilarity

[58]

slide-6
SLIDE 6

Examples, in CCS-like calculus

page 3
slide-7
SLIDE 7

Pieces of syntax and transitions

inp:

  • a. P

a − → P rep: P | !P a − → P ′ !P a − → P ′ sumL: P a − → P ′ P + Q a − → P ′ sumR: Q a − → Q′ P + Q a − → Q′ parL: P a − → P ′ P | Q a − → P ′ | Q parR: Q a − → Q′ P | Q a − → P | Q′ Intuitively: !P = P | P | . . . | P (indeed P | !P ∼ !P , as the transitions are the same) Process abbreviations: a

  • a. 0

P n

  • P | . . . | P

(n times)

page 4
slide-8
SLIDE 8

Enhancements of the bisimulation method: an example

A property of replication !(a + b) ∼ !a | !b Proof: Let’s find a bisimulation...

page 5
slide-9
SLIDE 9

Is this a bisimulation? R { (!(a + b) , !a | !b) }

page 6
slide-10
SLIDE 10

Is this a bisimulation? R { (!(a + b) , !a | !b) } No! !(a + b) a − → (a + b)n | 0 | (a + b)m | !(a + b) R R

  • !a | !b

a − → an | 0 | am | !a | !b

NB: ∀n, m, !(a + b) a − → (a + b)n | 0 | (a + b)m | !(a + b) !a | !b a − → an | 0 | am | !a | !b

Try again...

page 7
slide-11
SLIDE 11

Is this a bisimulation? R ∪n,m { ((a + b)n | 0 | (a + b)m | !(a + b) , an | 0 | am | !a | !b) , ((a + b)n | 0 | (a + b)m | !(a + b) , !a | bn | 0 | bm | !b) }

page 8
slide-12
SLIDE 12

Is this a bisimulation? R ∪n,m { ((a + b)n | 0 | (a + b)m | !(a + b) , an | 0 | am | !a | !b) , ((a + b)n | 0 | (a + b)m | !(a + b) , !a | bn | 0 | bm | !b) } No! (a + b)n | 0 | (a + b)m b − → (a + b)n−1 | 02 | (a + b)m | !(a + b) | !(a + b) R R

  • an | 0 | am | !a | !b

b − → an | 0 | am | !a | b | !b Try again...

page 9
slide-13
SLIDE 13

It is possible to write the full bisimulation, but one has to be careful We started with the singleton relation {(!(a + b) , !a | !b)} The added pairs: redundant? (derivable, laws of ∼) Can we work with relations smaller than bisimulations? Advantages: – fewer and simpler bisimulation diagrams – easier to find the relation to work with

page 10
slide-14
SLIDE 14

Redundant pairs

What we would like to have: P α R Q α P ′ R ∪ {redundant pairs} Q′ implies R ⊆ ∼ R: less work, simpler to find Notation R ֌ S P α R Q α P ′ S Q′

page 11
slide-15
SLIDE 15

Up-to techniques: example

– Rules for transitivity of ∼ (up-to ∼) R ֌ ∼ R ∼ implies R ⊆ ∼ diagram : P α R Q α P ′ ∼ P ′′ R Q′′ ∼ Q′

page 12
slide-16
SLIDE 16

Now we can establish !(a + b) ∼ !a | !b using the singleton relation R {!(a + b), !a | !b} and proving that it is a bisimulation up-to ∼ !(a + b) a − → (a + b)n | 0 | (a + b)m | !(a + b) ∼ !(a + b) R R !a | !b ∼ !a | !b a − → an | 0 | am | !a | !b (laws P | !P ∼ !P and 0 | P ∼ P , congruence of ∼)

page 13
slide-17
SLIDE 17

A more interesting example

!(a. P + b. Q) ∼ !a. P | !b. Q Proof: Let’s find a bisimulation...

page 14
slide-18
SLIDE 18

Is this a bisimulation up-to ∼? R { (!(a. P +b. Q), !a. P | !b. Q) }

page 15
slide-19
SLIDE 19

Is this a bisimulation up-to ∼? R { (!(a. P +b. Q), !a. P | !b. Q) } No! !(a. P + b. Q) a − → ∼ P | !(a. P + b. Q) R R

  • !a. P | !b. Q

a − → ∼ P | !a. P | !b. Q

page 16
slide-20
SLIDE 20

– Note also, if P c − → P ′: !(a. P + b. Q) a − → a − → c − → P ′ | P | !(a. P + b. Q) !a. P | !b. Q a − → a − → c − → P ′ | P | !a. P | !b. Q so a bisimulation up-to ∼ should include also such pairs of derivates – Again, these added pairs may be considered redundant (for instance, !(a. P + b. Q) ∼ !a. P | !b. Q implies P ′ | P | !(a. P + b. Q) ∼ P ′ | P | !a. P | !b. Q) – We can avoid these additional pairs using a different form of up-to

page 17
slide-21
SLIDE 21

Up-to techniques: example

– Rules for transitivity of ∼ (up-to ∼) – rules for substitutivity of ∼ (up-to context) C(R) {(C[P ], C[Q]) : P R Q} R ֌ C(R) implies R ⊆ ∼ diagram : P α R Q α C

[P ′]

R C

[Q′]

page 18
slide-22
SLIDE 22

Example of composition of techniques

We can put together up-to ∼ and up-to context R ֌ ∼ C[R] ∼ implies R ⊆ ∼ diagram : P α R Q α P ′ ∼ C

[P ′′] R C [Q′′ ]

∼ Q′

page 19
slide-23
SLIDE 23

Back to our proof: R {!(a. P + b. Q), !a. P | !b. Q} is a bisimulation up-to ∼ and up-to context !(a. P + b. Q) a − → (a. P + b. Q)n | P | (a. P + b. Q)m | !(a. P + b. Q) R !a. P | !b. Q a − → (a. P )n | P | (a. P )m | !a. P | !b. Q

page 20
slide-24
SLIDE 24

Back to our proof: R {!(a. P + b. Q), !a. P | !b. Q} is a bisimulation up-to ∼ and up-to context !(a. P + b. Q) a − → (a. P + b. Q)n | P | (a. P + b. Q)m | !(a. P + b. Q) ∼ P | !(a. P + b. Q) R P | !a. P | !b. Q ∼ !a. P | !b. Q a − → (a. P )n | P | (a. P )m | !a. P | !b. Q

page 21
slide-25
SLIDE 25

Back to our proof: R {!(a. P + b. Q), !a. P | !b. Q} is a bisimulation up-to ∼ and up-to context !(a. P + b. Q) a − → (a. P + b. Q)n | P | (a. P + b. Q)m | !(a. P + b. Q) ∼ P

  • | !(a. P + b. Q)

R P

  • | !a. P | !b. Q

∼ !a. P | !b. Q a − → (a. P )n | P | (a. P )m | !a. P | !b. Q

page 22
slide-26
SLIDE 26

Back to our proof: R {!(a. P + b. Q), !a. P | !b. Q} is a bisimulation up-to ∼ and up-to context !(a. P + b. Q) a − → (a. P + b. Q)n | P | (a. P + b. Q)m | !(a. P + b. Q) ∼ P

  • | !(a. P + b. Q)

R R P

  • | !a. P | !b. Q

∼ !a. P | !b. Q a − → (a. P )n | P | (a. P )m | !a. P | !b. Q

page 23
slide-27
SLIDE 27

More up-to techniques: example

– Rules for transitivity of ∼ (up-to ∼) – rules for substitutivity of ∼ (up-to context) – rules for invariance of ∼ under injective substitutions (up-to injective substitutions) Inj(R) {(P σ, Qσ) : P R Q , σ injective on names} R ֌ Inj(R) implies R ⊆ ∼ diagram : P α R Q α P ′σ

  • R

Q′σ

  • σ: an injective function

implies R ⊆ ∼

page 24
slide-28
SLIDE 28

More composition of techniques

R ֌ ∼ C[Inj(R)] ∼ implies R ⊆ ∼ diagram : P α R Q α P ′ ∼ C

[P ′′σ ] R C [Q′′ σ ]

∼ Q′ More sophistication ⇒ – more powerful technique – harder soundness proof for the technique

page 25
slide-29
SLIDE 29

More examples, in a higher-order calculus (the Ambient calculus)

page 26
slide-30
SLIDE 30

Ambients: syntax

Processes P ::= nP ambient

|

in n. P in action

|

  • ut n. P
  • ut action

|

  • pen n. P
  • pen action

|

P | P parallel

|

νn P restriction

|

. . .

page 27
slide-31
SLIDE 31

The in movement n in m.P | m Q

− →

m n P | Q The out movement m n

  • ut n.P1 | P2

| Q

− →

n P1 | P2 | m Q

page 28
slide-32
SLIDE 32

Example property

The perfect-firewall equation in Ambients P : a process with n not free in it νn nP ∼ 0 Proof: Let’s find a bisimulation...

page 29
slide-33
SLIDE 33

Is this a bisimulation? R { (νn nP , 0) }

page 30
slide-34
SLIDE 34

Is this a bisimulation? R { (νn nP , 0) } No!

Suppose nP enter kQ − − − − − − − − − → nP (the loop: simplifies the example, not necessary)

νn nP

enter kQ

R

enter kQ

kQ | νn nP R

  • kQ | 0

Try again...

page 31
slide-35
SLIDE 35

Is this a bisimulation? R { (νn nP , 0) }

∪k,Q

{ (kQ | νn nP , kQ | 0) }

page 32
slide-36
SLIDE 36

Is this a bisimulation? R { (νn nP , 0) }

∪k,Q

{ (kQ | νn nP , kQ | 0) } No!

Suppose Q = hout k. R | Q′

kQ | νn nP R kQ | 0 kQ′ | νn nP | hR R

  • kQ′ | hR | 0

Try again...

page 33
slide-37
SLIDE 37

Is this a bisimulation? R { (νn nP , 0) }

∪k,Q

{ (kQ | νn nP , kQ | 0) } Also:

Suppose Q = in h. Q′

kQ | νn nP

enter hR

R kQ | 0

enter hR

hR | kQ′ | νn nP R

  • hR | kQ′ | 0

Try again...

page 34
slide-38
SLIDE 38

The bisimulation: R ∪C is a static contexts {(S, T ) : S ∼ C[νn nP ] T ∼ C[0] } C ::= kC | P | C | νa C | [ ] We started with the singleton relation {(νn nP , 0)} The added pairs: redundant? (derivable, laws of ∼)

page 35
slide-39
SLIDE 39

Proof of the firewall, composition of up-to techniques

We can prove νn nP ∼ 0 using the singleton relation νn nP

enter kQ

R

enter kQ

kQ | νn nP kQ | 0

page 36
slide-40
SLIDE 40

Proof of the firewall, composition of up-to techniques

We can prove νn nP ∼ 0 using the singleton relation νn nP

enter kQ

R

enter kQ

kQ | νn nP kQ | 0 ∼ ∼ kQ | νn nP kQ | 0

page 37
slide-41
SLIDE 41

Proof of the firewall, composition of up-to techniques

We can prove νn nP ∼ 0 using the singleton relation νn nP

enter kQ

R

enter kQ

kQ | νn nP kQ | 0 ∼ ∼ kQ |νn nP

  • R

kQ | 0

  • [Zappa-Nardelli, Merro, JACM]

“up-to ∼” and “up-to context”

(full proof also needs up-to injective substitutions)

page 38
slide-42
SLIDE 42

Conclusions, part I

– Enhancements of the bisimulation proof methods: extremely useful ∗ essential in π-calculus-like languages, higher-order languages – Various forms of enhancement (“up-to techniques”) exist ∗ composition of techniques – Proofs of soundness of these techniques may be non-trivial ∗ separate ad hoc proofs for each technique

page 39
slide-43
SLIDE 43

CONTENTS ✓ • Introduction

[1]

✓ • Part I: Examples

[3]

☞ • Part II: Counterexamples

[40]

  • Part III: Towards an algebra of enhancements

[48]

  • Part IV: Weak bisimilarity

[58]

slide-44
SLIDE 44

Redundant pairs: first attempt

S a set of inference rules valid for ∼ (P, Q) redundant in {(P, Q)} ∪ R if S R ⊆ ∼ P ∼ Q Sound ? i.e.: P α R Q α P ′ R ∪ {redundant pairs} Q′ implies R ⊆ ∼

?

page 40
slide-45
SLIDE 45

False! Counterexample (in CCS) S a. P ∼ a. Q P ∼ Q R

  • {(a. b, a. c)}

{(b, c)} redundant in R ∪ {(b, c)}

S R ⊆ ∼ b ∼ c

  • a. b

a R

  • a. c

a b R ∪ {(b, c)} c but

  • a. b ∼ a. c
page 41
slide-46
SLIDE 46

Another example

Recall the “bisimulation up-to context and up-to ∼” technique: diagram : P α R Q α P ′ ∼ C

[P ′′] R C [Q′′ ]

∼ Q′ It seems valid because ∼ is transitive and is a congruence, hence usable in all languages where ∼ has these 2 properties

page 42
slide-47
SLIDE 47

False! P := f(P ) | a. P | 0 P a − → P ′ P ′ a − → P ′′ f(P ) a − → P ′′ Bisimulation is a congruence, yet:

  • a. 0

a R

  • a. a. 0

a ∼ f

(a. 0)

R f

(a. a. 0) ∼

  • a. 0
page 43
slide-48
SLIDE 48

False! P := f(P ) | a. P | 0 P a − → P ′ P ′ a − → P ′′ f(P ) a − → P ′′ Bisimulation is a congruence, yet:

  • a. 0

a R

  • a. a. 0

a ∼ f

  • (a. 0)

R f

  • (a. a. 0) ∼
  • a. 0
page 44
slide-49
SLIDE 49

Weak bisimilarity (≈)

→ · · · − → α

  • α

− → Weak bisimulation Too heavy: P α R Q α P ′ R Q′ Better: (read: ⇒) P α R Q α P ′ R Q′

page 45
slide-50
SLIDE 50

Example: up-to bisimilarity that fails

≈ is transitive, yet: τ. a. 0 R

  • a. 0

≈ ≈ τ. a. 0 R

page 46
slide-51
SLIDE 51

Conclusions, part II

– When is a pair redundant? – Needed: a general theory of enhancements of the bisimulation proof method ∗ powerful techniques ∗ combination of techniques ∗ easy to derive their soundness – An attempt: sound functions, respectful functions

[Sangiorgi]

– NB: all results that follow proved in Coq

page 47
slide-52
SLIDE 52

CONTENTS ✓ • Introduction

[1]

✓ • Part I: Examples

[3]

✓ • Part II: Counterexamples

[40]

☞ • Part III: Towards an algebra of enhancements

[48]

  • Part IV: Weak bisimilarity

[58]

slide-53
SLIDE 53

Sound functions

F : ℘(P × P) → ℘(P × P) : sound if R ֌ F(R) implies R ⊆ ∼

P α R Q α P ′ F(R) Q′

Each sound function: a valid enhancement – Are there interesting sound functions? – Properties: ∗ membership easy to check? ∗ nice compositionality properties?

page 48
slide-54
SLIDE 54

Sound functions

F : ℘(P × P) → ℘(P × P) : sound if R ֌ F(R) implies R ⊆ ∼

P α R Q α P ′ F(R) Q′

Each sound function: a valid enhancement – Are there interesting sound functions? YES – Properties: ∗ membership easy to check? NO ∗ nice compositionality properties? NO

page 49
slide-55
SLIDE 55

Towards an algebra of up-to techniques

F : Relations → ℘(P × P) respectful if R ⊆ S R ֌ S F(R) ⊆ F(S) F(R) ֌ F(S) Examples: identity I [I(R) = R] constant-to ∼ U [U(R) = ∼] closure under monadic contexts C closure under inj. substitutions Inj Proofs of respectfulness: easy Non-example: constant-to P × P

page 50
slide-56
SLIDE 56

Compositionality properties

A respectful second-order function: preserves the respectfulness of its arguments Examples: composition

  • [

(G ◦F)R = GFR ] union ∪i∈I [ (

i∈I Fi)R i∈I(FiR)

] chaining

[ (G⌢F)R = G(R) F(R) ] Proofs of respectfulness: easy

page 51
slide-57
SLIDE 57

The previous up-to techniques before can be derived: U⌢I⌢U = up-to ∼

P α R Q α P ′ ∼R∼ Q′

  • n > 0

I⌢ · · · ⌢I

  • n

= up-to transitive closure

P α R Q α P ′ R+ Q′

Similarly we derive: C∗ (up-to polyadic contexts ) ∼ C∗(Inj(R)) ∼

page 52
slide-58
SLIDE 58

Conclusions, part III

– An attempt of an algebra of enhancements ∗ Minimal basic ingredients

(identity function, constant functions, ....)

∗ 2nd order functions to derive more powerful techniques – Sufficient to derive many techniques of practical interest (for strong bisimulation) – However, in this theory: ∗ ad hoc definitions? ∗ all proofs very easy

page 53
slide-59
SLIDE 59

Problem 1: Robust definition of enhancement

– Better definition of respectfulness ? – Abstract formulations of a more powerful bisimulation principle ? – Generalisation to coinduction ? ∗ Partial results on coalgebras [Lenisa, Honsell]

page 54
slide-60
SLIDE 60

Problem 2: soundness of up-to context

– What conditions on contexts for the up-to context to be sound? ∗ Bisimulation as a congruence? i.e.: P α R Q α C

[P ′]

R C

[Q′]

sound iff C preserves ∼? – And for respectfulness? ∗ Bisimulation as a congruence? No! ∗ Partial answer: some behavioural conditions on contexts

[Sangiorgi]

page 55
slide-61
SLIDE 61

Problem 3: up-to context in higher-order languages

Example: λ-calculus (call-by-value/name,typed/untyped,...)

M λR N

  • M

λx. M ′ & N = M ′{ R/x }

Applicative bisimulation (≃) : M λR R N λR M ′ R N ′ Theorem: ≃ is a congruence Applicative bisimulation up-to polyadic contexts M λR R N λR C

[M1, . . . , Mn]

R C

[N1, . . . , Nn]

implies R ⊆ ≃?

page 56
slide-62
SLIDE 62

– Related to the problem of compositionality of bisimulation? – Soundness of limited forms of up-to context : ∗ [Pitts 96, Lassen 98]: typed and untyped λ-calculus, for various reduction strategies ∗ [Koutavas, Wand 06 ]: a λ-calculus with references Example of use: Park-induction property for various fixed-point combinators (Curry, Turing, call-by-value, rec) λx. e{ v/f } v recf = λx. e v

page 57
slide-63
SLIDE 63

CONTENTS ✓ • Introduction

[1]

✓ • Part I: Examples

[3]

✓ • Part II: Counterexamples

[40]

✓ • Part III: Towards an algebra of enhancements

[48]

☞ • Part IV: Weak bisimilarity

[58]

slide-64
SLIDE 64

Example: up-to bisimilarity that fails

τ. a. 0 R

  • a. 0

≈ ≈ τ. a. 0 R

page 58
slide-65
SLIDE 65

Example: up-to bisimilarity that fails

τ. a. 0 R

  • a. 0

≈ ≈ τ. a. 0 R – Chaining (ie: relational composition) is not respectful – What in place of ≈ ? ∗ Expansion ()

[Arun-Kumarm, Hennessy ’91; Milner, Sangiorgi ’92]

∗ Controlled relations [Pous ’05]

page 59
slide-66
SLIDE 66

Example: up-to bisimilarity that fails

τ. a. 0 R

  • a. 0

≈ ≈ τ. a. 0 R – Chaining (ie: relational composition) is not respectful – What in place of ≈ ? ∗ Expansion ()

[Arun-Kumarm, Hennessy ’91; Milner, Sangiorgi ’92]

∗ Controlled relations [Pous ’05]

page 60
slide-67
SLIDE 67

– The culprit: chaining (ie, relational composition) – Everything else: respectfulness is ok – An important use of chaining: P α R Q α P ′ ≈ F(R) ≈ Q′ – What should we use in place of ≈ above? ∗ Expansion ()

[Arun-Kumarm, Hennessy ’91; Milner, Sangiorgi ’92]

∗ Controlled relations [Pous ’05]

page 61
slide-68
SLIDE 68

Theorem If F weakly respectful: P α R Q α P ′ F(R) ≈ Q′ implies R ⊆ ≈ Powerful: candidate relations contain only “normal forms”

page 62
slide-69
SLIDE 69

Example: correctness of an abstract machine for (Safe) Ambients

[Giannini, Sangiorgi, Valente, ’04]

Nesting of ambients yields a tree Example: ab | cd becomes Movements of ambients: – modify the tree structures – can produce forwarders

page 63
slide-70
SLIDE 70

The abstract machine – graphical representation

– Forwarders: common in distributed systems – Forwarder chains – Possible useless forwarders

page 64
slide-71
SLIDE 71

Correctness proof (sketch)

– Ideally, using R {([ [P ] ], P )}

P : an Ambient term [ [P ] ] : representation of P in the AM

– However: [ [P ] ] R P νh (h ⊲ k | [ [Q(h)] ]) R

  • Q(k)

– Further: in the AM there may be messages floating around (cf: non-atomicity of the implementation of Ambient basic

  • perations)

– Indeed: the bisimulation relation needed is very complex.

page 65
slide-72
SLIDE 72

Expansion ()

P Q if:

  • P ≈ Q

P is more efficient than Q Definition: 1. P α

  • Q

α P ′

  • Q′

read: (⇒) 2. Q α

  • P

α Q′

  • P ′

Q

  • P

Q′

  • P

read: (⇒) Examples: P τ. P P τ. P

page 66
slide-73
SLIDE 73

R works if we use expansion: [ [P ] ] R P νh (h ⊲ k | [ [Q(h)] ]) Q(k)

[ [Q(k)] ] R Q(k) Lemma: If h used only for messages in A νh (h ⊲ k | A) A{ k/h } Similarly for features other than forwarders

page 67
slide-74
SLIDE 74

Lemma νh (h ⊲ k | A) A{ k/h } – Simple proof ∗ local property of the AM ∗ up-to techniques applicable to expansion (ex: expansion up-to expansion)

page 68
slide-75
SLIDE 75

Rigidity of expansion

P Q says: P is better at every step Example: optimise the AM

[Hirschkoff, Pous, Sangiorgi, ’05]

– garbage collection of useless forwarders ∗ use counters in forwarders (= number of children) – remove chains of forwarders ∗ adapt Tarjan’s union-find algorithm (relocation)

page 69
slide-76
SLIDE 76

Relocation (cf: Tarjan sets)

page 70
slide-77
SLIDE 77

[ [P ] ]

  • the original machine

[P ]

  • the optimised machine

– [P ] obviously better, but [P ] [ [P ] ] ∗ initial adminstrative work, that only later pays off – Worst: in the optimised machine: νh (h ⊲ k | A) A{ k/h }

page 71
slide-78
SLIDE 78

νh (h ⊲ k | A) A{ k/h }

page 72
slide-79
SLIDE 79

Equivalence between the two machines

– Ideally, using R {([ [P ] ], [P ])}

(normal forms)

But R is not a bisimulation up-to expansion – Correctness proof in [Hirschkoff, Pous, Sangiorgi, ’05]: a full bisimulation – [Pous 05]: A proposal for relations more flexible than ∗ Now R works ∗ Define properties needed in a relation for the “up-to” Example: termination of the transitive closure ∗ The relation need not be behaviourally interesting ∗ Drawbacks: proving the conditions, compositionality

page 73
slide-80
SLIDE 80

Conclusions, part IV

– , or other relations: ∗ needed to control silent moves ∗ allow us to reduce candidate relations only normal forms – : nice mathematical properties, sometimes too rigid

page 74
slide-81
SLIDE 81

Problem 4: up-to in the weak case

a) Improvements of – better notion of “efficiency” – more powerful up-to (goal: normal forms in candidate relations) b) Composition of up-to techniques – how can chaining be replaced? Important! (practical relevance of weak bisimilarity) Partial results: [Pous 05]

page 75
slide-82
SLIDE 82

Problem 5: Mechanical verification

– How can these enhancements be integrated in tools ? – Partial results [Hirschkoff] ∗ theorem provers ∗ automatic checking ∗ Applied to infinite-state processes

page 76
slide-83
SLIDE 83

Problem 6: Other primitive techniques

– Example: up-to substitutions sound in the π-calculus P α R Q α P ′σ

  • R

Q′σ

  • implies R ⊆ ∼?
page 77
slide-84
SLIDE 84

References

This course is based on the draft book: – Davide Sangiorgi, An introduction to bisimulation and coinduction, Draft, 2009 Please contact me if you’d like to read and comment parts of it.

page 78
slide-85
SLIDE 85

Focus lab

A joint initiative between INRIA (France) and Univ. Bologna (Italy) Permanent members: M. Bravetti, U. Dal Lago, M. Gabbrielli,

  • C. Laneve, S. Martini, D. Sangiorgi, G. Zavattaro.

Scientific theme: semantic foundations for distributed software systems (ubiquitous systems) Eg: methods for the analysis and synthesis, at various levels

  • f abstraction; issues of expressiveness

Central concepts: ‘interaction’, ’component’ Basis: logics, types, algebra, operational semantics NB: A recently established “Collegio di Cina” within the University of Bologna

page 79