| rs1 ∩ rs0 = ∅, a[P][rs1, f, g], R[rs0, f, g], (a0[P0] * R0)[rs1 ∪ rs0, f, g] ⊦ a0 = a, (a[P] * a0[P0] * true)[rs1 ∪ rs0, f, g] |
⊦ (R0 * R1)[rs, f, g] ↔ (∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ R0[rs0, f, g] ∧ R1[rs1, f, g])
rs1 ∩ rs0 = ∅, R[rs0, f, g], a[P][rs1, f, g], ∃ rs3, rs2. rs3 ∪ rs2 = rs1 ∪ rs0 ∧ rs3 ∩ rs2 = ∅ ∧ a0[P0][rs3, f, g] ∧ R0[rs2, f, g] ⊦ a0 = a, (a[P] * a0[P0] * true)[rs1 ∪ rs0, f, g]
Used terms: g, f, rs1 ∪ rs0, R0, a0[P0]