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