-- File: optlib/Optlib/Algorithm/LASSO.lean
Theorem statement:
theorem extracted_formal_statement_40 {n m : ℕ+} {b : Fin ↑m → ℝ} {A : Matrix (Fin ↑m) (Fin ↑n) ℝ}
  (x : EuclideanSpace ℝ (Fin ↑n)) (h_original_goal : HasGradientAt (fun x => b ⬝ᵥ A *ᵥ x) (Aᵀ *ᵥ b) x) (ε : ℝ) :
  ε > 0 →
    ∃ δ > 0,
      ∀ (x' : EuclideanSpace ℝ (Fin ↑n)),
        ‖x - x'‖ ≤ δ → ‖b ⬝ᵥ A *ᵥ x' - b ⬝ᵥ A *ᵥ x - inner (Aᵀ *ᵥ b) (x' - x)‖ ≤ ε * ‖x - x'‖ := sorry

Tactic state before:
n m : ℕ+
b : Fin ↑m → ℝ
A : Matrix (Fin ↑m) (Fin ↑n) ℝ
x : EuclideanSpace ℝ (Fin ↑n)
⊢ HasGradientAt (fun x => b ⬝ᵥ A *ᵥ x) (Aᵀ *ᵥ b) x

Tactic: rw [HasGradient_iff_Convergence_Point]

Tactic state after:
[n m : ℕ+
 b : Fin ↑m → ℝ
 A : Matrix (Fin ↑m) (Fin ↑n) ℝ
 x : EuclideanSpace ℝ (Fin ↑n)
 ⊢ ∀ ε > 0,
     ∃ δ > 0,
       ∀ (x' : EuclideanSpace ℝ (Fin ↑n)),
         ‖x - x'‖ ≤ δ → ‖b ⬝ᵥ A *ᵥ x' - b ⬝ᵥ A *ᵥ x - inner (Aᵀ *ᵥ b) (x' - x)‖ ≤ ε * ‖x - x'‖]

Premises used:
HasGradient_iff_Convergence_Point : ∀ {E : Type u_1} [inst : NormedAddCommGroup E] [inst_1 : InnerProductSpace ℝ E]
  [inst_2 : CompleteSpace E] {x : E} {f : E → ℝ} {f'x : E},
  HasGradientAt f f'x x ↔ ∀ ε > 0, ∃ δ > 0, ∀ (x' : E), ‖x - x'‖ ≤ δ → ‖f x' - f x - inner f'x (x' - x)‖ ≤ ε * ‖x - x'‖