PFR/ForMathlib/Entropy/Kernel/MutualInfo.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
26 declarations, 0 contain sorry, 0 declared as axioms
Mutual Information of kernels
Main definitions
mutualInfo: Mutual information of a kernelκinto a product space with respect to a measureμ. This is denoted byIk[κ, μ]and is equal toHk[fst κ, μ] + Hk[snd κ, μ] - Hk[κ, μ].
Main statements
mutualInfo_nonneg:Ik[κ, μ]is nonnegativeentropy_condKernel_le_entropy_fstandentropy_condKernel_le_entropy_snd: conditioning reduces entropy.
Notations
Ik[κ, μ] = Kernel.entropy κ μ
Imported by 3 files
- def
ProbabilityTheory.Kernel.mutualInfoline 40 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,ProbabilityTheory.Kernel,Prod,MeasureTheory.Measure,RealProof uses:
HSub.hSub,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.snd6 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.Kernel.mutualInfo_defline 46 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,ProbabilityTheory.Kernel,Prod,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.Kernel.mutualInfo,HSub.hSub,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.sndProof uses:
rfl6 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.Kernel.mutualInfo_zero_measureline 50 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,ProbabilityTheory.Kernel,Prod,Eq,Real, ProbabilityTheory.Kernel.mutualInfo,OfNat.ofNat,MeasureTheory.MeasureProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,HSub.hSub,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.snd,congr, ProbabilityTheory.Kernel.entropy_zero_measure,add_zero,sub_self,eq_self19 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.mutualInfo_zero_kernelline 54 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.Kernel.mutualInfo,OfNat.ofNat,ProbabilityTheory.Kernel,ProdProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,HSub.hSub,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.snd,congr,ProbabilityTheory.Kernel.fst_zero, ProbabilityTheory.Kernel.entropy_zero_kernel,ProbabilityTheory.Kernel.snd_zero,add_zero,sub_self,eq_self19 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.mutualInfo_congrline 57 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,ProbabilityTheory.Kernel,Prod,MeasureTheory.Measure,Filter.EventuallyEq,MeasureTheory.ae,Eq,Real, ProbabilityTheory.Kernel.mutualInfoProof uses:
Eq.mpr,HSub.hSub,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.snd,id,congrArg,ProbabilityTheory.Kernel.mutualInfo.eq_1,Filter.mp_mem,Set.ofPred,Filter.univ_mem',Membership.mem,Set,MeasureTheory.Measure.map,Prod.fst,ProbabilityTheory.Kernel.fst_apply,Eq.refl,Prod.snd,ProbabilityTheory.Kernel.snd_applyand 1 more15 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.compProd_assoc'line 68 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,ProbabilityTheory.Kernel,ProbabilityTheory.IsSFiniteKernel,Prod,Eq,ProbabilityTheory.Kernel.map,ProbabilityTheory.Kernel.compProd,MeasurableEquiv,MeasurableEquiv.prodAssoc,ProbabilityTheory.Kernel.comap,MeasurableEquiv.measurableProof uses:
ProbabilityTheory.Kernel.ext,MeasureTheory.Measure.ext,MeasureTheory.Measure,Set,MeasurableSet,Eq.mpr,ENNReal,Set.preimage,id,congrArg,ProbabilityTheory.Kernel.map_apply',MeasureTheory.lintegral,Prod.mk,ProbabilityTheory.Kernel.compProd_apply,ProbabilityTheory.Kernel.lintegral_compProd,ProbabilityTheory.Kernel.measurable_kernel_prodMk_left',Eq.rec,Eq.refl,funext,measurable_prodMk_left12 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.Measure.compProd_compProdline 82 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,ProbabilityTheory.Kernel,ProbabilityTheory.IsSFiniteKernel,Prod,Eq,MeasureTheory.Measure.compProd,ProbabilityTheory.Kernel.compProd,MeasureTheory.Measure.map,MeasurableEquiv,MeasurableEquiv.prodAssocProof uses:
dite,MeasureTheory.SFinite,Classical.propDecidable,MeasureTheory.Measure.ext,Set,MeasurableSet,Eq.mpr,ENNReal,MeasureTheory.lintegral,Set.preimage,Prod.mk,id,congrArg,MeasureTheory.Measure.compProd_apply,MeasureTheory.Measure.map_apply,MeasurableEquiv.measurable,MeasureTheory.Measure.lintegral_compProd,ProbabilityTheory.Kernel.measurable_kernel_prodMk_left,Eq.rec,Eq.refland 14 more14 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.Measure.compProd_compProd'line 96 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,ProbabilityTheory.Kernel,ProbabilityTheory.IsSFiniteKernel,Prod,Eq,MeasureTheory.Measure.compProd,ProbabilityTheory.Kernel.compProd,MeasureTheory.Measure.comap,MeasurableEquiv,MeasurableEquiv.symm,MeasurableEquiv.prodAssocProof uses:
Eq.mpr,MeasureTheory.Measure.map,id,congrArg,MeasurableEquiv.comap_symm, ProbabilityTheory.Kernel.Measure.compProd_compProd,Eq.refl8 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.Measure.compProd_compProd''line 102 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,ProbabilityTheory.Kernel,ProbabilityTheory.IsSFiniteKernel,Prod,Eq,MeasureTheory.Measure.compProd,MeasureTheory.Measure.comap,MeasurableEquiv,MeasurableEquiv.prodAssoc,ProbabilityTheory.Kernel.compProdProof uses:
Eq.mpr,MeasureTheory.Measure.map,id,congrArg, ProbabilityTheory.Kernel.Measure.compProd_compProd,MeasurableEquiv.symm,Eq.symm,MeasurableEquiv.map_symm,Function.comp,MeasureTheory.Measure.map_map,MeasurableEquiv.measurable,of_eq_true,Eq.trans,True,congrFun',MeasurableEquiv.symm_comp_self,MeasureTheory.Measure.map_id,eq_self8 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.mutualInfo_swapRightline 115 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,ProbabilityTheory.Kernel,Prod,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.Kernel.mutualInfo,ProbabilityTheory.Kernel.swapRightProof uses:
Eq.mpr,HSub.hSub,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.snd,id,congrArg,ProbabilityTheory.Kernel.mutualInfo.eq_1,ProbabilityTheory.Kernel.fst_swapRight,ProbabilityTheory.Kernel.snd_swapRight, ProbabilityTheory.Kernel.entropy_swapRight,add_comm,Eq.refl9 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.mutualInfo_nonneg'line 123 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,ProbabilityTheory.Kernel,Prod,MeasureTheory.Measure,MeasureTheory.IsFiniteMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.FiniteKernelSupport,LE.le,Real,OfNat.ofNat, ProbabilityTheory.Kernel.mutualInfoProof uses:
id,HSub.hSub,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.snd,Eq.mpr,MeasureTheory.integral, ProbabilityTheory.measureEntropy,MeasureTheory.Measure.restrict,Finset,MeasureTheory.Measure.support,Eq,congrArg,congr,NormedAddCommGroup,NormedSpace,MeasureTheory.integral_eq_setIntegral, ProbabilityTheory.ae_mem_support,Finset.sumand 24 more74 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.mutualInfo_nonnegline 133 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,ProbabilityTheory.Kernel,Prod,MeasureTheory.Measure,MeasureTheory.IsFiniteMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,LE.le,Real,OfNat.ofNat, ProbabilityTheory.Kernel.mutualInfoProof uses:
Eq.mpr, ProbabilityTheory.Kernel.AEFiniteKernelSupport.mk,id,Eq,congrArg, ProbabilityTheory.Kernel.mutualInfo_congr, ProbabilityTheory.Kernel.AEFiniteKernelSupport.ae_eq_mk, ProbabilityTheory.Kernel.mutualInfo_nonneg', ProbabilityTheory.Kernel.AEFiniteKernelSupport.finiteKernelSupport_mk9 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.mutualInfo_compProdline 142 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,ProbabilityTheory.Kernel,ProbabilityTheory.IsZeroOrMarkovKernel,Prod,ProbabilityTheory.IsMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,MeasureTheory.Measure.compProd,Eq,Real, ProbabilityTheory.Kernel.mutualInfo,ProbabilityTheory.Kernel.compProd,HSub.hSub,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.sndProof uses:
Eq.mpr,ProbabilityTheory.Kernel.fst,id,congrArg,ProbabilityTheory.Kernel.mutualInfo.eq_1, ProbabilityTheory.Kernel.entropy_compProd,ProbabilityTheory.Kernel.fst_compProd,Eq.refl13 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.mutualInfo_eq_fst_subline 151 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Nonempty,ProbabilityTheory.Kernel,Prod,ProbabilityTheory.IsZeroOrMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,Eq,Real, ProbabilityTheory.Kernel.mutualInfo,HSub.hSub, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.condKernel,ProbabilityTheory.Kernel.swapRight,ProbabilityTheory.Kernel.sndand 1 moreProof uses:
Eq.mpr,HAdd.hAdd,id,congrArg,ProbabilityTheory.Kernel.mutualInfo.eq_1, ProbabilityTheory.Kernel.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 more49 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.mutualInfo_prodline 159 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,ProbabilityTheory.Kernel,ProbabilityTheory.IsZeroOrMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,Eq,Real, ProbabilityTheory.Kernel.mutualInfo,ProbabilityTheory.Kernel.prod,OfNat.ofNatProof uses:
ProbabilityTheory.IsMarkovKernel,Or,ProbabilityTheory.eq_zero_or_isMarkovKernel,of_eq_true,Eq.trans,True,congrFun',congrArg,Prod,ProbabilityTheory.Kernel.zero_prod, ProbabilityTheory.Kernel.mutualInfo_zero_kernel,eq_self,Eq.symm,ProbabilityTheory.Kernel.prod_zero,Eq.mpr,HSub.hSub,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst,ProbabilityTheory.Kernel.sndand 7 more21 instances, coercions and auxiliary constants left out.
Tactic trace: 7 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.mutualInfo_eq_snd_subline 170 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Nonempty,ProbabilityTheory.Kernel,Prod,ProbabilityTheory.IsZeroOrMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,Eq,Real, ProbabilityTheory.Kernel.mutualInfo,HSub.hSub, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.snd,ProbabilityTheory.Kernel.condKernel,MeasureTheory.Measure.compProd,ProbabilityTheory.Kernel.fstProof uses:
Eq.mpr,HAdd.hAdd,id,congrArg,ProbabilityTheory.Kernel.mutualInfo.eq_1, ProbabilityTheory.Kernel.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 more47 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.entropy_condKernel_le_entropy_fstline 178 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Nonempty,ProbabilityTheory.Kernel,Prod,ProbabilityTheory.IsZeroOrMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,LE.le,Real, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.condKernel,ProbabilityTheory.Kernel.swapRight,ProbabilityTheory.Kernel.snd,MeasureTheory.Measure.compProd,ProbabilityTheory.Kernel.fstProof uses:
Eq.mpr,OfNat.ofNat,HSub.hSub,id,Eq,congrArg,Eq.symm,propext,sub_nonneg, ProbabilityTheory.Kernel.mutualInfo, ProbabilityTheory.Kernel.mutualInfo_eq_fst_sub, ProbabilityTheory.Kernel.mutualInfo_nonneg35 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.entropy_condKernel_le_entropy_sndline 186 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,Nonempty,ProbabilityTheory.Kernel,Prod,ProbabilityTheory.IsZeroOrMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,LE.le,Real, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.condKernel,ProbabilityTheory.Kernel.snd,MeasureTheory.Measure.compProd,ProbabilityTheory.Kernel.fstProof uses:
Eq.mpr,OfNat.ofNat,HSub.hSub,id,Eq,congrArg,Eq.symm,propext,sub_nonneg, ProbabilityTheory.Kernel.mutualInfo, ProbabilityTheory.Kernel.mutualInfo_eq_snd_sub, ProbabilityTheory.Kernel.mutualInfo_nonneg33 instances, coercions and auxiliary constants left out.
Tactic trace: 2 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.entropy_snd_sub_mutualInfo_le_entropy_map_of_injectiveTODO: extract lemma(s) from this: line 195 sourceSource comment
TODO: extract lemma(s) from this:standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasurableSingletonClass,Countable,ProbabilityTheory.Kernel,Prod,ProbabilityTheory.IsZeroOrMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,Function.Injective,Prod.mk, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,LE.le,Real,HSub.hSub, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.snd, ProbabilityTheory.Kernel.mutualInfo,ProbabilityTheory.Kernel.mapProof uses:
Eq,OfNat.ofNat,ProbabilityTheory.IsMarkovKernel,Or,ProbabilityTheory.eq_zero_or_isMarkovKernel,of_eq_true,Eq.trans,True,congr,congrArg,congrFun',ProbabilityTheory.Kernel.snd_zero, ProbabilityTheory.Kernel.entropy_zero_kernel, ProbabilityTheory.Kernel.mutualInfo_zero_kernel,sub_self,ProbabilityTheory.Kernel.map_zero,Eq.symm,MeasureTheory.IsProbabilityMeasure,MeasureTheory.eq_zero_or_isProbabilityMeasure, ProbabilityTheory.Kernel.entropy_zero_measure and 75 more79 instances, coercions and auxiliary constants left out.
Tactic trace: 20 steps
Open to load the checked before-and-after goal states.
lemma entropy_snd_sub_mutualInfo_le_entropy_map_of_injective {V : Type*} [Countable V] [MeasurableSpace V] [MeasurableSingletonClass V] (κ : Kernel T (S × U)) [IsZeroOrMarkovKernel κ] (μ : Measure T) [IsZeroOrProbabilityMeasure μ] (f : S × U → V) (hfi : ∀ x, Injective (fun y ↦ f (x, y))) [FiniteSupport μ] (hκ : AEFiniteKernelSupport κ μ) : Hk[snd κ, μ] - Ik[κ, μ] ≤ Hk[map κ f, μ] := by …Mentions: ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport
- lemma
ProbabilityTheory.Kernel.entropy_reverseline 237 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,ProbabilityTheory.Kernel,Prod,ProbabilityTheory.IsZeroOrMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,Eq,Real, ProbabilityTheory.Kernel.entropy, ProbabilityTheory.Kernel.reverseProof uses:
le_antisymm,Eq.mpr,LE.le,ProbabilityTheory.Kernel.map,Prod.mk,Prod.snd,Prod.fst,id,congrFun',congrArg, ProbabilityTheory.Kernel.reverse_eq, ProbabilityTheory.Kernel.entropy_map_le,Eq.rec,Eq.refl,Eq.trans,Eq.symm, ProbabilityTheory.Kernel.reverse_reverse,congr,Eq.mp, ProbabilityTheory.Kernel.AEFiniteKernelSupport.reverse9 instances, coercions and auxiliary constants left out.
Tactic trace: 6 steps
Open to load the checked before-and-after goal states.
- instance
ProbabilityTheory.Kernel.IsZeroOrProbabilityMeasure.compProdline 246 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure,ProbabilityTheory.Kernel,ProbabilityTheory.IsZeroOrMarkovKernel,Prod,MeasureTheory.Measure.compProdProof uses:
Eq,OfNat.ofNat,ProbabilityTheory.IsMarkovKernel,Or,ProbabilityTheory.eq_zero_or_isMarkovKernel,Eq.mpr,id,congrArg,MeasureTheory.Measure.compProd_zero_right,inferInstance,Eq.symm,MeasureTheory.IsProbabilityMeasure,MeasureTheory.eq_zero_or_isProbabilityMeasure,MeasureTheory.Measure.compProd_zero_left9 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.Kernel.entropy_condKernel_compProd_tripleline 256 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,Nonempty,ProbabilityTheory.Kernel,ProbabilityTheory.IsZeroOrMarkovKernel,Prod,ProbabilityTheory.IsMarkovKernel,MeasureTheory.Measure,Eq,Real, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.condKernel,ProbabilityTheory.Kernel.compProd,MeasureTheory.Measure.compProdProof uses: ProbabilityTheory.Kernel.entropy_congr, ProbabilityTheory.Kernel.condKernel_compProd_ae_eq
20 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.Kernel.entropy_submodular_compProdfrom kernel (T × S × U) V ; Measure (T × S × U) to kernel (T × S) V ; Measure (T × S) line 264 sourceSource comment
from kernel (T × S × U) V ; Measure (T × S × U) to kernel (T × S) V ; Measure (T × S)standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,ProbabilityTheory.Kernel,ProbabilityTheory.IsZeroOrMarkovKernel,Prod,ProbabilityTheory.IsMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,MeasureTheory.Measure.compProd,ProbabilityTheory.Kernel.compProd,LE.le,Real, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.snd,ProbabilityTheory.Kernel.comap,MeasurableEquiv,MeasurableEquiv.prodAssocand 1 moreProof uses:
Eq,OfNat.ofNat,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congr,congrArg,MeasureTheory.Measure.compProd_zero_left, ProbabilityTheory.Kernel.entropy_zero_measure,Eq.symm,ProbabilityTheory.eq_zero_or_isMarkovKernel,ProbabilityTheory.Kernel.compProd_zero_left,MeasureTheory.Measure.compProd_zero_right,Nonempty, ProbabilityTheory.Kernel.nonempty_of_isProbabilityMeasure_of_isMarkovKernel,MeasureTheory.Measure.nonempty_of_neZero,ProbabilityTheory.Kernel.compProd_zero_rightand 26 more47 instances, coercions and auxiliary constants left out.
Tactic trace: 29 steps
Open to load the checked before-and-after goal states.
lemma entropy_submodular_compProd {ξ : Kernel T S} [IsZeroOrMarkovKernel ξ] {κ : Kernel (T × S) U} [IsZeroOrMarkovKernel κ] {η : Kernel (T × S × U) V} [IsMarkovKernel η] {μ : Measure T} [IsZeroOrProbabilityMeasure μ] [FiniteSupport μ] (hκ : AEFiniteKernelSupport κ (μ ⊗ₘ ξ)) (hη : AEFiniteKernelSupport η (μ ⊗ₘ (ξ ⊗ₖ κ))) (hξ : AEFiniteKernelSupport ξ μ) : Hk[η, μ ⊗ₘ (ξ ⊗ₖ κ)] ≤ Hk[snd (κ ⊗ₖ (comap η MeasurableEquiv.prodAssoc MeasurableEquiv.prodAssoc.measurable)), μ ⊗ₘ ξ] := by …Mentions: ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport
- lemma
ProbabilityTheory.Kernel.entropy_compProd_triple_add_entropy_le$$ H[X,Y,Z] + H[X] \leq H[Z,X] + H[Y,X].$$ line 299 sourceSource comment
$$ H[X,Y,Z] + H[X] \leq H[Z,X] + H[Y,X].$$standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,ProbabilityTheory.Kernel,ProbabilityTheory.IsZeroOrMarkovKernel,Prod,ProbabilityTheory.IsMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,MeasureTheory.Measure.compProd,ProbabilityTheory.Kernel.compProd,LE.le,Real,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.snd,ProbabilityTheory.Kernel.comap,MeasurableEquivand 2 moreProof uses:
Eq,OfNat.ofNat,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congr,congrArg, ProbabilityTheory.Kernel.entropy_zero_measure,add_zero,Eq.symm,ProbabilityTheory.eq_zero_or_isMarkovKernel,congrFun',ProbabilityTheory.Kernel.compProd_zero_left, ProbabilityTheory.Kernel.entropy_zero_kernel,Nonempty, ProbabilityTheory.Kernel.nonempty_of_isProbabilityMeasure_of_isMarkovKernel,MeasureTheory.Measure.nonempty_of_neZeroand 26 more61 instances, coercions and auxiliary constants left out.
Tactic trace: 28 steps
Open to load the checked before-and-after goal states.
lemma entropy_compProd_triple_add_entropy_le {ξ : Kernel T S} [IsZeroOrMarkovKernel ξ] {κ : Kernel (T × S) U} [IsMarkovKernel κ] {η : Kernel (T × S × U) V} [IsMarkovKernel η] {μ : Measure T} [IsZeroOrProbabilityMeasure μ] [FiniteSupport μ] (hκ : AEFiniteKernelSupport κ (μ ⊗ₘ ξ)) (hη : AEFiniteKernelSupport η (μ ⊗ₘ (ξ ⊗ₖ κ))) (hξ : AEFiniteKernelSupport ξ μ) : Hk[(ξ ⊗ₖ κ) ⊗ₖ η, μ] + Hk[ξ, μ] ≤ Hk[ξ ⊗ₖ snd (κ ⊗ₖ comap η MeasurableEquiv.prodAssoc MeasurableEquiv.prodAssoc.measurable), μ] + Hk[ξ ⊗ₖ κ, μ] := by …Mentions: ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport
- lemma
ProbabilityTheory.Kernel.entropy_triple_add_entropy_le'The submodularity inequality: $$ H[X,Y,Z] + H[X] \leq H[X,Z] + H[X,Y].$$ line 338 sourceSource documentation
The submodularity inequality: $$ H[X,Y,Z] + H[X] \leq H[X,Z] + H[X,Y].$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,ProbabilityTheory.Kernel,Prod,ProbabilityTheory.IsZeroOrMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,LE.le,Real,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.fst, ProbabilityTheory.Kernel.deleteMiddle, ProbabilityTheory.Kernel.deleteRightProof uses:
Eq,OfNat.ofNat,ProbabilityTheory.IsMarkovKernel,Or,ProbabilityTheory.eq_zero_or_isMarkovKernel,of_eq_true,Eq.trans,True,congr,congrArg, ProbabilityTheory.Kernel.entropy_zero_kernel,congrFun',ProbabilityTheory.Kernel.fst_zero,add_zero, ProbabilityTheory.Kernel.deleteMiddle_zero, ProbabilityTheory.Kernel.deleteRight_zero,Eq.symm,MeasureTheory.IsProbabilityMeasure,MeasureTheory.eq_zero_or_isProbabilityMeasure, ProbabilityTheory.Kernel.entropy_zero_measure and 57 more46 instances, coercions and auxiliary constants left out.
Tactic trace: 55 steps
Open to load the checked before-and-after goal states.
lemma entropy_triple_add_entropy_le' {κ : Kernel T (S × U × V)} [IsZeroOrMarkovKernel κ] {μ : Measure T} [IsZeroOrProbabilityMeasure μ] [FiniteSupport μ] (hκ : AEFiniteKernelSupport κ μ) : Hk[κ, μ] + Hk[fst κ, μ] ≤ Hk[deleteMiddle κ, μ] + Hk[deleteRight κ, μ] := by …Mentions: ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport, ProbabilityTheory.Kernel.deleteMiddle, ProbabilityTheory.Kernel.deleteRight
- lemma
ProbabilityTheory.Kernel.entropy_triple_add_entropy_leThe submodularity inequality: $$ H[X,Y,Z] + H[Z] \leq H[X,Z] + H[Y,Z].$$ line 390 sourceSource documentation
The submodularity inequality: $$ H[X,Y,Z] + H[Z] \leq H[X,Z] + H[Y,Z].$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,Countable,MeasurableSingletonClass,ProbabilityTheory.Kernel,Prod,ProbabilityTheory.IsZeroOrMarkovKernel,MeasureTheory.Measure,MeasureTheory.IsZeroOrProbabilityMeasure, ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport,LE.le,Real,HAdd.hAdd, ProbabilityTheory.Kernel.entropy,ProbabilityTheory.Kernel.snd, ProbabilityTheory.Kernel.deleteMiddleProof uses:
Eq,ProbabilityTheory.Kernel.fst, ProbabilityTheory.Kernel.reverse,Eq.mpr,ProbabilityTheory.Kernel.map,Prod.fst,id,congrArg,ProbabilityTheory.Kernel.fst_eq,Prod.mk,Prod.snd, ProbabilityTheory.Kernel.reverse_eq,ProbabilityTheory.Kernel.snd_eq,Function.comp, ProbabilityTheory.Kernel.map_map,Measurable.prodMk,Measurable.snd,measurable_id',Measurable.fst,Eq.recand 16 more17 instances, coercions and auxiliary constants left out.
Tactic trace: 16 steps
Open to load the checked before-and-after goal states.
lemma entropy_triple_add_entropy_le (κ : Kernel T (S × U × V)) [IsZeroOrMarkovKernel κ] (μ : Measure T) [IsZeroOrProbabilityMeasure μ] [FiniteSupport μ] (hκ : AEFiniteKernelSupport κ μ) : Hk[κ, μ] + Hk[snd (snd κ), μ] ≤ Hk[deleteMiddle κ, μ] + Hk[snd κ, μ] := by …Mentions: ProbabilityTheory.FiniteSupport, ProbabilityTheory.Kernel.AEFiniteKernelSupport, ProbabilityTheory.Kernel.deleteMiddle