index.md (4203B)
1 +++ 2 title = 'Lecture 4' 3 template = 'page-math.html' 4 +++ 5 6 # Lecture 4 7 ## Bisimulations 8 A non-empty relation Z ⊆ W × W' is bisimulation ($Z : M \underline{\leftrightarrow} M'$) if for all pairs (w, w') ∈ Z we have: 9 - w ∈ V(p) iff w' ∈ V'(p) 10 - if Rwv then for some v' ∈ W' we have R'w'v' and vZv' 11 - if R'w'v' then for some v ∈ W we have Rwv and vZv' 12 13 Two models are bisimilar ($M \underline{\leftrightarrow} M'$) if there exists a bisimulation Z ∈ W × W'. 14 15 Basically, models are bisimilar if they are, in essence, the same (there may be extra states or relations in one of the models but those states/relations do not add any new information compared to the other model). A bisimulation then is the set of states that are bisimilar between two models. 16 17 Two pointed models are bisimilar if there exists a bisimulation such that (w,w') ∈ Z 18 19 Two states are modally equivalent if they satisfy exactly the same formulas. 20 So if M,w and M',w' are bisimilar, then they are modally equivalent. 21 22 If two states are modally equivalent, then they are bisimilar. 23 24 ### Example 25 It's a bit hard to describe this in words, but intuitive if you see it. 26 Here's an example: 27 28 ![Bisimulation diagram](bisimulation-example.png) 29 30 You see that from the top state, you can get to a terminal state in one or two steps, in both models. 31 Therefore, the top states of both models are _bisimilar_. 32 Since all of the states in the models are bisimilar, _the two models are bisimilar_. 33 The dotted lines connect the pairs that make up the _bisimulation_. 34 35 ### Example: finding bisimulations 36 37 Take two example models: 38 39 <table> 40 <thead> 41 <th>A</th> <th>B</th> 42 </thead> 43 44 <tbody> 45 <tr> 46 47 <td> 48 49 ![Model A diagram](model-a.dot.svg) 50 51 <details> 52 <summary>Graphviz code</summary> 53 54 <!-- :Tangle(dot) model-a.dot --> 55 ```dot 56 digraph g { 57 1 -> 2 58 2 -> 3 59 3 -> 4 60 3 -> 5 61 1 [xlabel="p"] 62 2 [xlabel="q"] 63 3 [xlabel="q"] 64 4 [xlabel="q"] 65 5 [xlabel="q"] 66 } 67 ``` 68 69 </details> 70 </td> 71 72 <td> 73 74 ![Model B diagram](model-b.dot.svg) 75 76 <details> 77 <summary>Graphviz code</summary> 78 79 <!-- :Tangle(dot) model-b.dot --> 80 ```dot 81 digraph g { 82 a -> b 83 a -> c 84 c -> d 85 b -> d 86 d -> e 87 a [xlabel="p"] 88 b [xlabel="q"] 89 c [xlabel="q"] 90 d [xlabel="q"] 91 e [xlabel="q"] 92 } 93 ``` 94 95 </details> 96 </td> 97 98 </tr> 99 </table> 100 101 The claim is that states (A,1) and (B,a) are bisimilar. 102 How do you prove or refute the claim? 103 104 Well, we need to find a bisimulation with the pair (1, a). 105 1. Start with pair (1, a) 106 2. In A, move from 1 to 2. Have to mimic the move in B, can do so by moving from a to b or from a to c. 107 Yields the pairs (2, b) and (2, c). 108 3. In A, move from 2 to 3. Have to mimic the move in B, can move from both b and c to d. 109 Yields the pair (3, d). 110 4. In A, two options: 111 - move from 3 to 4. Have to mimic the move in B, can move from d to e. 112 Yields the pair (4, e). 113 - move from 3 to 5. Have to mimic the move in B, can move from d to e. 114 Yields the pair (5, e). 115 116 Since for any move in the first model, we can mimic it in the second model, we have a bisimulation. 117 The bisimulation contains exactly the pairs we just listed. 118 So there is a bisimulation Z = {(1, a), (2, b), (2, c), (3, d), (4, e), (5, e)}. 119 Since (1, a) ∈ Z, we can say that states (A, 1) and (B, a) are bisimilar. 120 121 ## Transforming and constructing models 122 Disjoint union of models: combine models by union of states, relations, and valuations. 123 A state in one of the models is modally equivalent with the state in the union. 124 125 Generated submodel: starting from state w, only take its future. 126 127 Tree unravelling: unravelling of world s in (W,R,V) is: 128 - $W' : (s_{1} \dots s_{n})$ with $s_{1} = s$ and $Rs_{i} s_{i+1}$ 129 - $R'$ relates ($s_{1} \dots s_{n}$) to ($s_{1} \dots s_{n+1}$) if $Rs_{n} s_{n+1}$ 130 - $V'(p) = \{ (s_{1} \dots s_{n} | s_{n} \in V(p) \}$ 131 - a state in (W',R',V') is bisimilar to $s_{n}$ in (W,R,V) 132 - if φ is satisfiable in M,w it is satisfiable in tree unravelling of s in M 133 134 Bisimulation contraction 135 - W' consists of equivalence classes |s| = { t such that $s \underline{\leftrightarrow} t$ } 136 - R' relates |s| to |t| if Ruv for some u ∈ |s| and some v ∈ |t| 137 - V'(p) = { |s| | s ∈ V(p) } 138 139 More on this, with examples, in [lecture 5](../lecture-5/#transforming-and-constructing-models).