internlm/Lean-Github huggingface dataset:
Theorem: HasFDerivAt.hasFPiDerivAt
Proof state before:
case h.h
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
⊢ (Pi.single i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Pi.single i m j
Tactic:
simp [Pi.single]
Proof state after:
case h.h
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j
Theorem: HasFDerivAt.hasFPiDerivAt
Proof state before:
case h.h
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j
Tactic:
by_cases h : j = i
Proof state after:
case pos
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j

case neg
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : ¬j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j
Theorem: HasFDerivAt.hasFPiDerivAt
Proof state before:
case pos
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j

case neg
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : ¬j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j
Tactic:
. rw [h]
  simp
Proof state after:
case neg
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : ¬j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j
Theorem: HasFDerivAt.hasFPiDerivAt
Proof state before:
case neg
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : ¬j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j
Tactic:
. simp [h]
Proof state after:
no goals
Theorem: HasFDerivAt.hasFPiDerivAt
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
⊢ HasFDerivAt f f' (Function.update x i (x i))
Tactic:
simpa
Proof state after:
no goals
Theorem: HasFDerivAt.hasFPiDerivAt
Proof state before:
case pos
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j
Tactic:
rw [h]
Proof state after:
case pos
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) i) m = Function.update 0 i m i
Theorem: HasFDerivAt.hasFPiDerivAt
Proof state before:
case pos
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) i) m = Function.update 0 i m i
Tactic:
simp
Proof state after:
no goals
Theorem: HasFDerivAt.hasFPiDerivAt
Proof state before:
case neg
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
f' : ((i : ι) → M i) →L[𝕜] F
x : (i : ι) → M i
hf : HasFDerivAt f f' x
m : M i
j : ι
h : ¬j = i
⊢ (Function.update 0 i (ContinuousLinearMap.id 𝕜 (M i)) j) m = Function.update 0 i m j
Tactic:
simp [h]
Proof state after:
no goals
Theorem: HasFDerivAt.hasPiDerivAt
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : (ι → 𝕜) → F
f' : (ι → 𝕜) →L[𝕜] F
x : ι → 𝕜
hf : HasFDerivAt f f' x
⊢ HasPiDerivAt i f (f' (Pi.single i 1)) x
Tactic:
change HasPiDerivAt i f (f'.comp (ContinuousLinearMap.single i) 1) x
Proof state after:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : (ι → 𝕜) → F
f' : (ι → 𝕜) →L[𝕜] F
x : ι → 𝕜
hf : HasFDerivAt f f' x
⊢ HasPiDerivAt i f ((ContinuousLinearMap.comp f' (ContinuousLinearMap.single i)) 1) x
Theorem: HasFDerivAt.hasPiDerivAt
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : (ι → 𝕜) → F
f' : (ι → 𝕜) →L[𝕜] F
x : ι → 𝕜
hf : HasFDerivAt f f' x
⊢ HasPiDerivAt i f ((ContinuousLinearMap.comp f' (ContinuousLinearMap.single i)) 1) x
Tactic:
rw [← hasFPiDerivAt_iff_hasPiDerivAt]
Proof state after:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : (ι → 𝕜) → F
f' : (ι → 𝕜) →L[𝕜] F
x : ι → 𝕜
hf : HasFDerivAt f f' x
⊢ HasFPiDerivAt i f (ContinuousLinearMap.comp f' (ContinuousLinearMap.single i)) x
Theorem: HasFDerivAt.hasPiDerivAt
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : (ι → 𝕜) → F
f' : (ι → 𝕜) →L[𝕜] F
x : ι → 𝕜
hf : HasFDerivAt f f' x
⊢ HasFPiDerivAt i f (ContinuousLinearMap.comp f' (ContinuousLinearMap.single i)) x
Tactic:
exact hasFPiDerivAt hf
Proof state after:
no goals
Theorem: fpideriv_apply_eq_fderiv_apply_single
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
x : (i : ι) → M i
m : M i
hf : DifferentiableAt 𝕜 f x
⊢ (fpideriv 𝕜 i f x) m = (fderiv 𝕜 f x) (Pi.single i m)
Tactic:
rw [fpideriv_eq_fderiv_comp_single hf]
Proof state after:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
x : (i : ι) → M i
m : M i
hf : DifferentiableAt 𝕜 f x
⊢ (ContinuousLinearMap.comp (fderiv 𝕜 f x) (ContinuousLinearMap.single i)) m = (fderiv 𝕜 f x) (Pi.single i m)
Theorem: fpideriv_apply_eq_fderiv_apply_single
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : ((i : ι) → M i) → F
x : (i : ι) → M i
m : M i
hf : DifferentiableAt 𝕜 f x
⊢ (ContinuousLinearMap.comp (fderiv 𝕜 f x) (ContinuousLinearMap.single i)) m = (fderiv 𝕜 f x) (Pi.single i m)
Tactic:
rfl
Proof state after:
no goals
Theorem: fpideriv_apply_eq_smul_pideriv
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
m : 𝕜
⊢ (fpideriv 𝕜 i f x) m = m • pideriv i f x
Tactic:
rw [← pideriv_fpideriv]
Proof state after:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
m : 𝕜
⊢ (ContinuousLinearMap.smulRight 1 (pideriv i f x)) m = m • pideriv i f x
Theorem: fpideriv_apply_eq_smul_pideriv
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
m : 𝕜
⊢ (ContinuousLinearMap.smulRight 1 (pideriv i f x)) m = m • pideriv i f x
Tactic:
simp
Proof state after:
no goals
Theorem: fderiv_eq_copi_fderiv_comp_single
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
⊢ fderiv 𝕜 f x =
    ContinuousLinearMap.copi fun i => ContinuousLinearMap.comp (fderiv 𝕜 f x) (ContinuousLinearMap.single i)
Tactic:
rw [ContinuousLinearMap.copi_comp_single]
Proof state after:
no goals
Theorem: fderiv_eq_copi_fpideriv
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ fderiv 𝕜 f x = ContinuousLinearMap.copi fun i => fpideriv 𝕜 i f x
Tactic:
rw [fderiv_eq_copi_fderiv_comp_single]
Proof state after:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ (ContinuousLinearMap.copi fun i => ContinuousLinearMap.comp (fderiv 𝕜 f x) (ContinuousLinearMap.single i)) =
    ContinuousLinearMap.copi fun i => fpideriv 𝕜 i f x
Theorem: fderiv_eq_copi_fpideriv
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ (ContinuousLinearMap.copi fun i => ContinuousLinearMap.comp (fderiv 𝕜 f x) (ContinuousLinearMap.single i)) =
    ContinuousLinearMap.copi fun i => fpideriv 𝕜 i f x
Tactic:
congr
Proof state after:
case e_f
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ (fun i => ContinuousLinearMap.comp (fderiv 𝕜 f x) (ContinuousLinearMap.single i)) = fun i => fpideriv 𝕜 i f x
Theorem: fderiv_eq_copi_fpideriv
Proof state before:
case e_f
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ (fun i => ContinuousLinearMap.comp (fderiv 𝕜 f x) (ContinuousLinearMap.single i)) = fun i => fpideriv 𝕜 i f x
Tactic:
ext i m
Proof state after:
case e_f.h.h
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
i : ι
m : M i
⊢ (ContinuousLinearMap.comp (fderiv 𝕜 f x) (ContinuousLinearMap.single i)) m = (fpideriv 𝕜 i f x) m
Theorem: fderiv_eq_copi_fpideriv
Proof state before:
case e_f.h.h
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
i : ι
m : M i
⊢ (ContinuousLinearMap.comp (fderiv 𝕜 f x) (ContinuousLinearMap.single i)) m = (fpideriv 𝕜 i f x) m
Tactic:
simp
Proof state after:
case e_f.h.h
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
i : ι
m : M i
⊢ (fderiv 𝕜 f x) (Pi.single i m) = (fpideriv 𝕜 i f x) m
Theorem: fderiv_eq_copi_fpideriv
Proof state before:
case e_f.h.h
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
i : ι
m : M i
⊢ (fderiv 𝕜 f x) (Pi.single i m) = (fpideriv 𝕜 i f x) m
Tactic:
exact (fpideriv_apply_eq_fderiv_apply_single hf).symm
Proof state after:
no goals
Theorem: fderiv_apply_eq_sum_fpideriv
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x m : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ (fderiv 𝕜 f x) m = ∑ i : ι, (fpideriv 𝕜 i f x) (m i)
Tactic:
rw [fderiv_eq_copi_fpideriv hf]
Proof state after:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x m : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ (ContinuousLinearMap.copi fun i => fpideriv 𝕜 i f x) m = ∑ i : ι, (fpideriv 𝕜 i f x) (m i)
Theorem: fderiv_apply_eq_sum_fpideriv
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x m : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ (ContinuousLinearMap.copi fun i => fpideriv 𝕜 i f x) m = ∑ i : ι, (fpideriv 𝕜 i f x) (m i)
Tactic:
rfl
Proof state after:
no goals
Theorem: fderiv_apply_eq_sum_fderiv_apply_single
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x m : (i : ι) → M i
⊢ (fderiv 𝕜 f x) m = ∑ i : ι, (fderiv 𝕜 f x) (Pi.single i (m i))
Tactic:
conv => lhs; rw [fderiv_eq_copi_fderiv_comp_single]
Proof state after:
no goals
Theorem: norm_fderiv_le_sum_norm_fpideriv
Proof state before:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ ‖fderiv 𝕜 f x‖ ≤ ∑ i : ι, ‖fpideriv 𝕜 i f x‖
Tactic:
rw [ContinuousLinearMap.opNorm_le_iff (Finset.sum_nonneg (fun i _ => norm_nonneg _))]
Proof state after:
ι : Type u_1
𝕜 : Type u_2
inst✝⁸ : Fintype ι
inst✝⁷ : DecidableEq ι
inst✝⁶ : NontriviallyNormedField 𝕜
E : Type u_3
inst✝⁵ : NormedAddCommGroup E
inst✝⁴ : NormedSpace 𝕜 E
M : ι → Type u_4
inst✝³ : (i : ι) → NormedAddCommGroup (M i)
inst✝² : (i : ι) → NormedSpace 𝕜 (M i)
F : Type u_5
inst✝¹ : NormedAddCommGroup F
inst✝ : NormedSpace 𝕜 F
f : ((i : ι) → M i) → F
x : (i : ι) → M i
hf : DifferentiableAt 𝕜 f x
⊢ ∀ (x_1 : (i : ι) → M i), ‖(fderiv 𝕜 f x) x_1‖ ≤ (∑ i : ι, ‖fpideriv 𝕜 i f x‖) * ‖x_1‖