Theorem: norm_iteratedFDeriv_fpideriv_le_norm_iteratedFDeriv_succ (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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
⊢ ‖iteratedFDeriv 𝕜 n (fpideriv 𝕜 i f) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
change ‖iteratedFDeriv 𝕜 n (fun y => fpideriv 𝕜 i f y) x‖ ≤ _
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
⊢ ‖iteratedFDeriv 𝕜 n (fun y => fpideriv 𝕜 i f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖

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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
⊢ ‖iteratedFDeriv 𝕜 n (fun y => fpideriv 𝕜 i f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
have hf_diff {y} : DifferentiableAt 𝕜 f y := hf.differentiable (by norm_num) _
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => fpideriv 𝕜 i f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖

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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => fpideriv 𝕜 i f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
simp_rw [fpideriv_eq_fderiv_comp_single hf_diff]
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => ContinuousLinearMap.comp (fderiv 𝕜 f y) (ContinuousLinearMap.single i)) x‖ ≤
    ‖iteratedFDeriv 𝕜 (n + 1) f x‖

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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => ContinuousLinearMap.comp (fderiv 𝕜 f y) (ContinuousLinearMap.single i)) x‖ ≤
    ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
refine le_trans (norm_iteratedFDeriv_clm_comp_const (hf.fderiv_right (le_refl _))) ?_
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖ContinuousLinearMap.single i‖ * ‖iteratedFDeriv 𝕜 n (fun y => fderiv 𝕜 f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖

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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖ContinuousLinearMap.single i‖ * ‖iteratedFDeriv 𝕜 n (fun y => fderiv 𝕜 f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
rw [norm_iteratedFDeriv_fderiv]
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖ContinuousLinearMap.single i‖ * ‖iteratedFDeriv 𝕜 (n + 1) f x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖

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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖ContinuousLinearMap.single i‖ * ‖iteratedFDeriv 𝕜 (n + 1) f x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
refine mul_le_of_le_one_left (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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖ContinuousLinearMap.single i‖ ≤ 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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖ContinuousLinearMap.single i‖ ≤ 1
Tactic:
exact ContinuousLinearMap.norm_single_le_one
State after:
no goals

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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
y : ι → 𝕜
⊢ 1 ≤ ↑n + 1
Tactic:
norm_num
State after:
no goals