| rs2 ∩ rs = ∅, rs1 ∩ rs2 = ∅, rs1 ∩ rs = ∅, P(mk(rs1, f)), a0[P0][rs2, f, g], R[rs, f, g], ∀ r. r ∈ rs1 → g(r) = a ⊦ g(r) = a0, g(r) = a, a[P][rs1, f(r; o), g], (a[P] * a0[P0] * true)[rs1 ∪ rs2 ∪ rs, f(r; o), g] |
⊦ R[rs, f, g] ↔ R(mk(rs, f, g))
rs1 ∩ rs = ∅, rs1 ∩ rs2 = ∅, rs2 ∩ rs = ∅, P(mk(rs1, f)), R[rs, f, g], a0[P0][rs2, f, g], ∀ r. r ∈ rs1 → g(r) = a ⊦ g(r) = a, g(r) = a0, (a[P] * a0[P0] * true)[rs1 ∪ rs2 ∪ rs, f(r; o), g], a[P](mk(rs1, f(r; o), g))
Used terms: g, f(r; o), rs1, a[P]