teorth/PFR
Source indexedlemma · leanprover/lean4:v4.33.0-rc1
condRuszaDist_prod_eq_of_indepFun
PFR.ForMathlib.Entropy.RuzsaDist · PFR/ForMathlib/Entropy/RuzsaDist.lean:956 to 974
Mathematical statement
Exact Lean statement
lemma condRuszaDist_prod_eq_of_indepFun {μ : Measure Ω} {μ' : Measure Ω'} {X : Ω → G} {Y : Ω' → G}
{W W' : Ω' → T} (hX : Measurable X) (hY : Measurable Y) (hW : Measurable W)
(hW' : Measurable W') (h : IndepFun (⟨Y, W⟩) W' μ')
[IsProbabilityMeasure μ'] [Finite T] :
d[X ; μ # Y | ⟨W, W'⟩ ; μ'] = d[X ; μ # Y | W ; μ']Complete declaration
Lean source
Full Lean sourceLean 4
lemma condRuszaDist_prod_eq_of_indepFun {μ : Measure Ω} {μ' : Measure Ω'} {X : Ω → G} {Y : Ω' → G} {W W' : Ω' → T} (hX : Measurable X) (hY : Measurable Y) (hW : Measurable W) (hW' : Measurable W') (h : IndepFun (⟨Y, W⟩) W' μ') [IsProbabilityMeasure μ'] [Finite T] : d[X ; μ # Y | ⟨W, W'⟩ ; μ'] = d[X ; μ # Y | W ; μ'] := by cases nonempty_fintype T rw [condRuzsaDist'_prod_eq_sum' _ _ hY hW hW'] have : d[X ; μ # Y | W ; μ'] = ∑ z, μ'.real (W' ⁻¹' {z}) * d[X ; μ # Y | W ; μ'] := by rw [← Finset.sum_mul, sum_measureReal_preimage_singleton _ fun _ _ ↦ hW' <| .singleton _] simp rw [this] congr with w obtain hw | hw := eq_or_ne (μ'.real (W' ⁻¹' {w})) 0 · simp [hw] congr 1 apply condRuzsaDist'_of_copy _ hY hW _ hY hW (IdentDistrib.refl hX.aemeasurable) (h.identDistrib_cond (MeasurableSet.singleton w) (hY.prodMk hW) hW' ?_).symm intro h simp [measureReal_def, h] at hw