Skip to main content
teorth/PFR
Source indexedlemma · leanprover/lean4:v4.33.0-rc1

ProbabilityTheory.condEntropy_two_eq_kernel_entropy

PFR.ForMathlib.Entropy.Basic · PFR/ForMathlib/Entropy/Basic.lean:399 to 410

Mathematical statement

Exact Lean statement

lemma condEntropy_two_eq_kernel_entropy (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z)
    (μ : Measure Ω) [IsProbabilityMeasure μ] [FiniteRange Y] [FiniteRange Z] :
    H[X | ⟨Y, Z⟩ ; μ] =
      Hk[Kernel.condKernel (condDistrib (fun a ↦ (Y a, X a)) Z μ),
        Measure.map Z μ ⊗ₘ Kernel.fst (condDistrib (fun a ↦ (Y a, X a)) Z μ)]

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma condEntropy_two_eq_kernel_entropy (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z)    (μ : Measure Ω) [IsProbabilityMeasure μ] [FiniteRange Y] [FiniteRange Z] :    H[X | Y, Z ; μ] =      Hk[Kernel.condKernel (condDistrib (fun a  (Y a, X a)) Z μ),        Measure.map Z μ ⊗ₘ Kernel.fst (condDistrib (fun a  (Y a, X a)) Z μ)] := by  rw [Measure.compProd_congr (condDistrib_fst_ae_eq hY hX hZ μ),      map_compProd_condDistrib hY hZ,      Kernel.entropy_congr (condKernel_condDistrib_ae_eq hY hX hZ μ),       Kernel.entropy_congr (swap_condDistrib_ae_eq hY hX hZ μ)]  have : μ.map (fun ω  (Z ω, Y ω)) = (μ.map (fun ω  (Y ω, Z ω))).comap Prod.swap := by    rw [map_prod_comap_swap hY hZ]  rw [this, condEntropy_eq_kernel_entropy hX (hY.prodMk hZ), Kernel.entropy_comap_swap]