| mk(rs1, f) = (∅ ++ r)[r, o], rs1 ∩ rs0 = ∅, R[rs0, f, g], ∀ r. r ∈ rs1 → g(r) = a ⊦ r = null, ∃ o, a. r ==>(o, a)(mk(rs1, f, g)), ∃ o, a. (r ==>(o, a) * R)[rs1 ∪ rs0, f, g] |
mk(rs1, f) = (∅ ++ r)[r, o], rs1 ∩ rs0 = ∅, R[rs0, f, g], ∀ r. r ∈ rs1 → g(r) = a ⊦ r = null, r ==>(o, a)(mk(rs1, f, g)), ∃ o, a. (r ==>(o, a) * R)[rs1 ∪ rs0, f, g]
Used terms: o, a