theorem extracted_formal_statement_56 {n m : ℕ+} {b : Fin ↑m → ℝ} {A : Matrix (Fin ↑m) (Fin ↑n) ℝ}
  (x : EuclideanSpace ℝ (Fin ↑n)) :
  let f := fun x => 1 / 2 * A *ᵥ x ⬝ᵥ A *ᵥ x;
  let f' := fun x => Aᵀ *ᵥ A *ᵥ x;
  let g := fun x => (1 / 2) • 2 • Aᵀ *ᵥ A *ᵥ x;
  (∀ (x : EuclideanSpace ℝ (Fin ↑n)), f' x = g x) → HasGradientAt f (f' x) x → HasGradientAt f (g x) x := sorry

State before:
n m : ℕ+
b : Fin ↑m → ℝ
A : Matrix (Fin ↑m) (Fin ↑n) ℝ
x : EuclideanSpace ℝ (Fin ↑n)
f : EuclideanSpace ℝ (Fin ↑n) → ℝ := fun x => 1 / 2 * A *ᵥ x ⬝ᵥ A *ᵥ x
f' : EuclideanSpace ℝ (Fin ↑n) → Fin ↑n → ℝ := fun x => Aᵀ *ᵥ A *ᵥ x
g : EuclideanSpace ℝ (Fin ↑n) → Fin ↑n → ℝ := fun x => (1 / 2) • 2 • Aᵀ *ᵥ A *ᵥ x
f'eqg : ∀ (x : EuclideanSpace ℝ (Fin ↑n)), f' x = g x
⊢ HasGradientAt f (f' x) x

Tactic: rw [f'eqg]

State after:
[n m : ℕ+
 b : Fin ↑m → ℝ
 A : Matrix (Fin ↑m) (Fin ↑n) ℝ
 x : EuclideanSpace ℝ (Fin ↑n)
 f : EuclideanSpace ℝ (Fin ↑n) → ℝ := fun x => 1 / 2 * A *ᵥ x ⬝ᵥ A *ᵥ x
 f' : EuclideanSpace ℝ (Fin ↑n) → Fin ↑n → ℝ := fun x => Aᵀ *ᵥ A *ᵥ x
 g : EuclideanSpace ℝ (Fin ↑n) → Fin ↑n → ℝ := fun x => (1 / 2) • 2 • Aᵀ *ᵥ A *ᵥ x
 f'eqg : ∀ (x : EuclideanSpace ℝ (Fin ↑n)), f' x = g x
 ⊢ HasGradientAt f (g x) x]

Relevant lemmas: