| ⊦ fowl |W = [] ∧ absloc(events((h | l) | false), rset, fowl) → ((h | l) | false)|W = [] |
fowl |W = [], ((h | l) | false)|W ≠ [], absloc(events((h | l) | false), rset, fowl) ⊦
| fowl |W = [], ((h | l) | false)|W ≠ [], absloc(events((h | l) | false), rset, fowl) ⊦ |
fowl |W = [], ((vpe + h0 | l) | false)|W ≠ [], absloc(events((vpe + h0 | l) | false), rset, fowl), ∀ fowl, l, rset. ¬(fowl |W = [] ∧ ((h0 | l) | false)|W ≠ [] ∧ absloc(events((h0 | l) | false), rset, fowl)) ⊦
Used simplifier rules: List('a) freely generated by [], +;; ⊦ [] | l = []; (s) ⊦ [] | b = []; (s) ⊦ [] |W = []; (s)
| fowl |W = [], ((vpe + h0 | l) | false)|W ≠ [], absloc(events((vpe + h0 | l) | false), rset, fowl), ∀ fowl, l, rset. ¬(fowl |W = [] ∧ ((h0 | l) | false)|W ≠ [] ∧ absloc(events((h0 | l) | false), rset, fowl)) ⊦ |
fowl |W = [], absloc(events((vpe._1.l = l ⊃ vpe ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((vpe._1.l = l ⊃ vpe ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ events(h1 + h2) = events(h1) + events(h2); (s) ⊦ h + h0 | b = (h | b) + (h0 | b); (s) ⊦ vpe ' | l = (vpe._1.l = l ⊃ vpe ';[]); (s) ⊦ h + h0 | l0 = (h | l0) + (h0 | l0); (s) ⊦ a + x = a ' + x; (s) ⊦ x + y = [] ↔ x = [] ∧ y = []; (s) ⊦ (h + h0)|W = h |W + h0 |W; (s)
| fowl |W = [], absloc(events((vpe._1.l = l ⊃ vpe ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((vpe._1.l = l ⊃ vpe ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
vpe = (e, boolvar), fowl |W = [], absloc(events((e.l = l ⊃ vpe ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((e.l = l ⊃ vpe ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
Used terms: e, boolvar
| vpe = (e, boolvar), fowl |W = [], absloc(events((e.l = l ⊃ vpe ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((e.l = l ⊃ vpe ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((e.l = l ⊃ (e, boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
| fowl |W = [], absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((e.l = l ⊃ (e, boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
e = R(t, l1, v), fowl |W = [], absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((e.l = l ⊃ (e, boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
e = W(t, l1, v), fowl |W = [], absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((e.l = l ⊃ (e, boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
Used simplifier rules: RWevent freely generated by R, W;;
| e = R(t, l1, v), fowl |W = [], absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((e.l = l ⊃ (e, boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], absloc(events((l1 = l ⊃ (R(t, l, v), boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (R(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
Used simplifier rules: ⊦ R(t, l, v).l = l; (s)
| fowl |W = [], absloc(events((l1 = l ⊃ (R(t, l, v), boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (R(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
l1 = l, fowl |W = [], absloc(events((R(t, l, v), boolvar) ' | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (R(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
fowl |W = [], l1 ≠ l, absloc(events([] | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (R(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
| l1 = l, fowl |W = [], absloc(events((R(t, l, v), boolvar) ' | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (R(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], absloc(events((¬ boolvar ⊃ (R(t, l, v), false) ';[])) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (R(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = []
Used simplifier rules: ⊦ (e, b) ' | b0 = (b ↔ b0 ⊃ (e, b) ';[]); (s)
| fowl |W = [], absloc(events((¬ boolvar ⊃ (R(t, l, v), false) ';[])) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (R(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = [] |
¬ boolvar, fowl |W = [], absloc(events((R(t, l, v), false) ') + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (R(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = []
boolvar, fowl |W = [], absloc(events([]) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (R(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = []
| ¬ boolvar, fowl |W = [], absloc(events((R(t, l, v), false) ') + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (R(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ¬ t ∈ rset → FO(t) ∈ fowl, ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦
Used simplifier rules: absloc-recR: ⊦ absloc(R(t, l, v) ' + el, rset, fowl) ↔ (¬ t ∈ rset → FO(t) ∈ fowl) ∧ absloc(el, rset, fowl); ⊦ ¬ R(t, l, v).W?; (s) ⊦ vpe ' |W = (vpe._1.W? ⊃ vpe ';[]); (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ events(vpe ') = vpe._1 '; (s)
| fowl |W = [], ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ¬ t ∈ rset → FO(t) ∈ fowl, ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ |
Used terms: fowl, l, rset
| boolvar, fowl |W = [], absloc(events([]) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (R(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦
Used simplifier rules: ⊦ [] |W = []; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ [] + x = x; (s) ⊦ events([]) = []; (s)
| fowl |W = [], ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ |
Used terms: fowl, l, rset
| fowl |W = [], l1 ≠ l, absloc(events([] | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (R(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], l1 ≠ l, ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦
Used simplifier rules: ⊦ [] |W = []; (s) ⊦ [] | b = []; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ [] + x = x; (s) ⊦ events([]) = []; (s)
| fowl |W = [], l1 ≠ l, ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ |
Used terms: fowl, l, rset
| e = W(t, l1, v), fowl |W = [], absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((e.l = l ⊃ (e, boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], absloc(events((l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
Used simplifier rules: ⊦ W(t, l, v).l = l; (s)
| fowl |W = [], absloc(events((l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
l1 = l, fowl |W = [], absloc(events((W(t, l, v), boolvar) ' | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
fowl |W = [], l1 ≠ l, absloc(events([] | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = []
| l1 = l, fowl |W = [], absloc(events((W(t, l, v), boolvar) ' | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], absloc(events((¬ boolvar ⊃ (W(t, l, v), false) ';[])) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (W(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = []
Used simplifier rules: ⊦ (e, b) ' | b0 = (b ↔ b0 ⊃ (e, b) ';[]); (s)
| fowl |W = [], absloc(events((¬ boolvar ⊃ (W(t, l, v), false) ';[])) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (W(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = [] |
¬ boolvar, fowl |W = [], absloc(events((W(t, l, v), false) ') + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (W(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = []
boolvar, fowl |W = [], absloc(events([]) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (W(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = []
| ¬ boolvar, fowl |W = [], absloc(events((W(t, l, v), false) ') + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (W(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦
Used simplifier rules: ⊦ a ' ≠ []; (s) ⊦ W(t, l, v).W?; (s) ⊦ vpe ' |W = (vpe._1.W? ⊃ vpe ';[]); (s) ⊦ events(vpe ') = vpe._1 '; (s)
| fowl |W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ |
(fow + fowl0)|W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fow + fowl0), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0), ∀ t, l, v, h0, rset. ¬ ( fowl0 |W = [] ∧ absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fowl0) ∧ (∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0))) ⊦
Used simplifier rules: absloc-recW-empty: ⊦ ¬ absloc(W(t, l, v) ' + el, rset, []); List('a) freely generated by [], +;; ⊦ [] |W = []; (s) a: ⊦ (x + y) + z = x + y + z; from specification list
| (fow + fowl0)|W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fow + fowl0), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0), ∀ t, l, v, h0, rset. ¬ ( fowl0 |W = [] ∧ absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fowl0) ∧ (∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0))) ⊦ |
fow ' |W = [], fowl0 |W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fow ' + fowl0), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0), ∀ t0, l0, v0, h, rset0. ¬ absloc(W(t0, l0, v0) ' + events((h | l0) | false), rset0, fowl0) ∨ ¬(∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h | l0) | false)|W = [] ∨ ¬ absloc(events((h | l0) | false), rset0, fowl0)) ⊦
Used simplifier rules: ⊦ a + x = a ' + x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ x + y = [] ↔ x = [] ∧ y = []; (s) ⊦ (fowl + fowl0)|W = fowl |W + fowl0 |W; (s)
| fow ' |W = [], fowl0 |W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fow ' + fowl0), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0), ∀ t0, l0, v0, h, rset0. ¬ absloc(W(t0, l0, v0) ' + events((h | l0) | false), rset0, fowl0) ∨ ¬(∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h | l0) | false)|W = [] ∨ ¬ absloc(events((h | l0) | false), rset0, fowl0)) ⊦ |
fow = FO(t1), fowl0 |W = [], fow ' |W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fow ' + fowl0), ∀ t0, l0, v0, h, rset0. ¬ absloc(W(t0, l0, v0) ' + events((h | l0) | false), rset0, fowl0) ∨ ¬(∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h | l0) | false)|W = [] ∨ ¬ absloc(events((h | l0) | false), rset0, fowl0)), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦
Used simplifier rules: FOW freely generated by FO, W;; ⊦ W(v, t) ' |W = W(v, t) '; (s) ⊦ a ' ≠ []; (s)
| fow = FO(t1), fowl0 |W = [], fow ' |W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fow ' + fowl0), ∀ t0, l0, v0, h, rset0. ¬ absloc(W(t0, l0, v0) ' + events((h | l0) | false), rset0, fowl0) ∨ ¬(∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h | l0) | false)|W = [] ∨ ¬ absloc(events((h | l0) | false), rset0, fowl0)), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ |
fowl0 |W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fowl0), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0), ∀ t0, l0, v0, h, rset0. ¬ absloc(W(t0, l0, v0) ' + events((h | l0) | false), rset0, fowl0) ∨ ¬(∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h | l0) | false)|W = [] ∨ ¬ absloc(events((h | l0) | false), rset0, fowl0)) ⊦
Used simplifier rules: absloc-recW-FO: ⊦ absloc(W(t, l, v) ' + el, rset, FO(t0) ' + fowl) ↔ absloc(W(t, l, v) ' + el, rset, fowl); a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ FO(t) ' |W = []; (s)
| fowl0 |W = [], absloc(W(t, l, v) ' + events((h0 | l) | false), rset, fowl0), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0), ∀ t0, l0, v0, h, rset0. ¬ absloc(W(t0, l0, v0) ' + events((h | l0) | false), rset0, fowl0) ∨ ¬(∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h | l0) | false)|W = [] ∨ ¬ absloc(events((h | l0) | false), rset0, fowl0)) ⊦ |
Used terms: t, l, v, h0, rset
| boolvar, fowl |W = [], absloc(events([]) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ (¬ boolvar ⊃ (W(t, l, v), false) ';[]) |W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦
Used simplifier rules: ⊦ [] |W = []; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ [] + x = x; (s) ⊦ events([]) = []; (s)
| fowl |W = [], ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ |
Used terms: fowl, l, rset
| fowl |W = [], l1 ≠ l, absloc(events([] | false) + events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ ((l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false)|W = [] ∧ ((h0 | l) | false)|W = [] |
fowl |W = [], l1 ≠ l, ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦
Used simplifier rules: ⊦ [] |W = []; (s) ⊦ [] | b = []; (s) a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ [] + x = x; (s) ⊦ events([]) = []; (s)
| fowl |W = [], l1 ≠ l, ((h0 | l) | false)|W ≠ [], absloc(events((h0 | l) | false), rset, fowl), ∀ fowl0, l0, rset0. fowl0 |W ≠ [] ∨ ((h0 | l0) | false)|W = [] ∨ ¬ absloc(events((h0 | l0) | false), rset0, fowl0) ⊦ |
Used terms: fowl, l, rset
The following image shows the proof tree of sequent calculus. The proved goal is at the bottom. You can click on the nodes to view additional rules. See here for details on colors in a proof tree.