| ∃ rs0, rs1. rs0 ∪ rs1 = rs ∧ rs0 ∩ rs1 = ∅ ∧ P0(mk(rs0, f)) ∧ P1(mk(rs1, f)) ⊦ ((P0 * P1))(mk(rs, f)) |
rs1 ∩ rs0 = ∅, P0(mk(rs1, f)), P1(mk(rs0, f)) ⊦ ((P0 * P1))(mk(rs1, f) ∪ mk(rs0, f))
Used simplifier rules: uni: ⊦ rs0 ∩ rs1 = ∅ → mk(rs0 ∪ rs1, f) = mk(rs0, f) ∪ mk(rs1, f);%unc: ⊦ rs ∪ rs0 = rs0 ∪ rs; from specification set-union[refset]%una: ⊦ (rs ∪ rs0) ∪ rs1 = rs ∪ rs0 ∪ rs1; from specification set-union[refset]%int-c: ⊦ rs ∩ rs0 = rs0 ∩ rs; from specification set-union[refset]%int-a: ⊦ (rs ∩ rs0) ∩ rs1 = rs ∩ rs0 ∩ rs1; from specification set-union[refset]