lectures.alex.balgavy.eu

Lecture notes from university.
git clone git://git.alex.balgavy.eu/lectures.alex.balgavy.eu.git
Log | Files | Refs | Submodules

index.md (5950B)


      1 +++
      2 title = 'Bisimulations'
      3 template = 'page-math.html'
      4 +++
      5 
      6 # Bisimulations
      7 A non-empty relation Z ⊆ W × W' is bisimulation ($Z : M \underline{\leftrightarrow} M'$) if for all pairs (w, w') ∈ Z we have:
      8 - w ∈ V(p) iff w' ∈ V'(p)
      9 - if Rwv then for some v' ∈ W' we have R'w'v' and vZv'
     10 - if R'w'v' then for some v ∈ W we have Rwv and vZv'
     11 
     12 Two models are bisimilar ($M \underline{\leftrightarrow} M'$) if there exists a bisimulation Z ∈ W × W'.
     13 
     14 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 pairs of states that are bisimilar between two models.
     15 
     16 Two pointed models are bisimilar if there exists a bisimulation Z such that (w,w') ∈ Z
     17 
     18 Two states are modally equivalent if they satisfy exactly the same formulas.
     19 So if M,w and M',w' are bisimilar, then they are modally equivalent.
     20 
     21 If two states are modally equivalent, then they are bisimilar.
     22 
     23 ## Example of a bisimulation
     24 It's a bit hard to describe this in words, but intuitive if you see it.
     25 Here's an example with two models:
     26 
     27 ![Bisimulation diagram](bisimulation-example.png)
     28 
     29 You see that from the top state, you can get to a terminal state in one or two steps, in both models.
     30 Therefore, the top states of both models are _bisimilar_.
     31 Since all of the states in the models are bisimilar, _the two models are bisimilar_.
     32 The dotted lines connect the pairs that make up the _bisimulation_.
     33 
     34 ## Example: finding bisimulations
     35 
     36 Take two example models:
     37 
     38 <table>
     39 <thead>
     40 <th>A</th> <th>B</th>
     41 </thead>
     42 
     43 <tbody>
     44 <tr>
     45 
     46 <td>
     47 
     48 ![Model A diagram](model-a.dot.svg)
     49 
     50 <details>
     51 <summary>Graphviz code</summary>
     52 
     53 <!-- :Tangle(dot) model-a.dot -->
     54 ```dot
     55 digraph g {
     56 1 -> 2
     57 2 -> 3
     58 3 -> 4
     59 3 -> 5
     60 1 [xlabel="p"]
     61 2 [xlabel="q"]
     62 3 [xlabel="q"]
     63 4 [xlabel="q"]
     64 5 [xlabel="q"]
     65 }
     66 ```
     67 
     68 </details>
     69 </td>
     70 
     71 <td>
     72 
     73 ![Model B diagram](model-b.dot.svg)
     74 
     75 <details>
     76 <summary>Graphviz code</summary>
     77 
     78 <!-- :Tangle(dot) model-b.dot -->
     79 ```dot
     80 digraph g {
     81 a -> b
     82 a -> c
     83 c -> d
     84 b -> d
     85 d -> e
     86 a [xlabel="p"]
     87 b [xlabel="q"]
     88 c [xlabel="q"]
     89 d [xlabel="q"]
     90 e [xlabel="q"]
     91 }
     92 ```
     93 
     94 </details>
     95 </td>
     96 
     97 </tr>
     98 </table>
     99 
    100 The claim is that states (A,1) and (B,a) are bisimilar.
    101 How do you prove or refute the claim?
    102 
    103 Well, we need to find a bisimulation with the pair (1, a).
    104 1. Start with pair (1, a)
    105 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.
    106     Yields the pairs (2, b) and (2, c).
    107 3. In A, move from 2 to 3. Have to mimic the move in B, can move from both b and c to d.
    108     Yields the pair (3, d).
    109 4. In A, two options:
    110     - move from 3 to 4. Have to mimic the move in B, can move from d to e.
    111         Yields the pair (4, e).
    112     - move from 3 to 5. Have to mimic the move in B, can move from d to e.
    113         Yields the pair (5, e).
    114 
    115 Since for any move in the first model, we can mimic it in the second model, we have a bisimulation.
    116 The bisimulation contains exactly the pairs we just listed.
    117 So there is a bisimulation Z = {(1, a), (2, b), (2, c), (3, d), (4, e), (5, e)}.
    118 Since (1, a) ∈ Z, we can say that states (A, 1) and (B, a) are bisimilar.
    119 
    120 If two states are bisimilar, then they are modally equivalent.
    121 Prove by induction on definition of formulas.
    122 
    123 For finitely branching models, if two states are modally equivalent, then they are bisimilar.
    124 Prove by taking modal equivalence as bisimulation.
    125 
    126 <details>
    127 <summary>Proof of modal equivalence implying bisimilar</summary>
    128 
    129 Let Z := {(x, x') | for all φ: x ⊨ φ iff x' ⊨ φ}.
    130 Z is a bisimulation.
    131 - Local harmony is satisfied.
    132 - zig: suppose (x, x') ∈ Z and x → y.
    133     Because x ⊨ ◇ T also x' ⊨ ◇ T.
    134     So x' has finitely many successors y'₁...y'n with n ≥ 1.
    135     Suppose for all i: y is not modally equivalent to y'ᵢ.
    136     There are φ₁...φn such that y ⊨ φᵢ and y'ᵢ ⊭ φᵢ.
    137     x ⊨ ◇(φ₁ ∧ ... ∧ φn) so also x' ⊨ ◇ (φ₁ ∧ ... ∧ φn).
    138     Contradiction.
    139 
    140 </details>
    141 
    142 Asymmetry is not modally definable.
    143 To deal with only frames, we can use surjective bounded morphisms.
    144 
    145 Function f : W → W' is bounded morphism from (W,R) to (W',R') if:
    146 - for all w,v ∈ W: if Rwv then Rf(w)f(v)
    147 - for all w ∈ W and for all v' ∈ W': if R'f(w)v' then there exists v ∈ W such that f(v) = v' and Rwv
    148 
    149 A bounded morphism f is surjective if for every w' ∈ W' there exists w ∈ W such that f(w) = w'
    150 
    151 If f: W → W' is surjective bounded morphism from (W,R) to (W',R'), then if (W,R) ⊨ φ then (W', R') ⊨ φ
    152 
    153 ## Modal depth of formulas
    154 Modal formulas are 'nearsighted':
    155 - md(p) = md(⊥) = md(T) = 0
    156 - md(¬φ) = md(φ)
    157 - md(φ ∨ ψ) = md(φ ∧ ψ) = max{md(φ), md(ψ)}
    158 - md(□ φ) = md(◇ φ) = md(φ) + 1
    159 
    160 ## A bisimulation game for two players
    161 Spoiler S claims M,s an N,t to be different.
    162 Duplicator D claims they are similar.
    163 
    164 Play consists of sequence of links, starting with link s ~ t.
    165 
    166 At current link m ~ n (with m in M and n in N):
    167 - if m and n different in their atoms, then S wins
    168 - if not, then S picks a successor x either of m or of n
    169 - then D has to find a matching transition to y in the other model
    170 - play continues with next link x ~ y (or y ~ x)
    171 
    172 If player cannot make a move, he loses.
    173 D wins infinite games.
    174 
    175 There's an example of this [in exercise class 3](../exercise-3/#a).
    176 
    177 We need a formula of model depth k to distinguish states x and y.
    178 Spoiler can win bisimulation game in k rounds.
    179 Every winning strategy for Spoiler corresponds to a distinguishing formula.
    180 Games of less than k rounds can be won by Duplicator.
    181 Formulas of modal depth less than k cannot distinguish between x and y.
    182 
    183 M,s and N,t satisfy the same formulas up to modal depth k iff duplicator has winning strategy in the k-round game starting in s ~ t.
    184 If Spoiler can win in k rounds, then there is a distinguishing formula of modal depth k.