Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Separated insertion cuts and small-component rigidity

Definition
LRC_ComponentRigidity_Defs

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

definitionslonely-runnerlrc-component-rigidity-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 R,W⊆NR,W\subseteq\mathbb NR,W⊆N, put 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 is a real ttt with 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). Write GW⁡(n,r,m)\operatorname{GW}(n,r,m)GW(n,r,m) for the assertion that no natural number bbb with n−r≤b<m(n−r)n-r\le b<m(n-r)n−r≤b<m(n−r) is coprime to rrr. A separated cut C⊆WC\subseteq WC⊆W satisfies p+q<ngcd⁡(p,q)p+q<n\gcd(p,q)p+q<ngcd(p,q) for every p∈Cp\in Cp∈C and q∈W∖Cq\in W\setminus Cq∈W∖C. The insertion-component hypothesis means that WWW admits a finite partition into blocks of size at most two, each a separated cut. Equivalently, the graph joining distinct p,qp,qp,q when ngcd⁡(p,q)≤p+qn\gcd(p,q)\le p+qngcd(p,q)≤p+q has components of size at most two. WeakAt requires every moving-speed distance at the specified time to be at least 1/n1/n1/n. HasRepairs requires each deletion rrr to have some mrmrmr in the insertion set, with m≥2m\ge2m≥2 and GW satisfied, without assuming injectivity. Pairwise Separated requires the cut inequality for every pair of distinct insertions. The band indexed by (p,j)∈N×Z(p,j)\in\mathbb N\times\mathbb Z(p,j)∈N×Z is {t:∣pt−j∣≤δ}\{t:|pt-j|\le\delta\}{t:∣pt−j∣≤δ}. The finite index set for W,δ,L,UW,\delta,L,UW,δ,L,U contains (p,j)(p,j)(p,j) with p∈Wp\in Wp∈W and ⌊pL−δ⌋≤j≤⌈pU+δ⌉\lfloor pL-\delta\rfloor\le j\le\lceil pU+\delta\rceil⌊pL−δ⌋≤j≤⌈pU+δ⌉. Smooth(S,w)(S,w)(S,w) means every prime divisor of www divides SSS. The two-deletion strict-time predicate uses R={r,s}R=\{r,s\}R={r,s} and W={p,q}W=\{p,q\}W={p,q}. GW, distance, and the general strict-time predicate are imported from the earlier definition bundles. These are definitions, not assumed covering or matching results.

Definition code
import Mathlib
import Mathlib.NumberTheory.Bertrand
import Mathlib.NumberTheory.Primorial
import Definitions.Def_LRC_GW
import Definitions.Def_LRC_SharedRepair_Defs

namespace LonelyRunner















































end LonelyRunner

namespace LonelyRunner.BadCover





















end LonelyRunner.BadCover

namespace LonelyRunner.LaminarCover

open Set





end LonelyRunner.LaminarCover

namespace LonelyRunner.Farey



















end LonelyRunner.Farey

namespace LonelyRunner.CoprimeReplacements

open Farey BadCover





























end LonelyRunner.CoprimeReplacements

namespace LonelyRunner.SingleDeletion

open BadCover









end LonelyRunner.SingleDeletion

namespace LonelyRunner.BadCover











end LonelyRunner.BadCover

namespace LonelyRunner.MatchingArithmetic





end LonelyRunner.MatchingArithmetic

namespace LonelyRunner.LargeDeletionMatching

open BadCover SingleDeletion

/-- Strict loneliness for the baseline with two deletions and two insertions. -/
def HasStrictTime (n r s p q : ℕ) : Prop :=
  ∃ t : ℝ, ∀ v : ℕ,
    ((0 < v ∧ v < n ∧ v ≠ r ∧ v ≠ s) ∨ v=p ∨ v=q) →
    (1:ℝ)/n  <  ndist (t*v)

















end LonelyRunner.LargeDeletionMatching

namespace LonelyRunner.SeparatedBands

open BadCover









end LonelyRunner.SeparatedBands

namespace LonelyRunner

open Finset



























end LonelyRunner

namespace LonelyRunner

















end LonelyRunner

namespace LonelyRunner.FailedWindow

open Farey BadCover









end LonelyRunner.FailedWindow

namespace LonelyRunner.SeparatedReplacements

open LargeDeletionMatching SeparatedBands























end LonelyRunner.SeparatedReplacements

namespace LonelyRunner.MixedReplacements

open LargeDeletionMatching SeparatedReplacements













end LonelyRunner.MixedReplacements

namespace LonelyRunner.SeparatedMulti

open SeparatedReplacements SeparatedBands SingleDeletion



def Separated (n : ℕ) (W : Finset ℕ) : Prop :=
  ∀ p ∈ W, ∀ q ∈ W, p ≠ q → p+q < n*Nat.gcd p q



















end LonelyRunner.SeparatedMulti

namespace LonelyRunner.InteractionComponents

open Set

def band (δ : ℝ) (i : ℕ × ℤ) : Set ℝ := {t | |(i.1 : ℝ)*t-i.2| ≤ δ}

def SeparatedCut (n : ℕ) (W C : Finset ℕ) : Prop :=
  ∀ p ∈ C, ∀ q ∈ W, q ∉ C → p+q < n*Nat.gcd p q







noncomputable def bandsOn (W : Finset ℕ) (δ L U : ℝ) : Finset (ℕ × ℤ) :=
  W.biUnion fun p =>
    (Finset.Icc ⌊(p:ℝ)*L-δ⌋ ⌈(p:ℝ)*U+δ⌉).image (fun j => (p,j))











end LonelyRunner.InteractionComponents

namespace LonelyRunner.GWArithmetic

open SeparatedReplacements







end LonelyRunner.GWArithmetic

namespace LonelyRunner.ContactPreservation











end LonelyRunner.ContactPreservation

namespace LonelyRunner.GWContactArithmetic

open SeparatedReplacements ContactPreservation



















end LonelyRunner.GWContactArithmetic

namespace LonelyRunner.ComponentRestoration

open SeparatedMulti InteractionComponents









end LonelyRunner.ComponentRestoration

namespace LonelyRunner.GWGrowth

open SeparatedReplacements GWArithmetic

























end LonelyRunner.GWGrowth

namespace LonelyRunner.OddSmooth

open SeparatedReplacements GWGrowth

/-- All prime divisors of w divide S. -/
def Smooth (S w : ℕ) : Prop := ∀ p : ℕ, Nat.Prime p → p ∣ w → p ∣ S













end LonelyRunner.OddSmooth

namespace LonelyRunner.SecondUnit

open SeparatedReplacements GWArithmetic OddSmooth











end LonelyRunner.SecondUnit

namespace LonelyRunner.ElementarySmooth

open SeparatedReplacements OddSmooth GWArithmetic GWGrowth SecondUnit

















end LonelyRunner.ElementarySmooth

namespace LonelyRunner.FailedFlank

open Farey BadCover LargeDeletionMatching









end LonelyRunner.FailedFlank

namespace LonelyRunner.FlankReduction

















end LonelyRunner.FlankReduction

namespace LonelyRunner.MixedNormalize

open SeparatedReplacements SecondUnit GWArithmetic



end LonelyRunner.MixedNormalize

namespace LonelyRunner.MixedArithmetic

open SeparatedReplacements GWArithmetic GWGrowth FlankReduction SecondUnit



end LonelyRunner.MixedArithmetic

namespace LonelyRunner.NearData

open LargeDeletionMatching SeparatedReplacements







end LonelyRunner.NearData

namespace LonelyRunner.MixedConverse

open LargeDeletionMatching SeparatedReplacements MixedReplacements
open GWArithmetic GWGrowth FlankReduction









end LonelyRunner.MixedConverse

namespace LonelyRunner.SmallComponentRigidity

open SeparatedMulti SeparatedReplacements InteractionComponents

def HasRepairs (n : ℕ) (D C : Finset ℕ) : Prop :=
  ∀ r ∈ D, ∃ p ∈ C, ∃ m : ℕ, 2 ≤ m ∧ p=m*r ∧ GW n r m















/-- A partition into separated sets of size at most two. Equivalently, the
arithmetic insertion graph has no connected component larger than two. -/
def PairComponents (n : ℕ) (W : Finset ℕ) : Prop :=
  ∃ B : Finset (Finset ℕ), B.biUnion id=W ∧
    (B : Set (Finset ℕ)).PairwiseDisjoint id ∧
    ∀ C ∈ B, C.card ≤ 2 ∧ SeparatedCut n W C





/-- A weak lonely time for the modified consecutive baseline. -/
def WeakAt (n : ℕ) (R W : Finset ℕ) (t : ℝ) : Prop :=
  ∀ v : ℕ, ((0 < v ∧ v < n ∧ v ∉ R) ∨ v ∈ W) →
    1/(n:ℝ) ≤ ndist ((v:ℝ)*t)













end LonelyRunner.SmallComponentRigidity
Source
Wade Hunter, AI-assisted lonely-runner research, https://github.com/huntrontrakkr/lonely-runner; local source snapshot e63781c7cf2101e453103bfd9b215b72d162d05d; compiler-selected definition closure. The snapshot identifies the local submitted source, not a publicly hosted commit.

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