| ⊦ hP0 -* hP1 -* hP2 = hP0 * hP1 -* hP2 |
hP0 -* hP1 -* hP2 ≠ hP0 * hP1 -* hP2 ⊦
| hP0 -* hP1 -* hP2 ≠ hP0 * hP1 -* hP2 ⊦ |
¬(((hP0 -* hP1 -* hP2))(h) ↔ ((hP0 * hP1 -* hP2))(h)) ⊦
| ¬(((hP0 -* hP1 -* hP2))(h) ↔ ((hP0 * hP1 -* hP2))(h)) ⊦ |
((hP0 -* hP1 -* hP2))(h), ¬ ((hP0 * hP1 -* hP2))(h) ⊦
((hP0 * hP1 -* hP2))(h), ¬ ((hP0 -* hP1 -* hP2))(h) ⊦
| ((hP0 -* hP1 -* hP2))(h), ¬ ((hP0 * hP1 -* hP2))(h) ⊦ |
⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h))
((hP0 -* hP1 -* hP2))(h), ∃ h1. ¬(h1 ⊥ h ∧ ((hP0 * hP1))(h1) → hP2(h1 ∪ h)) ⊦
Used terms: h, hP2, hP0 * hP1
| ⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h)) |
| ((hP0 -* hP1 -* hP2))(h), ∃ h1. ¬(h1 ⊥ h ∧ ((hP0 * hP1))(h1) → hP2(h1 ∪ h)) ⊦ |
((hP0 * hP1))(h1), ((hP0 -* hP1 -* hP2))(h), h1 ⊥ h, ¬ hP2(h1 ∪ h) ⊦
| ((hP0 * hP1))(h1), ((hP0 -* hP1 -* hP2))(h), h1 ⊥ h, ¬ hP2(h1 ∪ h) ⊦ |
⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h))
((hP0 * hP1))(h1), h1 ⊥ h, ¬ hP2(h1 ∪ h), ∀ h1. h1 ⊥ h ∧ hP0(h1) → ((hP1 -* hP2))(h1 ∪ h) ⊦
Used terms: h, hP1 -* hP2, hP0
| ⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h)) |
| ((hP0 * hP1))(h1), h1 ⊥ h, ¬ hP2(h1 ∪ h), ∀ h1. h1 ⊥ h ∧ hP0(h1) → ((hP1 -* hP2))(h1 ∪ h) ⊦ |
⊦ ((hP0 * hP1))(h) ↔ (∃ h0, h1. h0 ⊥ h1 ∧ h = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1))
h1 ⊥ h, ¬ hP2(h1 ∪ h), ∀ h1. h1 ⊥ h ∧ hP0(h1) → ((hP1 -* hP2))(h1 ∪ h), ∃ h0, h2. h0 ⊥ h2 ∧ h1 = h0 ∪ h2 ∧ hP0(h0) ∧ hP1(h2) ⊦
Used terms: h1, hP1, hP0
| ⊦ ((hP0 * hP1))(h) ↔ (∃ h0, h1. h0 ⊥ h1 ∧ h = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1)) |
| h1 ⊥ h, ¬ hP2(h1 ∪ h), ∀ h1. h1 ⊥ h ∧ hP0(h1) → ((hP1 -* hP2))(h1 ∪ h), ∃ h0, h2. h0 ⊥ h2 ∧ h1 = h0 ∪ h2 ∧ hP0(h0) ∧ hP1(h2) ⊦ |
hP0(h0), hP1(h2), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), ∀ h1. h1 ⊥ h ∧ hP0(h1) → ((hP1 -* hP2))(h1 ∪ h) ⊦
Used simplifier rules: ⊦ h1 ⊥ h2 → (h1 ∪ h2 ⊥ h0 ↔ h0 ⊥ h1 ∧ h0 ⊥ h2); (ws)
| hP0(h0), hP1(h2), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), ∀ h1. h1 ⊥ h ∧ hP0(h1) → ((hP1 -* hP2))(h1 ∪ h) ⊦ |
hP0(h0), hP1(h2), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), h0 ⊥ h ∧ hP0(h0) → ((hP1 -* hP2))(h0 ∪ h) ⊦
Used terms: h0
| hP0(h0), hP1(h2), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), h0 ⊥ h ∧ hP0(h0) → ((hP1 -* hP2))(h0 ∪ h) ⊦ |
((hP1 -* hP2))(h0 ∪ h), hP0(h0), hP1(h2), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h) ⊦
Used simplifier rules: ⊦ h0 ⊥ h1 → h1 ⊥ h0; (s)
| ((hP1 -* hP2))(h0 ∪ h), hP0(h0), hP1(h2), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h) ⊦ |
⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h))
hP0(h0), hP1(h2), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), ∀ h1. h1 ⊥ h0 ∪ h ∧ hP1(h1) → hP2(h1 ∪ h0 ∪ h) ⊦
Used terms: h0 ∪ h, hP2, hP1
| ⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h)) |
| hP0(h0), hP1(h2), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), ∀ h1. h1 ⊥ h0 ∪ h ∧ hP1(h1) → hP2(h1 ∪ h0 ∪ h) ⊦ |
hP0(h0), hP1(h2), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), h2 ⊥ h0 ∪ h ∧ hP1(h2) → hP2(h2 ∪ h0 ∪ h) ⊦
Used terms: h2
| hP0(h0), hP1(h2), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), h2 ⊥ h0 ∪ h ∧ hP1(h2) → hP2(h2 ∪ h0 ∪ h) ⊦ |
hP0(h0), hP1(h2), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), h2 ⊥ h0 ∪ h → hP2(h2 ∪ h0 ∪ h) ⊦
| hP0(h0), hP1(h2), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h), h2 ⊥ h0 ∪ h → hP2(h2 ∪ h0 ∪ h) ⊦ |
⊦ h1 ⊥ h → (h0 ⊥ h1 ∪ h ↔ h0 ⊥ h1 ∧ h0 ⊥ h)
hP0(h0), hP1(h2), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, h0 ⊥ h, ¬ hP2((h0 ∪ h2) ∪ h), h2 ⊥ h0 ∧ h2 ⊥ h → hP2(h2 ∪ h0 ∪ h) ⊦
Used simplifier rules: ⊦ h0 ⊥ h1 → h1 ⊥ h0; (s) Used terms: h, h0, h2
| ⊦ h1 ⊥ h → (h0 ⊥ h1 ∪ h ↔ h0 ⊥ h1 ∧ h0 ⊥ h) |
| hP0(h0), hP1(h2), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, h0 ⊥ h, ¬ hP2((h0 ∪ h2) ∪ h), h2 ⊥ h0 ∧ h2 ⊥ h → hP2(h2 ∪ h0 ∪ h) ⊦ |
hP0(h0), hP1(h2), hP2(h2 ∪ h0 ∪ h), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h) ⊦
Used simplifier rules: ⊦ h0 ⊥ h1 → h1 ⊥ h0; (s)
| hP0(h0), hP1(h2), hP2(h2 ∪ h0 ∪ h), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h0 ∪ h2) ∪ h) ⊦ |
⊦ h0 ⊥ h1 → h1 ∪ h0 = h0 ∪ h1
hP0(h0), hP1(h2), hP2(h2 ∪ h0 ∪ h), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, h2 ⊥ h0, ¬ hP2((h2 ∪ h0) ∪ h) ⊦
Used simplifier rules: ⊦ h0 ⊥ h1 → h1 ⊥ h0; (s) Used terms: h2, h0
| ⊦ h0 ⊥ h1 → h1 ∪ h0 = h0 ∪ h1 |
| hP0(h0), hP1(h2), hP2(h2 ∪ h0 ∪ h), h0 ⊥ h2, h ⊥ h0, h ⊥ h2, h2 ⊥ h0, ¬ hP2((h2 ∪ h0) ∪ h) ⊦ |
hP0(h0), hP1(h2), hP2(h2 ∪ h0 ∪ h), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h2 ∪ h0) ∪ h) ⊦
Used simplifier rules: ⊦ h0 ⊥ h1 → h1 ⊥ h0; (s)
| hP0(h0), hP1(h2), hP2(h2 ∪ h0 ∪ h), h ⊥ h2, h ⊥ h0, h0 ⊥ h2, ¬ hP2((h2 ∪ h0) ∪ h) ⊦ |
⊦ h0 ⊥ h1 ∧ h1 ⊥ h ∧ h ⊥ h0 → (h0 ∪ h1) ∪ h = h0 ∪ h1 ∪ h
Used simplifier rules: ⊦ h0 ⊥ h1 → h1 ⊥ h0; (s) Used terms: h, h0, h2
| ⊦ h0 ⊥ h1 ∧ h1 ⊥ h ∧ h ⊥ h0 → (h0 ∪ h1) ∪ h = h0 ∪ h1 ∪ h |
| ((hP0 * hP1 -* hP2))(h), ¬ ((hP0 -* hP1 -* hP2))(h) ⊦ |
⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h))
((hP0 * hP1 -* hP2))(h), ∃ h1. ¬(h1 ⊥ h ∧ hP0(h1) → ((hP1 -* hP2))(h1 ∪ h)) ⊦
Used terms: h, hP1 -* hP2, hP0
| ⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h)) |
| ((hP0 * hP1 -* hP2))(h), ∃ h1. ¬(h1 ⊥ h ∧ hP0(h1) → ((hP1 -* hP2))(h1 ∪ h)) ⊦ |
((hP0 * hP1 -* hP2))(h), hP0(h1), h1 ⊥ h, ¬ ((hP1 -* hP2))(h1 ∪ h) ⊦
| ((hP0 * hP1 -* hP2))(h), hP0(h1), h1 ⊥ h, ¬ ((hP1 -* hP2))(h1 ∪ h) ⊦ |
⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h))
((hP0 * hP1 -* hP2))(h), hP0(h1), h1 ⊥ h, ∃ h0. ¬(h0 ⊥ h1 ∪ h ∧ hP1(h0) → hP2(h0 ∪ h1 ∪ h)) ⊦
Used terms: h1 ∪ h, hP2, hP1
| ⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h)) |
| ((hP0 * hP1 -* hP2))(h), hP0(h1), h1 ⊥ h, ∃ h0. ¬(h0 ⊥ h1 ∪ h ∧ hP1(h0) → hP2(h0 ∪ h1 ∪ h)) ⊦ |
((hP0 * hP1 -* hP2))(h), hP0(h1), hP1(h0), h1 ⊥ h, h0 ⊥ h1, h0 ⊥ h, ¬ hP2(h0 ∪ h1 ∪ h) ⊦
Used simplifier rules: ⊦ h1 ⊥ h → (h0 ⊥ h1 ∪ h ↔ h0 ⊥ h1 ∧ h0 ⊥ h); (ws)
| ((hP0 * hP1 -* hP2))(h), hP0(h1), hP1(h0), h1 ⊥ h, h0 ⊥ h1, h0 ⊥ h, ¬ hP2(h0 ∪ h1 ∪ h) ⊦ |
⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h))
hP0(h1), hP1(h0), h0 ⊥ h, h0 ⊥ h1, h1 ⊥ h, ¬ hP2(h0 ∪ h1 ∪ h), ∀ h1. h1 ⊥ h ∧ ((hP0 * hP1))(h1) → hP2(h1 ∪ h) ⊦
Used terms: h, hP2, hP0 * hP1
| ⊦ ((hP0 -* hP1))(h) ↔ (∀ h1. h1 ⊥ h ∧ hP0(h1) → hP1(h1 ∪ h)) |
| hP0(h1), hP1(h0), h0 ⊥ h, h0 ⊥ h1, h1 ⊥ h, ¬ hP2(h0 ∪ h1 ∪ h), ∀ h1. h1 ⊥ h ∧ ((hP0 * hP1))(h1) → hP2(h1 ∪ h) ⊦ |
hP0(h1), hP1(h0), h1 ⊥ h, h0 ⊥ h1, h0 ⊥ h, ¬ hP2(h0 ∪ h1 ∪ h), h0 ∪ h1 ⊥ h ∧ ((hP0 * hP1))(h0 ∪ h1) → hP2((h0 ∪ h1) ∪ h) ⊦
Used terms: h0 ∪ h1
| hP0(h1), hP1(h0), h1 ⊥ h, h0 ⊥ h1, h0 ⊥ h, ¬ hP2(h0 ∪ h1 ∪ h), h0 ∪ h1 ⊥ h ∧ ((hP0 * hP1))(h0 ∪ h1) → hP2((h0 ∪ h1) ∪ h) ⊦ |
hP0(h1), hP1(h0), h0 ⊥ h, h0 ⊥ h1, h1 ⊥ h, ¬ hP2(h0 ∪ h1 ∪ h), h0 ∪ h1 ⊥ h → hP2((h0 ∪ h1) ∪ h) ⊦
Used simplifier rules: split-union: ⊦ hP0(h0) ∧ hP1(h1) ∧ h0 ⊥ h1 → ((hP0 * hP1))(h0 ∪ h1); sep-ass: ⊦ (hP0 * hP1) * hP2 = hP0 * hP1 * hP2; sep-com: ⊦ hP0 * hP1 = hP1 * hP0;
| hP0(h1), hP1(h0), h0 ⊥ h, h0 ⊥ h1, h1 ⊥ h, ¬ hP2(h0 ∪ h1 ∪ h), h0 ∪ h1 ⊥ h → hP2((h0 ∪ h1) ∪ h) ⊦ |
⊦ h0 ⊥ h1 ∧ h1 ⊥ h ∧ h ⊥ h0 → (h0 ∪ h1) ∪ h = h0 ∪ h1 ∪ h
Used simplifier rules: ⊦ h1 ⊥ h2 → (h1 ∪ h2 ⊥ h0 ↔ h0 ⊥ h1 ∧ h0 ⊥ h2); (ss) ⊦ h0 ⊥ h1 → h1 ⊥ h0; (s) Used terms: h, h1, h0
| ⊦ h0 ⊥ h1 ∧ h1 ⊥ h ∧ h ⊥ h0 → (h0 ∪ h1) ∪ h = h0 ∪ h1 ∪ h |
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.