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


      1 +++
      2 title = 'Exercise class 3'
      3 +++
      4 
      5 # Exercise class 3
      6 ## Exercise 1
      7 The two models:
      8 
      9 <table>
     10 <tr>
     11 <th>M</th>
     12 <th>K</th>
     13 </tr>
     14 <tr>
     15 <td>
     16 <img src="1-model-m.dot.svg" alt="Model M">
     17 
     18 <details>
     19 <summary>Graphviz code</summary>
     20 
     21 <!-- :Tangle(dot) 1-model-m.dot -->
     22 ```dot
     23 digraph g {
     24 a -> b
     25 a -> c
     26 c -> a
     27 c -> d
     28 }
     29 ```
     30 
     31 </details>
     32 
     33 </td>
     34 <td><img src="1-model-k.dot.svg" alt="Model K">
     35 
     36 <details>
     37 <summary>Graphviz code</summary>
     38 
     39 <!-- :Tangle(dot) 1-model-k.dot -->
     40 ```dot
     41 digraph g {
     42 1 -> 2
     43 2 -> 3
     44 3 -> 1
     45 1 -> 4
     46 }
     47 ```
     48 
     49 </details>
     50 </td>
     51 </tr>
     52 </table>
     53 
     54 ### a)
     55 
     56 | Round | S      | D            | link  | local harmony |
     57 |-------|--------|--------------|-------|---------------|
     58 | 0     |        |              | a ~ 1 | ok            |
     59 | 1     | a -> c | (1/2) 1 -> 2 | c ~ 2 | ok            |
     60 | 2     | c -> d | 2 -> 3       | d ~ 3 | ok            |
     61 | 3     | 3 -> 1 | stuck.       |       |               |
     62 | ...   | ...    | ...          | ...   | ...           |
     63 | 1     | a -> c | (2/2) 1 -> 4 | c ~ 4 | ok            |
     64 | 2     | c -> a | stuck.       |       |               |
     65 
     66 So even in an optimal game, D gets stuck.
     67 Therefore, M,a and K,1 are not bisimilar.
     68 
     69 Once we find a winning strategy for S no matter what D does, we can stop.
     70 
     71 ### b)
     72 A formula distinguishing M,a and K,1 is: ◇ ◇ □ ⊥
     73 
     74 In two steps, we reach a blind state.
     75 
     76 ## Sequents and tableaux (exercise 5)
     77 ### □ p → ◇ p
     78 Show validity of: □ p → ◇ p
     79 
     80 Pre-processing:
     81 
     82 ```
     83 □ p → ◇ p ≡ ¬ □ p ∨ ◇ p
     84           ≡ ◇ ¬ p ∨ ◇ p
     85 ```
     86 
     87 <table>
     88 <tr><th>Sequent</th><th>Tableau</th></tr>
     89 <tr>
     90 <td>
     91 
     92 ```
     93 ⇒ ◇ ¬ p ∨ ◇ p
     94 ⇒ ◇ ¬ p, ◇ p
     95 ```
     96 
     97 Stuck. No diamond on left, so cannot take a step.
     98 
     99 ◇ ¬ p ∨ ◇ p not valid, so □ p → ◇ p not valid.
    100 </td>
    101 <td>
    102 <img src="5-1-tableau.dot.svg" alt="Tableau" />
    103 
    104 Zero non-solid successors. Stuck, does not close, so non-validity.
    105 
    106 Counter-model F = ({1}, ∅), V(p) = ∅.
    107 
    108 <details>
    109 <summary>Graphviz code</summary>
    110 
    111 <!-- :Tangle(dot) 5-1-tableau.dot -->
    112 ```dot
    113 graph g {
    114 a [label="* ◇ ¬ p ∨ ◇ p", xlabel="1"]
    115 a -- b
    116 b [label="* ◇ ¬ p, ◇ p", xlabel="1"]
    117 }
    118 ```
    119 
    120 </details>
    121 
    122 </td>
    123 </tr>
    124 </table>
    125 
    126 ### □ (p → q) → (□ p → □ q)
    127 Show validity of: □ (p → q) → (□ p → □ q)
    128 
    129 Pre-processing:
    130 
    131 ```
    132 □ (p → q) → (□ p → □ q) ≡ ¬ ◇ ¬ (¬ p ∨ q) → (¬ ◇ ¬ p → ¬ ◇ ¬ q)
    133                         ≡ ◇ ¬ (¬ p ∨ q) ∨ (◇ ¬ p ∨ ¬ ◇ ¬ q)
    134                         ≡ ◇ (p ∧ ¬ q) ∨ ◇ ¬ p ∨ ¬ ◇ ¬ q
    135 ```
    136 
    137 <table>
    138 <tr> <th>Sequent</th> <th>Tableau</th> </tr>
    139 <tr>
    140 <td>
    141 
    142 ```
    143 ⇒ ◇ (p ∧ ¬ q), ◇ ¬ p, ¬ ◇ ¬ q
    144 ◇ ¬ q ⇒ ◇ (p ∧ ¬ q), ◇ ¬ p
    145 
    146 One case:
    147 ¬ q ⇒ p ∧ ¬ q, ¬ p
    148 p, ¬ q ⇒ p ∧ ¬ q
    149 p ⇒ p ∧ ¬ q, q
    150 
    151 Two goals, both must be valid:
    152     A) p ⇒ p, q
    153        Valid.
    154     B) p ⇒ ¬ q, q
    155        p, q ⇒ q
    156        Valid.
    157 
    158 Sequent is valid, so initial formula is valid.
    159 ```
    160 
    161 </td>
    162 <td>
    163 <img src="5-2-tableau.dot.svg" alt="Tableau" />
    164 
    165 Closes, so initial formula is valid.
    166 
    167 <details>
    168 <summary>Graphviz code</summary>
    169 
    170 <!-- :Tangle(dot) 5-2-tableau.dot -->
    171 ```dot
    172 graph g {
    173 a [label="* ◇ (p ∧ ¬ q), ◇ ¬ p, ¬ ◇ ¬ q", xlabel="1"]
    174 b [label="◇ ¬ q * ◇ (p ∧ ¬ q), ◇ ¬ p", xlabel="1"]; a -- b
    175 c [label="¬ q * p ∧ ¬ q, ¬ p", xlabel="2"]; b -- c [style="dashed"]
    176 d [label="p * p ∧ ¬ q, q", xlabel="2"]; c -- d
    177 
    178 el [shape="record", label="{ p * p, q | closes. }", xlabel="2"]; d -- el
    179 
    180 er [label="p * ¬ q, q", xlabel="2"]; d -- er
    181 f [shape="record", label="{ p, q * q | closes. }", xlabel="2"]; er -- f
    182 }
    183 ```
    184 
    185 </details>
    186 
    187 </td>
    188 </tr>
    189 </table>
    190 
    191 ### (□ p → □ q) → □ (p → q)
    192 Show validity of: (□ p → □ q) → □ (p → q)
    193 
    194 Pre-processing:
    195 
    196 ```
    197 (□ p → □ q) → □ (p → q) ≡ (¬ ◇ ¬ p → ¬ ◇ ¬ q) → ¬ ◇ ¬ (¬ p ∨ q)
    198                         ≡ ¬ (◇ ¬ p ∨ ¬ ◇ ¬ q) ∨ ¬ ◇ (p ∧ ¬ q)
    199                         ≡ (¬ ◇ ¬ p ∧ ◇ ¬ q) ∨ ¬ ◇ (p ∧ ¬ q)
    200 ```
    201 
    202 Tableau:
    203 
    204 ![Tableau](5-3-tableau.dot.svg)
    205 
    206 <details>
    207 <summary>Graphviz code</summary>
    208 
    209 <!-- :Tangle(dot) 5-3-tableau.dot -->
    210 ```dot
    211 graph g {
    212 a [label="* (¬ ◇ ¬ p ∧ ◇ ¬ q), ¬ ◇ (p ∧ ¬ q)", xlabel="1"]
    213 b [label="◇ (p ∧ ¬ q) * ¬ ◇ ¬ p ∧ ◇ ¬ q", xlabel="1"]; a -- b
    214 
    215 la [label="◇ (p ∧ ¬ q) * ¬ ◇ ¬ p", xlabel="1"]; a -- la
    216 lb [label="◇ (p ∧ ¬ q), ◇ ¬ p *", xlabel="1"]; la -- lb
    217 
    218 lla [label="p ∧ ¬ q *", xlabel="2"]; lb -- lla [style="dashed"]
    219 llb [label="p, ¬ q *", xlabel="2"]; lla -- llb
    220 llc [label="{p * q | does not close}", xlabel="2", shape="record"]; llb -- llc
    221 
    222 lra [label="{¬ p * | does not close}", xlabel="3", shape="record"]; lb -- lra [style="dashed"]
    223 
    224 ra [label="◇ (p ∧ ¬ q) * ◇ ¬ q", xlabel="1"]; b -- ra
    225 rb [label="p ∧ ¬ q * ¬ q", xlabel="4"]; ra -- rb [style="dashed"]
    226 rc [label="p ∧ ¬ q, q *", xlabel="4"]; rb -- rc
    227 rd [label="p, ¬ q, q *", xlabel="4"]; rc -- rd
    228 re [label="{p, q * q | closes}", xlabel="4", shape="record"]; rd -- re
    229 }
    230 ```
    231 
    232 </details>
    233 
    234 This yields a counter-model:
    235 
    236 ![Counter-model](5-3-counter-model.dot.svg)
    237 
    238 <details>
    239 <summary>Graphviz code</summary>
    240 
    241 <!-- :Tangle(dot) 5-3-counter-model.dot -->
    242 ```dot
    243 digraph g {
    244 rankdir=LR
    245 1 -> 2; 2 [shape="Mrecord", label="{2 | p}"]
    246 1 -> 3
    247 }
    248 ```
    249 
    250 </details>
    251 
    252 1 ⊭ □ (p → q) because 2 ⊭ p → q.
    253 But 1 ⊨ (□ p → □ q) because 1 ⊭ □ p.