theorem extracted_formal_statement_5.{u_2, u_1} {E : Type u_1} {F : Type u_2} [inst : NormedAddCommGroup E]
  [inst_1 : InnerProductSpace ℝ E] [inst_2 : CompleteSpace E] [inst_3 : NormedAddCommGroup F]
  [inst_4 : InnerProductSpace ℝ F] [inst_5 : CompleteSpace F] {f : E → ℝ} {g : F → ℝ} {H : WithLp 2 (E × F) → ℝ}
  {x0 : E} {y0 : F} {l : NNReal} {alg : BCD f g H l x0 y0} (γ : ℝ) (hγ : γ > 1) (ck : ∀ (k : ℕ), alg.c k = 1 / (γ * ↑l))
  (dk : ∀ (k : ℕ), alg.d k = 1 / (γ * ↑l)) (l1 : ∀ (y : F), LipschitzWith l (grad_fst H y))
  (l2 : ∀ (x : E), LipschitzWith l (grad_snd H x)) (k : ℕ)
  (hHf :
    H (alg.x (k + 1), alg.y k) + f (alg.x (k + 1)) ≤
      H (alg.x k, alg.y k) + f (alg.x k) - 1 / 2 * (γ - 1) * ↑l * ‖alg.x (k + 1) - alg.x k‖ ^ 2) :
  let h := fun y => H (alg.x (k + 1), y);
  let h' := fun y => grad_snd H (alg.x (k + 1)) y;
  ∀ (y : F), HasGradientAt h (h' y) y := sorry

State before:
E : Type u_1
F : Type u_2
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : InnerProductSpace ℝ E
inst✝³ : CompleteSpace E
inst✝² : NormedAddCommGroup F
inst✝¹ : InnerProductSpace ℝ F
inst✝ : CompleteSpace F
f : E → ℝ
g : F → ℝ
H : WithLp 2 (E × F) → ℝ
x0 : E
y0 : F
l : NNReal
alg : BCD f g H l x0 y0
γ : ℝ
hγ : γ > 1
ck : ∀ (k : ℕ), alg.c k = 1 / (γ * ↑l)
dk : ∀ (k : ℕ), alg.d k = 1 / (γ * ↑l)
ρ₁ : ℝ := (γ - 1) * ↑l
l1 : ∀ (y : F), LipschitzWith l (grad_fst H y)
l2 : ∀ (x : E), LipschitzWith l (grad_snd H x)
k : ℕ
hHf :
  H (alg.x (k + 1), alg.y k) + f (alg.x (k + 1)) ≤
    H (alg.x k, alg.y k) + f (alg.x k) - 1 / 2 * (γ - 1) * ↑l * ‖alg.x (k + 1) - alg.x k‖ ^ 2
h : F → ℝ := fun y => H (alg.x (k + 1), y)
h' : F → F := fun y => grad_snd H (alg.x (k + 1)) y
y : F
⊢ HasGradientAt h (h' y) y

Tactic: apply DifferentiableAt.hasGradientAt
    apply diff_prod₂
    apply ContDiff.differentiable alg.conf (by simp)

State after:

Relevant lemmas:
ContDiff.differentiable : ∀ {𝕜 : Type u} [inst : NontriviallyNormedField 𝕜] {E : Type uE}
  [inst_6 : NormedAddCommGroup E] [inst_7 : NormedSpace 𝕜 E] {F : Type uF} [inst_8 : NormedAddCommGroup F]
  [inst_9 : NormedSpace 𝕜 F] {f : E → F} {n : WithTop ℕ∞}, ContDiff 𝕜 n f → 1 ≤ n → Differentiable 𝕜 f
DifferentiableAt.hasGradientAt : ∀ {𝕜 : Type u_1} {F : Type u_2} [inst : RCLike 𝕜] [inst_6 : NormedAddCommGroup F]
  [inst_7 : InnerProductSpace 𝕜 F] [inst_8 : CompleteSpace F] {f : F → 𝕜} {x : F},
  DifferentiableAt 𝕜 f x → HasGradientAt f (gradient f x) x
diff_prod₂ : ∀ {E : Type u_1} {F : Type u_2} [inst : NormedAddCommGroup E] [inst_6 : InnerProductSpace ℝ E]
  [inst_7 : NormedAddCommGroup F] [inst_8 : InnerProductSpace ℝ F] {H : WithLp 2 (E × F) → ℝ},
  Differentiable ℝ H → ∀ (x : E), Differentiable ℝ fun y => H (x, y)