-- File: optlib/Optlib/Algorithm/BCD/Convergence.lean
Theorem statement:
theorem extracted_formal_statement_211 {φ : ℝ → ℝ} {η x y : ℝ} (hx : x ∈ Ioo 0 η) (hy : y ∈ Ioo 0 η)
  (h1 : ConcaveOn ℝ (Ico 0 η) φ) (left : φ 0 = 0) (left_1 : ContDiffOn ℝ 1 φ (Ioo 0 η)) (left_2 : ContinuousAt φ 0)
  (h6 : ∀ x ∈ Ioo 0 η, deriv φ x > 0) (hdiff : DifferentiableAt ℝ φ x) :
  let hx' := Ioo_subset_Ico_self hx;
  let hy' := Ioo_subset_Ico_self hy;
  y < x → deriv φ x ≤ slope φ y x → φ x - φ y ≥ deriv φ x * (x - y) → 0 < x - y := sorry

Tactic state before:
case intro.intro.intro.intro.inr.inr
φ : ℝ → ℝ
η x y : ℝ
hx : x ∈ Ioo 0 η
hy : y ∈ Ioo 0 η
h1 : ConcaveOn ℝ (Ico 0 η) φ
left✝² : φ 0 = 0
left✝¹ : ContDiffOn ℝ 1 φ (Ioo 0 η)
left✝ : ContinuousAt φ 0
h6 : ∀ x ∈ Ioo 0 η, deriv φ x > 0
hdiff : DifferentiableAt ℝ φ x
hx' : x ∈ Ico 0 η := Ioo_subset_Ico_self hx
hy' : y ∈ Ico 0 η := Ioo_subset_Ico_self hy
xgt : y < x
h : deriv φ x ≤ slope φ y x
⊢ φ x - φ y ≥ deriv φ x * (x - y)

Tactic: rw [slope_def_field, le_div_iff₀] at h

Tactic state after:
[case intro.intro.intro.intro.inr.inr
 φ : ℝ → ℝ
 η x y : ℝ
 hx : x ∈ Ioo 0 η
 hy : y ∈ Ioo 0 η
 h1 : ConcaveOn ℝ (Ico 0 η) φ
 left✝² : φ 0 = 0
 left✝¹ : ContDiffOn ℝ 1 φ (Ioo 0 η)
 left✝ : ContinuousAt φ 0
 h6 : ∀ x ∈ Ioo 0 η, deriv φ x > 0
 hdiff : DifferentiableAt ℝ φ x
 hx' : x ∈ Ico 0 η := Ioo_subset_Ico_self hx
 hy' : y ∈ Ico 0 η := Ioo_subset_Ico_self hy
 xgt : y < x
 h : deriv φ x * (x - y) ≤ φ x - φ y
 ⊢ φ x - φ y ≥ deriv φ x * (x - y),
 case intro.intro.intro.intro.inr.inr
 φ : ℝ → ℝ
 η x y : ℝ
 hx : x ∈ Ioo 0 η
 hy : y ∈ Ioo 0 η
 h1 : ConcaveOn ℝ (Ico 0 η) φ
 left✝² : φ 0 = 0
 left✝¹ : ContDiffOn ℝ 1 φ (Ioo 0 η)
 left✝ : ContinuousAt φ 0
 h6 : ∀ x ∈ Ioo 0 η, deriv φ x > 0
 hdiff : DifferentiableAt ℝ φ x
 hx' : x ∈ Ico 0 η := Ioo_subset_Ico_self hx
 hy' : y ∈ Ico 0 η := Ioo_subset_Ico_self hy
 xgt : y < x
 h : deriv φ x ≤ (φ x - φ y) / (x - y)
 ⊢ 0 < x - y]

Premises used:
slope_def_field : ∀ {k : Type u_1} [inst : Field k] (f : k → k) (a b : k), slope f a b = (f b - f a) / (b - a)
le_div_iff₀ : ∀ {G₀ : Type u_2} [inst : GroupWithZero G₀] [inst_1 : PartialOrder G₀] [inst_2 : ZeroLEOneClass G₀]
  [inst_3 : PosMulReflectLT G₀] {a b c : G₀} [inst_4 : MulPosMono G₀], 0 < c → (a ≤ b / c ↔ a * c ≤ b)