Behrend's bound on Roth numbers #
This file proves Behrend's lower bound on Roth numbers. This says that we can find a subset of
{1, ..., n}
of size n / exp (O (sqrt (log n)))
which does not contain arithmetic progressions of
length 3
.
The idea is that the sphere (in the n
dimensional Euclidean space) doesn't contain arithmetic
progressions (literally) because the corresponding ball is strictly convex. Thus we can take
integer points on that sphere and map them onto ℕ
in a way that preserves arithmetic progressions
(Behrend.map
).
Main declarations #
Behrend.sphere
: The intersection of the Euclidean sphere with the positive integer quadrant. This is the set that we will map onℕ
.Behrend.map
: Given a natural numberd
,Behrend.map d : ℕⁿ → ℕ
reads off the coordinates as digits in based
.Behrend.card_sphere_le_rothNumberNat
: Implicit lower bound on Roth numbers in terms ofBehrend.sphere
.Behrend.roth_lower_bound
: Behrend's explicit lower bound on Roth numbers.
References #
- [Bryan Gillespie, Behrend’s Construction] (http://www.epsilonsmall.com/resources/behrends-construction/behrend.pdf)
- Behrend, F. A., "On sets of integers which contain no three terms in arithmetical progression"
- Wikipedia, Salem-Spencer set
Tags #
3AP-free, Salem-Spencer, Behrend construction, arithmetic progression, sphere, strictly convex
The frontier of a closed strictly convex set only contains trivial arithmetic progressions. The idea is that an arithmetic progression is contained on a line and the frontier of a strictly convex set does not contain lines.
Turning the sphere into 3AP-free set #
We define Behrend.sphere
, the intersection of the $L^2$ sphere with the positive quadrant of
integer points. Because the $L^2$ closed ball is strictly convex, the $L^2$ sphere and
Behrend.sphere
are 3AP-free (threeAPFree_sphere
). Then we can turn this set in
Fin n → ℕ
into a set in ℕ
using Behrend.map
, which preserves ThreeAPFree
because it is
an additive monoid homomorphism.
The box {0, ..., d - 1}^n
as a Finset
.
Equations
- Behrend.box n d = Fintype.piFinset fun (x : Fin n) => Finset.range d
Instances For
The intersection of the sphere of radius √k
with the integer points in the positive
quadrant.
Equations
- Behrend.sphere n d k = Finset.filter (fun (x : Fin n → ℕ) => ∑ i : Fin n, x i ^ 2 = k) (Behrend.box n d)
Instances For
Optimization #
Now that we know how to turn the integer points of any sphere into a 3AP-free set, we find a
sphere containing many integer points by the pigeonhole principle. This gives us an implicit bound
that we then optimize by tweaking the parameters. The (almost) optimal parameters are
Behrend.nValue
and Behrend.dValue
.
The (almost) optimal value of n
in Behrend.bound_aux
.
Instances For
The (almost) optimal value of d
in Behrend.bound_aux
.
Equations
- Behrend.dValue N = ⌊↑N ^ (↑(Behrend.nValue N))⁻¹ / 2⌋₊