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

cond_entropy_indep

PFR.MoreRuzsaDist · PFR/MoreRuzsaDist.lean:2193 to 2212

Mathematical statement

Exact Lean statement

lemma cond_entropy_indep {Ω : Type*} [hΩ : MeasureSpace Ω] {S T U : Type*}
    {X : Ω → S} {Y : Ω → T} {Z : Ω → U}
    [MeasurableSpace S] [MeasurableSingletonClass S] [Finite S]
    [MeasurableSpace T] [MeasurableSingletonClass T] [Finite T]
    [MeasurableSpace U] [MeasurableSingletonClass U] [Finite U]
    (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z)
    [IsZeroOrProbabilityMeasure hΩ.volume] (hindep : IndepFun (⟨X, Y⟩) Z) :
    H[X | ⟨Y, Z⟩] = H[X | Y]

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma cond_entropy_indep {Ω : Type*} [hΩ : MeasureSpace Ω] {S T U : Type*}    {X : Ω  S} {Y : Ω  T} {Z : Ω  U}    [MeasurableSpace S] [MeasurableSingletonClass S] [Finite S]    [MeasurableSpace T] [MeasurableSingletonClass T] [Finite T]    [MeasurableSpace U] [MeasurableSingletonClass U] [Finite U]    (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z)    [IsZeroOrProbabilityMeasure hΩ.volume] (hindep : IndepFun (X, Y) Z) :    H[X | Y, Z] = H[X | Y] := by  have h1 : H[X | Y, Z] = H[X, Y, Z⟩⟩] - H[Y, Z] :=    chain_rule'' _ (by fun_prop) (by fun_prop)  have h2 : H[X | Y] = H[X, Y] - H[Y] := chain_rule'' _ (by fun_prop) (by fun_prop)  have h3 : H[X, Y, Z⟩⟩] = H[⟨⟨X, Y, Z] :=    entropy_of_comp_eq_of_comp _ (by fun_prop) (by fun_prop)    (fun x  ⟨⟨x.1, x.2.1, x.2.2) (fun x  x.1.1, x.1.2, x.2⟩⟩) (by rfl) (by rfl)  have h4 : H[⟨⟨X, Y, Z] = H[X, Y] + H[Z] :=    hindep.entropy_pair_eq_add (by fun_prop) (by fun_prop)  have h5 : H[Y, Z] = H[Y] + H[Z] := by    apply IndepFun.entropy_pair_eq_add <;> try fun_prop    exact IndepFun.comp:= fun x  x.2) (ψ := id) hindep (by fun_prop) (by fun_prop)  linarith