| (∅ ++ r)[r, f(r)] = (∅ ++ r)[r, f(r)], rs1 ∩ rs0 = ∅, R[rs0, f, g], r0 ∈ rs1, r ∈ rs1, ∀ r1. (r1 ∈ rs1 → r1 = r) ∧ (r1 ∈ rs1 → f(r1) = (r1 = r ⊃ f(r);(∅ ++ r)[r1])), ∀ r0. r0 ∈ rs1 → (r = r0 ⊃ a1;g(r0)) = a1 ⊦ # rs1 = 0, g(r0) = g(r), r = null, rs1 = ∅, (g(r)[r => f(r)] * R)[rs1 ∪ rs0, f, g], r ∈ rs0 |
rs1 ∩ rs0 = ∅, R[rs0, f, g], r ∈ rs1, r0 ∈ rs1, ∀ r0. r0 ∈ rs1 → (r = r0 ⊃ a1;g(r0)) = a1, ∀ r1. (r1 ∈ rs1 → r1 = r) ∧ (r1 ∈ rs1 → f(r1) = (r1 = r ⊃ f(r);(∅ ++ r)[r1])) ⊦ # rs1 = 0, g(r0) = g(r), r = null, rs1 = ∅, (g(r)[r => f(r)] * R)[rs1 ∪ rs0, f, g], r ∈ rs0