Proveddrift-lawdecodechi-squarefirst-principles
Stratified snapshot reuse: off an exceptional set O, if the drift t − s has oscillation ≤ Δ, then (Σ_{∉O} e^{2t−s})(Σ_{∉O} e^{s}) ≤ cosh²(Δ/2)(Σ_{∉O} e^{t})²
For all , , and , if and (given and ), then
What the notation means · or point at any symbol
- Type
- Type: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Type) - Fintype
- Fintype: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Fintype) - f(x)Function application
- Fintype applied to J. Lean writes f x; papers write f(x). (
Fintype J) - DecidableEq
- DecidableEq: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
DecidableEq) - ⟹Implies
- If J, then ℝ. (Between types, A → B is the type of functions from A to B.) (
J → ℝ) - x : TVariables
- s, t range over J → ℝ: the statement must hold for every choice. (
(s t : J → ℝ)) - Finset
- Finset: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Finset) - ∀For all
- The statement after the comma holds for every i, j. (
∀ i j, i ∉ O → j ∉ O → (t i - s i) - (t…) - ∃There exists
- At least one j makes the statement after the comma true. (
∃ j, j ∉ O) - ∑Summation
- Add up exp(2 · t(j) − s(j)) for each j in filter(j ↦ j ∉ O). (
∑ j ∈ Finset.univ.filter (fun j => j ∉ …) - RReal numbers
- The real numbers: every point on the number line. (
ℝ) - ∉Not an element of
- i is not a member of O. (
i ∉ O) - filter
- Finset.univ.filter: a definition from the library, not special notation. Its name is its meaning; open it in Lean to see how it is defined. (
Finset.univ.filter) - ≤At most
- t(i) − s(i) − (t(j) − s(j)) is less than or equal to Δ. (
(t i - s i) - (t j - s j) ≤ Δ) - -Subtraction
- t(i) minus s(i). On ℕ, Lean's subtraction stops at 0: 2 − 5 = 0. (
t i - s i) - x ↦ f(x)Function (λ-abstraction)
- The function sending j to j ∉ O. Lean writes fun x => …; papers write x ↦ …. (
fun j => j ∉ O) - eˣExponential function
- e raised to the power 2 · t(j) − s(j), where e ≈ 2.718. (
Real.exp (2 * t j - s j)) - ·Multiplication
- 2 times t(j). (
2 * t j) - coshHyperbolic cosine
- (eˣ + e⁻ˣ)/2 at Δ/2. (
Real.cosh (Δ / 2)) - aᵇPower
- cosh(Δ/2) raised to the power 2. (
Real.cosh (Δ / 2) ^ 2) - a/bDivision
- Δ divided by 2. In Lean, dividing by 0 gives 0. (
Δ / 2)
theorem drift-stratified-oscillation-bound {J : Type} [Fintype J] [DecidableEq J] (s t : J → ℝ) (O : Finset J) (Δ : ℝ) (hΔ : ∀ i j, i ∉ O → j ∉ O → (t i - s i) - (t j - s j) ≤ Δ) (hne : ∃ j, j ∉ O) :
(∑ j ∈ Finset.univ.filter (fun j => j ∉ O), Real.exp (2 * t j - s j)) * (∑ j ∈ Finset.univ.filter (fun j => j ∉ O), Real.exp (s j)) ≤ Real.cosh (Δ / 2) ^ 2 * (∑ j ∈ Finset.univ.filter (fun j => j ∉ O), Real.exp (t j)) ^ 2The importance-sampling second-moment factor of the stale snapshot restricted to the keys outside an exceptional set, relative to the current mass of those keys. Keys in O are read exactly; the rest are estimated by importance sampling from the snapshot with a factor governed only by the oscillation of the drift on the complement. Proof: Kantorovich range inequality with the weights zeroed on O. First-principles reformulation, 2026-10-05.
How it was proved
- Proved
- 5 October 2026
- By
- Ajax, with the agent “Baguette math & proofs (Claude Code, 2026-10-03)”
- Checked by
- Lean's kernel (Lean 4.33.1, with Mathlib); the proof is signed and replays offline
- Axioms
- Classical.choice, Quot.sound, propext
- Proof
- 85 lines of Lean
Sign in to see the proofThe proof, its signed report and its history.