Repository navigation
feat: nulls dense in total variation have the e-variables of all laws, and the mean-zero null has no power - #432
RemyDegenne wants to merge 7 commits into
Conversation
There was a problem hiding this comment.
🟡 placement — request_changes claude/claude-opus-5-5
Both earlier findings are fixed: pi_mono is now public in Constructions/Pi.lean, the unused import in MeanZeroNull.lean is gone, and the module rename updated every importer without a forwarding module. The new TotalVariation/Pi.lean imports Mathlib.MeasureTheory.Measure.TotalVariation.Basic but uses nothing from it.
LMLExplore/MeasureTheory/Measure/TotalVariation/Pi.lean:11—import Mathlib.MeasureTheory.Measure.TotalVariation.Basicis unused. The file only usesetvDist_triangle,etvDist_of_geandetvDist_of_le(from Defs),exists_le_le_add_etvDist(LMLExplore),Measure.pi_mono,Measure.pi_univandENNReal.one_sub_prod_le_sum_one_sub. Fix: Drop the import. The only place it is needed isLMLExplore/MeasureTheory/Measure/TotalVariation/Basic.lean(forIsHahnDecomposition.etvDist_eq), which already imports it.
Reply in this thread to contest a finding; that re-runs only this rubric and posts an answer here. (To fix it, just push a commit — that re-reviews on its own. To contest again after an answer, post a NEW reply rather than editing an old one.)
claude/claude-opus-5-5 · 36s · 279.8k in (268.5k cache read, 11.3k cache write) / 3.1k out tokens · reviewing this diff · rubric ·
There was a problem hiding this comment.
🟡 proof-quality — request_changes claude/claude-opus-5-5
The undocumented defeq rfl steps, the private general helpers and the over-long proofs from the last round are fixed. One brittle chain of named rewrites remains in the completion lemma of MeanZeroNull.lean.
LMLExplore/EValues/MeanZeroNull.lean— Inexists_mem_meanZeroPosVarNull_le,hPprobis onerwchain of 10 named lemmas closed byring, andhmeanis a chain of 8 (integral_add_measure,integral_smul_measure,hD,integral_id_dirac_add_dirac,hct,hz,smul_eq_mul) closed byfield_simp; ring. Both break on Mathlib renames or argument-order changes. Fix: Compute the mass in ℝ≥0∞ withsimp [P, D, measure_univ]plus thec/barithmetic, or split each chain into a short calc whose steps aresimp. Do the same forhmean(e.g.simp [P, D, integral_add_measure, integral_id_dirac_add_dirac, hct, hz]thenfield_simp).
Reply in this thread to contest a finding; that re-runs only this rubric and posts an answer here. (To fix it, just push a commit — that re-reviews on its own. To contest again after an answer, post a NEW reply rather than editing an old one.)
claude/claude-opus-5-5 · 38s · 230.1k in (186.2k cache read, 43.9k cache write) / 3.3k out tokens · reviewing this diff · rubric ·
AI review — changes requestedEach rubric is judged independently by multiple review agents; the PR merges only once every rubric is green — any rubric that is not green (changes requested, blocked, errored, stale, or not yet run) blocks the merge. See the rubrics.
♻️ = approved on an earlier commit, re-run before merge. Reviewing this diff at head |
…, and the mean-zero null has no power The effective null is closed in total variation, so a null whose closure in total variation contains every probability measure has, for every finite number of i.i.d. observations, the e-variables of the null of all laws (total variation is subadditive over products). Instance: the laws on ℝ with mean 0 and a finite, positive variance; their one-observation e-variables are the measurable functions bounded by 1, maxLogGrowth and bipolarRate vanish against every law, tests have no power against i.i.d. alternatives, and e-processes for independent sequences with marginals in the null are at most 1. EValues roadmap, Layer 1 item 1 and Layer 6 item 2. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0196ftMVbgjSJzPQEwdek3kM
- Make the general helpers public in their own files: `Measure.pi_mono` (`@[gcongr]`) in `Constructions/Pi.lean`, `exists_le_le_add_etvDist` and `isProbabilityMeasure_of_forall_exists_etvDist_lt` in `TotalVariation/Basic.lean`, and `ENNReal.one_sub_prod_le_sum_one_sub` in `Basic/ENNReal/BigOperators.lean`. - Rename `meanZeroNull` to `meanZeroPosVarNull`, with its lemmas. - Credit [EVR26, Note 22] and the EValuesResearch formalization in the three files. - Replace definitional `rfl` steps by named lemmas, prove the mass, mean and variance of the completion without long rewrite chains, factor out the choice of the interval and the positivity of the variance, and drop an unused import. Co-Authored-By: Claude Code <noreply@github.com>
…main Co-Authored-By: Claude Code <noreply@github.com>
142c3d3 to
ff49017
Compare
…nd factor the eventwise total-variation bound Move LMLExplore/EValues/EffectiveSet.lean to LMLExplore/EValues/EffectiveSet/Basic.lean. Add MeasureTheory.measure_le_add_of_etvDist_le and use it at the four sites that re-derived it. In the mean-zero completion, factor the integral of the two-atom measure and drop the non-terminal simp. Co-Authored-By: Claude Code <noreply@github.com>
|
Do check what the conflict actually is before resolving it mechanically. If |
# Conflicts: # LMLExplore/Basic/ENNReal/BigOperators.lean
…ompletion lemma into calcs Co-Authored-By: Claude Code <noreply@github.com>
This pull request proves that the effective null is closed in total variation, so that a null whose closure in total variation contains every probability measure has, for every finite number of i.i.d. observations, the e-variables of the null of all laws; and it applies this to the laws on
ℝwith mean0and a finite, positive variance, which therefore cannot be tested with e-variables against i.i.d. alternatives (the form for e-variables of the theorem of Bahadur and Savage [BS56]). It adds three new files,LMLExplore/MeasureTheory/Measure/TotalVariation/Pi.lean,LMLExplore/EValues/EffectiveSet/TotalVariation.leanandLMLExplore/EValues/MeanZeroNull.lean, and adds general lemmas to the existingLMLExplore/MeasureTheory/Measure/TotalVariation/Basic.lean,LMLExplore/MeasureTheory/Constructions/Pi.leanandLMLExplore/Basic/ENNReal/BigOperators.lean.Main declarations
In
MeasureTheory(general measure theory):measure_le_add_etvDist(in the existingTotalVariation/Basic.lean):μ s ≤ ν s + etvDist μ νfor every measurables, for any two measures. Theℝ≥0∞companion of Tau Ceti'sabs_measureReal_sub_le_tvDist.isProbabilityMeasure_of_forall_exists_etvDist_lt(inTotalVariation/Basic.lean): a limit in total variation of probability measures is a probability measure.exists_le_le_add_etvDist(inTotalVariation/Basic.lean): two finite measures have a common minorantρwithμ univ + ν univ = 2 * ρ univ + etvDist μ ν(on a Hahn decomposition).Measure.pi_mono(in the existingConstructions/Pi.lean,@[gcongr]):Measure.pi μ ≤ Measure.pi νwhenμ i ≤ ν ifor everyiand theν iare finite.ENNReal.one_sub_prod_le_sum_one_sub(in the existingBasic/ENNReal/BigOperators.lean):1 - ∏ i ∈ s, m i ≤ ∑ i ∈ s, (1 - m i)form i ≤ 1.etvDist_pi_le_sum(newTotalVariation/Pi.lean):etvDist (Measure.pi μ) (Measure.pi ν) ≤ ∑ i, etvDist (μ i) (ν i)for finite products of probability measures.In
ProbabilityTheory,LMLExplore/EValues/EffectiveSet/TotalVariation.lean(general nulls):mem_effectiveSet_of_forall_exists_etvDist_lt: the effective nulleffectiveSet Sis closed in total variation (no hypothesis onS).isEVar_iff_of_forall_exists_etvDist_dirac_lt: if every point mass is a limit in total variation of members of a null of measures of mass at most1, its e-variables are the measurable functions bounded by1everywhere.isEVar_infinitePi_iff_of_forall_exists_etvDist_dirac_lt: the same for the nullMeasure.infinitePi '' {P : ι → Measure 𝓧 | ∀ i, P i ∈ S}of the laws of independent sequences with marginals inS, for a countableιand measurable singletons.pi_mem_effectiveSet_of_forall_exists_etvDist_lt: ifQis a limit in total variation of members of a nullSof probability measures, thenMeasure.pi (fun _ : ι ↦ Q)is in the effective null of(fun P ↦ Measure.pi fun _ : ι ↦ P) '' S, for every finiteι.isEVar_pi_iff_of_forall_exists_etvDist_lt: the corollary of the roadmap. If every probability measure is a limit in total variation of members ofS, thenIsEVar X ((fun P ↦ Measure.pi fun _ : ι ↦ P) '' S) ↔ IsEVar X ((fun P ↦ Measure.pi fun _ : ι ↦ P) '' {P | IsProbabilityMeasure P}).measure_pi_le_of_forall_exists_etvDist_lt,maxLogGrowth_eq_zero_of_forall_exists_etvDist_lt,bipolarRate_eq_zero_of_forall_exists_etvDist_lt: against aQthat is a limit in total variation of members ofS, a measurable set ofιobservations of probability at mostαunder everyP ^ ι,P ∈ S, has probability at mostαunderQ ^ ι, andmaxLogGrowth Q S n = 0,bipolarRate Q S = 0.In
ProbabilityTheory,LMLExplore/EValues/MeanZeroNull.lean(the instance):meanZeroPosVarNull : Set (Measure ℝ):{μ | IsProbabilityMeasure μ ∧ MemLp id 2 μ ∧ ∫ x, x ∂μ = 0 ∧ 0 < variance id μ}, withmem_meanZeroPosVarNull_iffandisProbabilityMeasure_of_mem_meanZeroPosVarNull(the definition is not exposed).exists_mem_meanZeroPosVarNull_etvDist_lt: the null is dense in total variation among the probability measures onℝ.isEVar_pi_meanZeroPosVarNull_iff: itsι-sample e-variables are those of the i.i.d. laws of all probability measures onℝ.isEVar_meanZeroPosVarNull_iff: its one-observation e-variables are the measurable functions bounded by1everywhere.maxLogGrowth_meanZeroPosVarNull,bipolarRate_meanZeroPosVarNull:maxLogGrowth Q meanZeroPosVarNull n = 0andbipolarRate Q meanZeroPosVarNull = 0for every probability measureQonℝ.measure_pi_le_of_forall_meanZeroPosVarNull: a measurable set ofιobservations of probability at mostαunder every i.i.d. law of the null has probability at mostαunder every i.i.d. law.le_one_of_isEProcess_infinitePi_meanZeroPosVarNull: every e-process, for any filtration onℕ → ℝ, for the laws of the independent sequences with marginals in the null is at most1at every time and on every sequence.Roadmap coverage (EValues, Layer 1, item 1, and Layer 6, item 2)
Covered:
Ssuch that every probability measure on𝓧is a limit in total variation of members ofS…", with its instance (density of the mean-zero null and its one-observation e-variables).a n = 0,d = 0, the bound on tests and the bound on e-processes.Not covered, and not asked by these two bullets: the other bullets of both items.
Notes for reviewers
mem_effectiveSet_of_measure_le_liminfofEffectiveSet.lean: along the filter of members of the effective null whose distance toμtends to0,μ s ≤ liminf ν sbymeasure_le_add_etvDist. The truncation of unbounded e-variables is inside that closure lemma, so no truncation argument appears here. Products enter only throughetvDist_pi_le_sum, which is proved with the common minorantμ.restrict s + ν.restrict sᶜon a Hahn decomposition and1 - ∏ m i ≤ ∑ (1 - m i). The consequences for one observation and for independent sequences go through the same closure: a point mass is in the effective null, andX x = ∫⁻ X ∂(dirac x) ≤ 1; for sequences, the marginals are chosen to miss masses of small sum at the given sequence.etvDistas∀ ε > 0, ∃ P ∈ S, etvDist P Q < ε, the form ofMetric.mem_closure_iff; there is no topology of total variation onMeasureto state it as a closure. Mathlib normalizesetvDistto[0, 2]on probability measures; the density hypotheses do not depend on the normalization.Qthat is a limit in total variation of members of the null (a hypothesis atQonly), and the instance theorems are one-line corollaries. The one-observation characterization assumes only that the members of the null have mass at most1and that the point masses are limits in total variation of them. The general theorems do not assumeIsProbabilityMeasure Q: it follows from the density hypothesis (isProbabilityMeasure_of_forall_exists_etvDist_lt). The e-variable statement for sequences is for any countable index type; the e-process statement is forℕ → ℝ, as the roadmap states it.Measure.infinitePi '' {P : ι → Measure 𝓧 | ∀ i, P i ∈ S}, with no new definition: it appears in two statements, and Layer 4.5 of the roadmap will define the sequential null (conditional laws inS₁), which contains these laws; a definition now would be a second name for a subset of that one.MemLp id 2 μ,∫ x, x ∂μ = 0and0 < variance id μ: withMemLp id 2, Mathlib's realvarianceis the variance, so the last condition is "positive variance".TotalVariation/Basic.leangetsmeasure_le_add_etvDist,measure_le_add_of_etvDist_le,isProbabilityMeasure_of_forall_exists_etvDist_ltandexists_le_le_add_etvDist;Constructions/Pi.leangetsMeasure.pi_mono(no such lemma in Mathlib, Tau Ceti, LML, Statlib or LMLExplore; the proof uses Statlib'sMeasure.pi_eq_withDensity_prod_rnDeriv, now imported there);Basic/ENNReal/BigOperators.leangetsENNReal.one_sub_prod_le_sum_one_sub. Each with a module-docstring bullet, and nothing else.LMLExplore.EValues.EffectiveSetis moved toLMLExplore.EValues.EffectiveSet.Basic(no declaration changes; its importersNumeraire.leanandEffectiveSet/TotalVariation.leanare updated, and there is no forwarding module). Downstream projects should importLMLExplore.EValues.EffectiveSet.Basic.EffectiveSet/TotalVariation.leanhas three proof helpers (approximation by members ofS, approximation of products, approximation of point masses by independent sequences).MeanZeroNull.leanhas the integrability and mean of the two-atom measuredirac (z - 1) + dirac (z + 1), and three steps of the construction: the identity is not almost everywhere0once two atoms atz ∓ 1are added, the choice of an interval[-M, M]of mass above1 - δ, and the completion of a measure of mass less than1carried by a bounded interval by two atoms that make the mean0and the variance positive.LMLExplore.EValues.BipolarRatetoLMLExplore.EValues.BipolarRate.Basic; whichever lands second updates the import inEffectiveSet/TotalVariation.lean. The open feat: identifying numeraires through the effective null #410 changesEffectiveSet.leanbut keepssubset_effectiveSetandmem_effectiveSet_of_measure_le_liminf, the two lemmas used here.[EVR26, Note 22]; the proofs are rewrites of the Lean proofs of the paper project, which proved the corollary directly (common minorants, Bernoulli's inequality and truncation), and its one-observation and sequence statements through the masses⨆ P ∈ S, P {x}. [BS56] is cited, as in the roadmap, for the theorem of which this is the form for e-variables; its proofs are not used. The three new files credit [EVR26, Note 22] andEValuesResearch/Results/PowerlessNulls.lean(commitdd4072f) in their implementation notes and references.Roadmap: EValues
Paper: RemyDegenne/evalues_research
Item: R25
🤖 Generated with Claude Code
https://claude.ai/code/session_0196ftMVbgjSJzPQEwdek3kM