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

ENNReal.lintegral_prod_norm_pow_le'

Carleson.ToMathlib.MeasureTheory.Integral.MeanInequalities · Carleson/ToMathlib/MeasureTheory/Integral/MeanInequalities.lean:38 to 76

Source documentation

A version of Hölder with multiple arguments, allowing as an exponent.

Exact Lean statement

theorem lintegral_prod_norm_pow_le' {α ι : Type*} [MeasurableSpace α] {μ : Measure α}
    {s : Finset ι} {f : ι → α → ℝ≥0∞} (hf : ∀ i ∈ s, AEMeasurable (f i) μ)
    {p : ι → ℝ≥0∞} (hp : ∑ i ∈ s, (p i)⁻¹ = 1) :
    ∫⁻ (a : α), ∏ i ∈ s, f i a ∂μ ≤ ∏ i ∈ s, eLpNorm (f i) (p i) μ

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
theorem lintegral_prod_norm_pow_le' {α ι : Type*} [MeasurableSpace α] {μ : Measure α}    {s : Finset ι} {f : ι  α  0∞} (hf :  i  s, AEMeasurable (f i) μ)    {p : ι  0∞} (hp : ∑ i  s, (p i)⁻¹ = 1) :    ∫⁻ (a : α), ∏ i  s, f i a ∂μ  ∏ i  s, eLpNorm (f i) (p i) μ := by  classical  revert hp hf  refine Finset.strongInduction (fun s hs hf hp  ?_) s (p := fun s     ( i  s, AEMeasurable (f i) μ)  (∑ i  s, (p i)⁻¹ = 1)     ∫⁻ (a : α), ∏ i  s, f i a ∂μ  ∏ i  s, eLpNorm (f i) (p i) μ)  by_cases exists_top :  i₀  s, p i₀ =-- If one of the exponents is `∞`, we reduce to the  · obtain i₀, hi₀, pi₀_eq_top := exists_top -- case without it and use the inductive hypothesis    calc ∫⁻ (a : α), ∏ i  s, f i a ∂μ      _ = ∫⁻ (a : α), f i₀ a * ∏ i  s.erase i₀, f i a ∂μ :=        lintegral_congr (fun a  (Finset.mul_prod_erase s (f · a) hi₀).symm)      _  eLpNorm (f i₀) (p i₀) μ * ∫⁻ (a : α), ∏ i  s.erase i₀, f i a ∂μ := by        rw [ lintegral_const_mul'', pi₀_eq_top]        · exact lintegral_mono_ae <| (ae_le_essSup (f i₀)).mono (fun a ha  mul_le_mul_left ha _)        · exact Finset.aemeasurable_fun_prod _ (fun i hi  hf i (Finset.mem_of_mem_erase hi))      _  eLpNorm (f i₀) (p i₀) μ * ∏ i  s.erase i₀, eLpNorm (f i) (p i) μ := by        apply mul_right_mono        apply hs (s.erase i₀) (s.erase_ssubset hi₀) (fun i hi  hf i (s.erase_subset i₀ hi))        simpa [ Finset.add_sum_erase s _ hi₀, pi₀_eq_top] using hp      _ = _ := Finset.mul_prod_erase s (fun i  eLpNorm (f i) (p i) μ) hi₀  -- If all exponents are finite, we're in the case covered by `ENNReal.lintegral_prod_norm_pow_le`  have hf' :  i  s, AEMeasurable (fun a  ((f i a) ^ (p i).toReal)) μ :=    fun i hi  (hf i hi).pow_const (p i).toReal  have hp₁ : ∑ i  s, (p i).toReal⁻¹ = 1 := by    simp_rw [ (ENNReal.toReal_eq_one_iff 1).mpr rfl,  ENNReal.toReal_inv]    suffices (∑ x  s, (p x)⁻¹).toReal = ∑ x  s, (p x)⁻¹.toReal by rw [ this, hp]    refine ENNReal.toReal_sum (fun i hi eq_top  ?_)    exact ENNReal.one_ne_top <| hp ▸ ENNReal.sum_eq_top.mpr i, hi, eq_top  have hp₂ :  i  s, 0  (p i).toReal⁻¹ := by intros; positivity  have p_ne_0 :  i  s, p i  0 :=    fun i hi eq0  one_ne_top <| hp.symm.trans <| ENNReal.sum_eq_top.mpr i, hi, by simp [eq0]  have p_ne_top :  i  s, p i := fun i hi h  exists_top i, hi, h  convert ENNReal.lintegral_prod_norm_pow_le s hf' hp₁ hp₂ with a i₀ hi₀ i hi  · rw [ ENNReal.rpow_mul, mul_inv_cancel₀, rpow_one]    exact ENNReal.toReal_ne_zero.mpr p_ne_0 i₀ hi₀, (exists_top i₀, hi₀, ·⟩)  · simp [eLpNorm, eLpNorm', p_ne_0 i hi, p_ne_top i hi]