Stat.Concentration.EntropyMethod
Entropy-method concentration: entropy tensorization, deletion-coordinate logarithmic-Sobolev bounds, and Bousquet-style empirical-supremum tails.
Basic 3 core · 2 supporting This file defines the entropy functional used by the entropy method and proves its Gibbs variational characterization for strictly positive integrable functions. ★ entropy_isGreatest_dual
Entropy of a nonnegative random variable
This file defines the entropy functional used by the entropy method and proves its Gibbs variational characterization for strictly positive integrable functions. The characterization is the elementary analytic input to entropy tensorization.
The formulation is real-valued. Later tensorization and Herbst results impose boundedness, which guarantees all the integrability hypotheses appearing here.
Given a measure μ and a real-valued function f, the entropy of f under μ is its expected f log f minus its mean times the logarithm of its mean.
Definition (Lean source)
Given a probability measure μ and a positive function f, the variational values associated with f are the integrals E[f g] over integrable test functions whose exponential has expectation at most one.
Definition (Lean source)
If the function f is integrable, f log f is integrable, f is positive almost everywhere, and its mean is positive, then its entropy is the greatest Gibbs variational value.
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
entropy_eq_integral_mul_log_divtheorem — If the function f is integrable, f log f is integrable, f is positive almost everywhere, and its mean is positive, then its entropy is the integral of f log (f / E f).hypothesesΩ :hf :Integrable f μhflog :Integrable (fun ω => f ω * log (f ω)) μhfpos :∀ᵐ ω ∂μ, 0 < f ωhm :0 < ∫ ω, f ω ∂μconclusionentropy μ f = ∫ ω, f ω * log (f ω / ∫ x, f x ∂μ) ∂μProof (Lean source)
theorem entropy_eq_integral_mul_log_div {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} {f : Ω → ℝ} (hf : Integrable f μ) (hflog : Integrable (fun ω => f ω * log (f ω)) μ) (hfpos : ∀ᵐ ω ∂μ, 0 < f ω) (hm : 0 < ∫ ω, f ω ∂μ) : entropy μ f = ∫ ω, f ω * log (f ω / ∫ x, f x ∂μ) ∂μ := by rw [entropy] have hEq : (fun ω => f ω * log (f ω / ∫ x, f x ∂μ)) =ᵐ[μ] fun ω => f ω * log (f ω) - f ω * log (∫ x, f x ∂μ) := by filter_upwards [hfpos] with ω hω rw [Real.log_div hω.ne' hm.ne'] ring rw [integral_congr_ae hEq] rw [integral_sub hflog (hf.mul_const _), integral_mul_const] -
integral_mul_le_entropytheorem — Under integrability of f, integrability of f log f, positivity of f almost everywhere, and positivity of its mean, every test function for which f g is integrable, exp g is integrable, and E[exp g] ≤ 1 satisfies E[f g] ≤ Ent(f).hypothesesΩ :f g :Ω → ℝhf :Integrable f μhflog :Integrable (fun ω => f ω * log (f ω)) μhfpos :∀ᵐ ω ∂μ, 0 < f ωhm :0 < ∫ ω, f ω ∂μhfg :Integrable (fun ω => f ω * g ω) μhexp :Integrable (fun ω => exp (g ω)) μhconstraint :(∫ ω, exp (g ω) ∂μ) ≤ 1conclusion(∫ ω, f ω * g ω ∂μ) ≤ entropy μ fProof (Lean source)
theorem integral_mul_le_entropy {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] {f g : Ω → ℝ} (hf : Integrable f μ) (hflog : Integrable (fun ω => f ω * log (f ω)) μ) (hfpos : ∀ᵐ ω ∂μ, 0 < f ω) (hm : 0 < ∫ ω, f ω ∂μ) (hfg : Integrable (fun ω => f ω * g ω) μ) (hexp : Integrable (fun ω => exp (g ω)) μ) (hconstraint : (∫ ω, exp (g ω) ∂μ) ≤ 1) : (∫ ω, f ω * g ω ∂μ) ≤ entropy μ f := by let m := ∫ ω, f ω ∂μ have hlogdiv : Integrable (fun ω => f ω * log (f ω / m)) μ := integrable_mul_log_div hf hflog hfpos hm have hright : Integrable (fun ω => f ω * log (f ω / m) - f ω + m * exp (g ω)) μ := (hlogdiv.sub hf).add (hexp.const_mul m) have hpoint : (fun ω => f ω * g ω) ≤ᵐ[μ] fun ω => f ω * log (f ω / m) - f ω + m * exp (g ω) := by filter_upwards [hfpos] with ω hω exact scaledYoung hω hm have hInt := integral_mono_ae hfg hright hpoint have hent : entropy μ f = ∫ ω, f ω * log (f ω / m) ∂μ := entropy_eq_integral_mul_log_div hf hflog hfpos hm have hright_eq : (∫ ω, f ω * log (f ω / m) - f ω + m * exp (g ω) ∂μ) = (∫ ω, f ω * log (f ω / m) ∂μ) - (∫ ω, f ω ∂μ) + m * (∫ ω, exp (g ω) ∂μ) := by calc _ = (∫ ω, f ω * log (f ω / m) - f ω ∂μ) + (∫ ω, m * exp (g ω) ∂μ) := integral_add (hlogdiv.sub hf) (hexp.const_mul m) _ = _ := by rw [integral_sub hlogdiv hf, integral_const_mul] rw [hright_eq] at hInt have hm_nonneg : 0 ≤ m := hm.le have hmul : m * (∫ ω, exp (g ω) ∂μ) ≤ m := by simpa using mul_le_mul_of_nonneg_left hconstraint hm_nonneg calc (∫ ω, f ω * g ω ∂μ) ≤ ∫ ω, f ω * log (f ω / m) ∂μ := by dsimp [m] at hInt hmul ⊢ nlinarith _ = entropy μ f := hent.symm
FiniteTensorization 3 core · 0 supporting This file iterates binary entropy tensorization over a finite product of independent probability laws. ★ entropy_pi_le_coordinateEntropySum
Finite-coordinate entropy tensorization
This file iterates binary entropy tensorization over a finite product of independent probability
laws. The coordinate entropy sum is written recursively along Mathlib's measurable equivalence
between a Fin (n + 1)-indexed tuple and its head--tail product decomposition.
The regularity predicate contains the positivity, integrability, and Fubini conditions needed by the real-valued binary theorem, together with the integrability needed to average the inductive tail inequality.
Given a sequence of coordinate laws μ, a number of coordinates n, and a function f on the first n coordinates, the finite sum of expected one-coordinate entropies is zero with no coordinates, while at a positive number of coordinates it averages the head-coordinate entropy over the tail and the recursively defined tail-coordinate sum over the head.
Definition (Lean source)
Given coordinate laws μ, a finite coordinate count n, and a function f on that product, the regularity conditions for finite entropy tensorization recursively require the binary positivity and integrability bundle, the same conditions in every tail section, and integrability of both sides of the inductive tail comparison: the zero-coordinate condition is automatic, and the positive-coordinate condition contains the binary bundle, recursive tail regularity, and the two required integrability clauses.
Definition (Lean source)
If the coordinate laws are probability laws, for a number of coordinates and a real-valued function of the whole coordinate vector satisfying the recursive positivity and integrability conditions, then the entropy under the independent product law is at most the sum of the expected one-coordinate entropies.
Formal statement
Proof (Lean source)
Bousquet 4 core · 0 supporting This file proves the signed-increment estimates at the heart of Bousquet's variance-sensitive concentration inequality for empirical-process suprema: Boucheron--Lugosi--Massart (2013), Lemma 12.6, the conditional half-sq ★ blm_phi_signed_increment_le★ blm_conditional_half_square_sub_le★ blm_conditional_phi_cost_le
Analytic ingredients for Bousquet's inequality
This file proves the signed-increment estimates at the heart of Bousquet's variance-sensitive concentration inequality for empirical-process suprema: Boucheron--Lugosi--Massart (2013), Lemma 12.6, the conditional half-square consequence of Lemma 11.11, and the resulting one-coordinate tilted Bennett-cost estimate used in Lemma 12.8.
For a real argument x, the Bennett entropy function is exp x - x - 1.
Definition (Lean source)
BLM Lemma 12.6. If the quadratic coefficient beta is nonnegative, the tilt lam is nonnegative, and the signed increment x is at most one, then the Bennett entropy ratio at -lam*x is bounded by the signed affine- quadratic exponential ratio.
Formal statement
Proof (Lean source)
Conditional estimate from BLM Lemma 11.11. For integrable increments Delta with integrable squares, and integrable lower comparators Y with integrable squares, if Y lies below Delta, Delta is at most one, Y is at most one, and Y has nonnegative conditional mean, then the conditional mean of Delta^2/2-Delta is at most half the conditional second moment of Y.
Formal statement
Proof (Lean source)
Conditional slice estimate in the proof of BLM Lemma 12.8. Fix a nonnegative tilt lam, a deletion value zi, and a nonnegative coordinate variance proxy sigma2. For an integrable deletion increment Delta with integrable square, an integrable leave-one-out maximizing coordinate Y with integrable square, integrability of the exponential tilt and its product with the increment, and integrability of the tilted Bennett cost, suppose Y lies below Delta, both variables are at most one, Y has nonnegative mean, Delta has nonnegative mean, and Y has second moment at most sigma2. Then the conditional tilted Bennett cost is at most the BLM factor times the tilted expectation of Delta + sigma2/2.
Formal statement
Proof (Lean source)
DeletionLogSobolev 4 core · 2 supporting This file derives the deletion-coordinate form of the modified logarithmic-Sobolev inequality directly from finite entropy tensorization. ★ deletionModifiedLogSobolev_pi
Deletion-coordinate modified logarithmic-Sobolev inequality
This file derives the deletion-coordinate form of the modified logarithmic-Sobolev inequality directly from finite entropy tensorization. A recursive family records one comparison value for each coordinate while making its independence of the deleted coordinate true by construction. The resulting bound is the entropy input used in Bousquet's inequality.
For a sample type X and a coordinate count n (the family's index), a recursive family of deletion-coordinate comparison values is either empty at zero coordinates or a head comparison depending only on the tail together with recursive tail comparisons after fixing the head.
Definition (Lean source)
Given coordinate laws mu, a coordinate count n, a tilt lam, a statistic Z, and deletion-coordinate comparisons D, the sum of expected tilted Bennett deletion costs is zero with no coordinates, while at a positive coordinate count it adds the head-coordinate cost and the recursively averaged tail-coordinate costs.
Definition (Lean source)
Given coordinate laws mu, a coordinate count n, a tilt lam, a statistic Z, and deletion-coordinate comparisons D, the regularity conditions for deletion-coordinate tensorization are automatic with no coordinates, while at a positive coordinate count they require exponential slice integrability, recursive tail regularity, and the four Fubini integrability conditions used to average the head and tail comparisons.
Definition (Lean source)
If the coordinate laws mu are probability laws, the product has n coordinates, the tilt is lam, the statistic is Z, the deletion-coordinate comparisons are D, finite entropy tensorization applies to the exponential tilt, and the deletion-coordinate slice regularity holds, then the entropy of the exponential tilt is at most the sum of expected costs exp(lam*Z) * phi(-lam*(Z-Z_i)).
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
entropy_exp_le_phi_comparisontheorem — Given a probability law mu, a real function g, a scalar comparison value c, integrability of its exponential, and integrability of its exponentially weighted value, the entropy of exp(g) is at most the expected Bennett entropy cost exp(g) * phi(c-g).hypothesesX :Type*mu :g :X → ℝc :ℝhExp :Integrable (fun x => exp (g x)) muhExpG :Integrable (fun x => exp (g x) * g x) muProof (Lean source)
theorem entropy_exp_le_phi_comparison {X : Type*} [MeasurableSpace X] (mu : Measure X) [IsProbabilityMeasure mu] (g : X → ℝ) (c : ℝ) (hExp : Integrable (fun x => exp (g x)) mu) (hExpG : Integrable (fun x => exp (g x) * g x) mu) : entropy mu (fun x => exp (g x)) ≤ ∫ x, exp (g x) * blmPhi (c - g x) ∂mu := by let m := ∫ x, exp (g x) ∂mu have hm : 0 < m := integral_exp_pos hExp have hmean : c * m + m - exp c ≤ m * log m := by have hlog := Real.log_le_sub_one_of_pos (div_pos (Real.exp_pos c) hm) rw [Real.log_div (Real.exp_ne_zero c) hm.ne', Real.log_exp] at hlog have hmul := mul_le_mul_of_nonneg_left hlog hm.le have hratio : m * (exp c / m) = exp c := by field_simp [hm.ne'] nlinarith [hmul, hratio] have hEq : (fun x => exp (g x) * blmPhi (c - g x)) = fun x => exp (g x) * g x - c * exp (g x) - exp (g x) + exp c := by funext x simp only [blmPhi] rw [show c - g x = c + -g x by ring, Real.exp_add, Real.exp_neg] field_simp [Real.exp_ne_zero] ring have hLeftLog : (∫ x, exp (g x) * log (exp (g x)) ∂mu) = ∫ x, exp (g x) * g x ∂mu := by apply integral_congr_ae filter_upwards with x rw [Real.log_exp] have hExpConst : Integrable (fun _ : X => exp c) mu := integrable_const _ have hRightInt : Integrable (fun x => exp (g x) * g x - c * exp (g x) - exp (g x)) mu := ((hExpG.sub (hExp.const_mul c)).sub hExp) have hRight : (∫ x, exp (g x) * g x - c * exp (g x) - exp (g x) + exp c ∂mu) = (∫ x, exp (g x) * g x ∂mu) - c * (∫ x, exp (g x) ∂mu) - (∫ x, exp (g x) ∂mu) + exp c := by integral_linearity simp rw [entropy, hLeftLog, hEq, hRight] dsimp [m] at hmean linarith -
coordinateEntropySum_exp_le_deletiontheorem — If the coordinate laws mu are probability laws, the product has n coordinates, the tilt is lam, the statistic is Z, the deletion-coordinate comparisons are D, and the recursive slice and Fubini regularity conditions hold, then the finite sum of one-coordinate entropies is at most the sum of expected tilted Bennett deletion costs.hypothesesX :Type umu :ℕ → Measure X∀ i, IsProbabilityMeasure (mu i)n :ℕlam :ℝZ :(Fin n → X) → ℝD :h :DeletionLogSobolevRegularity mu n lam Z DconclusioncoordinateEntropySum mu n (fun s => exp (lam * Z s))≤ exponentialDeletionPhiSum mu n lam Z DProof (Lean source)
theorem coordinateEntropySum_exp_le_deletion {X : Type u} [MeasurableSpace X] (mu : ℕ → Measure X) [hprob : ∀ i, IsProbabilityMeasure (mu i)] (n : ℕ) (lam : ℝ) (Z : (Fin n → X) → ℝ) (D : DeletionCoordinateFamily X n) (h : DeletionLogSobolevRegularity mu n lam Z D) : coordinateEntropySum mu n (fun s => exp (lam * Z s)) ≤ exponentialDeletionPhiSum mu n lam Z D := by induction n generalizing mu with | zero => cases D simp [coordinateEntropySum, exponentialDeletionPhiSum] | succ n ih => cases D with | cons head tail => let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 let nu : Measure (Fin n → X) := Measure.pi (fun j : Fin n => mu (j.val + 1)) change (∀ rest, Integrable (fun x => exp (lam * Z (e.symm (x, rest)))) (mu 0) ∧ Integrable (fun x => exp (lam * Z (e.symm (x, rest))) * (lam * Z (e.symm (x, rest)))) (mu 0)) ∧ (∀ x, DeletionLogSobolevRegularity (fun i => mu (i + 1)) n lam (fun rest => Z (e.symm (x, rest))) (tail x)) ∧ Integrable (fun rest => entropy (mu 0) (fun x => exp (lam * Z (e.symm (x, rest))))) nu ∧ Integrable (fun rest => ∫ x, exp (lam * Z (e.symm (x, rest))) * blmPhi (-lam * (Z (e.symm (x, rest)) - head rest)) ∂mu 0) nu ∧ Integrable (fun x => coordinateEntropySum (fun i => mu (i + 1)) n (fun rest => exp (lam * Z (e.symm (x, rest))))) (mu 0) ∧ Integrable (fun x => exponentialDeletionPhiSum (fun i => mu (i + 1)) n lam (fun rest => Z (e.symm (x, rest))) (tail x)) (mu 0) at h rcases h with ⟨hHead, hTail, hHeadEntInt, hHeadBoundInt, hTailEntInt, hTailBoundInt⟩ let headEnt : (Fin n → X) → ℝ := fun rest => entropy (mu 0) (fun x => exp (lam * Z (e.symm (x, rest)))) let headBound : (Fin n → X) → ℝ := fun rest => ∫ x, exp (lam * Z (e.symm (x, rest))) * blmPhi (-lam * (Z (e.symm (x, rest)) - head rest)) ∂mu 0 let tailEnt : X → ℝ := fun x => coordinateEntropySum (fun i => mu (i + 1)) n (fun rest => exp (lam * Z (e.symm (x, rest)))) let tailBound : X → ℝ := fun x => exponentialDeletionPhiSum (fun i => mu (i + 1)) n lam (fun rest => Z (e.symm (x, rest))) (tail x) have hHeadPoint : headEnt ≤ᵐ[nu] headBound := by filter_upwards with rest have hOne := entropy_exp_le_phi_comparison (mu 0) (fun x => lam * Z (e.symm (x, rest))) (lam * head rest) (hHead rest).1 (hHead rest).2 change entropy (mu 0) (fun x => exp (lam * Z (e.symm (x, rest)))) ≤ _ convert hOne using 1 apply integral_congr_ae filter_upwards with x congr 2 ring have hHeadIntegral : (∫ rest, headEnt rest ∂nu) ≤ ∫ rest, headBound rest ∂nu := integral_mono_ae hHeadEntInt hHeadBoundInt hHeadPoint have hTailPoint : tailEnt ≤ᵐ[mu 0] tailBound := by filter_upwards with x exact ih (fun i => mu (i + 1)) (fun rest => Z (e.symm (x, rest))) (tail x) (hTail x) have hTailIntegral : (∫ x, tailEnt x ∂mu 0) ≤ ∫ x, tailBound x ∂mu 0 := integral_mono_ae hTailEntInt hTailBoundInt hTailPoint change (∫ rest, headEnt rest ∂nu) + (∫ x, tailEnt x ∂mu 0) ≤ (∫ rest, headBound rest ∂nu) + ∫ x, tailBound x ∂mu 0 exact add_le_add hHeadIntegral hTailIntegral
FiniteEmpiricalSupremum 8 core · 24 supporting This file constructs the finite-class empirical supremum used in Bousquet's inequality in the same head--tail recursion as DeletionCoordinateFamily. ★ finiteEmpiricalDeletionIncrementSum_le_supremum
Finite empirical suprema and deletion coordinates
This file constructs the finite-class empirical supremum used in Bousquet's inequality in the
same head--tail recursion as DeletionCoordinateFamily. An offset records the contributions of
coordinates already fixed by the recursion. This makes every deletion comparison independent
of the coordinate being deleted while retaining the ordinary maximum-of-sums statistic.
Given a score class g, a coordinate count n, initial offsets offset, an index i, and a sample s, the recursive empirical score adds the n coordinate scores to the corresponding initial offset.
Definition (Lean source)
Given a nonempty finite index type I, a score class g, a coordinate count n, initial offsets offset, and a sample s, the finite empirical supremum is the largest recursive empirical score in the class, with ties broken by finiteClassMaximizer.
Definition (Lean source)
Given a nonempty finite index type I, a score class g, a coordinate count n, initial offsets offset, and a sample s, the selected finite empirical maximizer is the measurably tie-broken index attaining the supremum.
Definition (Lean source)
Given a nonempty finite index type I, a score class g, a coordinate count n, and initial offsets offset, the recursive leave-one-out family uses the supremum with the head coordinate omitted and then adds the fixed head score to the offset before recursing through the tail.
Definition (Lean source)
Given a nonempty finite class, scores g, a remaining coordinate count n, offsets offset, a fixed remaining sample rest, and a deleted observation x, the head deletion increment is the new supremum after adding the head score minus the leave-one-out supremum.
Definition (Lean source)
Given a nonempty finite class, scores g, a remaining coordinate count n, offsets offset, a fixed remaining sample rest, and a deleted observation, the head deletion witness evaluates that observation at the maximizer of the leave-one-out score.
Definition (Lean source)
Given a nonempty finite class, scores g, a coordinate count n, initial offsets offset, and a sample s, the recursive sum of deletion increments is zero with no coordinates, while at positive length it adds the head deletion increment to the recursive tail sum after fixing the head coordinate.
Definition (Lean source)
For a nonempty finite class, scores g, coordinate count n, and sample s, the sum of all recursive deletion increments from zero offset is at most the finite empirical supremum.
Formal statement
Proof (Lean source)
24 supporting declarations (lemmas, instances)
-
finiteEmpiricalSupremum_eq_scoretheorem — The finite empirical supremum equals the score of its selected maximizer.hypothesesconclusionfiniteEmpiricalSupremum I g n offset s= finiteEmpiricalScore g n offset (finiteEmpiricalMaximizer I g n offset s) sProof (Lean source)
theorem finiteEmpiricalSupremum_eq_score {X : Type u} {I : Type v} [Fintype I] [Nonempty I] (g : I → X → ℝ) (n : ℕ) (offset : I → ℝ) (s : Fin n → X) : finiteEmpiricalSupremum I g n offset s = finiteEmpiricalScore g n offset (finiteEmpiricalMaximizer I g n offset s) s := by rfl -
finiteEmpiricalScore_le_supremumtheorem — For a nonempty finite class, every empirical score is at most the finite empirical supremum.hypothesesconclusionfiniteEmpiricalScore g n offset i s ≤ finiteEmpiricalSupremum I g n offset sProof (Lean source)
theorem finiteEmpiricalScore_le_supremum {X : Type u} {I : Type v} [Fintype I] [Nonempty I] (g : I → X → ℝ) (n : ℕ) (offset : I → ℝ) (s : Fin n → X) (i : I) : finiteEmpiricalScore g n offset i s ≤ finiteEmpiricalSupremum I g n offset s := by simpa [finiteEmpiricalSupremum] using finiteClassMaximizer_spec (finiteEmpiricalScore g n offset) s i -
finiteEmpiricalScore_add_offsettheorem — Adding an index-dependent constant c to every initial offset adds that same constant to each recursive empirical score for the score class g, coordinate count n, index i, and sample s.hypothesesconclusionfiniteEmpiricalScore g n (fun j => offset j + c j) i s= finiteEmpiricalScore g n offset i s + c iProof (Lean source)
theorem finiteEmpiricalScore_add_offset {X : Type u} {I : Type v} (g : I → X → ℝ) (n : ℕ) (offset c : I → ℝ) (i : I) (s : Fin n → X) : finiteEmpiricalScore g n (fun j => offset j + c j) i s = finiteEmpiricalScore g n offset i s + c i := by simp [finiteEmpiricalScore] ring -
abs_finiteEmpiricalScore_letheorem — If every initial offset has absolute value at most A and every coordinate score has absolute value at most B, then each recursive empirical score for the class g, coordinate count n, index i, and sample s has absolute value at most A + n B.hypothesesX :Type uI :Type vg :I → X → ℝA B :ℝhbound :∀ i x, |g i x| ≤ Bn :ℕoffset :I → ℝhoffset :∀ i, |offset i| ≤ Ai :Is :Fin n → Xconclusion|finiteEmpiricalScore g n offset i s| ≤ A + (n : ℝ) * BProof (Lean source)
theorem abs_finiteEmpiricalScore_le {X : Type u} {I : Type v} (g : I → X → ℝ) {A B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (n : ℕ) (offset : I → ℝ) (hoffset : ∀ i, |offset i| ≤ A) (i : I) (s : Fin n → X) : |finiteEmpiricalScore g n offset i s| ≤ A + (n : ℝ) * B := by have hsum : |∑ j, g i (s j)| ≤ (n : ℝ) * B := by calc |∑ j, g i (s j)| ≤ ∑ j, |g i (s j)| := Finset.abs_sum_le_sum_abs _ _ _ ≤ ∑ _j : Fin n, B := Finset.sum_le_sum fun j _ => hbound i (s j) _ = (n : ℝ) * B := by simp rw [finiteEmpiricalScore] exact (abs_add_le _ _).trans (add_le_add (hoffset i) hsum) -
abs_finiteEmpiricalSupremum_letheorem — If every initial offset has absolute value at most A and every coordinate score has absolute value at most B, then the finite empirical supremum for a nonempty finite class, the score class g, coordinate count n, and sample s has absolute value at most A + n B.hypothesesX :Type uI :g :I → X → ℝA B :ℝhbound :∀ i x, |g i x| ≤ Bn :ℕoffset :I → ℝhoffset :∀ i, |offset i| ≤ As :Fin n → Xconclusion|finiteEmpiricalSupremum I g n offset s| ≤ A + (n : ℝ) * BProof (Lean source)
theorem abs_finiteEmpiricalSupremum_le {X : Type u} {I : Type v} [Fintype I] [Nonempty I] (g : I → X → ℝ) {A B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (n : ℕ) (offset : I → ℝ) (hoffset : ∀ i, |offset i| ≤ A) (s : Fin n → X) : |finiteEmpiricalSupremum I g n offset s| ≤ A + (n : ℝ) * B := by rw [finiteEmpiricalSupremum_eq_score] exact abs_finiteEmpiricalScore_le g hbound n offset hoffset _ s -
finiteEmpiricalScore_succtheorem — Splitting a positive-length sample s into its head and tail rewrites the recursive empirical score for the class g, offsets offset, and index i as the tail score with the head contribution added to the offset.hypothesesconclusionfiniteEmpiricalScore g (n + 1) offset i s= let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 finiteEmpiricalScore g n (fun j => offset j + g j (e s).1) i (e s).2Proof (Lean source)
theorem finiteEmpiricalScore_succ {X : Type u} {I : Type v} [MeasurableSpace X] (g : I → X → ℝ) (n : ℕ) (offset : I → ℝ) (i : I) (s : Fin (n + 1) → X) : finiteEmpiricalScore g (n + 1) offset i s = let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 finiteEmpiricalScore g n (fun j => offset j + g j (e s).1) i (e s).2 := by simp only [finiteEmpiricalScore] rw [Fin.sum_univ_succAbove (fun j => g i (s j)) 0] simp [piFinSuccAbove, Fin.insertNthEquiv, Fin.tail] ring -
finiteEmpiricalSupremum_succtheorem — Splitting a positive-length sample s into its head and tail rewrites the finite empirical supremum for the class g and offsets offset as the tail supremum after adding the head score to the offset.hypothesesconclusionfiniteEmpiricalSupremum I g (n + 1) offset s= let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 finiteEmpiricalSupremum I g n (fun j => offset j + g j (e s).1) (e s).2Proof (Lean source)
theorem finiteEmpiricalSupremum_succ {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (g : I → X → ℝ) (n : ℕ) (offset : I → ℝ) (s : Fin (n + 1) → X) : finiteEmpiricalSupremum I g (n + 1) offset s = let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 finiteEmpiricalSupremum I g n (fun j => offset j + g j (e s).1) (e s).2 := by let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 let leftScore := finiteEmpiricalScore g (n + 1) offset let rightScore := finiteEmpiricalScore g n (fun j => offset j + g j (e s).1) have hscores : ∀ i, leftScore i s = rightScore i (e s).2 := by intro i exact finiteEmpiricalScore_succ g n offset i s apply le_antisymm · rw [finiteEmpiricalSupremum_eq_score] change leftScore (finiteEmpiricalMaximizer I g (n + 1) offset s) s ≤ _ rw [hscores] exact finiteEmpiricalScore_le_supremum g n (fun j => offset j + g j (e s).1) (e s).2 _ · rw [finiteEmpiricalSupremum_eq_score] let i := finiteEmpiricalMaximizer I g n (fun j => offset j + g j (e s).1) (e s).2 have hle := finiteEmpiricalScore_le_supremum g (n + 1) offset s i change leftScore i s ≤ _ at hle rw [hscores] at hle exact hle -
measurable_finiteEmpiricalScoretheorem — If every class member is measurable, then for each coordinate count n, measurable offsets offset, and index i, the recursive empirical score is measurable.hypothesesconclusionMeasurable (finiteEmpiricalScore g n offset i)Proof (Lean source)
@[fun_prop] theorem measurable_finiteEmpiricalScore {X : Type u} {I : Type v} [MeasurableSpace X] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) (n : ℕ) (offset : I → ℝ) (i : I) : Measurable (finiteEmpiricalScore g n offset i) := by unfold finiteEmpiricalScore fun_prop -
measurable_finiteEmpiricalSupremumtheorem — If every class member is measurable, then for each coordinate count n and offset family offset, the finite empirical supremum is measurable.hypothesesX :Type uI :Type vFintype INonempty Ig :I → X → ℝhg :∀ i, Measurable (g i)n :ℕoffset :I → ℝconclusionMeasurable (finiteEmpiricalSupremum I g n offset)Proof (Lean source)
@[fun_prop] theorem measurable_finiteEmpiricalSupremum {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) (n : ℕ) (offset : I → ℝ) : Measurable (finiteEmpiricalSupremum I g n offset) := by letI : MeasurableSpace I := ⊤ let score : I → (Fin n → X) → ℝ := finiteEmpiricalScore g n offset have hscore : ∀ i, Measurable (score i) := fun i => measurable_finiteEmpiricalScore g hg n offset i have hselect : Measurable (finiteClassMaximizer I score) := measurable_finiteClassMaximizer hscore have hjoint : Measurable (fun p : I × (Fin n → X) => score p.1 p.2) := measurable_from_prod_countable_right hscore change Measurable (fun s => finiteEmpiricalScore g n offset (finiteClassMaximizer I (finiteEmpiricalScore g n offset) s) s) simpa only [Function.comp_def, id_eq, score] using hjoint.comp (hselect.prodMk measurable_id) -
finiteEmpiricalSliceWitness_le_incrementtheorem — For a nonempty finite class, the leave-one-out witness for scores g, remaining coordinate count n, offsets offset, and remaining sample rest is at most its deletion increment at the deleted observation x.hypothesesconclusionfiniteEmpiricalSliceWitness I g n offset rest x≤ finiteEmpiricalSliceIncrement I g n offset rest xProof (Lean source)
theorem finiteEmpiricalSliceWitness_le_increment {X : Type u} {I : Type v} [Fintype I] [Nonempty I] (g : I → X → ℝ) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) (x : X) : finiteEmpiricalSliceWitness I g n offset rest x ≤ finiteEmpiricalSliceIncrement I g n offset rest x := by let i0 := finiteEmpiricalMaximizer I g n offset rest have hnew := finiteEmpiricalScore_le_supremum g n (fun i => offset i + g i x) rest i0 rw [finiteEmpiricalScore_add_offset g n offset (fun i => g i x) i0 rest] at hnew unfold finiteEmpiricalSliceWitness finiteEmpiricalSliceIncrement rw [finiteEmpiricalSupremum_eq_score] change g i0 x ≤ finiteEmpiricalSupremum I g n (fun i => offset i + g i x) rest - finiteEmpiricalScore g n offset i0 rest linarith -
finiteEmpiricalSliceIncrement_le_onetheorem — If every score is at most one, then each deletion increment for a nonempty finite class, remaining coordinate count n, offsets offset, remaining sample rest, and deleted observation x is at most one.hypothesesconclusionfiniteEmpiricalSliceIncrement I g n offset rest x ≤ 1Proof (Lean source)
theorem finiteEmpiricalSliceIncrement_le_one {X : Type u} {I : Type v} [Fintype I] [Nonempty I] (g : I → X → ℝ) (hupper : ∀ i x, g i x ≤ 1) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) (x : X) : finiteEmpiricalSliceIncrement I g n offset rest x ≤ 1 := by let i1 := finiteEmpiricalMaximizer I g n (fun i => offset i + g i x) rest have hold := finiteEmpiricalScore_le_supremum g n offset rest i1 have hnew := finiteEmpiricalSupremum_eq_score g n (fun i => offset i + g i x) rest rw [finiteEmpiricalScore_add_offset g n offset (fun i => g i x) i1 rest] at hnew unfold finiteEmpiricalSliceIncrement change finiteEmpiricalSupremum I g n (fun i => offset i + g i x) rest - finiteEmpiricalSupremum I g n offset rest ≤ 1 change finiteEmpiricalSupremum I g n (fun i => offset i + g i x) rest = finiteEmpiricalScore g n offset i1 rest + g i1 x at hnew linarith [hupper i1 x] -
finiteEmpiricalSliceWitness_le_onetheorem — If every score is at most one, then each leave-one-out witness for a nonempty finite class, remaining coordinate count n, offsets offset, remaining sample rest, and deleted observation x is at most one.hypothesesconclusionfiniteEmpiricalSliceWitness I g n offset rest x ≤ 1Proof (Lean source)
theorem finiteEmpiricalSliceWitness_le_one {X : Type u} {I : Type v} [Fintype I] [Nonempty I] (g : I → X → ℝ) (hupper : ∀ i x, g i x ≤ 1) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) (x : X) : finiteEmpiricalSliceWitness I g n offset rest x ≤ 1 := by exact hupper _ _ -
finiteEmpiricalDeletionIncrementSum_le_score_sub_offsettheorem — If an index i attains the finite empirical supremum for a nonempty finite class, scores g, coordinate count n, offsets offset, and sample s, then the sum of all recursive deletion increments is at most the selected score minus its initial offset.hypothesesX :Type uI :Type vFintype INonempty Ig :I → X → ℝn :ℕoffset :I → ℝs :Fin n → Xi :Ihmax :finiteEmpiricalSupremum I g n offset s = finiteEmpiricalScore g n offset i sconclusionfiniteEmpiricalDeletionIncrementSum I g n offset s≤ finiteEmpiricalScore g n offset i s - offset iProof (Lean source)
theorem finiteEmpiricalDeletionIncrementSum_le_score_sub_offset {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (g : I → X → ℝ) (n : ℕ) (offset : I → ℝ) (s : Fin n → X) (i : I) (hmax : finiteEmpiricalSupremum I g n offset s = finiteEmpiricalScore g n offset i s) : finiteEmpiricalDeletionIncrementSum I g n offset s ≤ finiteEmpiricalScore g n offset i s - offset i := by induction n generalizing offset with | zero => simp [finiteEmpiricalDeletionIncrementSum, finiteEmpiricalScore] | succ n ih => let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 let x := (e s).1 let rest := (e s).2 let updated : I → ℝ := fun j => offset j + g j x have hscore : finiteEmpiricalScore g (n + 1) offset i s = finiteEmpiricalScore g n updated i rest := by simpa [e, x, rest, updated] using finiteEmpiricalScore_succ g n offset i s have hsup : finiteEmpiricalSupremum I g (n + 1) offset s = finiteEmpiricalSupremum I g n updated rest := by simpa [e, x, rest, updated] using finiteEmpiricalSupremum_succ g n offset s have hmaxTail : finiteEmpiricalSupremum I g n updated rest = finiteEmpiricalScore g n updated i rest := by rw [← hsup, ← hscore] exact hmax have htail := ih updated rest hmaxTail have hold := finiteEmpiricalScore_le_supremum g n offset rest i have hupdated : finiteEmpiricalScore g n updated i rest = finiteEmpiricalScore g n offset i rest + g i x := by simpa [updated] using finiteEmpiricalScore_add_offset g n offset (fun j => g j x) i rest have hhead : finiteEmpiricalSliceIncrement I g n offset rest x ≤ g i x := by unfold finiteEmpiricalSliceIncrement rw [hmaxTail, hupdated] linarith change finiteEmpiricalSliceIncrement I g n offset rest x + finiteEmpiricalDeletionIncrementSum I g n updated rest ≤ finiteEmpiricalScore g (n + 1) offset i s - offset i rw [hscore, hupdated] change _ ≤ finiteEmpiricalScore g n offset i rest + g i x - offset i change finiteEmpiricalDeletionIncrementSum I g n updated rest ≤ finiteEmpiricalScore g n updated i rest - updated i at htail dsimp [updated] at htail linarith -
measurable_finiteEmpiricalSupremum_paramtheorem — If every score is measurable and every parameterized offset is measurable, then the finite empirical supremum is jointly measurable in the parameter and sample for a nonempty finite class, coordinate count n, and offset family offset.hypothesesX P :Type uI :Type vFintype INonempty Ig :I → X → ℝhg :∀ i, Measurable (g i)n :ℕoffset :P → I → ℝhoffset :∀ i, Measurable (fun p => offset p i)conclusionProof (Lean source)
@[fun_prop] theorem measurable_finiteEmpiricalSupremum_param {X P : Type u} {I : Type v} [MeasurableSpace X] [MeasurableSpace P] [Fintype I] [Nonempty I] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) (n : ℕ) (offset : P → I → ℝ) (hoffset : ∀ i, Measurable (fun p => offset p i)) : Measurable (fun q : P × (Fin n → X) => finiteEmpiricalSupremum I g n (offset q.1) q.2) := by letI : MeasurableSpace I := ⊤ let score : I → P × (Fin n → X) → ℝ := fun i q => finiteEmpiricalScore g n (offset q.1) i q.2 have hscore : ∀ i, Measurable (score i) := by intro i dsimp [score, finiteEmpiricalScore] fun_prop have hselect : Measurable (finiteClassMaximizer I score) := measurable_finiteClassMaximizer hscore have hjoint : Measurable (fun q : I × (P × (Fin n → X)) => score q.1 q.2) := measurable_from_prod_countable_right hscore have hselected : Measurable (fun q => score (finiteClassMaximizer I score q) q) := by simpa only [Function.comp_def, id_eq] using hjoint.comp (hselect.prodMk measurable_id) rw [show (fun q : P × (Fin n → X) => finiteEmpiricalSupremum I g n (offset q.1) q.2) = (fun q => score (finiteClassMaximizer I score q) q) by funext q apply le_antisymm · rw [finiteEmpiricalSupremum_eq_score] exact finiteClassMaximizer_spec score q _ · exact finiteEmpiricalScore_le_supremum g n (offset q.1) q.2 _] exact hselected -
measurable_finiteEmpiricalDeletionIncrementSum_paramtheorem — If every score is measurable and every parameterized offset is measurable, then the recursive deletion-increment sum is jointly measurable in the parameter and sample for a nonempty finite class, coordinate count n, and offset family offset.hypothesesX P :Type uI :Type vFintype INonempty Ig :I → X → ℝhg :∀ i, Measurable (g i)n :ℕoffset :P → I → ℝhoffset :∀ i, Measurable (fun p => offset p i)conclusionProof (Lean source)
@[fun_prop] theorem measurable_finiteEmpiricalDeletionIncrementSum_param {X P : Type u} {I : Type v} [MeasurableSpace X] [MeasurableSpace P] [Fintype I] [Nonempty I] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) (n : ℕ) (offset : P → I → ℝ) (hoffset : ∀ i, Measurable (fun p => offset p i)) : Measurable (fun q : P × (Fin n → X) => finiteEmpiricalDeletionIncrementSum I g n (offset q.1) q.2) := by induction n generalizing P with | zero => simp [finiteEmpiricalDeletionIncrementSum] | succ n ih => let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 let updated : (P × X) → I → ℝ := fun q i => offset q.1 i + g i q.2 have hupdated : ∀ i, Measurable (fun q => updated q i) := by intro i dsimp [updated] fun_prop have hnew : Measurable (fun q : (P × X) × (Fin n → X) => finiteEmpiricalSupremum I g n (updated q.1) q.2) := measurable_finiteEmpiricalSupremum_param g hg n updated hupdated have hold : Measurable (fun q : (P × X) × (Fin n → X) => finiteEmpiricalSupremum I g n (offset q.1.1) q.2) := (measurable_finiteEmpiricalSupremum_param g hg n offset hoffset).comp ((measurable_fst.comp measurable_fst).prodMk measurable_snd) have htail := ih (P := P × X) updated hupdated change Measurable (fun q : P × (Fin (n + 1) → X) => finiteEmpiricalSliceIncrement I g n (offset q.1) (e q.2).2 (e q.2).1 + finiteEmpiricalDeletionIncrementSum I g n (updated (q.1, (e q.2).1)) (e q.2).2) have hpair : Measurable (fun q : P × (Fin (n + 1) → X) => ((q.1, (e q.2).1), (e q.2).2)) := by fun_prop unfold finiteEmpiricalSliceIncrement exact ((hnew.sub hold).add htail).comp hpair -
measurable_finiteEmpiricalDeletionIncrementSumtheorem — If every score is measurable, then the recursive sum of deletion increments is measurable for a nonempty finite class, coordinate count n, and offsets offset.hypothesesX :Type uI :Type vFintype INonempty Ig :I → X → ℝhg :∀ i, Measurable (g i)n :ℕoffset :I → ℝconclusionMeasurable (finiteEmpiricalDeletionIncrementSum I g n offset)Proof (Lean source)
@[fun_prop] theorem measurable_finiteEmpiricalDeletionIncrementSum {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) (n : ℕ) (offset : I → ℝ) : Measurable (finiteEmpiricalDeletionIncrementSum I g n offset) := by let paramOffset : (Fin n → X) → I → ℝ := fun _ => offset have h := measurable_finiteEmpiricalDeletionIncrementSum_param g hg n paramOffset (fun _ => measurable_const) exact h.comp (measurable_id.prodMk measurable_id) -
abs_finiteEmpiricalDeletionIncrementSum_letheorem — If every score is bounded in absolute value by B and above by one, then the recursive deletion-increment sum has absolute value at most n * max B 1 for a nonempty finite class, coordinate count n, offsets offset, and sample s.hypothesesX :Type uI :Type vFintype INonempty Ig :I → X → ℝB :ℝhbound :∀ i x, |g i x| ≤ Bhupper :∀ i x, g i x ≤ 1n :ℕoffset :I → ℝs :Fin n → Xconclusion|finiteEmpiricalDeletionIncrementSum I g n offset s| ≤ (n : ℝ) * max B 1Proof (Lean source)
theorem abs_finiteEmpiricalDeletionIncrementSum_le {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (g : I → X → ℝ) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (hupper : ∀ i x, g i x ≤ 1) (n : ℕ) (offset : I → ℝ) (s : Fin n → X) : |finiteEmpiricalDeletionIncrementSum I g n offset s| ≤ (n : ℝ) * max B 1 := by induction n generalizing offset with | zero => simp [finiteEmpiricalDeletionIncrementSum] | succ n ih => let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 let updated : I → ℝ := fun i => offset i + g i (e s).1 have hhead : |finiteEmpiricalSliceIncrement I g n offset (e s).2 (e s).1| ≤ max B 1 := by have hw : -B ≤ finiteEmpiricalSliceWitness I g n offset (e s).2 (e s).1 := neg_le_of_abs_le (hbound _ _) rw [abs_le] exact ⟨(neg_le_neg (le_max_left B 1)).trans (hw.trans (finiteEmpiricalSliceWitness_le_increment g n offset _ _)), (finiteEmpiricalSliceIncrement_le_one g hupper n offset _ _).trans (le_max_right B 1)⟩ change |finiteEmpiricalSliceIncrement I g n offset (e s).2 (e s).1 + finiteEmpiricalDeletionIncrementSum I g n updated (e s).2| ≤ _ calc _ ≤ |finiteEmpiricalSliceIncrement I g n offset (e s).2 (e s).1| + |finiteEmpiricalDeletionIncrementSum I g n updated (e s).2| := abs_add_le _ _ _ ≤ max B 1 + (n : ℝ) * max B 1 := add_le_add hhead (ih updated (e s).2) _ = ((n + 1 : ℕ) : ℝ) * max B 1 := by push_cast; ring -
integral_finiteEmpiricalSliceWitness_eq_zerotheorem — If every class member has mean zero, then the leave-one-out witness has mean zero under the probability law mu for a nonempty finite class, remaining coordinate count n, offsets offset, and remaining sample rest.hypothesesX :Type uI :Type vFintype INonempty Imu :Measure Xg :I → X → ℝhmean :∀ i, ∫ x, g i x ∂mu = 0n :ℕoffset :I → ℝrest :Fin n → Xconclusion∫ x, finiteEmpiricalSliceWitness I g n offset rest x ∂mu = 0Proof (Lean source)
theorem integral_finiteEmpiricalSliceWitness_eq_zero {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (mu : Measure X) (g : I → X → ℝ) (hmean : ∀ i, ∫ x, g i x ∂mu = 0) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) : ∫ x, finiteEmpiricalSliceWitness I g n offset rest x ∂mu = 0 := by exact hmean _ -
integral_finiteEmpiricalSliceWitness_sq_letheorem — If every class member has second moment at most sigma2, then the leave-one-out witness has second moment at most sigma2 under the law mu for a nonempty finite class, remaining coordinate count n, offsets offset, and remaining sample rest.hypothesesX :Type uI :Type vFintype INonempty Imu :Measure Xg :I → X → ℝsigma2 :ℝhsecond :∀ i, (∫ x, (g i x) ^ 2 ∂mu) ≤ sigma2n :ℕoffset :I → ℝrest :Fin n → Xconclusion(∫ x, (finiteEmpiricalSliceWitness I g n offset rest x) ^ 2 ∂mu) ≤ sigma2Proof (Lean source)
theorem integral_finiteEmpiricalSliceWitness_sq_le {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (mu : Measure X) (g : I → X → ℝ) {sigma2 : ℝ} (hsecond : ∀ i, (∫ x, (g i x) ^ 2 ∂mu) ≤ sigma2) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) : (∫ x, (finiteEmpiricalSliceWitness I g n offset rest x) ^ 2 ∂mu) ≤ sigma2 := by exact hsecond _ -
measurable_finiteEmpiricalSliceWitnesstheorem — If every class member is measurable, then the leave-one-out witness for a nonempty finite class, remaining coordinate count n, offsets offset, and remaining sample rest is measurable.hypothesesX :Type uI :Type vFintype INonempty Ig :I → X → ℝhg :∀ i, Measurable (g i)n :ℕoffset :I → ℝrest :Fin n → XconclusionMeasurable (finiteEmpiricalSliceWitness I g n offset rest)Proof (Lean source)
@[fun_prop] theorem measurable_finiteEmpiricalSliceWitness {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) : Measurable (finiteEmpiricalSliceWitness I g n offset rest) := by exact hg _ -
measurable_finiteEmpiricalSliceIncrementtheorem — If every class member is measurable, then the deletion increment for a nonempty finite class, remaining coordinate count n, offsets offset, and remaining sample rest is measurable.hypothesesX :Type uI :Type vFintype INonempty Ig :I → X → ℝhg :∀ i, Measurable (g i)n :ℕoffset :I → ℝrest :Fin n → XconclusionMeasurable (finiteEmpiricalSliceIncrement I g n offset rest)Proof (Lean source)
@[fun_prop] theorem measurable_finiteEmpiricalSliceIncrement {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) : Measurable (finiteEmpiricalSliceIncrement I g n offset rest) := by letI : MeasurableSpace I := ⊤ let score : I → X → ℝ := fun i x => finiteEmpiricalScore g n (fun j => offset j + g j x) i rest have hscore : ∀ i, Measurable (score i) := by intro i dsimp [score, finiteEmpiricalScore] fun_prop have hselect : Measurable (finiteClassMaximizer I score) := measurable_finiteClassMaximizer hscore have hjoint : Measurable (fun p : I × X => score p.1 p.2) := measurable_from_prod_countable_right hscore have hnew : Measurable (fun x => score (finiteClassMaximizer I score x) x) := by simpa only [Function.comp_def, id_eq] using hjoint.comp (hselect.prodMk measurable_id) have hnew' : Measurable (fun x => finiteEmpiricalSupremum I g n (fun i => offset i + g i x) rest) := by rw [show (fun x => finiteEmpiricalSupremum I g n (fun i => offset i + g i x) rest) = fun x => score (finiteClassMaximizer I score x) x by funext x apply le_antisymm · rw [finiteEmpiricalSupremum_eq_score] exact finiteClassMaximizer_spec score x _ · exact finiteEmpiricalScore_le_supremum g n (fun i => offset i + g i x) rest _] exact hnew exact hnew'.sub measurable_const -
integrable_finiteEmpiricalSliceWitnesstheorem — Under a probability law mu, if every class member is measurable and bounded in absolute value by B, then the leave-one-out witness is integrable for a nonempty finite class, remaining coordinate count n, offsets offset, and remaining sample rest.hypothesesX :Type uI :Type vFintype INonempty Imu :g :I → X → ℝhg :∀ i, Measurable (g i)B :ℝhbound :∀ i x, |g i x| ≤ Bn :ℕoffset :I → ℝrest :Fin n → XconclusionIntegrable (finiteEmpiricalSliceWitness I g n offset rest) muProof (Lean source)
@[fun_prop] theorem integrable_finiteEmpiricalSliceWitness {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] {mu : Measure X} [IsProbabilityMeasure mu] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) : Integrable (finiteEmpiricalSliceWitness I g n offset rest) mu := integrable_of_measurable_abs_le (measurable_finiteEmpiricalSliceWitness g hg n offset rest) (fun x => hbound _ x) -
integrable_finiteEmpiricalSliceIncrementtheorem — Under a probability law mu, if every class member is measurable, bounded in absolute value by B, and at most one, then the deletion increment is integrable for a nonempty finite class, remaining coordinate count n, offsets offset, and remaining sample rest.hypothesesX :Type uI :Type vFintype INonempty Imu :g :I → X → ℝhg :∀ i, Measurable (g i)B :ℝhbound :∀ i x, |g i x| ≤ Bhupper :∀ i x, g i x ≤ 1n :ℕoffset :I → ℝrest :Fin n → XconclusionIntegrable (finiteEmpiricalSliceIncrement I g n offset rest) muProof (Lean source)
@[fun_prop] theorem integrable_finiteEmpiricalSliceIncrement {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] {mu : Measure X} [IsProbabilityMeasure mu] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (hupper : ∀ i x, g i x ≤ 1) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) : Integrable (finiteEmpiricalSliceIncrement I g n offset rest) mu := by refine integrable_of_measurable_abs_le (C := max B 1) (measurable_finiteEmpiricalSliceIncrement g hg n offset rest) ?_ intro x have hwBound : -B ≤ finiteEmpiricalSliceWitness I g n offset rest x := (neg_le_of_abs_le (hbound _ x)) have hlower := finiteEmpiricalSliceWitness_le_increment g n offset rest x have hupper' := finiteEmpiricalSliceIncrement_le_one g hupper n offset rest x rw [abs_le] constructor · exact (neg_le_neg (le_max_left B 1)).trans (hwBound.trans hlower) · exact hupper'.trans (le_max_right B 1) -
integral_finiteEmpiricalSliceIncrement_nonnegtheorem — Under a probability law mu, if every class member is measurable, bounded in absolute value by B, and at most one, then the deletion increment has nonnegative mean whenever the class is centered, for a nonempty finite class, remaining coordinate count n, offsets offset, and remaining sample rest.hypothesesX :Type uI :Type vFintype INonempty Imu :g :I → X → ℝhg :∀ i, Measurable (g i)B :ℝhbound :∀ i x, |g i x| ≤ Bhupper :∀ i x, g i x ≤ 1hmean :∀ i, ∫ x, g i x ∂mu = 0n :ℕoffset :I → ℝrest :Fin n → Xconclusion0 ≤ ∫ x, finiteEmpiricalSliceIncrement I g n offset rest x ∂muProof (Lean source)
theorem integral_finiteEmpiricalSliceIncrement_nonneg {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] {mu : Measure X} [IsProbabilityMeasure mu] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (hupper : ∀ i x, g i x ≤ 1) (hmean : ∀ i, ∫ x, g i x ∂mu = 0) (n : ℕ) (offset : I → ℝ) (rest : Fin n → X) : 0 ≤ ∫ x, finiteEmpiricalSliceIncrement I g n offset rest x ∂mu := by have hY := integrable_finiteEmpiricalSliceWitness (mu := mu) g hg hbound n offset rest have hDelta := integrable_finiteEmpiricalSliceIncrement (mu := mu) g hg hbound hupper n offset rest have hle := integral_mono hY hDelta (finiteEmpiricalSliceWitness_le_increment g n offset rest) rw [integral_finiteEmpiricalSliceWitness_eq_zero mu g hmean n offset rest] at hle exact hle
ModifiedLogSobolev 4 core · 3 supporting This file proves the independent-replacement form of the modified logarithmic-Sobolev inequality. ★ modifiedLogSobolev_pi
Modified logarithmic-Sobolev inequality
This file proves the independent-replacement form of the modified logarithmic-Sobolev inequality. The one-coordinate estimate is obtained by symmetrizing the entropy against an independent copy and applying the elementary exponential increment inequality. Finite entropy tensorization then sums this estimate over all coordinates.
The resulting Boucheron--Lugosi--Massart variant has constant 1 multiplying the positive-part
replacement square. This is the independent-copy form, rather than the deletion-coordinate
form with constant 1 / 2.
For a coordinate law μ, a tilt lam, and a random variable Z, the one-coordinate replacement conditions require integrability of Z, integrability of the exponential tilt, integrability of the tilted product, and integrability of the positive replacement square.
Definition (Lean source)
Given coordinate laws μ, a coordinate count n, a tilt lam, and a statistic Z, the tilted sum of expected positive coordinate replacement squares is zero with no coordinates, while at a positive number of coordinates it adds the expected head replacement square and the recursively averaged tail sum.
Definition (Lean source)
Given coordinate laws μ, a coordinate count n, a tilt lam, and a statistic Z, the regularity conditions for the finite modified logarithmic-Sobolev induction require the one-coordinate replacement conditions in every head section, recursive tail conditions, and integrability of the four functions compared by the two induction integrals: the zero-coordinate condition is automatic, and the positive-coordinate condition contains the head and tail regularity plus the four integrability clauses.
Definition (Lean source)
If the coordinate laws μ are probability laws, the tilt lam is nonnegative, the product has n coordinates, the statistic is Z, finite entropy tensorization applies to its exponential tilt, and the replacement integrability conditions hold recursively, then the entropy of the exponential tilt under the independent product law is at most lam² times the tilted sum of expected positive coordinate replacement squares.
Formal statement
Proof (Lean source)
3 supporting declarations (lemmas, instances)
-
entropy_exp_le_replacementtheorem — Given a probability law μ, a real function g, integrability of g, its exponential, and their product, and integrability of the exponentially weighted positive replacement square, the entropy of exp g is at most the expected positive replacement square against an independent copy.hypothesesX :Type*μ :g :X → ℝhg :Integrable g μhexp :Integrable (fun x => exp (g x)) μhexpg :Integrable (fun x => exp (g x) * g x) μhplus :Proof (Lean source)
theorem entropy_exp_le_replacement {X : Type*} [MeasurableSpace X] (μ : Measure X) [IsProbabilityMeasure μ] (g : X → ℝ) (hg : Integrable g μ) (hexp : Integrable (fun x => exp (g x)) μ) (hexpg : Integrable (fun x => exp (g x) * g x) μ) (hplus : Integrable (fun p : X × X => exp (g p.1) * (max (g p.1 - g p.2) 0) ^ 2) (μ.prod μ)) : entropy μ (fun x => exp (g x)) ≤ ∫ p : X × X, exp (g p.1) * (max (g p.1 - g p.2) 0) ^ 2 ∂(μ.prod μ) := by let M := ∫ x, exp (g x) ∂μ let m := ∫ x, g x ∂μ have hJ := integral_le_log_integral_exp hg hexp have hMnonneg : 0 ≤ M := integral_nonneg fun x => (Real.exp_pos _).le have hent_le : entropy μ (fun x => exp (g x)) ≤ (∫ x, exp (g x) * g x ∂μ) - M * m := by rw [entropy] simp_rw [Real.log_exp] dsimp [M, m] at hJ hMnonneg ⊢ nlinarith [mul_le_mul_of_nonneg_left hJ hMnonneg] let A : X × X → ℝ := fun p => (exp (g p.1) * g p.1) * 1 let B : X × X → ℝ := fun p => exp (g p.1) * g p.2 let C : X × X → ℝ := fun p => g p.1 * exp (g p.2) let D : X × X → ℝ := fun p => 1 * (exp (g p.2) * g p.2) have hA : Integrable A (μ.prod μ) := hexpg.mul_prod (integrable_const 1) have hB : Integrable B (μ.prod μ) := hexp.mul_prod hg have hC : Integrable C (μ.prod μ) := hg.mul_prod hexp have hD : Integrable D (μ.prod μ) := (integrable_const 1).mul_prod hexpg let s : X × X → ℝ := fun p => (exp (g p.1) - exp (g p.2)) * (g p.1 - g p.2) have hs : Integrable s (μ.prod μ) := by have heq : s = fun p => (A p - B p - C p) + D p := by funext p dsimp [s, A, B, C, D] ring rw [heq] exact ((hA.sub hB).sub hC).add hD have hsInt : (∫ p, s p ∂(μ.prod μ)) = 2 * ((∫ x, exp (g x) * g x ∂μ) - M * m) := by have hsub1 : (∫ p, A p - B p ∂(μ.prod μ)) = (∫ p, A p ∂(μ.prod μ)) - ∫ p, B p ∂(μ.prod μ) := by simpa only [Pi.sub_apply] using integral_sub hA hB have hsub2 : (∫ p, A p - B p - C p ∂(μ.prod μ)) = (∫ p, A p - B p ∂(μ.prod μ)) - ∫ p, C p ∂(μ.prod μ) := by simpa only [Pi.sub_apply] using integral_sub (hA.sub hB) hC have hAi : (∫ p, A p ∂(μ.prod μ)) = ∫ x, exp (g x) * g x ∂μ := by simpa [A] using (integral_prod_mul (μ := μ) (ν := μ) (fun x => exp (g x) * g x) (fun _ : X => (1 : ℝ))) have hBi : (∫ p, B p ∂(μ.prod μ)) = (∫ x, exp (g x) ∂μ) * ∫ x, g x ∂μ := by simpa [B] using (integral_prod_mul (μ := μ) (ν := μ) (fun x => exp (g x)) g) have hCi : (∫ p, C p ∂(μ.prod μ)) = (∫ x, g x ∂μ) * ∫ x, exp (g x) ∂μ := by simpa [C] using (integral_prod_mul (μ := μ) (ν := μ) g (fun x => exp (g x))) have hDi : (∫ p, D p ∂(μ.prod μ)) = ∫ x, exp (g x) * g x ∂μ := by simpa [D] using (integral_prod_mul (μ := μ) (ν := μ) (fun _ : X => (1 : ℝ)) (fun x => exp (g x) * g x)) calc (∫ p, s p ∂(μ.prod μ)) = ∫ p, (A p - B p - C p) + D p ∂(μ.prod μ) := by apply integral_congr_ae filter_upwards with p dsimp [s, A, B, C, D] ring _ = (∫ p, A p - B p - C p ∂(μ.prod μ)) + ∫ p, D p ∂(μ.prod μ) := integral_add ((hA.sub hB).sub hC) hD _ = ((∫ p, A p ∂(μ.prod μ)) - ∫ p, B p ∂(μ.prod μ)) - ∫ p, C p ∂(μ.prod μ) + ∫ p, D p ∂(μ.prod μ) := by rw [hsub2, hsub1] _ = 2 * ((∫ x, exp (g x) * g x ∂μ) - M * m) := by rw [hAi, hBi, hCi, hDi] dsimp [M, m] ring let q : X × X → ℝ := fun p => exp (g p.1) * (max (g p.1 - g p.2) 0) ^ 2 have hqswap : Integrable (fun p : X × X => q p.swap) (μ.prod μ) := by simpa [q, Function.comp_def] using hplus.swap have hsumInt : Integrable (fun p : X × X => q p + q p.swap) (μ.prod μ) := hplus.add hqswap have hsymBound : (∫ p, s p ∂(μ.prod μ)) ≤ ∫ p, q p + q p.swap ∂(μ.prod μ) := by apply integral_mono hs hsumInt intro p exact exp_sub_mul_sub_le_posSq (g p.1) (g p.2) have hswap : (∫ p : X × X, q p.swap ∂(μ.prod μ)) = ∫ p : X × X, q p ∂(μ.prod μ) := integral_prod_swap q have hsum : (∫ p, q p + q p.swap ∂(μ.prod μ)) = 2 * ∫ p, q p ∂(μ.prod μ) := by rw [integral_add hplus hqswap, hswap] ring rw [hsInt, hsum] at hsymBound exact hent_le.trans (by change (∫ x, exp (g x) * g x ∂μ) - M * m ≤ ∫ p, q p ∂(μ.prod μ) linarith) -
entropy_exp_mul_le_replacementtheorem — Given a probability law μ, a random variable Z, a nonnegative tilt lam, integrability of Z, its exponential tilt, and their product, and integrability of the tilted positive replacement square, the entropy of the exponential tilt is bounded by lam² times the expected positive replacement square.hypothesesX :Type*μ :Z :X → ℝlam :ℝhlam :0 ≤ lamhZ :Integrable Z μhexp :Integrable (fun x => exp (lam * Z x)) μhexpZ :Integrable (fun x => exp (lam * Z x) * Z x) μhplus :Proof (Lean source)
theorem entropy_exp_mul_le_replacement {X : Type*} [MeasurableSpace X] (μ : Measure X) [IsProbabilityMeasure μ] (Z : X → ℝ) {lam : ℝ} (hlam : 0 ≤ lam) (hZ : Integrable Z μ) (hexp : Integrable (fun x => exp (lam * Z x)) μ) (hexpZ : Integrable (fun x => exp (lam * Z x) * Z x) μ) (hplus : Integrable (fun p : X × X => exp (lam * Z p.1) * (max (Z p.1 - Z p.2) 0) ^ 2) (μ.prod μ)) : entropy μ (fun x => exp (lam * Z x)) ≤ lam ^ 2 * ∫ p : X × X, exp (lam * Z p.1) * (max (Z p.1 - Z p.2) 0) ^ 2 ∂(μ.prod μ) := by let g : X → ℝ := fun x => lam * Z x have hg : Integrable g μ := hZ.const_mul lam have hexpg : Integrable (fun x => exp (g x) * g x) μ := by have h := hexpZ.const_mul lam convert h using 1 funext x dsimp [g] ring have hplusg : Integrable (fun p : X × X => exp (g p.1) * (max (g p.1 - g p.2) 0) ^ 2) (μ.prod μ) := by have h := hplus.const_mul (lam ^ 2) convert h using 1 funext p dsimp [g] rw [max_mul_sub_zero hlam] ring have h := entropy_exp_le_replacement μ g hg (by simpa [g] using hexp) hexpg hplusg calc entropy μ (fun x => exp (lam * Z x)) = entropy μ (fun x => exp (g x)) := by rfl _ ≤ ∫ p : X × X, exp (g p.1) * (max (g p.1 - g p.2) 0) ^ 2 ∂(μ.prod μ) := h _ = lam ^ 2 * ∫ p : X × X, exp (lam * Z p.1) * (max (Z p.1 - Z p.2) 0) ^ 2 ∂(μ.prod μ) := by rw [← integral_const_mul] apply integral_congr_ae filter_upwards with p dsimp [g] rw [max_mul_sub_zero hlam] ring -
coordinateEntropySum_exp_letheorem — If the coordinate laws μ are probability laws, the tilt lam is nonnegative, the product has n coordinates, the statistic is Z, and the replacement integrability conditions hold recursively, then the finite coordinate-entropy sum of the exponential tilt is at most lam² times the tilted sum of expected positive coordinate replacement squares.hypothesesX :Type uμ :ℕ → Measure X∀ i, IsProbabilityMeasure (μ i)lam :ℝhlam :0 ≤ lamn :ℕZ :(Fin n → X) → ℝh :ModifiedLogSobolevRegularity μ n lam ZconclusioncoordinateEntropySum μ n (fun x => exp (lam * Z x))≤ lam ^ 2 * exponentialReplacementSquareSum μ n lam ZProof (Lean source)
theorem coordinateEntropySum_exp_le {X : Type u} [MeasurableSpace X] (μ : ℕ → Measure X) [hprob : ∀ i, IsProbabilityMeasure (μ i)] {lam : ℝ} (hlam : 0 ≤ lam) (n : ℕ) (Z : (Fin n → X) → ℝ) (h : ModifiedLogSobolevRegularity μ n lam Z) : coordinateEntropySum μ n (fun x => exp (lam * Z x)) ≤ lam ^ 2 * exponentialReplacementSquareSum μ n lam Z := by induction n generalizing μ with | zero => simp [coordinateEntropySum, exponentialReplacementSquareSum] | succ n ih => let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 let ν : Measure (Fin n → X) := Measure.pi (fun j : Fin n => μ (j.val + 1)) change (∀ tail, ReplacementEntropyIntegrable (μ 0) lam (fun x => Z (e.symm (x, tail)))) ∧ (∀ x, ModifiedLogSobolevRegularity (fun i => μ (i + 1)) n lam (fun tail => Z (e.symm (x, tail)))) ∧ Integrable (fun tail => entropy (μ 0) (fun x => exp (lam * Z (e.symm (x, tail))))) ν ∧ Integrable (fun tail => ∫ p : X × X, exp (lam * Z (e.symm (p.1, tail))) * (max (Z (e.symm (p.1, tail)) - Z (e.symm (p.2, tail))) 0) ^ 2 ∂(μ 0).prod (μ 0)) ν ∧ Integrable (fun x => coordinateEntropySum (fun i => μ (i + 1)) n (fun tail => exp (lam * Z (e.symm (x, tail))))) (μ 0) ∧ Integrable (fun x => exponentialReplacementSquareSum (fun i => μ (i + 1)) n lam (fun tail => Z (e.symm (x, tail)))) (μ 0) at h rcases h with ⟨hhead, htail, hHeadEntInt, hHeadBoundInt, hTailEntInt, hTailBoundInt⟩ let headBound : (Fin n → X) → ℝ := fun tail => ∫ p : X × X, exp (lam * Z (e.symm (p.1, tail))) * (max (Z (e.symm (p.1, tail)) - Z (e.symm (p.2, tail))) 0) ^ 2 ∂(μ 0).prod (μ 0) let tailEnt : X → ℝ := fun x => coordinateEntropySum (fun i => μ (i + 1)) n (fun tail => exp (lam * Z (e.symm (x, tail)))) let tailBound : X → ℝ := fun x => exponentialReplacementSquareSum (fun i => μ (i + 1)) n lam (fun tail => Z (e.symm (x, tail))) have hHeadPoint : (fun tail => entropy (μ 0) (fun x => exp (lam * Z (e.symm (x, tail))))) ≤ᵐ[ν] fun tail => lam ^ 2 * headBound tail := by filter_upwards with tail exact entropy_exp_mul_le_replacement (μ 0) (fun x => Z (e.symm (x, tail))) hlam (hhead tail).hZ (hhead tail).hexp (hhead tail).hexpZ (hhead tail).hplus have hHeadIntegral : (∫ tail, entropy (μ 0) (fun x => exp (lam * Z (e.symm (x, tail)))) ∂ν) ≤ ∫ tail, lam ^ 2 * headBound tail ∂ν := by exact integral_mono_ae hHeadEntInt (hHeadBoundInt.const_mul (lam ^ 2)) hHeadPoint have hTailPoint : tailEnt ≤ᵐ[μ 0] fun x => lam ^ 2 * tailBound x := by filter_upwards with x exact ih (fun i => μ (i + 1)) (fun tail => Z (e.symm (x, tail))) (htail x) have hTailIntegral : (∫ x, tailEnt x ∂μ 0) ≤ ∫ x, lam ^ 2 * tailBound x ∂μ 0 := by exact integral_mono_ae hTailEntInt (hTailBoundInt.const_mul (lam ^ 2)) hTailPoint have hHeadScale : (∫ tail, lam ^ 2 * headBound tail ∂ν) = lam ^ 2 * ∫ tail, headBound tail ∂ν := by rw [integral_const_mul] have hTailScale : (∫ x, lam ^ 2 * tailBound x ∂μ 0) = lam ^ 2 * ∫ x, tailBound x ∂μ 0 := by rw [integral_const_mul] change (∫ tail, entropy (μ 0) (fun x => exp (lam * Z (e.symm (x, tail)))) ∂ν) + (∫ x, tailEnt x ∂μ 0) ≤ lam ^ 2 * ((∫ tail, headBound tail ∂ν) + ∫ x, tailBound x ∂μ 0) rw [hHeadScale] at hHeadIntegral rw [hTailScale] at hTailIntegral linarith
Tensorization 2 core · 0 supporting This file proves the two-coordinate case of sub-additivity of entropy (BLM, Theorem 4.10). ★ entropy_prod_le
Two-coordinate entropy tensorization
This file proves the two-coordinate case of sub-additivity of entropy (BLM, Theorem 4.10). The proof first establishes the entropy chain rule and then applies the Gibbs variational characterization to show that averaging over one coordinate cannot increase entropy beyond the average of the section entropies.
The regularity bundle records only measurability and integrability facts used by Fubini and the variational argument. Bounded strictly positive measurable functions satisfy these conditions.
For probability laws μ and ν and a function f on their product, the tensorization regularity conditions require integrability of f, integrability of f log f, pointwise positivity, positive means in almost every second-coordinate section, integrability of the first-coordinate average times its logarithm, positivity of that average almost everywhere, positivity of the total mean, integrability of f times the logarithmic optimizer, and integrability of the second-coordinate section entropies.
Definition (Lean source)
Under the stated positivity and integrability conditions, the entropy of a function of two independent coordinates is at most the expected entropy in the first coordinate plus the expected entropy in the second coordinate.
Formal statement
Proof (Lean source)
BoundedRegularity 1 core · 3 supporting The real-valued entropy tensorization API records explicit Bochner and Fubini hypotheses. ★ finiteTensorizationRegularity_of_bounded_positive
Automatic entropy regularity for bounded positive functions
The real-valued entropy tensorization API records explicit Bochner and Fubini hypotheses. This file discharges those hypotheses for measurable functions bounded between two positive finite constants, the situation needed for exponential tilts of bounded empirical suprema. Measurability of the entropy section needs joint measurability alone; the bounds enter the entropy bound and the integrability statements.
If the coordinate laws mu are probability laws, a measurable function f on an n-fold product is bounded below by a positive constant c and above by a finite constant C, then all finite entropy-tensorization regularity conditions hold.
Formal statement
Proof (Lean source)
3 supporting declarations (lemmas, instances)
-
measurable_entropy_sectiontheorem — For a jointly measurable function f, the entropy in the first coordinate is measurable as a function of the second coordinate under the probability law mu.hypothesesX Y :mu :f :X × Y → ℝhf :conclusionMeasurable (fun y => entropy mu (fun x => f (x, y)))Proof (Lean source)
@[fun_prop] theorem measurable_entropy_section {X Y : Type*} [MeasurableSpace X] [MeasurableSpace Y] (mu : Measure X) [IsProbabilityMeasure mu] {f : X × Y → ℝ} (hf : Measurable f) : Measurable (fun y => entropy mu (fun x => f (x, y))) := by have hfStrong : StronglyMeasurable f := hf.stronglyMeasurable have hflogStrong : StronglyMeasurable (fun z => f z * log (f z)) := by fun_prop have hfirst : StronglyMeasurable (fun y => ∫ x, f (x, y) * log (f (x, y)) ∂mu) := hflogStrong.integral_prod_left' have hmean : StronglyMeasurable (fun y => ∫ x, f (x, y) ∂mu) := hfStrong.integral_prod_left' unfold entropy exact hfirst.measurable.sub (hmean.measurable.mul hmean.measurable.log) -
abs_entropy_section_letheorem — If a jointly measurable function f is bounded below by a positive constant c and above by C, then every first-coordinate entropy section is bounded by twice C times the maximum endpoint log-magnitude under the probability law mu, at each second-coordinate value y.hypothesesX Y :mu :f :X × Y → ℝc C :ℝhf :hc :0 < chlower :∀ z, c ≤ f zhupper :∀ z, f z ≤ Cy :YProof (Lean source)
theorem abs_entropy_section_le {X Y : Type*} [MeasurableSpace X] [MeasurableSpace Y] (mu : Measure X) [IsProbabilityMeasure mu] {f : X × Y → ℝ} {c C : ℝ} (hf : Measurable f) (hc : 0 < c) (hlower : ∀ z, c ≤ f z) (hupper : ∀ z, f z ≤ C) (y : Y) : |entropy mu (fun x => f (x, y))| ≤ 2 * C * max |log c| |log C| := by let L := max |log c| |log C| let x0 : X := choice (nonempty_of_isProbabilityMeasure mu) have hCpos : 0 < C := hc.trans_le ((hlower (x0, y)).trans (hupper _)) have hsecMeas : Measurable (fun x => f (x, y)) := hf.comp (measurable_id.prodMk measurable_const) have hsec : Integrable (fun x => f (x, y)) mu := integrable_of_measurable_abs_le'' hsecMeas (fun x => by rw [abs_of_pos (hc.trans_le (hlower (x, y)))] exact hupper (x, y)) have hflog : Integrable (fun x => f (x, y) * log (f (x, y))) mu := by apply integrable_of_measurable_abs_le'' (C := C * L) ((hf.mul hf.log).comp (measurable_id.prodMk measurable_const)) intro x change |f (x, y) * log (f (x, y))| ≤ C * L rw [abs_mul, abs_of_pos (hc.trans_le (hlower (x, y)))] exact mul_le_mul (hupper _) (abs_log_le_of_mem_Icc hc (hlower _) (hupper _)) (abs_nonneg _) hCpos.le have hmean := integral_section_mem_Icc mu (fun _ => hsec) (fun x _ => hlower (x, y)) (fun x _ => hupper (x, y)) y unfold entropy have hfirst : |∫ x, f (x, y) * log (f (x, y)) ∂mu| ≤ C * L := by calc _ ≤ ∫ x, |f (x, y) * log (f (x, y))| ∂mu := abs_integral_le_integral_abs _ ≤ ∫ _x, C * L ∂mu := integral_mono hflog.abs (integrable_const _) (fun x => by rw [abs_mul, abs_of_pos (hc.trans_le (hlower (x, y)))] exact mul_le_mul (hupper _) (abs_log_le_of_mem_Icc hc (hlower _) (hupper _)) (abs_nonneg _) hCpos.le) _ = C * L := by simp have hsecond : |(∫ x, f (x, y) ∂mu) * log (∫ x, f (x, y) ∂mu)| ≤ C * L := by rw [abs_mul, abs_of_pos (hc.trans_le hmean.1)] exact mul_le_mul hmean.2 (abs_log_le_of_mem_Icc hc hmean.1 hmean.2) (abs_nonneg _) hCpos.le exact (abs_sub _ _).trans (by dsimp [L] at hfirst hsecond ⊢; linarith) -
entropyTensorizationIntegrable_of_bounded_positivetheorem — If two probability laws mu,nu and a measurable product function f satisfy a strictly positive lower bound c and a finite upper bound C, then all regularity hypotheses for binary entropy tensorization hold.hypothesesX Y :mu :Measure Xnu :Measure Yf :X × Y → ℝhf :c C :ℝhc :0 < chlower :∀ z, c ≤ f zhupper :∀ z, f z ≤ CconclusionEntropyTensorizationIntegrable mu nu fProof (Lean source)
theorem entropyTensorizationIntegrable_of_bounded_positive {X Y : Type*} [MeasurableSpace X] [MeasurableSpace Y] (mu : Measure X) (nu : Measure Y) [IsProbabilityMeasure mu] [IsProbabilityMeasure nu] (f : X × Y → ℝ) (hf : Measurable f) {c C : ℝ} (hc : 0 < c) (hlower : ∀ z, c ≤ f z) (hupper : ∀ z, f z ≤ C) : EntropyTensorizationIntegrable mu nu f := by have hCpos : 0 < C := by let x : X := choice (nonempty_of_isProbabilityMeasure mu) let y : Y := choice (nonempty_of_isProbabilityMeasure nu) exact hc.trans_le ((hlower (x, y)).trans (hupper (x, y))) let L := max |log c| |log C| have hfInt : Integrable f (mu.prod nu) := integrable_of_measurable_abs_le'' hf (fun z => by rw [abs_of_pos (hc.trans_le (hlower z))] exact hupper z) have hflog : Integrable (fun z => f z * log (f z)) (mu.prod nu) := by apply integrable_of_measurable_abs_le'' (by fun_prop) intro z rw [abs_mul, abs_of_pos (hc.trans_le (hlower z))] exact mul_le_mul (hupper z) (abs_log_le_of_mem_Icc hc (hlower z) (hupper z)) (abs_nonneg _) hCpos.le have hsectionX (x : X) : Integrable (fun y => f (x, y)) nu := integrable_of_measurable_abs_le'' (hf.comp (measurable_const.prodMk measurable_id)) (fun y => by rw [abs_of_pos (hc.trans_le (hlower (x, y)))]; exact hupper _) have hsectionY (y : Y) : Integrable (fun x => f (x, y)) mu := integrable_of_measurable_abs_le'' (hf.comp (measurable_id.prodMk measurable_const)) (fun x => by rw [abs_of_pos (hc.trans_le (hlower (x, y)))]; exact hupper _) let A : Y → ℝ := fun y => ∫ x, f (x, y) ∂mu have hAmeas : Measurable A := hf.stronglyMeasurable.integral_prod_left'.measurable have hAbounds : ∀ y, c ≤ A y ∧ A y ≤ C := integral_section_mem_Icc mu hsectionY (fun x y => hlower (x, y)) (fun x y => hupper (x, y)) have hAlog : Integrable (fun y => A y * log (A y)) nu := by apply integrable_of_measurable_abs_le'' (by fun_prop) intro y rw [abs_mul, abs_of_pos (hc.trans_le (hAbounds y).1)] exact mul_le_mul (hAbounds y).2 (abs_log_le_of_mem_Icc hc (hAbounds y).1 (hAbounds y).2) (abs_nonneg _) hCpos.le have hmBounds : c ≤ ∫ y, A y ∂nu ∧ (∫ y, A y ∂nu) ≤ C := integral_section_mem_Icc nu (fun _ => integrable_of_measurable_abs_le'' hAmeas (fun y => by rw [abs_of_pos (hc.trans_le (hAbounds y).1)]; exact (hAbounds y).2)) (fun y (_ : Unit) => (hAbounds y).1) (fun y (_ : Unit) => (hAbounds y).2) () let m := ∫ y, A y ∂nu let R := max |log (c / C)| |log (C / c)| have hratio (y : Y) : c / C ≤ A y / m ∧ A y / m ≤ C / c := by have hmpos : 0 < m := hc.trans_le hmBounds.1 constructor · apply (div_le_div_iff₀ hCpos hmpos).2 exact (mul_le_mul_of_nonneg_left hmBounds.2 hc.le).trans (mul_le_mul_of_nonneg_right (hAbounds y).1 hCpos.le) · apply (div_le_div_iff₀ hmpos hc).2 exact (mul_le_mul_of_nonneg_right (hAbounds y).2 hc.le).trans (mul_le_mul_of_nonneg_left hmBounds.1 hCpos.le) have hratioLower : 0 < c / C := div_pos hc hCpos have hfg : Integrable (fun z => f z * log (A z.2 / m)) (mu.prod nu) := by apply integrable_of_measurable_abs_le'' (by fun_prop) intro z rw [abs_mul, abs_of_pos (hc.trans_le (hlower z))] exact mul_le_mul (hupper z) (abs_log_le_of_mem_Icc hratioLower (hratio z.2).1 (hratio z.2).2) (abs_nonneg _) hCpos.le have hfswap : Measurable (fun z : Y × X => f z.swap) := hf.comp measurable_swap have hEntropyMeas := measurable_entropy_section nu hfswap have hEntropy : Integrable (fun x => entropy nu (fun y => f (x, y))) mu := by apply integrable_of_measurable_abs_le'' hEntropyMeas intro x exact abs_entropy_section_le nu hfswap hc (fun z => hlower z.swap) (fun z => hupper z.swap) x refine { hf := hfInt hflog := hflog hfpos := fun x y => hc.trans_le (hlower (x, y)) hsectionMeanPos := ae_of_all _ fun x => hc.trans_le (integral_section_mem_Icc nu hsectionX (fun y x => hlower (x, y)) (fun y x => hupper (x, y)) x).1 hAlog := hAlog hApos := ae_of_all _ fun y => hc.trans_le (hAbounds y).1 hm := hc.trans_le hmBounds.1 hfg := by simpa [A, m] using hfg hEntropy := hEntropy }
BousquetDifferential 1 core · 3 supporting This file proves the global differential step following Boucheron--Lugosi--Massart Lemma 12.8. ★ blm_upper_tail
Differential comparison for Bousquet's entropy bound
This file proves the global differential step following Boucheron--Lugosi--Massart Lemma 12.8.
On the small-tilt interval 2λ < 1, the exact Bennett coefficient is bounded by 2λ²; the
generic differential comparison theorem then yields a centered sub-gamma MGF and an explicit
Bernstein upper tail. The constants are conservative but preserve the variance-sensitive form.
Under the exponential-integrability and BLM entropy assumptions, with a nonnegative mean, a nonnegative variance half-proxy c, and positive combined scale E Z + c, every positive deviation t satisfies the conservative variance-sensitive Bousquet upper tail.
Formal statement
Proof (Lean source)
3 supporting declarations (lemmas, instances)
-
blm_bennett_coefficient_le_two_sqtheorem — For a nonnegative tilt lam with lam at most one, the BLM Bennett coefficient is at most 2 lam².hypotheseslam :ℝhlam :0 ≤ lamhlam_one :lam ≤ 1Proof (Lean source)
theorem blm_bennett_coefficient_le_two_sq {lam : ℝ} (hlam : 0 ≤ lam) (hlam_one : lam ≤ 1) : blmPhi (-lam) / (1 - exp (-lam) / 2) ≤ 2 * lam ^ 2 := by have hnorm : ‖-lam‖ ≤ 1 := by simpa [Real.norm_eq_abs, abs_of_nonneg hlam] using hlam_one have hphiAbs := Real.norm_exp_sub_one_sub_id_le hnorm have hphi : blmPhi (-lam) ≤ lam ^ 2 := by rw [Real.norm_eq_abs] at hphiAbs have hrewrite : exp (-lam) - 1 - (-lam) = blmPhi (-lam) := by dsimp [blmPhi] ring rw [hrewrite] at hphiAbs exact (le_abs_self _).trans (by simpa using hphiAbs) have hexp : exp (-lam) ≤ 1 := Real.exp_le_one_iff.mpr (neg_nonpos.mpr hlam) have hden : (1 : ℝ) / 2 ≤ 1 - exp (-lam) / 2 := by linarith have hdenpos : 0 < 1 - exp (-lam) / 2 := lt_of_lt_of_le (by norm_num) hden apply (div_le_iff₀ hdenpos).2 nlinarith [sq_nonneg lam] -
blm_cgf_centered_letheorem — BLM Lemma 12.8, conservative differential form. Suppose all exponential tilts of Z are integrable, the exact BLM entropy comparison holds at every positive tilt below one half, the mean of Z is nonnegative, and the variance half-proxy c is nonnegative. Then at a nonnegative tilt lam below one half, the centered cumulant-generating function is at most 2 (E Z + c) lam² / (1 - 2 lam).hypothesesOmega :Z :Omega → ℝc :ℝhc :0 ≤ chExp :hEnt :hmean :0 ≤ ∫ omega, Z omega ∂mulam :ℝhlam :0 ≤ lamhlam_half :2 * lam < 1Proof (Lean source)
theorem blm_cgf_centered_le {Omega : Type*} [MeasurableSpace Omega] {mu : Measure Omega} [IsProbabilityMeasure mu] {Z : Omega → ℝ} {c : ℝ} (hc : 0 ≤ c) (hExp : ∀ t : ℝ, Integrable (fun omega => exp (t * Z omega)) mu) (hEnt : ∀ t : ℝ, 0 < t → 2 * t < 1 → entropy mu (fun omega => exp (t * Z omega)) ≤ (blmPhi (-t) / (1 - exp (-t) / 2)) * ∫ omega, exp (t * Z omega) * (Z omega + c) ∂mu) (hmean : 0 ≤ ∫ omega, Z omega ∂mu) {lam : ℝ} (hlam : 0 ≤ lam) (hlam_half : 2 * lam < 1) : cgf Z mu lam - lam * (∫ omega, Z omega ∂mu) ≤ (2 * (∫ omega, Z omega ∂mu) + 2 * c) * lam ^ 2 / (1 - 2 * lam) := by have hset : interior (integrableExpSet Z mu) = univ := by rw [interior_eq_univ] ext t simpa [integrableExpSet] using hExp t have hdiff : Differentiable ℝ (cgf Z mu) := by intro t exact (analyticAt_cgf (by simp [hset])).differentiableAt have hderiv0 : deriv (cgf Z mu) 0 = ∫ omega, Z omega ∂mu := by simpa using deriv_cgf_zero (X := Z) (μ := mu) (by simp [hset]) have hdifferential : ∀ t, 0 < t → 2 * t < 1 → t * (1 - 2 * t) * deriv (cgf Z mu) t - cgf Z mu t ≤ 2 * c * t ^ 2 := by intro t ht htHalf have htOne : t ≤ 1 := by linarith have hmem : t ∈ interior (integrableExpSet Z mu) := by simp [hset] have hMpos : 0 < mgf Z mu t := mgf_pos (hExp t) have hidentity : entropy mu (fun omega => exp (t * Z omega)) = mgf Z mu t * (t * deriv (cgf Z mu) t - cgf Z mu t) := by rw [entropy] simp_rw [Real.log_exp] rw [show (∫ omega, exp (t * Z omega) * (t * Z omega) ∂mu) = t * ∫ omega, Z omega * exp (t * Z omega) ∂mu by rw [← integral_const_mul] congr with omega ring] rw [show (∫ omega, exp (t * Z omega) ∂mu) = mgf Z mu t by rfl] rw [deriv_cgf hmem] dsimp [cgf] field_simp [hMpos.ne'] have hweightedEq := integral_exp_mul_add_eq_mgf_mul hExp c t hmem have hweightedNonneg := integral_exp_mul_add_nonneg hc ht.le hmean hExp have hfactorNonneg : 0 ≤ deriv (cgf Z mu) t + c := by rw [hweightedEq] at hweightedNonneg exact (mul_nonneg_iff_of_pos_left hMpos).mp hweightedNonneg have hraw := hEnt t ht htHalf rw [hidentity, hweightedEq] at hraw have hdivided : t * deriv (cgf Z mu) t - cgf Z mu t ≤ (blmPhi (-t) / (1 - exp (-t) / 2)) * (deriv (cgf Z mu) t + c) := by exact (mul_le_mul_iff_of_pos_left hMpos).mp (by simpa [mul_assoc, mul_left_comm, mul_comm] using hraw) have htheta := blm_bennett_coefficient_le_two_sq ht.le htOne have hweakened : t * deriv (cgf Z mu) t - cgf Z mu t ≤ 2 * t ^ 2 * (deriv (cgf Z mu) t + c) := hdivided.trans (mul_le_mul_of_nonneg_right htheta hfactorNonneg) nlinarith have hcalc := centered_le_of_differential_inequality (hdiff 0) (fun t _ _ => hdiff t) cgf_zero (by norm_num : (0 : ℝ) ≤ 2) (mul_nonneg (by norm_num) hc) hdifferential hlam hlam_half simpa [hderiv0] using hcalc -
blm_mgf_centered_letheorem — Under the exponential-integrability and BLM entropy assumptions, with a nonnegative mean and a nonnegative variance half-proxy c, the centered MGF at a nonnegative tilt lam below one half obeys the conservative BLM bound, provided the tilt is nonnegative and below one half.hypothesesOmega :Z :Omega → ℝc :ℝhc :0 ≤ chExp :hEnt :hmean :0 ≤ ∫ omega, Z omega ∂mulam :ℝhlam :0 ≤ lamhlam_half :2 * lam < 1Proof (Lean source)
theorem blm_mgf_centered_le {Omega : Type*} [MeasurableSpace Omega] {mu : Measure Omega} [IsProbabilityMeasure mu] {Z : Omega → ℝ} {c : ℝ} (hc : 0 ≤ c) (hExp : ∀ t : ℝ, Integrable (fun omega => exp (t * Z omega)) mu) (hEnt : ∀ t : ℝ, 0 < t → 2 * t < 1 → entropy mu (fun omega => exp (t * Z omega)) ≤ (blmPhi (-t) / (1 - exp (-t) / 2)) * ∫ omega, exp (t * Z omega) * (Z omega + c) ∂mu) (hmean : 0 ≤ ∫ omega, Z omega ∂mu) {lam : ℝ} (hlam : 0 ≤ lam) (hlam_half : 2 * lam < 1) : mgf (fun omega => Z omega - ∫ x, Z x ∂mu) mu lam ≤ exp ((2 * (∫ omega, Z omega ∂mu) + 2 * c) * lam ^ 2 / (1 - 2 * lam)) := by let m := ∫ x, Z x ∂mu have hcgf := blm_cgf_centered_le hc hExp hEnt hmean hlam hlam_half change mgf (fun omega => Z omega + -m) mu lam ≤ _ rw [mgf_add_const, ← exp_cgf (hExp lam), ← Real.exp_add, Real.exp_le_exp] dsimp [m] at hcgf ⊢ linarith
CountableEmpiricalBousquet 4 core · 10 supporting This file passes the finite empirical-supremum inequality to a countable class through an increasing sequence of finite prefixes. ★ countableEmpiricalSupremum_upper_tail
Bousquet's inequality for countable empirical classes
This file passes the finite empirical-supremum inequality to a countable class through an increasing sequence of finite prefixes. The full supremum is never equipped with a maximizing index: a countable supremum need not be attained. Bounded dominated convergence supplies the expectation limit, while strict upper-tail events are the increasing union of their finite-prefix counterparts.
For a nonempty countable type I, the canonical countable-class enumeration is a chosen surjection from the natural numbers onto I.
Definition (Lean source)
Given a nonempty countable score class g, a sample size n, a finite-prefix length m + 1, and a sample s, the finite-truncation empirical supremum is the maximum of the first m + 1 enumerated zero-offset scores.
Definition (Lean source)
Given a nonempty countable score class g, a sample size n, and a sample s, the countable empirical supremum is the supremum of all zero-offset empirical scores; it does not choose or assume a maximizing index.
Definition (Lean source)
Countable-class Bousquet upper tail, with conservative constants. Under an i.i.d. probability law mu, a nonempty countable measurable centered score class g whose scores are bounded in absolute value by the nonnegative constant B, at most one, and have second moments at most the nonnegative proxy sigma2, every positive deviation t obeys the stated variance-sensitive upper tail for the countable n-coordinate empirical supremum, provided its mean plus half the total variance proxy is positive. The denominator is the explicit conservative value 8 E Z + 4 n sigma2 + 4 t.
Formal statement
Proof (Lean source)
10 supporting declarations (lemmas, instances)
-
countableClassEnumeration_surjectivetheorem — The canonical enumeration of a nonempty countable type visits every index.Proof (Lean source)
theorem countableClassEnumeration_surjective (I : Type v) [Nonempty I] [Countable I] : Surjective (countableClassEnumeration I) := Classical.choose_spec (exists_surjective_nat I) -
countableEmpiricalSupremumTruncation_monotonetheorem — For a nonempty countable score class, sample size n, and sample s, its finite-prefix empirical suprema increase with the prefix length.hypothesesconclusionMonotone (fun m => countableEmpiricalSupremumTruncation I g n m s)Proof (Lean source)
theorem countableEmpiricalSupremumTruncation_monotone {X : Type u} (I : Type v) [Nonempty I] [Countable I] (g : I → X → ℝ) (n : ℕ) (s : Fin n → X) : Monotone (fun m => countableEmpiricalSupremumTruncation I g n m s) := by intro m m' hmm' change finiteEmpiricalSupremum (Fin (m + 1)) (fun k => g (countableClassEnumeration I k)) n (fun _ => 0) s ≤ finiteEmpiricalSupremum (Fin (m' + 1)) (fun k => g (countableClassEnumeration I k)) n (fun _ => 0) s rw [finiteEmpiricalSupremum_eq_score] let j : Fin (m' + 1) := ⟨(finiteEmpiricalMaximizer (Fin (m + 1)) (fun k => g (countableClassEnumeration I k)) n (fun _ => 0) s : ℕ), lt_of_lt_of_le (isLt _) (Nat.add_le_add_right hmm' 1)⟩ have hle := finiteEmpiricalScore_le_supremum (fun k : Fin (m' + 1) => g (countableClassEnumeration I k)) n (fun _ => 0) s j simpa [j, finiteEmpiricalScore] using hle -
abs_countableEmpiricalSupremumTruncation_letheorem — If the score class is uniformly bounded in absolute value by B, then every finite-prefix empirical supremum has absolute value at most n B for every prefix and sample.hypothesesX :Type uI :Type vNonempty ICountable Ig :I → X → ℝB :ℝhbound :∀ i x, |g i x| ≤ Bn m :ℕs :Fin n → Xconclusion|countableEmpiricalSupremumTruncation I g n m s| ≤ (n : ℝ) * BProof (Lean source)
theorem abs_countableEmpiricalSupremumTruncation_le {X : Type u} (I : Type v) [Nonempty I] [Countable I] (g : I → X → ℝ) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (n m : ℕ) (s : Fin n → X) : |countableEmpiricalSupremumTruncation I g n m s| ≤ (n : ℝ) * B := by simpa [countableEmpiricalSupremumTruncation] using (abs_finiteEmpiricalSupremum_le (fun j : Fin (m + 1) => g (countableClassEnumeration I j)) (A := 0) (B := B) (fun j x => hbound _ x) n (fun _ => 0) (fun _ => by simp) s) -
abs_countableEmpiricalSupremum_letheorem — If the score class is uniformly bounded in absolute value by B, then the countable empirical supremum has absolute value at most n B for every sample.hypothesesX :Type uI :Type vNonempty ICountable Ig :I → X → ℝB :ℝhbound :∀ i x, |g i x| ≤ Bn :ℕs :Fin n → Xconclusion|countableEmpiricalSupremum I g n s| ≤ (n : ℝ) * BProof (Lean source)
theorem abs_countableEmpiricalSupremum_le {X : Type u} (I : Type v) [Nonempty I] [Countable I] (g : I → X → ℝ) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (n : ℕ) (s : Fin n → X) : |countableEmpiricalSupremum I g n s| ≤ (n : ℝ) * B := by have hupper : ∀ i : I, finiteEmpiricalScore g n (fun _ => 0) i s ≤ (n : ℝ) * B := by intro i have habs := abs_finiteEmpiricalScore_le (A := 0) (B := B) g hbound n (fun _ : I => (0 : ℝ)) (fun _ => by simp) i s exact (le_abs_self _).trans (by simpa using habs) have hbdd : BddAbove (Set.range fun i : I => finiteEmpiricalScore g n (fun _ => 0) i s) := ⟨(n : ℝ) * B, by rintro _ ⟨i, rfl⟩; exact hupper i⟩ apply abs_le.mpr constructor · let i0 : I := Classical.choice inferInstance have hi0 : -((n : ℝ) * B) ≤ finiteEmpiricalScore g n (fun _ => 0) i0 s := by have habs := abs_finiteEmpiricalScore_le (A := 0) (B := B) g hbound n (fun _ : I => (0 : ℝ)) (fun _ => by simp) i0 s simpa using (abs_le.mp (by simpa using habs)).1 unfold countableEmpiricalSupremum exact hi0.trans (le_ciSup hbdd i0) · unfold countableEmpiricalSupremum exact ciSup_le hupper -
measurable_countableEmpiricalSupremumTruncationtheorem — If every score is measurable, then each finite-prefix empirical supremum is measurable for the countable class and sample size.hypothesesconclusionProof (Lean source)
@[fun_prop] theorem measurable_countableEmpiricalSupremumTruncation {X : Type u} (I : Type v) [MeasurableSpace X] [Nonempty I] [Countable I] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) (n m : ℕ) : Measurable (countableEmpiricalSupremumTruncation I g n m) := by exact measurable_finiteEmpiricalSupremum _ (fun j => hg _) n (fun _ => 0) -
measurable_countableEmpiricalSupremumtheorem — If every score is measurable, then the countable empirical supremum is measurable for the countable class and sample size.hypothesesconclusionMeasurable (countableEmpiricalSupremum I g n)Proof (Lean source)
@[fun_prop] theorem measurable_countableEmpiricalSupremum {X : Type u} (I : Type v) [MeasurableSpace X] [Nonempty I] [Countable I] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) (n : ℕ) : Measurable (countableEmpiricalSupremum I g n) := by unfold countableEmpiricalSupremum exact Measurable.iSup (fun i => measurable_finiteEmpiricalScore g hg n (fun _ => 0) i) -
tendsto_countableEmpiricalSupremumTruncationtheorem — Under a uniform absolute score bound, the increasing finite-prefix empirical suprema converge pointwise to the full countable supremum for every sample.hypothesesX :Type uI :Type vNonempty ICountable Ig :I → X → ℝB :ℝhbound :∀ i x, |g i x| ≤ Bn :ℕs :Fin n → XconclusionTendsto (fun m => countableEmpiricalSupremumTruncation I g n m s) atTop (nhds (countableEmpiricalSupremum I g n s))Proof (Lean source)
theorem tendsto_countableEmpiricalSupremumTruncation {X : Type u} (I : Type v) [Nonempty I] [Countable I] (g : I → X → ℝ) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (n : ℕ) (s : Fin n → X) : Tendsto (fun m => countableEmpiricalSupremumTruncation I g n m s) atTop (nhds (countableEmpiricalSupremum I g n s)) := by have hbdd : BddAbove (Set.range fun m => countableEmpiricalSupremumTruncation I g n m s) := by refine ⟨(n : ℝ) * B, ?_⟩ rintro _ ⟨m, rfl⟩ exact (le_abs_self _).trans (abs_countableEmpiricalSupremumTruncation_le I g hbound n m s) have ht := tendsto_atTop_ciSup (countableEmpiricalSupremumTruncation_monotone I g n s) hbdd have hfullBdd : BddAbove (Set.range fun i : I => finiteEmpiricalScore g n (fun _ => 0) i s) := ⟨(n : ℝ) * B, by rintro _ ⟨i, rfl⟩ have habs := abs_finiteEmpiricalScore_le (A := 0) (B := B) g hbound n (fun _ : I => (0 : ℝ)) (fun _ => by simp) i s exact (le_abs_self _).trans (by simpa using habs)⟩ have heq : (⨆ m, countableEmpiricalSupremumTruncation I g n m s) = countableEmpiricalSupremum I g n s := by apply le_antisymm · apply ciSup_le intro m rw [countableEmpiricalSupremumTruncation, finiteEmpiricalSupremum_eq_score] exact le_ciSup hfullBdd (countableClassEnumeration I (finiteEmpiricalMaximizer (Fin (m + 1)) (fun j => g (countableClassEnumeration I j)) n (fun _ => 0) s)) · unfold countableEmpiricalSupremum apply ciSup_le intro i obtain ⟨k, hk⟩ := countableClassEnumeration_surjective I i have hscore := finiteEmpiricalScore_le_supremum (fun j : Fin (k + 1) => g (countableClassEnumeration I j)) n (fun _ => 0) s (⟨k, Nat.lt_add_one k⟩ : Fin (k + 1)) have hle : finiteEmpiricalScore g n (fun _ => 0) i s ≤ countableEmpiricalSupremumTruncation I g n k s := by simpa [countableEmpiricalSupremumTruncation, finiteEmpiricalScore, hk] using hscore exact hle.trans (le_ciSup hbdd k) rw [← heq] exact ht -
tendsto_integral_countableEmpiricalSupremumTruncationtheorem — Under measurability and a uniform absolute bound, the expectations of the increasing finite-prefix suprema converge to the expectation of the countable supremum under the product probability law for the specified sample size.hypothesesX :Type uI :Type vNonempty ICountable Imu :g :I → X → ℝhg :∀ i, Measurable (g i)B :ℝhbound :∀ i x, |g i x| ≤ Bn :ℕconclusionTendsto (fun m => ∫ s, countableEmpiricalSupremumTruncation I g n m s ∂Measure.pi (fun _ : Fin n => mu)) atTop (nhds (∫ s, countableEmpiricalSupremum I g n s ∂Measure.pi (fun _ : Fin n => mu)))Proof (Lean source)
theorem tendsto_integral_countableEmpiricalSupremumTruncation {X : Type u} (I : Type v) [MeasurableSpace X] [Nonempty I] [Countable I] (mu : Measure X) [IsProbabilityMeasure mu] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (n : ℕ) : Tendsto (fun m => ∫ s, countableEmpiricalSupremumTruncation I g n m s ∂Measure.pi (fun _ : Fin n => mu)) atTop (nhds (∫ s, countableEmpiricalSupremum I g n s ∂Measure.pi (fun _ : Fin n => mu))) := by apply tendsto_integral_of_dominated_convergence (fun _ => (n : ℝ) * B) · intro m exact (measurable_countableEmpiricalSupremumTruncation I g hg n m).aestronglyMeasurable · exact integrable_const ((n : ℝ) * B) · intro m filter_upwards with s simpa [Real.norm_eq_abs] using abs_countableEmpiricalSupremumTruncation_le I g hbound n m s · filter_upwards with s exact tendsto_countableEmpiricalSupremumTruncation I g hbound n s -
countableEmpiricalSupremum_tailEvent_eq_iUniontheorem — For a uniformly bounded countable score class, a strict threshold t, and sample size n, the strict upper-tail event of the full countable supremum is the increasing union of the finite-prefix strict upper-tail events.hypothesesX :Type uI :Type vNonempty ICountable Ig :I → X → ℝB :ℝhbound :∀ i x, |g i x| ≤ Bn :ℕt :ℝconclusion{s | t < countableEmpiricalSupremum I g n s}= ⋃ m : ℕ, {s | t < countableEmpiricalSupremumTruncation I g n m s}Proof (Lean source)
theorem countableEmpiricalSupremum_tailEvent_eq_iUnion {X : Type u} (I : Type v) [Nonempty I] [Countable I] (g : I → X → ℝ) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (n : ℕ) (t : ℝ) : {s | t < countableEmpiricalSupremum I g n s} = ⋃ m : ℕ, {s | t < countableEmpiricalSupremumTruncation I g n m s} := by ext s simp only [Set.mem_setOf_eq, Set.mem_iUnion] constructor · intro hs have htend := tendsto_countableEmpiricalSupremumTruncation I g hbound n s have hev := htend.eventually (Ioi_mem_nhds hs) rw [eventually_atTop] at hev obtain ⟨m, hm⟩ := hev exact ⟨m, hm m le_rfl⟩ · rintro ⟨m, hm⟩ have hbdd : BddAbove (Set.range fun i : I => finiteEmpiricalScore g n (fun _ => 0) i s) := by refine ⟨(n : ℝ) * B, ?_⟩ rintro _ ⟨i, rfl⟩ have habs := abs_finiteEmpiricalScore_le (A := 0) (B := B) g hbound n (fun _ : I => (0 : ℝ)) (fun _ => by simp) i s exact (le_abs_self _).trans (by simpa using habs) have hle : countableEmpiricalSupremumTruncation I g n m s ≤ countableEmpiricalSupremum I g n s := by rw [countableEmpiricalSupremumTruncation, finiteEmpiricalSupremum_eq_score] unfold countableEmpiricalSupremum exact le_ciSup hbdd _ exact hm.trans_le hle -
countableEmpiricalSupremum_mgf_centered_letheorem — Countable-class centered MGF bound, with conservative constants. Under an i.i.d. probability law mu, a nonempty countable measurable centered score class g whose scores are bounded in absolute value by the nonnegative constant B, at most one, and have second moments at most the nonnegative proxy sigma2, the centered MGF of the countable n-coordinate empirical supremum obeys the same bound as its finite truncations at a nonnegative tilt below one half.hypothesesX :Type uI :Type vNonempty ICountable Imu :g :I → X → ℝhg :∀ i, Measurable (g i)B sigma2 :ℝhB :0 ≤ Bhbound :∀ i x, |g i x| ≤ Bhupper :∀ i x, g i x ≤ 1hmean :∀ i, ∫ x, g i x ∂mu = 0hsigma :0 ≤ sigma2hsecond :∀ i, (∫ x, (g i x) ^ 2 ∂mu) ≤ sigma2n :ℕlam :ℝhlam :0 ≤ lamhlam_half :2 * lam < 1conclusionmgf (fun s => countableEmpiricalSupremum I g n s - ∫ r, countableEmpiricalSupremum I g n r ∂Measure.pi (fun _ : Fin n => mu)) (Measure.pi (fun _ : Fin n => mu)) lam≤ exp ((2 * (∫ s, countableEmpiricalSupremum I g n s ∂Measure.pi (fun _ : Fin n => mu)) + (n : ℝ) * sigma2) * lam ^ 2 / (1 - 2 * lam))Proof (Lean source)
theorem countableEmpiricalSupremum_mgf_centered_le {X : Type u} {I : Type v} [MeasurableSpace X] [Nonempty I] [Countable I] (mu : Measure X) [IsProbabilityMeasure mu] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {B sigma2 : ℝ} (hB : 0 ≤ B) (hbound : ∀ i x, |g i x| ≤ B) (hupper : ∀ i x, g i x ≤ 1) (hmean : ∀ i, ∫ x, g i x ∂mu = 0) (hsigma : 0 ≤ sigma2) (hsecond : ∀ i, (∫ x, (g i x) ^ 2 ∂mu) ≤ sigma2) (n : ℕ) {lam : ℝ} (hlam : 0 ≤ lam) (hlam_half : 2 * lam < 1) : mgf (fun s => countableEmpiricalSupremum I g n s - ∫ r, countableEmpiricalSupremum I g n r ∂Measure.pi (fun _ : Fin n => mu)) (Measure.pi (fun _ : Fin n => mu)) lam ≤ exp ((2 * (∫ s, countableEmpiricalSupremum I g n s ∂Measure.pi (fun _ : Fin n => mu)) + (n : ℝ) * sigma2) * lam ^ 2 / (1 - 2 * lam)) := by let productMeasure : Measure (Fin n → X) := Measure.pi (fun _ : Fin n => mu) let Zm : ℕ → (Fin n → X) → ℝ := fun m => countableEmpiricalSupremumTruncation I g n m let Z : (Fin n → X) → ℝ := countableEmpiricalSupremum I g n let C : ℝ := (n : ℝ) * B have hZm_meas : ∀ m, Measurable (Zm m) := by intro m exact measurable_countableEmpiricalSupremumTruncation I g hg n m have hZ_meas : Measurable Z := measurable_countableEmpiricalSupremum I g hg n have hZm_abs : ∀ m s, |Zm m s| ≤ C := by intro m s exact abs_countableEmpiricalSupremumTruncation_le I g hbound n m s have hZ_abs : ∀ s, |Z s| ≤ C := by intro s exact abs_countableEmpiricalSupremum_le I g hbound n s have hZm_int : ∀ m, Integrable (Zm m) productMeasure := by intro m exact Integrable.of_bound (hZm_meas m).aestronglyMeasurable C (ae_of_all _ fun s => by simpa [Real.norm_eq_abs] using hZm_abs m s) have hmean_tend : Tendsto (fun m => ∫ s, Zm m s ∂productMeasure) atTop (nhds (∫ s, Z s ∂productMeasure)) := by simpa [Zm, Z, productMeasure] using tendsto_integral_countableEmpiricalSupremumTruncation I mu g hg hbound n have hmean_abs : ∀ m, |∫ s, Zm m s ∂productMeasure| ≤ C := by intro m calc |∫ s, Zm m s ∂productMeasure| ≤ ∫ s, |Zm m s| ∂productMeasure := abs_integral_le_integral_abs _ ≤ ∫ _s, C ∂productMeasure := by exact integral_mono (hZm_int m).abs (integrable_const C) (hZm_abs m) _ = C := by simp [productMeasure] have hcenter_tend : ∀ s, Tendsto (fun m => Zm m s - ∫ r, Zm m r ∂productMeasure) atTop (nhds (Z s - ∫ r, Z r ∂productMeasure)) := by intro s exact (tendsto_countableEmpiricalSupremumTruncation I g hbound n s).sub hmean_tend have hmgf_tend : Tendsto (fun m => mgf (fun s => Zm m s - ∫ r, Zm m r ∂productMeasure) productMeasure lam) atTop (nhds (mgf (fun s => Z s - ∫ r, Z r ∂productMeasure) productMeasure lam)) := by simp only [mgf] apply tendsto_integral_of_dominated_convergence (fun _ => exp (|lam| * (2 * C))) · intro m exact ((hZm_meas m).sub measurable_const).const_mul lam |>.exp.aestronglyMeasurable · exact integrable_const _ · intro m filter_upwards with s rw [Real.norm_eq_abs, abs_of_pos (Real.exp_pos _)] apply Real.exp_le_exp.mpr calc lam * (Zm m s - ∫ r, Zm m r ∂productMeasure) ≤ |lam * (Zm m s - ∫ r, Zm m r ∂productMeasure)| := le_abs_self _ _ = |lam| * |Zm m s - ∫ r, Zm m r ∂productMeasure| := abs_mul _ _ _ ≤ |lam| * (2 * C) := by apply mul_le_mul_of_nonneg_left _ (abs_nonneg lam) exact (abs_sub _ _).trans (by linarith [hZm_abs m s, hmean_abs m]) · filter_upwards with s exact Real.continuous_exp.continuousAt.tendsto.comp ((hcenter_tend s).const_mul lam) have hfinite : ∀ m, mgf (fun s => Zm m s - ∫ r, Zm m r ∂productMeasure) productMeasure lam ≤ exp ((2 * (∫ s, Zm m s ∂productMeasure) + (n : ℝ) * sigma2) * lam ^ 2 / (1 - 2 * lam)) := by intro m simpa [Zm, productMeasure, countableEmpiricalSupremumTruncation] using finiteEmpiricalSupremum_mgf_centered_le mu (fun j : Fin (m + 1) => g (countableClassEnumeration I j)) (fun j => hg _) hB (fun j x => hbound _ x) (fun j x => hupper _ x) (fun j => hmean _) hsigma (fun j => hsecond _) n hlam hlam_half have hrhs_tend : Tendsto (fun m => exp ((2 * (∫ s, Zm m s ∂productMeasure) + (n : ℝ) * sigma2) * lam ^ 2 / (1 - 2 * lam))) atTop (nhds (exp ((2 * (∫ s, Z s ∂productMeasure) + (n : ℝ) * sigma2) * lam ^ 2 / (1 - 2 * lam)))) := by let phi : ℝ → ℝ := fun x => exp ((2 * x + (n : ℝ) * sigma2) * lam ^ 2 / (1 - 2 * lam)) have hphi : Continuous phi := by dsimp [phi] fun_prop exact hphi.continuousAt.tendsto.comp hmean_tend exact le_of_tendsto_of_tendsto hmgf_tend hrhs_tend (Filter.Eventually.of_forall hfinite)
FiniteEmpiricalBousquet 3 core · 1 supporting This file sums the conditional Boucheron--Lugosi--Massart slice estimates along the recursive deletion family. ★ finiteEmpiricalDeletionPhiSum_le★ entropy_exp_finiteEmpiricalSupremum_le★ finiteEmpiricalSupremum_upper_tail
Bousquet entropy comparison for finite empirical suprema
This file sums the conditional Boucheron--Lugosi--Massart slice estimates along the recursive deletion family. The head--tail product integrals are then transported back to the ordinary finite product law.
Finite-class global form of BLM Lemma 12.8. Under an i.i.d. probability law mu, a nonempty finite measurable score class g with nonnegative offset and score bounds, bounded offsets, scores bounded in absolute value and above by one, centered scores, and second moments at most the nonnegative proxy sigma2, the recursive sum of tilted Bennett deletion costs is at most the BLM factor times the expected tilted recursive deletion budget at every nonnegative tilt lam and coordinate count n.
Formal statement
Proof (Lean source)
Finite-class entropy form of BLM Lemma 12.8. Under an i.i.d. probability law mu, a nonempty finite measurable centered score class g whose scores are bounded in absolute value by the nonnegative constant B, at most one, and have second moments at most the nonnegative proxy sigma2, the entropy of the exponentially tilted zero-offset empirical supremum is bounded by the BLM factor times its tilted affine variance budget at every nonnegative tilt lam and coordinate count n.
Formal statement
Proof (Lean source)
Finite-class Bousquet upper tail, with conservative constants. Under an i.i.d. probability law mu, a nonempty finite measurable centered score class g whose scores are bounded in absolute value by the nonnegative constant B, at most one, and have second moments at most the nonnegative proxy sigma2, every positive deviation t obeys the stated variance-sensitive upper tail for the zero-offset n-coordinate empirical supremum, provided its mean plus half the total variance proxy is positive. The denominator is the explicit conservative value 8 E Z + 4 n sigma2 + 4 t.
Formal statement
Proof (Lean source)
1 supporting declaration (lemmas, instances)
-
finiteEmpiricalSupremum_mgf_centered_letheorem — Finite-class centered MGF bound, with conservative constants. Under an i.i.d. probability law mu, a nonempty finite measurable centered score class g whose scores are bounded in absolute value by the nonnegative constant B, at most one, and have second moments at most the nonnegative proxy sigma2, the centered MGF of the zero-offset n-coordinate empirical supremum obeys the displayed BLM bound at a nonnegative tilt below one half.hypothesesX :Type uI :Type vFintype INonempty Imu :g :I → X → ℝhg :∀ i, Measurable (g i)B sigma2 :ℝhB :0 ≤ Bhbound :∀ i x, |g i x| ≤ Bhupper :∀ i x, g i x ≤ 1hmean :∀ i, ∫ x, g i x ∂mu = 0hsigma :0 ≤ sigma2hsecond :∀ i, (∫ x, (g i x) ^ 2 ∂mu) ≤ sigma2n :ℕlam :ℝhlam :0 ≤ lamhlam_half :2 * lam < 1conclusionmgf (fun s => finiteEmpiricalSupremum I g n (fun _ => 0) s - ∫ r, finiteEmpiricalSupremum I g n (fun _ => 0) r ∂Measure.pi (fun _ : Fin n => mu)) (Measure.pi (fun _ : Fin n => mu)) lam≤ exp ((2 * (∫ s, finiteEmpiricalSupremum I g n (fun _ => 0) s ∂Measure.pi (fun _ : Fin n => mu)) + (n : ℝ) * sigma2) * lam ^ 2 / (1 - 2 * lam))Proof (Lean source)
theorem finiteEmpiricalSupremum_mgf_centered_le {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (mu : Measure X) [IsProbabilityMeasure mu] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {B sigma2 : ℝ} (hB : 0 ≤ B) (hbound : ∀ i x, |g i x| ≤ B) (hupper : ∀ i x, g i x ≤ 1) (hmean : ∀ i, ∫ x, g i x ∂mu = 0) (hsigma : 0 ≤ sigma2) (hsecond : ∀ i, (∫ x, (g i x) ^ 2 ∂mu) ≤ sigma2) (n : ℕ) {lam : ℝ} (hlam : 0 ≤ lam) (hlam_half : 2 * lam < 1) : mgf (fun s => finiteEmpiricalSupremum I g n (fun _ => 0) s - ∫ r, finiteEmpiricalSupremum I g n (fun _ => 0) r ∂Measure.pi (fun _ : Fin n => mu)) (Measure.pi (fun _ : Fin n => mu)) lam ≤ exp ((2 * (∫ s, finiteEmpiricalSupremum I g n (fun _ => 0) s ∂Measure.pi (fun _ : Fin n => mu)) + (n : ℝ) * sigma2) * lam ^ 2 / (1 - 2 * lam)) := by let productMeasure : Measure (Fin n → X) := Measure.pi (fun _ : Fin n => mu) let Z := finiteEmpiricalSupremum I g n (fun _ => 0) have hExp : ∀ t : ℝ, Integrable (fun s => exp (t * Z s)) productMeasure := by intro t simpa [Z, productMeasure] using integrable_exp_finiteEmpiricalSupremum mu g hg hbound n t have hEnt : ∀ t : ℝ, 0 < t → 2 * t < 1 → entropy productMeasure (fun s => exp (t * Z s)) ≤ (blmPhi (-t) / (1 - exp (-t) / 2)) * ∫ s, exp (t * Z s) * (Z s + (n : ℝ) * sigma2 / 2) ∂productMeasure := by intro t ht _htHalf simpa [Z, productMeasure] using entropy_exp_finiteEmpiricalSupremum_le mu g hg hB hbound hupper hmean hsigma hsecond ht.le n have hZMean : 0 ≤ ∫ s, Z s ∂productMeasure := by simpa [Z, productMeasure] using integral_finiteEmpiricalSupremum_nonneg mu g hg hbound hmean n have hmgf := blm_mgf_centered_le (Z := Z) (c := (n : ℝ) * sigma2 / 2) (by positivity) hExp hEnt hZMean hlam hlam_half dsimp [Z, productMeasure] at hmgf ⊢ convert hmgf using 1 <;> ring
FiniteEmpiricalDeletion 1 core · 1 supporting This file proves the parameter-measurability and boundedness induction needed to integrate the recursive deletion cost for a finite empirical supremum. ★ entropy_exp_finiteEmpiricalSupremum_le_deletion
Regularity of finite empirical deletion costs
This file proves the parameter-measurability and boundedness induction needed to integrate the recursive deletion cost for a finite empirical supremum. It is the remaining Fubini component of the deletion-coordinate modified logarithmic-Sobolev assembly.
Under coordinate probability laws mu, a nonempty finite measurable score class g whose scores are bounded by B and at most one, and offsets bounded by the nonnegative constant A, the entropy of the exponential finite empirical supremum is at most its recursive sum of deletion-coordinate Bennett costs at tilt lam and coordinate count n, provided the score bound is nonnegative.
Formal statement
Proof (Lean source)
1 supporting declaration (lemmas, instances)
-
finiteEmpiricalDeletionLogSobolevRegularitytheorem — Under coordinate probability laws mu, a nonempty finite measurable score class g whose scores are bounded by B and at most one, and offsets bounded by the nonnegative constant A, the recursive empirical supremum and its deletion family satisfy every deletion log-Sobolev regularity condition at tilt lam and coordinate count n, provided the score bound is nonnegative.hypothesesX :Type uI :Type vFintype INonempty Imu :ℕ → Measure X∀ i, IsProbabilityMeasure (mu i)g :I → X → ℝhg :∀ i, Measurable (g i)A B :ℝhA :0 ≤ AhB :0 ≤ Bhbound :∀ i x, |g i x| ≤ Bhupper :∀ i x, g i x ≤ 1lam :ℝn :ℕoffset :I → ℝhoffset :∀ i, |offset i| ≤ AconclusionDeletionLogSobolevRegularity mu n lam (finiteEmpiricalSupremum I g n offset) (finiteEmpiricalDeletionFamily I g n offset)Proof (Lean source)
theorem finiteEmpiricalDeletionLogSobolevRegularity {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (mu : ℕ → Measure X) [hprob : ∀ i, IsProbabilityMeasure (mu i)] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {A B : ℝ} (hA : 0 ≤ A) (hB : 0 ≤ B) (hbound : ∀ i x, |g i x| ≤ B) (hupper : ∀ i x, g i x ≤ 1) (lam : ℝ) (n : ℕ) (offset : I → ℝ) (hoffset : ∀ i, |offset i| ≤ A) : DeletionLogSobolevRegularity mu n lam (finiteEmpiricalSupremum I g n offset) (finiteEmpiricalDeletionFamily I g n offset) := by induction n generalizing mu A offset with | zero => trivial | succ n ih => let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 let nu : Measure (Fin n → X) := Measure.pi (fun j : Fin n => mu (j.val + 1)) let K := A + ((n : ℝ) + 1) * B let D := max B 1 let E := exp (|lam| * K) let P := exp (|lam| * D) + |lam| * D + 1 have hK : 0 ≤ K := by dsimp [K]; positivity have hD : 0 ≤ D := hB.trans (le_max_left B 1) have hZBound : ∀ s, |finiteEmpiricalSupremum I g (n + 1) offset s| ≤ K := by intro s simpa [K] using abs_finiteEmpiricalSupremum_le g hbound (n + 1) offset hoffset s have hZMeas : Measurable (finiteEmpiricalSupremum I g (n + 1) offset) := measurable_finiteEmpiricalSupremum g hg (n + 1) offset have hsectionMeas (rest : Fin n → X) : Measurable (fun x => finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))) := hZMeas.comp (e.symm.measurable.comp (measurable_id.prodMk measurable_const)) have hExpBound (rest : Fin n → X) (x : X) : exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))) ≤ E := by apply Real.exp_le_exp.mpr calc _ ≤ |lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))| := le_abs_self _ _ = |lam| * |finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))| := abs_mul _ _ _ ≤ |lam| * K := mul_le_mul_of_nonneg_left (hZBound _) (abs_nonneg lam) have hHeadExp : ∀ rest, Integrable (fun x => exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest)))) (mu 0) ∧ Integrable (fun x => exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))) * (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest)))) (mu 0) := by intro rest constructor · apply integrable_of_measurable_abs_le'' (by fun_prop) (C := E) intro x rw [abs_of_pos (Real.exp_pos _)] exact hExpBound rest x · apply integrable_of_measurable_abs_le'' (by fun_prop) (C := E * (|lam| * K)) intro x rw [abs_mul, abs_of_pos (Real.exp_pos _), abs_mul] have hzlam : |lam| * |finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))| ≤ |lam| * K := mul_le_mul_of_nonneg_left (hZBound _) (abs_nonneg lam) calc exp _ * (|lam| * |finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))|) ≤ exp _ * (|lam| * K) := mul_le_mul_of_nonneg_left hzlam (Real.exp_pos _).le _ ≤ E * (|lam| * K) := mul_le_mul_of_nonneg_right (hExpBound rest x) (mul_nonneg (abs_nonneg lam) hK) let updated : X → I → ℝ := fun x i => offset i + g i x have hupdatedBound : ∀ x i, |updated x i| ≤ A + B := by intro x i exact (abs_add_le _ _).trans (add_le_add (hoffset i) (hbound i x)) have hTail : ∀ x, DeletionLogSobolevRegularity (fun i => mu (i + 1)) n lam (finiteEmpiricalSupremum I g n (updated x)) (finiteEmpiricalDeletionFamily I g n (updated x)) := by intro x exact ih (fun i => mu (i + 1)) (A := A + B) (by positivity) (updated x) (hupdatedBound x) let tiltJoint : X × (Fin n → X) → ℝ := fun q => exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm q)) have htiltJoint : Measurable tiltJoint := by dsimp [tiltJoint] fun_prop have htiltLower : ∀ q, exp (-|lam| * K) ≤ tiltJoint q := by intro q apply Real.exp_le_exp.mpr have hz := hZBound (e.symm q) have hprod : |lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm q)| ≤ |lam| * K := by rw [abs_mul] exact mul_le_mul_of_nonneg_left hz (abs_nonneg lam) calc -|lam| * K = -(|lam| * K) := by ring _ ≤ -|lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm q)| := neg_le_neg hprod _ ≤ _ := neg_abs_le _ have htiltUpper : ∀ q, tiltJoint q ≤ E := fun q => hExpBound q.2 q.1 have hHeadEntropyMeas : Measurable (fun rest => entropy (mu 0) (fun x => exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))))) := measurable_entropy_section (mu 0) (f := tiltJoint) htiltJoint have hHeadEntropyInt : Integrable (fun rest => entropy (mu 0) (fun x => exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))))) nu := by apply integrable_of_measurable_abs_le'' hHeadEntropyMeas intro rest exact abs_entropy_section_le (mu 0) (f := tiltJoint) htiltJoint (Real.exp_pos _) htiltLower htiltUpper rest let headCostJoint : X × (Fin n → X) → ℝ := fun q => exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm q)) * blmPhi (-lam * (finiteEmpiricalSupremum I g (n + 1) offset (e.symm q) - finiteEmpiricalSupremum I g n offset q.2)) have hheadCostJoint : Measurable headCostJoint := by dsimp [headCostJoint, blmPhi] fun_prop have hHeadCostMeas : Measurable (fun rest => ∫ x, headCostJoint (x, rest) ∂mu 0) := hheadCostJoint.stronglyMeasurable.integral_prod_left'.measurable have hHeadCostBound : ∀ rest, |∫ x, headCostJoint (x, rest) ∂mu 0| ≤ E * P := by intro rest rw [← Real.norm_eq_abs] simpa using norm_integral_le_of_norm_le_const (μ := mu 0) (C := E * P) (f := fun x => headCostJoint (x, rest)) (ae_of_all _ fun x => by have hDelta := abs_sliceIncrement_le' g hbound hupper n offset rest x have hZeq : finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest)) = finiteEmpiricalSupremum I g n (updated x) rest := by simpa [e, updated] using finiteEmpiricalSupremum_succ g n offset (e.symm (x, rest)) have harg : |-lam * (finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest)) - finiteEmpiricalSupremum I g n offset rest)| ≤ |lam| * D := by rw [hZeq] change |-lam * finiteEmpiricalSliceIncrement I g n offset rest x| ≤ _ rw [abs_mul, abs_neg] exact mul_le_mul_of_nonneg_left hDelta (abs_nonneg lam) have hphi : |blmPhi (-lam * (finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest)) - finiteEmpiricalSupremum I g n offset rest))| ≤ P := by let r := -lam * (finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest)) - finiteEmpiricalSupremum I g n offset rest) dsimp [blmPhi, P] change |exp r - r - 1| ≤ _ calc |exp r - r - 1| ≤ |exp r - r| + |(1 : ℝ)| := abs_sub _ _ _ ≤ (|exp r| + |r|) + 1 := by simpa using add_le_add_right (abs_sub (exp r) r) 1 _ = exp r + |r| + 1 := by rw [abs_of_pos (Real.exp_pos _)] _ ≤ exp (|lam| * D) + |lam| * D + 1 := by have hr : |r| ≤ |lam| * D := by simpa [r] using harg linarith [Real.exp_le_exp.mpr ((le_abs_self r).trans hr)] change ‖Real.exp _ * blmPhi _‖ ≤ E * P rw [Real.norm_eq_abs, abs_mul, abs_of_pos (Real.exp_pos _)] exact mul_le_mul (hExpBound rest x) hphi (abs_nonneg _) (Real.exp_pos _).le) have hHeadCostInt : Integrable (fun rest => ∫ x, headCostJoint (x, rest) ∂mu 0) nu := integrable_of_measurable_abs_le'' hHeadCostMeas hHeadCostBound have hTensor := finiteEmpiricalTensorizationRegularity mu g hg hA hB hbound (n + 1) offset hoffset lam have hTailEntropyInt : Integrable (fun x => coordinateEntropySum (fun i => mu (i + 1)) n (fun rest => exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))))) (mu 0) := by exact hTensor.2.2.2 have hTailCostData := measurable_bounded_finiteEmpiricalDeletionPhiSum_param (P := X) (fun i => mu (i + 1)) g hg (A := A + B) (by positivity) hB hbound hupper lam n updated (fun i => by dsimp [updated]; fun_prop) hupdatedBound rcases hTailCostData.2 with ⟨Ctail, _hCtail, hTailCostBound⟩ have hTailCostInt : Integrable (fun x => exponentialDeletionPhiSum (fun i => mu (i + 1)) n lam (finiteEmpiricalSupremum I g n (updated x)) (finiteEmpiricalDeletionFamily I g n (updated x))) (mu 0) := integrable_of_measurable_abs_le'' hTailCostData.1 hTailCostBound change (∀ rest, Integrable (fun x => exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest)))) (mu 0) ∧ Integrable (fun x => exp (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))) * (lam * finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest)))) (mu 0)) ∧ (∀ x, DeletionLogSobolevRegularity (fun i => mu (i + 1)) n lam (fun rest => finiteEmpiricalSupremum I g (n + 1) offset (e.symm (x, rest))) (finiteEmpiricalDeletionFamily I g n (updated x))) ∧ _ refine ⟨hHeadExp, ?_, hHeadEntropyInt, ?_, hTailEntropyInt, ?_⟩ · intro x simpa [updated, e, finiteEmpiricalSupremum_succ] using hTail x · simpa [headCostJoint, e, nu] using hHeadCostInt · simpa [updated, e, finiteEmpiricalSupremum_succ] using hTailCostInt
FiniteEmpiricalEntropy 1 core · 3 supporting This file applies the one-coordinate Boucheron--Lugosi--Massart estimate to every slice of the recursive finite empirical supremum. ★ finiteEmpiricalSlice_phi_cost_le
Entropy bound for finite empirical suprema
This file applies the one-coordinate Boucheron--Lugosi--Massart estimate to every slice of the recursive finite empirical supremum. Boundedness supplies all Bochner-integrability hypotheses; the recursive deletion family then feeds the resulting costs into deletion-coordinate modified log-Sobolev tensorization.
Finite-slice input to BLM Lemma 12.8. Under a probability law mu, fix a nonempty finite class of measurable scores g, nonnegative offset and score bounds A,B, bounded offsets, and scores bounded in absolute value and above by one. If the scores are centered, have second moment at most the nonnegative proxy sigma2, and the tilt lam is nonnegative, then for every remaining coordinate count n and remaining sample rest, the conditional tilted Bennett deletion cost is at most the BLM factor times the tilted deletion increment plus half the variance proxy.
Formal statement
Proof (Lean source)
3 supporting declarations (lemmas, instances)
-
finiteEmpiricalTensorizationRegularitytheorem — Under coordinate probability laws mu, a nonempty finite score class g whose members are measurable and bounded by B, and offsets bounded by A, the exponential tilt by any scalar lam of the recursive n-coordinate empirical supremum satisfies every regularity condition required by finite entropy tensorization, provided the bounds are nonnegative.hypothesesX :Type uI :Type vFintype INonempty Imu :ℕ → Measure X∀ i, IsProbabilityMeasure (mu i)g :I → X → ℝhg :∀ i, Measurable (g i)A B :ℝhA :0 ≤ AhB :0 ≤ Bhbound :∀ i x, |g i x| ≤ Bn :ℕoffset :I → ℝhoffset :∀ i, |offset i| ≤ Alam :ℝconclusionProof (Lean source)
theorem finiteEmpiricalTensorizationRegularity {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (mu : ℕ → Measure X) [hprob : ∀ i, IsProbabilityMeasure (mu i)] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {A B : ℝ} (hA : 0 ≤ A) (hB : 0 ≤ B) (hbound : ∀ i x, |g i x| ≤ B) (n : ℕ) (offset : I → ℝ) (hoffset : ∀ i, |offset i| ≤ A) (lam : ℝ) : FiniteTensorizationRegularity mu n (fun s => exp (lam * finiteEmpiricalSupremum I g n offset s)) := by let K := A + (n : ℝ) * B have hK : 0 ≤ K := by dsimp [K]; positivity have hZ : ∀ s, |finiteEmpiricalSupremum I g n offset s| ≤ K := abs_finiteEmpiricalSupremum_le g hbound n offset hoffset apply finiteTensorizationRegularity_of_bounded_positive mu n _ (by fun_prop) (c := exp (-|lam| * K)) (C := exp (|lam| * K)) (Real.exp_pos _) · intro s apply Real.exp_le_exp.mpr calc -|lam| * K = -(|lam| * K) := by ring _ ≤ -( |lam * finiteEmpiricalSupremum I g n offset s|) := by rw [abs_mul] exact neg_le_neg (mul_le_mul_of_nonneg_left (hZ s) (abs_nonneg lam)) _ ≤ lam * finiteEmpiricalSupremum I g n offset s := neg_abs_le _ · intro s apply Real.exp_le_exp.mpr calc lam * finiteEmpiricalSupremum I g n offset s ≤ |lam * finiteEmpiricalSupremum I g n offset s| := le_abs_self _ _ = |lam| * |finiteEmpiricalSupremum I g n offset s| := abs_mul _ _ _ ≤ |lam| * K := mul_le_mul_of_nonneg_left (hZ s) (abs_nonneg lam) -
integral_finiteEmpiricalSupremum_nonnegtheorem — Under a probability law mu, a nonempty finite centered score class g whose members are measurable and bounded in absolute value by B has a nonnegative expected zero-offset empirical supremum at every coordinate count n.hypothesesX :Type uI :Type vFintype INonempty Imu :g :I → X → ℝhg :∀ i, Measurable (g i)B :ℝhbound :∀ i x, |g i x| ≤ Bhmean :∀ i, ∫ x, g i x ∂mu = 0n :ℕconclusion0 ≤ ∫ s, finiteEmpiricalSupremum I g n (fun _ => 0) s ∂Measure.pi (fun _ : Fin n => mu)Proof (Lean source)
theorem integral_finiteEmpiricalSupremum_nonneg {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (mu : Measure X) [IsProbabilityMeasure mu] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (hmean : ∀ i, ∫ x, g i x ∂mu = 0) (n : ℕ) : 0 ≤ ∫ s, finiteEmpiricalSupremum I g n (fun _ => 0) s ∂Measure.pi (fun _ : Fin n => mu) := by let i0 : I := Classical.choice ‹Nonempty I› let productMeasure : Measure (Fin n → X) := Measure.pi (fun _ : Fin n => mu) have hB : 0 ≤ B := (abs_nonneg (g i0 (Classical.choice (nonempty_of_isProbabilityMeasure mu)))).trans (hbound _ _) have hscoreMeas : Measurable (finiteEmpiricalScore g n (fun _ => 0) i0) := measurable_finiteEmpiricalScore g hg n (fun _ => 0) i0 have hscoreBound : ∀ s, |finiteEmpiricalScore g n (fun _ => 0) i0 s| ≤ (n : ℝ) * B := by intro s simpa using abs_finiteEmpiricalScore_le g (A := 0) hbound n (fun _ => 0) (fun _ => by simp) i0 s have hscoreInt : Integrable (finiteEmpiricalScore g n (fun _ => 0) i0) productMeasure := integrable_of_measurable_abs_le' hscoreMeas hscoreBound have hsupMeas : Measurable (finiteEmpiricalSupremum I g n (fun _ => 0)) := measurable_finiteEmpiricalSupremum g hg n (fun _ => 0) have hsupBound : ∀ s, |finiteEmpiricalSupremum I g n (fun _ => 0) s| ≤ (n : ℝ) * B := by intro s simpa using abs_finiteEmpiricalSupremum_le g (A := 0) hbound n (fun _ => 0) (fun _ => by simp) s have hsupInt : Integrable (finiteEmpiricalSupremum I g n (fun _ => 0)) productMeasure := integrable_of_measurable_abs_le' hsupMeas hsupBound have hscoreMean : ∫ s, finiteEmpiricalScore g n (fun _ => 0) i0 s ∂productMeasure = 0 := by have hcoordInt : ∀ j : Fin n, Integrable (fun s : Fin n → X => g i0 (s j)) productMeasure := by intro j exact integrable_comp_eval (integrable_of_measurable_abs_le' (hg i0) (hbound i0)) have hsumInt : Integrable (fun s : Fin n → X => ∑ j, g i0 (s j)) productMeasure := by simpa using integrable_finsetSum univ (fun j _ => hcoordInt j) unfold finiteEmpiricalScore rw [integral_add (integrable_const 0) hsumInt] simp only [Pi.zero_apply, integral_zero, zero_add] rw [integral_finsetSum univ (fun j _ => hcoordInt j)] apply Finset.sum_eq_zero intro j _ rw [integral_comp_eval (μ := fun _ : Fin n => mu) (i := j) (hg i0).aestronglyMeasurable] exact hmean i0 calc 0 = ∫ s, finiteEmpiricalScore g n (fun _ => 0) i0 s ∂productMeasure := hscoreMean.symm _ ≤ ∫ s, finiteEmpiricalSupremum I g n (fun _ => 0) s ∂productMeasure := integral_mono hscoreInt hsupInt fun s => finiteEmpiricalScore_le_supremum g n (fun _ => 0) s i0 -
integrable_exp_finiteEmpiricalSupremumtheorem — Under a probability law mu, a nonempty finite measurable score class g bounded by B has integrable exponential tilts of its zero-offset empirical supremum for every coordinate count n and tilt lam.hypothesesX :Type uI :Type vFintype INonempty Imu :g :I → X → ℝhg :∀ i, Measurable (g i)B :ℝhbound :∀ i x, |g i x| ≤ Bn :ℕlam :ℝconclusionIntegrable (fun s => exp (lam * finiteEmpiricalSupremum I g n (fun _ => 0) s)) (Measure.pi (fun _ : Fin n => mu))Proof (Lean source)
theorem integrable_exp_finiteEmpiricalSupremum {X : Type u} {I : Type v} [MeasurableSpace X] [Fintype I] [Nonempty I] (mu : Measure X) [IsProbabilityMeasure mu] (g : I → X → ℝ) (hg : ∀ i, Measurable (g i)) {B : ℝ} (hbound : ∀ i x, |g i x| ≤ B) (n : ℕ) (lam : ℝ) : Integrable (fun s => exp (lam * finiteEmpiricalSupremum I g n (fun _ => 0) s)) (Measure.pi (fun _ : Fin n => mu)) := by let K := (n : ℝ) * B have hZ : ∀ s, |finiteEmpiricalSupremum I g n (fun _ => 0) s| ≤ K := by intro s simpa [K] using abs_finiteEmpiricalSupremum_le g (A := 0) hbound n (fun _ => 0) (fun _ => by simp) s apply integrable_of_measurable_abs_le' (by fun_prop) (C := exp (|lam| * K)) intro s rw [abs_of_pos (Real.exp_pos _)] apply Real.exp_le_exp.mpr calc lam * finiteEmpiricalSupremum I g n (fun _ => 0) s ≤ |lam * finiteEmpiricalSupremum I g n (fun _ => 0) s| := le_abs_self _ _ = |lam| * |finiteEmpiricalSupremum I g n (fun _ => 0) s| := abs_mul _ _ _ ≤ |lam| * K := mul_le_mul_of_nonneg_left (hZ s) (abs_nonneg lam)
Herbst 1 core · 2 supporting This file turns an entropy bound for every exponential tilt into a centered logarithmic moment-generating-function bound. ★ herbst_upper_tail
The Herbst argument
This file turns an entropy bound for every exponential tilt into a centered logarithmic moment-generating-function bound. The proof is the classical Herbst differential argument from Boucheron--Lugosi--Massart, Section 6.1.
Under exponential integrability at every real tilt, the entropy bound at every positive tilt, and a positive variance proxy, every positive deviation of the centered variable obeys the sub-Gaussian upper-tail bound.
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
herbst_cgf_letheorem — Under exponential integrability at every real tilt and the entropy bound at every positive tilt, the centered cumulant-generating function at a positive tilt is at most lam ^ 2 * v / 2 as claimed.hypothesesconclusioncgf Z μ lam - lam * (∫ ω, Z ω ∂μ) ≤ lam ^ 2 * v / 2Proof (Lean source)
theorem herbst_cgf_le {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] {Z : Ω → ℝ} {v : ℝ} (hExp : ∀ t : ℝ, Integrable (fun ω => exp (t * Z ω)) μ) (hEnt : ∀ t : ℝ, 0 < t → entropy μ (fun ω => exp (t * Z ω)) ≤ t ^ 2 * v / 2 * ∫ ω, exp (t * Z ω) ∂μ) {lam : ℝ} (hlam : 0 < lam) : cgf Z μ lam - lam * (∫ ω, Z ω ∂μ) ≤ lam ^ 2 * v / 2 := by have hset : interior (integrableExpSet Z μ) = univ := by rw [interior_eq_univ] ext t simpa [integrableExpSet] using hExp t have hdiff : Differentiable ℝ (cgf Z μ) := by intro t exact (analyticAt_cgf (by simp [hset])).differentiableAt have hderiv0 : deriv (cgf Z μ) 0 = ∫ ω, Z ω ∂μ := by simpa using deriv_cgf_zero (X := Z) (μ := μ) (by simp [hset]) have hdifferential : ∀ t : ℝ, 0 < t → t * deriv (cgf Z μ) t - cgf Z μ t ≤ t ^ 2 * v / 2 := by intro t ht have hmem : t ∈ interior (integrableExpSet Z μ) := by simp [hset] have hMpos : 0 < mgf Z μ t := mgf_pos (hExp t) have hidentity : entropy μ (fun ω => exp (t * Z ω)) = mgf Z μ t * (t * deriv (cgf Z μ) t - cgf Z μ t) := by rw [entropy] simp_rw [Real.log_exp] rw [show (∫ ω, exp (t * Z ω) * (t * Z ω) ∂μ) = t * ∫ ω, Z ω * exp (t * Z ω) ∂μ by rw [← integral_const_mul] congr with ω ring] rw [show (∫ ω, exp (t * Z ω) ∂μ) = mgf Z μ t by rfl] rw [deriv_cgf hmem] dsimp [cgf] field_simp [hMpos.ne'] have hbound := hEnt t ht rw [hidentity, show (∫ ω, exp (t * Z ω) ∂μ) = mgf Z μ t by rfl] at hbound exact (mul_le_mul_iff_of_pos_left hMpos).mp (by simpa [mul_comm, mul_left_comm, mul_assoc] using hbound) have hcalc := herbst_calculus hdiff cgf_zero hdifferential lam hlam simpa [hderiv0] using hcalc -
herbst_mgf_centered_letheorem — Under exponential integrability at every real tilt and the entropy bound at every positive tilt, the moment-generating function of the centered variable at a positive tilt satisfies the sub-Gaussian bound.hypothesesProof (Lean source)
theorem herbst_mgf_centered_le {Ω : Type*} [MeasurableSpace Ω] {μ : Measure Ω} [IsProbabilityMeasure μ] {Z : Ω → ℝ} {v : ℝ} (hExp : ∀ t : ℝ, Integrable (fun ω => exp (t * Z ω)) μ) (hEnt : ∀ t : ℝ, 0 < t → entropy μ (fun ω => exp (t * Z ω)) ≤ t ^ 2 * v / 2 * ∫ ω, exp (t * Z ω) ∂μ) {lam : ℝ} (hlam : 0 < lam) : mgf (fun ω => Z ω - ∫ x, Z x ∂μ) μ lam ≤ exp (lam ^ 2 * v / 2) := by let m := ∫ x, Z x ∂μ have hcgf := herbst_cgf_le hExp hEnt hlam change mgf (fun ω => Z ω + -m) μ lam ≤ exp (lam ^ 2 * v / 2) rw [mgf_add_const, ← exp_cgf (hExp lam), ← Real.exp_add, Real.exp_le_exp] dsimp [m] at hcgf ⊢ linarith
SelfBounding 7 core · 2 supporting This file connects the recursive replacement-square expression in the modified logarithmic-Sobolev inequality to a pointwise replacement variance. ★ entropy_exp_le★ cgf_centered_le★ upper_tail
Replacement self-bounding functions
This file connects the recursive replacement-square expression in the modified logarithmic-Sobolev inequality to a pointwise replacement variance. It then records the entropy consequence of the standard weak self-bounding condition.
Given coordinate laws μ, a coordinate count n, and a statistic Z, the pointwise sum of conditional positive coordinate replacement squares is zero with no coordinates, while at a positive number of coordinates it integrates the head replacement square against a fresh head coordinate and adds the tail-coordinate sum.
Definition (Lean source)
Given coordinate laws μ, a coordinate count n, a tilt lam, and a statistic Z, the Fubini regularity conditions for replacement squares recursively require integrability of the tilted head and tail replacement contributions under the head--tail product law: the zero-coordinate condition is automatic, and the positive-coordinate condition contains recursive tail regularity and integrability of the tilted head and tail contributions.
Definition (Lean source)
Given coordinate laws μ, a coordinate count n, a statistic Z, and coefficients a and b, weak replacement self-bounding means that the sum of positive coordinate replacement squares is pointwise at most a Z + b.
Definition (Lean source)
For coordinate laws μ, a coordinate count n, a statistic Z, and self-bounding coefficients a,b, cumulant-generating-function regularity consists of exponential integrability at every real tilt, finite-product entropy regularity, modified logarithmic-Sobolev regularity, replacement Fubini regularity, and integrability of both sides of the tilted replacement comparison at every positive tilt below the linear pole.
Definition (Lean source)
If the coordinate laws μ are probability laws, the tilt lam is nonnegative, the product has n coordinates, the statistic is Z, the self-bounding coefficients are a and b, the tensorization and replacement regularity conditions hold, the replacement Fubini conditions hold, the statistic is weakly self-bounding, and both tilted comparison integrands are integrable, then the entropy of the exponential tilt is at most lam² times the tilted expectation of a Z + b.
Formal statement
Proof (Lean source)
If the coordinate laws μ are probability laws, the product has n coordinates, the statistic is Z, the self-bounding coefficients a,b are nonnegative, the statistic is weakly replacement self-bounding, and the exponential-tilt regularity conditions hold, then at a nonnegative tilt lam below the linear pole, the centered cumulant-generating function is at most (a E[Z] + b) lam² / (1 - a lam).
Formal statement
Proof (Lean source)
If the coordinate laws μ are probability laws, the product has n coordinates, the statistic is Z, the self-bounding coefficients a,b are nonnegative, the statistic is weakly replacement self-bounding, the exponential-tilt regularity conditions hold, and the variance factor a E[Z] + b is positive, then every positive deviation t satisfies the Bernstein upper tail bound with exponent -t² / (4(a E[Z] + b) + 2at).
Formal statement
Proof (Lean source)
2 supporting declarations (lemmas, instances)
-
exponentialReplacementSquareSum_eq_integraltheorem — If the coordinate laws μ are probability laws, the product has n coordinates, the tilt is lam, the statistic is Z, the modified logarithmic-Sobolev integrability conditions hold, and the additional Fubini conditions hold, then the recursive tilted replacement-square sum equals the product expectation of the exponential tilt times the pointwise replacement-square sum.hypothesesX :Type uμ :ℕ → Measure X∀ i, IsProbabilityMeasure (μ i)n :ℕlam :ℝZ :(Fin n → X) → ℝhModified :ModifiedLogSobolevRegularity μ n lam ZhFubini :ReplacementSquareFubiniRegularity μ n lam ZconclusionexponentialReplacementSquareSum μ n lam ZProof (Lean source)
theorem exponentialReplacementSquareSum_eq_integral {X : Type u} [MeasurableSpace X] (μ : ℕ → Measure X) [hprob : ∀ i, IsProbabilityMeasure (μ i)] (n : ℕ) (lam : ℝ) (Z : (Fin n → X) → ℝ) (hModified : ModifiedLogSobolevRegularity μ n lam Z) (hFubini : ReplacementSquareFubiniRegularity μ n lam Z) : exponentialReplacementSquareSum μ n lam Z = ∫ s, exp (lam * Z s) * replacementSquareSum μ n Z s ∂Measure.pi (fun i : Fin n => μ i.val) := by induction n generalizing μ with | zero => simp [exponentialReplacementSquareSum, replacementSquareSum] | succ n ih => let e := piFinSuccAbove (fun _ : Fin (n + 1) => X) 0 let ν : Measure (Fin n → X) := Measure.pi (fun j : Fin n => μ (j.val + 1)) change (∀ tail, ReplacementEntropyIntegrable (μ 0) lam (fun x => Z (e.symm (x, tail)))) ∧ (∀ x, ModifiedLogSobolevRegularity (fun i => μ (i + 1)) n lam (fun tail => Z (e.symm (x, tail)))) ∧ Integrable (fun tail => entropy (μ 0) (fun x => exp (lam * Z (e.symm (x, tail))))) ν ∧ Integrable (fun tail => ∫ p : X × X, exp (lam * Z (e.symm (p.1, tail))) * (max (Z (e.symm (p.1, tail)) - Z (e.symm (p.2, tail))) 0) ^ 2 ∂(μ 0).prod (μ 0)) ν ∧ Integrable (fun x => coordinateEntropySum (fun i => μ (i + 1)) n (fun tail => exp (lam * Z (e.symm (x, tail))))) (μ 0) ∧ Integrable (fun x => exponentialReplacementSquareSum (fun i => μ (i + 1)) n lam (fun tail => Z (e.symm (x, tail)))) (μ 0) at hModified rcases hModified with ⟨hhead, htailModified, _, _, _, _⟩ change (∀ x, ReplacementSquareFubiniRegularity (fun i => μ (i + 1)) n lam (fun tail => Z (e.symm (x, tail)))) ∧ Integrable (fun p : X × (Fin n → X) => exp (lam * Z (e.symm p)) * (∫ y, (max (Z (e.symm p) - Z (e.symm (y, p.2))) 0) ^ 2 ∂μ 0)) ((μ 0).prod ν) ∧ Integrable (fun p : X × (Fin n → X) => exp (lam * Z (e.symm p)) * replacementSquareSum (fun i => μ (i + 1)) n (fun tail => Z (e.symm (p.1, tail))) p.2) ((μ 0).prod ν) at hFubini rcases hFubini with ⟨htailFubini, hHeadInt, hTailInt⟩ let headPart : X × (Fin n → X) → ℝ := fun p => exp (lam * Z (e.symm p)) * (∫ y, (max (Z (e.symm p) - Z (e.symm (y, p.2))) 0) ^ 2 ∂μ 0) let tailPart : X × (Fin n → X) → ℝ := fun p => exp (lam * Z (e.symm p)) * replacementSquareSum (fun i => μ (i + 1)) n (fun tail => Z (e.symm (p.1, tail))) p.2 have hHead : (∫ tail, ∫ p : X × X, exp (lam * Z (e.symm (p.1, tail))) * (max (Z (e.symm (p.1, tail)) - Z (e.symm (p.2, tail))) 0) ^ 2 ∂(μ 0).prod (μ 0) ∂ν) = ∫ p, headPart p ∂((μ 0).prod ν) := by calc _ = ∫ tail, ∫ x, exp (lam * Z (e.symm (x, tail))) * (∫ y, (max (Z (e.symm (x, tail)) - Z (e.symm (y, tail))) 0) ^ 2 ∂μ 0) ∂μ 0 ∂ν := by apply integral_congr_ae filter_upwards with tail rw [integral_prod _ (hhead tail).hplus] apply integral_congr_ae filter_upwards with x rw [← integral_const_mul] _ = ∫ p, headPart p ∂((μ 0).prod ν) := by simpa [headPart] using (integral_prod_symm headPart hHeadInt).symm have hTail : (∫ x, exponentialReplacementSquareSum (fun i => μ (i + 1)) n lam (fun tail => Z (e.symm (x, tail))) ∂μ 0) = ∫ p, tailPart p ∂((μ 0).prod ν) := by calc _ = ∫ x, ∫ tail, exp (lam * Z (e.symm (x, tail))) * replacementSquareSum (fun i => μ (i + 1)) n (fun tail' => Z (e.symm (x, tail'))) tail ∂ν ∂μ 0 := by apply integral_congr_ae filter_upwards with x exact ih (fun i => μ (i + 1)) (fun tail => Z (e.symm (x, tail))) (htailModified x) (htailFubini x) _ = ∫ p, tailPart p ∂((μ 0).prod ν) := by simpa [tailPart] using (integral_prod tailPart hTailInt).symm have hsplit : MeasurePreserving e (Measure.pi (fun i : Fin (n + 1) => μ i.val)) ((μ 0).prod ν) := by simpa [e, ν] using (MeasureTheory.measurePreserving_piFinSuccAbove (μ := fun i : Fin (n + 1) => μ i.val) 0) have hProduct : (∫ p, headPart p + tailPart p ∂((μ 0).prod ν)) = ∫ s, exp (lam * Z s) * replacementSquareSum μ (n + 1) Z s ∂Measure.pi (fun i : Fin (n + 1) => μ i.val) := by let G : X × (Fin n → X) → ℝ := fun p => exp (lam * Z (e.symm p)) * replacementSquareSum μ (n + 1) Z (e.symm p) have hcomp : G ∘ e = fun s => exp (lam * Z s) * replacementSquareSum μ (n + 1) Z s := by funext s dsimp [G] rw [e.symm_apply_apply] have htransport := hsplit.integral_comp' G have hpoint : G = fun p => headPart p + tailPart p := by funext p dsimp [G, headPart, tailPart, replacementSquareSum] rw [e.apply_symm_apply] ring calc (∫ p, headPart p + tailPart p ∂((μ 0).prod ν)) = ∫ p, G p ∂((μ 0).prod ν) := by apply integral_congr_ae exact ae_of_all _ (congrFun hpoint.symm) _ = ∫ s, G (e s) ∂Measure.pi (fun i : Fin (n + 1) => μ i.val) := htransport.symm _ = ∫ s, exp (lam * Z s) * replacementSquareSum μ (n + 1) Z s ∂Measure.pi (fun i : Fin (n + 1) => μ i.val) := by apply integral_congr_ae exact ae_of_all _ (congrFun hcomp) change (∫ tail, ∫ p : X × X, exp (lam * Z (e.symm (p.1, tail))) * (max (Z (e.symm (p.1, tail)) - Z (e.symm (p.2, tail))) 0) ^ 2 ∂(μ 0).prod (μ 0) ∂ν) + (∫ x, exponentialReplacementSquareSum (fun i => μ (i + 1)) n lam (fun tail => Z (e.symm (x, tail))) ∂μ 0) = _ rw [hHead, hTail, ← integral_add hHeadInt hTailInt, hProduct] -
mgf_centered_letheorem — If the coordinate laws μ are probability laws, the product has n coordinates, the statistic is Z, the self-bounding coefficients a,b are nonnegative, the statistic is weakly replacement self-bounding, and the exponential-tilt regularity conditions hold, then at a nonnegative tilt lam below the linear pole, the centered moment-generating function is at most the exponential of (a E[Z] + b) lam² / (1 - a lam).hypothesesX :Type uμ :ℕ → Measure X∀ i, IsProbabilityMeasure (μ i)n :ℕZ :(Fin n → X) → ℝa b :ℝha :0 ≤ ahb :0 ≤ bhSelf :ReplacementSelfBounding μ n Z a bhReg :ReplacementSelfBoundingCGFRegularity μ n Z a blam :ℝhlam0 :0 ≤ lamhlam :a * lam < 1Proof (Lean source)
theorem ReplacementSelfBounding.mgf_centered_le {X : Type u} [MeasurableSpace X] (μ : ℕ → Measure X) [hprob : ∀ i, IsProbabilityMeasure (μ i)] (n : ℕ) (Z : (Fin n → X) → ℝ) {a b : ℝ} (ha : 0 ≤ a) (hb : 0 ≤ b) (hSelf : ReplacementSelfBounding μ n Z a b) (hReg : ReplacementSelfBoundingCGFRegularity μ n Z a b) {lam : ℝ} (hlam0 : 0 ≤ lam) (hlam : a * lam < 1) : mgf (fun s => Z s - ∫ x, Z x ∂Measure.pi (fun i : Fin n => μ i.val)) (Measure.pi (fun i : Fin n => μ i.val)) lam ≤ exp ((a * (∫ s, Z s ∂Measure.pi (fun i : Fin n => μ i.val)) + b) * lam ^ 2 / (1 - a * lam)) := by let ν : Measure (Fin n → X) := Measure.pi (fun i : Fin n => μ i.val) let m := ∫ s, Z s ∂ν have hcgf := hSelf.cgf_centered_le μ n Z ha hb hReg hlam0 hlam change mgf (fun s => Z s + -m) ν lam ≤ exp ((a * m + b) * lam ^ 2 / (1 - a * lam)) rw [mgf_add_const, ← exp_cgf (by simpa [ν] using hReg.exp_integrable lam)] rw [← Real.exp_add, Real.exp_le_exp] dsimp [m, ν] at hcgf ⊢ linarith