| m < bag0.max, bag0 = ∅ ++ bag0.max ∨ bag0.max = (bag0 -- bag0.max).max ∨ count(bag0.max, bag0) = 1 ⊦ (m < bag0.max ⊃ bag0.max;m) = (m = (m < bag0.max ⊃ bag0.max;m) ⊃ bag0;(bag0 -- bag0.max) ++ m).max, (m = (m < bag0.max ⊃ bag0.max;m) ⊃ bag0;(bag0 -- bag0.max) ++ m) = ∅, bag0 = ∅, count(bag0.max, bag0 ++ m) = 1 |
m < bag0.max, bag0 = ∅ ++ bag0.max ∨ bag0.max = (bag0 -- bag0.max).max ∨ count(bag0.max, bag0) = 1 ⊦ bag0.max = (m = bag0.max ⊃ bag0;(bag0 -- bag0.max) ++ m).max, (m = bag0.max ⊃ bag0;(bag0 -- bag0.max) ++ m) = ∅, bag0 = ∅, count(bag0.max, bag0 ++ m) = 1
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic