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

ProbabilityTheory.max_condEntropy_sub_condMutualInfo_le_condEntropy_mul

PFR.ForMathlib.Entropy.Group · PFR/ForMathlib/Entropy/Group.lean:217 to 232

Source documentation

max(H[X | Z], H[Y | Z]) - I[X : Y | Z] ≤ H[X * Y | Z]

Exact Lean statement

@[to_additive /-- `max(H[X | Z], H[Y | Z]) - I[X : Y | Z] ≤ H[X + Y | Z]` -/]
lemma max_condEntropy_sub_condMutualInfo_le_condEntropy_mul {Z : Ω → T} [FiniteRange Z]
    (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) :
    max H[X | Z ; μ] H[Y | Z ; μ] - I[X : Y | Z ; μ] ≤ H[X * Y | Z ; μ]

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
@[to_additive /-- `max(H[X | Z], H[Y | Z]) - I[X : Y | Z] ≤ H[X + Y | Z]` -/]lemma max_condEntropy_sub_condMutualInfo_le_condEntropy_mul {Z : Ω  T} [FiniteRange Z]    (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) :    max H[X | Z ; μ] H[Y | Z ; μ] - I[X : Y | Z ; μ]  H[X * Y | Z ; μ] := by  rw [condMutualInfo_comm hX hY, condEntropy_eq_kernel_entropy hX hZ,    condEntropy_eq_kernel_entropy hY hZ, condMutualInfo_eq_kernel_mutualInfo hY hX hZ,    condEntropy_eq_kernel_entropy (show Measurable (X * Y) from hX.mul hY) hZ]  rw [Kernel.entropy_congr (condDistrib_snd_ae_eq hY hX hZ μ).symm,    Kernel.entropy_congr (condDistrib_fst_ae_eq hY hX hZ μ).symm,    max_comm]  refine (Kernel.max_entropy_sub_mutualInfo_le_entropy_mul' _ _ ?_).trans_eq ?_  · exact Kernel.aefiniteKernelSupport_condDistrib _ _ _ (hY.prodMk hX) hZ  have h := condDistrib_comp Z (hY.prodMk hX).aemeasurable    (f := fun x  x.2 * x.1) (by fun_prop) (μ := μ) (mβ := inferInstance)  rw [Kernel.entropy_congr h.symm]  rfl