PFR/Kullback.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
21 declarations, 0 contain sorry, 0 declared as axioms
Kullback-Leibler divergence
Definition of Kullback-Leibler divergence and basic facts
Imports (5)
Imported by 2 files
- def
KLDivIfX, Yare twoG-valued random variables, the Kullback--Leibler divergence is defined asKL(X ‖ Y) := ∑ₓ 𝐏(X = x) log (𝐏(X = x) / 𝐏(Y = x))line 35 sourceSource documentation
If
X, Yare twoG-valued random variables, the Kullback--Leibler divergence is defined asKL(X ‖ Y) := ∑ₓ 𝐏(X = x) log (𝐏(X = x) / 𝐏(Y = x)).Note that this definition only makes sense when
Xis absolutely continuous wrt toY, i.e.,∀ x, 𝐏(Y = x) = 0 → 𝐏(X = x) = 0. Otherwise, the divergence should be infinite, but since we use real numbers for ease of computations, this is not a possible choice.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,autoParam,MeasureTheory.Measure,RealProof uses:
tsum,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Real.log,HDiv.hDiv,SummationFilter.unconditional12 instances, coercions and auxiliary constants left out.
noncomputable def KLDiv (X : Ω → G) (Y : Ω' → G) (μ : Measure Ω := by volume_tac) …
- lemma
KLDiv_selfline 43 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Eq,Real, KLDiv,OfNat.ofNatProof uses:
of_eq_true,Eq.trans,True,congrFun',congrArg,tsum,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Real.log,HDiv.hDiv,SummationFilter.unconditional,SummationFilter,optParam,funext,Real.log_div_self,MulZeroClass.mul_zero,tsum_zeroand 1 more21 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.IdentDistrib.KLDiv_eqIfX'is a copy ofX, andY'is a copy ofY, thenKL(X' ‖ Y') = KL(X ‖ Y)line 46 sourceSource documentation
If
X'is a copy ofX, andY'is a copy ofY, thenKL(X' ‖ Y') = KL(X ‖ Y).standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,ProbabilityTheory.IdentDistrib,Eq,Real, KLDivProof uses:
id,AddCommMonoid,TopologicalSpace,Eq.rec,SummationFilter,tsum,Eq.refl,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Real.log,HDiv.hDiv,funext,HMul,ProbabilityTheory.IdentDistrib.map_eq,HDiv,SummationFilter.unconditional10 instances, coercions and auxiliary constants left out.
Tactic trace: 9 steps
Open to load the checked before-and-after goal states.
lemma ProbabilityTheory.IdentDistrib.KLDiv_eq (X' : Ω'' → G) (Y' : Ω''' → G) (hX : IdentDistrib X X' μ μ'') (hY : IdentDistrib Y Y' μ' μ''') : KL[X ; μ # Y ; μ'] = KL[X' ; μ'' # Y' ; μ'''] := by … - lemma
KLDiv_eq_sumline 56 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Fintype,Eq,Real, KLDiv,Finset.sum,Finset.univ,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Real.log,HDiv.hDivProof uses:
tsum_eq_sum,SummationFilter.unconditional,of_eq_true,Not,Membership.mem,Finset,OfNat.ofNat,Eq.trans,True,forall_congr,False,Or,Neg.neg,implies_congr,congrArg,not_true_eq_false,congrFun',implies_true48 instances, coercions and auxiliary constants left out.
Tactic trace: 1 steps
Open to load the checked before-and-after goal states.
- lemma
KLDiv_eq_sum_negMulLogline 61 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Fintype,Eq,Real, KLDiv,Finset.sum,Finset.univ,HMul.hMul,Neg.neg,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Real.negMulLog,HDiv.hDivProof uses:
Eq.mpr,Real.log,id,congrArg, KLDiv_eq_sum,AddCommMonoid,Finset,Eq.rec,Eq.refl,funext,OfNat.ofNat,Ne,Or,eq_or_ne,of_eq_true,Eq.trans,True,congr,congrFun',zero_divand 48 more69 instances, coercions and auxiliary constants left out.
Tactic trace: 10 steps
Open to load the checked before-and-after goal states.
- lemma
KLDiv_nonnegKL(X ‖ Y) ≥ 0line 74 sourceSource documentation
KL(X ‖ Y) ≥ 0.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Finite,MeasurableSingletonClass,MeasureTheory.IsZeroOrProbabilityMeasure,Eq,ENNReal,Set,MeasureTheory.Measure.map,Singleton.singleton,OfNat.ofNat,LE.le,Real, KLDivProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,Eq.mpr,Finset.sum,Finset.univ,HMul.hMul,MeasureTheory.Measure.real,Real.log,HDiv.hDiv,id,congrArg, KLDiv_eq_sum,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,Trueand 32 more72 instances, coercions and auxiliary constants left out.
Tactic trace: 17 steps
Open to load the checked before-and-after goal states.
lemma KLDiv_nonneg [Finite G] [MeasurableSingletonClass G] [IsZeroOrProbabilityMeasure μ] [IsZeroOrProbabilityMeasure μ'] (habs : ∀ x, μ'.map Y {x} = 0 → μ.map X {x} = 0) : 0 ≤ KL[X ; μ # Y ; μ'] := by … - lemma
KLDiv_eq_zero_iff_identDistribKL(X ‖ Y) = 0if and only ifYis a copy ofXline 91 sourceSource documentation
KL(X ‖ Y) = 0if and only ifYis a copy ofX.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Finite,MeasurableSingletonClass,MeasureTheory.IsProbabilityMeasure,Measurable,Eq,Real,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,OfNat.ofNat,Iff, KLDiv,ProbabilityTheory.IdentDistribProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,Iff.intro,Membership.mem,Finset,Finset.univ,HMul.hMul,Exists, Real.sum_mul_log_div_eq_iff,of_eq_true,LE.le,Eq.trans,True,forall_congr,implies_congr,implies_true,congrFun',congrArgand 41 more78 instances, coercions and auxiliary constants left out.
Tactic trace: 21 steps
Open to load the checked before-and-after goal states.
lemma KLDiv_eq_zero_iff_identDistrib [Finite G] [MeasurableSingletonClass G] [IsProbabilityMeasure μ] [IsProbabilityMeasure μ'] (hX : Measurable X) (hY : Measurable Y) (habs : ∀ x, (μ'.map Y).real {x} = 0 → (μ.map X).real {x} = 0) : KL[X ; μ # Y ; μ'] = 0 ↔ IdentDistrib X Y μ μ' := by … - lemma
KLDiv_of_convexDocumented declaration: KLDiv_of_convex line 116 sourceSource documentation
If $S$ is a finite set, $w_s$ is non-negative, and ${\bf P}(X=x) = \sum_{s\in S} w_s {\bf P}(X_s=x)$, ${\bf P}(Y=x) = \sum_{s\in S} w_s {\bf P}(Y_s=x)$ for all $x$, then $$D_{KL}(X\Vert Y) \le \sum_{s\in S} w_s D_{KL}(X_s\Vert Y_s).$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Finite,Finset,Real,Membership.mem,LE.le,OfNat.ofNat,Eq,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Finset.sum,HMul.hMul, KLDivProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,Eq.mpr,Finset.univ,Real.log,HDiv.hDiv,id,Eq.rec,Eq.refl,Eq.trans,congrArg, KLDiv_eq_sum, Real.sum_mul_log_div_leq,mul_nonneg,of_eq_true,Or,Iff.mp,mul_eq_zeroand 18 more62 instances, coercions and auxiliary constants left out.
Tactic trace: 31 steps
Open to load the checked before-and-after goal states.
lemma KLDiv_of_convex [Finite G] {ι : Type*} {S : Finset ι} {w : ι → ℝ} (hw : ∀ s ∈ S, 0 ≤ w s) (X' : ι → Ω'' → G) (Y' : ι → Ω''' → G) (hconvex : ∀ x, (μ.map X).real {x} = ∑ s ∈ S, w s * (μ''.map (X' s)).real {x}) (hconvex' : ∀ x, (μ'.map Y).real {x} = ∑ s ∈ S, w s * (μ'''.map (Y' s)).real {x}) (habs : ∀ s ∈ S, ∀ x, (μ'''.map (Y' s)).real {x} = 0 → (μ''.map (X' s)).real {x} = 0) : KL[X ; μ # Y ; μ'] ≤ ∑ s ∈ S, w s * KL[X' s ; μ'' # Y' s ; μ'''] := by … - lemma
KLDiv_of_comp_injIf $f:G \to H$ is an injection, then $D_{KL}(f(X)\Vert f(Y)) = D_{KL}(X\Vert Y)$ line 149 sourceSource documentation
If $f:G \to H$ is an injection, then $D_{KL}(f(X)\Vert f(Y)) = D_{KL}(X\Vert Y)$.
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,DiscreteMeasurableSpace,MeasurableSingletonClass,Function.Injective,Measurable,Eq,Real, KLDiv,Function.compProof uses:
id,Eq.mpr,tsum,HMul.hMul,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Real.log,HDiv.hDiv,SummationFilter.unconditional,congrArg,Eq.symm,Function.Injective.tsum_eq,Membership.mem,Function.support,Ne,OfNat.ofNat,False.elim,Falseand 49 more44 instances, coercions and auxiliary constants left out.
Tactic trace: 43 steps
Open to load the checked before-and-after goal states.
lemma KLDiv_of_comp_inj {H : Type*} [MeasurableSpace H] [DiscreteMeasurableSpace G] [MeasurableSingletonClass H] {f : G → H} (hf : Function.Injective f) (hX : Measurable X) (hY : Measurable Y) : KL[f ∘ X ; μ # f ∘ Y ; μ'] = KL[X ; μ # Y ; μ'] := by … - lemma
KLDiv_add_constline 185 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,AddCommGroup,DiscreteMeasurableSpace,Measurable,Eq,Real, KLDiv,HAdd.hAddProof uses: KLDiv_of_comp_inj,
add_left_injective16 instances, coercions and auxiliary constants left out.
- lemma
ProbabilityTheory.IndepFun.map_add_eq_sumThe distribution ofX + Zis the convolution of the distributions ofZandXwhen these random variables are independent line 197 sourceSource documentation
The distribution of
X + Zis the convolution of the distributions ofZandXwhen these random variables are independent. Probably already available somewhere in some form, but I couldn't locate it.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Fintype,AddCommGroup,DiscreteMeasurableSpace,ProbabilityTheory.IndepFun,Measurable,Set,Eq,ENNReal,MeasureTheory.Measure.map,HAdd.hAdd,Finset.sum,Finset.univ,HMul.hMul,Singleton.singleton,Neg.negProof uses:
Eq.mpr,Set.preimage,id,congrArg,MeasureTheory.Measure.map_apply,Measurable.add,Prod,DiscreteMeasurableSpace.forall_measurableSet,Set.iUnion,Inter.inter,Set.Subset.antisymm,Membership.mem,Exists,And,Eq.trans,funext,congr,Exists.intro,And.intro,congrFun'and 36 more95 instances, coercions and auxiliary constants left out.
Tactic trace: 29 steps
Open to load the checked before-and-after goal states.
lemma ProbabilityTheory.IndepFun.map_add_eq_sum [Fintype G] [AddCommGroup G] [DiscreteMeasurableSpace G] {X Z : Ω → G} (h_indep : IndepFun X Z μ) (hX : Measurable X) (hZ : Measurable Z) (S : Set G) : μ.map (X + Z) S = ∑ s, μ.map Z {s} * μ.map X ({-s} + S) := by … - lemma
ProbabilityTheory.IndepFun.map_add_singleton_eq_sumThe distribution ofX + Zis the convolution of the distributions ofZandXwhen these random variables are independent line 233 sourceSource documentation
The distribution of
X + Zis the convolution of the distributions ofZandXwhen these random variables are independent. Probably already available somewhere in some form, but I couldn't locate it.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Fintype,AddCommGroup,DiscreteMeasurableSpace,ProbabilityTheory.IndepFun,Measurable,Eq,ENNReal,Set,MeasureTheory.Measure.map,HAdd.hAdd,Singleton.singleton,Finset.sum,Finset.univ,HMul.hMul,HSub.hSubProof uses:
Eq.mpr,Neg.neg,id,congrArg, ProbabilityTheory.IndepFun.map_add_eq_sum,AddCommMonoid,Finset,Eq.rec,Eq.refl,funext,HMul,eq_of_heq,HEq,DFunLike,HEq.refl,heq_of_eq,Eq.trans,congrFun',Set.image,Set.add_singletonand 1 more47 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
lemma ProbabilityTheory.IndepFun.map_add_singleton_eq_sum [Fintype G] [AddCommGroup G] [DiscreteMeasurableSpace G] {X Z : Ω → G} (h_indep : IndepFun X Z μ) (hX : Measurable X) (hZ : Measurable Z) (x : G) : μ.map (X + Z) {x} = ∑ s, μ.map Z {s} * μ.map X {x - s} := by … - lemma
ProbabilityTheory.IndepFun.real_map_add_eq_sumline 244 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasureTheory.IsFiniteMeasure,Fintype,AddCommGroup,DiscreteMeasurableSpace,ProbabilityTheory.IndepFun,Measurable,Set,Eq,Real,MeasureTheory.Measure.real,MeasureTheory.Measure.map,HAdd.hAdd,Finset.sum,Finset.univ,HMul.hMul,Singleton.singleton,Neg.negProof uses:
Eq.mpr,ENNReal.toReal,ENNReal,id,congrArg,MeasureTheory.measureReal_def, ProbabilityTheory.IndepFun.map_add_eq_sum,ENNReal.toReal_sum,Membership.mem,Finset,ENNReal.mul_ne_top,MeasureTheory.measure_ne_top,AddCommMonoid,Eq.rec,Eq.refl,funext,Set.preimage,congr,Eq.trans,Set.imageand 5 more50 instances, coercions and auxiliary constants left out.
Tactic trace: 5 steps
Open to load the checked before-and-after goal states.
- lemma
ProbabilityTheory.IndepFun.real_map_add_singleton_eq_sumline 254 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Fintype,AddCommGroup,DiscreteMeasurableSpace,MeasureTheory.IsFiniteMeasure,ProbabilityTheory.IndepFun,Measurable,Eq,Real,MeasureTheory.Measure.real,MeasureTheory.Measure.map,HAdd.hAdd,Singleton.singleton,Set,Finset.sum,Finset.univ,HMul.hMul,HSub.hSubProof uses:
Eq.mpr,ENNReal.toReal,ENNReal,id,congrArg,MeasureTheory.measureReal_def, ProbabilityTheory.IndepFun.map_add_singleton_eq_sum,ENNReal.toReal_sum,Membership.mem,Finset,ENNReal.mul_ne_top,MeasureTheory.measure_ne_top,AddCommMonoid,Eq.rec,Eq.refl,funext,ENNReal.toReal_mul38 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
- lemma
absolutelyContinuous_add_of_indepline 266 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Finite,AddCommGroup,DiscreteMeasurableSpace,ProbabilityTheory.IndepFun,Prod, prod,Measurable,Eq,ENNReal,Set,MeasureTheory.Measure.map,Singleton.singleton,OfNat.ofNat,HAdd.hAddProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,ProbabilityTheory.IndepFun.comp,Prod.fst,id,measurable_fst,measurable_id,Prod.snd,measurable_snd,Eq.mpr,Finset.sum,Finset.univ,HMul.hMul,HSub.hSub,congrArg, ProbabilityTheory.IndepFun.map_add_singleton_eq_sum,Membership.mem,Finsetand 15 more48 instances, coercions and auxiliary constants left out.
Tactic trace: 12 steps
Open to load the checked before-and-after goal states.
- lemma
KLDiv_add_le_KLDiv_of_indepIf $X, Y, Z$ are independent $G$-valued random variables, then $$D_{KL}(X+Z\Vert Y+Z) \leq D_{KL}(X\Vert Y).$$ line 284 sourceSource documentation
If $X, Y, Z$ are independent $G$-valued random variables, then $$D_{KL}(X+Z\Vert Y+Z) \leq D_{KL}(X\Vert Y).$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Finite,AddCommGroup,DiscreteMeasurableSpace,MeasureTheory.IsZeroOrProbabilityMeasure,ProbabilityTheory.IndepFun,Prod, prod,Measurable,Eq,ENNReal,Set,MeasureTheory.Measure.map,Singleton.singleton,OfNat.ofNat,LE.le,Real, KLDiv,HAdd.hAddProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congr,congrArg,tsum,HMul.hMul,MeasureTheory.Measure.real,Real.log,HDiv.hDiv,SummationFilter.unconditional,Finset.sum,Finset.univand 64 more105 instances, coercions and auxiliary constants left out.
Tactic trace: 50 steps
Open to load the checked before-and-after goal states.
lemma KLDiv_add_le_KLDiv_of_indep [Finite G] [AddCommGroup G] [DiscreteMeasurableSpace G] {X Y Z : Ω → G} [IsZeroOrProbabilityMeasure μ] (h_indep : IndepFun (⟨X, Y⟩) Z μ) (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (habs : ∀ x, μ.map Y {x} = 0 → μ.map X {x} = 0) : KL[X + Z ; μ # Y + Z ; μ] ≤ KL[X ; μ # Y ; μ] := by … - def
condKLDivIf $X,Y,Z$ are random variables, with $X,Z$ defined on the same sample space, we define $$ D_{KL}(X|Z \Vert Y) := \sum_z \mathbf{P}(Z=z) D_{KL}( (X|Z=z) \Vert Y).$$ line 335 sourceSource documentation
If $X,Y,Z$ are random variables, with $X,Z$ defined on the same sample space, we define $$ D_{KL}(X|Z \Vert Y) := \sum_z \mathbf{P}(Z=z) D_{KL}( (X|Z=z) \Vert Y).$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,autoParam,MeasureTheory.Measure,RealProof uses:
tsum,HMul.hMul,MeasureTheory.Measure.real,Set.preimage,Singleton.singleton,Set, KLDiv,ProbabilityTheory.cond,SummationFilter.unconditional9 instances, coercions and auxiliary constants left out.
noncomputable def condKLDiv {S : Type*} (X : Ω → G) (Y : Ω' → G) (Z : Ω → S) (μ : Measure Ω := by volume_tac) (μ' : Measure Ω' := by volume_tac) : ℝ := … - lemma
condKLDiv_eqDocumented declaration: condKLDiv_eq line 348 sourceSource documentation
If $X, Y$ are $G$-valued random variables, and $Z$ is another random variable defined on the same sample space as $X$, then $$D_{KL}((X|Z)\Vert Y) = D_{KL}(X\Vert Y) + \bbH[X] - \bbH[X|Z].$$
standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,Finite,MeasurableSingletonClass,MeasureTheory.IsZeroOrProbabilityMeasure,MeasureTheory.IsFiniteMeasure,Measurable,Eq,ENNReal,Set,MeasureTheory.Measure.map,Singleton.singleton,OfNat.ofNat,Real, condKLDiv,HSub.hSub,HAdd.hAdd, KLDiv, ProbabilityTheory.entropy, ProbabilityTheory.condEntropyProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,MeasureTheory.IsProbabilityMeasure,Or,MeasureTheory.eq_zero_or_isProbabilityMeasure,of_eq_true,Eq.trans,True,congr,congrArg,tsum,HMul.hMul,MeasureTheory.Measure.real,Set.preimage,ProbabilityTheory.cond,SummationFilter.unconditional,Finset.sum,Finset.univand 82 more114 instances, coercions and auxiliary constants left out.
Tactic trace: 46 steps
Open to load the checked before-and-after goal states.
lemma condKLDiv_eq {S : Type*} [MeasurableSpace S] [Finite S] [MeasurableSingletonClass S] [Finite G] [IsZeroOrProbabilityMeasure μ] [IsFiniteMeasure μ'] {X : Ω → G} {Y : Ω' → G} {Z : Ω → S} (hX : Measurable X) (hZ : Measurable Z) (habs : ∀ x, μ'.map Y {x} = 0 → μ.map X {x} = 0) : KL[ X | Z ; μ # Y ; μ'] = KL[X ; μ # Y ; μ'] + H[X ; μ] - H[ X | Z ; μ] := by … - lemma
condKLDiv_nonnegKL(X|Z ‖ Y) ≥ 0line 398 sourceSource documentation
KL(X|Z ‖ Y) ≥ 0.standard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,MeasurableSingletonClass,Finite,MeasureTheory.IsZeroOrProbabilityMeasure,Measurable,Eq,ENNReal,Set,MeasureTheory.Measure.map,Singleton.singleton,OfNat.ofNat,LE.le,Real, condKLDivProof uses:
Eq.mpr,tsum,HMul.hMul,MeasureTheory.Measure.real,Set.preimage, KLDiv,ProbabilityTheory.cond,SummationFilter.unconditional,id,congrArg,condKLDiv.eq_1,tsum_nonneg,mul_nonneg,of_eq_true, KLDiv_nonneg,MeasureTheory.Measure.map_apply,MeasurableSingletonClass.measurableSet_singleton,ProbabilityTheory.cond_absolutelyContinuous,Eq.mp33 instances, coercions and auxiliary constants left out.
Tactic trace: 8 steps
Open to load the checked before-and-after goal states.
lemma condKLDiv_nonneg {S : Type*} [MeasurableSingletonClass G] [Finite G] {X : Ω → G} {Y : Ω' → G} {Z : Ω → S} [IsZeroOrProbabilityMeasure μ'] (hX : Measurable X) (habs : ∀ x, μ'.map Y {x} = 0 → μ.map X {x} = 0) : 0 ≤ KL[X | Z; μ # Y ; μ'] := by … - lemma
tendsto_KLDiv_id_rightline 411 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,MeasureTheory.Measure,TopologicalSpace,DiscreteTopology,Finite,DiscreteMeasurableSpace,MeasureTheory.IsFiniteMeasure,Filter,MeasureTheory.ProbabilityMeasure,Filter.Tendsto,nhds,Eq,NNReal,Set,Singleton.singleton,OfNat.ofNat,ENNReal,MeasureTheory.Measure.map,Real, KLDiv and 1 moreProof uses:
Fintype,Nonempty,nonempty_fintype,Nonempty.intro,Eq.mpr,Finset.sum,Finset.univ,HMul.hMul,MeasureTheory.Measure.real,Real.log,HDiv.hDiv,congr,congrFun',congrArg,funext, KLDiv_eq_sum,tendsto_finsetSum,Membership.mem,Finset,Neand 33 more75 instances, coercions and auxiliary constants left out.
Tactic trace: 26 steps
Open to load the checked before-and-after goal states.
- lemma
tendsto_KLDiv_id_leftline 437 sourcestandard axioms: Classical.choice, Quot.sound, propext what this means
Statement uses:
MeasurableSpace,TopologicalSpace,DiscreteTopology,Finite,DiscreteMeasurableSpace,MeasureTheory.Measure,Filter,MeasureTheory.ProbabilityMeasure,Filter.Tendsto,nhds,Real, KLDiv,idProof uses:
Fintype,Nonempty,Eq,nonempty_fintype,Nonempty.intro,Eq.mpr,Finset.sum,Finset.univ,HMul.hMul,Neg.neg,MeasureTheory.Measure.real,MeasureTheory.Measure.map,Singleton.singleton,Set,Real.negMulLog,HDiv.hDiv,congr,congrFun',congrArg,funextand 27 more43 instances, coercions and auxiliary constants left out.
Tactic trace: 11 steps
Open to load the checked before-and-after goal states.