fpvandoorn/carleson
Source indexedlemma · leanprover/lean4:v4.32.0
rcarleson'_restrict
Carleson.Classical.ControlApproximationEffect · Carleson/Classical/ControlApproximationEffect.lean:24 to 82
Mathematical statement
Exact Lean statement
lemma rcarleson'_restrict {p : ℝ≥0} (hp : p ∈ Set.Ioo 1 2) {f : ℝ → ℂ}
(f_periodic : f.Periodic (2 * π)) (hf : MemLp f p (volume.restrict (Set.Ioc 0 (2 * π)))) :
eLpNorm (T f) p (volume.restrict (Set.Ioc 0 (2 * π)))
≤ 2 * (C_carleson_hasStrongType 4 p) * eLpNorm f p (volume.restrict (Set.Ioc 0 (2 * π)))Complete declaration
Lean source
Full Lean sourceLean 4
lemma rcarleson'_restrict {p : ℝ≥0} (hp : p ∈ Set.Ioo 1 2) {f : ℝ → ℂ} (f_periodic : f.Periodic (2 * π)) (hf : MemLp f p (volume.restrict (Set.Ioc 0 (2 * π)))) : eLpNorm (T f) p (volume.restrict (Set.Ioc 0 (2 * π))) ≤ 2 * (C_carleson_hasStrongType 4 p) * eLpNorm f p (volume.restrict (Set.Ioc 0 (2 * π))) := by have meas_f : AEStronglyMeasurable f := by rw [← zero_add (2 * π)] at hf exact (f_periodic.aestronglyMeasurable hf.1) have h : eLpNorm ((Set.Ioo (-1) (2 * π + 1)).indicator f) (↑p) volume ≤ 2 * eLpNorm f (↑p) (volume.restrict (Set.Ioc 0 (2 * π))) := by calc _ _ ≤ eLpNorm ((Set.Ioc (-1) (-1 + 2 * π)).indicator f) (↑p) volume + eLpNorm ((Set.Ioc (-1 + 2 * π) (-1 + 2 * π + 2 * π)).indicator f) (↑p) volume := by apply (eLpNorm_add_le _ _ (by simp [hp.1.le])).trans' · apply eLpNorm_mono intro x rw [← Set.indicator_union_add_inter, Set.Ioc_inter_Ioc, Set.Ioc_union_Ioc_eq_Ioc] · nth_rw 2 [Set.Ioc_eq_empty_of_le] · simp only [Set.indicator_empty, Pi.add_apply, add_zero] rw [norm_indicator_eq_indicator_norm, norm_indicator_eq_indicator_norm] gcongr intro x hx use hx.1 linarith [hx.2, Real.two_le_pi] · apply le_max_of_le_right apply min_le_left · linarith [Real.two_pi_pos] · linarith [Real.two_pi_pos] · rw [aestronglyMeasurable_indicator_iff measurableSet_Ioc] exact meas_f.restrict · rw [aestronglyMeasurable_indicator_iff measurableSet_Ioc] exact meas_f.restrict _ = 2 * eLpNorm f p (volume.restrict (Set.Ioc 0 (2 * π))) := by rw [two_mul (eLpNorm _ _ _)] rw [eLpNorm_indicator_eq_eLpNorm_restrict measurableSet_Ioc, eLpNorm_indicator_eq_eLpNorm_restrict measurableSet_Ioc] congr 1 · nth_rw 2 [← zero_add (2 * π)] exact f_periodic.eLpNorm (by simp) · nth_rw 4 [← zero_add (2 * π)] exact f_periodic.eLpNorm (by simp) calc _ _ = eLpNorm (T ((Set.Ioo (0 - 1) (2 * π + 1)).indicator f)) p (volume.restrict (Set.Ioc 0 (2 * π))) := by apply eLpNorm_congr_ae rw [Filter.EventuallyEq, ae_restrict_iff' measurableSet_Ioc] filter_upwards with x hx exact carlesonOperatorReal_eq_of_restrict_interval (Set.Ioc_subset_Icc_self hx) _ ≤ eLpNorm (T ((Set.Ioo (-1) (2 * π + 1)).indicator f)) p volume := by simp only [zero_sub] exact eLpNorm_mono_measure _ Measure.restrict_le_self _ ≤ (C_carleson_hasStrongType 4 p) * eLpNorm ((Set.Ioo (-1) (2 * π + 1)).indicator f) p volume := by apply rcarleson' hp rw [memLp_indicator_iff_restrict measurableSet_Ioo] use meas_f.restrict rw [← eLpNorm_indicator_eq_eLpNorm_restrict measurableSet_Ioo] apply h.trans_lt apply ENNReal.mul_lt_top (by simp) hf.2 _ ≤ 2 * (C_carleson_hasStrongType 4 p) * eLpNorm f p (volume.restrict (Set.Ioc 0 (2 * π))) := by rw [mul_comm 2 (ENNReal.ofNNReal _), mul_assoc] gcongr