| m0 < bag0.max, ∀ 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, ∀ m. (bag0 -- m).max = bag0.max ∨ m = bag0.max ⊦ (m0 = m ⊃ bag0;(bag0 -- m) ++ m0).max = bag0.max, bag0 = ∅, m = bag0.max
Used simplifier rules: ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic