| rs2 ∩ rs = ∅, rs1 ∩ rs2 = ∅, rs1 ∩ rs = ∅, a0[P0][rs2, f, g], R[rs, f, g], a[P](mk(rs1, f, g)) ⊦ 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] |
⊦ a[P](mk(rs, f, g)) ↔ P(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
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][rs1, f(r; o), g]
Used terms: g, f, rs1, P, a