Subadditivity:
OpenErdos142.r_add_leFor all , and ,
Given a -AP-free set , split it into the part lying in and the part lying in . Both parts are again -AP-free, being subsets of a -AP-free set, and the second becomes a -AP-free subset of after translation by , since translating a set neither creates nor destroys arithmetic progressions. Adding the two bounds gives the inequality.
Subadditivity is the structural backbone of the subject: it is what makes the density converge (Fekete's lemma), so that Szemerédi's theorem can be stated as the assertion that the limit is zero, and it is what allows a bound proved on a subinterval to be assembled into a bound on the whole range. Mathlib records the case as rothNumberNat_add_le.
import Mathlib import Definitions.Def_Erdos142Basic
namespace Erdos142 theorem r_add_le (k M N : ℕ) : r k (M + N) ≤ r k M + r k N := by sorry end Erdos142
Read-back
What the Lean code literally says, in plain math · claude-opus-5
Read-back: Erdos142.r_add_le
The statement
The declaration asserts, for every triple of natural numbers (all three are ordinary explicit universally quantified variables of type , with no side hypotheses whatsoever):
Here is ordinary addition in , and the right-hand side is ordinary addition in ; both sides are natural numbers, so no subtraction or truncation is involved. That is the whole content: subadditivity of the function in its second argument, uniformly in .
What means (expanded from the bundle)
is defined in the accompanying bundle as a noncomputable function by
where:
- is the integer interval in (so it is empty when );
- is the cardinality of the finite set ;
- the supremum is the supremum of a set of natural numbers, taken in the conditionally complete lattice (it returns on an empty or unbounded index set; here the index set is always nonempty, since always qualifies, and always bounded above by );
- is the bundle's predicate
IsAPOfLengthFreeapplied to viewed as a subset of and to coerced into .
What literally says (expanded)
Unfolding two further bundle definitions, states:
Points to note about this expansion:
- ranges over arbitrary subsets of contained in (not only finite ones, though every such is finite here since is).
- is the extended-natural cardinality of , and the equation is an equality in ; so the witnessing progression must have exactly elements.
- is the -fold sum in the additive monoid, which in is the ordinary product .
- The common difference is not required to be nonzero, and the first term is not required to lie in ; the only constraint tying them to is together with the exact-cardinality condition. (For , the cardinality condition by itself forces , since makes the displayed set a singleton.)
- The consequent does not mention . So for the predicate says exactly: no subset of is of the form with exactly elements; and for the consequent is unconditionally true, so the predicate is vacuously satisfied by every set .
Parameter values the statement silently includes
Because there are no hypotheses on , , , the claim is asserted in particular for the following degenerate instances:
- and . As noted, holds for every when , so the defining supremum is over all subsets of and . The asserted inequality is then .
- . Every two-element subset of with is a witness, so only sets of size qualify.
- , , and . When the second argument is , the interval is empty, the only admissible is , and . So the statement includes and .
- There is no requirement that , that and be positive, or that .
Scope notes
The inequality is stated with , not , and is a single unconditional implication-free inequality, not an equivalence. The intervals appearing on the two sides are , and respectively — all three anchored at ; no translated interval such as occurs anywhere in the statement or in the definition of .
The bundle also contains elementary predicates HasAP and APFree (existence of with and for all , and its negation). These are not referenced by or by this theorem; the progression-freeness used here is the IsAPOfLengthFree version expanded above.