| ⊦ g(r) ≠ a ∧ (a[hP] * hR)[rs, f, g] → (a[hP] * true)[rs, f(r; o), g(r; a0)] |
g(r) ≠ a, (a[hP] * hR)[rs, f, g], ¬ (a[hP] * true)[rs, f(r; o), g(r; a0)] ⊦
| g(r) ≠ a, (a[hP] * hR)[rs, f, g], ¬ (a[hP] * true)[rs, f(r; o), g(r; a0)] ⊦ |
g(r) ≠ a, (a[hP] * hR)[rs, f, g], ¬ (a[hP] * true)[rs, f(r; o), g(r; a0)] ⊦
| g(r) ≠ a, (a[hP] * hR)[rs, f, g], ¬ (a[hP] * true)[rs, f(r; o), g(r; a0)] ⊦ |
⊦ (hR0 * hR1)[rs, f, g] ↔ (∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ hR0[rs0, f, g] ∧ hR1[rs1, f, g])
g(r) ≠ a, ¬ (a[hP] * true)[rs, f(r; o), g(r; a0)], ∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ a[hP][rs0, f, g] ∧ hR[rs1, f, g] ⊦
Used terms: rs, 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) ≠ a, ¬ (a[hP] * true)[rs, f(r; o), g(r; a0)], ∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ a[hP][rs0, f, g] ∧ hR[rs1, f, g] ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP][rs0, f, g], hR[rs1, f, g], ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)] ⊦
| rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP][rs0, f, g], hR[rs1, f, g], ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)] ⊦ |
⊦ hR0[rs0, f, g] ∧ hR1[rs1, f, g] ∧ rs0 ∩ rs1 = ∅ → (hR0 * hR1)[rs0 ∪ rs1, f, g]
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], a[hP][rs0, f, g], ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)] ⊦ a[hP][rs0, f(r; o), g(r; a0)] ∧ true[rs1, f(r; o), g(r; a0)] ∧ rs0 ∩ rs1 = ∅
Used terms: rs0, true, g(r; a0), a[hP], f(r; o), rs1
| ⊦ hR0[rs0, f, g] ∧ hR1[rs1, f, g] ∧ rs0 ∩ rs1 = ∅ → (hR0 * hR1)[rs0 ∪ rs1, f, g] |
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], a[hP][rs0, f, g], ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)] ⊦ a[hP][rs0, f(r; o), g(r; a0)] ∧ true[rs1, f(r; o), g(r; a0)] ∧ rs0 ∩ rs1 = ∅ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP][rs0, f, g], hR[rs1, f, g], ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP][rs0, f(r; o), g(r; a0)] ⊦
Used simplifier rules: ⊦ true[rs, f, g]; (s)
| rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP][rs0, f, g], hR[rs1, f, g], ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP][rs0, f(r; o), g(r; a0)] ⊦ |
⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g))
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], a[hP](mk(rs0, f, g)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP][rs0, f(r; o), g(r; a0)] ⊦
Used terms: g, f, rs0, a[hP]
| ⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g)) |
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], a[hP](mk(rs0, f, g)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP][rs0, f(r; o), g(r; a0)] ⊦ |
⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g))
rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP](mk(rs0, f, g)), hR[rs1, f, g], ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP](mk(rs0, f(r; o), g(r; a0))) ⊦
Used terms: g(r; a0), f(r; o), rs0, a[hP]
| ⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g)) |
| rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP](mk(rs0, f, g)), hR[rs1, f, g], ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP](mk(rs0, f(r; o), g(r; a0))) ⊦ |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP](mk(rs0, f(r; o), g(r; a0))), ∀ 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 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP](mk(rs0, f(r; o), g(r; a0))), ∀ r. r ∈ rs0 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP](mk(rs0, f(r; o), g(r; a0))), ∀ r. r ∈ rs0 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ a[hP](mk(rs0, f(r; o), g(r; a0))), ∀ r. r ∈ rs0 → g(r) = a ⊦ |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ (∃ r0. ¬(r0 ∈ rs0 → g(r; a0)(r0) = a)) ⊦
Used terms: a, hP, rs0, g(r; a0), f(r; o)
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ (∃ r0. ¬(r0 ∈ rs0 → g(r; a0)(r0) = a)) ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → (r = r0 ⊃ a0;g(r0)) = a) ⊦
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a, ¬ hP(mk(rs0, f(r; o))) ∨ ¬(r0 ∈ rs0 → (r = r0 ⊃ a0;g(r0)) = a) ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ∀ r. r ∈ rs0 → g(r) = a ⊦
rs0 ∩ rs1 = ∅, (r = r0 ⊃ a0;g(r0)) ≠ a, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ∀ r. r ∈ rs0 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ∀ r. r ∈ rs0 → g(r) = a ⊦
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a ⊦
Used formulas: r ∈ rs0
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ∀ r. r ∈ rs0 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ∀ r. r ∈ rs0 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ∀ r. r ∈ rs0 → g(r) = a ⊦ |
Used terms: r
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, mk(rs0, f(r; o)) ≠ mk(rs0, f), hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = a ⊦
Used formulas: mk(rs0, f(r; o)) = mk(rs0, f)
| rs0 ∩ rs1 = ∅, g(r) ≠ a, mk(rs0, f(r; o)) ≠ mk(rs0, f), hR[rs1, f, g], hP(mk(rs0, f)), ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ¬ hP(mk(rs0, f(r; o))), ¬ r ∈ rs0, ∀ r. r ∈ rs0 → g(r) = 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 ∩ rs1 = ∅, (r = r0 ⊃ a0;g(r0)) ≠ a, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, (r = r0 ⊃ a0;g(r0)) ≠ a, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, (r = r0 ⊃ a0;g(r0)) ≠ a, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦ |
r = r0, rs0 ∩ rs1 = ∅, a0 ≠ a, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦
rs0 ∩ rs1 = ∅, g(r0) ≠ a, g(r) ≠ a, r ≠ r0, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦
| r = r0, rs0 ∩ rs1 = ∅, a0 ≠ a, g(r) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, a0 ≠ a, g(r0) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r0; o), g(r0; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, a0 ≠ a, g(r0) ≠ a, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r0; o), g(r0; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦ |
Used terms: r0
| rs0 ∩ rs1 = ∅, g(r0) ≠ a, g(r) ≠ a, r ≠ r0, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, g(r0) ≠ a, g(r) ≠ a, r ≠ r0, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, g(r0) ≠ a, g(r) ≠ a, r ≠ r0, hR[rs1, f, g], hP(mk(rs0, f)), r0 ∈ rs0, ¬ (a[hP] * true)[rs0 ∪ rs1, f(r; o), g(r; a0)], ∀ r. r ∈ rs0 → g(r) = a ⊦ |
Used terms: r0
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.