| rs0 ∩ rs1 = ∅, r ∈ rs1 ⊦ # rs1 = 0, (mk(rs0, f0) ∪ mk(rs1, f1))[r] = f1(r), rs1 = ∅ |
r ∈ H0 ∪ H1 ⊦ H0 ⊥ H1 → (H0 ∪ H1)[r] = (r ∈ H0 ⊃ H0[r];H1[r])
Used simplifier rules: in-uni: ⊦ rs0 ∩ rs1 = ∅ → (r ∈ mk(rs0, f0) ∪ mk(rs1, f1) ↔ r ∈ rs0 ∨ r ∈ rs1);%disj: ⊦ mk(rs0, f0) ⊥ mk(rs1, f1) ↔ rs0 ∩ rs1 = ∅;%in-mk: ⊦ r ∈ mk(rs, f) ↔ r ∈ rs;%at-mk: ⊦ r ∈ rs → mk(rs, f)[r] = f(r);%disj: ⊦ mk(rs0, f0) ⊥ mk(rs1, f1) ↔ rs0 ∩ rs1 = ∅;%in-uni: ⊦ rs0 ∩ rs1 = ∅ → (r ∈ mk(rs0, f0) ∪ mk(rs1, f1) ↔ r ∈ rs0 ∨ r ∈ rs1);%int-a: ⊦ (rs ∩ rs0) ∩ rs1 = rs ∩ rs0 ∩ rs1; from specification set-union[refset]%int-c: ⊦ rs ∩ rs0 = rs0 ∩ rs; from specification set-union[refset]% ⊦ rs ∩ rs0 = ∅ ∧ r ∈ rs → (r ∈ rs0 ↔ false); (as) Used terms: r, mk(rs1, f1), mk(rs0, f0)