| rs1 ∩ rs0 = ∅, ((P0 * P1))(mk(rs1 ∪ rs0, f)), P0(mk(rs1, f)), P1(mk(rs0, f)), r0 ∈ rs0, ∀ r. r ∈ rs1 ∪ rs0 → g(r) = a ⊦ g(r0) = a, ((a[P0] * a[P1]))(mk(rs1, f, g) ∪ mk(rs0, f, g)) |
rs1 ∩ rs0 = ∅, ((P0 * P1))(mk(rs1 ∪ rs0, f)), P0(mk(rs1, f)), P1(mk(rs0, f)), r0 ∈ rs0, ∀ r. r ∈ rs1 ∪ rs0 → g(r) = a ⊦ # rs0 = 0, g(r0) = a, rs0 = ∅, ((a[P0] * a[P1]))(mk(rs1, f, g) ∪ mk(rs0, f, g))
Used simplifier rules: size-zero-01: ⊦ rs ≠ ∅ → # rs ≠ 0; (forward) from specification set-basic[refset]%ne-01: ⊦ r ∈ rs → rs ≠ ∅; (forward) from specification set-basic[refset]