| s.min = s.butmin.min ⊦ # s = 1, s = ∅ |
s.min = (s -- s.min).min, s.max ∈ s, s.min ∈ s ⊦ # s = 0, # s = 1, s = ∅, s.max < s.min
Used simplifier rules: Butmin: ⊦ s ≠ ∅ → s.butmin = s -- s.min;%Max-in: ⊦ s ≠ ∅ → s.max ∈ s;%Min-in: ⊦ s ≠ ∅ → s.min ∈ s;%Max-max: ⊦ a ∈ s → ¬ s.max < a;%Min-min: ⊦ a ∈ s → ¬ a < s.min;%nen: ⊦ ¬ b < a ∧ a = c → ¬ b < c; (forward) from specification oelem% ⊦ ¬ a < a; (s)%ne-01: ⊦ a ∈ s → s ≠ ∅; (forward) from specification set-basic%size-zero-01: ⊦ s ≠ ∅ → # s ≠ 0; (forward) from specification set-basic