enhancements of the bisimulation proof method
play

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


  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

  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]

  3. Equality on processes, coinductively Bisimulation: Q A relation R s.t. P R α α Q ′ P ′ R Bisimilarity ( ∼ ) : ∪ {R : R is a bisimulation } Hence: x R y R is a bisimulation (bisimulation proof method) x ∼ y page 1

  4. This talk Enhancements of the bisimulation proof method – Motivations – Results and Examples – Open problems page 2

  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]

  6. Examples, in CCS-like calculus page 3

  7. Pieces of syntax and transitions a → P ′ P | ! P − a inp : a . P − → P rep : a ! P − → P ′ a a → P ′ → Q ′ P − Q − sumL : sumR : a a P + Q − → P ′ P + Q − → Q ′ a a → P ′ → Q ′ P − Q − parL : parR : a a → P ′ | Q P | Q − P | Q − → 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

  8. Enhancements of the bisimulation method: an example A property of replication !( a + b ) ∼ ! a | ! b Proof: Let’s find a bisimulation... page 5

  9. Is this a bisimulation? R � { (!( a + b ) , ! a | ! b ) } page 6

  10. Is this a bisimulation? R � { (!( a + b ) , ! a | ! b ) } No! a ( a + b ) n | 0 | ( a + b ) m | !( a + b ) !( a + b ) − → � R R a a n | 0 | a m | ! a | ! b ! a | ! b − → a ( a + b ) n | 0 | ( a + b ) m | !( a + b ) NB: ∀ n, m , !( a + b ) − → a a n | 0 | a m | ! a | ! b ! a | ! b − → Try again... page 7

  11. Is this a bisimulation? R � ∪ n,m (( a + b ) n | 0 | ( a + b ) m | !( a + b ) , a n | 0 | a m | ! a | ! b ) , { (( a + b ) n | 0 | ( a + b ) m | !( a + b ) , ! a | b n | 0 | b m | ! b ) } page 8

  12. Is this a bisimulation? R � ∪ n,m (( a + b ) n | 0 | ( a + b ) m | !( a + b ) , a n | 0 | a m | ! a | ! b ) , { (( a + b ) n | 0 | ( a + b ) m | !( a + b ) , ! a | b n | 0 | b m | ! b ) } No! b ( a + b ) n | 0 | ( a + b ) m ( a + b ) n − 1 | 0 2 | ( a + b ) m − → | !( a + b ) | !( a + b ) � R R b a n | 0 | a m | ! a | ! b a n | 0 | a m | ! a | b | ! b − → Try again... page 9

  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

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

  15. Up-to techniques: example – Rules for transitivity of ∼ (up-to ∼ ) R ֌ ∼ R ∼ implies R ⊆ ∼ Q diagram : P R α α P ′′ R Q ′′ Q ′ ∼ ∼ P ′ page 12

  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 ( a + b ) n | 0 | ( a + b ) m | !( a + b ) !( a + b ) − → ∼ !( a + b ) R R ! a | ! b ∼ a a n | 0 | a m | ! a | ! b ! a | ! b − → (laws P | ! P ∼ ! P and 0 | P ∼ P , congruence of ∼ ) page 13

  17. A more interesting example !( a . P + b . Q ) ∼ ! a . P | ! b . Q Proof: Let’s find a bisimulation... page 14

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

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

  20. c → P ′ : – Note also, if P − → a a → c P ′ | P | !( a . P + b . Q ) !( a . P + b . Q ) − − − → → a a → c P ′ | P | ! a . P | ! b . Q ! 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

  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 ⊆ ∼ Q diagram : P R α α � [ P ′ ] � [ Q ′ ] C C R page 18

  22. Example of composition of techniques We can put together up-to ∼ and up-to context R ֌ ∼ C [ R ] ∼ implies R ⊆ ∼ Q diagram : P R α α � [ Q ′′ ] � [ P ′′ ] R C ∼ ∼ C Q ′ P ′ page 19

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

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

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

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

  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 ⊆ ∼ Q P R α α diagram : implies R ⊆ ∼ � � P ′ σ Q ′ σ R σ : an injective function page 24

  28. More composition of techniques R ֌ ∼ C [ Inj ( R )] ∼ implies R ⊆ ∼ Q diagram : P R α α � [ Q ′′ σ � [ P ′′ σ � ] R C � ] ∼ C ∼ Q ′ P ′ More sophistication ⇒ – more powerful technique – harder soundness proof for the technique page 25

  29. More examples, in a higher-order calculus (the Ambient calculus) page 26

  30. Ambients: syntax Processes P ::= n � P � ambient | in n . P in action | out n . P out action | open n . P open action | P | P parallel | νn P restriction | . . . page 27

  31. The in movement m n m n − → | in m . P Q | Q P The out movement m n m n − → | P 1 | P 2 Q out n . P 1 | P 2 | Q page 28

  32. Example property The perfect-firewall equation in Ambients P : a process with n not free in it νn n � P � ∼ 0 Proof: Let’s find a bisimulation... page 29

  33. Is this a bisimulation? R � { ( νn n � P � , 0) } page 30

  34. Is this a bisimulation? R � { ( νn n � P � , 0) } enter k � Q � Suppose n � P � − − − − − − − − − → n � P � No! (the loop: simplifies the example, not necessary) νn n � P � 0 R enter k � Q � enter k � Q � � R k � Q | νn n � P � � k � Q � | 0 Try again... page 31

  35. Is this a bisimulation? R � { ( νn n � P � , 0) } ∪ k,Q { ( k � Q | νn n � P � � , k � Q � | 0) } page 32

  36. Is this a bisimulation? R � { ( νn n � P � , 0) } ∪ k,Q { ( k � Q | νn n � P � � , k � Q � | 0) } No! Suppose Q = h � out k . R � | Q ′ k � Q | νn n � P � � k � Q � | 0 R k � Q ′ | νn n � P � � | h � R � � R k � Q ′ � | h � R � | 0 Try again... page 33

  37. Is this a bisimulation? R � { ( νn n � P � , 0) } ∪ k,Q { ( k � Q | νn n � P � � , k � Q � | 0) } Also: Suppose Q = in h . Q ′ k � Q | νn n � P � � k � Q � | 0 R enter h � R � enter h � R � h � R | k � Q ′ | νn n � P � � � h � R | k � Q ′ � � | 0 � R Try again... page 34

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend