Theorem: norm_fderiv_le_sum_norm_fpideriv (ForML/IndexDeriv.lean)

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 _))]
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‖

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
⊢ ∀ (x_1 : (i : ι) → M i), ‖(fderiv 𝕜 f x) x_1‖ ≤ (∑ i : ι, ‖fpideriv 𝕜 i f x‖) * ‖x_1‖
Tactic:
intro u
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
u : (i : ι) → M i
⊢ ‖(fderiv 𝕜 f x) u‖ ≤ (∑ i : ι, ‖fpideriv 𝕜 i f x‖) * ‖u‖

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
u : (i : ι) → M i
⊢ ‖(fderiv 𝕜 f x) u‖ ≤ (∑ i : ι, ‖fpideriv 𝕜 i f x‖) * ‖u‖
Tactic:
rw [fderiv_apply_eq_sum_fpideriv hf]
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
u : (i : ι) → M i
⊢ ‖∑ i : ι, (fpideriv 𝕜 i f x) (u i)‖ ≤ (∑ i : ι, ‖fpideriv 𝕜 i f x‖) * ‖u‖

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
u : (i : ι) → M i
⊢ ‖∑ i : ι, (fpideriv 𝕜 i f x) (u i)‖ ≤ (∑ i : ι, ‖fpideriv 𝕜 i f x‖) * ‖u‖
Tactic:
refine le_trans (norm_sum_le _ _) ?_
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
u : (i : ι) → M i
⊢ ∑ i : ι, ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ (∑ i : ι, ‖fpideriv 𝕜 i f x‖) * ‖u‖

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
u : (i : ι) → M i
⊢ ∑ i : ι, ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ (∑ i : ι, ‖fpideriv 𝕜 i f x‖) * ‖u‖
Tactic:
rw [Finset.sum_mul]
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
u : (i : ι) → M i
⊢ ∑ i : ι, ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ ∑ i : ι, ‖fpideriv 𝕜 i f x‖ * ‖u‖

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
u : (i : ι) → M i
⊢ ∑ i : ι, ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ ∑ i : ι, ‖fpideriv 𝕜 i f x‖ * ‖u‖
Tactic:
refine Finset.sum_le_sum ?_
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
u : (i : ι) → M i
⊢ ∀ i ∈ Finset.univ, ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ ‖fpideriv 𝕜 i f x‖ * ‖u‖

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
u : (i : ι) → M i
⊢ ∀ i ∈ Finset.univ, ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ ‖fpideriv 𝕜 i f x‖ * ‖u‖
Tactic:
simp
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
u : (i : ι) → M i
⊢ ∀ (i : ι), ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ ‖fpideriv 𝕜 i f x‖ * ‖u‖

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
u : (i : ι) → M i
⊢ ∀ (i : ι), ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ ‖fpideriv 𝕜 i f x‖ * ‖u‖
Tactic:
intro i
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
u : (i : ι) → M i
i : ι
⊢ ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ ‖fpideriv 𝕜 i f x‖ * ‖u‖

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
u : (i : ι) → M i
i : ι
⊢ ‖(fpideriv 𝕜 i f x) (u i)‖ ≤ ‖fpideriv 𝕜 i f x‖ * ‖u‖
Tactic:
refine le_trans (ContinuousLinearMap.le_opNorm _ _) ?_
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
u : (i : ι) → M i
i : ι
⊢ ‖fpideriv 𝕜 i f x‖ * ‖u i‖ ≤ ‖fpideriv 𝕜 i f x‖ * ‖u‖

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
u : (i : ι) → M i
i : ι
⊢ ‖fpideriv 𝕜 i f x‖ * ‖u i‖ ≤ ‖fpideriv 𝕜 i f x‖ * ‖u‖
Tactic:
exact mul_le_mul_of_nonneg_left (norm_le_pi_norm u i) (norm_nonneg _)
State after:
no goals