| ⊦ g(r) ≠ a ∧ g(r) ≠ a0 ∧ (a[hP] * a0[hP0] * hR)[rs, f, g] → (a[hP] * a0[hP0] * true)[rs, f(r; o), g] |
g(r) ≠ a0, g(r) ≠ a, (a[hP] * a0[hP0] * hR)[rs, f, g], ¬ (a[hP] * a0[hP0] * true)[rs, f(r; o), g] ⊦
| g(r) ≠ a0, g(r) ≠ a, (a[hP] * a0[hP0] * hR)[rs, f, g], ¬ (a[hP] * a0[hP0] * true)[rs, f(r; o), g] ⊦ |
⊦ (hR0 * hR1)[rs, f, g] ↔ (∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ hR0[rs0, f, g] ∧ hR1[rs1, f, g])
g(r) ≠ a0, g(r) ≠ a, ¬ (a[hP] * a0[hP0] * true)[rs, f(r; o), g], ∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ a[hP][rs0, f, g] ∧ (a0[hP0] * hR)[rs1, f, g] ⊦
Used terms: rs, a0[hP0] * hR, g, a[hP], f
| ⊦ (hR0 * hR1)[rs, f, g] ↔ (∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ hR0[rs0, f, g] ∧ hR1[rs1, f, g]) |
| g(r) ≠ a0, g(r) ≠ a, ¬ (a[hP] * a0[hP0] * true)[rs, f(r; o), g], ∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ a[hP][rs0, f, g] ∧ (a0[hP0] * hR)[rs1, f, g] ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], (a0[hP0] * hR)[rs1, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs1, f(r; o), g] ⊦
| rs0 ∩ rs1 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], (a0[hP0] * hR)[rs1, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs1, f(r; o), g] ⊦ |
⊦ (hR0 * hR1)[rs, f, g] ↔ (∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ hR0[rs0, f, g] ∧ hR1[rs1, f, g])
rs0 ∩ rs1 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs1, f(r; o), g], ∃ rs0, rs2. rs0 ∪ rs2 = rs1 ∧ rs0 ∩ rs2 = ∅ ∧ a0[hP0][rs0, f, g] ∧ hR[rs2, f, g] ⊦
Used terms: rs1, hR, g, a0[hP0], f
| ⊦ (hR0 * hR1)[rs, f, g] ↔ (∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ hR0[rs0, f, g] ∧ hR1[rs1, f, g]) |
| rs0 ∩ rs1 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs1, f(r; o), g], ∃ rs0, rs2. rs0 ∪ rs2 = rs1 ∧ rs0 ∩ rs2 = ∅ ∧ a0[hP0][rs0, f, g] ∧ hR[rs2, f, g] ⊦ |
rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], a[hP][rs0, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦
Used simplifier rules: int-c: ⊦ s ∩ s0 = s0 ∩ s; from specification set-union[refset] int-a: ⊦ (s ∩ s0) ∩ s1 = s ∩ s0 ∩ s1; from specification set-union[refset] unc: ⊦ s ∪ s0 = s0 ∪ s; from specification set-union[refset] una: ⊦ (s ∪ s0) ∪ s1 = s ∪ s0 ∪ s1; from specification set-union[refset] ⊦ s ∩ (s0 ∪ s1) = ∅ ↔ s ∩ s0 = ∅ ∧ s ∩ s1 = ∅; (ws)
| rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], a[hP][rs0, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ |
⊦ hR0[rs0, f, g] ∧ hR1[rs1, f, g] ∧ rs0 ∩ rs1 = ∅ → (hR0 * hR1)[rs0 ∪ rs1, f, g]
rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], hR[rs2, f, g], a0[hP0][rs, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ a[hP][rs0, f(r; o), g] ∧ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g] ∧ rs0 ∩ (rs ∪ rs2) = ∅
Used terms: rs0, a0[hP0] * true, g, a[hP], f(r; o), rs ∪ rs2
| ⊦ hR0[rs0, f, g] ∧ hR1[rs1, f, g] ∧ rs0 ∩ rs1 = ∅ → (hR0 * hR1)[rs0 ∪ rs1, f, g] |
| rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], hR[rs2, f, g], a0[hP0][rs, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ a[hP][rs0, f(r; o), g] ∧ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g] ∧ rs0 ∩ (rs ∪ rs2) = ∅ |
rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], a[hP][rs0, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ a[hP][rs0, f(r; o), g] ∧ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g]
Used simplifier rules: int-c: ⊦ s ∩ s0 = s0 ∩ s; from specification set-union[refset] int-a: ⊦ (s ∩ s0) ∩ s1 = s ∩ s0 ∩ s1; from specification set-union[refset] unc: ⊦ s ∪ s0 = s0 ∪ s; from specification set-union[refset] una: ⊦ (s ∪ s0) ∪ s1 = s ∪ s0 ∪ s1; from specification set-union[refset] ⊦ s ∩ (s0 ∪ s1) = ∅ ↔ s ∩ s0 = ∅ ∧ s ∩ s1 = ∅; (ws)
| rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], a[hP][rs0, f, g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ a[hP][rs0, f(r; o), g] ∧ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g] |
rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], hR[rs2, f, g], a0[hP0][rs, f, g], ¬ a[hP][rs0, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦
rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], hR[rs2, f, g], a0[hP0][rs, f, g], ¬ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦
| rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], hR[rs2, f, g], a0[hP0][rs, f, g], ¬ a[hP][rs0, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ |
⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g))
rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], a[hP](mk(rs0, f, g)), ¬ a[hP][rs0, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦
Used terms: g, f, rs0, a[hP]
| ⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g)) |
| rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], a[hP](mk(rs0, f, g)), ¬ a[hP][rs0, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, hR[rs2, f, g], a0[hP0][rs, f, g], hP(mk(rs0, f)), ¬ a[hP][rs0, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a ⊦
Used terms: a, hP, rs0, g, f
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, hR[rs2, f, g], a0[hP0][rs, f, g], hP(mk(rs0, f)), ¬ a[hP][rs0, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a ⊦ |
rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ a[hP][rs0, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a ⊦
| rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ a[hP][rs0, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a ⊦ |
⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g))
rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, hR[rs2, f, g], a0[hP0][rs, f, g], hP(mk(rs0, f)), ¬ a[hP](mk(rs0, f(r; o), g)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a ⊦
Used terms: g, f(r; o), rs0, a[hP]
| ⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g)) |
| rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, hR[rs2, f, g], a0[hP0][rs, f, g], hP(mk(rs0, f)), ¬ a[hP](mk(rs0, f(r; o), g)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a ⊦ |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ (∃ r. ¬(r ∈ rs0 → g(r) = a)) ⊦
Used terms: a, hP, rs0, g, f(r; o)
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ (∃ r. ¬(r ∈ rs0 → g(r) = a)) ⊦ |
rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, hR[rs2, f, g], a0[hP0][rs, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦
| rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, hR[rs2, f, g], a0[hP0][rs, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦ |
rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], r ∈ rs0 → g(r) = a, ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦
Used terms: r
| rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], r ∈ rs0 → g(r) = a, ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦ |
rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, hR[rs2, f, g], a0[hP0][rs, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦
| rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, hR[rs2, f, g], a0[hP0][rs, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦ |
mk(rs0, f(r; o)) = mk(rs0, f), rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦
rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, mk(rs0, f(r; o)) ≠ mk(rs0, f), a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦
Used formulas: mk(rs0, f(r; o)) = mk(rs0, f)
| mk(rs0, f(r; o)) = mk(rs0, f), rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦ |
mk(rs0, f(r; o)) = mk(rs0, f), rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a, g(r) ≠ a0, g(r0) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a ⊦
| mk(rs0, f(r; o)) = mk(rs0, f), rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a, g(r) ≠ a0, g(r0) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a ⊦ |
Used terms: r0
| rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, mk(rs0, f(r; o)) ≠ mk(rs0, f), a0[hP0][rs, f, g], hR[rs2, f, g], hP(mk(rs0, f)), ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → g(r0) = a) ⊦ |
⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r]))
Used simplifier rules: ⊦ r ∈ mk(rs, f) ↔ r ∈ rs; (s) ⊦ r ∈ rs → mk(rs, f)[r] = f(r); (s) Used terms: mk(rs0, f), mk(rs0, f(r; o))
| ⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r])) |
| rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], hR[rs2, f, g], a0[hP0][rs, f, g], ¬ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ |
⊦ g(r) ≠ a ∧ (a[hP] * hR)[rs, f, g] → (a[hP] * true)[rs, f(r; o), g]
rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], a[hP][rs0, f, g], ¬ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ g(r) ≠ a0 ∧ (a0[hP0] * true)[rs ∪ rs2, f, g]
Used terms: true, r, a0, hP0, rs ∪ rs2, g, f, o
| ⊦ g(r) ≠ a ∧ (a[hP] * hR)[rs, f, g] → (a[hP] * true)[rs, f(r; o), g] |
| rs ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs0 ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a0[hP0][rs, f, g], hR[rs2, f, g], a[hP][rs0, f, g], ¬ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g] ⊦ g(r) ≠ a0 ∧ (a0[hP0] * true)[rs ∪ rs2, f, g] |
rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], hR[rs2, f, g], a0[hP0][rs, f, g], ¬ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ (a0[hP0] * true)[rs ∪ rs2, f, g] ⊦
| rs0 ∩ rs2 = ∅, rs0 ∩ rs = ∅, rs ∩ rs2 = ∅, g(r) ≠ a0, g(r) ≠ a, a[hP][rs0, f, g], hR[rs2, f, g], a0[hP0][rs, f, g], ¬ (a0[hP0] * true)[rs ∪ rs2, f(r; o), g], ¬ (a[hP] * a0[hP0] * true)[rs0 ∪ rs ∪ rs2, f(r; o), g], ¬ (a0[hP0] * true)[rs ∪ rs2, f, g] ⊦ |
⊦ hR0[rs0, f, g] ∧ hR1[rs1, f, g] ∧ rs0 ∩ rs1 = ∅ → (hR0 * hR1)[rs0 ∪ rs1, f, g]
Used simplifier rules: ⊦ true[rs, f, g]; (s) Used terms: rs, true, g, a0[hP0], f, rs2
| ⊦ hR0[rs0, f, g] ∧ hR1[rs1, f, g] ∧ rs0 ∩ rs1 = ∅ → (hR0 * hR1)[rs0 ∪ rs1, f, g] |
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.