| rs1 ∩ rs = ∅, rs1 ∩ rs2 = ∅, rs2 ∩ rs = ∅, a[P][rs1, f, g], R[rs, f, g], a0[P0][rs2, f, g] ⊦ g(r) = a, g(r) = a0, (a[P] * a0[P0] * true)[rs1 ∪ rs2 ∪ rs, f(r; o), g], (a0[P0] * true)[rs2 ∪ rs, f(r; o), g], (a0[P0] * true)[rs2 ∪ rs, f, g] |
⊦ R0[rs0, f, g] ∧ R1[rs1, f, g] ∧ rs0 ∩ rs1 = ∅ → (R0 * R1)[rs0 ∪ rs1, f, g]
Used simplifier rules: ⊦ (true)[rs, f, g]; (s) Used terms: g, f, rs, rs2, true, a0[P0]