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