Functional representation lemma
DefinitionSigma-algebra of the auxiliary coordinate#✓fully proved
For measurable spaces \(X\), \(Y\) and \(S\), this is the sigma-algebra on \((X \times Y) \times S\) generated by the projection \(((x, y), s) \mapsto s\) onto \(S\), regarded as a sub-sigma-algebra of the product sigma-algebra on \((X \times Y) \times S\).
def auxiliaryConditioning {X Y S : Type*}
[mX : MeasurableSpace X] [mY : MeasurableSpace Y] [mS : MeasurableSpace S] :
{m : MeasurableSpace ((X × Y) × S) //
m ≤ @Prod.instMeasurableSpace (X × Y) S (@Prod.instMeasurableSpace X Y mX mY) mS} :=
⟨MeasurableSpace.comap Prod.snd mS, measurable_snd.comap_le⟩
Used by 1
DefinitionSigma-algebra of the input and auxiliary coordinates#✓fully proved
For measurable spaces \(X\), \(Y\) and \(S\), this is the sigma-algebra on \((X \times Y) \times S\) generated by the map \(((x, y), s) \mapsto (x, s)\) into \(X \times S\) with its product sigma-algebra, regarded as a sub-sigma-algebra of the product sigma-algebra on \((X \times Y) \times S\).
def inputAuxiliaryConditioning {X Y S : Type*}
[mX : MeasurableSpace X] [mY : MeasurableSpace Y] [mS : MeasurableSpace S] :
{m : MeasurableSpace ((X × Y) × S) //
m ≤ @Prod.instMeasurableSpace (X × Y) S (@Prod.instMeasurableSpace X Y mX mY) mS} :=
⟨MeasurableSpace.comap (fun z => (z.1.1, z.2)) (@Prod.instMeasurableSpace X S mX mS),
(measurable_fst.fst.prodMk measurable_snd).comap_le⟩
Used by 1
DefinitionConditional entropy of the output given the auxiliary variable#✓fully proved
For a probability measure \(\nu\) on \((X \times Y) \times S\), \(H(Y \mid S)\) is the conditional Shannon entropy under \(\nu\), in bits and with values in \([0, \infty]\), of the coordinate \(((x, y), s) \mapsto y\) given the sigma-algebra generated by the coordinate \(((x, y), s) \mapsto s\).
noncomputable def generalConditionalEntropy {X Y S : Type*}
[MeasurableSpace X] [MeasurableSpace Y] [MeasurableSpace S]
(ν : ProbabilityMeasure ((X × Y) × S)) : ℝ≥0∞ :=
conditionalShannonEntropy ν auxiliaryConditioning (fun z => z.1.2) measurable_fst.snd
noncomputable def conditionalShannonEntropy {Ω Y : Type*}
[mΩ : MeasurableSpace Ω] [MeasurableSpace Y] (μ : ProbabilityMeasure Ω)
(m : {m : MeasurableSpace Ω // m ≤ mΩ}) (output : Ω → Y)
(houtput : Measurable output) : ℝ≥0∞ :=
sSup {h | ∃ (n : ℕ) (q : Y → Fin n) (hq : Measurable q),
h = ENNReal.ofReal (quantizedConditionalEntropy μ m (q ∘ output) (hq.comp houtput))}
MathlibExt/InformationTheory/ConditionalEntropy.lean:68
def auxiliaryConditioning {X Y S : Type*}
[mX : MeasurableSpace X] [mY : MeasurableSpace Y] [mS : MeasurableSpace S] :
{m : MeasurableSpace ((X × Y) × S) //
m ≤ @Prod.instMeasurableSpace (X × Y) S (@Prod.instMeasurableSpace X Y mX mY) mS} :=
⟨MeasurableSpace.comap Prod.snd mS, measurable_snd.comap_le⟩
MathlibExt/InformationTheory/FunctionalRepresentation.lean:30
DefinitionConditional entropy of the output given input and auxiliary variable#✓fully proved
For a probability measure \(\nu\) on \((X \times Y) \times S\), \(H(Y \mid X, S)\) is the conditional Shannon entropy under \(\nu\), in bits and with values in \([0, \infty]\), of the coordinate \(((x, y), s) \mapsto y\) given the sigma-algebra generated by the map \(((x, y), s) \mapsto (x, s)\) into \(X \times S\).
noncomputable def generalRecoveryEntropy {X Y S : Type*}
[MeasurableSpace X] [MeasurableSpace Y] [MeasurableSpace S]
(ν : ProbabilityMeasure ((X × Y) × S)) : ℝ≥0∞ :=
conditionalShannonEntropy ν inputAuxiliaryConditioning (fun z => z.1.2) measurable_fst.snd
noncomputable def conditionalShannonEntropy {Ω Y : Type*}
[mΩ : MeasurableSpace Ω] [MeasurableSpace Y] (μ : ProbabilityMeasure Ω)
(m : {m : MeasurableSpace Ω // m ≤ mΩ}) (output : Ω → Y)
(houtput : Measurable output) : ℝ≥0∞ :=
sSup {h | ∃ (n : ℕ) (q : Y → Fin n) (hq : Measurable q),
h = ENNReal.ofReal (quantizedConditionalEntropy μ m (q ∘ output) (hq.comp houtput))}
MathlibExt/InformationTheory/ConditionalEntropy.lean:68
def inputAuxiliaryConditioning {X Y S : Type*}
[mX : MeasurableSpace X] [mY : MeasurableSpace Y] [mS : MeasurableSpace S] :
{m : MeasurableSpace ((X × Y) × S) //
m ≤ @Prod.instMeasurableSpace (X × Y) S (@Prod.instMeasurableSpace X Y mX mY) mS} :=
⟨MeasurableSpace.comap (fun z => (z.1.1, z.2)) (@Prod.instMeasurableSpace X S mX mS),
(measurable_fst.fst.prodMk measurable_snd).comap_le⟩
MathlibExt/InformationTheory/FunctionalRepresentation.lean:37
Uses 2 · Used by 3
DefinitionFunctional representation of a joint law#✓fully proved
Let \(\mu\) be a probability measure on \(X \times Y\) and \(\nu\) a probability measure on \((X \times Y) \times S\). Then \(\nu\) is a functional representation of \(\mu\) when all of the following hold: the image of \(\nu\) under \(((x, y), s) \mapsto (x, y)\) is \(\mu\); the mutual information of the image of \(\nu\) under \(((x, y), s) \mapsto (x, s)\) is zero; the conditional entropy \(H(Y \mid X, S)\) of \(\nu\) is zero; and there is a measurable map \(g : X \times S \to Y\) with \(g(x, s) = y\) for \(\nu\)-almost every \(((x, y), s)\).
def IsGeneralRepresentation {X Y S : Type*}
[MeasurableSpace X] [MeasurableSpace Y] [MeasurableSpace S]
(μ : ProbabilityMeasure (X × Y)) (ν : ProbabilityMeasure ((X × Y) × S)) : Prop :=
ν.map Prod.fst = μ ∧
measureMutualInformation (ν.map (fun z => (z.1.1, z.2))) = 0 ∧
generalRecoveryEntropy ν = 0 ∧
∃ g : X × S → Y, Measurable g ∧
∀ᵐ z ∂ν.toMeasure, g (z.1.1, z.2) = z.1.2
noncomputable def measureMutualInformation {X Y : Type*}
[MeasurableSpace X] [MeasurableSpace Y] (μ : ProbabilityMeasure (X × Y)) : ℝ≥0∞ :=
klDiv (μ : Measure (X × Y))
(((μ : Measure (X × Y)).map Prod.fst).prod ((μ : Measure (X × Y)).map Prod.snd)) /
ENNReal.ofReal (Real.log 2)
MathlibExt/InformationTheory/ConditionalEntropy.lean:88
noncomputable def generalRecoveryEntropy {X Y S : Type*}
[MeasurableSpace X] [MeasurableSpace Y] [MeasurableSpace S]
(ν : ProbabilityMeasure ((X × Y) × S)) : ℝ≥0∞ :=
conditionalShannonEntropy ν inputAuxiliaryConditioning (fun z => z.1.2) measurable_fst.snd
MathlibExt/InformationTheory/FunctionalRepresentation.lean:51
TheoremA functional representation has the prescribed joint law#✓fully proved
Let \(\mu\) be a probability measure on \(X \times Y\) and let \(\nu\) be a probability measure on \((X \times Y) \times S\) that is a functional representation of \(\mu\). Then the image of \(\nu\) under the projection \(((x, y), s) \mapsto (x, y)\) is \(\mu\).
theorem IsGeneralRepresentation.marginal_eq {X Y S : Type*}
[MeasurableSpace X] [MeasurableSpace Y] [MeasurableSpace S]
{μ : ProbabilityMeasure (X × Y)} {ν : ProbabilityMeasure ((X × Y) × S)}
(h : IsGeneralRepresentation μ ν) : ν.map Prod.fst = μ
def IsGeneralRepresentation {X Y S : Type*}
[MeasurableSpace X] [MeasurableSpace Y] [MeasurableSpace S]
(μ : ProbabilityMeasure (X × Y)) (ν : ProbabilityMeasure ((X × Y) × S)) : Prop :=
ν.map Prod.fst = μ ∧
measureMutualInformation (ν.map (fun z => (z.1.1, z.2))) = 0 ∧
generalRecoveryEntropy ν = 0 ∧
∃ g : X × S → Y, Measurable g ∧
∀ᵐ z ∂ν.toMeasure, g (z.1.1, z.2) = z.1.2
MathlibExt/InformationTheory/FunctionalRepresentation.lean:57
TheoremA functional representation has a measurable recovery map#✓fully proved
Let \(\mu\) be a probability measure on \(X \times Y\) and let \(\nu\) be a probability measure on \((X \times Y) \times S\) that is a functional representation of \(\mu\). Then there is a measurable map \(g : X \times S \to Y\) such that \(g(x, s) = y\) for \(\nu\)-almost every \(((x, y), s)\).
theorem IsGeneralRepresentation.exists_recovery {X Y S : Type*}
[MeasurableSpace X] [MeasurableSpace Y] [MeasurableSpace S]
{μ : ProbabilityMeasure (X × Y)} {ν : ProbabilityMeasure ((X × Y) × S)}
(h : IsGeneralRepresentation μ ν) :
∃ g : X × S → Y, Measurable g ∧ ∀ᵐ z ∂ν.toMeasure, g (z.1.1, z.2) = z.1.2
def IsGeneralRepresentation {X Y S : Type*}
[MeasurableSpace X] [MeasurableSpace Y] [MeasurableSpace S]
(μ : ProbabilityMeasure (X × Y)) (ν : ProbabilityMeasure ((X × Y) × S)) : Prop :=
ν.map Prod.fst = μ ∧
measureMutualInformation (ν.map (fun z => (z.1.1, z.2))) = 0 ∧
generalRecoveryEntropy ν = 0 ∧
∃ g : X × S → Y, Measurable g ∧
∀ᵐ z ∂ν.toMeasure, g (z.1.1, z.2) = z.1.2
MathlibExt/InformationTheory/FunctionalRepresentation.lean:57
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.