-- File: optlib/Optlib/Algorithm/BCD/Scheme.lean
Theorem statement:
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 : NormedAddCommGroup F] [inst_3 : InnerProductSpace ℝ F]
  {H : WithLp 2 (E × F) → ℝ} (h : Differentiable ℝ H) (x : E) (h_original_goal : Differentiable ℝ fun y => H (x, y)) :
  Differentiable ℝ (Prod.mk x) := sorry

Tactic state before:
E : Type u_1
F : Type u_2
inst✝³ : NormedAddCommGroup E
inst✝² : InnerProductSpace ℝ E
inst✝¹ : NormedAddCommGroup F
inst✝ : InnerProductSpace ℝ F
H : WithLp 2 (E × F) → ℝ
h : Differentiable ℝ H
x : E
⊢ Differentiable ℝ fun y => H (x, y)

Tactic: apply Differentiable.comp (diff_from_l2 h)

Tactic state after:
[E : Type u_1
 F : Type u_2
 inst✝³ : NormedAddCommGroup E
 inst✝² : InnerProductSpace ℝ E
 inst✝¹ : NormedAddCommGroup F
 inst✝ : InnerProductSpace ℝ F
 H : WithLp 2 (E × F) → ℝ
 h : Differentiable ℝ H
 x : E
 ⊢ Differentiable ℝ (Prod.mk x)]

Premises used:
diff_from_l2 : ∀ {E : Type u_1} {F : Type u_2} [inst : NormedAddCommGroup E] [inst_4 : InnerProductSpace ℝ E]
  [inst_5 : NormedAddCommGroup F] [inst_6 : InnerProductSpace ℝ F] {H : WithLp 2 (E × F) → ℝ},
  Differentiable ℝ H → Differentiable ℝ H
Differentiable.comp : ∀ {𝕜 : Type u_1} [inst : NontriviallyNormedField 𝕜] {E : Type u_2} [inst_4 : NormedAddCommGroup E]
  [inst_5 : NormedSpace 𝕜 E] {F : Type u_3} [inst_6 : NormedAddCommGroup F] [inst_7 : NormedSpace 𝕜 F] {G : Type u_4}
  [inst_8 : NormedAddCommGroup G] [inst_9 : NormedSpace 𝕜 G] {f : E → F} {g : F → G},
  Differentiable 𝕜 g → Differentiable 𝕜 f → Differentiable 𝕜 (g ∘ f)