| ¬ a ≠ a0, count(a, (bag0 -- a0) \ bag) = (count(a, bag) < count(a, bag0) - (a = a0 ∧ count(a0, bag0) ≠ 0 ⊃ 1;0) ⊃ count(a, bag0) - (a = a0 ∧ count(a0, bag0) ≠ 0 ⊃ 1;0) - count(a, bag);0) ⊦ count(a, (bag0 -- a0) \ bag) = (count(a, bag ++ a0) < count(a, bag0) ⊃ count(a, bag0) - count(a, bag ++ a0);0) |
count(a0, (bag0 -- a0) \ bag) = (count(a0, bag) + (count(a0, bag0) ≠ 0 ⊃ 1;0) < count(a0, bag0) ⊃ count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0) - count(a0, bag);0) ⊦ count(a0, (bag0 -- a0) \ bag) = (count(a0, bag) + 1 < count(a0, bag0) ⊃ count(a0, bag0) - count(a0, bag) + 1;0)
Used simplifier rules: ls: n0 ≤ n ⊦ m < n - n0 ↔ m + n0 < n; from specification nat%one-01: ⊦ m < 1 ↔ m = 0; from specification nat-basic1%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic1%count-same: ⊦ count(a, bag ++ a) = count(a, bag) + 1; from specification bag-basic%lels-01: ⊦ ¬ m ≤ n ↔ n < m; from specification nat