| 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) * R)[rs1 ∪ rs0, f, g], mk(rs1, f, g) = (∅ ++ r)[r, o, a] ∧ r ≠ null |
mk(rs1, f) = (∅ ++ r)[r, o], rs1 ∩ rs0 = ∅, R[rs0, f, g], ∀ r. r ∈ rs1 → g(r) = a ⊦ mk(rs1, f, g) = (∅ ++ r)[r, o, a], r = null, ∃ o, a. (r ==>(o, a) * R)[rs1 ∪ rs0, f, g]