| mk(rs, f, g) = mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), rs0 ∩ rs1 = ∅, P0(mk(rs0, f0)), P1(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 ⊦ # rs = 0, g(r) = a, rs = ∅ |
⊦ Ha0 = Ha1 ↔ (∀ r. (r ∈ Ha0 ↔ r ∈ Ha1) ∧ (r ∈ Ha0 → Ha0[r]o = Ha1[r]o ∧ Ha0[r]a = Ha1[r]a))
rs0 ∩ rs1 = ∅, P0(mk(rs0, f0)), P1(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) ⊦ # rs = 0, g(r) = a, rs = ∅
Used terms: mk(rs0, f0, g0) ∪ mk(rs1, f1, g1), mk(rs, f, g)