Repository navigation
feat: the exact Ville identity, the extended Ville inequality and Ville's inequality in ℝ≥0∞ - #399
Conversation
…le's inequality in ℝ≥0∞ Co-Authored-By: Claude Code <noreply@github.com> Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
AI review — approvedEach 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 |
… steps
Give the full title and arXiv identifier of [dlP+26]. Extract the monotone
convergence of integrals at truncated times as
`MeasureTheory.tendsto_lintegral_stoppedValueLimsup_min` in
Process/StoppedValue.lean, and the convergence of set integrals over
`{T ≤ N}` as a private lemma; use Mathlib's `ofReal_toReal_ae_eq`; drop the
redundant `hτN'`; share the stopping-time and `{k < τ}` measurability facts.
Co-Authored-By: Claude Code <noreply@github.com>
…dValue Co-Authored-By: Claude Code <noreply@github.com>
There was a problem hiding this comment.
🟡 reuse — request_changes claude/claude-opus-5-5
The exact Ville identity, the predictable-part lemmas and the ℝ≥0∞ Ville inequalities are new material; the one duplication is natCast_le_hittingAfter, a public cast-only wrapper around Mathlib's le_hittingAfter.
LMLExplore/Probability/Process/HittingTime.lean:32—natCast_le_hittingAfterrestates Mathlib'sle_hittingAfter, changing only the castWithTop.some nto(n : WithTop ℕ). It is a thin wrapper added as a new module and is used only twice. Fix: DeleteHittingTime.leanand its import inExactVille.lean, and atExactVille.lean:216and:311pass(fun ω ↦ (Nat.cast_withTop m).trans_le (le_hittingAfter ω))in place ofnatCast_le_hittingAfter.
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 · 52s · 358.1k in (326.3k cache read, 31.8k cache write) / 4.7k out tokens · reviewing this diff · rubric ·
…ality Derive the extended Ville inequality by applying Ville's maximal inequality to `M ⊓ c`, deleting the hand-built auxiliary process. Factor out `MeasureTheory.Supermartingale.condExp_sub_nonpos` and prove `antitone_predictablePart` from it. Make the hitting-time lower bound public as `MeasureTheory.natCast_le_hittingAfter` in a new `Probability/Process/HittingTime.lean`. Co-Authored-By: Claude Code <noreply@github.com>
…After Delete `LMLExplore/Probability/Process/HittingTime.lean`, whose only declaration `MeasureTheory.natCast_le_hittingAfter` restated Mathlib's `MeasureTheory.le_hittingAfter` at the cast `(n : WithTop ℕ)`. Its two uses in `ExactVille.lean` now pass `fun ω ↦ (Nat.cast_withTop m).trans_le (le_hittingAfter ω)` directly. Removed: `MeasureTheory.natCast_le_hittingAfter` (replaced by `(Nat.cast_withTop _).trans_le (MeasureTheory.le_hittingAfter _)`). Co-Authored-By: Claude Code <noreply@github.com>
…dentity-worker1 # Conflicts: # LMLExplore/Probability/Process/StoppedValue.lean
49ba251
This PR proves the exact Ville identity for
ℝ≥0∞-valued supermartingales [dlP+26, Theorems 1 and 4], with a horizon and without one, and derives from it Ville's inequality, its equality case, and the extended Ville inequality of [WR23, Theorem 4.1] for supermartingales with no integrability condition. This is EValues Layer 2.3, "The exact Ville identity and its consequences", first two bullets.Roadmap: EValues
LMLExplore/Probability/Martingale/Centering.lean(general, Mathlib-level, next to Mathlib'sProbability/Martingale/Centering.lean):MeasureTheory.setIntegral_stoppedValue_sub_eq_predictablePart: for an integrable process (Banach-valued, no adaptedness needed), bounded stopping timesσ ≤ τandsmeasurable atσ, the increments offand of its MathlibpredictablePartfromσtoτhave the same integral overs.MeasureTheory.Supermartingale.antitone_predictablePart: the supermartingale counterpart of Mathlib'sSubmartingale.monotone_predictablePart.LMLExplore/Probability/Martingale/ExactVille.lean(namespaceProbabilityTheory, onIsENNSupermartingale/IsTestSupermartingalefrom Layer 2.1 andstoppedValueLimsupfrom Layer 2.2):IsENNSupermartingale.setLIntegral_eq_add_stoppedValueLimsup: exact optional stopping. Form ≤ τ ≤ Nands ∈ ℱ m,∫⁻ s, M mis the integral ofMatτplus that of the predictable decrease,ofReal (A m - A τ)withAthe predictable part of the real values.IsENNSupermartingale.setLIntegral_eq_add_stoppedValueLimsup_minandIsENNSupermartingale.setLIntegral_eq_add_stoppedValueLimsup_add_iInf: the same exact optional stopping at any stopping timeT ≥ m(possibly infinite). With a horizonN ≥ m:∫⁻ s, M misM Tovers ∩ {T ≤ N}, plus the decrease atT ∧ N, plusM Novers ∩ {N < T}. Without one:M Tovers ∩ {T ≠ ⊤}, plus the decrease atT, plus⨅ N ≥ m, ∫⁻ s ∩ {N < T}, M N. The exact Ville identities below are these at the hitting time.setLIntegral_eq_exact_ville_horizonandlintegral_zero_eq_exact_ville_horizon[dlP+26, Theorem 1]:∫⁻ M 0 = b P(T ≤ N) + overshoot + decrease + remainder, withT = hittingAfter M (Ici b) 0. The first is stated from any timemon anyℱ m-measurable set, the second is the roadmap's statement. The identity holds for every levelb : ℝ≥0∞and everyM 0with finite expectation, soM 0 = 1andb > 1are special cases.setLIntegral_eq_exact_villeandlintegral_zero_eq_exact_ville[dlP+26, Theorem 4]: the identity without horizon. The overshoot is taken over{T ≠ ⊤}, the decrease is read atTthroughstoppedValueLimsup, and the remainder is⨅ N ≥ m, ∫⁻ s ∩ {N < T}, M N, which is the limit of the finite-horizon remainders.mul_measure_inter_eq_setLIntegral_iff: equality in Ville's inequality holds exactly when overshoot, decrease and remainder all vanish.measure_inter_exists_le_le[WR23, Theorem 4.1]:P (s ∩ {∃ n ≥ m, c ≤ M n}) ≤ (∫⁻ s, min (M m) c) / cfor everyℝ≥0∞-valued supermartingale, with no integrability. The proof applies the identity to the process that equalscbeforemandMons ∩ {M m < c}frommon.IsENNSupermartingale.measure_exists_le_le,IsTestSupermartingale.measure_exists_le_le,IsTestSupermartingale.measure_exists_inv_le_le: Ville's inequalityP {∃ n, c ≤ M n} ≤ ∫⁻ M 0 / c, and its level formP {∃ n, α⁻¹ ≤ M n} ≤ αfor test supermartingales. These are the shapes ofSuggested.lean, generalized from{P}to any finite member of the null.The decrease is expressed with Mathlib's
predictablePartof(M n).toReal, as the roadmap asks. Since the predictable part of a supermartingale is a.s. antitone, the decrease is the value atT ∧ Nof the a.s. nondecreasing processn ↦ ofReal (A m - A n). All four terms are nonnegative inℝ≥0∞. Nothing is vendored, and no existing declaration is removed or renamed. I searched Mathlib, Tau Ceti, LML, Statlib andLMLExplore/for Ville-type statements, stopped Doob decompositions and antitonicity ofpredictablePart. The only related results are Mathlib'sSubmartingale.monotone_predictablePartandSubmartingale.expected_stoppedValue_mono(real, inequality form) and LMLExplore's realSupermartingale.measure_exists_le_le(Probability/Martingale/Ville.lean), and this PR leaves them unchanged.What remains in Layer 2.3 after this PR: the randomized form [RM26, Corollary 4.1.1], the sharp curved-boundary bound [KPL25, Theorem 2.1], and re-deriving LMLExplore's real
Supermartingale.measure_exists_le_lefrom the newℝ≥0∞inequality through the bridge.Local checks (
tauceti-local-checks verify --policy ordinary, not CI) passed:scope: scoped: against 13fc17b, whole-librarylake build --iofailgreen,local-axioms: checked 2 changed module(s), 29 declaration(s); 0 violation(s), plus module-system, header-style and environment lint. The shared memory gate on this host was stalled, so the build ran withPATH/LEANpointing directly at the pinned toolchain.🤖 Prepared with Claude Code