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