| count(a0, (bag0 -- a0) \ bag) = count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0) - count(a0, bag), count(a0, bag) < count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0), count(a0, bag0) ≤ count(a0, bag) + 1 ⊦ count(a0, (bag0 -- a0) \ bag) = 0 |
count(a0, (bag0 -- a0) \ bag) = count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0) - count(a0, bag), count(a0, bag) < count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0), count(a0, bag0) ≤ count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0), count(a0, bag0) ≤ count(a0, bag) + 1 ⊦ count(a0, (bag0 -- a0) \ bag) = 0
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%c: ⊦ m + n = n + m; from specification nat-basic%a: ⊦ (m + n0) + n1 = m + n0 + n1; from specification nat-basic%le-one: ⊦ m ≤ n + 1 ∧ n < n0 → m ≤ n0; (forward) from specification nat%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic