| ∀ m. (bag0 -- m).max = bag0.max ∨ m = bag0.max ⊦ (m0 = m ⊃ bag0;(bag0 -- m) ++ m0).max = (m0 < bag0.max ⊃ bag0.max;m0), bag0 = ∅, m = (m0 < bag0.max ⊃ bag0.max;m0), m0 < bag0.max |
bag0.max ≤ m0, ∀ m. (bag0 -- m).max = bag0.max ∨ m = bag0.max ⊦ (bag0 = ∅ ++ m ⊃ m0;(m0 < (bag0 -- m).max ⊃ (bag0 -- m).max;m0)) = m0, bag0 = ∅, m = m0
Used simplifier rules: max-rec: ⊦ (bag ++ n).max = (bag = ∅ ⊃ n;(bag.max > n ⊃ bag.max;n));%bag-rem-empty: ⊦ bag ≠ ∅ → (bag -- n = ∅ ↔ bag = ∅ ++ n);% ⊦ m < n ↔ ¬ n ≤ m; (ss)% ⊦ m > n ↔ n < m; (s)