index.md (2888B)
1 +++ 2 title = 'Lecture 9' 3 +++ 4 # Lecture 9 5 ## Temporal logic using temporal frames 6 Linear time logic: events along a single computation path. 'at some point we will have p' 7 8 Branching time logic: quantify over possible paths. 'there is a path where eventually p' 9 10 A frame F = (T, <) is a temporal frame if both: 11 - < is irreflexive: not t < t for all t 12 - < is transitive: if t < u and u < v then t < v 13 14 Truth and validity: 15 16 ![Truth and validity](truth-and-validity.png) 17 18 Right-linearity: 19 - "all future points are related" 20 - definition: ∀ x,y,z: (x < y) ∧ (x < z) → (y < z) ∨ (y = z) ∨ (z < y) 21 - is modally definable 22 23 Right-branching: 24 - "right-branching is _not_ right-linear, so some point has two unrelated points in the future" 25 - definition: there exist x,y,z such that x < y and x < z but ¬ (y < z) ∧ y ≠ z ∧ ¬ (z < y) 26 - is _not_ modally definable 27 28 Discrete: 29 - "every point with a successor has an immediate successor 30 - definition: (x < y ) → ∃ z : x < z ∧ ¬ ∃ u: ( x < u) ∧ (u < z) 31 - is modally definable in basic temporal logic 32 33 Dense: 34 - "between any two points is a third one" 35 - definition: x < z → ∃ y (x < y ∧ y < z) 36 - is modally definable 37 38 Operator next: 39 - symbol ⊗ 40 - M,t ⊨ ⊗ φ iff ∃ v : t < v ∧ (¬ ∃ u : t < u < v) ∧ M,v ⊨ φ 41 - e.g. x ⊨ ⊗p: there a future we can reach only in 1 step from x where p holds 42 - you can go directly from centraal to Utrecht, but Amstelstation is still there 43 - next not definable in basic modal logic 44 45 Operator until: 46 - symbol U 47 - M,t ⊨ φ U ψ iff ∃ v : t < v ∧ M,v ⊨ ψ ∧ ∀ u : t < u < v → M,u ⊨ φ 48 - if we have a future where ψ holds, then φ holds in all points between now and that future 49 - not definable in basic modal logic 50 51 Examples of until: 52 53 <table> 54 <tr> 55 <td> 56 57 ![Until 1](until-1.dot.svg) 58 59 <details> 60 <summary>Graphviz code</summary> 61 62 <!-- :Tangle(dot) until-1.dot --> 63 ```dot 64 digraph g { 65 rankdir=BT 66 a -> b 67 a -> c 68 c -> d 69 b -> d 70 c -> e 71 c [xlabel="p"] 72 d [xlabel="q"] 73 e [xlabel="q"] 74 } 75 ``` 76 </details> 77 78 </td> 79 <td> 80 81 ![Until 2](until-2.dot.svg) 82 83 <details> 84 <summary>Graphviz code</summary> 85 86 <!-- :Tangle(dot) until-2.dot --> 87 ```dot 88 digraph g { 89 rankdir=BT 90 a -> b 91 a -> c 92 c -> d 93 b -> d 94 d [xlabel="q"] 95 c [xlabel="p"] 96 } 97 ``` 98 99 </details> 100 </td> 101 </tr> 102 103 <tr> 104 <td> 105 a ⊨ p U q. e.g. state e, we have q, and in any paths we have to go through states that have p. 106 </td> 107 108 <td> 109 a ⊭ p U q. because we do not have p in state b. 110 </td> 111 </tr> 112 </table> 113 114 In a temporal frame: 115 - ◇ p is equivalent to T U p 116 - ⊗ p i equivalent to ⊥ U p 117 118 <!-- 119 TODO: Things to look at: 120 - until not definable in basic modal logic in temporal frames 121 - until not definable in temporal modal logic in temporal frames 122 - next not definable in basic modal logic in temporal frames 123 - define discrete in temporal logic 124 - use next to define discrete in temporal logic 125 - define right-linearity in temporal logic 126 -->