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 (2143B)


      1 +++
      2 title = 'Lecture 12'
      3 template = 'page-math.html'
      4 +++
      5 # Lecture 12
      6 - composition "R;S" = {(x, z) | ∃ y : Rxy ∧ Syz}
      7 - union "R ∪ S" = {(x, y) | Rxy ∨ Sxy}
      8 - R\*: repeat R one or more times
      9 
     10 A model M is a PDL-model if the frame is a PDL-frame and $R_{\phi ?} = \\{ (w,w) \\;|\\; M, w \models \phi\\}$
     11 
     12 The R of the frame is all sets of Rₐ where _a_ is a program (i.e. a label on an arrow).
     13 
     14 <details>
     15 <summary>Proof example of 〈α, β〉 p → 〈α〉〈β〉p</summary>
     16 
     17 - Take a PDL model and a state x.
     18 - Assume x ⊨ 〈α, β〉 p
     19 - That is, there is a state y such that $(x, y) \in R_{\alpha;\beta}$ and y ⊨ p.
     20 - $R_{\alpha;\beta} = R_{\alpha}; R_{\beta}$
     21 - That is, there is a state u such that $(x, u) \in R_{\alpha}$ and $(u,y) \in R_{\beta}$.
     22 - Because $(u,y) ∈ R_{\beta}$ and y ⊨ p, we have u ⊨ 〈β〉 p
     23 - Because $(x,u) ∈ R_{\alpha}$, we have and u ⊨ 〈β〉p we have x ⊨ 〈α〉〈β〉p.
     24 </details>
     25 
     26 If then else:
     27 - program: `if p then a else b`
     28 - encoding: (p?; a) ∪ (¬ p? ; b)
     29 
     30 <details>
     31 <summary>Example</summary>
     32 
     33 ![Model](model-if-then-else.dot.svg)
     34 
     35 <details>
     36 <summary>Graphviz code</summary>
     37 
     38 <!-- :Tangle(dot) model-if-then-else.dot -->
     39 ```dot
     40 digraph g {
     41 rankdir=LR
     42 1 [xlabel="[p]"]
     43 1 -> 2 [label="a"]
     44 4 -> 2 [label="b"]
     45 1 -> 3 [label="b"]
     46 4 -> 3 [label="a"]
     47 }
     48 
     49 ```
     50 
     51 </details>
     52 
     53 Calculate the relation for `if p then a else b`, which is encoded as `(p?; a) ∪ (¬ p?; b)`:
     54 
     55 ![Calculation](if-then-else-calculation.png)
     56 </details>
     57 
     58 While:
     59 - program: `while p do a`
     60 - encoding: (P?; a)\*; ¬ p?
     61 
     62 <details>
     63 <summary>Example</summary>
     64 
     65 ![Model](model-while.dot.svg)
     66 
     67 <details>
     68 <summary>Graphviz code</summary>
     69 
     70 <!-- :Tangle(dot) model-while.dot -->
     71 ```dot
     72 digraph g {
     73 rankdir=LR
     74 1 -> 2 [label="a"]
     75 2 -> 3 [label="a"]
     76 3 -> 4 [label="a"]
     77 4 -> 5 [label="a"]
     78 5 -> 6 [label="a"]
     79 1 [xlabel="[p]"]
     80 2 [xlabel="[p]"]
     81 3 [xlabel="[p]"]
     82 4 [xlabel="[p]"]
     83 }
     84 ```
     85 
     86 </details>
     87 
     88 Calculating the relation `while p do a`, encoded as `(p?; a)*; ¬ p?`:
     89 
     90 ![Calculation](while-calculation.png)
     91 </details>
     92 
     93 If E is a bisimulation between two A-models, then it is a bisimulation for the models' PDL-extensions.