| rs2 ∩ rs1 = ∅, a[P][rs2, f0, g0], ∀ r. (g(r) = a ∧ r ∈ rs ↔ g0(r) = a ∧ r ∈ rs2 ∪ rs1) ∧ (g(r) = a ∧ r ∈ rs → f(r) = f0(r)) ⊦ (a[P] * true)[rs, f, g] |
⊦ (R0 * R1)[rs, f, g] ↔ (∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ R0[rs0, f, g] ∧ R1[rs1, f, g])
rs2 ∩ rs1 = ∅, a[P][rs2, f0, g0], ∀ r. (g(r) = a ∧ r ∈ rs ↔ g0(r) = a ∧ r ∈ rs2 ∪ rs1) ∧ (g(r) = a ∧ r ∈ rs → f(r) = f0(r)) ⊦ ∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ a[P][rs0, f, g] ∧ (true)[rs1, f, g]
Used terms: g, f, rs, true, a[P]