-sum-free sets modulo
DefinitionModularSchurBasicThis bundle introduces the residue-level notion of sum-freeness on which the whole modular Schur development rests.
Fix a modulus and a number of summands , and work in the cyclic group . A finite subset is -sum-free modulo when no of its elements, repetitions allowed, sum to an element of :
the sum and the inequality both taken in .
For this is the classical sum-free condition behind the Schur numbers; letting vary gives the modular generalisation studied here. Every later definition and theorem in this mission is phrased in terms of this single predicate, so it is the shared vocabulary of the whole tree.
Formalization Note The -tuple is a function taking values in , which builds in repetitions allowed automatically, and the sum is the Finset sum over .
-- Generated from lean/ModularSchur/Basic.lean by skeleton
-- subtraction: every declaration except the def-material below is deleted,
-- and project imports are rewritten to their platform Definitions bundles.
import Mathlib
namespace ModularSchur
open Finset
/-- A subset `C ⊆ ZMod m` is **ℓ-sum-free mod m** iff no `(ℓ+1)`-tuple
from `C` (with repetitions) satisfies `x₁ + ⋯ + x_ℓ = y`. -/
def IsEllSumFree (m : ℕ) (ℓ : ℕ) (C : Finset (ZMod m)) : Prop :=
∀ f : Fin ℓ → ZMod m, (∀ i, f i ∈ C) → ∀ y ∈ C, (∑ i, f i) ≠ y
end ModularSchur