Theorem: MeasureTheory.integral_convolution
File: Mathlib/Analysis/Convolution.lean

tactic: refine (integral_integral_swap (by apply hf.convolution_integrand L hg)).trans ?_
state_before: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝²⁹ : NormedAddCommGroup E
inst✝²⁸ : NormedAddCommGroup E'
inst✝²⁷ : NormedAddCommGroup E''
inst✝²⁶ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝²⁵ : RCLike 𝕜
inst✝²⁴ : NormedSpace 𝕜 E
inst✝²³ : NormedSpace 𝕜 E'
inst✝²² : NormedSpace 𝕜 E''
inst✝²¹ : NormedSpace ℝ F
inst✝²⁰ : NormedSpace 𝕜 F
n : ℕ∞
inst✝¹⁹ : CompleteSpace F
inst✝¹⁸ : MeasurableSpace G
μ ν : Measure G
L : E →L[𝕜] E' →L[𝕜] F
inst✝¹⁷ : NormedAddCommGroup F'
inst✝¹⁶ : NormedSpace ℝ F'
inst✝¹⁵ : NormedSpace 𝕜 F'
inst✝¹⁴ : CompleteSpace F'
inst✝¹³ : NormedAddCommGroup F''
inst✝¹² : NormedSpace ℝ F''
inst✝¹¹ : NormedSpace 𝕜 F''
inst✝¹⁰ : CompleteSpace F''
k : G → E''
L₂ : F →L[𝕜] E'' →L[𝕜] F'
L₃ : E →L[𝕜] F'' →L[𝕜] F'
L₄ : E' →L[𝕜] E'' →L[𝕜] F''
inst✝⁹ : AddGroup G
inst✝⁸ : SigmaFinite μ
inst✝⁷ : SigmaFinite ν
inst✝⁶ : μ.IsAddRightInvariant
inst✝⁵ : MeasurableAdd₂ G
inst✝⁴ : MeasurableNeg G
inst✝³ : NormedSpace ℝ E
inst✝² : NormedSpace ℝ E'
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace E'
hf : Integrable f ν
hg : Integrable g μ
⊢ ∫ (x : G), (f ⋆[L, ν] g) x ∂μ = (L (∫ (x : G), f x ∂ν)) (∫ (x : G), g x ∂μ)
state_after: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝²⁹ : NormedAddCommGroup E
inst✝²⁸ : NormedAddCommGroup E'
inst✝²⁷ : NormedAddCommGroup E''
inst✝²⁶ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝²⁵ : RCLike 𝕜
inst✝²⁴ : NormedSpace 𝕜 E
inst✝²³ : NormedSpace 𝕜 E'
inst✝²² : NormedSpace 𝕜 E''
inst✝²¹ : NormedSpace ℝ F
inst✝²⁰ : NormedSpace 𝕜 F
n : ℕ∞
inst✝¹⁹ : CompleteSpace F
inst✝¹⁸ : MeasurableSpace G
μ ν : Measure G
L : E →L[𝕜] E' →L[𝕜] F
inst✝¹⁷ : NormedAddCommGroup F'
inst✝¹⁶ : NormedSpace ℝ F'
inst✝¹⁵ : NormedSpace 𝕜 F'
inst✝¹⁴ : CompleteSpace F'
inst✝¹³ : NormedAddCommGroup F''
inst✝¹² : NormedSpace ℝ F''
inst✝¹¹ : NormedSpace 𝕜 F''
inst✝¹⁰ : CompleteSpace F''
k : G → E''
L₂ : F →L[𝕜] E'' →L[𝕜] F'
L₃ : E →L[𝕜] F'' →L[𝕜] F'
L₄ : E' →L[𝕜] E'' →L[𝕜] F''
inst✝⁹ : AddGroup G
inst✝⁸ : SigmaFinite μ
inst✝⁷ : SigmaFinite ν
inst✝⁶ : μ.IsAddRightInvariant
inst✝⁵ : MeasurableAdd₂ G
inst✝⁴ : MeasurableNeg G
inst✝³ : NormedSpace ℝ E
inst✝² : NormedSpace ℝ E'
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace E'
hf : Integrable f ν
hg : Integrable g μ
⊢ ∫ (y : G), ∫ (x : G), (L (f y)) (g (x - y)) ∂μ ∂ν = (L (∫ (x : G), f x ∂ν)) (∫ (x : G), g x ∂μ)

tactic: simp_rw [integral_comp_comm _ (hg.comp_sub_right _), integral_sub_right_eq_self]
state_before: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝²⁹ : NormedAddCommGroup E
inst✝²⁸ : NormedAddCommGroup E'
inst✝²⁷ : NormedAddCommGroup E''
inst✝²⁶ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝²⁵ : RCLike 𝕜
inst✝²⁴ : NormedSpace 𝕜 E
inst✝²³ : NormedSpace 𝕜 E'
inst✝²² : NormedSpace 𝕜 E''
inst✝²¹ : NormedSpace ℝ F
inst✝²⁰ : NormedSpace 𝕜 F
n : ℕ∞
inst✝¹⁹ : CompleteSpace F
inst✝¹⁸ : MeasurableSpace G
μ ν : Measure G
L : E →L[𝕜] E' →L[𝕜] F
inst✝¹⁷ : NormedAddCommGroup F'
inst✝¹⁶ : NormedSpace ℝ F'
inst✝¹⁵ : NormedSpace 𝕜 F'
inst✝¹⁴ : CompleteSpace F'
inst✝¹³ : NormedAddCommGroup F''
inst✝¹² : NormedSpace ℝ F''
inst✝¹¹ : NormedSpace 𝕜 F''
inst✝¹⁰ : CompleteSpace F''
k : G → E''
L₂ : F →L[𝕜] E'' →L[𝕜] F'
L₃ : E →L[𝕜] F'' →L[𝕜] F'
L₄ : E' →L[𝕜] E'' →L[𝕜] F''
inst✝⁹ : AddGroup G
inst✝⁸ : SigmaFinite μ
inst✝⁷ : SigmaFinite ν
inst✝⁶ : μ.IsAddRightInvariant
inst✝⁵ : MeasurableAdd₂ G
inst✝⁴ : MeasurableNeg G
inst✝³ : NormedSpace ℝ E
inst✝² : NormedSpace ℝ E'
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace E'
hf : Integrable f ν
hg : Integrable g μ
⊢ ∫ (y : G), ∫ (x : G), (L (f y)) (g (x - y)) ∂μ ∂ν = (L (∫ (x : G), f x ∂ν)) (∫ (x : G), g x ∂μ)
state_after: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝²⁹ : NormedAddCommGroup E
inst✝²⁸ : NormedAddCommGroup E'
inst✝²⁷ : NormedAddCommGroup E''
inst✝²⁶ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝²⁵ : RCLike 𝕜
inst✝²⁴ : NormedSpace 𝕜 E
inst✝²³ : NormedSpace 𝕜 E'
inst✝²² : NormedSpace 𝕜 E''
inst✝²¹ : NormedSpace ℝ F
inst✝²⁰ : NormedSpace 𝕜 F
n : ℕ∞
inst✝¹⁹ : CompleteSpace F
inst✝¹⁸ : MeasurableSpace G
μ ν : Measure G
L : E →L[𝕜] E' →L[𝕜] F
inst✝¹⁷ : NormedAddCommGroup F'
inst✝¹⁶ : NormedSpace ℝ F'
inst✝¹⁵ : NormedSpace 𝕜 F'
inst✝¹⁴ : CompleteSpace F'
inst✝¹³ : NormedAddCommGroup F''
inst✝¹² : NormedSpace ℝ F''
inst✝¹¹ : NormedSpace 𝕜 F''
inst✝¹⁰ : CompleteSpace F''
k : G → E''
L₂ : F →L[𝕜] E'' →L[𝕜] F'
L₃ : E →L[𝕜] F'' →L[𝕜] F'
L₄ : E' →L[𝕜] E'' →L[𝕜] F''
inst✝⁹ : AddGroup G
inst✝⁸ : SigmaFinite μ
inst✝⁷ : SigmaFinite ν
inst✝⁶ : μ.IsAddRightInvariant
inst✝⁵ : MeasurableAdd₂ G
inst✝⁴ : MeasurableNeg G
inst✝³ : NormedSpace ℝ E
inst✝² : NormedSpace ℝ E'
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace E'
hf : Integrable f ν
hg : Integrable g μ
⊢ ∫ (y : G), (L (f y)) (∫ (x : G), g x ∂μ) ∂ν = (L (∫ (x : G), f x ∂ν)) (∫ (x : G), g x ∂μ)

tactic: exact (L.flip (∫ x, g x ∂μ)).integral_comp_comm hf
state_before: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝²⁹ : NormedAddCommGroup E
inst✝²⁸ : NormedAddCommGroup E'
inst✝²⁷ : NormedAddCommGroup E''
inst✝²⁶ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝²⁵ : RCLike 𝕜
inst✝²⁴ : NormedSpace 𝕜 E
inst✝²³ : NormedSpace 𝕜 E'
inst✝²² : NormedSpace 𝕜 E''
inst✝²¹ : NormedSpace ℝ F
inst✝²⁰ : NormedSpace 𝕜 F
n : ℕ∞
inst✝¹⁹ : CompleteSpace F
inst✝¹⁸ : MeasurableSpace G
μ ν : Measure G
L : E →L[𝕜] E' →L[𝕜] F
inst✝¹⁷ : NormedAddCommGroup F'
inst✝¹⁶ : NormedSpace ℝ F'
inst✝¹⁵ : NormedSpace 𝕜 F'
inst✝¹⁴ : CompleteSpace F'
inst✝¹³ : NormedAddCommGroup F''
inst✝¹² : NormedSpace ℝ F''
inst✝¹¹ : NormedSpace 𝕜 F''
inst✝¹⁰ : CompleteSpace F''
k : G → E''
L₂ : F →L[𝕜] E'' →L[𝕜] F'
L₃ : E →L[𝕜] F'' →L[𝕜] F'
L₄ : E' →L[𝕜] E'' →L[𝕜] F''
inst✝⁹ : AddGroup G
inst✝⁸ : SigmaFinite μ
inst✝⁷ : SigmaFinite ν
inst✝⁶ : μ.IsAddRightInvariant
inst✝⁵ : MeasurableAdd₂ G
inst✝⁴ : MeasurableNeg G
inst✝³ : NormedSpace ℝ E
inst✝² : NormedSpace ℝ E'
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace E'
hf : Integrable f ν
hg : Integrable g μ
⊢ ∫ (y : G), (L (f y)) (∫ (x : G), g x ∂μ) ∂ν = (L (∫ (x : G), f x ∂ν)) (∫ (x : G), g x ∂μ)
state_after: no goals

tactic: apply hf.convolution_integrand L hg
state_before: 𝕜 : Type u𝕜
G : Type uG
E : Type uE
E' : Type uE'
E'' : Type uE''
F : Type uF
F' : Type uF'
F'' : Type uF''
P : Type uP
inst✝²⁹ : NormedAddCommGroup E
inst✝²⁸ : NormedAddCommGroup E'
inst✝²⁷ : NormedAddCommGroup E''
inst✝²⁶ : NormedAddCommGroup F
f f' : G → E
g g' : G → E'
x x' : G
y y' : E
inst✝²⁵ : RCLike 𝕜
inst✝²⁴ : NormedSpace 𝕜 E
inst✝²³ : NormedSpace 𝕜 E'
inst✝²² : NormedSpace 𝕜 E''
inst✝²¹ : NormedSpace ℝ F
inst✝²⁰ : NormedSpace 𝕜 F
n : ℕ∞
inst✝¹⁹ : CompleteSpace F
inst✝¹⁸ : MeasurableSpace G
μ ν : Measure G
L : E →L[𝕜] E' →L[𝕜] F
inst✝¹⁷ : NormedAddCommGroup F'
inst✝¹⁶ : NormedSpace ℝ F'
inst✝¹⁵ : NormedSpace 𝕜 F'
inst✝¹⁴ : CompleteSpace F'
inst✝¹³ : NormedAddCommGroup F''
inst✝¹² : NormedSpace ℝ F''
inst✝¹¹ : NormedSpace 𝕜 F''
inst✝¹⁰ : CompleteSpace F''
k : G → E''
L₂ : F →L[𝕜] E'' →L[𝕜] F'
L₃ : E →L[𝕜] F'' →L[𝕜] F'
L₄ : E' →L[𝕜] E'' →L[𝕜] F''
inst✝⁹ : AddGroup G
inst✝⁸ : SigmaFinite μ
inst✝⁷ : SigmaFinite ν
inst✝⁶ : μ.IsAddRightInvariant
inst✝⁵ : MeasurableAdd₂ G
inst✝⁴ : MeasurableNeg G
inst✝³ : NormedSpace ℝ E
inst✝² : NormedSpace ℝ E'
inst✝¹ : CompleteSpace E
inst✝ : CompleteSpace E'
hf : Integrable f ν
hg : Integrable g μ
⊢ Integrable (uncurry fun x t => (L (f t)) (g (x - t))) (μ.prod ν)
state_after: no goals