Skip to content

Commit 2ea3e21

Browse files
committed
chore(ToMathlib/Analysis/Convolution): golf a bit
1 parent 0fa0159 commit 2ea3e21

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

Carleson/ToMathlib/Analysis/Convolution.lean

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,22 +26,22 @@ theorem convolution_symm {f : G → E} {g : G → E} (L : E →L[𝕜] E →L[
2626
suffices L.flip = L by rw [← convolution_flip, this]
2727
aesop
2828

29+
variable [AddGroup G] [MeasurableAdd₂ G] [MeasurableNeg G] {μ : Measure G} [SigmaFinite μ]
30+
2931
/-- The convolution of two a.e. strongly measurable functions is a.e. strongly measurable. -/
30-
protected theorem AEStronglyMeasurable.convolution [NormedSpace ℝ F] [AddGroup G]
31-
[MeasurableAdd₂ G] [MeasurableNeg G] {μ : Measure G} [SigmaFinite μ] [μ.IsAddRightInvariant]
32+
@[fun_prop]
33+
protected theorem AEStronglyMeasurable.convolution [NormedSpace ℝ F] [μ.IsAddRightInvariant]
3234
(hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ) :
3335
AEStronglyMeasurable (f ⋆[L, μ] g) μ := by
3436
suffices AEStronglyMeasurable (fun ⟨x, t⟩ ↦ g (x - t)) (μ.prod μ) from
3537
(L.aestronglyMeasurable_comp₂ hf.comp_snd this).integral_prod_right'
3638
refine hg.comp_quasiMeasurePreserving <| QuasiMeasurePreserving.prod_of_left measurable_sub ?_
37-
apply Filter.Eventually.of_forall (fun x ↦ ?_)
38-
exact ⟨measurable_sub_const x, by rw [map_sub_right_eq_self μ x]⟩
39+
filter_upwards with x using ⟨measurable_sub_const x, by rw [map_sub_right_eq_self μ x]⟩
3940

4041
/-- This implies both of the following theorems `convolutionExists_of_memLp_memLp` and
4142
`enorm_convolution_le_eLpNorm_mul_eLpNorm`. -/
42-
lemma lintegral_enorm_convolution_integrand_le_eLpNorm_mul_eLpNorm [AddGroup G]
43-
[MeasurableAdd₂ G] [MeasurableNeg G] {μ : Measure G} [SFinite μ] [μ.IsNegInvariant]
44-
[μ.IsAddLeftInvariant] {p q : ENNReal} (hpq : p.HolderConjugate q)
43+
lemma lintegral_enorm_convolution_integrand_le_eLpNorm_mul_eLpNorm
44+
[μ.IsNegInvariant] [μ.IsAddLeftInvariant] {p q : ENNReal} (hpq : p.HolderConjugate q)
4545
(hL : ∀ (x y : G), ‖L (f x) (g y)‖ ≤ ‖f x‖ * ‖g y‖)
4646
(hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ) (x₀ : G) :
4747
∫⁻ a, ‖L (f a) (g (x₀ - a))‖ₑ ∂μ ≤ eLpNorm f p μ * eLpNorm g q μ := by
@@ -55,23 +55,24 @@ lemma lintegral_enorm_convolution_integrand_le_eLpNorm_mul_eLpNorm [AddGroup G]
5555
simpa using Filter.Eventually.of_forall (fun x ↦ hL x (x₀ - x))
5656
simpa [eLpNorm, eLpNorm'] using eLpNorm_le_eLpNorm_mul_eLpNorm'_of_norm hf hg' (L ·) _ hL' (hpqr := hpq)
5757

58+
attribute [aesop (rule_sets := [finiteness]) safe apply] MeasureTheory.MemLp.eLpNorm_lt_top
59+
5860
/-- If `MemLp f p μ` and `MemLp g q μ`, where `p` and `q` are Hölder conjugates, then the
5961
convolution of `f` and `g` exists everywhere. -/
60-
theorem ConvolutionExists.of_memLp_memLp [AddGroup G] [MeasurableAdd₂ G]
61-
[MeasurableNeg G] (μ : Measure G) [SFinite μ] [μ.IsNegInvariant] [μ.IsAddLeftInvariant]
62-
[μ.IsAddRightInvariant] {p q : ENNReal} (hpq : p.HolderConjugate q)
62+
theorem ConvolutionExists.of_memLp_memLp
63+
[μ.IsNegInvariant] [μ.IsAddLeftInvariant] [μ.IsAddRightInvariant]
64+
{p q : ENNReal} (hpq : p.HolderConjugate q)
6365
(hL : ∀ (x y : G), ‖L (f x) (g y)‖ ≤ ‖f x‖ * ‖g y‖) (hf : AEStronglyMeasurable f μ)
6466
(hg : AEStronglyMeasurable g μ) (hfp : MemLp f p μ) (hgq : MemLp g q μ) :
6567
ConvolutionExists f g L μ := by
66-
refine fun x ↦ ⟨AEStronglyMeasurable.convolution_integrand_snd L hf hg x, ?_⟩
68+
refine fun x ↦ ⟨hf.convolution_integrand_snd L hg x, ?_⟩
6769
apply lt_of_le_of_lt (lintegral_enorm_convolution_integrand_le_eLpNorm_mul_eLpNorm hpq hL hf hg x)
68-
exact ENNReal.mul_lt_top hfp.eLpNorm_lt_top hgq.eLpNorm_lt_top
70+
finiteness
6971

7072
/-- If `p` and `q` are Hölder conjugates, then the convolution of `f` and `g` is bounded everywhere
7173
by `eLpNorm f p μ * eLpNorm g q μ`. -/
72-
theorem enorm_convolution_le_eLpNorm_mul_eLpNorm [NormedSpace ℝ F] [AddGroup G]
73-
[MeasurableAdd₂ G] [MeasurableNeg G] (μ : Measure G) [SFinite μ] [μ.IsNegInvariant]
74-
[μ.IsAddLeftInvariant] {p q : ENNReal} (hpq : p.HolderConjugate q)
74+
theorem enorm_convolution_le_eLpNorm_mul_eLpNorm [NormedSpace ℝ F]
75+
[μ.IsNegInvariant] [μ.IsAddLeftInvariant] {p q : ENNReal} (hpq : p.HolderConjugate q)
7576
(hL : ∀ (x y : G), ‖L (f x) (g y)‖ ≤ ‖f x‖ * ‖g y‖)
7677
(hf : AEStronglyMeasurable f μ) (hg : AEStronglyMeasurable g μ) (x₀ : G) :
7778
‖(f ⋆[L, μ] g) x₀‖ₑ ≤ eLpNorm f p μ * eLpNorm g q μ :=

0 commit comments

Comments
 (0)