Theorem: MeasureTheory.AEStronglyMeasurable.fourierSMulRight
File: Mathlib/Analysis/Fourier/FourierTransformDeriv.lean

tactic: apply AEStronglyMeasurable.const_smul'
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✝² : SecondCountableTopologyEither V (W →L[ℝ] ℝ)
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
μ : Measure V
hf : AEStronglyMeasurable f μ
⊢ AEStronglyMeasurable (fun v => VectorFourier.fourierSMulRight L f v) μ
state_after: case 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✝² : SecondCountableTopologyEither V (W →L[ℝ] ℝ)
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
μ : Measure V
hf : AEStronglyMeasurable f μ
⊢ AEStronglyMeasurable (fun x => (L x).smulRight (f x)) μ

tactic: have aux0 : Continuous fun p : (W →L[ℝ] ℝ) × E ↦ p.1.smulRight p.2 :=
  (ContinuousLinearMap.smulRightL ℝ W E).continuous₂
state_before: case 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✝² : SecondCountableTopologyEither V (W →L[ℝ] ℝ)
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
μ : Measure V
hf : AEStronglyMeasurable f μ
⊢ AEStronglyMeasurable (fun x => (L x).smulRight (f x)) μ
state_after: case 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✝² : SecondCountableTopologyEither V (W →L[ℝ] ℝ)
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
μ : Measure V
hf : AEStronglyMeasurable f μ
aux0 : Continuous fun p => p.1.smulRight p.2
⊢ AEStronglyMeasurable (fun x => (L x).smulRight (f x)) μ

tactic: have aux1 : AEStronglyMeasurable (fun v ↦ (L v, f v)) μ :=
  L.continuous.aestronglyMeasurable.prod_mk hf
state_before: case 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✝² : SecondCountableTopologyEither V (W →L[ℝ] ℝ)
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
μ : Measure V
hf : AEStronglyMeasurable f μ
aux0 : Continuous fun p => p.1.smulRight p.2
⊢ AEStronglyMeasurable (fun x => (L x).smulRight (f x)) μ
state_after: case 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✝² : SecondCountableTopologyEither V (W →L[ℝ] ℝ)
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
μ : Measure V
hf : AEStronglyMeasurable f μ
aux0 : Continuous fun p => p.1.smulRight p.2
aux1 : AEStronglyMeasurable (fun v => (L v, f v)) μ
⊢ AEStronglyMeasurable (fun x => (L x).smulRight (f x)) μ

tactic: exact (aux0.comp_aestronglyMeasurable aux1 : _)
state_before: case 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✝² : SecondCountableTopologyEither V (W →L[ℝ] ℝ)
inst✝¹ : MeasurableSpace V
inst✝ : BorelSpace V
L : V →L[ℝ] W →L[ℝ] ℝ
f : V → E
μ : Measure V
hf : AEStronglyMeasurable f μ
aux0 : Continuous fun p => p.1.smulRight p.2
aux1 : AEStronglyMeasurable (fun v => (L v, f v)) μ
⊢ AEStronglyMeasurable (fun x => (L x).smulRight (f x)) μ
state_after: no goals