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

MeasureTheory.HasRestrictedWeakType.without_finiteness

Carleson.ToMathlib.LorentzType · Carleson/ToMathlib/LorentzType.lean:59 to 111

Mathematical statement

Exact Lean statement

lemma HasRestrictedWeakType.without_finiteness [ESeminormedAddMonoid ε₂] {T : (α → β) → (α' → ε₂)}
    (p_ne_zero : p ≠ 0) (p_ne_top : p ≠ ⊤) (q_ne_zero : q ≠ 0) (q_ne_top : q ≠ ⊤)
    {c : ℝ≥0} (c_pos : 0 < c) (hT : HasRestrictedWeakType T p q μ ν c)
    (T_zero_of_ae_zero : ∀ {f : α → β} (_ : f =ᶠ[ae μ] 0), enorm ∘ T f =ᶠ[ae ν] 0) :
  ∀ (F : Set α) (G : Set α'), (MeasurableSet F) → (MeasurableSet G) →
    eLpNorm (T (F.indicator (fun _ ↦ 1))) 1 (ν.restrict G)
      ≤ c * (μ F) ^ p⁻¹.toReal * (ν G) ^ q⁻¹.toReal

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma HasRestrictedWeakType.without_finiteness [ESeminormedAddMonoid ε₂] {T : (α  β)  (α'  ε₂)}    (p_ne_zero : p  0) (p_ne_top : p  ⊤) (q_ne_zero : q  0) (q_ne_top : q  ⊤)    {c : 0} (c_pos : 0 < c) (hT : HasRestrictedWeakType T p q μ ν c)    (T_zero_of_ae_zero :  {f : α  β} (_ : f =ᶠ[ae μ] 0), enorm ∘ T f =ᶠ[ae ν] 0) :   (F : Set α) (G : Set α'), (MeasurableSet F)  (MeasurableSet G)     eLpNorm (T (F.indicator (fun _  1))) 1 (ν.restrict G)       c * (μ F) ^ p⁻¹.toReal * (ν G) ^ q⁻¹.toReal := by  intro F G hF hG  have p_inv_pos : 0 < p⁻¹.toReal := by    simp only [ENNReal.toReal_inv, inv_pos, ENNReal.toReal_pos p_ne_zero p_ne_top]  have q_inv_pos : 0 < q⁻¹.toReal := by    simp only [ENNReal.toReal_inv, inv_pos, ENNReal.toReal_pos q_ne_zero q_ne_top]  by_cases hFG : μ F < ν G <  · exact (hT F G hF hFG.1 hG hFG.2).2  · rw [not_and_or] at hFG    rcases hFG with hF | hG    · by_cases G_zero : ν G = 0      · rw [G_zero, ENNReal.zero_rpow_of_pos q_inv_pos]        simp only [ENNReal.toReal_inv, mul_zero, nonpos_iff_eq_zero]        convert eLpNorm_measure_zero        simpa      simp only [not_lt, top_le_iff] at hF      rw [hF]      convert le_top      rw [ENNReal.mul_eq_top]      right      constructor      · rw [ENNReal.top_rpow_of_pos p_inv_pos, ENNReal.mul_top (by simp [c_pos.ne'])]      simp only [ENNReal.toReal_inv, ne_eq, ENNReal.rpow_eq_zero_iff, inv_pos, inv_neg'', not_or,        not_and, not_lt, ENNReal.toReal_nonneg, implies_true, and_true]      intro h      exfalso      exact G_zero h    · by_cases F_zero : μ F = 0      · rw [F_zero, ENNReal.zero_rpow_of_pos p_inv_pos]        simp only [mul_zero, ENNReal.toReal_inv, zero_mul, nonpos_iff_eq_zero]        rw [ nonpos_iff_eq_zero]        apply (eLpNorm_restrict_le _ _ _ _).trans        simp only [nonpos_iff_eq_zero]        apply eLpNorm_zero_of_ae_zero' (T_zero_of_ae_zero (indicator_meas_zero F_zero))      simp only [not_lt, top_le_iff] at hG      rw [hG]      convert le_top      rw [ENNReal.mul_eq_top]      left      constructor      · simp only [ENNReal.toReal_inv, ne_eq, mul_eq_zero, ENNReal.rpow_eq_zero_iff, inv_pos,          inv_neg'', not_or, not_and, not_lt, ENNReal.toReal_nonneg, implies_true, and_true]        use (by simp [c_pos.ne'])        intro h        exfalso        exact F_zero h      rw [ENNReal.top_rpow_of_pos q_inv_pos]