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