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 (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).