Skip to main content
fpvandoorn/carleson
Source indexedlemma Β· leanprover/lean4:v4.32.0

MeasureTheory.HasRestrictedWeakType.hasLorentzType

Carleson.ToMathlib.LorentzType Β· Carleson/ToMathlib/LorentzType.lean:558 to 656

Mathematical statement

Exact Lean statement

lemma HasRestrictedWeakType.hasLorentzType {𝕂 : Type*}
  [RCLike 𝕂] [TopologicalSpace Ξ΅'] [ENormedSpace Ξ΅']
  {T : (Ξ± β†’ 𝕂) β†’ (Ξ±' β†’ Ξ΅')} {p q : ℝβ‰₯0∞} (hpq : p.HolderConjugate q) (p_ne_top : p β‰  ⊀) (q_ne_top : q β‰  ⊀)
  [SigmaFinite Ξ½] {c : ℝβ‰₯0} (c_pos : 0 < c)
  (hT : HasRestrictedWeakType T p q ΞΌ Ξ½ c)
  (T_meas : βˆ€ {f : Ξ± β†’ 𝕂}, (MemLorentz f p 1 ΞΌ) β†’ AEStronglyMeasurable (T f) Ξ½)
  (T_subadd : βˆ€ {f g : Ξ± β†’ 𝕂}, (MemLorentz f p 1 ΞΌ) β†’ (MemLorentz g p 1 ΞΌ) β†’
    βˆ€α΅ x βˆ‚Ξ½, β€–T (f + g) xβ€–β‚‘ ≀ β€–T f xβ€–β‚‘ + β€–T g xβ€–β‚‘)
  (T_submul : βˆ€ (a : 𝕂) (f : Ξ± β†’ 𝕂), βˆ€α΅ (x : Ξ±') βˆ‚Ξ½, β€–T (a β€’ f) xβ€–β‚‘ ≀ β€–aβ€–β‚‘ * β€–T f xβ€–β‚‘)
  (weakly_cont_T : βˆ€ {f : Ξ± β†’ 𝕂} {fs : β„• β†’ Ξ± β†’ 𝕂},
                     (MemLorentz f p 1 ΞΌ) β†’
                     (βˆ€ (n : β„•), AEStronglyMeasurable (fs n) ΞΌ) β†’
                     (βˆ€ (a : Ξ±), Monotone (fun n ↦ β€–fs n aβ€–)) β†’
                     (βˆ€ (a : Ξ±), Filter.Tendsto (fun (n : β„•) => fs n a) Filter.atTop (nhds (f a))) β†’
                     (G : Set Ξ±') β†’
    eLpNorm (T f) 1 (Ξ½.restrict G) ≀ Filter.limsup (fun n ↦ eLpNorm (T (fs n)) 1 (Ξ½.restrict G)) Filter.atTop)
  (T_zero : T 0 =αΆ [ae Ξ½] 0)
  (T_ae_eq_of_ae_eq : βˆ€ {f g : Ξ± β†’ 𝕂} (_ : f =αΆ [ae ΞΌ] g), T f =αΆ [ae Ξ½] T g) --TODO: incorporate into weakly_cont_T?
    :
    HasLorentzType T p 1 p ∞ μ ν (4 * c / p)

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma HasRestrictedWeakType.hasLorentzType {𝕂 : Type*}  [RCLike 𝕂] [TopologicalSpace Ξ΅'] [ENormedSpace Ξ΅']  {T : (Ξ± β†’ 𝕂) β†’ (Ξ±' β†’ Ξ΅')} {p q : ℝβ‰₯0∞} (hpq : p.HolderConjugate q) (p_ne_top : p β‰  ⊀) (q_ne_top : q β‰  ⊀)  [SigmaFinite Ξ½] {c : ℝβ‰₯0} (c_pos : 0 < c)  (hT : HasRestrictedWeakType T p q ΞΌ Ξ½ c)  (T_meas : βˆ€ {f : Ξ± β†’ 𝕂}, (MemLorentz f p 1 ΞΌ) β†’ AEStronglyMeasurable (T f) Ξ½)  (T_subadd : βˆ€ {f g : Ξ± β†’ 𝕂}, (MemLorentz f p 1 ΞΌ) β†’ (MemLorentz g p 1 ΞΌ) β†’    βˆ€α΅ x βˆ‚Ξ½, β€–T (f + g) xβ€–β‚‘ ≀ β€–T f xβ€–β‚‘ + β€–T g xβ€–β‚‘)  (T_submul : βˆ€ (a : 𝕂) (f : Ξ± β†’ 𝕂), βˆ€α΅ (x : Ξ±') βˆ‚Ξ½, β€–T (a β€’ f) xβ€–β‚‘ ≀ β€–aβ€–β‚‘ * β€–T f xβ€–β‚‘)  (weakly_cont_T : βˆ€ {f : Ξ± β†’ 𝕂} {fs : β„• β†’ Ξ± β†’ 𝕂},                     (MemLorentz f p 1 ΞΌ) β†’                     (βˆ€ (n : β„•), AEStronglyMeasurable (fs n) ΞΌ) β†’                     (βˆ€ (a : Ξ±), Monotone (fun n ↦ β€–fs n aβ€–)) β†’                     (βˆ€ (a : Ξ±), Filter.Tendsto (fun (n : β„•) => fs n a) Filter.atTop (nhds (f a))) β†’                     (G : Set Ξ±') β†’    eLpNorm (T f) 1 (Ξ½.restrict G) ≀ Filter.limsup (fun n ↦ eLpNorm (T (fs n)) 1 (Ξ½.restrict G)) Filter.atTop)  (T_zero : T 0 =αΆ [ae Ξ½] 0)  (T_ae_eq_of_ae_eq : βˆ€ {f g : Ξ± β†’ 𝕂} (_ : f =αΆ [ae ΞΌ] g), T f =αΆ [ae Ξ½] T g) --TODO: incorporate into weakly_cont_T?    :    HasLorentzType T p 1 p ∞ ΞΌ Ξ½ (4 * c / p) := by  rw [mul_div_assoc]  apply HasRestrictedWeakType'.hasLorentzType hpq p_ne_top q_ne_top (by finiteness [hpq.ne_zero])  apply HasRestrictedWeakType'.of_hasRestrictedWeakType'_nnreal T_meas T_zero T_subadd T_submul  apply hasRestrictedWeakType'_nnreal c_pos p_ne_top q_ne_top hpq  Β· intro f hf    apply T_meas    rwa [memLorentz_iff_memLorentz_embedRCLike]  Β· intro f g hf hg    rw [← memLorentz_iff_memLorentz_embedRCLike (𝕂 := 𝕂)] at hf    rw [← memLorentz_iff_memLorentz_embedRCLike (𝕂 := 𝕂)] at hg    filter_upwards [T_subadd hf hg]    intro x h    apply h.trans_eq'    congr with x    simp  Β· intro a f    filter_upwards [T_submul (NNReal.toReal a) (RCLike.ofReal ∘ NNReal.toReal ∘ f)]    intro x h    convert h    Β· ext x      simp    Β· rw [enorm_eq_nnnorm, enorm_eq_nnnorm]      simp  Β· intro f g hfg    apply T_ae_eq_of_ae_eq    filter_upwards [hfg]    simp  Β· simpa  Β· intro F G hF F_finite hG G_finite    have := hT F G hF F_finite hG G_finite    constructor    Β· apply T_meas      rw [memLorentz_iff_memLorentz_embedRCLike]      constructor      Β· apply Measurable.aestronglyMeasurable        apply Measurable.indicator measurable_const hF      Β· rw [const_def, eLorentzNorm_indicator_const]        simp only [one_ne_zero, ↓reduceIte, one_ne_top, enorm_NNReal, ENNReal.coe_one, mul_one,          div_one, toReal_one, inv_one, ENNReal.rpow_one]        split_ifs        Β· simp        apply mul_lt_top (Ne.lt_top p_ne_top)        exact rpow_lt_top_of_nonneg (by simp) F_finite.ne    Β· simp only      convert this.2      ext x      simp only [comp_apply, NNReal.coe_indicator, NNReal.coe_one]      unfold indicator      split_ifs <;> simp  Β· intro fs hfs bddAbove_fs f hf G    apply weakly_cont_T    Β· rwa [memLorentz_iff_memLorentz_embedRCLike]    Β· intro n      apply Measurable.aestronglyMeasurable      apply RCLike.measurable_ofReal.comp      apply measurable_coe_nnreal_real.comp (SimpleFunc.measurable (fs n))    Β· intro x      simp only [Function.comp_apply, norm_algebraMap', Real.norm_eq_abs, NNReal.abs_eq]      exact fun ⦃a b⦄ a_1 ↦ hfs a_1 x    Β· intro x      have : Tendsto (fun n ↦ (fs n) x) atTop (𝓝 (f x)) := by        apply tendsto_atTop_ciSup        Β· intro n m hmn          apply hfs hmn        Β· rw [bddAbove_def] at *          rcases bddAbove_fs with ⟨g, hg⟩          use g x          intro y hy          rcases hy with ⟨n, hn⟩          rw [← hn]          apply hg          use n      apply Filter.Tendsto.comp (y := (𝓝 ((toReal ∘ f) x)))      Β· apply Continuous.tendsto'        Β· continuity        Β· simp      apply Filter.Tendsto.comp (z := 𝓝 (toReal (f x))) _ this      apply NNReal.continuous_coe.tendsto'      rfl