| ⊦ abs(h, rs, p) ∧ firstPersistW(p(l)) < # p(l) → (h |W | l) | false ≠ [] |
(h |W | l) | false = [], firstPersistW(p(l)) < # p(l), abs(h, rs, p) ⊦
| (h |W | l) | false = [], firstPersistW(p(l)) < # p(l), abs(h, rs, p) ⊦ |
(h |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), abs(h, rs, p) ⊦
Used simplifier rules: ⊦ # x = 0 ↔ x = []; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic
| (h |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), abs(h, rs, p) ⊦ |
⊦ abs(h, rs, p) ↔ (∀ l. absloc(events((h | l) | false), rs(l), p(l)))
(h |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), ∀ l. absloc(events((h | l) | false), rs(l), p(l)) ⊦
Used terms: h, rs, p
| ⊦ abs(h, rs, p) ↔ (∀ l. absloc(events((h | l) | false), rs(l), p(l))) |
| (h |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), ∀ l. absloc(events((h | l) | false), rs(l), p(l)) ⊦ |
(h |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((h | l) | false), rs(l), p(l)) ⊦
Used terms: l
| (h |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((h | l) | false), rs(l), p(l)) ⊦ |
((vpe + h0)|W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((vpe + h0 | l) | false), rs(l), p(l)), ∀ l, p, rs. ¬((h0 |W | l) | false = [] ∧ p(l) ≠ [] ∧ firstPersistW(p(l)) < # p(l) ∧ absloc(events((h0 | l) | false), rs(l), p(l))) ⊦
Used simplifier rules: absloc-base: ⊦ absloc([], rset, fowl) ↔ fowl |W = []; List('a) freely generated by [], +;; ⊦ [] |W = []; (s) ⊦ [] | l = []; (s) ⊦ [] | b = []; (s) ⊦ events([]) = []; (s) ⊦ fowl |W = [] → firstPersistW(fowl) = # fowl; (s) ⊦ ¬ n < n; (s)
| ((vpe + h0)|W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((vpe + h0 | l) | false), rs(l), p(l)), ∀ l, p, rs. ¬((h0 |W | l) | false = [] ∧ p(l) ≠ [] ∧ firstPersistW(p(l)) < # p(l) ∧ absloc(events((h0 | l) | false), rs(l), p(l))) ⊦ |
((vpe._1.W? ⊃ vpe ';[]) | l) | false = [], (h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((vpe._1.l = l ⊃ vpe ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
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) ⊦ vpe ' |W = (vpe._1.W? ⊃ vpe ';[]); (s) ⊦ (h + h0)|W = h |W + h0 |W; (s)
| ((vpe._1.W? ⊃ vpe ';[]) | l) | false = [], (h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((vpe._1.l = l ⊃ vpe ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
vpe = (e, boolvar), (h0 |W | l) | false = [], ((e.W? ⊃ vpe ';[]) | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ vpe ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used terms: e, boolvar
| vpe = (e, boolvar), (h0 |W | l) | false = [], ((e.W? ⊃ vpe ';[]) | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ vpe ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
((e.W? ⊃ (e, boolvar) ';[]) | l) | false = [], (h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
| ((e.W? ⊃ (e, boolvar) ';[]) | l) | false = [], (h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
(h0 |W | l) | false = [], ((e, boolvar) ' | l) | false = [], p(l) ≠ [], e.W?, firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
(h0 |W | l) | false = [], ([] | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
| (h0 |W | l) | false = [], ((e, boolvar) ' | l) | false = [], p(l) ≠ [], e.W?, firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
(e.l = l ⊃ (e, boolvar) ';[]) | false = [], (h0 |W | l) | false = [], p(l) ≠ [], e.W?, firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ [] + x = x; (s) ⊦ events([]) = []; (s) ⊦ vpe ' | l = (vpe._1.l = l ⊃ vpe ';[]); (s)
| (e.l = l ⊃ (e, boolvar) ';[]) | false = [], (h0 |W | l) | false = [], p(l) ≠ [], e.W?, firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
e = W(t, l1, v), (h0 |W | l) | false = [], (l1 = l ⊃ (e, boolvar) ';[]) | false = [], p(l) ≠ [], e.W?, firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: ⊦ e.W? → ((t = e.t ∧ l = e.l) ∧ v = e.v ↔ e = W(t, l, v)); (elim) Used terms: e, t, l1, v
| e = W(t, l1, v), (h0 |W | l) | false = [], (l1 = l ⊃ (e, boolvar) ';[]) | false = [], p(l) ≠ [], e.W?, firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
(h0 |W | l) | false = [], (l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: ⊦ W(t, l, v).W?; (s)
| (h0 |W | l) | false = [], (l1 = l ⊃ (W(t, l, v), boolvar) ';[]) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
Used terms: l, p, rs
| (h0 |W | l) | false = [], ([] | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
(h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: ⊦ [] | b = []; (s) ⊦ [] | l = []; (s)
| (h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e.l = l ⊃ (e, boolvar) ';[]) | false) + events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
e.l = l, (h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e, boolvar) ' | false) + events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
(h0 |W | l) | false = [], e.l ≠ l, p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events([] | false) + events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
| e.l = l, (h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((e, boolvar) ' | false) + events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
(h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(events((¬ boolvar ⊃ (e, false) ';[])) + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: ⊦ # x = 0 ↔ x = []; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ (e, b) ' | b0 = (b ↔ b0 ⊃ (e, b) ';[]); (s)
| (h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(events((¬ boolvar ⊃ (e, false) ';[])) + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
¬ boolvar, (h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(events((e, false) ') + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
boolvar, (h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(events([]) + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
| ¬ boolvar, (h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(events((e, false) ') + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
(h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(e ' + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: ⊦ events(vpe ') = vpe._1 '; (s)
| (h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(e ' + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
e = R(t, l, v), (h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(e ' + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: RWevent freely generated by R, W;; ⊦ W(t, l, v).l = l; (s) ⊦ W(t, l, v).W?; (s)
| e = R(t, l, v), (h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(e ' + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
(h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ¬ t ∈ rs(l) → FO(t) ∈ p(l), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: absloc-recR: ⊦ absloc(R(t, l, v) ' + el, rset, fowl) ↔ (¬ t ∈ rset → FO(t) ∈ fowl) ∧ absloc(el, rset, fowl); ⊦ # x = 0 ↔ x = []; (s) f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic ⊦ ¬ R(t, l, v).W?; (s) ⊦ R(t, l, v).l = l; (s) a: ⊦ (x + y) + z = x + y + z; from specification list
| (h0 |W | l) | false = [], p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ¬ t ∈ rs(l) → FO(t) ∈ p(l), ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
Used terms: l, p, rs
| boolvar, (h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(events([]) + events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
(h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ [] + x = x; (s) ⊦ events([]) = []; (s)
| (h0 |W | e.l) | false = [], p(e.l) ≠ [], firstPersistW(p(e.l)) < # p(e.l), absloc(events((h0 | e.l) | false), rs(e.l), p(e.l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
Used terms: e.l, p, rs
| (h0 |W | l) | false = [], e.l ≠ l, p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events([] | false) + events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
(h0 |W | l) | false = [], e.l ≠ l, p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦
Used simplifier rules: a: ⊦ (x + y) + z = x + y + z; from specification list ⊦ [] + x = x; (s) ⊦ events([]) = []; (s) ⊦ [] | b = []; (s)
| (h0 |W | l) | false = [], e.l ≠ l, p(l) ≠ [], firstPersistW(p(l)) < # p(l), absloc(events((h0 | l) | false), rs(l), p(l)), ¬ e.W?, ∀ l0, p0, rs0. (h0 |W | l0) | false ≠ [] ∨ p0(l0) = [] ∨ ¬ firstPersistW(p0(l0)) < # p0(l0) ∨ ¬ absloc(events((h0 | l0) | false), rs0(l0), p0(l0)) ⊦ |
Used terms: l, p, rs
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.