simp [smallest]
α : Type
inst✝ : LinearOrder α
l : List α
head : α
tail : List α
hyp : head :: tail ≠ []
⊢ smallest (head :: tail) hyp ∈ head :: tail
α : Type
inst✝ : LinearOrder α
l : List α
head : α
tail : List α
hyp : head :: tail ≠ []
⊢ (∀ (h : ¬tail = []), head ≤ smallest tail h) ∨ (if c : tail = [] then head else min head (smallest tail c)) ∈ tail