teorth/PFR
Source indexedlemma · leanprover/lean4:v4.33.0-rc1
condRuzsaDist_le'_prod
PFR.ForMathlib.Entropy.RuzsaDist · PFR/ForMathlib/Entropy/RuzsaDist.lean:1336 to 1349
Mathematical statement
Exact Lean statement
lemma condRuzsaDist_le'_prod [Countable T] {X : Ω → G} {Y : Ω' → G} {W Z : Ω' → T}
[IsProbabilityMeasure μ] [IsProbabilityMeasure μ']
(hX : Measurable X) (hY : Measurable Y) (hW : Measurable W) (hZ : Measurable Z)
[FiniteRange X] [FiniteRange Y] [FiniteRange W] [FiniteRange Z] :
d[X ; μ # Y|⟨W, Z⟩ ; μ'] ≤ d[X ; μ # Y|Z ; μ'] + I[Y : W | Z ; μ']/2Complete declaration
Lean source
Full Lean sourceLean 4
lemma condRuzsaDist_le'_prod [Countable T] {X : Ω → G} {Y : Ω' → G} {W Z : Ω' → T} [IsProbabilityMeasure μ] [IsProbabilityMeasure μ'] (hX : Measurable X) (hY : Measurable Y) (hW : Measurable W) (hZ : Measurable Z) [FiniteRange X] [FiniteRange Y] [FiniteRange W] [FiniteRange Z] : d[X ; μ # Y|⟨W, Z⟩ ; μ'] ≤ d[X ; μ # Y|Z ; μ'] + I[Y : W | Z ; μ']/2 := by rw [condRuzsaDist'_prod_eq_sum _ _ hY hW hZ, condRuzsaDist'_eq_sum hY hZ, condMutualInfo_eq_sum hZ, Finset.sum_div, ← Finset.sum_add_distrib] gcongr with z rw [mul_div_assoc, ← mul_add] rcases eq_or_ne (μ' (Z ⁻¹' {z})) 0 with hz | hz · simp [measureReal_def, hz] · have : IsProbabilityMeasure (μ'[|Z ⁻¹' {z}]) := cond_isProbabilityMeasure hz gcongr exact condRuzsaDist_le' _ _ hX hY hW