Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

An active half-phase band admits a strict escape

Proved
LonelyRunner.CollectiveSecondFastest.strict_of_half_phase_band

by Whunt003 · Oct 7, 2026 · Mathlib 0df444a (Lean v4.33.1)

formalizationlonely-runnerlrc-shared-repair-20261007number-theory

Write d(x)=∣x−round⁡(x)∣d(x)=|x-\operatorname{round}(x)|d(x)=∣x−round(x)∣ for distance to the nearest integer. For finite sets R,W⊆NR,W\subseteq\mathbb NR,W⊆N, let S(n,R,W)={v∈N:0<v<n, v∉R}∪WS(n,R,W)=\{v\in\mathbb N:0<v<n,\ v\notin R\}\cup WS(n,R,W)={v∈N:0<v<n, v∈/R}∪W. A strict time means a real ttt such that d(vt)>1/nd(vt)>1/nd(vt)>1/n for every v∈S(n,R,W)v\in S(n,R,W)v∈S(n,R,W). Let n,r,m,Q∈Nn,r,m,Q\in\mathbb Nn,r,m,Q∈N, P=mrP=mrP=mr, and let WWW contain only positive speeds. Assume n≥5n\ge5n≥5, r>0r>0r>0, r+2≤n≤2rr+2\le n\le2rr+2≤n≤2r, r∈Rr\in Rr∈R, m≥2m\ge2m≥2, n<m(n−r)n<m(n-r)n<m(n−r), P<QP<QP<Q, Q∈WQ\in WQ∈W, every member of W∖{P,Q}W\setminus\{P,Q\}W∖{P,Q} is less than PPP, and no member of W∖{P}W\setminus\{P\}W∖{P} is divisible by rrr. Assume also ∣W∖{P,Q}∣+1<φ(r)|W\setminus\{P,Q\}|+1<\varphi(r)∣W∖{P,Q}∣+1<φ(r), r∣2Qr\mid2Qr∣2Q, and d(1/2−Q/(nmr))≤1/nd(1/2-Q/(nmr))\le1/nd(1/2−Q/(nmr))≤1/n. Then S(n,R,W)S(n,R,W)S(n,R,W) has a strict time. Membership of PPP in WWW is not required.

Preamble
import Mathlib
import Mathlib.Data.ZMod.Units
import Mathlib.GroupTheory.Index
import Mathlib.RingTheory.Coprime.Lemmas
import Mathlib.RingTheory.Int.Basic
import Definitions.Def_LRC_SharedRepair_Defs
Formal statement
open LonelyRunner
open LonelyRunner.CollectiveSecondFastest
open BadCover

/-- Once the canonical cover has forced the half-phase resonance, its common
band exit supplies a strict time. This is the geometric half of the theorem. -/
theorem LonelyRunner.CollectiveSecondFastest.strict_of_half_phase_band {n r m Q : ℕ} {R W : Finset ℕ}
    (hn : 5 ≤ n) (hr : 0 < r) (hrmax : r+2 ≤ n) (hm : 2 ≤ m)
    (hrR : r ∈ R) (hlarge : n ≤ 2*r)
    (hfull : n < m*(n-r)) (hpq : m*r < Q)
    (hWpos : ∀p ∈ W, 0 < p)
    (hslow : ∀p ∈ (W.erase (m*r)).erase Q, p < m*r)
    (hunique : ∀p ∈ W.erase (m*r), ¬r ∣ p)
    (hQ : Q ∈ W) (hcount : ((W.erase (m*r)).erase Q).card+1 < r.totient)
    (hd : r ∣ 2*Q)
    (hband : ndist (1/2-((Q:ℝ)/((m:ℝ)*r))/(n:ℝ)) ≤ 1/(n:ℝ)) :
    SeparatedMulti.HasStrictTime n R W := by sorry
Source
Wade Hunter, lonely-runner research repository, https://github.com/huntrontrakkr/lonely-runner; local source snapshot 9b5f51aa235e321a3ec794c9bf60358933a8e6dc, lean/LonelyRunner/CollectiveSecondFastest.lean, lines 211–303, declaration LonelyRunner.CollectiveSecondFastest.strict_of_half_phase_band. AI-assisted formalization. The snapshot identifier records the submitted local source; it is not a claim that this commit is publicly hosted.

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