| rs0 ∩ rs1 = ∅ ⊦ ∀ r. (r ∈ mk(rs0 ∪ rs1, f) ↔ r ∈ mk(rs0, f) ∪ mk(rs1, f)) ∧ (r ∈ mk(rs0 ∪ rs1, f) → mk(rs0 ∪ rs1, f)[r] = (mk(rs0, f) ∪ mk(rs1, f))[r]) |
rs0 ∩ rs1 = ∅ ⊦ (r ∈ rs0 ∨ r ∈ rs1 → r ∈ rs0 ∪ rs1) ∧ (r ∈ rs0 ∪ rs1 → f(r) = (mk(rs0, f) ∪ mk(rs1, f))[r])
Used simplifier rules: in-mk: ⊦ r ∈ mk(rs, f) ↔ r ∈ rs;%in-uni: ⊦ rs0 ∩ rs1 = ∅ → (r ∈ mk(rs0, f0) ∪ mk(rs1, f1) ↔ r ∈ rs0 ∨ r ∈ rs1);%at-mk: ⊦ r ∈ rs → mk(rs, f)[r] = f(r);%unc: ⊦ rs ∪ rs0 = rs0 ∪ rs; from specification set-union[refset]%una: ⊦ (rs ∪ rs0) ∪ rs1 = rs ∪ rs0 ∪ rs1; from specification set-union[refset]% ⊦ ¬ r ∈ rs → (r ∈ rs ∪ rs0 ↔ r ∈ rs0); (s)%int-c: ⊦ rs ∩ rs0 = rs0 ∩ rs; from specification set-union[refset]%int-a: ⊦ (rs ∩ rs0) ∩ rs1 = rs ∩ rs0 ∩ rs1; from specification set-union[refset]