| bag1.max < (bag ++ m).max, bag ++ m ⊆ bag1, ∀ bag1. bag1.max < bag.max ∧ bag ⊆ bag1 → bag = ∅ ⊦ bag ++ m = ∅ |
(bag0 = ∅ ⊃ m;(m < bag0.max ⊃ bag0.max;m)) < (bag = ∅ ⊃ m;(m < bag.max ⊃ bag.max;m)), bag ⊆ bag0, (∃ bag1. bag1.max < bag.max ∧ bag ⊆ bag1) → bag = ∅ ⊦
Used simplifier rules: max-rec: ⊦ (bag ++ n).max = (bag = ∅ ⊃ n;(bag.max > n ⊃ bag.max;n));% ⊦ m < n → n ≠ 0; (s)%f: ⊦ m < n → n ≠ 0; (forward) from specification nat-basic% ⊦ m > n ↔ n < m; (s)% ⊦ bag ++ n ⊆ bag3 ↔ (∃ bag4. bag3 = bag4 ++ n ∧ bag ⊆ bag4); (as)% ⊦ bag0 ++ n ≠ ∅; (s)