| ¬(a ∈ s ∧ a ≠ s.min), s.min < a, s.min ∈ s, s.max ∈ s ⊦ s = ∅, (s ++ a) -- s.min = (s -- s.min) ++ a, # s = 0 |
s.max ∈ s, s.min ∈ s, s.min < a ⊦ # s = 0, (s ++ a) -- s.min = (s -- s.min) ++ a, s = ∅, a ∈ s
Used simplifier rules: Max-max: ⊦ a ∈ s → ¬ s.max < a;%Min-min: ⊦ a ∈ s → ¬ a < s.min;%irreflexivity: ⊦ ¬ a < a; from specification oelem%lel: ⊦ a < b ∧ a = c → c < b; (forward) from specification oelem%Delete: ⊦ a ∈ s -- b ↔ a ≠ b ∧ a ∈ s; from specification set-union%eq-03: ⊦ s ++ a = s ↔ a ∈ s; from specification set-basic%eq: ⊦ a ∈ s → s ++ a = s; from specification set-basic