| rs1 ∩ rs0 = ∅, r ==>(o, a)[rs1, f, g], R[rs0, f, g] ⊦ (a[r =>_] * R)[rs1 ∪ rs0, f, g], r =>_(mk(rs1, f)) ∧ (∀ r. r ∈ rs1 → g(r) = a) |
rs1 ∩ rs0 = ∅, R[rs0, f, g], r ==>(o, a)[rs1, f, g] ⊦ (a[r =>_] * R)[rs1 ∪ rs0, f, g], r =>_(mk(rs1, f)) ∧ (r0 ∈ rs1 → g(r0) = a)