Theorem: VectorFourier.fourierIntegral_convergent_iff
File: Mathlib/Analysis/Fourier/FourierTransform.lean

tactic: have aux {g : V → E} (hg : Integrable g μ) (x : W) :
    Integrable (fun v : V ↦ e (-L v x) • g v) μ := by
  have c : Continuous fun v ↦ e (-L v x) :=
    he.comp (hL.comp (continuous_prod_mk.mpr ⟨continuous_id, continuous_const⟩)).neg
  simp_rw [← integrable_norm_iff (c.aestronglyMeasurable.smul hg.1), norm_circle_smul]
  exact hg.norm
state_before: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
⊢ Integrable (fun v => e (-(L v) w) • f v) μ ↔ Integrable f μ
state_after: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
aux : ∀ {g : V → E}, Integrable g μ → ∀ (x : W), Integrable (fun v => e (-(L v) x) • g v) μ
⊢ Integrable (fun v => e (-(L v) w) • f v) μ ↔ Integrable f μ

tactic: refine ⟨fun hf ↦ ?_, fun hf ↦ aux hf w⟩
state_before: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
aux : ∀ {g : V → E}, Integrable g μ → ∀ (x : W), Integrable (fun v => e (-(L v) x) • g v) μ
⊢ Integrable (fun v => e (-(L v) w) • f v) μ ↔ Integrable f μ
state_after: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
aux : ∀ {g : V → E}, Integrable g μ → ∀ (x : W), Integrable (fun v => e (-(L v) x) • g v) μ
hf : Integrable (fun v => e (-(L v) w) • f v) μ
⊢ Integrable f μ

tactic: have := aux hf (-w)
state_before: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
aux : ∀ {g : V → E}, Integrable g μ → ∀ (x : W), Integrable (fun v => e (-(L v) x) • g v) μ
hf : Integrable (fun v => e (-(L v) w) • f v) μ
⊢ Integrable f μ
state_after: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
aux : ∀ {g : V → E}, Integrable g μ → ∀ (x : W), Integrable (fun v => e (-(L v) x) • g v) μ
hf : Integrable (fun v => e (-(L v) w) • f v) μ
this : Integrable (fun v => e (-(L v) (-w)) • e (-(L v) w) • f v) μ
⊢ Integrable f μ

tactic: simp_rw [← mul_smul (e _) (e _) (f _), ← e.map_add_eq_mul, LinearMap.map_neg, neg_add_self,
  e.map_zero_eq_one, one_smul] at this
state_before: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
aux : ∀ {g : V → E}, Integrable g μ → ∀ (x : W), Integrable (fun v => e (-(L v) x) • g v) μ
hf : Integrable (fun v => e (-(L v) w) • f v) μ
this : Integrable (fun v => e (-(L v) (-w)) • e (-(L v) w) • f v) μ
⊢ Integrable f μ
state_after: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
aux : ∀ {g : V → E}, Integrable g μ → ∀ (x : W), Integrable (fun v => e (-(L v) x) • g v) μ
hf : Integrable (fun v => e (-(L v) w) • f v) μ
this : Integrable (fun v => f v) μ
⊢ Integrable f μ

tactic: exact this
state_before: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
aux : ∀ {g : V → E}, Integrable g μ → ∀ (x : W), Integrable (fun v => e (-(L v) x) • g v) μ
hf : Integrable (fun v => e (-(L v) w) • f v) μ
this : Integrable (fun v => f v) μ
⊢ Integrable f μ
state_after: no goals

tactic: have c : Continuous fun v ↦ e (-L v x) :=
  he.comp (hL.comp (continuous_prod_mk.mpr ⟨continuous_id, continuous_const⟩)).neg
state_before: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
g : V → E
hg : Integrable g μ
x : W
⊢ Integrable (fun v => e (-(L v) x) • g v) μ
state_after: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
g : V → E
hg : Integrable g μ
x : W
c : Continuous fun v => e (-(L v) x)
⊢ Integrable (fun v => e (-(L v) x) • g v) μ

tactic: simp_rw [← integrable_norm_iff (c.aestronglyMeasurable.smul hg.1), norm_circle_smul]
state_before: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
g : V → E
hg : Integrable g μ
x : W
c : Continuous fun v => e (-(L v) x)
⊢ Integrable (fun v => e (-(L v) x) • g v) μ
state_after: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
g : V → E
hg : Integrable g μ
x : W
c : Continuous fun v => e (-(L v) x)
⊢ Integrable (fun a => ‖g a‖) μ

tactic: exact hg.norm
state_before: 𝕜 : Type u_1
inst✝¹⁶ : CommRing 𝕜
V : Type u_2
inst✝¹⁵ : AddCommGroup V
inst✝¹⁴ : Module 𝕜 V
inst✝¹³ : MeasurableSpace V
W : Type u_3
inst✝¹² : AddCommGroup W
inst✝¹¹ : Module 𝕜 W
E : Type u_4
F : Type u_5
G : Type u_6
inst✝¹⁰ : NormedAddCommGroup E
inst✝⁹ : NormedSpace ℂ E
inst✝⁸ : NormedAddCommGroup F
inst✝⁷ : NormedSpace ℂ F
inst✝⁶ : NormedAddCommGroup G
inst✝⁵ : NormedSpace ℂ G
inst✝⁴ : TopologicalSpace 𝕜
inst✝³ : TopologicalRing 𝕜
inst✝² : TopologicalSpace V
inst✝¹ : BorelSpace V
inst✝ : TopologicalSpace W
e : AddChar 𝕜 ↥𝕊
μ : Measure V
L : V →ₗ[𝕜] W →ₗ[𝕜] 𝕜
he : Continuous ⇑e
hL : Continuous fun p => (L p.1) p.2
f : V → E
w : W
g : V → E
hg : Integrable g μ
x : W
c : Continuous fun v => e (-(L v) x)
⊢ Integrable (fun a => ‖g a‖) μ
state_after: no goals