| ⊦ t ∈ rset → (absloc(el + R(t, l, v) ', rset, fowl) ↔ absloc(el, rset, fowl)) |
¬(absloc(el + R(t, l, v) ', rset, fowl) ↔ absloc(el, rset, fowl)), t ∈ rset ⊦
| ¬(absloc(el + R(t, l, v) ', rset, fowl) ↔ absloc(el, rset, fowl)), t ∈ rset ⊦ |
# rset ≠ 0, ¬(absloc(el + R(t, l, v) ', rset, fowl) ↔ absloc(el, rset, fowl)), rset ≠ ∅, t ∈ rset ⊦
Used simplifier rules: size-zero-01: ⊦ s ≠ ∅ → # s ≠ 0; (forward) from specification set-basic ne-01: ⊦ a ∈ s → s ≠ ∅; (forward) from specification set-basic
| # rset ≠ 0, ¬(absloc(el + R(t, l, v) ', rset, fowl) ↔ absloc(el, rset, fowl)), rset ≠ ∅, t ∈ rset ⊦ |
# rset ≠ 0, ¬(absloc((e + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(e + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset, t, l, v, fowl. ¬(# rset ≠ 0 ∧ ¬(absloc(el0 + R(t, l, v) ', rset, fowl) ↔ absloc(el0, rset, fowl)) ∧ rset ≠ ∅ ∧ t ∈ rset) ⊦
Used simplifier rules: absloc-base: ⊦ absloc([], rset, fowl) ↔ fowl |W = []; absloc-recR-one: ⊦ absloc(R(t, l, v) ', rset, fowl) ↔ (¬ t ∈ rset → FO(t) ∈ fowl) ∧ fowl |W = []; List('a) freely generated by [], +;; ⊦ [] + x = x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list
| # rset ≠ 0, ¬(absloc((e + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(e + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset, t, l, v, fowl. ¬(# rset ≠ 0 ∧ ¬(absloc(el0 + R(t, l, v) ', rset, fowl) ↔ absloc(el0, rset, fowl)) ∧ rset ≠ ∅ ∧ t ∈ rset) ⊦ |
# rset ≠ 0, ¬(absloc((e ' + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(e ' + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦
Used simplifier rules: ⊦ a + x = a ' + x; (s) a: ⊦ (x + y) + z = x + y + z; from specification list
| # rset ≠ 0, ¬(absloc((e ' + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(e ' + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦ |
e = R(t1, l1, v1), # rset ≠ 0, ¬(absloc((e ' + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(e ' + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦
e = W(t1, l1, v1), # rset ≠ 0, ¬(absloc((e ' + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(e ' + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦
Used simplifier rules: RWevent freely generated by R, W;;
| e = R(t1, l1, v1), # rset ≠ 0, ¬(absloc((e ' + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(e ' + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦ |
# rset ≠ 0, ¬(absloc(el0 + R(t, l, v) ', rset, fowl) ↔ absloc(el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ¬ t1 ∈ rset → FO(t1) ∈ fowl, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦
Used simplifier rules: absloc-recR: ⊦ absloc(R(t, l, v) ' + el, rset, fowl) ↔ (¬ t ∈ rset → FO(t) ∈ fowl) ∧ absloc(el, rset, fowl); a: ⊦ (x + y) + z = x + y + z; from specification list
| # rset ≠ 0, ¬(absloc(el0 + R(t, l, v) ', rset, fowl) ↔ absloc(el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ¬ t1 ∈ rset → FO(t1) ∈ fowl, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦ |
Used terms: rset, t, l, v, fowl
| e = W(t1, l1, v1), # rset ≠ 0, ¬(absloc((e ' + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(e ' + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦ |
# rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦
| # rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fowl) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fowl)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦ |
# rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fow + fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fow + fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0, ∀ rset, t1, l1, v1, el0, t, l, v. ¬ ( # rset ≠ 0 ∧ ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fowl0)) ∧ rset ≠ ∅ ∧ t ∈ rset ∧ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0)) ⊦
Used simplifier rules: absloc-recW-empty: ⊦ ¬ absloc(W(t, l, v) ' + el, rset, []); List('a) freely generated by [], +;; a: ⊦ (x + y) + z = x + y + z; from specification list
| # rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fow + fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fow + fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0, ∀ rset, t1, l1, v1, el0, t, l, v. ¬ ( # rset ≠ 0 ∧ ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fowl0)) ∧ rset ≠ ∅ ∧ t ∈ rset ∧ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0)) ⊦ |
# rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fow ' + fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fow ' + fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0) ⊦
Used simplifier rules: ⊦ a + x = a ' + x; (s)
| # rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fow ' + fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fow ' + fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0) ⊦ |
fow = FO(t3), # rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fow ' + fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fow ' + fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0), ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦
fow = W(v3, t3), # rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fow ' + fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fow ' + fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0), ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦
Used simplifier rules: FOW freely generated by FO, W;;
| fow = FO(t3), # rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fow ' + fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fow ' + fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0), ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦ |
# rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0) ⊦
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
| # rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0) ⊦ |
Used terms: rset, t1, l1, v1, el0, t, l, v
| fow = W(v3, t3), # rset ≠ 0, ¬(absloc((W(t1, l1, v1) ' + el0) + R(t, l, v) ', rset, fow ' + fowl0) ↔ absloc(W(t1, l1, v1) ' + el0, rset, fow ' + fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0), ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦ |
# rset ≠ 0, ¬(absloc(el0 + R(t, l, v) ', rset, fowl0) ↔ absloc(el0, rset, fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0), ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦
Used simplifier rules: absloc-recW-W: ⊦ absloc(W(t, l, v) ' + el, rset, W(v0, t0) ' + fowl) ↔ t0 = t ∧ v0 = v ∧ absloc(el, rset, fowl); a: ⊦ (x + y) + z = x + y + z; from specification list
| # rset ≠ 0, ¬(absloc(el0 + R(t, l, v) ', rset, fowl0) ↔ absloc(el0, rset, fowl0)), rset ≠ ∅, t ∈ rset, ∀ rset0, t0, l0, v0, el, t2, l2, v2. # rset0 = 0 ∨ (absloc((W(t0, l0, v0) ' + el) + R(t2, l2, v2) ', rset0, fowl0) ↔ absloc(W(t0, l0, v0) ' + el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t2 ∈ rset0 ∨ ¬ (∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0), ∀ rset0, t0, l0, v0, fowl0. # rset0 = 0 ∨ (absloc(el0 + R(t0, l0, v0) ', rset0, fowl0) ↔ absloc(el0, rset0, fowl0)) ∨ rset0 = ∅ ∨ ¬ t0 ∈ rset0 ⊦ |
Used terms: rset, t, l, v, fowl0
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.