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