PFR/ForMathlib/Entropy/Basic.lean
Explanation legend Lean4 Domain Explanation Language (L4DEL)
L4DEL explanations are a separate layer. They do not change the Lean source. Intuition is explanatory prose; numbered items are a reading path; sources link the wording back to evidence.
- L4DEL
- Lean4 Domain Explanation Language
Credit: The upstream authors and contributors retain credit for the project and mathematics. lean4-explainer only renders their pinned source and adds the separately disclosed explanation layer.
Project sources: Pinned project documentation, Polynomial Freiman-Ruzsa proof paper, arXiv v2
98 declarations, 0 contain sorry, 0 declared as axioms
Entropy and conditional entropy
Main definitions
entropy: entropy of a random variable, defined asmeasureEntropy (volume.map X)condEntropy: conditional entropy of a random variableXw.r.t. another oneYmutualInfo: mutual information of two random variables
Main statements
chain_rule: $H[⟨X, Y⟩] = H[Y] + H[X | Y]$entropy_cond_le_entropy: $H[X | Y] ≤ H[X]$. (Chain rule another way.)entropy_triple_add_entropy_le(Submodularity of entropy.) : $H[X, Y, Z] + H[Z] ≤ H[X, Z] + H[Y, Z]$.
Notations
H[X] = entropy XH[X | Y ← y] = Hm[(ℙ[|Y ← y]).map X]H[X | Y] = condEntropy X Y, such thatH[X | Y] = (volume.map Y)[fun y ↦ H[X | Y ← y]]I[X : Y] = mutualInfo X Y
All notations have variants where we can specify the measure (which is otherwise
supposed to be volume). For example H[X ; μ] and I[X : Y ; μ] instead of H[X] and
I[X : Y] respectively.
Imports (4)
Imported by 3 files
- def
ProbabilityTheory.entropyline 50 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,autoParam,MeasureTheory.Measure,RealProof uses: ProbabilityTheory.measureEntropy,
MeasureTheory.Measure.map1 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.entropy_defEntropy of a random variable agrees with entropy of its distribution line 58 sourceSource documentation
Entropy of a random variable agrees with entropy of its distribution.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.entropy, ProbabilityTheory.measureEntropy,MeasureTheory.Measure.mapProof uses:
rfllemma entropy_def (X : Ω → S) (μ : Measure Ω) : entropy X μ = Hm[μ.map X] := rfl
Mentions: ProbabilityTheory.entropy
- lemma
ProbabilityTheory.entropy_eq_kernel_entropyEntropy of a random variable is also the kernel entropy of the distribution over a Dirac mass line 62 sourceSource documentation
Entropy of a random variable is also the kernel entropy of the distribution over a Dirac mass.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.entropy, ProbabilityTheory.Kernel.entropy,Unit,ProbabilityTheory.Kernel.const,MeasureTheory.Measure.map,MeasureTheory.Measure.dirac,Unit.unitProof uses:
of_eq_true, ProbabilityTheory.measureEntropy,Eq.trans,True,congrArg,HMul.hMul,ENNReal.toReal,Set,ENNReal,Set.univ, ProbabilityTheory.Kernel.entropy_const,OfNat.ofNat,congrFun',MeasureTheory.IsProbabilityMeasure.measure_univ,one_mul,eq_self13 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma entropy_eq_kernel_entropy (X : Ω → S) (μ : Measure Ω) : H[X ; μ] = Hk[Kernel.const Unit (μ.map X), Measure.dirac ()] := by simp [entropy] …Mentions: ProbabilityTheory.entropy
- lemma
ProbabilityTheory.entropy_zero_measureAny variable on a zero measure space has zero entropy line 67 sourceSource documentation
Any variable on a zero measure space has zero entropy.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Eq,Real, ProbabilityTheory.entropy,OfNat.ofNat,MeasureTheory.MeasureProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg, ProbabilityTheory.measureEntropy,MeasureTheory.Measure.map,MeasureTheory.Measure.map_zero, ProbabilityTheory.measureEntropy_zero,eq_self6 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma entropy_zero_measure (X : Ω → S) : H[X ; (0 : Measure Ω)] = 0 := by simp [entropy]
Mentions: ProbabilityTheory.entropy
- lemma
ProbabilityTheory.entropy_congrTwo variables that agree almost everywhere, have the same entropy line 70 sourceSource documentation
Two variables that agree almost everywhere, have the same entropy.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Filter.EventuallyEq,MeasureTheory.ae,Eq,Real, ProbabilityTheory.entropyProof uses:
Eq.mpr, ProbabilityTheory.measureEntropy,MeasureTheory.Measure.map,id,congrArg, ProbabilityTheory.entropy_def,MeasureTheory.Measure.map_congr,Eq.refl4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma entropy_congr {X X' : Ω → S} (h : X =ᵐ[μ] X') : H[X ; μ] = H[X' ; μ] := by … - lemma
ProbabilityTheory.entropy_nonnegEntropy is always non-negative line 74 sourceSource documentation
Entropy is always non-negative.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,LE.le,Real,OfNat.ofNat, ProbabilityTheory.entropyProof uses: ProbabilityTheory.measureEntropy_nonneg,
MeasureTheory.Measure.map3 instances, coercions and auxiliary constants left out.
lemma entropy_nonneg (X : Ω → S) (μ : Measure Ω) : 0 ≤ entropy X μ := measureEntropy_nonneg _
Mentions: ProbabilityTheory.entropy, ProbabilityTheory.measureEntropy_nonneg
- lemma
ProbabilityTheory.IdentDistrib.entropy_congrTwo variables that have the same distribution, have the same entropy line 77 sourceSource documentation
Two variables that have the same distribution, have the same entropy.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,ProbabilityTheory.IdentDistrib,Eq,Real, ProbabilityTheory.entropyProof uses:
of_eq_true, ProbabilityTheory.measureEntropy,MeasureTheory.Measure.map,Eq.trans,True,congrFun',congrArg,ProbabilityTheory.IdentDistrib.map_eq,eq_selfTactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma IdentDistrib.entropy_congr {Ω' : Type*} [MeasurableSpace Ω'] {μ' : Measure Ω'} {X' : Ω' → S} (h : IdentDistrib X X' μ μ') : H[X ; μ] = H[X' ; μ'] := by … - lemma
ProbabilityTheory.entropy_le_log_cardEntropy is at most the logarithm of the cardinality of the range line 82 sourceSource documentation
Entropy is at most the logarithm of the cardinality of the range.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Fintype,MeasurableSingletonClass,MeasureTheory.Measure,LE.le,Real, ProbabilityTheory.entropy,Real.log,Fintype.cardProof uses: ProbabilityTheory.measureEntropy_le_log_card,
MeasureTheory.Measure.map3 instances, coercions and auxiliary constants left out.
lemma entropy_le_log_card [Fintype S] [MeasurableSingletonClass S] (X : Ω → S) (μ : Measure Ω) : H[X ; μ] ≤ log (Fintype.card S) := … - lemma
ProbabilityTheory.entropy_le_log_card_of_memEntropy is at most the logarithm of the cardinality of a set in which X almost surely takes values in line 88 sourceSource documentation
Entropy is at most the logarithm of the cardinality of a set in which X almost surely takes values in.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,DiscreteMeasurableSpace,Finset,MeasureTheory.Measure,Measurable,Filter.Eventually,Membership.mem,MeasureTheory.ae,LE.le,Real, ProbabilityTheory.entropy,Real.log,Finset.cardProof uses: ProbabilityTheory.measureEntropy_le_log_card_of_mem,
MeasureTheory.Measure.map,Eq.mpr,Eq,ENNReal,Set,Compl.compl,OfNat.ofNat,Set.preimage,id,congrArg,MeasureTheory.Measure.map_apply,MeasurableSet.of_discrete17 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma entropy_le_log_card_of_mem [DiscreteMeasurableSpace S] {A : Finset S} {μ : Measure Ω} {X : Ω → S} (hX : Measurable X) (h : ∀ᵐ ω ∂μ, X ω ∈ A) : H[X ; μ] ≤ log A.card := … - lemma
ProbabilityTheory.entropy_le_log_card_of_mem_finiteEntropy is at most the logarithm of the cardinality of a set in which X almost surely takes values in line 96 sourceSource documentation
Entropy is at most the logarithm of the cardinality of a set in which X almost surely takes values in.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,DiscreteMeasurableSpace,Set,MeasureTheory.Measure,Set.Finite,Measurable,Filter.Eventually,Membership.mem,MeasureTheory.ae,LE.le,Real, ProbabilityTheory.entropy,Real.log,Nat.cardProof uses:
Finset,Eq,Exists,CanLift.prf,Eq.mpr,Finset.card,id,congrArg,Nat,Eq.trans,Subtype,Fintype.card,Nat.card_eq_fintype_card,Fintype.card_coe, ProbabilityTheory.entropy_le_log_card_of_mem21 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma entropy_le_log_card_of_mem_finite [DiscreteMeasurableSpace S] {A : Set S} {μ : Measure Ω} {X : Ω → S} (hA : A.Finite) (hX : Measurable X) (h : ∀ᵐ ω ∂μ, X ω ∈ A) : H[X ; μ] ≤ log (Nat.card A) := by … - lemma
ProbabilityTheory.entropy_eq_sumH[X] = ∑ₛ P[X=s] log 1 / P[X=s]line 104 sourceSource documentation
H[X] = ∑ₛ P[X=s] log 1 / P[X=s].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Eq,Real, ProbabilityTheory.entropy,tsum,Real.negMulLog,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,SummationFilter.unconditionalProof uses:
Eq.mpr, ProbabilityTheory.measureEntropy,id,congrArg, ProbabilityTheory.entropy_def, ProbabilityTheory.measureEntropy_of_isProbabilityMeasure,Eq.refl11 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma entropy_eq_sum (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] : entropy X μ = ∑' x, negMulLog ((μ.map X).real {x}) := by …Mentions: ProbabilityTheory.entropy
- lemma
ProbabilityTheory.entropy_eq_sum'line 108 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Eq,Real, ProbabilityTheory.entropy,tsum,Real.negMulLog,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,SummationFilter.unconditionalProof uses:
of_eq_true,ENNReal.toReal,ENNReal,Eq.trans,True,congrFun',congrArg, ProbabilityTheory.measureEntropy_of_isProbabilityMeasure,eq_self13 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.entropy_eq_sum_finsetline 112 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Finset,Eq,ENNReal,Set,MeasureTheory.Measure.map,Compl.compl,OfNat.ofNat,Real, ProbabilityTheory.entropy,Finset.sum,Real.negMulLog,MeasureTheory.Measure.real,Singleton.singletonProof uses:
Eq.mpr,tsum,SummationFilter.unconditional,id,congrArg, ProbabilityTheory.entropy_eq_sum,Eq.refl,tsum_eq_sum,Not,Membership.mem,eq_of_heq,HEq,HEq.refl,Eq.symm,ENNReal.toReal,MeasureTheory.Measure.real.eq_1,MeasureTheory.measure_mono_null,of_eq_true,LE.le,Eq.transand 6 more36 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.entropy_eq_sum_finset'line 125 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Finset,Eq,ENNReal,Set,MeasureTheory.Measure.map,Compl.compl,OfNat.ofNat,Real, ProbabilityTheory.entropy,Finset.sum,Real.negMulLog,MeasureTheory.Measure.real,Singleton.singletonProof uses: ProbabilityTheory.entropy_eq_sum_finset
16 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.entropy_eq_sum_finiteRangeline 130 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.entropy,Finset.sum, FiniteRange.toFinset,Real.negMulLog,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,SetProof uses: ProbabilityTheory.entropy_eq_sum_finset, ProbabilityTheory.full_measure_of_finiteRange
2 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.entropy_eq_sum_finiteRange'line 135 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.entropy,Finset.sum, FiniteRange.toFinset,Real.negMulLog,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,SetProof uses: ProbabilityTheory.entropy_eq_sum_finiteRange
2 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.entropy_cond_eq_sumH[X | Y=y] = ∑_s P[X=s | Y=y] log 1/(P[X=s | Y=y])line 141 sourceSource documentation
H[X | Y=y] = ∑_s P[X=s | Y=y] log 1/(P[X=s | Y=y]).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,tsum,Real.negMulLog,MeasureTheory.Measure.real,MeasureTheory.Measure.map,SummationFilter.unconditionalProof uses:
dite,ENNReal,OfNat.ofNat,Eq.mpr, ProbabilityTheory.measureEntropy,id,congrArg, ProbabilityTheory.entropy_def,ProbabilityTheory.cond_eq_zero_of_meas_eq_zero,of_eq_true,Eq.trans,True,congr,MeasureTheory.Measure.map_zero, ProbabilityTheory.measureEntropy_zero,congrFun',SummationFilter,optParam,funext,Real.negMulLog_zeroand 5 more23 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma entropy_cond_eq_sum (μ : Measure Ω) (y : T) : H[X | Y ← y ; μ] = ∑' x, negMulLog (((μ[|Y ← y]).map X).real {x}) := by … - lemma
ProbabilityTheory.entropy_cond_eq_sum_finiteRangeline 148 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure, FiniteRange,Eq,Real, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,Finset.sum, FiniteRange.toFinset,Real.negMulLog,MeasureTheory.Measure.real,MeasureTheory.Measure.mapProof uses:
dite,ENNReal,OfNat.ofNat,Eq.mpr, ProbabilityTheory.measureEntropy,id,congrArg, ProbabilityTheory.entropy_def,ProbabilityTheory.cond_eq_zero_of_meas_eq_zero,of_eq_true,Eq.trans,True,congr,MeasureTheory.Measure.map_zero, ProbabilityTheory.measureEntropy_zero,Finset.sum_congr,Eq.refl,Finset,Membership.mem,congrFun'and 5 more19 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.entropy_comp_of_injectiveIfX,YareS-valued andT-valued random variables, andY = f(X)for some injectionf : S \to T, thenH[Y] = H[X]line 160 sourceSource documentation
If
X,YareS-valued andT-valued random variables, andY = f(X)for some injectionf : S \to T, thenH[Y] = H[X]. One can also useentropy_of_comp_eq_of_compas an alternative if verifying injectivity is fiddly. For the upper bound only, seeentropy_comp_le.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,Measurable,Function.Injective,Eq,Real, ProbabilityTheory.entropy,Function.compProof uses:
Measurable.of_discrete,Eq.mpr, ProbabilityTheory.measureEntropy,MeasureTheory.Measure.map,id,congrArg, ProbabilityTheory.entropy_def,Eq.symm,MeasureTheory.Measure.map_map, ProbabilityTheory.measureEntropy_map_of_injective,Eq.refl1 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma entropy_comp_of_injective [MeasurableSpace T] [Countable S] [MeasurableSingletonClass S] [MeasurableSingletonClass T] (μ : Measure Ω) (hX : Measurable X) (f : S → T) (hf : Function.Injective f) : H[f ∘ X ; μ] = H[X ; μ] := by … - lemma
ProbabilityTheory.entropy_constThe entropy of any constant is zero line 169 sourceSource documentation
The entropy of any constant is zero.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,MeasureTheory.IsZeroOrProbabilityMeasure,Eq,Real, ProbabilityTheory.entropy,OfNat.ofNatProof uses:
MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congrFun',congrArg, ProbabilityTheory.measureEntropy,MeasureTheory.Measure.map,MeasureTheory.Measure.map_zero, ProbabilityTheory.measureEntropy_zero,eq_self,Eq.symm,MeasureTheory.Measure.dirac,HSMul.hSMul,ENNReal,Set,Set.univ,MeasureTheory.Measure.map_constand 3 more24 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
@[simp] lemma entropy_const [MeasurableSingletonClass S] [IsZeroOrProbabilityMeasure μ] (c : S) : H[fun _ ↦ c ; μ] = 0 := by … - lemma
ProbabilityTheory.IsUniform.entropy_eqIfXis uniformly distributed onH, thenH[X] = log |H|line 179 sourceSource documentation
If
Xis uniformly distributed onH, thenH[X] = log |H|.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,DiscreteMeasurableSpace,Finset,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.IsUniform,Measurable,Eq,Real, ProbabilityTheory.entropy,Real.log,Nat.card,Subtype,Membership.memProof uses:
Real.negMulLog,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,HMul.hMul,dite,Classical.propDecidable,of_eq_true,Eq.trans,Inv.inv,Finset.card,True,congr,congrArg,Neg.neg,HDiv.hDiv,OfNat.ofNat, ProbabilityTheory.IsUniform.measureReal_preimage_of_mem',one_divand 38 more58 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
lemma IsUniform.entropy_eq [DiscreteMeasurableSpace S] {H : Finset S} {X : Ω → S} {μ : Measure Ω} [IsProbabilityMeasure μ] (hX : IsUniform H X μ) (hX' : Measurable X) : H[X ; μ] = log (Nat.card H) := by …Mentions: ProbabilityTheory.IsUniform
- lemma
ProbabilityTheory.IsUniform.entropy_eq'Variant ofIsUniform.entropy_congrwhereHis a finiteSetrather thanFinsetline 193 sourceSource documentation
Variant of
IsUniform.entropy_congrwhereHis a finiteSetrather thanFinset.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,DiscreteMeasurableSpace,Set,Set.Finite,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure, ProbabilityTheory.IsUniform,Measurable,Eq,Real, ProbabilityTheory.entropy,Real.log,Set.ncardProof uses:
Finset,Set.Finite.toFinset,Eq.mpr,id,congrFun',autoParam,congrArg,Set.Finite.coe_toFinset,Eq.mp,Nat.card,Subtype,Membership.mem,Nat,funext, ProbabilityTheory.IsUniform.entropy_eq10 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma IsUniform.entropy_eq' [DiscreteMeasurableSpace S] {A : Set S} (hA : A.Finite) {X : Ω → S} {μ : Measure Ω} [IsProbabilityMeasure μ] (hX : IsUniform A X μ) (hX' : Measurable X) : H[X ; μ] = log A.ncard := by …Mentions: ProbabilityTheory.IsUniform
- lemma
ProbabilityTheory.entropy_eq_log_cardIfXisS-valued random variable, thenH[X] = log |S|if and only ifXis uniformly distributed line 201 sourceSource documentation
If
XisS-valued random variable, thenH[X] = log |S|if and only ifXis uniformly distributed.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Fintype,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,NeZero,MeasureTheory.IsFiniteMeasure,Iff,Eq,Real, ProbabilityTheory.entropy,Real.log,Fintype.card,ENNReal,Set,MeasureTheory.Measure.map,Singleton.singleton,HDiv.hDiv,Set.univProof uses:
OfNat.ofNat,Or,eq_zero_or_neZero,LE.le,Set.preimage,MeasureTheory.Measure.le_map_apply,Measurable.aemeasurable,False.elim,Eq.mp,False,Eq.trans,congrArg,congrFun',Eq.mpr, ProbabilityTheory.measureEntropy,id, ProbabilityTheory.entropy_def,propext, ProbabilityTheory.measureEntropy_eq_card_iff_measure_eq,MeasureTheory.Measure.map_applyand 3 more39 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma entropy_eq_log_card {X : Ω → S} [Fintype S] [MeasurableSingletonClass S] (hX : Measurable X) (μ : Measure Ω) [hμ : NeZero μ] [IsFiniteMeasure μ] : entropy X μ = log (Fintype.card S) ↔ ∀ s, μ.map X {s} = μ Set.univ / Fintype.card S := by …Mentions: ProbabilityTheory.entropy
- lemma
ProbabilityTheory.prob_ge_exp_neg_entropyIfXis anS-valued random variable, then there existss ∈ Ssuch thatP[X = s] ≥ \exp(- H[X])line 215 sourceSource documentation
If
Xis anS-valued random variable, then there existss ∈ Ssuch thatP[X = s] ≥ \exp(- H[X]).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Nonempty,MeasureTheory.Measure,Measurable, FiniteRange,Exists,LE.le,ENNReal,HMul.hMul,Set,Set.univ,Real.toNNReal,Real.exp,Neg.neg,Real, ProbabilityTheory.entropy,MeasureTheory.Measure.map,Singleton.singletonProof uses: ProbabilityTheory.FiniteSupport,
Finset,Filter.Eventually,Membership.mem,MeasureTheory.ae,autoParam,Finset.filter,Ne,OfNat.ofNat,Eq,rfl,HAdd.hAdd,Compl.compl,MeasureTheory.measure_add_measure_compl,Finset.measurableSet,id,of_eq_true,Eq.trans,True,congrFun'and 94 more131 instances, coercions and auxiliary constants left out.
Tactic trace: 84 steps
Open to load the checked before-and-after goal states.
lemma prob_ge_exp_neg_entropy [MeasurableSingletonClass S] [Nonempty S] (X : Ω → S) (μ : Measure Ω) (hX : Measurable X) [hX' : FiniteRange X] : ∃ s : S, μ Set.univ * (rexp (- H[X ; μ])).toNNReal ≤ μ.map X {s} := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.prob_ge_exp_neg_entropy'IfXis anS-valued random variable, then there existss ∈ Ssuch thatP[X=s] ≥ \exp(-H[X])line 302 sourceSource documentation
If
Xis anS-valued random variable, then there existss ∈ Ssuch thatP[X=s] ≥ \exp(-H[X]).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure,Measurable, FiniteRange,Exists,LE.le,Real,Real.exp,Neg.neg, ProbabilityTheory.entropy,MeasureTheory.Measure.real,Set.preimage,Singleton.singleton,SetProof uses:
Nonempty,Nonempty.map,MeasureTheory.Measure.nonempty_of_neZero,ENNReal,HMul.hMul,Set.univ,Real.toNNReal,MeasureTheory.Measure.map, ProbabilityTheory.prob_ge_exp_neg_entropy,Exists.intro,Eq.mp,congrArg,MeasureTheory.map_measureReal_apply,MeasurableSet.singleton,ENNReal.toReal,Eq.symm,MeasureTheory.Measure.real.eq_1,ENNReal.ofReal,propext,ENNReal.ofReal_le_iff_le_toRealand 6 more27 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma prob_ge_exp_neg_entropy' [MeasurableSingletonClass S] {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] (X : Ω → S) (hX : Measurable X) [FiniteRange X] : ∃ s : S, rexp (- H[X ; μ]) ≤ μ.real (X ⁻¹' {s}) := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.const_of_nonpos_entropyIfXis anS-valued random variable of non-positive entropy, thenXis almost surely constant line 316 sourceSource documentation
If
Xis anS-valued random variable of non-positive entropy, thenXis almost surely constant.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure,Measurable, FiniteRange,LE.le,Real, ProbabilityTheory.entropy,OfNat.ofNat,Exists,Eq,MeasureTheory.Measure.real,Set.preimage,Singleton.singleton,SetProof uses:
Real.exp,Neg.neg, ProbabilityTheory.prob_ge_exp_neg_entropy',Exists.intro,LE.le.antisymm,Eq.mpr,Set.univ,id,congrArg,Eq.symm,MeasureTheory.probReal_univ,MeasureTheory.measureReal_mono,Set.subset_univ,MeasureTheory.measure_ne_top,le_trans,of_eq_true,Eq.trans,True,eq_true31 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma const_of_nonpos_entropy [MeasurableSingletonClass S] {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] {X : Ω → S} (hX : Measurable X) [FiniteRange X] (hent : H[X; μ] ≤ 0) : ∃ s : S, μ.real (X ⁻¹' {s}) = 1 := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.entropy_prod_compH[X, f(X)] = H[X]line 333 sourceSource documentation
H[X, f(X)] = H[X].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.entropy,Prod, prod,Function.compProof uses: ProbabilityTheory.entropy_comp_of_injective,
Prod.mk,And.left,Prod.fst,Prod.snd,Iff.mp,And,Prod.ext_iff3 instances, coercions and auxiliary constants left out.
@[simp] lemma entropy_prod_comp (hX : Measurable X) (μ : Measure Ω) (f : S → T) : H[⟨X, f ∘ X⟩; μ] = H[X ; μ] := … - lemma
ProbabilityTheory.entropy_commH[X, Y] = H[Y, X]line 340 sourceSource documentation
H[X, Y] = H[Y, X].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.entropy,Prod, prodProof uses:
id, ProbabilityTheory.entropy_comp_of_injective,Prod.mk,Measurable.prodMk,Prod.swap,Prod.swap_injective4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma entropy_comm (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) : H[⟨X, Y⟩; μ] = H[⟨Y, X⟩ ; μ] := by … - lemma
ProbabilityTheory.entropy_assocH[(X, Y), Z] = H[X, (Y, Z)]line 346 sourceSource documentation
H[(X, Y), Z] = H[X, (Y, Z)].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.entropy,Prod, prodProof uses:
id, ProbabilityTheory.entropy_comp_of_injective,Prod.mk,Measurable.prodMk,MeasurableEquiv,MeasurableEquiv.prodAssoc,Equiv.injective,MeasurableEquiv.toEquiv7 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma entropy_assoc (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : Measure Ω) : H[⟨X, ⟨Y, Z⟩⟩ ; μ] = H[⟨⟨X, Y⟩, Z⟩ ; μ] := by … - def
ProbabilityTheory.condEntropyline 363 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,autoParam,MeasureTheory.Measure,RealProof uses:
MeasureTheory.integral,MeasureTheory.Measure.map, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set7 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.condEntropy_defline 366 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.condEntropy,MeasureTheory.integral,MeasureTheory.Measure.map, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,SetProof uses:
rfl6 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.condEntropy_eq_zeroline 376 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,MeasureTheory.IsFiniteMeasure,Eq,Real,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,OfNat.ofNat, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimageProof uses:
Eq.mpr,eq_of_heq,HEq,Eq.refl,HEq.refl,Eq.symm,autoParam,ProbabilityTheory.cond_eq_zero_of_meas_eq_zero,ENNReal,id,congrArg,propext,MeasureTheory.measureReal_eq_zero_iff,MeasureTheory.measure_ne_top,Eq.mp,MeasureTheory.map_measureReal_apply,MeasurableSet.singleton, ProbabilityTheory.entropy_zero_measure13 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.condEntropy_eq_kernel_entropyConditional entropy of a random variable is equal to the entropy of its conditional kernel line 385 sourceSource documentation
Conditional entropy of a random variable is equal to the entropy of its conditional kernel.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Nonempty,Countable,Measurable,MeasureTheory.Measure,MeasureTheory.IsFiniteMeasure, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.condDistrib,MeasureTheory.Measure.mapProof uses:
Eq.mpr,MeasureTheory.integral, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,id,congrArg, ProbabilityTheory.condEntropy_def, ProbabilityTheory.measureEntropy,ProbabilityTheory.Kernel,ProbabilityTheory.Kernel.entropy.eq_1, ProbabilityTheory.integral_congr_finiteSupport,Ne,ENNReal,OfNat.ofNat,Eq.rec,Eq.refl,MeasureTheory.Measure.extand 9 more23 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_eq_kernel_entropy [Nonempty S] [Countable S] [MeasurableSingletonClass S] (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) [IsFiniteMeasure μ] [FiniteRange Y] : H[X | Y ; μ] = Hk[condDistrib X Y μ, μ.map Y] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condEntropy_two_eq_kernel_entropyline 401 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Nonempty,Measurable,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy,Prod, prod, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.condKernel,ProbabilityTheory.condDistrib,Prod.mk,ProbabilityTheory.Kernel.snd,MeasureTheory.Measure.compProd,MeasureTheory.Measure.mapand 1 moreProof uses:
Eq.mpr,id,congrArg,MeasureTheory.Measure.compProd_congr, ProbabilityTheory.condDistrib_fst_ae_eq, ProbabilityTheory.map_compProd_condDistrib, ProbabilityTheory.Kernel.entropy_congr, ProbabilityTheory.condKernel_condDistrib_ae_eq,ProbabilityTheory.Kernel.comap,Prod.swap,measurable_swap,Eq.symm, ProbabilityTheory.swap_condDistrib_ae_eq,MeasureTheory.Measure.comap, MeasureTheory.Measure.map_prod_comap_swap,Eq.refl, ProbabilityTheory.condEntropy_eq_kernel_entropy,Measurable.prodMk, ProbabilityTheory.Kernel.entropy_comap_swap37 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.condEntropy_zero_measureAny random variable on a zero measure space has zero conditional entropy line 418 sourceSource documentation
Any random variable on a zero measure space has zero conditional entropy.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Eq,Real, ProbabilityTheory.condEntropy,OfNat.ofNat,MeasureTheory.MeasureProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,MeasureTheory.integral,MeasureTheory.Measure.map, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,MeasureTheory.Measure.map_zero,MeasureTheory.integral_zero_measure,eq_self18 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_zero_measure (X : Ω → S) (Y : Ω → T) : H[X | Y ; (0 : Measure Ω)] = 0 := …
- lemma
ProbabilityTheory.condEntropy_nonnegConditional entropy is non-negative line 422 sourceSource documentation
Conditional entropy is non-negative.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,LE.le,Real,OfNat.ofNat, ProbabilityTheory.condEntropyProof uses:
MeasureTheory.integral_nonneg,MeasureTheory.Measure.map, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set, ProbabilityTheory.measureEntropy_nonneg32 instances, coercions and auxiliary constants left out.
lemma condEntropy_nonneg (X : Ω → S) (Y : Ω → T) (μ : Measure Ω) : 0 ≤ H[X | Y ; μ] := …
- lemma
ProbabilityTheory.condEntropy_le_log_cardConditional entropy is at most the logarithm of the cardinality of the range line 426 sourceSource documentation
Conditional entropy is at most the logarithm of the cardinality of the range.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Fintype,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure,LE.le,Real, ProbabilityTheory.condEntropy,Real.log,Fintype.cardProof uses:
LE.le.trans,MeasureTheory.integral,MeasureTheory.Measure.map, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,MeasureTheory.integral_mono_of_nonneg,MeasureTheory.ae_of_all,OfNat.ofNat, ProbabilityTheory.entropy_nonneg,MeasureTheory.integrable_const, ProbabilityTheory.entropy_le_log_card,of_eq_true,Eq.trans,True,congrFun',congrArg,HSMul.hSMuland 5 more66 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_le_log_card [MeasurableSingletonClass S] [Fintype S] (X : Ω → S) (Y : Ω → T) (μ : Measure Ω) [IsProbabilityMeasure μ] : H[X | Y ; μ] ≤ log (Fintype.card S) := by … - lemma
ProbabilityTheory.condEntropy_eq_sumH[X|Y] = ∑_y P[Y=y] H[X|Y=y]line 435 sourceSource documentation
H[X|Y] = ∑_y P[Y=y] H[X|Y=y].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsFiniteMeasure,Measurable, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy,Finset.sum, FiniteRange.toFinset,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimageProof uses:
Eq.mpr,MeasureTheory.integral,id,congrArg, ProbabilityTheory.condEntropy_def,MeasureTheory.Measure.restrict,Finset,MeasureTheory.integral_eq_setIntegral, ProbabilityTheory.ae_mem_of_finiteRange,HSMul.hSMul,MeasureTheory.setIntegral_finset,MeasureTheory.IntegrableOn.finset,of_eq_true,Eq.trans,True,congrFun',Finset.sum_congr,Eq.refl,Membership.mem,eq_self35 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_eq_sum [MeasurableSingletonClass T] (X : Ω → S) (Y : Ω → T) (μ : Measure Ω) [IsFiniteMeasure μ] (hY : Measurable Y) [FiniteRange Y] : H[X | Y ; μ] = ∑ y ∈ FiniteRange.toFinset Y, ((μ.map Y).real {y}) * H[X | Y ← y ; μ] := by …Mentions: FiniteRange, FiniteRange.toFinset
- lemma
ProbabilityTheory.condEntropy_eq_sum_fintypeH[X|Y] = ∑_y P[Y=y] H[X|Y=y]line 443 sourceSource documentation
H[X|Y] = ∑_y P[Y=y] H[X|Y=y].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsFiniteMeasure,Measurable,Fintype,Eq,Real, ProbabilityTheory.condEntropy,Finset.sum,Finset.univ,HMul.hMul,MeasureTheory.Measure.real,Set.preimage,Singleton.singleton,Set, ProbabilityTheory.entropy,ProbabilityTheory.condProof uses:
Eq.mpr,MeasureTheory.integral,MeasureTheory.Measure.map,id,congrArg, ProbabilityTheory.condEntropy_def,HSMul.hSMul,MeasureTheory.integral_fintype,MeasureTheory.Integrable.of_finite,congrFun',Finset.sum_congr,Eq.refl,Finset,Membership.mem,of_eq_true,Eq.trans,True,MeasureTheory.map_measureReal_apply,MeasurableSet.singleton,eq_self35 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_eq_sum_fintype [MeasurableSingletonClass T] (X : Ω → S) (Y : Ω → T) (μ : Measure Ω) [IsFiniteMeasure μ] (hY : Measurable Y) [Fintype T] : H[X | Y ; μ] = ∑ y, μ.real (Y ⁻¹' {y}) * H[X | Y ← y ; μ] := by … - lemma
ProbabilityTheory.condEntropy_prod_eq_sumline 452 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,MeasureTheory.Measure,Measurable,MeasureTheory.IsFiniteMeasure,Finite,Fintype,Eq,Real, ProbabilityTheory.condEntropy,Prod, prod,Finset.sum,Finset.univ,HMul.hMul,MeasureTheory.Measure.real,Set.preimage,Singleton.singleton,Set,ProbabilityTheory.condProof uses:
Nonempty,nonempty_fintype,Nonempty.intro,Eq.mpr,Prod.mk, ProbabilityTheory.entropy,id,congrFun',congrArg, ProbabilityTheory.condEntropy_eq_sum_fintype,Measurable.prodMk,Finset.sum_congr,Eq.refl,Finset,Membership.mem,Fintype.sum_prod_type_right,Finset.mul_sum,AddCommMonoid,Eq.rec,funextand 26 more51 instances, coercions and auxiliary constants left out.
Tactic trace: 19 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.condEntropy_eq_sum_sumH[X|Y] = ∑_y ∑_x P[Y=y] P[X=x|Y=y] log ⧸(P[X=x|Y=y])$ line 476 sourceSource documentation
H[X|Y] = ∑_y ∑_x P[Y=y] P[X=x|Y=y] log ⧸(P[X=x|Y=y])$.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy,Finset.sum, FiniteRange.toFinset,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Real.negMulLog,ProbabilityTheory.cond,Set.preimageProof uses:
Eq.mpr, ProbabilityTheory.entropy,id,congrArg, ProbabilityTheory.condEntropy_eq_sum,AddCommMonoid,Finset,Eq.rec,Eq.refl,funext, ProbabilityTheory.entropy_cond_eq_sum_finiteRange,Finset.mul_sum18 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_eq_sum_sum (hX : Measurable X) {Y : Ω → T} (hY : Measurable Y) (μ : Measure Ω) [IsProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] : H[X | Y ; μ] = ∑ y ∈ FiniteRange.toFinset Y, ∑ x ∈ FiniteRange.toFinset X, ((μ.map Y).real {y}) * negMulLog (((μ[|Y ← y]).map X).real {x}) := by …Mentions: FiniteRange, FiniteRange.toFinset
- lemma
ProbabilityTheory.condEntropy_eq_sum_sum_fintypeH[X|Y] = ∑_y ∑_x P[Y=y] P[X=x|Y=y] log ⧸(P[X=x|Y=y])$ line 487 sourceSource documentation
H[X|Y] = ∑_y ∑_x P[Y=y] P[X=x|Y=y] log ⧸(P[X=x|Y=y])$.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure,Fintype,Eq,Real, ProbabilityTheory.condEntropy,Finset.sum,Finset.univ,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Real.negMulLog,ProbabilityTheory.cond,Set.preimageProof uses:
Eq.mpr, ProbabilityTheory.entropy,id,congrArg, ProbabilityTheory.condEntropy_eq_sum_fintype,AddCommMonoid,Finset,Eq.rec,Eq.refl,funext,tsum,SummationFilter.unconditional, ProbabilityTheory.entropy_cond_eq_sum,tsum_fintype,Finset.mul_sum,MeasureTheory.map_measureReal_apply,MeasurableSet.singleton22 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_eq_sum_sum_fintype {Y : Ω → T} (hY : Measurable Y) (μ : Measure Ω) [IsProbabilityMeasure μ] [Fintype S] [Fintype T] : H[X | Y ; μ] = ∑ y, ∑ x, (μ.map Y).real {y} * negMulLog (((μ[|Y ← y]).map X).real {x}) := by … - lemma
ProbabilityTheory.condEntropy_eq_sum_prodSame as previous lemma, but with a sum over a product space rather than a double sum line 495 sourceSource documentation
Same as previous lemma, but with a sum over a product space rather than a double sum.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy,Finset.sum,Prod,SProd.sprod,Finset, FiniteRange.toFinset,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Prod.sndand 4 moreProof uses:
Eq.mpr,id,congrArg, ProbabilityTheory.condEntropy_eq_sum_sum,Prod.mk,Finset.sum_product_right,Eq.refl10 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_eq_sum_prod (hX : Measurable X) {Y : Ω → T} (hY : Measurable Y) (μ : Measure Ω) [IsProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] : H[X | Y ; μ] = ∑ p ∈ (FiniteRange.toFinset X) ×ˢ (FiniteRange.toFinset Y), (μ.map Y).real {p.2} * negMulLog (((μ[|Y ⁻¹' {p.2}]).map X).real {p.1}) := by …Mentions: FiniteRange, FiniteRange.toFinset
- lemma
ProbabilityTheory.condEntropy_of_injectiveIfX : Ω → S,Y : Ω → Tare random variables, andf : T × S → Uis injective for each fixedt ∈ T, thenH[f(Y, X) | Y] = H[X | Y]line 507 sourceSource documentation
If
X : Ω → S,Y : Ω → Tare random variables, andf : T × S → Uis injective for each fixedt ∈ T, thenH[f(Y, X) | Y] = H[X | Y]. Thus for instanceH[X-Y|Y] = H[X|Y].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,MeasureTheory.Measure,MeasureTheory.IsFiniteMeasure,Measurable,Function.Injective, FiniteRange,Eq,Real, ProbabilityTheory.condEntropyProof uses:
Eq.mpr,Finset.sum, FiniteRange.toFinset,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,id,congrArg, ProbabilityTheory.condEntropy_eq_sum,Function.comp, ProbabilityTheory.entropy_congr,Filter.Eventually,MeasureTheory.ae,ENNReal,Set.ofPredand 31 more26 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_of_injective [MeasurableSingletonClass U] (μ : Measure Ω) [IsFiniteMeasure μ] (hX : Measurable X) (hY : Measurable Y) (f : T → S → U) (hf : ∀ t, Injective (f t)) [FiniteRange Y] : H[(fun ω ↦ f (Y ω) (X ω)) | Y ; μ] = H[X | Y ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condEntropy_comp_of_injectiveA weaker version of the above lemma in whichfis independent ofYline 527 sourceSource documentation
A weaker version of the above lemma in which
fis independent ofY.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,MeasureTheory.Measure,Measurable,Function.Injective,Eq,Real, ProbabilityTheory.condEntropy,Function.compProof uses:
MeasureTheory.integral_congr_ae,MeasureTheory.Measure.map, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,MeasureTheory.ae_of_all, ProbabilityTheory.entropy_comp_of_injective8 instances, coercions and auxiliary constants left out.
lemma condEntropy_comp_of_injective {Y : Ω → U} (μ : Measure Ω) (hX : Measurable X) (f : S → T) (hf : Injective f) : H[f ∘ X | Y ; μ] = H[X | Y ; μ] := … - lemma
ProbabilityTheory.condEntropy_commH[X, Y| Z] = H[Y, X| Z]line 533 sourceSource documentation
H[X, Y| Z] = H[Y, X| Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.condEntropy,Prod, prodProof uses:
id,Eq.symm,Function.comp,Prod.swap,Prod.mk, ProbabilityTheory.condEntropy_comp_of_injective,Measurable.prodMk,Prod.swap_injective4 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_comm [Countable T] {Z : Ω → U} (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) : H[⟨X, Y⟩ | Z ; μ] = H[⟨Y, X⟩ | Z; μ] := by … - lemma
ProbabilityTheory.chain_rule'One form of the chain rule :H[X, Y] = H[X] + H[Y | X]line 548 sourceSource documentation
One form of the chain rule :
H[X, Y] = H[X] + H[Y | X].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,Eq,Real, ProbabilityTheory.entropy,Prod, prod,HAdd.hAdd, ProbabilityTheory.condEntropyProof uses:
OfNat.ofNat,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congr,congrArg, ProbabilityTheory.entropy_zero_measure, ProbabilityTheory.condEntropy_zero_measure,add_zero,eq_self,Eq.symm,Nonempty,Nonempty.map,MeasureTheory.Measure.nonempty_of_neZero,Eq.mpr, ProbabilityTheory.Kernel.entropy,Unitand 45 more49 instances, coercions and auxiliary constants left out.
Tactic trace: 26 steps
Open to load the checked before-and-after goal states.
lemma chain_rule' (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) [FiniteRange X] [FiniteRange Y] : H[⟨X, Y⟩ ; μ] = H[X ; μ] + H[Y | X ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.chain_ruleAnother form of the chain rule :H[X, Y] = H[Y] + H[X | Y]line 575 sourceSource documentation
Another form of the chain rule :
H[X, Y] = H[Y] + H[X | Y].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,Eq,Real, ProbabilityTheory.entropy,Prod, prod,HAdd.hAdd, ProbabilityTheory.condEntropyProof uses:
Eq.mpr,id,congrArg, ProbabilityTheory.entropy_comm, ProbabilityTheory.chain_rule',Eq.refl6 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma chain_rule (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) [FiniteRange X] [FiniteRange Y] : H[⟨X, Y⟩ ; μ] = H[Y ; μ] + H[X | Y ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.chain_rule''Another form of the chain rule :H[X | Y] = H[X, Y] - H[Y]line 581 sourceSource documentation
Another form of the chain rule :
H[X | Y] = H[X, Y] - H[Y].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy,HSub.hSub, ProbabilityTheory.entropy,Prod, prodProof uses:
Eq.mpr,HAdd.hAdd,id,congrArg, ProbabilityTheory.chain_rule,add_sub_cancel_left,Eq.refl16 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma chain_rule'' (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) [FiniteRange X] [FiniteRange Y] : H[X | Y ; μ] = H[⟨X, Y⟩ ; μ] - H[Y ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.IdentDistrib.condEntropy_eqTwo pairs of variables that have the same joint distribution, have the same conditional entropy line 588 sourceSource documentation
Two pairs of variables that have the same joint distribution, have the same conditional entropy.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Countable,MeasurableSingletonClass,MeasureTheory.IsProbabilityMeasure,Measurable,ProbabilityTheory.IdentDistrib,Prod, prod, FiniteRange,Eq,Real, ProbabilityTheory.condEntropyProof uses:
ProbabilityTheory.IdentDistrib.comp,Prod.snd,measurable_snd,Eq.mpr,HSub.hSub, ProbabilityTheory.entropy,id,congrArg, ProbabilityTheory.chain_rule'', ProbabilityTheory.IdentDistrib.entropy_congr,Eq.refl5 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma IdentDistrib.condEntropy_eq {Ω' : Type*} [MeasurableSpace Ω'] {X : Ω → S} {Y : Ω → T} {μ' : Measure Ω'} {X' : Ω' → S} {Y' : Ω' → T} [IsProbabilityMeasure μ] [IsProbabilityMeasure μ'] (hX : Measurable X) (hY : Measurable Y) (hX' : Measurable X') (hY' : Measurable Y') (h : IdentDistrib (⟨X, Y⟩) (⟨X', Y'⟩) μ μ') [FiniteRange X] [FiniteRange Y] [FiniteRange X'] [FiniteRange Y'] : H[X | Y ; μ] = H[X' | Y' ; μ'] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condEntropy_of_injective'IfX : Ω → SandY : Ω → Tare random variables, andf : T → Uis an injection thenH[X | f(Y)] = H[X | Y]line 601 sourceSource documentation
If
X : Ω → SandY : Ω → Tare random variables, andf : T → Uis an injection thenH[X | f(Y)] = H[X | Y].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable,Function.Injective,Function.comp, FiniteRange,Eq,Real, ProbabilityTheory.condEntropyProof uses:
Eq.mpr,HSub.hSub, ProbabilityTheory.entropy,Prod, prod,id,congrArg, ProbabilityTheory.chain_rule'',HAdd.hAdd, ProbabilityTheory.chain_rule',HSub,Eq.rec,Eq.refl,HAdd, ProbabilityTheory.condEntropy_comp_of_injective, ProbabilityTheory.entropy_comp_of_injective6 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_of_injective' (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) (f : T → U) (hf : Injective f) (hfY : Measurable (f ∘ Y)) [FiniteRange X] [FiniteRange Y] : H[X | f ∘ Y ; μ] = H[X | Y ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condEntropy_comp_selfH[X | f(X)] = H[X] - H[f(X)]line 613 sourceSource documentation
H[X | f(X)] = H[X] - H[f(X)].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Countable,MeasurableSingletonClass,MeasureTheory.IsProbabilityMeasure,Measurable, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy,Function.comp,HSub.hSub, ProbabilityTheory.entropyProof uses:
Eq.mpr,Prod, prod,id,congrArg, ProbabilityTheory.chain_rule'',Measurable.comp, ProbabilityTheory.entropy_prod_comp,Eq.refl7 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_comp_self [IsProbabilityMeasure μ] (hX : Measurable X) {f : S → U} (hf : Measurable f) [FiniteRange X] : H[X | f ∘ X ; μ] = H[X ; μ] - H[f ∘ X ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.cond_chain_rule'IfX : Ω → S,Y : Ω → T,Z : Ω → Uare random variables, thenH[X, Y | Z] = H[X | Z] + H[Y|X, Z]line 619 sourceSource documentation
If
X : Ω → S,Y : Ω → T,Z : Ω → Uare random variables, thenH[X, Y | Z] = H[X | Z] + H[Y|X, Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy,Prod, prod,HAdd.hAddProof uses:
OfNat.ofNat,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congr,congrArg, ProbabilityTheory.condEntropy_zero_measure,add_zero,eq_self,Eq.symm,Nonempty,Nonempty.map,MeasureTheory.Measure.nonempty_of_neZero,Eq.mpr, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.condDistrib,Prod.mkand 16 more32 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
lemma cond_chain_rule' (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) [FiniteRange X] [FiniteRange Y] [FiniteRange Z] : H[⟨X, Y⟩ | Z ; μ] = H[X | Z ; μ] + H[Y | ⟨X, Z⟩ ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.cond_chain_ruleH[X, Y | Z] = H[Y | Z] + H[X | Y, Z]line 636 sourceSource documentation
H[X, Y | Z] = H[Y | Z] + H[X | Y, Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy,Prod, prod,HAdd.hAddProof uses:
Eq.mpr,id,congrArg, ProbabilityTheory.condEntropy_comm, ProbabilityTheory.cond_chain_rule',Eq.refl6 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma cond_chain_rule (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) [FiniteRange X] [FiniteRange Y] [FiniteRange Z] : H[⟨X, Y⟩ | Z ; μ] = H[Y | Z ; μ] + H[X | ⟨Y, Z⟩ ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.entropy_comp_leData-processing inequality for the entropy:H[f(X)] ≤ H[X]line 644 sourceSource documentation
Data-processing inequality for the entropy:
H[f(X)] ≤ H[X]. To upgrade this to equality, seeentropy_of_comp_eq_of_comporentropy_comp_of_injective.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,LE.le,Real, ProbabilityTheory.entropy,Function.compProof uses:
Measurable.fun_comp,Measurable.of_discrete,Eq,Prod, prod,Eq.symm,Prod.mk, ProbabilityTheory.entropy_comp_of_injective,And.left,Eq.mp,And,Prod.mk.injEq,Eq.mpr,id,congrArg,HAdd.hAdd, ProbabilityTheory.condEntropy, ProbabilityTheory.chain_rule,OfNat.ofNat, ProbabilityTheory.condEntropy_nonneg28 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma entropy_comp_le (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (f : S → U) [FiniteRange X] : H[f ∘ X ; μ] ≤ H[X ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.entropy_of_comp_eq_of_compA Schroder-Bernstein type theorem for entropy : if two random variables are functions of each other, then they have the same entropy line 660 sourceSource documentation
A Schroder-Bernstein type theorem for entropy : if two random variables are functions of each other, then they have the same entropy. Can be used as a substitute for
entropy_comp_of_injectiveif one doesn't want to establish the injectivity.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable,Eq,Function.comp, FiniteRange,Real, ProbabilityTheory.entropyProof uses:
LE.le,Eq.mpr,id,congrArg, ProbabilityTheory.entropy_comp_le,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,OfNat.ofNat,Eq.mp,HAdd.hAdd,HSub.hSub,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HMul.hMul,HPow.hPow,Nat,Nat.rawCast,Int.rawCastand 34 more51 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma entropy_of_comp_eq_of_comp (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) (f : S → T) (g : T → S) (h1 : Y = f ∘ X) (h2 : X = g ∘ Y) [FiniteRange X] [FiniteRange Y] : H[X ; μ] = H[Y ; μ] := by …Mentions: FiniteRange
- def
ProbabilityTheory.mutualInfoline 679 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,autoParam,MeasureTheory.Measure,RealProof uses:
HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,Prod, prod6 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.mutualInfo_defline 685 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.mutualInfo,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,Prod, prodProof uses:
rfl5 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.entropy_add_entropy_sub_mutualInfoline 688 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy, ProbabilityTheory.mutualInfo,Prod, prodProof uses:
sub_sub_self9 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.IdentDistrib.mutualInfo_eqSubstituting variables for ones with the same distributions doesn't change the mutual information line 693 sourceSource documentation
Substituting variables for ones with the same distributions doesn't change the mutual information.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,ProbabilityTheory.IdentDistrib,Prod, prod,Eq,Real, ProbabilityTheory.mutualInfoProof uses:
ProbabilityTheory.IdentDistrib.comp,Prod.fst,measurable_fst,Prod.snd,measurable_snd,id,Eq.mpr,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,congrFun',congrArg, ProbabilityTheory.IdentDistrib.entropy_congr,of_eq_true,Eq.trans,True,eq_self6 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma IdentDistrib.mutualInfo_eq {Ω' : Type*} [MeasurableSpace Ω'] {μ' : Measure Ω'} {X' : Ω' → S} {Y' : Ω' → T} (hXY : IdentDistrib (⟨X, Y⟩) (⟨X', Y'⟩) μ μ') : I[X : Y ; μ] = I[X' : Y' ; μ'] := by … - def
ProbabilityTheory.condMutualInfoline 703 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,autoParam,MeasureTheory.Measure,RealProof uses:
MeasureTheory.integral,MeasureTheory.Measure.map,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,Prod, prod12 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.condMutualInfo_defline 706 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.condMutualInfo,MeasureTheory.integral,MeasureTheory.Measure.map,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,Prod, prodProof uses:
rfl11 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.condMutualInfo_eq_integral_mutualInfoline 715 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.condMutualInfo,MeasureTheory.integral,MeasureTheory.Measure.map, ProbabilityTheory.mutualInfo,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,SetProof uses:
rfl6 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.condMutualInfo_zero_measureline 718 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Eq,Real, ProbabilityTheory.condMutualInfo,OfNat.ofNat,MeasureTheory.MeasureProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,MeasureTheory.integral,MeasureTheory.Measure.map,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,Prod, prod,MeasureTheory.Measure.map_zero,MeasureTheory.integral_zero_measure,eq_self23 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.mutualInfo_nonnegMutual information is non-negative line 726 sourceSource documentation
Mutual information is non-negative.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure, FiniteRange,LE.le,Real,OfNat.ofNat, ProbabilityTheory.mutualInfoProof uses:
id,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,Prod, prod,Eq,MeasureTheory.Measure.map,Prod.fst,Eq.mpr,Function.comp,Prod.mk,congrArg,MeasureTheory.Measure.map_map,measurable_fst,Measurable.prodMk,Eq.rec,Eq.refl,Prod.snd,measurable_sndand 2 more14 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma mutualInfo_nonneg (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) [FiniteRange X] [FiniteRange Y] : 0 ≤ I[X : Y ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.entropy_pair_le_addSubadditivity of entropy line 740 sourceSource documentation
Subadditivity of entropy.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure, FiniteRange,LE.le,Real, ProbabilityTheory.entropy,Prod, prod,HAdd.hAddProof uses:
Iff.mp,OfNat.ofNat,HSub.hSub,sub_nonneg, ProbabilityTheory.mutualInfo_nonneg21 instances, coercions and auxiliary constants left out.
lemma entropy_pair_le_add (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) [FiniteRange X] [FiniteRange Y] : H[⟨X, Y⟩ ; μ] ≤ H[X ; μ] + H[Y ; μ] := …Mentions: FiniteRange
- lemma
ProbabilityTheory.mutualInfo_eq_zeroI[X : Y] = 0iffX, Yare independent line 745 sourceSource documentation
I[X : Y] = 0iffX, Yare independent.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Iff,Eq,Real, ProbabilityTheory.mutualInfo,OfNat.ofNat,ProbabilityTheory.IndepFunProof uses:
id,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,Prod, prod,MeasureTheory.Measure.map,Prod.fst,Eq.mpr,Function.comp,Prod.mk,congrArg,MeasureTheory.Measure.map_map,measurable_fst,Measurable.prodMk,Eq.rec,Eq.refl,Prod.snd,measurable_snd, ProbabilityTheory.measureEntropy and 23 more27 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma mutualInfo_eq_zero (hX : Measurable X) (hY : Measurable Y) {μ : Measure Ω} [IsZeroOrProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] : I[X : Y ; μ] = 0 ↔ IndepFun X Y μ := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.mutualInfo_constThe mutual information with a constant is always zero line 764 sourceSource documentation
The mutual information with a constant is always zero.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.mutualInfo,OfNat.ofNatProof uses:
ProbabilityTheory.IndepFun.mutualInfo_eq_zero,measurable_const, ProbabilityTheory.indepFun_const3 instances, coercions and auxiliary constants left out.
lemma mutualInfo_const (hX : Measurable X) (c : T) {μ : Measure Ω} [IsZeroOrProbabilityMeasure μ] [FiniteRange X] : I[X : fun _ ↦ c ; μ] = 0 := …Mentions: FiniteRange
- lemma
ProbabilityTheory.entropy_pair_eq_addH[X, Y] = H[X] + H[Y]if and only ifX, Yare independent line 770 sourceSource documentation
H[X, Y] = H[X] + H[Y]if and only ifX, Yare independent.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Iff,Eq,Real, ProbabilityTheory.entropy,Prod, prod,HAdd.hAdd,ProbabilityTheory.IndepFunProof uses:
Eq.mpr,id,congrArg,propext,eq_comm,HSub.hSub,OfNat.ofNat,Eq.symm,sub_eq_zero, ProbabilityTheory.mutualInfo, ProbabilityTheory.mutualInfo_eq_zero,Iff.rfl16 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma entropy_pair_eq_add (hX : Measurable X) (hY : Measurable Y) {μ : Measure Ω} [IsZeroOrProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] : H[⟨X, Y⟩ ; μ] = H[X ; μ] + H[Y ; μ] ↔ IndepFun X Y μ := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.iIndepFun.entropy_eq_addline 778 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasureTheory.MeasureSpace,MeasureTheory.IsProbabilityMeasure,MeasureTheory.MeasureSpace.volume,Nat,MeasurableSpace,MeasurableSingletonClass,Finite,Fin,Measurable,ProbabilityTheory.iIndepFun,Eq,Real, ProbabilityTheory.entropy,Finset.sum,Finset.univProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,Nat.recAux,OfNat.ofNat,Eq.mpr,id,congrArg,Finset.sum_congr,EmptyCollection.emptyCollection,Finset,Finset.univ_eq_empty,Membership.mem,Eq.refl,Fin.elim0,eq_of_heq,HEq,HEq.refl,Eq.symmand 62 more62 instances, coercions and auxiliary constants left out.
Tactic trace: 47 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.mutualInfo_commI[X : Y] = I[Y : X]line 821 sourceSource documentation
I[X : Y] = I[Y : X].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.mutualInfoProof uses:
id,Eq.mpr,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,Prod, prod,congrArg,congrFun',add_comm,of_eq_true,Eq.trans,True, ProbabilityTheory.entropy_comm,eq_self8 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma mutualInfo_comm (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) : I[X : Y ; μ] = I[Y : X ; μ] := by simp_rw [mutualInfo, add_comm, entropy_comm hX hY]Mentions: ProbabilityTheory.mutualInfo, ProbabilityTheory.entropy_comm
- lemma
ProbabilityTheory.mutualInfo_eq_entropy_sub_condEntropyI[X : Y] = H[X] - H[X|Y]line 825 sourceSource documentation
I[X : Y] = H[X] - H[X|Y].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.mutualInfo,HSub.hSub, ProbabilityTheory.entropy, ProbabilityTheory.condEntropyProof uses:
Eq.mpr,HAdd.hAdd,Prod, prod,id,congrArg, ProbabilityTheory.mutualInfo_def, ProbabilityTheory.chain_rule8 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma mutualInfo_eq_entropy_sub_condEntropy (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] : I[X : Y ; μ] = H[X ; μ] - H[X | Y ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.mutualInfo_eq_entropy_sub_condEntropy'I[X : Y] = H[Y] - H[Y | X]line 833 sourceSource documentation
I[X : Y] = H[Y] - H[Y | X].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.mutualInfo,HSub.hSub, ProbabilityTheory.entropy, ProbabilityTheory.condEntropyProof uses:
Eq.mpr,id,congrArg, ProbabilityTheory.mutualInfo_comm, ProbabilityTheory.mutualInfo_eq_entropy_sub_condEntropy,Eq.refl4 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma mutualInfo_eq_entropy_sub_condEntropy' (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] : I[X : Y ; μ] = H[Y ; μ] - H[Y | X ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.entropy_sub_mutualInfo_eq_condEntropyH[X] - I[X : Y] = H[X | Y]line 839 sourceSource documentation
H[X] - I[X : Y] = H[X | Y].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real,HSub.hSub, ProbabilityTheory.entropy, ProbabilityTheory.mutualInfo, ProbabilityTheory.condEntropyProof uses:
Eq.mpr,id,congrArg, ProbabilityTheory.mutualInfo_eq_entropy_sub_condEntropy,sub_sub_self,Eq.refl8 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma entropy_sub_mutualInfo_eq_condEntropy (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] : H[X ; μ] - I[X : Y ; μ] = H[X | Y ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.entropy_sub_mutualInfo_eq_condEntropy'H[Y] - I[X : Y] = H[Y | X]line 845 sourceSource documentation
H[Y] - I[X : Y] = H[Y | X].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real,HSub.hSub, ProbabilityTheory.entropy, ProbabilityTheory.mutualInfo, ProbabilityTheory.condEntropyProof uses:
Eq.mpr,id,congrArg, ProbabilityTheory.mutualInfo_eq_entropy_sub_condEntropy',sub_sub_self,Eq.refl8 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma entropy_sub_mutualInfo_eq_condEntropy' (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] : H[Y ; μ] - I[X : Y ; μ] = H[Y | X ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.IndepFun.condEntropy_eq_entropyline 850 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,MeasureTheory.Measure,ProbabilityTheory.IndepFun,Measurable,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.condEntropy, ProbabilityTheory.entropyProof uses: ProbabilityTheory.mutualInfo,
OfNat.ofNat,ProbabilityTheory.IndepFun.mutualInfo_eq_zero,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,HAdd.hAdd,HSub.hSub,congrArg,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HMul.hMul,HPow.hPow,Nat,Nat.rawCast,Int.rawCast,inferInstance,Ringand 40 more52 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.condMutualInfo_eq_kernel_mutualInfoThe conditional mutual information agrees with the information of the conditional kernel line 862 sourceSource documentation
The conditional mutual information agrees with the information of the conditional kernel.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Nonempty,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.condMutualInfo, ProbabilityTheory.Kernel.mutualInfo,ProbabilityTheory.condDistrib,Prod, prod,MeasureTheory.Measure.mapProof uses: ProbabilityTheory.FiniteSupport,
Exists,Finset,Filter.Eventually,Membership.mem,MeasureTheory.ae,autoParam,id,MeasureTheory.integral,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set, ProbabilityTheory.measureEntropy, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.sndand 51 more83 instances, coercions and auxiliary constants left out.
Tactic trace: 27 steps
Open to load the checked before-and-after goal states.
lemma condMutualInfo_eq_kernel_mutualInfo (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] [FiniteRange Z] : I[X : Y | Z ; μ] = Ik[condDistrib (⟨X, Y⟩) Z μ, μ.map Z] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condMutualInfo_eq_sumline 892 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,MeasureTheory.IsFiniteMeasure,Measurable, FiniteRange,Eq,Real, ProbabilityTheory.condMutualInfo,Finset.sum, FiniteRange.toFinset,HMul.hMul,MeasureTheory.Measure.real,Set.preimage,Singleton.singleton,Set, ProbabilityTheory.mutualInfo,ProbabilityTheory.condProof uses:
Eq.mpr,MeasureTheory.integral,MeasureTheory.Measure.map,id,congrArg, ProbabilityTheory.condMutualInfo_eq_integral_mutualInfo,MeasureTheory.Measure.restrict,Finset,MeasureTheory.integral_eq_setIntegral, ProbabilityTheory.ae_mem_of_finiteRange,HSMul.hSMul,MeasureTheory.setIntegral_finset,MeasureTheory.IntegrableOn.finset,AddCommMonoid,Eq.rec,Eq.refl,funext,MeasureTheory.map_measureReal_apply,MeasurableSet.singleton34 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.condMutualInfo_eq_sum'A variant ofcondMutualInfo_eq_sumwhenZhas finite codomain line 904 sourceSource documentation
A variant of
condMutualInfo_eq_sumwhenZhas finite codomain.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,MeasureTheory.IsFiniteMeasure,Measurable,Fintype,Eq,Real, ProbabilityTheory.condMutualInfo,Finset.sum,Finset.univ,HMul.hMul,MeasureTheory.Measure.real,Set.preimage,Singleton.singleton,Set, ProbabilityTheory.mutualInfo,ProbabilityTheory.condProof uses:
Eq.mpr, FiniteRange.toFinset,id,congrArg, ProbabilityTheory.condMutualInfo_eq_sum,Finset.sum_subset,of_eq_true,LE.le,Finset,Membership.mem,Not,EmptyCollection.emptyCollection,Set.ext,Iff,Eq.trans,False,True,congr,eq_false,Eq.mpand 8 more33 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
lemma condMutualInfo_eq_sum' [MeasurableSingletonClass U] [IsFiniteMeasure μ] (hZ : Measurable Z) [Fintype U] : I[X : Y | Z ; μ] = ∑ z, μ.real (Z ⁻¹' {z}) * I[X : Y ; (μ[|Z ← z])] := by … - lemma
ProbabilityTheory.condMutualInfo_nonnegConditional information is non-nonegative line 922 sourceSource documentation
Conditional information is non-nonegative.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Measurable,MeasureTheory.Measure, FiniteRange,LE.le,Real,OfNat.ofNat, ProbabilityTheory.condMutualInfoProof uses:
MeasureTheory.integral_nonneg,MeasureTheory.Measure.map,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,Prod, prod, ProbabilityTheory.mutualInfo_nonneg37 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma condMutualInfo_nonneg (hX : Measurable X) (hY : Measurable Y) {Z : Ω → U} {μ : Measure Ω} [FiniteRange X] [FiniteRange Y] : 0 ≤ I[X : Y | Z ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condMutualInfo_commI[X : Y | Z] = I[Y : X | Z]line 931 sourceSource documentation
I[X : Y | Z] = I[Y : X | Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.condMutualInfoProof uses:
id,Eq.mpr,MeasureTheory.integral,MeasureTheory.Measure.map,HSub.hSub,HAdd.hAdd, ProbabilityTheory.entropy,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,Prod, prod,congrArg,funext,congrFun',add_comm,of_eq_true,Eq.trans,Trueand 2 more14 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma condMutualInfo_comm (hX : Measurable X) (hY : Measurable Y) (Z : Ω → U) (μ : Measure Ω) : I[X : Y | Z ; μ] = I[Y : X | Z ; μ] := by … - lemma
ProbabilityTheory.condMutualInfo_eqI[X : Y| Z] = H[X| Z] + H[Y| Z] - H[X, Y| Z]line 939 sourceSource documentation
I[X : Y| Z] = H[X| Z] + H[Y| Z] - H[X, Y| Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.condMutualInfo,HSub.hSub,HAdd.hAdd, ProbabilityTheory.condEntropy,Prod, prodProof uses:
OfNat.ofNat,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congr,congrArg, ProbabilityTheory.condMutualInfo_zero_measure, ProbabilityTheory.condEntropy_zero_measure,add_zero,sub_self,eq_self,Eq.symm,Nonempty,Nonempty.map,MeasureTheory.Measure.nonempty_of_neZero,Eq.mpr, ProbabilityTheory.Kernel.mutualInfo and 15 more30 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
lemma condMutualInfo_eq [Countable U] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] [FiniteRange Z] : I[X : Y | Z ; μ] = H[X | Z ; μ] + H[Y | Z; μ] - H[⟨X, Y⟩ | Z ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condMutualInfo_eq'I[X : Y| Z] = H[X| Z] - H[X|Y, Z]line 954 sourceSource documentation
I[X : Y| Z] = H[X| Z] - H[X|Y, Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.condMutualInfo,HSub.hSub, ProbabilityTheory.condEntropy,Prod, prodProof uses:
Eq.mpr,HAdd.hAdd,id,congrArg, ProbabilityTheory.condMutualInfo_eq, ProbabilityTheory.cond_chain_rule,Mathlib.Tactic.Ring.of_eq,HMul.hMul,HPow.hPow,Nat,Nat.rawCast,Int.rawCast,inferInstance,Ring,Int.negOfNat,OfNat.ofNat,Mathlib.Tactic.Ring.Common.sub_congr,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfland 20 more33 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma condMutualInfo_eq' [Countable U] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] [FiniteRange Z] : I[X : Y | Z ; μ] = H[X | Z ; μ] - H[X | ⟨Y, Z⟩ ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condMutualInfo_of_inj_mapIff(Z, X)is injective for each fixedZ, thenI[f(Z, X) : Y| Z] = I[X : Y| Z]line 962 sourceSource documentation
If
f(Z, X)is injective for each fixedZ, thenI[f(Z, X) : Y| Z] = I[X : Y| Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,Countable,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable,Function.Injective, FiniteRange,Eq,Real, ProbabilityTheory.condMutualInfoProof uses:
Function.comp,Prod,Function.uncurry, prod,Measurable.fun_comp,Prod.fst,Prod.snd,Prod.mk,Measurable.of_discrete,Measurable.prodMk,Eq.mpr,HSub.hSub,HAdd.hAdd, ProbabilityTheory.condEntropy,id,congrArg, ProbabilityTheory.condMutualInfo_eq,Iff.mpr,And,Prod.ext_iffand 7 more10 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
lemma condMutualInfo_of_inj_map [Countable U] [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) {V : Type*} [MeasurableSpace V] [MeasurableSingletonClass V] [Countable V] (f : U → S → V) (hf : ∀ t, Function.Injective (f t)) [FiniteRange Z] : I[fun ω ↦ f (Z ω) (X ω) : Y | Z ; μ] = I[X : Y | Z ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condMutualInfo_of_injline 976 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Function.Injective,Eq,Real, ProbabilityTheory.condMutualInfo,Function.compProof uses:
Measurable.fun_comp,Measurable.of_discrete,Eq.mpr,HSub.hSub,HAdd.hAdd, ProbabilityTheory.condEntropy,Prod, prod,id,congrArg, ProbabilityTheory.condMutualInfo_eq, ProbabilityTheory.condEntropy_of_injective',Prod.mk,Measurable.prodMk,Eq.refl10 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.condMutualInfo_of_inj'line 988 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Function.Injective,Eq,Real, ProbabilityTheory.condMutualInfo,Function.compProof uses:
Trans.trans,Eq.mpr,id,congrArg, ProbabilityTheory.condMutualInfo_of_inj,Measurable.fun_comp,Measurable.of_discrete,Eq.refl, ProbabilityTheory.condMutualInfo_of_inj_map, ProbabilityTheory.condMutualInfo_comm3 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.condEntropy_prod_eq_of_indepFunline 1008 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,Countable,Finite,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,ProbabilityTheory.IndepFun,Prod, prod,Eq,Real, ProbabilityTheory.condEntropyProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,OfNat.ofNat,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congr,congrArg, ProbabilityTheory.condEntropy_zero_measure,eq_self,Eq.symm,Eq.mpr,Finset.sum,Finset.univ,HMul.hMuland 33 more35 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.condMutualInfo_eq_zeroI[X : Y| Z]=0iffX, Yare conditionally independent overZline 1036 sourceSource documentation
I[X : Y| Z]=0iffX, Yare conditionally independent overZ.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,Countable,Measurable,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Iff,Eq,Real, ProbabilityTheory.condMutualInfo,OfNat.ofNat, ProbabilityTheory.CondIndepFunProof uses:
Eq.mpr,Filter.Eventually,ProbabilityTheory.IndepFun,ProbabilityTheory.cond,Set.preimage,Singleton.singleton,Set,MeasureTheory.ae,MeasureTheory.Measure.map,id,congrArg,propext, ProbabilityTheory.condIndepFun_iff,MeasureTheory.integral, ProbabilityTheory.mutualInfo, ProbabilityTheory.condMutualInfo_eq_integral_mutualInfo,Filter.EventuallyEq,MeasureTheory.integral_eq_zero_iff_of_nonneg,dite,LE.leand 22 more40 instances, coercions and auxiliary constants left out.
Tactic trace: 18 steps
Open to load the checked before-and-after goal states.
lemma condMutualInfo_eq_zero (hX : Measurable X) (hY : Measurable Y) [IsZeroOrProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] [FiniteRange Z] : I[X : Y | Z ; μ] = 0 ↔ CondIndepFun X Y Z μ := by …Mentions: FiniteRange, ProbabilityTheory.CondIndepFun
- lemma
ProbabilityTheory.ent_of_cond_indepIfX, Yare conditionally independent overZ, thenH[X, Y, Z] = H[X, Z] + H[Y, Z] - H[Z]line 1058 sourceSource documentation
If
X, Yare conditionally independent overZ, thenH[X, Y, Z] = H[X, Z] + H[Y, Z] - H[Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,Countable,Measurable, ProbabilityTheory.CondIndepFun,MeasureTheory.IsZeroOrProbabilityMeasure, FiniteRange,Eq,Real, ProbabilityTheory.entropy,Prod, prod,HSub.hSub,HAdd.hAddProof uses: ProbabilityTheory.condMutualInfo,
OfNat.ofNat,Iff.mpr, ProbabilityTheory.condMutualInfo_eq_zero,Eq.mpr,id,congrArg, ProbabilityTheory.entropy_assoc, ProbabilityTheory.condEntropy,Prod.mk, ProbabilityTheory.chain_rule,Measurable.prodMk,Mathlib.Tactic.Linarith.eq_of_not_lt_of_not_gt,Not.intro,LT.lt,Mathlib.Tactic.Linarith.lt_irrefl,Eq.mp,Mathlib.Tactic.Ring.of_eq,Mathlib.Tactic.Ring.Common.add_congr,HMul.hMuland 46 more62 instances, coercions and auxiliary constants left out.
Tactic trace: 4 steps
Open to load the checked before-and-after goal states.
lemma ent_of_cond_indep (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (h : CondIndepFun X Y Z μ) [IsZeroOrProbabilityMeasure μ] [FiniteRange X] [FiniteRange Y] [FiniteRange Z] : H[⟨X, ⟨Y, Z⟩⟩ ; μ] = H[⟨X, Z⟩; μ] + H[⟨Y, Z⟩; μ] - H[Z; μ] := by …Mentions: ProbabilityTheory.CondIndepFun, FiniteRange
- lemma
ProbabilityTheory.entropy_sub_condEntropyH[X] - H[X|Y] = I[X : Y]line 1071 sourceSource documentation
H[X] - H[X|Y] = I[X : Y]standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,Countable,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,Eq,Real,HSub.hSub, ProbabilityTheory.entropy, ProbabilityTheory.condEntropy, ProbabilityTheory.mutualInfoProof uses:
Eq.mpr,HAdd.hAdd,Prod, prod,id,congrArg, ProbabilityTheory.mutualInfo_def, ProbabilityTheory.chain_rule,add_comm,add_sub_add_left_eq_sub,Eq.refl18 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
lemma entropy_sub_condEntropy (hX : Measurable X) (hY : Measurable Y) [FiniteRange X] [FiniteRange Y] : H[X ; μ] - H[X | Y ; μ] = I[X : Y ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condEntropy_le_entropyH[X | Y] ≤ H[X]line 1076 sourceSource documentation
H[X | Y] ≤ H[X].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,Countable,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,LE.le,Real, ProbabilityTheory.condEntropy, ProbabilityTheory.entropyProof uses:
Iff.mp,OfNat.ofNat,HSub.hSub,sub_nonneg,Eq.mpr, ProbabilityTheory.mutualInfo,id,Eq,congrArg, ProbabilityTheory.entropy_sub_condEntropy, ProbabilityTheory.mutualInfo_nonneg16 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_le_entropy (hX : Measurable X) (hY : Measurable Y) [FiniteRange X] [FiniteRange Y] : H[X | Y ; μ] ≤ H[X ; μ] := …Mentions: FiniteRange
- lemma
ProbabilityTheory.entropy_submodularH[X | Y, Z] ≤ H[X | Z]line 1081 sourceSource documentation
H[X | Y, Z] ≤ H[X | Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,Countable,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,LE.le,Real, ProbabilityTheory.condEntropy,Prod, prodProof uses:
Eq,OfNat.ofNat,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congr,congrArg, ProbabilityTheory.condEntropy_zero_measure,Eq.symm,Nonempty,Nonempty.map,MeasureTheory.Measure.nonempty_of_neZero,Eq.mpr, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.condDistrib,MeasureTheory.Measure.map,idand 13 more31 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
lemma entropy_submodular (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) [FiniteRange X] [FiniteRange Y] [FiniteRange Z] : H[X | ⟨Y, Z⟩ ; μ] ≤ H[X | Z ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.condEntropy_comp_geData-processing inequality for the conditional entropy:H[Y|f(X)] ≥ H[Y|X]To upgrade this to equality, seecondEntropy_of_injective'line 1096 sourceSource documentation
Data-processing inequality for the conditional entropy:
H[Y|f(X)] ≥ H[Y|X]To upgrade this to equality, seecondEntropy_of_injective'standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable, FiniteRange,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable,GE.ge,Real, ProbabilityTheory.condEntropy,Function.compProof uses:
Eq, ProbabilityTheory.entropy,Prod, prod,Prod.mk,id, ProbabilityTheory.entropy_comp_of_injective,Measurable.prod,Prod.ext,And.left,Prod.fst,And,Prod.snd,Eq.mp,congrArg,Prod.mk.injEq,And.right,Measurable.fun_comp,Measurable.of_discrete,Eq.mprand 5 more11 instances, coercions and auxiliary constants left out.
Tactic trace: 14 steps
Open to load the checked before-and-after goal states.
lemma condEntropy_comp_ge [FiniteRange X] [FiniteRange Y] (μ : Measure Ω) [IsZeroOrProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) (f : S → U) : H[Y | f ∘ X ; μ] ≥ H[Y | X; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.entropy_triple_add_entropy_leThe submodularity inequality:H[X, Y, Z] + H[Z] ≤ H[X, Z] + H[Y, Z]line 1111 sourceSource documentation
The submodularity inequality:
H[X, Y, Z] + H[Z] ≤ H[X, Z] + H[Y, Z].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,Countable,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable, FiniteRange,LE.le,Real,HAdd.hAdd, ProbabilityTheory.entropy,Prod, prodProof uses:
Eq.mpr,Prod.mk, ProbabilityTheory.condEntropy,id,Eq,congrArg, ProbabilityTheory.chain_rule,Measurable.prodMk,HMul.hMul,OfNat.ofNat,Nat,congr,Eq.trans,HPow.hPow,Nat.rawCast,Mathlib.Tactic.Ring.Common.add_congr,Mathlib.Tactic.Ring.Common.atom_pf,rfl,Eq.symm,Eq.refland 18 more46 instances, coercions and auxiliary constants left out.
Tactic trace: 3 steps
Open to load the checked before-and-after goal states.
lemma entropy_triple_add_entropy_le (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) [FiniteRange X] [FiniteRange Y] [FiniteRange Z] : H[⟨X, ⟨Y, Z⟩⟩ ; μ] + H[Z ; μ] ≤ H[⟨X, Z⟩ ; μ] + H[⟨Y, Z⟩ ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.mutual_comp_leLetX, Ybe random variables line 1145 sourceSource documentation
Let
X, Ybe random variables. For any functionf, gon the range ofX, we haveI[f(X) : Y] ≤ I[X : Y].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure,Measurable, FiniteRange,LE.le,Real, ProbabilityTheory.mutualInfo,Function.compProof uses:
Measurable.fun_comp,Measurable.of_discrete,Eq.mpr,id,Eq,congrArg, ProbabilityTheory.mutualInfo_comm,HSub.hSub, ProbabilityTheory.entropy, ProbabilityTheory.condEntropy, ProbabilityTheory.mutualInfo_eq_entropy_sub_condEntropy,sub_le_sub_left, ProbabilityTheory.condEntropy_comp_ge13 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma mutual_comp_le [Countable U] (μ : Measure Ω) [IsProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) (f : S → U) [FiniteRange X] [FiniteRange Y] : I[f ∘ X : Y ; μ] ≤ I[X : Y ; μ] := by …Mentions: FiniteRange
- lemma
ProbabilityTheory.mutual_comp_comp_leLetX, Ybe random variables line 1156 sourceSource documentation
Let
X, Ybe random variables. For any functionsf, gon the ranges ofX, Yrespectively, we haveI[f ∘ X : g ∘ Y ; μ] ≤ I[X : Y ; μ].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure,Measurable, FiniteRange,LE.le,Real, ProbabilityTheory.mutualInfo,Function.compProof uses:
Trans.trans,Eq, ProbabilityTheory.mutual_comp_le,Measurable.comp, ProbabilityTheory.mutualInfo_comm7 instances, coercions and auxiliary constants left out.
lemma mutual_comp_comp_le [Countable U] (μ : Measure Ω) [IsProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) (f : S → U) (g : T → V) (hg : Measurable g) [FiniteRange X] [FiniteRange Y] : I[f ∘ X : g ∘ Y ; μ] ≤ I[X : Y ; μ] := …Mentions: FiniteRange
- lemma
ProbabilityTheory.condMutual_comp_comp_leLetX, Y, Zline 1168 sourceSource documentation
Let
X, Y, Z. For any functionsf, gon the ranges ofX, Yrespectively, we haveI[f ∘ X : g ∘ Y | Z ; μ] ≤ I[X : Y | Z ; μ].standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,MeasureTheory.Measure,MeasureTheory.IsProbabilityMeasure,Measurable, FiniteRange,LE.le,Real, ProbabilityTheory.condMutualInfo,Function.compProof uses:
Eq.mpr,Finset.sum, FiniteRange.toFinset,HMul.hMul,MeasureTheory.Measure.real,Set.preimage,Singleton.singleton,Set, ProbabilityTheory.mutualInfo,ProbabilityTheory.cond,id,Eq,congrArg, ProbabilityTheory.condMutualInfo_eq_sum,Finset.sum_le_sum,Membership.mem,Finset,OfNat.ofNat,LT.lt,Orand 23 more31 instances, coercions and auxiliary constants left out.
Tactic trace: 15 steps
Open to load the checked before-and-after goal states.
lemma condMutual_comp_comp_le (μ : Measure Ω) [IsProbabilityMeasure μ] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (f : S → V) (g : T → W) (hg : Measurable g) [FiniteRange X] [FiniteRange Y] [FiniteRange Z] : I[f ∘ X : g ∘ Y | Z ; μ] ≤ I[X : Y | Z ; μ] := by …Mentions: FiniteRange
- example
(example at line 1197)line 1197 sourceSource documentation
An example to illustrate how
MeasureSpacecan be used to suppress the ambient measure.example (hX : Measurable X) (hY : Measurable Y) : H[⟨X, Y⟩] = H[Y] + H[X | Y] := chain_rule _ hX hY …