-- File: optlib/Optlib/Algorithm/BCD/Convergence.lean
Theorem statement:
theorem extracted_formal_statement_0.{u_1} {E : Type u_1} [inst : NormedAddCommGroup E] {s : Set E} (hs : s.Nonempty)
  (x : E) (xs : x ∈ s) (this : EMetric.infEdist 0 s ≤ edist 0 x)
  (h_original_goal : ENNReal.ofReal ‖x‖ ≥ EMetric.infEdist 0 s) :
  ENNReal.ofReal (dist 0 x) ≥ EMetric.infEdist 0 s := sorry

Tactic state before:
case neg
E : Type u_1
inst✝ : NormedAddCommGroup E
s : Set E
hs : s.Nonempty
x : E
xs : x ∈ s
this : EMetric.infEdist 0 s ≤ edist 0 x
⊢ ENNReal.ofReal ‖x‖ ≥ EMetric.infEdist 0 s

Tactic: rw [← dist_zero_left]

Tactic state after:
[case neg
 E : Type u_1
 inst✝ : NormedAddCommGroup E
 s : Set E
 hs : s.Nonempty
 x : E
 xs : x ∈ s
 this : EMetric.infEdist 0 s ≤ edist 0 x
 ⊢ ENNReal.ofReal (dist 0 x) ≥ EMetric.infEdist 0 s]

Premises used:
dist_zero_left : ∀ {E : Type u_5} [inst : SeminormedAddGroup E] (a : E), dist 0 a = ‖a‖