| ⊦ 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 = ∅, hP(h0 ∪ h2), h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0) ⊦
Used simplifier rules: ⊦ h0 ∪ ∅ = h0; (s)
| h1 ∪ h2 = ∅, hP(h0 ∪ h2), h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0) ⊦ |
h1 ∪ h2 = ∅, hP(h0 ∪ h2), h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0) ⊦ h1 = ∅ ∧ h2 = ∅
Used simplifier rules: ⊦ ∅ ∪ h = h; (s) ⊦ ∅ ⊥ h; (s) ⊦ h ⊥ ∅; (s) ⊦ h0 ∪ ∅ = h0; (s) Used formulas: h1 = ∅ ∧ h2 = ∅
| h1 ∪ h2 = ∅, hP(h0 ∪ h2), h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0) ⊦ h1 = ∅ ∧ h2 = ∅ |
⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r]))
hP(h0 ∪ h2), h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. (r ∈ h1 ∪ h2 ↔ r ∈ ∅) ∧ (r ∈ h1 ∪ h2 → (h1 ∪ h2)[r] = ∅[r]) ⊦ h1 = ∅ ∧ h2 = ∅
Used terms: ∅, h1 ∪ h2
| ⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r])) |
| hP(h0 ∪ h2), h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. (r ∈ h1 ∪ h2 ↔ r ∈ ∅) ∧ (r ∈ h1 ∪ h2 → (h1 ∪ h2)[r] = ∅[r]) ⊦ h1 = ∅ ∧ h2 = ∅ |
hP(h0 ∪ h2), h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ h1 = ∅ ∧ h2 = ∅
Used simplifier rules: ⊦ h0 ⊥ h1 → (r ∈ h0 ∪ h1 ↔ r ∈ h0 ∨ r ∈ h1); (s) ⊦ ¬ r ∈ ∅; (s)
| hP(h0 ∪ h2), h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ h1 = ∅ ∧ h2 = ∅ |
⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r]))
hP(h0 ∪ h2), h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ (∀ r. (r ∈ h1 ↔ r ∈ ∅) ∧ (r ∈ h1 → h1[r] = ∅[r])) ∧ h2 = ∅
Used terms: ∅, h1
| ⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r])) |
| hP(h0 ∪ h2), h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ (∀ r. (r ∈ h1 ↔ r ∈ ∅) ∧ (r ∈ h1 → h1[r] = ∅[r])) ∧ h2 = ∅ |
hP(h0 ∪ h2), h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ ¬ r ∈ h1 ∧ h2 = ∅
Used simplifier rules: ⊦ ¬ r ∈ ∅; (s)
| hP(h0 ∪ h2), h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ ¬ r ∈ h1 ∧ h2 = ∅ |
⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r]))
hP(h0 ∪ h2), h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ ¬ r ∈ h1 ∧ (∀ r. (r ∈ h2 ↔ r ∈ ∅) ∧ (r ∈ h2 → h2[r] = ∅[r]))
Used terms: ∅, h2
| ⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r])) |
| hP(h0 ∪ h2), h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ ¬ r ∈ h1 ∧ (∀ r. (r ∈ h2 ↔ r ∈ ∅) ∧ (r ∈ h2 → h2[r] = ∅[r])) |
hP(h0 ∪ h2), h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ ¬ r ∈ h1 ∧ ¬ r0 ∈ h2
Used simplifier rules: ⊦ ¬ r ∈ ∅; (s)
| hP(h0 ∪ h2), h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ ¬ r ∈ h1 ∧ ¬ r0 ∈ h2 |
hP(h0 ∪ h2), r ∈ h1, h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦
hP(h0 ∪ h2), r0 ∈ h2, h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦
| hP(h0 ∪ h2), r ∈ h1, h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ |
hP(h0 ∪ h2), r ∈ h1, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦
| hP(h0 ∪ h2), r ∈ h1, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ |
Used terms: r
| hP(h0 ∪ h2), r0 ∈ h2, h1 ⊥ h2, h0 ⊥ h1, h0 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ |
hP(h0 ∪ h2), r0 ∈ h2, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦
| hP(h0 ∪ h2), r0 ∈ h2, h0 ⊥ h2, h0 ⊥ h1, h1 ⊥ h2, ¬ hP(h0), ∀ r. ¬ r ∈ h1 ∧ ¬ r ∈ h2 ⊦ |
Used terms: r0
| 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.