Repository navigation
feat: the structure of the effective null, and powered tests outside it - #390
RemyDegenne wants to merge 2 commits into
Conversation
Mixtures, convexity, solidity and setwise closedness of Statlib's effectiveSet, the e-variables of its probability measures, and [RW, Theorem 6.10]; with Fatou's lemma for setwise convergence. Co-Authored-By: Claude Code <noreply@github.com>
There was a problem hiding this comment.
🟡 generality — request_changes claude/claude-opus-5-5
The setwise Fatou lemma and the two effective-null closedness lemmas built on it assume setwise convergence, but the proof only needs the Portmanteau-style lower bound μ s ≤ liminf μs i s. Every other statement is at the natural level.
LMLExplore/MeasureTheory/Integral/Lebesgue/Setwise.lean:42—lintegral_le_liminf_of_tendsto_measureassumesTendsto (fun i ↦ μs i s) l (𝓝 (μ s)), but the conclusion only needsμ s ≤ liminf (fun i ↦ μs i s) lfor measurables. That is the hypothesis form of Mathlib's analogous Portmanteau lemma. The same over-strong hypothesis is inlintegral_le_of_frequently_of_tendsto_measure(Setwise.lean:63),mem_effectiveSet_of_frequently_of_tendsto(EffectiveSet.lean:131) andmem_effectiveSet_of_tendsto(EffectiveSet.lean:140). Fix: Takeh : ∀ s, MeasurableSet s → μ s ≤ liminf (fun i ↦ μs i s) l. For a nontriviall, prove the simple-function step byFinsetinduction withle_liminf_addandENNReal.liminf_const_mul_of_ne_topinstead oftendsto_finsetSum. Propagate the weaker hypothesis to the corollary and both effective-null closedness lemmas; the convergent case follows fromTendsto.liminf_eq.
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 · 67s · 289.3k in (267.9k cache read, 21.4k cache write) / 5.7k out tokens · reviewing this diff · rubric ·
There was a problem hiding this comment.
🟡 proof-quality — request_changes claude/claude-opus-5-5
Proofs are short, robust and free of defeq tricks, but exists_powered_test_iff inlines the test ↔ e-variable conversion it cites as [RW, Fact 3.6] and repeats the same multiplication-by-inverse sequence in both directions.
LMLExplore/EValues/EffectiveSet.lean:190—exists_powered_test_iff(~45 lines) inlines two reusable facts: a level-α test scaled byα⁻¹is an e-variable (forward direction), and a bounded e-variableX ≤ Cscaled by(max C 2)⁻¹is a test of level(max C 2)⁻¹(reverse direction, cited inline as [RW, Fact 3.6]). Both directions repeat the samelintegral_const_mul/gcongr/ENNReal.inv_mul_cancel/ENNReal.mul_lt_mul_rightsequence. Fix: Pull these out as two lemmas, e.g.IsEVar.of_test(φof levelα ≠ 0, ∞givesIsEVar (α⁻¹ * φ) S) andIsEVar.test_of_le(X ≤ D,D ≠ 0, ∞, givesD⁻¹ * X ≤ 1with∫⁻ D⁻¹ * X ∂P ≤ D⁻¹). Then prove the theorem from them, plus a sharedD⁻¹ < D⁻¹ * ∫⁻ X ∂Q ↔ 1 < ∫⁻ X ∂Qstep.
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 · 21s · 43.8k in (38.5k cache read, 5.3k cache write) / 2k 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 |
… test rescalings Assume only `μ s ≤ liminf (fun i ↦ μs i s) l` on measurable sets in the setwise Fatou lemma and the effective-null closedness lemmas, and extract the two halves of [RW, Fact 3.6] used by `exists_powered_test_iff`. Co-Authored-By: Claude Code <noreply@github.com>
|
Closing automatically: this PR authors the same roadmap target ( |
This PR builds the first two bullets of the EValues Layer 1.1 milestone, The effective null [LRR25, Definition 3.1; RW, §6.3.1, Theorem 6.10]. It describes the structure of Statlib's
ProbabilityTheory.effectiveSet S(the measures under which every e-variable forShas∫⁻ X ≤ 1) for any set of measures on any measurable space, with no dominating measure, and proves [RW, Theorem 6.10]: powered tests exist exactly outside the effective null.Roadmap: EValues
Here is how the two bullets are covered, in
LMLExplore/EValues/EffectiveSet.lean(namespaceProbabilityTheory, next to Statlib's definition):comp_mem_effectiveSetshows the effective null is closed under mixturesκ ∘ₘ πover a measureπof mass at most1, whenκ θisπ-a.e. in it. The roadmap's statement, mixtures of members ofS, iscomp_mem_effectiveSet_of_mem, derived from it. Underneath aremem_effectiveSet_of_mem,mem_effectiveSet_iff_of_mem(a member ofSis in its effective null exactly when its mass is at most1) andsubset_effectiveSet.convex_effectiveSet(Convex ℝ≥0∞, the same convexity as Statlib'sconvex_isEVar) andconvexHull_subset_effectiveSet.mem_effectiveSet_of_le.mem_effectiveSet_of_frequently_of_forall_measure_le_liminfandmem_effectiveSet_of_forall_measure_le_liminf. These are the two forms of Mathlib'sIsClosed.mem_of_frequently_of_tendsto/IsClosed.mem_of_tendsto. They assume only the lower boundμ s ≤ liminf (fun i ↦ μs i s) lon measurable sets, the hypothesis form of Mathlib's Portmanteau lemma; setwise convergence gives it throughTendsto.liminf_eq.isEVar_effectiveSet_inter_iffsays that for a null of probability measures,SandeffectiveSet S ∩ {μ | IsProbabilityMeasure μ}have the same e-variables. HenceeffectiveSet_effectiveSet_inter: the effective null of the latter iseffectiveSet Sagain.effectiveSet_mono, the "monotonicity in the null" lemma the Completion checks ask for.exists_powered_test_iff, with the statement ofSuggested.lean, minus the unused[IsProbabilityMeasure Q]. Some measurableφ ≤ 1of levelα ∈ (0, 1)forShasα < ∫⁻ φ ∂Qexactly whenQ ∉ effectiveSet S. The truncation step goes throughmem_effectiveSet_iff_forall_bounded: for a null of finite measures, bounded e-variables are enough to test membership. Dividing a bounded e-variable bymax C 2then gives the test [RW, Fact 3.6]. The two halves of Fact 3.6 are separate lemmas:isEVar_inv_mul_of_lintegral_le(a test of levelα, divided byα, is an e-variable) andIsEVar.lintegral_const_mul_le(∫⁻ c * X ∂P ≤ c * P univfor an e-variableX).The closedness needs one general tool, which goes in its own file,
LMLExplore/MeasureTheory/Integral/Lebesgue/Setwise.lean:MeasureTheory.lintegral_le_liminf_lintegral_of_forall_measure_le_liminf_measureis Fatou's lemma for varying measures, named after Mathlib's Portmanteaulintegral_le_liminf_lintegral_of_forall_isOpen_measure_le_liminf_measure. Ifμ s ≤ liminf (fun i ↦ μs i s) lfor every measurables(for instance under setwise convergence), then∫⁻ f ∂μ ≤ liminf ∫⁻ f ∂μs ifor everyf : α → ℝ≥0∞, with no measurability or finiteness assumption.lintegral_le_of_frequently_of_forall_measure_le_liminf_measurecomes with it.lintegral_eq_nnreal). The simple-function step uses Tau Ceti'sENNReal.le_liminf_add(superadditivity ofliminfinℝ≥0∞) and Mathlib'sENNReal.liminf_const_mul_of_ne_top.Before writing, I searched the pinned Mathlib, Tau Ceti, LML, Statlib and
LMLExplore/for duplicates:effectiveSetonly appears in Statlib'sEValues/RIPr.lean, which has the definition,mem_effectiveSet_iff,measure_univ_le_one_of_mem_effectiveSet,isFiniteMeasure_of_mem_effectiveSetand the duality. None of the statements here are there. The proofs reuse itsIsEVar.lintegral_le_measure_univ,IsEVar.of_lintegral_le_one,IsEVar.anti_setandIsEVar.mono.Vague.lean, which proves setwise convergence from vague convergence and has no integral bound. Mathlib's liminf bounds for integrals (lintegral_liminf_le', Portmanteau) vary the function or need weak convergence.Measure.lintegral_bind, and the truncation useslintegral_iSup.No public declaration is removed or renamed. The PR does not depend on the open EValues PRs #384, #385 and #388: it uses only Statlib's
IsEVarandeffectiveSet, and it touches disjoint files.Milestone: EValues Layer 1.1. After this PR, what remains of Layer 1.1 is the dominated description of [LRR25, Lemma 4.5] through the Brannath–Schachermayer bipolar theorem, and its corollary for finite nulls [LRR25, Corollary 4.6]. Two later items consume this PR: Layer 1.2's criterion
P* ∈ effectiveSet S, and Layer 3.2's closure of e-processes under the probability measures ofeffectiveSet S(throughisEVar_effectiveSet_inter_iff).Local checks (not CI):
tauceti-local-checks verify --policy ordinaryexited 0.scope: scoped: against c4a9e04dde775bf5a60d932b093c88ab01b9246alake build --iofailsucceeded (8605 jobs).local-axioms: checked 2 changed module(s), 20 declaration(s); 0 violation(s)🤖 Prepared with Claude Code