| ⊦ count(a, bag0 ∪ bag1) = count(a, bag0) + count(a, bag1) |
∀ a, bag1. count(a, bag ∪ bag1) = count(a, bag) + count(a, bag1) ⊦ count(a, (bag ++ a0) ∪ bag1) = count(a, bag ++ a0) + count(a, bag1)
Used simplifier rules: union-empty: ⊦ ∅ ∪ bag = bag;%bag generated by ∅, ++;;% ⊦ count(a, ∅) = 0; (s)% ⊦ 0 + m = m; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic