| count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0) = n0 + count(a0, bag), count(a0, (bag0 -- a0) \ bag) = n0, count(a0, bag) < count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0), count(a0, bag0) ≤ count(a0, bag) + 1, count(a0, bag0) ≤ count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0), count(a0, bag) ≤ count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0) ⊦ count(a0, (bag0 -- a0) \ bag) = 0 |
count(a0, bag0) - (count(a0, bag0) ≠ 0 ⊃ 1;0) = count(a0, (bag0 -- a0) \ bag) + count(a0, bag), count(a0, bag0) ≤ count(a0, bag) + 1, count(a0, bag0) ≤ count(a0, (bag0 -- a0) \ bag) + count(a0, bag) ⊦ count(a0, (bag0 -- a0) \ bag) = 0
Used simplifier rules: ⊦ m < m + n ↔ n ≠ 0; (s)% ⊦ 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%lf-01: ⊦ m < n ∧ n = n0 → m < n0; (forward) from specification nat-basic%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m < n → m ≤ n; (s)