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

tactic: induction n with
| zero =>
  ext w m
  simp only [iteratedFDeriv_zero_apply, Nat.zero_eq, fourierPowSMulRight_apply, pow_zero,
    Finset.univ_eq_empty, ContinuousLinearMap.neg_apply, ContinuousLinearMap.flip_apply,
    Finset.prod_empty, one_smul, fourierIntegral_continuousMultilinearMap_apply' ((h'f 0 bot_le))]
| succ n ih =>
  ext w m
  have J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ := by
    specialize h'f (n + 1) hn
    rw [iteratedFDeriv_succ_eq_comp_left] at h'f
    exact (LinearIsometryEquiv.integrable_comp_iff _).1 h'f
  suffices H : (fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w)
        (m 0) (Fin.tail m) =
      (-(2 * π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -L (m x) w) • ∫ v, 𝐞 (-L v w) • f v ∂μ by
    rw [fourierIntegral_continuousMultilinearMap_apply' (h'f _ hn)]
    simp only [iteratedFDeriv_succ_apply_left, fourierPowSMulRight_apply,
      ContinuousLinearMap.neg_apply, ContinuousLinearMap.flip_apply]
    rw [← fourierIntegral_continuousMultilinearMap_apply' ((J.apply_continuousLinearMap _)),
        ← fourierIntegral_continuousLinearMap_apply' J]
    exact H
  have h'n : n < N := (Nat.cast_lt.mpr n.lt_succ_self).trans_le hn
  rw [fourierIntegral_fderiv _ (h'f n h'n.le) (hf.differentiable_iteratedFDeriv h'n) J]
  simp only [ih h'n.le, fourierSMulRight_apply, ContinuousLinearMap.neg_apply,
    ContinuousLinearMap.flip_apply, neg_smul, smul_neg, neg_neg, smul_apply,
    fourierPowSMulRight_apply, ← coe_smul (E := E), smul_smul]
  congr 1
  simp only [ofReal_prod, ofReal_neg, pow_succ, mul_neg, Fin.prod_univ_succ, neg_mul,
    ofReal_mul, neg_neg, Fin.tail_def]
  ring
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
hn : ↑n ≤ N
⊢ fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
    fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
state_after: no goals

tactic: ext w m
state_before: case zero
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
hn : ↑0 ≤ N
⊢ fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ 0 f) = fun w =>
    fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w 0
state_after: case zero.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
hn : ↑0 ≤ N
w : W
m : Fin 0 → V
⊢ (fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ 0 f) w) m =
    (fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w 0) m

tactic: simp only [iteratedFDeriv_zero_apply, Nat.zero_eq, fourierPowSMulRight_apply, pow_zero,
  Finset.univ_eq_empty, ContinuousLinearMap.neg_apply, ContinuousLinearMap.flip_apply,
  Finset.prod_empty, one_smul, fourierIntegral_continuousMultilinearMap_apply' ((h'f 0 bot_le))]
state_before: case zero.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
hn : ↑0 ≤ N
w : W
m : Fin 0 → V
⊢ (fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ 0 f) w) m =
    (fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w 0) m
state_after: no goals

tactic: ext w m
state_before: case succ
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
⊢ fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ (n + 1) f) = fun w =>
    fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w (n + 1)
state_after: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
⊢ (fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ (n + 1) f) w) m =
    (fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w (n + 1)) m

tactic: have J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ := by
  specialize h'f (n + 1) hn
  rw [iteratedFDeriv_succ_eq_comp_left] at h'f
  exact (LinearIsometryEquiv.integrable_comp_iff _).1 h'f
state_before: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
⊢ (fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ (n + 1) f) w) m =
    (fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w (n + 1)) m
state_after: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
⊢ (fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ (n + 1) f) w) m =
    (fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w (n + 1)) m

tactic: suffices H : (fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w)
      (m 0) (Fin.tail m) =
    (-(2 * π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -L (m x) w) • ∫ v, 𝐞 (-L v w) • f v ∂μ by
  rw [fourierIntegral_continuousMultilinearMap_apply' (h'f _ hn)]
  simp only [iteratedFDeriv_succ_apply_left, fourierPowSMulRight_apply,
    ContinuousLinearMap.neg_apply, ContinuousLinearMap.flip_apply]
  rw [← fourierIntegral_continuousMultilinearMap_apply' ((J.apply_continuousLinearMap _)),
      ← fourierIntegral_continuousLinearMap_apply' J]
  exact H
state_before: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
⊢ (fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ (n + 1) f) w) m =
    (fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w (n + 1)) m
state_after: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
⊢ ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ

tactic: have h'n : n < N := (Nat.cast_lt.mpr n.lt_succ_self).trans_le hn
state_before: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
⊢ ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
state_after: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ

tactic: rw [fourierIntegral_fderiv _ (h'f n h'n.le) (hf.differentiable_iteratedFDeriv h'n) J]
state_before: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
state_after: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ ((fourierSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ

tactic: simp only [ih h'n.le, fourierSMulRight_apply, ContinuousLinearMap.neg_apply,
  ContinuousLinearMap.flip_apply, neg_smul, smul_neg, neg_neg, smul_apply,
  fourierPowSMulRight_apply, ← coe_smul (E := E), smul_smul]
state_before: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ ((fourierSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
state_after: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ (2 * ↑π * I * (↑((L (m 0)) w) * ((-(2 * ↑π * I)) ^ n * ↑(∏ x : Fin n, -(L (Fin.tail m x)) w)))) •
      fourierIntegral 𝐞 μ L.toLinearMap₂ f w =
    ((-(2 * ↑π * I)) ^ (n + 1) * ↑(∏ x : Fin (n + 1), -(L (m x)) w)) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ

tactic: congr 1
state_before: case succ.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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ (2 * ↑π * I * (↑((L (m 0)) w) * ((-(2 * ↑π * I)) ^ n * ↑(∏ x : Fin n, -(L (Fin.tail m x)) w)))) •
      fourierIntegral 𝐞 μ L.toLinearMap₂ f w =
    ((-(2 * ↑π * I)) ^ (n + 1) * ↑(∏ x : Fin (n + 1), -(L (m x)) w)) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
state_after: case succ.h.H.e_a
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ 2 * ↑π * I * (↑((L (m 0)) w) * ((-(2 * ↑π * I)) ^ n * ↑(∏ x : Fin n, -(L (Fin.tail m x)) w))) =
    (-(2 * ↑π * I)) ^ (n + 1) * ↑(∏ x : Fin (n + 1), -(L (m x)) w)

tactic: simp only [ofReal_prod, ofReal_neg, pow_succ, mul_neg, Fin.prod_univ_succ, neg_mul,
  ofReal_mul, neg_neg, Fin.tail_def]
state_before: case succ.h.H.e_a
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ 2 * ↑π * I * (↑((L (m 0)) w) * ((-(2 * ↑π * I)) ^ n * ↑(∏ x : Fin n, -(L (Fin.tail m x)) w))) =
    (-(2 * ↑π * I)) ^ (n + 1) * ↑(∏ x : Fin (n + 1), -(L (m x)) w)
state_after: case succ.h.H.e_a
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ 2 * ↑π * I * (↑((L (m 0)) w) * ((-(2 * ↑π * I)) ^ n * ∏ x : Fin n, -↑((L (m x.succ)) w))) =
    (-(2 * ↑π * I)) ^ n * (2 * ↑π * I) * (↑((L (m 0)) w) * ∏ x : Fin n, -↑((L (m x.succ)) w))

tactic: ring
state_before: case succ.h.H.e_a
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
h'n : ↑n < N
⊢ 2 * ↑π * I * (↑((L (m 0)) w) * ((-(2 * ↑π * I)) ^ n * ∏ x : Fin n, -↑((L (m x.succ)) w))) =
    (-(2 * ↑π * I)) ^ n * (2 * ↑π * I) * (↑((L (m 0)) w) * ∏ x : Fin n, -↑((L (m x.succ)) w))
state_after: no goals

tactic: specialize h'f (n + 1) 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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
⊢ Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
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
N : ℕ∞
hf : ContDiff ℝ N f
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
h'f : Integrable (iteratedFDeriv ℝ (n + 1) f) μ
⊢ Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ

tactic: rw [iteratedFDeriv_succ_eq_comp_left] at h'f
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
N : ℕ∞
hf : ContDiff ℝ N f
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
h'f : Integrable (iteratedFDeriv ℝ (n + 1) f) μ
⊢ Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
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
N : ℕ∞
hf : ContDiff ℝ N f
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
h'f : Integrable (⇑(continuousMultilinearCurryLeftEquiv ℝ (fun x => V) E) ∘ fderiv ℝ (iteratedFDeriv ℝ n f)) μ
⊢ Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ

tactic: exact (LinearIsometryEquiv.integrable_comp_iff _).1 h'f
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
N : ℕ∞
hf : ContDiff ℝ N f
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
h'f : Integrable (⇑(continuousMultilinearCurryLeftEquiv ℝ (fun x => V) E) ∘ fderiv ℝ (iteratedFDeriv ℝ n f)) μ
⊢ Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
state_after: no goals

tactic: rw [fourierIntegral_continuousMultilinearMap_apply' (h'f _ 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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
H :
  ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
⊢ (fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ (n + 1) f) w) m =
    (fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w (n + 1)) m
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
H :
  ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
⊢ fourierIntegral 𝐞 μ L.toLinearMap₂ (fun x => (iteratedFDeriv ℝ (n + 1) f x) m) w =
    (fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w (n + 1)) m

tactic: simp only [iteratedFDeriv_succ_apply_left, fourierPowSMulRight_apply,
  ContinuousLinearMap.neg_apply, ContinuousLinearMap.flip_apply]
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
H :
  ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
⊢ fourierIntegral 𝐞 μ L.toLinearMap₂ (fun x => (iteratedFDeriv ℝ (n + 1) f x) m) w =
    (fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w (n + 1)) m
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
H :
  ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
⊢ fourierIntegral 𝐞 μ L.toLinearMap₂ (fun x => ((fderiv ℝ (iteratedFDeriv ℝ n f) x) (m 0)) (Fin.tail m)) w =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • fourierIntegral 𝐞 μ L.toLinearMap₂ f w

tactic: rw [← fourierIntegral_continuousMultilinearMap_apply' ((J.apply_continuousLinearMap _)),
    ← fourierIntegral_continuousLinearMap_apply' J]
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
H :
  ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
⊢ fourierIntegral 𝐞 μ L.toLinearMap₂ (fun x => ((fderiv ℝ (iteratedFDeriv ℝ n f) x) (m 0)) (Fin.tail m)) w =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • fourierIntegral 𝐞 μ L.toLinearMap₂ f 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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
H :
  ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
⊢ ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • fourierIntegral 𝐞 μ L.toLinearMap₂ f w

tactic: exact H
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
N : ℕ∞
hf : ContDiff ℝ N f
h'f : ∀ (n : ℕ), ↑n ≤ N → Integrable (iteratedFDeriv ℝ n f) μ
n : ℕ
ih :
  ↑n ≤ N →
    fourierIntegral 𝐞 μ L.toLinearMap₂ (iteratedFDeriv ℝ n f) = fun w =>
      fourierPowSMulRight (-L.flip) (fourierIntegral 𝐞 μ L.toLinearMap₂ f) w n
hn : ↑(n + 1) ≤ N
w : W
m : Fin (n + 1) → V
J : Integrable (fderiv ℝ (iteratedFDeriv ℝ n f)) μ
H :
  ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • ∫ (v : V), 𝐞 (-(L v) w) • f v ∂μ
⊢ ((fourierIntegral 𝐞 μ L.toLinearMap₂ (fderiv ℝ (iteratedFDeriv ℝ n f)) w) (m 0)) (Fin.tail m) =
    (-(2 * ↑π * I)) ^ (n + 1) • (∏ x : Fin (n + 1), -(L (m x)) w) • fourierIntegral 𝐞 μ L.toLinearMap₂ f w
state_after: no goals