| ⊦ hP ⊗ emp = hP |
hP ⊗ emp ≠ hP ⊦
| hP ⊗ emp ≠ hP ⊦ |
¬((hP ⊗ emp)(h) ↔ hP(h)) ⊦
| ¬((hP ⊗ emp)(h) ↔ hP(h)) ⊦ |
⊦ (hP0 ⊗ hP1)(h) ↔ (∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP0(h0 ∪ h2) ∧ hP1(h1 ∪ h2))
⊦ (∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP(h0 ∪ h2) ∧ emp(h1 ∪ h2)) ↔ hP(h)
Used terms: h, emp, hP
| ⊦ (hP0 ⊗ hP1)(h) ↔ (∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP0(h0 ∪ h2) ∧ hP1(h1 ∪ h2)) |
| ⊦ (∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP(h0 ∪ h2) ∧ emp(h1 ∪ h2)) ↔ hP(h) |
⊦ (∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP(h0 ∪ h2) ∧ h1 ∪ h2 = ∅) ↔ hP(h)
Used simplifier rules: emp: ⊦ emp(h) ↔ h = ∅;
| ⊦ (∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP(h0 ∪ h2) ∧ h1 ∪ h2 = ∅) ↔ hP(h) |
¬ hP(h), ∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP(h0 ∪ h2) ∧ h1 ∪ h2 = ∅ ⊦
hP(h) ⊦ ∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP(h0 ∪ h2) ∧ h1 ∪ h2 = ∅
| ¬ hP(h), ∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP(h0 ∪ h2) ∧ h1 ∪ h2 = ∅ ⊦ |
h1 ∪ h2 = ∅, h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0) ⊦
Used simplifier rules: ⊦ h0 ∪ ∅ = h0; (s)
| h1 ∪ h2 = ∅, h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0) ⊦ |
h1 ∪ h2 = ∅, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0) ⊦ h1 = ∅ ∧ h2 = ∅
Used simplifier rules: ⊦ ∅ ∪ h = h; (s) ⊦ h0 ∪ ∅ = h0; (s) ⊦ ∅ ⊥ h; (s) ⊦ h ⊥ ∅; (s) Used formulas: h1 = ∅ ∧ h2 = ∅
| h1 ∪ h2 = ∅, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0) ⊦ h1 = ∅ ∧ h2 = ∅ |
⊦ st1 = st2 ↔ (∀ a. (a ∈ st1 ↔ a ∈ st2) ∧ (a ∈ st1 → st1(a) = st2(a)))
h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. (a ∈ h1 ∪ h2 ↔ a ∈ ∅) ∧ (a ∈ h1 ∪ h2 → (h1 ∪ h2)(a) = ∅(a)) ⊦ h1 = ∅ ∧ h2 = ∅
Used terms: h1 ∪ h2, ∅, h1 ∪ h2, ∅
| ⊦ st1 = st2 ↔ (∀ a. (a ∈ st1 ↔ a ∈ st2) ∧ (a ∈ st1 → st1(a) = st2(a))) |
| h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. (a ∈ h1 ∪ h2 ↔ a ∈ ∅) ∧ (a ∈ h1 ∪ h2 → (h1 ∪ h2)(a) = ∅(a)) ⊦ h1 = ∅ ∧ h2 = ∅ |
h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ h1 = ∅ ∧ h2 = ∅
Used simplifier rules: ⊦ h0 ⊥ h1 → (r ∈ h0 ∪ h1 ↔ r ∈ h0 ∨ r ∈ h1); (s) ⊦ ¬ a ∈ ∅; (s)
| h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ h1 = ∅ ∧ h2 = ∅ |
⊦ st1 = st2 ↔ (∀ a. (a ∈ st1 ↔ a ∈ st2) ∧ (a ∈ st1 → st1(a) = st2(a)))
h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ (∀ a. (a ∈ h1 ↔ a ∈ ∅) ∧ (a ∈ h1 → h1(a) = ∅(a))) ∧ h2 = ∅
Used terms: h1, ∅, h1, ∅
| ⊦ st1 = st2 ↔ (∀ a. (a ∈ st1 ↔ a ∈ st2) ∧ (a ∈ st1 → st1(a) = st2(a))) |
| h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ (∀ a. (a ∈ h1 ↔ a ∈ ∅) ∧ (a ∈ h1 → h1(a) = ∅(a))) ∧ h2 = ∅ |
h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ ¬ a ∈ h1 ∧ h2 = ∅
Used simplifier rules: ⊦ ¬ a ∈ ∅; (s)
| h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ ¬ a ∈ h1 ∧ h2 = ∅ |
⊦ st1 = st2 ↔ (∀ a. (a ∈ st1 ↔ a ∈ st2) ∧ (a ∈ st1 → st1(a) = st2(a)))
h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ ¬ a ∈ h1 ∧ (∀ a. (a ∈ h2 ↔ a ∈ ∅) ∧ (a ∈ h2 → h2(a) = ∅(a)))
Used terms: h2, ∅, h2, ∅
| ⊦ st1 = st2 ↔ (∀ a. (a ∈ st1 ↔ a ∈ st2) ∧ (a ∈ st1 → st1(a) = st2(a))) |
| h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ ¬ a ∈ h1 ∧ (∀ a. (a ∈ h2 ↔ a ∈ ∅) ∧ (a ∈ h2 → h2(a) = ∅(a))) |
h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ ¬ a ∈ h1 ∧ ¬ a0 ∈ h2
Used simplifier rules: ⊦ ¬ a ∈ ∅; (s)
| h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ ¬ a ∈ h1 ∧ ¬ a0 ∈ h2 |
a ∈ h1, h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦
a0 ∈ h2, h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦
| a ∈ h1, h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ |
a ∈ h1, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦
| a ∈ h1, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ |
Used terms: a
| a0 ∈ h2, h0 ⊥ h1, h0 ⊥ h2, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ |
a0 ∈ h2, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦
| a0 ∈ h2, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, hP(h0 ∪ h2), ¬ hP(h0), ∀ a. ¬ a ∈ h1 ∧ ¬ a ∈ h2 ⊦ |
Used terms: a0
| hP(h) ⊦ ∃ h0, h1, h2. h0 ⊥ h2 ∧ h0 ⊥ h1 ∧ h1 ⊥ h2 ∧ h = h0 ∪ h1 ∪ h2 ∧ hP(h0 ∪ h2) ∧ h1 ∪ h2 = ∅ |
Used simplifier rules: ⊦ h ⊥ ∅; (s) ⊦ ∅ ⊥ h; (s) ⊦ h0 ∪ ∅ = h0; (s) ⊦ ∅ ∪ h = h; (s) Used terms: 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.