Singleton safety: {r} is ℓ-sum-free iff (ℓ−1)r≡0
ProvedModularSchur.singleton_sumFree_iffby mysticflounder · Sep 19, 2026 · Mathlib 0df444a (Lean v4.33.1)
additive-combinatoricscombinatoricsmodular-schur-numbersnumber-theorysum-free-sets
This is the singleton safety criterion, the elementary test that drives every bound in the mission.
Let m be a modulus, let ℓ≥1, and let r∈Z/m be a residue. The one-element class {r} is ℓ-sum-free modulo m exactly when
(ℓ−1)r=0in Z/m.
The reason is immediate: the only ℓ-fold sum available inside {r} is ℓr, and the only possible target is r itself, so the class fails precisely when ℓr=r.
Singletons are the cheapest possible colour classes, so this criterion is what decides how far an all-singletons colouring can reach. It is used in both directions throughout the mission: to certify that small residues are safe, and to exhibit the one residue that is not.
Formalization Note The cast (ℓ:Z/m) is the image of the natural number ℓ, so the left-hand factor is written (ℓ:Z/m)−1 rather than as a cast of ℓ−1; the two agree because ℓ≥1.
Preamble
import Definitions.Def_ModularSchurBasic
import Mathlib
open ModularSchur
open Finset
variable {m : ℕ}
Formal statement
theorem ModularSchur.singleton_sumFree_iff (ℓ : ℕ) (hℓ : 1 ≤ ℓ) (r : ZMod m) :
IsEllSumFree m ℓ {r} ↔ ((ℓ : ZMod m) - 1) * r ≠ 0 := by sorrySource
McKenna 2026, "Prime-power structure of the stable regime for modular Schur numbers", docs/paper/modular-schur.pdf in the same repository, Lemma 2.3 (Singleton safety). Prior art: the paper states "This is [DSWH2025, Theorem 4] rewritten in the variables natural for our application"; see D'orville, Sim, Wong and Ho, "Modular generalizations of Schur numbers", Integers 25 (2025) #A62, https://math.colgate.edu/~integers/z62/z62.pdf. Lean source: https://github.com/mysticflounder/modular-schur/blob/eb6098890f05eff39190e6cd8e41fdea53fa81f9/lean/ModularSchur/SingletonSafety.lean#L20-L24
View graph
Confirmed by the mission captain (proposal self-audit).