InformationTheory

InformationTheory.Shannon.MutualInfoReencoding

source

Invariance of an information slot under a re-encoding of one of its variables #

An information slot depends on the variable filling it only through the information that variable carries, so replacing the variable by its image under a map that has a left inverse leaves the slot unchanged: the data processing inequality bounds the slot in one direction along the map and in the other along the left inverse. The same holds for a variable replaced by one equal to it almost everywhere, since the two induce the same joint law. For a re-encoding of the conditioning variable the chain rule turns the statement about a pair back into one about the conditional mutual information.

None of the statements mentions a channel or a code: they are properties of mutualInfo and condMutualInfo under a substitution of one of their variables.

Main statements #

  • mutualInfo_eq_of_leftInverse — re-encoding a variable by a map that has a left inverse leaves the mutual information it carries about another variable unchanged.
  • mutualInfo_congr_ae — two variables that agree almost everywhere carry the same mutual information about a third.
  • condMutualInfo_eq_of_leftInverse_cond — the same re-encoding applied to the conditioning variable of a conditional mutual information, obtained from the chain rule by cancelling the tag term on both sides.

Implementation notes #

A variable relabeled by a MeasurableEquiv is the special case g := e.symm, so mutualInfo_map_left_measurableEquiv is an instance of mutualInfo_eq_of_leftInverse; it is stated separately because it is proved directly from klDiv_map_measurableEquiv, without the data processing inequality. Its conditioner analogue condMutualInfo_map_cond_measurableEquiv is not subsumed the same way: cancelling the conditioning variable's own term of the chain rule, which is how condMutualInfo_eq_of_leftInverse_cond is proved, needs that term to be finite, whereas a relabel needs no side condition at all.

theorem

InformationTheory.Shannon.mutualInfo_eq_of_leftInverse

source
{Ω : Type u_1} {γ : Type u_2} {A : Type u_3} {B : Type u_4} [MeasurableSpace Ω] [MeasurableSpace γ] [MeasurableSpace A] [MeasurableSpace B] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] (U : ΩA) (Yo : Ωγ) (hU : Measurable U) (hYo : Measurable Yo) {f : AB} {g : BA} (hf : Measurable f) (hg : Measurable g) (hgf : ∀ (a : A), g (f a) = a) :
mutualInfo μ (fun (ω : Ω) => f (U ω)) Yo = mutualInfo μ U Yo
Used by
    theorem

    InformationTheory.Shannon.mutualInfo_congr_ae

    source
    {Ω : Type u_1} {A : Type u_2} {B : Type u_3} [MeasurableSpace Ω] [MeasurableSpace A] [MeasurableSpace B] (μ : MeasureTheory.Measure Ω) {Xs Xs' : ΩA} (Yo : ΩB) (h : Xs =ᵐ[μ] Xs') :
    mutualInfo μ Xs Yo = mutualInfo μ Xs' Yo
    Used by
      theorem

      InformationTheory.Shannon.condMutualInfo_eq_of_leftInverse_cond

      source
      {Ω : Type u_1} {A : Type u_2} {B : Type u_3} {C : Type u_4} {C' : Type u_5} [MeasurableSpace Ω] [MeasurableSpace A] [StandardBorelSpace A] [Nonempty A] [MeasurableSpace B] [StandardBorelSpace B] [Nonempty B] [MeasurableSpace C] [MeasurableSpace C'] (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (Xs : ΩA) (Yo : ΩB) (Zc : ΩC) (hXs : Measurable Xs) (hYo : Measurable Yo) (hZc : Measurable Zc) {f : CC'} {g : C'C} (hf : Measurable f) (hg : Measurable g) (hgf : ∀ (c : C), g (f c) = c) (hfin : mutualInfo μ Zc Yo ) :
      (condMutualInfo μ Xs Yo fun (ω : Ω) => f (Zc ω)) = condMutualInfo μ Xs Yo Zc
      Used by