Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The BCR Lemma 12 level invariant at the tight escape price

Definition
KServer_bcr_induction_tight

by Zexuan Liu · Sep 7, 2026 · Mathlib c5ea003 (Lean v4.30.0)

chunk-systemk-serveronline-algorithms

The level-www invariant of Bubeck--Coester--Rabani's Lemma 12, in the form the formalized level-step machinery can consume.

Let Mw=bcrLevel2 β w\mathcal M_w=\mathtt{bcrLevel2}\ \beta\ wMw​=bcrLevel2 β w be the canonical recursive Θ\ThetaΘ-glued space with marked points sw,tws_w,t_wsw​,tw​ at distance dw=β 3wd_w=\beta\,3^wdw​=β3w. The predicate ChunksTight(α,β,w)\mathrm{ChunksTight}(\alpha,\beta,w)ChunksTight(α,β,w) asserts that there are a chunk count MMM and a filtered chunk system with online escapes on Mw\mathcal M_wMw​ between sws_wsw​ and twt_wtw​ with

  • size window [3w/2, 3⋅3w/2]\bigl[3^w/2,\ 3\cdot 3^w/2\bigr][3w/2, 3⋅3w/2],
  • expected total size at least αβw23w\alpha\beta w^2 3^wαβw23w,
  • escape price β 3w=dw\beta\,3^w=d_wβ3w=dw​,
  • exactly MMM chunks, with M≥⌈αβw2⌉M\ge\lceil\alpha\beta w^2\rceilM≥⌈αβw2⌉,
  • constant initial information,
  • no empty chunk.

It differs from KServer.BCRInductiveChunks in three respects, each of them a hypothesis that the proved level steps KServer.level_step_sturdy and KServer.level_step_full require of their input and that the older predicate does not supply.

The escape price. Both level steps assume hpD : p ≤ dist s t of the incoming system, whereas BCRInductiveChunks fixes the price at 2β3w=2dw2\beta 3^w=2d_w2β3w=2dw​. The parameter cannot be repaired after the fact: a chunk system's cost bound is stated against the escape price, so KServer.ChunkSystemB.adjust can only raise it, never lower it. Consequently no system satisfying BCRInductiveChunks can be fed to either level step. Taking the price to be exactly dwd_wdw​ removes the obstruction and is preserved by the recursion, since a level step may output any price at least as large as its input's and the next level has dw+1=3dwd_{w+1}=3d_wdw+1​=3dw​.

The chunk count. A level step needs the number of chunks to be exactly the type-level parameter MMM; BCRInductiveChunks records only the lower bound ⌈αβw2⌉≤m\lceil\alpha\beta w^2\rceil\le m⌈αβw2⌉≤m, and adjust can lower a count bound but not raise it.

Nonempty chunks. Both the level step and the regrouping combinator KServer.chunk_combining_strong require it, and it is what the padding lemmas KServer.chunk_pad2--chunk_pad4 are for.

The two-sided size window is kept, because KServer.chunk_window_invariants and KServer.chunk_window_variance convert it directly into the sturdiness defect, the Doob jump bound, the below-floor count and the variance bound that the level step also takes as input, so no further probabilistic hypothesis has to be carried explicitly.

The invariant is a strengthening of BCRInductiveChunks: raising the price to 2dw2d_w2dw​ and forgetting the count and nonemptiness recovers it.

Definition code
import Mathlib
import Definitions.Def_KServer_bcr_space2
import Definitions.Def_KServer_chunk_system_b

namespace KServer

/-- The level-`w` invariant of BCR's Lemma 12, stated with the escape price
`d(s_w,t_w) = β·3^w` (rather than twice that), with the exact chunk count and
with nonempty chunks: exactly the interface the proved level-step lemmas
consume and produce. -/
def BCRInductiveChunksTight (α : ℝ) (β : ℕ) (hβ : 0 < β) (w : ℕ) : Prop :=
  ∃ (M : ℕ) (C : @ChunkSystemB (bcrLevel2 β hβ w).carrier (bcrLevel2 β hβ w).metric
      (bcrLevel2 β hβ w).s (bcrLevel2 β hβ w).t
      ((3 : ℝ) ^ w / 2) (3 * (3 : ℝ) ^ w / 2)
      ((α * β * (w : ℝ) ^ 2) * 3 ^ w) ((β : ℝ) * 3 ^ w) M),
    C.m = M ∧ ⌈α * β * (w : ℝ) ^ 2⌉₊ ≤ M ∧
      (∀ ω₁ ω₂ : C.Ω, C.hist 0 ω₁ = C.hist 0 ω₂) ∧
      (∀ (ω : C.Ω) (i : Fin C.m), C.chunk ω i ≠ [])

end KServer

Source
S. Bubeck, C. Coester, Y. Rabani, The randomized k-server conjecture is false!, STOC 2023, https://arxiv.org/abs/2211.05753, Lemma 12 (p. 14, properties 1-7; the escape price of property 4 is 2 d_w(s_w,t_w) there). Interface adjusted to the hypotheses of the platform theorems KServer.level_step_sturdy and KServer.chunk_combining_strong.

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me