| bag1 ⊆ bag0 ⊦ (bag0 \ bag1) ∪ bag2 = (bag0 ∪ bag2) \ bag1 |
∀ a. count(a, bag1) ≤ count(a, bag0) ⊦ (count(a, bag0) - count(a, bag1)) + count(a, bag2) = (count(a, bag1) ≤ count(a, bag0) + count(a, bag2) ⊃ count(a, bag0) + count(a, bag2) - count(a, bag1);0)
Used simplifier rules: union: ⊦ count(a, bag0 ∪ bag1) = count(a, bag0) + count(a, bag1);%count-diff-subset: ⊦ bag0 ⊆ bag1 → count(a, bag1 \ bag0) = count(a, bag1) - count(a, bag0);%union-ass: ⊦ bag0 ∪ bag1 ∪ bag2 = (bag0 ∪ bag1) ∪ bag2;%union-com: ⊦ bag0 ∪ bag1 = bag1 ∪ bag0;%difference: ⊦ count(a, bag0 \ bag1) = (count(a, bag1) ≤ count(a, bag0) ⊃ count(a, bag0) - count(a, bag1) ;0 );%count-subset: ⊦ bag0 ⊆ bag1 ↔ (∀ a. count(a, bag0) ≤ count(a, bag1));%extension: ⊦ bag0 = bag1 ↔ (∀ a. count(a, bag0) = count(a, bag1)); from specification bag-basic