| ⊦ a[hP0 * hP1] = a[hP0] * a[hP1] |
a[hP0 * hP1] ≠ a[hP0] * a[hP1] ⊦
| a[hP0 * hP1] ≠ a[hP0] * a[hP1] ⊦ |
⊦ hR0 = hR1 ↔ (∀ rs, f, g. hR0[rs, f, g] ↔ hR1[rs, f, g])
∃ rs, f, g. ¬(a[hP0 * hP1][rs, f, g] ↔ (a[hP0] * a[hP1])[rs, f, g]) ⊦
Used terms: a[hP0] * a[hP1], a[hP0 * hP1]
| ⊦ hR0 = hR1 ↔ (∀ rs, f, g. hR0[rs, f, g] ↔ hR1[rs, f, g]) |
| ∃ rs, f, g. ¬(a[hP0 * hP1][rs, f, g] ↔ (a[hP0] * a[hP1])[rs, f, g]) ⊦ |
¬(a[hP0 * hP1][rs, f, g] ↔ (a[hP0] * a[hP1])[rs, f, g]) ⊦
| ¬(a[hP0 * hP1][rs, f, g] ↔ (a[hP0] * a[hP1])[rs, f, g]) ⊦ |
⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g))
¬(a[hP0 * hP1](mk(rs, f, g)) ↔ (a[hP0] * a[hP1])[rs, f, g]) ⊦
Used terms: g, f, rs, a[hP0 * hP1]
| ⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g)) |
| ¬(a[hP0 * hP1](mk(rs, f, g)) ↔ (a[hP0] * a[hP1])[rs, f, g]) ⊦ |
⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g))
¬(a[hP0 * hP1](mk(rs, f, g)) ↔ ((a[hP0] * a[hP1]))(mk(rs, f, g))) ⊦
Used terms: g, f, rs, a[hP0] * a[hP1]
| ⊦ hR[rs, f, g] ↔ hR(mk(rs, f, g)) |
| ¬(a[hP0 * hP1](mk(rs, f, g)) ↔ ((a[hP0] * a[hP1]))(mk(rs, f, g))) ⊦ |
a[hP0 * hP1](mk(rs, f, g)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)) ⊦
((a[hP0] * a[hP1]))(mk(rs, f, g)), ¬ a[hP0 * hP1](mk(rs, f, g)) ⊦
| a[hP0 * hP1](mk(rs, f, g)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)) ⊦ |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
((hP0 * hP1))(mk(rs, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a ⊦
Used terms: a, hP0 * hP1, rs, g, f
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| ((hP0 * hP1))(mk(rs, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a ⊦ |
((hP0 * hP1))(mk(rs, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a ⊦
| ((hP0 * hP1))(mk(rs, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a ⊦ |
⊦ hP[rs, f] ↔ hP(mk(rs, f))
(hP0 * hP1)[rs, f] ↔ ((hP0 * hP1))(mk(rs, f)), ((hP0 * hP1))(mk(rs, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a ⊦
Used terms: hP0 * hP1, rs, f
| ⊦ hP[rs, f] ↔ hP(mk(rs, f)) |
| (hP0 * hP1)[rs, f] ↔ ((hP0 * hP1))(mk(rs, f)), ((hP0 * hP1))(mk(rs, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a ⊦ |
((hP0 * hP1))(mk(rs, f)), (hP0 * hP1)[rs, f], ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a ⊦
| ((hP0 * hP1))(mk(rs, f)), (hP0 * hP1)[rs, f], ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a ⊦ |
⊦ (hP0 * hP1)[rs, f] ↔ (∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ hP0[rs0, f] ∧ hP1[rs1, f])
((hP0 * hP1))(mk(rs, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a, ∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ hP0[rs0, f] ∧ hP1[rs1, f] ⊦
Used terms: f, rs, hP1, hP0
| ⊦ (hP0 * hP1)[rs, f] ↔ (∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ hP0[rs0, f] ∧ hP1[rs1, f]) |
| ((hP0 * hP1))(mk(rs, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs, f, g)), ∀ r. r ∈ rs → g(r) = a, ∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ hP0[rs0, f] ∧ hP1[rs1, f] ⊦ |
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0[rs0, f], hP1[rs1, f], ¬ ((a[hP0] * a[hP1]))(mk(rs0 ∪ rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0[rs0, f], hP1[rs1, f], ¬ ((a[hP0] * a[hP1]))(mk(rs0 ∪ rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ |
⊦ rs0 ∩ rs1 = ∅ → mk(rs0 ∪ rs1, f, g) = mk(rs0, f, g) ∪ mk(rs1, f, g)
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP1[rs1, f], hP0[rs0, f], ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦
Used terms: g, f, rs1, rs0
| ⊦ rs0 ∩ rs1 = ∅ → mk(rs0 ∪ rs1, f, g) = mk(rs0, f, g) ∪ mk(rs1, f, g) |
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP1[rs1, f], hP0[rs0, f], ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ |
⊦ hP0(h0) ∧ hP1(h1) ∧ h0 ⊥ h1 → ((hP0 * hP1))(h0 ∪ h1)
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0[rs0, f], hP1[rs1, f], ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ a[hP0](mk(rs0, f, g)) ∧ a[hP1](mk(rs1, f, g)) ∧ mk(rs0, f, g) ⊥ mk(rs1, f, g)
Used terms: a[hP0], a[hP1], mk(rs0, f, g), mk(rs1, f, g)
| ⊦ hP0(h0) ∧ hP1(h1) ∧ h0 ⊥ h1 → ((hP0 * hP1))(h0 ∪ h1) |
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0[rs0, f], hP1[rs1, f], ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ a[hP0](mk(rs0, f, g)) ∧ a[hP1](mk(rs1, f, g)) ∧ mk(rs0, f, g) ⊥ mk(rs1, f, g) |
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP1[rs1, f], hP0[rs0, f], ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ a[hP0](mk(rs0, f, g)) ∧ a[hP1](mk(rs1, f, g))
Used simplifier rules: ⊦ mk(rs0, f, g) ⊥ mk(rs1, f0, g0) ↔ rs0 ∩ rs1 = ∅; (s)
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP1[rs1, f], hP0[rs0, f], ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ a[hP0](mk(rs0, f, g)) ∧ a[hP1](mk(rs1, f, g)) |
⊦ hP[rs, f] ↔ hP(mk(rs, f))
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP1[rs1, f], hP0(mk(rs0, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ a[hP0](mk(rs0, f, g)) ∧ a[hP1](mk(rs1, f, g))
Used terms: f, rs0, hP0
| ⊦ hP[rs, f] ↔ hP(mk(rs, f)) |
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP1[rs1, f], hP0(mk(rs0, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ a[hP0](mk(rs0, f, g)) ∧ a[hP1](mk(rs1, f, g)) |
⊦ hP[rs, f] ↔ hP(mk(rs, f))
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ a[hP0](mk(rs0, f, g)) ∧ a[hP1](mk(rs1, f, g))
Used terms: f, rs1, hP1
| ⊦ hP[rs, f] ↔ hP(mk(rs, f)) |
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ a[hP0](mk(rs0, f, g)) ∧ a[hP1](mk(rs1, f, g)) |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ (hP0(mk(rs0, f)) ∧ (∀ r. r ∈ rs0 → g(r) = a)) ∧ a[hP1](mk(rs1, f, g))
Used terms: a, hP0, rs0, g, f
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ (hP0(mk(rs0, f)) ∧ (∀ r. r ∈ rs0 → g(r) = a)) ∧ a[hP1](mk(rs1, f, g)) |
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ (r ∈ rs0 → g(r) = a) ∧ a[hP1](mk(rs1, f, g))
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ (r ∈ rs0 → g(r) = a) ∧ a[hP1](mk(rs1, f, g)) |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ (r ∈ rs0 → g(r) = a) ∧ hP1(mk(rs1, f)) ∧ (∀ r. r ∈ rs1 → g(r) = a)
Used terms: a, hP1, rs1, g, f
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ (r ∈ rs0 → g(r) = a) ∧ hP1(mk(rs1, f)) ∧ (∀ r. r ∈ rs1 → g(r) = a) |
rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ (r ∈ rs0 → g(r) = a) ∧ (r0 ∈ rs1 → g(r0) = a)
| rs0 ∩ rs1 = ∅, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ (r ∈ rs0 → g(r) = a) ∧ (r0 ∈ rs1 → g(r0) = a) |
rs0 ∩ rs1 = ∅, g(r) ≠ a, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), r ∈ rs0, ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦
rs0 ∩ rs1 = ∅, g(r0) ≠ a, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), r0 ∈ rs1, ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, g(r) ≠ a, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), r ∈ rs0, ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, g(r) ≠ a, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), r ∈ rs0, ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, g(r) ≠ a, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), r ∈ rs0, ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ |
Used simplifier rules: ⊦ a ∈ s ∪ s0 ↔ ¬(¬ a ∈ s ∧ ¬ a ∈ s0); (ss) una: ⊦ (s ∪ s0) ∪ s1 = s ∪ s0 ∪ s1; from specification set-union[refset] unc: ⊦ s ∪ s0 = s0 ∪ s; from specification set-union[refset] Used terms: r
| rs0 ∩ rs1 = ∅, g(r0) ≠ a, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), r0 ∈ rs1, ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ |
rs0 ∩ rs1 = ∅, g(r0) ≠ a, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), r0 ∈ rs1, ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦
| rs0 ∩ rs1 = ∅, g(r0) ≠ a, ((hP0 * hP1))(mk(rs0 ∪ rs1, f)), hP0(mk(rs0, f)), hP1(mk(rs1, f)), r0 ∈ rs1, ¬ ((a[hP0] * a[hP1]))(mk(rs0, f, g) ∪ mk(rs1, f, g)), ∀ r. r ∈ rs0 ∪ rs1 → g(r) = a ⊦ |
Used simplifier rules: ⊦ a ∈ s ∪ s0 ↔ ¬(¬ a ∈ s ∧ ¬ a ∈ s0); (ss) una: ⊦ (s ∪ s0) ∪ s1 = s ∪ s0 ∪ s1; from specification set-union[refset] unc: ⊦ s ∪ s0 = s0 ∪ s; from specification set-union[refset] Used terms: r0
| ((a[hP0] * a[hP1]))(mk(rs, f, g)), ¬ a[hP0 * hP1](mk(rs, f, g)) ⊦ |
⊦ ((hP0 * hP1))(h) ↔ (∃ h0, h1. h0 ⊥ h1 ∧ h = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1))
¬ a[hP0 * hP1](mk(rs, f, g)), ∃ h0, h1. h0 ⊥ h1 ∧ mk(rs, f, g) = h0 ∪ h1 ∧ a[hP0](h0) ∧ a[hP1](h1) ⊦
Used terms: a[hP0], a[hP1], mk(rs, f, g)
| ⊦ ((hP0 * hP1))(h) ↔ (∃ h0, h1. h0 ⊥ h1 ∧ h = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1)) |
| ¬ a[hP0 * hP1](mk(rs, f, g)), ∃ h0, h1. h0 ⊥ h1 ∧ mk(rs, f, g) = h0 ∪ h1 ∧ a[hP0](h0) ∧ a[hP1](h1) ⊦ |
mk(rs, f, g) = h0 ∪ h1, a[hP0](h0), a[hP1](h1), h0 ⊥ h1, ¬ a[hP0 * hP1](mk(rs, f, g)) ⊦
| mk(rs, f, g) = h0 ∪ h1, a[hP0](h0), a[hP1](h1), h0 ⊥ h1, ¬ a[hP0 * hP1](mk(rs, f, g)) ⊦ |
⊦ ∃ rs, f, g. ha = mk(rs, f, g)
mk(rs, f, g) = h0 ∪ h1, a[hP1](h1), a[hP0](h0), h0 ⊥ h1, ¬ a[hP0 * hP1](mk(rs, f, g)), ∃ rs, f, g. h0 = mk(rs, f, g) ⊦
Used terms: h0
| ⊦ ∃ rs, f, g. ha = mk(rs, f, g) |
| mk(rs, f, g) = h0 ∪ h1, a[hP1](h1), a[hP0](h0), h0 ⊥ h1, ¬ a[hP0 * hP1](mk(rs, f, g)), ∃ rs, f, g. h0 = mk(rs, f, g) ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ h1, a[hP0](mk(rs0, f0, g0)), a[hP1](h1), mk(rs0, f0, g0) ⊥ h1, ¬ a[hP0 * hP1](mk(rs, f, g)) ⊦
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ h1, a[hP0](mk(rs0, f0, g0)), a[hP1](h1), mk(rs0, f0, g0) ⊥ h1, ¬ a[hP0 * hP1](mk(rs, f, g)) ⊦ |
⊦ ∃ rs, f, g. ha = mk(rs, f, g)
mk(rs, f, g) = mk(rs0, f0, g0) ∪ h1, a[hP1](h1), a[hP0](mk(rs0, f0, g0)), mk(rs0, f0, g0) ⊥ h1, ¬ a[hP0 * hP1](mk(rs, f, g)), ∃ rs, f, g. h1 = mk(rs, f, g) ⊦
Used terms: h1
| ⊦ ∃ rs, f, g. ha = mk(rs, f, g) |
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ h1, a[hP1](h1), a[hP0](mk(rs0, f0, g0)), mk(rs0, f0, g0) ⊥ h1, ¬ a[hP0 * hP1](mk(rs, f, g)), ∃ rs, f, g. h1 = mk(rs, f, g) ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)), mk(rs0, f0, g0) ⊥ mk(rs1, f1, g1), ¬ a[hP0 * hP1](mk(rs, f, g)) ⊦
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)), mk(rs0, f0, g0) ⊥ mk(rs1, f1, g1), ¬ a[hP0 * hP1](mk(rs, f, g)) ⊦ |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), a[hP1](mk(rs1, f1, g1)), a[hP0](mk(rs0, f0, g0)), mk(rs0, f0, g0) ⊥ mk(rs1, f1, g1), ¬ ((hP0 * hP1))(mk(rs, f)) ∨ (∃ r. ¬(r ∈ rs → g(r) = a)) ⊦
Used terms: a, hP0 * hP1, rs, g, f
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), a[hP1](mk(rs1, f1, g1)), a[hP0](mk(rs0, f0, g0)), mk(rs0, f0, g0) ⊥ mk(rs1, f1, g1), ¬ ((hP0 * hP1))(mk(rs, f)) ∨ (∃ r. ¬(r ∈ rs → g(r) = a)) ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)), ¬ ((hP0 * hP1))(mk(rs, f)) ∨ ¬(r ∈ rs → g(r) = a) ⊦
Used simplifier rules: ⊦ mk(rs0, f, g) ⊥ mk(rs1, f0, g0) ↔ rs0 ∩ rs1 = ∅; (s)
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)), ¬ ((hP0 * hP1))(mk(rs, f)) ∨ ¬(r ∈ rs → g(r) = a) ⊦ |
⊦ ((hP0 * hP1))(h) ↔ (∃ h0, h1. h0 ⊥ h1 ∧ h = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1))
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP1](mk(rs1, f1, g1)), a[hP0](mk(rs0, f0, g0)), ¬(∃ h0, h1. h0 ⊥ h1 ∧ mk(rs, f) = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1)) ∨ ¬(r ∈ rs → g(r) = a) ⊦
Used terms: mk(rs, f), hP1, hP0
| ⊦ ((hP0 * hP1))(h) ↔ (∃ h0, h1. h0 ⊥ h1 ∧ h = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1)) |
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP1](mk(rs1, f1, g1)), a[hP0](mk(rs0, f0, g0)), ¬(∃ h0, h1. h0 ⊥ h1 ∧ mk(rs, f) = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1)) ∨ ¬(r ∈ rs → g(r) = a) ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)) ⊦ ∃ h0, h1. h0 ⊥ h1 ∧ mk(rs, f) = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1)
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)), r ∈ rs ⊦
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)) ⊦ ∃ h0, h1. h0 ⊥ h1 ∧ mk(rs, f) = h0 ∪ h1 ∧ hP0(h0) ∧ hP1(h1) |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP1](mk(rs1, f1, g1)), a[hP0](mk(rs0, f0, g0)) ⊦ mk(rs0, f0) ⊥ mk(rs1, f1) ∧ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP0(mk(rs0, f0)) ∧ hP1(mk(rs1, f1))
Used terms: mk(rs0, f0), mk(rs1, f1)
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP1](mk(rs1, f1, g1)), a[hP0](mk(rs0, f0, g0)) ⊦ mk(rs0, f0) ⊥ mk(rs1, f1) ∧ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP0(mk(rs0, f0)) ∧ hP1(mk(rs1, f1)) |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)) ⊦ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP0(mk(rs0, f0)) ∧ hP1(mk(rs1, f1))
Used simplifier rules: ⊦ mk(rs0, f0) ⊥ mk(rs1, f1) ↔ rs0 ∩ rs1 = ∅; (s)
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)) ⊦ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP0(mk(rs0, f0)) ∧ hP1(mk(rs1, f1)) |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP1](mk(rs1, f1, g1)), hP0(mk(rs0, f0)), ∀ r. r ∈ rs0 → g0(r) = a ⊦ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP0(mk(rs0, f0)) ∧ hP1(mk(rs1, f1))
Used terms: a, hP0, rs0, g0, f0
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP1](mk(rs1, f1, g1)), hP0(mk(rs0, f0)), ∀ r. r ∈ rs0 → g0(r) = a ⊦ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP0(mk(rs0, f0)) ∧ hP1(mk(rs1, f1)) |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP1](mk(rs1, f1, g1)), hP0(mk(rs0, f0)), ∀ r. r ∈ rs0 → g0(r) = a ⊦ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP1(mk(rs1, f1))
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, a[hP1](mk(rs1, f1, g1)), hP0(mk(rs0, f0)), ∀ r. r ∈ rs0 → g0(r) = a ⊦ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP1(mk(rs1, f1)) |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP1(mk(rs1, f1))
Used terms: a, hP1, rs1, g1, f1
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦ mk(rs, f) = mk(rs0, f0) ∪ mk(rs1, f1) ∧ hP1(mk(rs1, f1)) |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, mk(rs, f) ≠ mk(rs0, f0) ∪ mk(rs1, f1), hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, mk(rs, f) ≠ mk(rs0, f0) ∪ mk(rs1, f1), hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦ |
⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r]))
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∃ r. ¬((r ∈ mk(rs, f) ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ mk(rs, f) → mk(rs, f)[r] = (mk(rs0, f0) ∪ mk(rs1, f1))[r])) ⊦
Used terms: mk(rs0, f0) ∪ mk(rs1, f1), mk(rs, f)
| ⊦ h0 = h1 ↔ (∀ r. (r ∈ h0 ↔ r ∈ h1) ∧ (r ∈ h0 → h0[r] = h1[r])) |
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∃ r. ¬((r ∈ mk(rs, f) ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ mk(rs, f) → mk(rs, f)[r] = (mk(rs0, f0) ∪ mk(rs1, f1))[r])) ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r])
Used simplifier rules: ⊦ r ∈ rs → mk(rs, f)[r] = f(r); (s) ⊦ r ∈ mk(rs, f) ↔ r ∈ rs; (s)
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r]) |
⊦ ha0 = ha1 ↔ (∀ r. (r ∈ ha0 ↔ r ∈ ha1) ∧ (r ∈ ha0 → ha0[r]o = ha1[r]o ∧ ha0[r]a = ha1[r]a))
rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. (r ∈ mk(rs, f, g) ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r ∈ mk(rs, f, g) → mk(rs, f, g)[r]o = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ mk(rs, f, g)[r]a = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a) ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r])
Used terms: mk(rs, f, g), mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)
| ⊦ ha0 = ha1 ↔ (∀ r. (r ∈ ha0 ↔ r ∈ ha1) ∧ (r ∈ ha0 → ha0[r]o = ha1[r]o ∧ ha0[r]a = ha1[r]a)) |
| rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. (r ∈ mk(rs, f, g) ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r ∈ mk(rs, f, g) → mk(rs, f, g)[r]o = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ mk(rs, f, g)[r]a = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a) ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r]) |
rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a) ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r])
Used simplifier rules: ⊦ r ∈ rs → mk(rs, f, g)[r]a = g(r); (s) ⊦ r ∈ rs → mk(rs, f, g)[r]o = f(r); (s) ⊦ r ∈ mk(rs, f, g) ↔ r ∈ rs; (s)
| rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a) ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r]) |
r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r])
Used terms: r
| r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r]) |
r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a) ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r])
| r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a) ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∪ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r]) |
⊦ h0 ⊥ h1 → (r ∈ h0 ∪ h1 ↔ r ∈ h0 ∨ r ∈ h1)
r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), mk(rs0, f0) ⊥ mk(rs1, f1), r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∨ r ∈ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r])
Used simplifier rules: ⊦ mk(rs0, f0) ⊥ mk(rs1, f1) ↔ rs0 ∩ rs1 = ∅; (s) Used terms: r, mk(rs0, f0), mk(rs1, f1)
| ⊦ h0 ⊥ h1 → (r ∈ h0 ∪ h1 ↔ r ∈ h0 ∨ r ∈ h1) |
| r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), mk(rs0, f0) ⊥ mk(rs1, f1), r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦ (r ∈ rs ↔ r ∈ mk(rs0, f0) ∨ r ∈ mk(rs1, f1)) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r]) |
r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a) ⊦ (r ∈ rs ↔ r ∈ rs0 ∨ r ∈ rs1) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r])
Used simplifier rules: ⊦ r ∈ mk(rs, f) ↔ r ∈ rs; (s) ⊦ mk(rs0, f0) ⊥ mk(rs1, f1) ↔ rs0 ∩ rs1 = ∅; (s)
| r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a) ⊦ (r ∈ rs ↔ r ∈ rs0 ∨ r ∈ rs1) ∧ (r ∈ rs → f(r) = (mk(rs0, f0) ∪ mk(rs1, f1))[r]) |
⊦ rs0 ∩ rs1 = ∅ → (r ∈ mk(rs0, f, g) ∪ mk(rs1, f0, g0) ↔ r ∈ rs0 ∨ r ∈ rs1)
Used simplifier rules: int-a: ⊦ (s ∩ s0) ∩ s1 = s ∩ s0 ∩ s1; from specification set-union[refset] int-c: ⊦ s ∩ s0 = s0 ∩ s; from specification set-union[refset] ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs0 → (mk(rs0, f, g) ∪ mk(rs1, f0, g0))[r]o = f(r); (s) ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs0 → (mk(rs0, f, g) ∪ mk(rs1, f0, g0))[r]a = g(r); (s) ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs0 → (mk(rs0, f0) ∪ mk(rs1, f1))[r] = f0(r); (s) ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs1 → (mk(rs0, f, g) ∪ mk(rs1, f0, g0))[r]o = f0(r); (s) ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs1 → (mk(rs0, f, g) ∪ mk(rs1, f0, g0))[r]a = g0(r); (s) ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs1 → (mk(rs0, f0) ∪ mk(rs1, f1))[r] = f1(r); (s) Used terms: r, f1, rs0, g0, f0, rs1, g1
| ⊦ rs0 ∩ rs1 = ∅ → (r ∈ mk(rs0, f, g) ∪ mk(rs1, f0, g0) ↔ r ∈ rs0 ∨ r ∈ rs1) |
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP0](mk(rs0, f0, g0)), a[hP1](mk(rs1, f1, g1)), r ∈ rs ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP1](mk(rs1, f1, g1)), a[hP0](mk(rs0, f0, g0)), r ∈ rs ⊦
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP1](mk(rs1, f1, g1)), a[hP0](mk(rs0, f0, g0)), r ∈ rs ⊦ |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP0](mk(rs0, f0, g0)), hP1(mk(rs1, f1)), r ∈ rs, ∀ r. r ∈ rs1 → g1(r) = a ⊦
Used terms: a, hP1, rs1, g1, f1
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP0](mk(rs0, f0, g0)), hP1(mk(rs1, f1)), r ∈ rs, ∀ r. r ∈ rs1 → g1(r) = a ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP0](mk(rs0, f0, g0)), hP1(mk(rs1, f1)), r ∈ rs, ∀ r. r ∈ rs1 → g1(r) = a ⊦
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, a[hP0](mk(rs0, f0, g0)), hP1(mk(rs1, f1)), r ∈ rs, ∀ r. r ∈ rs1 → g1(r) = a ⊦ |
⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦
Used terms: a, hP0, rs0, g0, f0
| ⊦ a[hP](mk(rs, f, g)) ↔ hP(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a) |
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦
Used terms: r
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦ |
mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs1 → g1(r) = a, r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦
Used terms: r
| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs1 → g1(r) = a, r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a ⊦ |
⊦ ha0 = ha1 ↔ (∀ r. (r ∈ ha0 ↔ r ∈ ha1) ∧ (r ∈ ha0 → ha0[r]o = ha1[r]o ∧ ha0[r]a = ha1[r]a))
rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs0 → g0(r) = a, r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. (r ∈ mk(rs, f, g) ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r ∈ mk(rs, f, g) → mk(rs, f, g)[r]o = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ mk(rs, f, g)[r]a = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a) ⊦
Used terms: mk(rs, f, g), mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)
| ⊦ ha0 = ha1 ↔ (∀ r. (r ∈ ha0 ↔ r ∈ ha1) ∧ (r ∈ ha0 → ha0[r]o = ha1[r]o ∧ ha0[r]a = ha1[r]a)) |
| rs0 ∩ rs1 = ∅, g(r) ≠ a, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs0 → g0(r) = a, r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. (r ∈ mk(rs, f, g) ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r ∈ mk(rs, f, g) → mk(rs, f, g)[r]o = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ mk(rs, f, g)[r]a = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a) ⊦ |
rs0 ∩ rs1 = ∅, # rs ≠ 0, g(r) ≠ a, rs ≠ ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs0 → g0(r) = a, r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦
Used simplifier rules: size-zero-01: ⊦ s ≠ ∅ → # s ≠ 0; (forward) from specification set-basic[refset] ne-01: ⊦ a ∈ s → s ≠ ∅; (forward) from specification set-basic[refset] ⊦ r ∈ rs → mk(rs, f, g)[r]a = g(r); (s) ⊦ r ∈ rs → mk(rs, f, g)[r]o = f(r); (s) ⊦ r ∈ mk(rs, f, g) ↔ r ∈ rs; (s)
| rs0 ∩ rs1 = ∅, # rs ≠ 0, g(r) ≠ a, rs ≠ ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs0 → g0(r) = a, r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦ |
r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, # rs ≠ 0, g(r) ≠ a, rs ≠ ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs1 → g1(r) = a, r ∈ rs0 → g0(r) = a, r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a) ⊦
Used terms: r
| r ∈ rs ↔ r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, # rs ≠ 0, g(r) ≠ a, rs ≠ ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs1 → g1(r) = a, r ∈ rs0 → g0(r) = a, r ∈ rs → f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o ∧ g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a) ⊦ |
f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o, g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, rs0 ∩ rs1 = ∅, # rs ≠ 0, g(r) ≠ a, rs ≠ ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), r ∈ rs0 → g0(r) = a, r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦
| f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o, g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, rs0 ∩ rs1 = ∅, # rs ≠ 0, g(r) ≠ a, rs ≠ ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), r ∈ rs0 → g0(r) = a, r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), ∀ r. r ∈ rs1 → g1(r) = a, ∀ r. r ∈ rs0 → g0(r) = a ⊦ |
⊦ rs0 ∩ rs1 = ∅ → (r ∈ mk(rs0, f, g) ∪ mk(rs1, f0, g0) ↔ r ∈ rs0 ∨ r ∈ rs1)
f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o, g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, rs0 ∩ rs1 = ∅, # rs ≠ 0, g(r) ≠ a, rs ≠ ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs1 → g1(r) = a, r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), r ∈ rs0 ∨ r ∈ rs1 ⊦
Used terms: r, f1, rs0, g0, f0, rs1, g1
| ⊦ rs0 ∩ rs1 = ∅ → (r ∈ mk(rs0, f, g) ∪ mk(rs1, f0, g0) ↔ r ∈ rs0 ∨ r ∈ rs1) |
| f(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]o, g(r) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r]a, rs0 ∩ rs1 = ∅, # rs ≠ 0, g(r) ≠ a, rs ≠ ∅, hP0(mk(rs0, f0)), hP1(mk(rs1, f1)), r ∈ rs, r ∈ rs1 → g1(r) = a, r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs0 → g0(r) = a, ∀ r. r ∈ rs1 → g1(r) = a, ∀ r0. (r0 ∈ rs ↔ r0 ∈ mk(rs0, f0, g0) ∪ mk(rs1, f1, g1)) ∧ (r0 ∈ rs → f(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]o ∧ g(r0) = (mk(rs0, f0, g0) ∪ mk(rs1, f1, g1))[r0]a), r ∈ rs0 ∨ r ∈ rs1 ⊦ |
Used simplifier rules: int-a: ⊦ (s ∩ s0) ∩ s1 = s ∩ s0 ∩ s1; from specification set-union[refset] int-c: ⊦ s ∩ s0 = s0 ∩ s; from specification set-union[refset] ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs1 → (mk(rs0, f, g) ∪ mk(rs1, f0, g0))[r]a = g0(r); (s) ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs1 → (mk(rs0, f, g) ∪ mk(rs1, f0, g0))[r]o = f0(r); (s) ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs0 → (mk(rs0, f, g) ∪ mk(rs1, f0, g0))[r]a = g(r); (s) ⊦ rs0 ∩ rs1 = ∅ ∧ r ∈ rs0 → (mk(rs0, f, g) ∪ mk(rs1, f0, g0))[r]o = f(r); (s)
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.