| rs1 ∩ rs0 = ∅, a[P](mk(rs1, f(r; o), g)) ⊦ g(r) = a, mk(rs1, f(r; o), g) = mk(rs1, f, g), a[P](mk(rs1, f, g)), (a[P] * true)[rs1 ∪ rs0, f, g] |
⊦ Ha0 = Ha1 ↔ (∀ r. (r ∈ Ha0 ↔ r ∈ Ha1) ∧ (r ∈ Ha0 → Ha0[r]o = Ha1[r]o ∧ Ha0[r]a = Ha1[r]a))
rs1 ∩ rs0 = ∅, a[P](mk(rs1, f(r; o), g)) ⊦ g(r) = a, (a[P] * true)[rs1 ∪ rs0, f, g], a[P](mk(rs1, f, g)), ∀ r0. (r0 ∈ mk(rs1, f(r; o), g) ↔ r0 ∈ mk(rs1, f, g)) ∧ (r0 ∈ mk(rs1, f(r; o), g) → mk(rs1, f(r; o), g)[r0]o = mk(rs1, f, g)[r0]o ∧ mk(rs1, f(r; o), g)[r0]a = mk(rs1, f, g)[r0]a)
Used terms: mk(rs1, f, g), mk(rs1, f(r; o), g)