Two half-phase blockers of a slower repair leave a strict time
ProvedLonelyRunner.SharedSlowestHalf.strict_of_two_halfformalizationlonely-runnerlrc-shared-repair-20261007number-theory
Write for distance to the nearest integer. For finite sets , let . A strict time means a real such that for every . Let with , , , , , and . Assume , , , and . Then has a strict time.
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.SharedSlowestHalf
open CollectiveSecondFastest CollectiveUnits BadCover
/-- Two half-phase blockers always leave a strict primitive flank. -/
theorem LonelyRunner.SharedSlowestHalf.strict_of_two_half {n r m q u : ℕ} {R : Finset ℕ}
(hr : 7 ≤ r) (hrmax : r+2 ≤ n) (hm : 0 < m)
(hrR : r ∈ R) (hlarge : n ≤ 2*r) (hfull : n < m*(n-r))
(hpq : m*r < q) (hqu : q < u)
(hq : r ∣ 2*q) (hu : r ∣ 2*u) (hnq : ¬r ∣ q) (hnu : ¬r ∣ u) :
SeparatedMulti.HasStrictTime n R {m*r,q,u} := by sorry
Source
Wade Hunter, lonely-runner research repository, https://github.com/huntrontrakkr/lonely-runner; local source snapshot 9b5f51aa235e321a3ec794c9bf60358933a8e6dc, lean/LonelyRunner/SharedSlowestHalf.lean, lines 51–111, declaration LonelyRunner.SharedSlowestHalf.strict_of_two_half. AI-assisted formalization. The snapshot identifier records the submitted local source; it is not a claim that this commit is publicly hosted.