| mk(rs1, f) = (∅ ++ r)[r, o], rs1 ∩ rs0 = ∅, R[rs0, f, g], ∀ r0. r0 ∈ rs1 → (r = r0 ⊃ a1;g(r0)) = a1 ⊦ r = null, (g(r)[r => o] * R)[rs1 ∪ rs0, f, g], g(r)[r => o](mk(rs1, f, g)), r ∈ rs0 |
⊦ a[P](mk(rs, f, g)) ↔ P(mk(rs, f)) ∧ (∀ r. r ∈ rs → g(r) = a)
mk(rs1, f) = (∅ ++ r)[r, o], rs1 ∩ rs0 = ∅, R[rs0, f, g], ∀ r0. r0 ∈ rs1 → (r = r0 ⊃ a1;g(r0)) = a1 ⊦ r = null, (g(r)[r => o] * R)[rs1 ∪ rs0, f, g], r ∈ rs0, ((r => o))(mk(rs1, f)) ∧ (∀ r0. r0 ∈ rs1 → g(r0) = g(r))
Used terms: g, f, rs1, r => o, g(r)