Skip to main content
YaelDillies/APAP
Source indexedlemma · leanprover/lean4:v4.32.0

MeasureTheory.wInner_one_le_dLpNorm_mul_dLpNorm

APAP.Prereqs.Inner.Hoelder.Discrete · APAP/Prereqs/Inner/Hoelder/Discrete.lean:51 to 73

Source documentation

Hölder's inequality, binary case.

Exact Lean statement

lemma wInner_one_le_dLpNorm_mul_dLpNorm (p q : ℝ≥0∞) [p.HolderConjugate q] :
    ⟪f, g⟫_[ℝ] ≤ ‖f‖_[p] * ‖g‖_[q]

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma wInner_one_le_dLpNorm_mul_dLpNorm (p q : 0∞) [p.HolderConjugate q] :    ⟪f, g⟫_[]  ‖f‖_[p] * ‖g‖_[q] := by  have hp0 : p  0 := ENNReal.HolderConjugate.ne_zero p q  have hq0 : q  0 := ENNReal.HolderConjugate.ne_zero q p  have hwInner : ⟪f, g⟫_[] = ∑ i, f i * g i := by simp [wInner_one_eq_sum, mul_comm]  have hfg i : f i * g i  ‖f i‖ * ‖g i‖ :=    (le_abs_self _).trans_eq (by rw [abs_mul]; simp [Real.norm_eq_abs])  obtain rfl | hpi := eq_or_ne p ∞  · obtain rfl : q = 1 := (ENNReal.HolderConjugate.eq_top_iff_eq_one ∞ q).mp rfl    simp only [hwInner, dL1Norm_eq_sum_norm, norm_eq_abs, dLinftyNorm_eq_iSup_norm, mul_sum]    gcongr ∑ _, ?_ with i    grw [le_abs_self (_ * _), abs_mul,  le_ciSup (Finite.bddAbove_range _)]  obtain rfl | hqi := eq_or_ne q ∞  · obtain rfl : p = 1 := (ENNReal.HolderConjugate.eq_top_iff_eq_one ∞ p).mp rfl    simp only [hwInner, dL1Norm_eq_sum_norm, norm_eq_abs, dLinftyNorm_eq_iSup_norm, sum_mul]    gcongr ∑ _, ?_ with i    grw [le_abs_self (_ * _), abs_mul,  le_ciSup (Finite.bddAbove_range _)]  have hpr : 0 < p.toReal := ENNReal.toReal_pos hp0 hpi  have hqr : 0 < q.toReal := ENNReal.toReal_pos hq0 hqi  have hreal : Real.HolderConjugate p.toReal q.toReal := by    simpa using ENNReal.HolderTriple.toReal (p := p) (q := q) (r := 1) hpr hqr  rw [hwInner, dLpNorm_eq_sum_norm' hp0 hpi, dLpNorm_eq_sum_norm' hq0 hqi]  simpa using Real.inner_le_Lp_mul_Lq Finset.univ f g hreal