| ⊦ absloc(el, rset, fowl) → absloc(el, rset ++ t, fowl) |
absloc(el, rset, fowl), ¬ absloc(el, rset ++ t, fowl) ⊦
| absloc(el, rset, fowl), ¬ absloc(el, rset ++ t, fowl) ⊦ |
absloc(e + el0, rset, fowl), ¬ absloc(e + el0, rset ++ t, fowl), ∀ rset, fowl, t. ¬(absloc(el0, rset, fowl) ∧ ¬ absloc(el0, rset ++ t, fowl)) ⊦
Used simplifier rules: absloc-base: ⊦ absloc([], rset, fowl) ↔ fowl |W = []; List('a) freely generated by [], +;;
| absloc(e + el0, rset, fowl), ¬ absloc(e + el0, rset ++ t, fowl), ∀ rset, fowl, t. ¬(absloc(el0, rset, fowl) ∧ ¬ absloc(el0, rset ++ t, fowl)) ⊦ |
absloc(e ' + el0, rset, fowl), ¬ absloc(e ' + el0, rset ++ t, fowl), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦
Used simplifier rules: ⊦ a + x = a ' + x; (s)
| absloc(e ' + el0, rset, fowl), ¬ absloc(e ' + el0, rset ++ t, fowl), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ |
e = R(t1, l, v), absloc(e ' + el0, rset, fowl), ¬ absloc(e ' + el0, rset ++ t, fowl), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦
e = W(t1, l, v), absloc(e ' + el0, rset, fowl), ¬ absloc(e ' + el0, rset ++ t, fowl), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦
Used simplifier rules: RWevent freely generated by R, W;;
| e = R(t1, l, v), absloc(e ' + el0, rset, fowl), ¬ absloc(e ' + el0, rset ++ t, fowl), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ |
absloc(el0, rset, fowl), ¬ t1 ∈ rset → FO(t1) ∈ fowl, ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ (t1 ≠ t ∧ ¬ t1 ∈ rset → FO(t1) ∈ fowl) ∧ absloc(el0, rset ++ t, fowl)
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 ⊦ a ∈ s ++ b ↔ a = b ∨ a ∈ s; (s)
| absloc(el0, rset, fowl), ¬ t1 ∈ rset → FO(t1) ∈ fowl, ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ (t1 ≠ t ∧ ¬ t1 ∈ rset → FO(t1) ∈ fowl) ∧ absloc(el0, rset ++ t, fowl) |
absloc(el0, rset, fowl), ¬ absloc(el0, rset ++ t, fowl), ¬ t1 ∈ rset → FO(t1) ∈ fowl, ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ (t1 ≠ t ∧ ¬ t1 ∈ rset → FO(t1) ∈ fowl) ∧ absloc(el0, rset ++ t, fowl)
Used formulas: absloc(el0, rset ++ t, fowl)
| absloc(el0, rset, fowl), ¬ absloc(el0, rset ++ t, fowl), ¬ t1 ∈ rset → FO(t1) ∈ fowl, ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ (t1 ≠ t ∧ ¬ t1 ∈ rset → FO(t1) ∈ fowl) ∧ absloc(el0, rset ++ t, fowl) |
absloc(el0, rset, fowl), ¬ absloc(el0, rset ++ t, fowl), ¬ t1 ∈ rset → FO(t1) ∈ fowl, ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦
| absloc(el0, rset, fowl), ¬ absloc(el0, rset ++ t, fowl), ¬ t1 ∈ rset → FO(t1) ∈ fowl, ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ |
Used terms: rset, fowl, t
| e = W(t1, l, v), absloc(e ' + el0, rset, fowl), ¬ absloc(e ' + el0, rset ++ t, fowl), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ |
absloc(W(t1, l, v) ' + el0, rset, fowl), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fowl), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦
| absloc(W(t1, l, v) ' + el0, rset, fowl), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fowl), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ |
absloc(W(t1, l, v) ' + el0, rset, fow + fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fow + fowl0), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0), ∀ t1, l, v, el0, rset, t. ¬ ( absloc(W(t1, l, v) ' + el0, rset, fowl0) ∧ ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fowl0) ∧ (∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0))) ⊦
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
| absloc(W(t1, l, v) ' + el0, rset, fow + fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fow + fowl0), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0), ∀ t1, l, v, el0, rset, t. ¬ ( absloc(W(t1, l, v) ' + el0, rset, fowl0) ∧ ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fowl0) ∧ (∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0))) ⊦ |
absloc(W(t1, l, v) ' + el0, rset, fow ' + fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fow ' + fowl0), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, fowl0)) ⊦
Used simplifier rules: ⊦ a + x = a ' + x; (s)
| absloc(W(t1, l, v) ' + el0, rset, fow ' + fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fow ' + fowl0), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, fowl0)) ⊦ |
fow = FO(t3), absloc(W(t1, l, v) ' + el0, rset, fow ' + fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fow ' + fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, fowl0)), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦
fow = W(v1, t3), absloc(W(t1, l, v) ' + el0, rset, fow ' + fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fow ' + fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, fowl0)), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦
Used simplifier rules: FOW freely generated by FO, W;;
| fow = FO(t3), absloc(W(t1, l, v) ' + el0, rset, fow ' + fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fow ' + fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, fowl0)), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ |
absloc(W(t1, l, v) ' + el0, rset, fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fowl0), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, 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
| absloc(W(t1, l, v) ' + el0, rset, fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fowl0), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, fowl0)) ⊦ |
Used terms: t1, l, v, el0, rset, t
| fow = W(v1, t3), absloc(W(t1, l, v) ' + el0, rset, fow ' + fowl0), ¬ absloc(W(t1, l, v) ' + el0, rset ++ t, fow ' + fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, fowl0)), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ |
absloc(el0, rset, fowl0), ¬ absloc(el0, rset ++ t, fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, fowl0)), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦
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
| absloc(el0, rset, fowl0), ¬ absloc(el0, rset ++ t, fowl0), ∀ t0, l0, v0, el, rset0, t2. ¬ absloc(W(t0, l0, v0) ' + el, rset0, fowl0) ∨ absloc(W(t0, l0, v0) ' + el, rset0 ++ t2, fowl0) ∨ ¬(∀ rset0, fowl0, t0. ¬ absloc(el, rset0, fowl0) ∨ absloc(el, rset0 ++ t0, fowl0)), ∀ rset0, fowl0, t0. ¬ absloc(el0, rset0, fowl0) ∨ absloc(el0, rset0 ++ t0, fowl0) ⊦ |
Used terms: rset, fowl0, t
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.