| s.min < a, s.max ∈ s, s.min ∈ s ⊦ # s = 0, (s ++ a) -- s.min = (s -- s.min) ++ a, s = ∅, a ∈ s ∧ a ≠ s.min |
s.min < a, s.max ∈ s, s.min ∈ s ⊦ # 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;% ⊦ ¬ a < a; (s)%lel: ⊦ a < b ∧ a = c → c < b; (forward) from specification oelem% ⊦ a ∈ s -- b ↔ a ≠ b ∧ a ∈ s; (ws)% ⊦ s ++ a = s ↔ a ∈ s; (s)% ⊦ a ∈ s → s ++ a = s; (s)