| ¬ a ≠ a0, ∀ a, bag1. count(a, bag ∪ bag1) = count(a, bag) + count(a, bag1) ⊦ count(a, (bag ∪ bag1) ++ a0) = count(a, bag ++ a0) + count(a, bag1) |
∀ a, bag1. count(a, bag ∪ bag1) = count(a, bag) + count(a, bag1) ⊦ count(a0, bag ∪ bag1) = count(a0, bag) + count(a0, bag1)
Used simplifier rules: c: ⊦ m + n = n + m; from specification nat-basic2%eq-01: ⊦ m + n = m + n0 ↔ n = n0; from specification nat-basic2%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic2%count-same: ⊦ count(a, bag ++ a) = count(a, bag) + 1; from specification bag-basic