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