| count(a0, bag1) < count(a0, bag0), count(a0, bag0 ++ a) < count(a0, bag0), count(a0, bag0 ++ a) ≤ count(a0, bag1), ∀ a0. count(a0, bag0 ++ a) ≤ count(a0, bag1) ⊦ |
⊦ a ≠ b → count(a, bag ++ b) = count(a, bag)
Used simplifier rules: ⊦ m ≤ n → (n < m ↔ false); (s)% ⊦ count(a, bag ++ a) = count(a, bag) + 1; (s)% ⊦ m + 1 ≤ n ↔ m < n; (s)% ⊦ m < n → ¬ n < m; (s)%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%c: ⊦ m + n = n + m; from specification nat-basic Used terms: a, bag0, a0