Theorem: VectorFourier.fourierPowSMulRight_iteratedFDeriv_fourierIntegral
File: Mathlib/Analysis/Fourier/FourierTransformDeriv.lean

tactic: rw [fourierIntegral_iteratedFDeriv (N := N) _ (hf.fourierPowSMulRight _ _) _ hn]
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
⊢ fourierPowSMulRight (-L.flip) (iteratedFDeriv ℝ k (fourierIntegral 𝐞 μ L.toLinearMap₂ f)) w n =
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n fun v => fourierPowSMulRight L f v k) w
state_after: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
⊢ fourierPowSMulRight (-L.flip) (iteratedFDeriv ℝ k (fourierIntegral 𝐞 μ L.toLinearMap₂ f)) w n =
    (fun w =>
        fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ fun v => fourierPowSMulRight L f v k) w n)
      w

E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
⊢ ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n fun v => fourierPowSMulRight L f v k) μ

tactic: congr
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
⊢ fourierPowSMulRight (-L.flip) (iteratedFDeriv ℝ k (fourierIntegral 𝐞 μ L.toLinearMap₂ f)) w n =
    (fun w =>
        fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ fun v => fourierPowSMulRight L f v k) w n)
      w
state_after: case e_f
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
⊢ iteratedFDeriv ℝ k (fourierIntegral 𝐞 μ L.toLinearMap₂ f) =
    fourierIntegral 𝐞 μ L.toLinearMap₂ fun v => fourierPowSMulRight L f v k

tactic: rw [iteratedFDeriv_fourierIntegral (N := K) _ _ hf.continuous.aestronglyMeasurable hk]
state_before: case e_f
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
⊢ iteratedFDeriv ℝ k (fourierIntegral 𝐞 μ L.toLinearMap₂ f) =
    fourierIntegral 𝐞 μ L.toLinearMap₂ fun v => fourierPowSMulRight L f v k
state_after: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
⊢ ∀ (n : ℕ), ↑n ≤ K → Integrable (fun v => ‖v‖ ^ n * ‖f v‖) μ

tactic: intro k hk
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
⊢ ∀ (n : ℕ), ↑n ≤ K → Integrable (fun v => ‖v‖ ^ n * ‖f v‖) μ
state_after: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k✝ n : ℕ
hk✝ : ↑k✝ ≤ K
hn : ↑n ≤ N
w : W
k : ℕ
hk : ↑k ≤ K
⊢ Integrable (fun v => ‖v‖ ^ k * ‖f v‖) μ

tactic: simpa only [norm_iteratedFDeriv_zero] using h'f k 0 hk bot_le
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k✝ n : ℕ
hk✝ : ↑k✝ ≤ K
hn : ↑n ≤ N
w : W
k : ℕ
hk : ↑k ≤ K
⊢ Integrable (fun v => ‖v‖ ^ k * ‖f v‖) μ
state_after: no goals

tactic: intro m hm
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
⊢ ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n fun v => fourierPowSMulRight L f v k) μ
state_after: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
⊢ Integrable (iteratedFDeriv ℝ m fun v => fourierPowSMulRight L f v k) μ

tactic: have I : Integrable (fun v ↦ ∑ p in Finset.range (k + 1) ×ˢ Finset.range (m + 1),
    ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ := by
  apply integrable_finset_sum _ (fun p hp ↦ ?_)
  simp only [Finset.mem_product, Finset.mem_range_succ_iff] at hp
  exact h'f _ _ ((Nat.cast_le.2 hp.1).trans hk) ((Nat.cast_le.2 hp.2).trans hm)
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
⊢ Integrable (iteratedFDeriv ℝ m fun v => fourierPowSMulRight L f v k) μ
state_after: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
⊢ Integrable (iteratedFDeriv ℝ m fun v => fourierPowSMulRight L f v k) μ

tactic: apply (I.const_mul ((2 * π) ^ k * (2 * k + 2) ^ m * ‖L‖ ^ k)).mono'
  ((hf.fourierPowSMulRight L k).continuous_iteratedFDeriv hm).aestronglyMeasurable
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
⊢ Integrable (iteratedFDeriv ℝ m fun v => fourierPowSMulRight L f v k) μ
state_after: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
⊢ ∀ᵐ (a : V) ∂μ,
    ‖iteratedFDeriv ℝ m (fun v => fourierPowSMulRight L f v k) a‖ ≤
      (2 * π) ^ k * (2 * ↑k + 2) ^ m * ‖L‖ ^ k *
        ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖a‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f a‖

tactic: filter_upwards with v
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
⊢ ∀ᵐ (a : V) ∂μ,
    ‖iteratedFDeriv ℝ m (fun v => fourierPowSMulRight L f v k) a‖ ≤
      (2 * π) ^ k * (2 * ↑k + 2) ^ m * ‖L‖ ^ k *
        ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖a‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f a‖
state_after: case h
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
⊢ ‖iteratedFDeriv ℝ m (fun v => fourierPowSMulRight L f v k) v‖ ≤
    (2 * π) ^ k * (2 * ↑k + 2) ^ m * ‖L‖ ^ k *
      ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖

tactic: refine norm_iteratedFDeriv_fourierPowSMulRight _ hf hm (fun i hi j hj ↦ ?_)
state_before: case h
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
⊢ ‖iteratedFDeriv ℝ m (fun v => fourierPowSMulRight L f v k) v‖ ≤
    (2 * π) ^ k * (2 * ↑k + 2) ^ m * ‖L‖ ^ k *
      ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖
state_after: case h
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
i : ℕ
hi : i ≤ m
j : ℕ
hj : j ≤ k
⊢ ‖v‖ ^ j * ‖iteratedFDeriv ℝ i f v‖ ≤
    ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖

tactic: apply Finset.single_le_sum (f := fun p ↦ ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) (a := (j, i))
state_before: case h
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
i : ℕ
hi : i ≤ m
j : ℕ
hj : j ≤ k
⊢ ‖v‖ ^ j * ‖iteratedFDeriv ℝ i f v‖ ≤
    ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖
state_after: case h.hf
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
i : ℕ
hi : i ≤ m
j : ℕ
hj : j ≤ k
⊢ ∀ i ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), 0 ≤ (fun p => ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) i

case h.h
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
i : ℕ
hi : i ≤ m
j : ℕ
hj : j ≤ k
⊢ (j, i) ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1)

tactic: apply integrable_finset_sum _ (fun p hp ↦ ?_)
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
⊢ Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
state_after: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
p : ℕ × ℕ
hp : p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1)
⊢ Integrable (fun a => ‖a‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f a‖) μ

tactic: simp only [Finset.mem_product, Finset.mem_range_succ_iff] at hp
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
p : ℕ × ℕ
hp : p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1)
⊢ Integrable (fun a => ‖a‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f a‖) μ
state_after: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
p : ℕ × ℕ
hp : p.1 ≤ k ∧ p.2 ≤ m
⊢ Integrable (fun a => ‖a‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f a‖) μ

tactic: exact h'f _ _ ((Nat.cast_le.2 hp.1).trans hk) ((Nat.cast_le.2 hp.2).trans hm)
state_before: E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
p : ℕ × ℕ
hp : p.1 ≤ k ∧ p.2 ≤ m
⊢ Integrable (fun a => ‖a‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f a‖) μ
state_after: no goals

tactic: intro i _hi
state_before: case h.hf
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
i : ℕ
hi : i ≤ m
j : ℕ
hj : j ≤ k
⊢ ∀ i ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), 0 ≤ (fun p => ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) i
state_after: case h.hf
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
i✝ : ℕ
hi : i✝ ≤ m
j : ℕ
hj : j ≤ k
i : ℕ × ℕ
_hi : i ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1)
⊢ 0 ≤ (fun p => ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) i

tactic: positivity
state_before: case h.hf
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
i✝ : ℕ
hi : i✝ ≤ m
j : ℕ
hj : j ≤ k
i : ℕ × ℕ
_hi : i ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1)
⊢ 0 ≤ (fun p => ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) i
state_after: no goals

tactic: simpa only [Finset.mem_product, Finset.mem_range_succ_iff] using ⟨hj, hi⟩
state_before: case h.h
E : Type u_1
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
V : Type u_2
W : Type u_3
inst✝⁸ : NormedAddCommGroup V
inst✝⁷ : NormedSpace ℝ V
inst✝⁶ : NormedAddCommGroup W
inst✝⁵ : NormedSpace ℝ W
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
inst✝⁴ : SecondCountableTopology V
inst✝³ : MeasurableSpace V
inst✝² : BorelSpace V
μ✝ : Measure V
inst✝¹ : FiniteDimensional ℝ V
μ : Measure V
inst✝ : μ.IsAddHaarMeasure
K N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (k n : ℕ), ↑k ≤ K → ↑n ≤ N → Integrable (fun v => ‖v‖ ^ k * ‖iteratedFDeriv ℝ n f v‖) μ
k n : ℕ
hk : ↑k ≤ K
hn : ↑n ≤ N
w : W
m : ℕ
hm : ↑m ≤ N
I : Integrable (fun v => ∑ p ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1), ‖v‖ ^ p.1 * ‖iteratedFDeriv ℝ p.2 f v‖) μ
v : V
i : ℕ
hi : i ≤ m
j : ℕ
hj : j ≤ k
⊢ (j, i) ∈ Finset.range (k + 1) ×ˢ Finset.range (m + 1)
state_after: no goals