Theorem: ContinuousMultilinearMap.hasFDerivAt_compContinuousLinearMap_fin (ForML/ContinuousMultilinearMap.lean)

State before:
𝕜 : Type u_1
inst✝¹⁸ : NontriviallyNormedField 𝕜
α : Type u_2
inst✝¹⁷ : NormedAddCommGroup α
inst✝¹⁶ : NormedSpace 𝕜 α
D : Type u_3
inst✝¹⁵ : NormedAddCommGroup D
inst✝¹⁴ : NormedSpace 𝕜 D
ι : Type u_4
inst✝¹³ : Fintype ι
inst✝¹² : DecidableEq ι
E✝ : ι → Type u_5
inst✝¹¹ : (i : ι) → NormedAddCommGroup (E✝ i)
inst✝¹⁰ : (i : ι) → NormedSpace 𝕜 (E✝ i)
E₁✝ : ι → Type u_6
inst✝⁹ : (i : ι) → NormedAddCommGroup (E₁✝ i)
inst✝⁸ : (i : ι) → NormedSpace 𝕜 (E₁✝ i)
G : Type u_7
inst✝⁷ : NormedAddCommGroup G
inst✝⁶ : NormedSpace 𝕜 G
G' : Type u_8
inst✝⁵ : NormedAddCommGroup G'
inst✝⁴ : NormedSpace 𝕜 G'
n : ℕ
E : Fin n → Type u_9
inst✝³ : (i : Fin n) → NormedAddCommGroup (E i)
inst✝² : (i : Fin n) → NormedSpace 𝕜 (E i)
E₁ : Fin n → Type u_10
inst✝¹ : (i : Fin n) → NormedAddCommGroup (E₁ i)
inst✝ : (i : Fin n) → NormedSpace 𝕜 (E₁ i)
g : ContinuousMultilinearMap 𝕜 E₁ G
f : (i : Fin n) → E i →L[𝕜] E₁ i
⊢ HasFDerivAt (fun f => compContinuousLinearMap g f)
    (∑ i : Fin n, ContinuousLinearMap.comp (compContinuousLinearMapUpdate g i f) (ContinuousLinearMap.proj i)) f
Tactic:
induction n with
| zero =>
  simp [Subsingleton.elim _ (0 : (i : Fin 0) → E i →L[𝕜] E₁ i), hasFDerivAt_const]
| succ n =>
  sorry
State after:
no goals

State before:
case zero
𝕜 : Type u_1
inst✝¹⁸ : NontriviallyNormedField 𝕜
α : Type u_2
inst✝¹⁷ : NormedAddCommGroup α
inst✝¹⁶ : NormedSpace 𝕜 α
D : Type u_3
inst✝¹⁵ : NormedAddCommGroup D
inst✝¹⁴ : NormedSpace 𝕜 D
ι : Type u_4
inst✝¹³ : Fintype ι
inst✝¹² : DecidableEq ι
E✝ : ι → Type u_5
inst✝¹¹ : (i : ι) → NormedAddCommGroup (E✝ i)
inst✝¹⁰ : (i : ι) → NormedSpace 𝕜 (E✝ i)
E₁✝ : ι → Type u_6
inst✝⁹ : (i : ι) → NormedAddCommGroup (E₁✝ i)
inst✝⁸ : (i : ι) → NormedSpace 𝕜 (E₁✝ i)
G : Type u_7
inst✝⁷ : NormedAddCommGroup G
inst✝⁶ : NormedSpace 𝕜 G
G' : Type u_8
inst✝⁵ : NormedAddCommGroup G'
inst✝⁴ : NormedSpace 𝕜 G'
E : Fin Nat.zero → Type u_9
inst✝³ : (i : Fin Nat.zero) → NormedAddCommGroup (E i)
inst✝² : (i : Fin Nat.zero) → NormedSpace 𝕜 (E i)
E₁ : Fin Nat.zero → Type u_10
inst✝¹ : (i : Fin Nat.zero) → NormedAddCommGroup (E₁ i)
inst✝ : (i : Fin Nat.zero) → NormedSpace 𝕜 (E₁ i)
g : ContinuousMultilinearMap 𝕜 E₁ G
f : (i : Fin Nat.zero) → E i →L[𝕜] E₁ i
⊢ HasFDerivAt (fun f => compContinuousLinearMap g f)
    (∑ i : Fin Nat.zero, ContinuousLinearMap.comp (compContinuousLinearMapUpdate g i f) (ContinuousLinearMap.proj i)) f
Tactic:
simp [Subsingleton.elim _ (0 : (i : Fin 0) → E i →L[𝕜] E₁ i), hasFDerivAt_const]
State after:
no goals

State before:
case succ
𝕜 : Type u_1
inst✝¹⁸ : NontriviallyNormedField 𝕜
α : Type u_2
inst✝¹⁷ : NormedAddCommGroup α
inst✝¹⁶ : NormedSpace 𝕜 α
D : Type u_3
inst✝¹⁵ : NormedAddCommGroup D
inst✝¹⁴ : NormedSpace 𝕜 D
ι : Type u_4
inst✝¹³ : Fintype ι
inst✝¹² : DecidableEq ι
E✝ : ι → Type u_5
inst✝¹¹ : (i : ι) → NormedAddCommGroup (E✝ i)
inst✝¹⁰ : (i : ι) → NormedSpace 𝕜 (E✝ i)
E₁✝ : ι → Type u_6
inst✝⁹ : (i : ι) → NormedAddCommGroup (E₁✝ i)
inst✝⁸ : (i : ι) → NormedSpace 𝕜 (E₁✝ i)
G : Type u_7
inst✝⁷ : NormedAddCommGroup G
inst✝⁶ : NormedSpace 𝕜 G
G' : Type u_8
inst✝⁵ : NormedAddCommGroup G'
inst✝⁴ : NormedSpace 𝕜 G'
n : ℕ
n_ih✝ :
  ∀ {E : Fin n → Type u_9} [inst : (i : Fin n) → NormedAddCommGroup (E i)] [inst_1 : (i : Fin n) → NormedSpace 𝕜 (E i)]
    {E₁ : Fin n → Type u_10} [inst_2 : (i : Fin n) → NormedAddCommGroup (E₁ i)]
    [inst_3 : (i : Fin n) → NormedSpace 𝕜 (E₁ i)] {g : ContinuousMultilinearMap 𝕜 E₁ G}
    {f : (i : Fin n) → E i →L[𝕜] E₁ i},
    HasFDerivAt (fun f => compContinuousLinearMap g f)
      (∑ i : Fin n, ContinuousLinearMap.comp (compContinuousLinearMapUpdate g i f) (ContinuousLinearMap.proj i)) f
E : Fin (Nat.succ n) → Type u_9
inst✝³ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (E i)
inst✝² : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (E i)
E₁ : Fin (Nat.succ n) → Type u_10
inst✝¹ : (i : Fin (Nat.succ n)) → NormedAddCommGroup (E₁ i)
inst✝ : (i : Fin (Nat.succ n)) → NormedSpace 𝕜 (E₁ i)
g : ContinuousMultilinearMap 𝕜 E₁ G
f : (i : Fin (Nat.succ n)) → E i →L[𝕜] E₁ i
⊢ HasFDerivAt (fun f => compContinuousLinearMap g f)
    (∑ i : Fin (Nat.succ n),
      ContinuousLinearMap.comp (compContinuousLinearMapUpdate g i f) (ContinuousLinearMap.proj i))
    f
Tactic:
sorry
State after:
no goals