| m0 < bag0.max, ∀ m. (bag0 -- m).max = bag0.max ∨ m = bag0.max ⊦ (m0 = m ⊃ bag0;(bag0 -- m) ++ m0).max = bag0.max, bag0 = ∅, m = bag0.max, m0 = m |
m0 < bag0.max, ∀ m. (bag0 -- m).max = bag0.max ∨ m = bag0.max ⊦ (bag0 = ∅ ++ m ⊃ m0;(m0 < (bag0 -- m).max ⊃ (bag0 -- m).max;m0)) = bag0.max, bag0 = ∅, m = bag0.max, m0 = m
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; (s)