have : dist d c < dist d b + dist b c := by
  by_contra!
  refine habc (generateLine_close_right hdab right_mem_Line ?_)
  exact ⟨adb.ne23, hcd.symm, h₁.2.2.1, this.antisymm (dist_triangle _ _ _)⟩
case intro
V : Type u_1
inst✝² : MetricSpace V
u v w : V
inst✝¹ : Finite V
inst✝ : Nontrivial V
x y z : V
h : ∃ x y z, NotCollinear x y z
S : Set (V × V × V) := {(a, b, c) | NotCollinear a b c}
this : S.Nonempty
f : V × V × V → ℝ :=
  fun x =>
    match x with
    | (a, b, c) => dist a b + dist b c + dist c a
cont : ∀ (x y z : V), SimpleEdges.Adj x y → SimpleEdges.Adj y z → SimpleEdges.Adj z x → ¬NotCollinear x y z
a b c : V
h₁ : NotCollinear a b c
h₂ : ∀ (a' b' c' : V), NotCollinear a' b' c' → dist a b + dist b c + dist c a ≤ dist a' b' + dist b' c' + dist c' a'
d : V
adb : sbtw a d b
habc : c ∉ Line a b
hdab : d ∈ Line a b
hcd : c ≠ d
⊢ False
case intro
V : Type u_1
inst✝² : MetricSpace V
u v w : V
inst✝¹ : Finite V
inst✝ : Nontrivial V
x y z : V
h : ∃ x y z, NotCollinear x y z
S : Set (V × V × V) := {(a, b, c) | NotCollinear a b c}
this✝ : S.Nonempty
f : V × V × V → ℝ :=
  fun x =>
    match x with
    | (a, b, c) => dist a b + dist b c + dist c a
cont : ∀ (x y z : V), SimpleEdges.Adj x y → SimpleEdges.Adj y z → SimpleEdges.Adj z x → ¬NotCollinear x y z
a b c : V
h₁ : NotCollinear a b c
h₂ : ∀ (a' b' c' : V), NotCollinear a' b' c' → dist a b + dist b c + dist c a ≤ dist a' b' + dist b' c' + dist c' a'
d : V
adb : sbtw a d b
habc : c ∉ Line a b
hdab : d ∈ Line a b
hcd : c ≠ d
this : dist d c < dist d b + dist b c
⊢ False