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