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.