internlm/Lean-Github huggingface dataset:
Theorem: norm_pideriv_le_norm_fderiv
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 : ι → 𝕜
hf : DifferentiableAt 𝕜 f x
⊢ ‖fderiv 𝕜 f x‖ * ‖Pi.single i 1‖ ≤ ‖fderiv 𝕜 f x‖
Tactic:
simp
Proof state after:
no goals
Theorem: norm_iteratedFDeriv_fpideriv_le_norm_iteratedFDeriv_succ
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
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‖ ≤ _
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
⊢ ‖iteratedFDeriv 𝕜 n (fun y => fpideriv 𝕜 i f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Theorem: norm_iteratedFDeriv_fpideriv_le_norm_iteratedFDeriv_succ
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
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) _
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
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‖
Theorem: norm_iteratedFDeriv_fpideriv_le_norm_iteratedFDeriv_succ
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
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]
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
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‖
Theorem: norm_iteratedFDeriv_fpideriv_le_norm_iteratedFDeriv_succ
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
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 _))) ?_
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
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‖
Theorem: norm_iteratedFDeriv_fpideriv_le_norm_iteratedFDeriv_succ
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
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]
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
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‖
Theorem: norm_iteratedFDeriv_fpideriv_le_norm_iteratedFDeriv_succ
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
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 _) ?_
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖ContinuousLinearMap.single i‖ ≤ 1
Theorem: norm_iteratedFDeriv_fpideriv_le_norm_iteratedFDeriv_succ
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
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
Proof state after:
no goals
Theorem: norm_iteratedFDeriv_fpideriv_le_norm_iteratedFDeriv_succ
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
y : ι → 𝕜
⊢ 1 ≤ ↑n + 1
Tactic:
norm_num
Proof state after:
no goals
Theorem: norm_iteratedFDeriv_pideriv_le_norm_iteratedFDeriv_succ
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
⊢ ‖iteratedFDeriv 𝕜 n (pideriv i f) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
change ‖iteratedFDeriv 𝕜 n (fun y => pideriv i f y) 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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
⊢ ‖iteratedFDeriv 𝕜 n (fun y => pideriv i f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Theorem: norm_iteratedFDeriv_pideriv_le_norm_iteratedFDeriv_succ
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
⊢ ‖iteratedFDeriv 𝕜 n (fun y => pideriv i f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
have hf_diff {y} : DifferentiableAt 𝕜 f y := hf.differentiable (by norm_num) _
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => pideriv i f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Theorem: norm_iteratedFDeriv_pideriv_le_norm_iteratedFDeriv_succ
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => pideriv i f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
simp_rw [pideriv_eq_fderiv_apply_single hf_diff]
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => (fderiv 𝕜 f y) (Pi.single i 1)) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Theorem: norm_iteratedFDeriv_pideriv_le_norm_iteratedFDeriv_succ
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => (fderiv 𝕜 f y) (Pi.single i 1)) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
refine le_trans (norm_iteratedFDeriv_clm_apply_const (hf.fderiv_right (le_refl _)) (le_refl _)) ?_
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖Pi.single i 1‖ * ‖iteratedFDeriv 𝕜 n (fun y => fderiv 𝕜 f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Theorem: norm_iteratedFDeriv_pideriv_le_norm_iteratedFDeriv_succ
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖Pi.single i 1‖ * ‖iteratedFDeriv 𝕜 n (fun y => fderiv 𝕜 f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
simp
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => fderiv 𝕜 f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Theorem: norm_iteratedFDeriv_pideriv_le_norm_iteratedFDeriv_succ
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
hf_diff : ∀ {y : ι → 𝕜}, DifferentiableAt 𝕜 f y
⊢ ‖iteratedFDeriv 𝕜 n (fun y => fderiv 𝕜 f y) x‖ ≤ ‖iteratedFDeriv 𝕜 (n + 1) f x‖
Tactic:
rw [norm_iteratedFDeriv_fderiv]
Proof state after:
no goals
Theorem: norm_iteratedFDeriv_pideriv_le_norm_iteratedFDeriv_succ
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
n : ℕ
i : ι
f : (ι → 𝕜) → F
x : ι → 𝕜
hf : ContDiff 𝕜 (↑n + 1) f
y : ι → 𝕜
⊢ 1 ≤ ↑n + 1
Tactic:
norm_num
Proof state after:
no goals
Theorem: orderedIteratedPiDeriv_succ_right
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
n : ℕ
f : (ι → 𝕜) → F
js : Fin (n + 1) → ι
x : ι → 𝕜
⊢ orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last n)) f) x
Tactic:
induction n generalizing f x with
| zero => rfl
| succ n ih =>
  have A (y) : orderedIteratedPiDeriv (Fin.tail js) f y =
      orderedIteratedPiDeriv (Fin.init (Fin.tail js)) (pideriv (js (Fin.last (n + 1))) f) y
  . rw [ih]
    rfl
  rw [orderedIteratedPiDeriv_succ_left]
  change pideriv (js 0) (fun y => orderedIteratedPiDeriv (Fin.tail js) f y) x = _
  simp_rw [A]
  rfl
Proof state after:
no goals
Theorem: orderedIteratedPiDeriv_succ_right
Proof state before:
case zero
ι : 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 : (ι → 𝕜) → F
js : Fin (Nat.zero + 1) → ι
x : ι → 𝕜
⊢ orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last Nat.zero)) f) x
Tactic:
rfl
Proof state after:
no goals
Theorem: orderedIteratedPiDeriv_succ_right
Proof state before:
case succ
ι : 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 : ℕ
ih :
  ∀ {f : (ι → 𝕜) → F} {js : Fin (n + 1) → ι} {x : ι → 𝕜},
    orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last n)) f) x
f : (ι → 𝕜) → F
js : Fin (Nat.succ n + 1) → ι
x : ι → 𝕜
⊢ orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last (Nat.succ n))) f) x
Tactic:
have A (y) : orderedIteratedPiDeriv (Fin.tail js) f y =
    orderedIteratedPiDeriv (Fin.init (Fin.tail js)) (pideriv (js (Fin.last (n + 1))) f) y
Proof state after:
case A
ι : 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 : ℕ
ih :
  ∀ {f : (ι → 𝕜) → F} {js : Fin (n + 1) → ι} {x : ι → 𝕜},
    orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last n)) f) x
f : (ι → 𝕜) → F
js : Fin (Nat.succ n + 1) → ι
x y : ι → 𝕜
⊢ orderedIteratedPiDeriv (Fin.tail js) f y =
    orderedIteratedPiDeriv (Fin.init (Fin.tail js)) (pideriv (js (Fin.last (n + 1))) f) y

case succ
ι : 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 : ℕ
ih :
  ∀ {f : (ι → 𝕜) → F} {js : Fin (n + 1) → ι} {x : ι → 𝕜},
    orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last n)) f) x
f : (ι → 𝕜) → F
js : Fin (Nat.succ n + 1) → ι
x : ι → 𝕜
A :
  ∀ (y : ι → 𝕜),
    orderedIteratedPiDeriv (Fin.tail js) f y =
      orderedIteratedPiDeriv (Fin.init (Fin.tail js)) (pideriv (js (Fin.last (n + 1))) f) y
⊢ orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last (Nat.succ n))) f) x
Theorem: orderedIteratedPiDeriv_succ_right
Proof state before:
case A
ι : 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 : ℕ
ih :
  ∀ {f : (ι → 𝕜) → F} {js : Fin (n + 1) → ι} {x : ι → 𝕜},
    orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last n)) f) x
f : (ι → 𝕜) → F
js : Fin (Nat.succ n + 1) → ι
x y : ι → 𝕜
⊢ orderedIteratedPiDeriv (Fin.tail js) f y =
    orderedIteratedPiDeriv (Fin.init (Fin.tail js)) (pideriv (js (Fin.last (n + 1))) f) y

case succ
ι : 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 : ℕ
ih :
  ∀ {f : (ι → 𝕜) → F} {js : Fin (n + 1) → ι} {x : ι → 𝕜},
    orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last n)) f) x
f : (ι → 𝕜) → F
js : Fin (Nat.succ n + 1) → ι
x : ι → 𝕜
A :
  ∀ (y : ι → 𝕜),
    orderedIteratedPiDeriv (Fin.tail js) f y =
      orderedIteratedPiDeriv (Fin.init (Fin.tail js)) (pideriv (js (Fin.last (n + 1))) f) y
⊢ orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last (Nat.succ n))) f) x
Tactic:
. rw [ih]
  rfl
Proof state after:
case succ
ι : 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 : ℕ
ih :
  ∀ {f : (ι → 𝕜) → F} {js : Fin (n + 1) → ι} {x : ι → 𝕜},
    orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last n)) f) x
f : (ι → 𝕜) → F
js : Fin (Nat.succ n + 1) → ι
x : ι → 𝕜
A :
  ∀ (y : ι → 𝕜),
    orderedIteratedPiDeriv (Fin.tail js) f y =
      orderedIteratedPiDeriv (Fin.init (Fin.tail js)) (pideriv (js (Fin.last (n + 1))) f) y
⊢ orderedIteratedPiDeriv js f x = orderedIteratedPiDeriv (Fin.init js) (pideriv (js (Fin.last (Nat.succ n))) f) x