The polynomial that bounds the caps
Worth reading first: Twenty cards with no set among them · A sum of two sets modulo a prime cannot be small.
Twenty cards with no set among them asks how large a cap can be — a set of points in with no three on a line, which is the same as no three distinct points adding to nought. The largest caps are known up to dimension six, and in general they grow like for an unknown at least about . The question that essay leaves is whether is less than : whether a cap must be an exponentially small part of the space, or merely a part that shrinks like a power of the dimension.
For forty years the second was all anybody could prove. Roy Meshulam’s bound of 1995 showed a cap has at most about points, by the Fourier-analytic method Klaus Roth had used on progressions in the integers, and fifteen years of effort by strong mathematicians improved the only to or so. Then, in May 2016, Ernie Croot, Vsevolod Lev and Péter Pál Pach found an exponential bound for a closely related problem in , Jordan Ellenberg and Dion Gijswijt adapted their idea to caps within days, and the result was this:
which grows like . The proof fits on a page. Every step of it can be drawn, and none of it looks at the cap except to use the fact that it is one.
A table that is diagonal on a cap
Start from what a cap is. For points , , of a set , the sum is nought in two situations: when the three form a line, and when they are the same point, since modulo three. A cap has no lines, so on a cap happens only when .
Record that in a three-dimensional table indexed by , with a one wherever and a nought elsewhere.
Over the cap of four in the figure the table is diagonal: the four cells where all three indices agree are filled, and nothing else. Over four points containing a line it is not, because the line’s three points add to nought in all six orders. A diagonal table with nonzero entries on its diagonal is, in the right sense, as large as its side: it is a three-dimensional version of an identity matrix, and an identity matrix of size has rank . The whole proof consists of showing that the table has another description that forces its rank to be small — so that , being the rank, must be small too.
One polynomial that computes the table
Over the integers mod 3, a number satisfies if and otherwise, because and both leave remainder one on division by three. That is the indicator trick the count of solutions divisible by is built on, with . Multiplying over the coordinates gives a polynomial that is one exactly when a whole vector is nought:
It is one when and nought otherwise, so on it is the table. It has degree , since each factor has degree two, and that degree is the whole of what the proof will use: a polynomial that detects “nought” in every coordinate at once cannot help having degree twice the dimension, and the question is whether degree spread across three sets of variables is small. And because for every in the field, any exponent of three or more can be reduced, so every monomial in can be written with each variable raised to a power of at most two.
Expand the product. Each monomial is a product of powers of the , the and the , and it has an -part, a -part and a -part — the degrees of the three kinds of variable in it — which add up to at most .
Three parts that cannot all be large
Here is the one idea the proof needs, and it is a pigeonhole.
If three numbers add to at most , they cannot all be larger than . So every monomial of has at least one part of degree at most . Sort the monomials into three piles by that part — the ones whose -part is small, then of the rest the ones whose -part is small, then the ones whose -part is small — and every monomial lands in a pile, as the triangle of dots shows for .
Now group the first pile by its -part. Every monomial there is times something in and , where is a monomial of degree at most with exponents at most two. So the first pile is a sum
over the allowed -monomials , and there are exactly of those. The second pile is similarly a sum of at most terms , and the third of at most terms . So the table has been written as a sum of at most pieces, each of the form a function of one variable times a function of the other two.
Slice rank: why a diagonal table cannot be that cheap
A piece of the form is called a slice, and the smallest number of slices adding up to a table is its slice rank. The polynomial has just shown that the slice rank of the cap’s table is at most . The last step, in Terence Tao’s formulation of the argument a few weeks after it appeared, is that a diagonal table with nonzero entries on its diagonal has slice rank exactly equal to its side.
For two-dimensional tables this is the familiar statement that the rank of a matrix — the fewest pieces that add up to it — is the size of an identity matrix. In three dimensions the proof takes one more step. Suppose the diagonal table were a sum of fewer than slices. The -slices use some functions , fewer of them than , so there is a function on that is orthogonal to all of them and is nonzero at more points of than there are - and -slices together — a dimension count on the functions on provides one. Summing the table against in the variable kills every -slice and leaves a two-dimensional table in and : diagonal, with ’s values on the diagonal, so of rank equal to the number of points where is nonzero. But it is written with only the - and -slices, fewer pieces than that rank, which is impossible.
Put the two together. The cap’s table is diagonal with ones on its diagonal, so its slice rank is . It is also computed by a polynomial that splits into at most slices. So
That is the whole proof, and the only thing in it that depends on the dimension is .
The argument run by hand in one and two dimensions
It is worth running the proof where every term can be written out, because it shows both how it works and how weak it is in small cases.
In one dimension the polynomial is . Expanded modulo three, where , it is
The degree bound is , so a part counts as small only if its degree is nought. Every term has at least one variable missing — the constant has all three missing, is missing and , is missing — so every term has a small part, and the piles are: terms with no , which are , a slice with the constant function in ; terms with an but no , which are , a slice with the constant in ; and the one term with both, , which has no . Three slices, each using the single allowed monomial , so and the bound is . The truth is two. The argument has done its job and wasted a point.
In two dimensions the allowed monomials are those of degree at most , which is , and , so and the bound is — the whole plane. It says nothing at all. It takes until dimension four for the bound to fall below the space ( against ), and until the thirties for it to beat the Fourier bound. A method that proves the exponential theorem in a page proves nothing useful about any case a person could check by hand, which is the reverse of the usual relation between small cases and theorems, and part of why the idea took so long to be tried.
Counting the monomials
counts the vectors of exponents with each in and sum at most . All exponent vectors, sorted by their sum, make a bell curve centred on .
The cut at lies a third of the way from the centre towards the bottom of the range. Each exponent is , or with average , so the sum of of them concentrates around with a spread of about — the same concentration that makes a bell curve out of coin flips — and a cut a distance below the centre is about spreads away. The share below it therefore falls exponentially — not the bell curve’s own rate, since a deviation proportional to is governed by the large deviations of the tail rather than by the bell, but exponentially all the same. At twelve variables the share is already ; at sixty it is about one part in 350.
The rate has a clean formula. Counting vectors with sum at most is bounded by the standard trick of weighting each exponent by for a below one: for every in , and choosing the best gives
attained near . So the bound grows like , while the space grows like .
Watching the bound fall behind
In small dimensions the bound is useless. At it gives , more than twice the true and more than half the space; at it gives against a true . It overtakes Meshulam’s only past dimension thirty. By dimension sixty it is one part in 354 of the space, and by dimension six hundred it is about one part in — the power of an exponential rate, which no bound that shrinks like a power of can match however far it is pushed. Its virtue is entirely in the slope: on a logarithmic scale it is a line less steep than the space’s, so the gap between them grows without limit, and the cap’s share of the space, at most , shrinks like — exponentially.
The approach to the limit is slow — the -th root is still at a thousand variables — because carries a factor that is a power of in front of its exponential, and a power of affects the -th root only through a correction of order . Every value is below the limit, since the optimised weighting bound is an upper bound at every .
Why forty years of Fourier analysis missed it
The polynomial argument is strange in two ways, and both are the reason it was surprising.
It never uses the cap’s size to find structure. The Fourier method Meshulam used works by density increment: a large cap must correlate with some hyperplane, so pass to a slice where it is denser and repeat. Each step gains a little, the gains add up to a factor of , and nobody could make them compound. The polynomial method gains nothing step by step. It writes down one object that knows the cap is a cap — the diagonal table — and compares two counts of its size, one from the diagonal and one from the degrees.
And it bounds the wrong thing, on purpose. The slice rank of the table is at most whatever the set is; the argument’s only use of the cap is to make the table diagonal. That is why it is so short, and also why it cannot be sharp: it does not see which points are in the cap beyond the absence of lines. It is the same move Dvir made for Kakeya sets in 2008 — find a polynomial of low degree that vanishes where the set is, and show that low degree is incompatible with the set’s size — and Cauchy–Davenport’s polynomial proof is its oldest ancestor. The method had been available for a decade. What nobody had seen was that a three-variable table could be split by degree into slices.
What else fell to the same page
The argument was generalised within weeks, and each generalisation is the same three moves with a different table.
For any prime , a set in with no three-term progression has at most points for a constant — the same proof, with as the indicator and the degree cut at . The problem Croot, Lev and Pach solved first, progressions in , needed a slightly different indicator because is not a field. Eric Naslund and William Sawin used the method in 2017 to bound sunflower-free families of subsets — collections in which no three sets have pairwise intersections all equal — settling an exponential form of a question Paul Erdős and Endre Szemerédi had asked in 1978. And the slice-rank lemma itself became a tool in the study of matrix multiplication, where the rank of three-dimensional tables is exactly what decides how fast two matrices can be multiplied.
What did not fall is the original question for the integers. A set of whole numbers up to with no three-term progression can be far larger than any power with — Felix Behrend built ones of size in 1946 — so no polynomial bound of this shape can hold there, and the progressions in the integers needed quite different ideas. The finite-field version was easier because the space has so much linear structure that degree can be counted.
What the pictures cannot show
The slice-rank lemma. The figures show a diagonal table over a cap of four and a pigeonhole over the degrees; they do not show that a diagonal table cannot be written with fewer slices than its side. That lemma is proved by induction, not drawn, and it is the step on which the whole bound rests.
Any cap near the bound. The bound is not sharp and the figures do not suggest otherwise: the largest caps known sit far below it in every dimension drawn, and the true growth rate is somewhere between about and .
The limit. The rate figure reaches three thousand variables and ; the limit is the minimum of a one-variable function, computed rather than seen.
That the argument is a proof at all. The simplex figure shows that every split of a degree has a small part, for one value of ; the monomial histogram counts the small monomials for one value of . Neither shows the chain of reasoning that joins them — that the table equals the polynomial on the cap, that the polynomial splits into slices, that slices bound the rank. Each figure is a check of one link, not of the chain.
Still open: whether 2.7551 can be beaten
The bound is best possible for a looser problem, and that is the strongest evidence that a new idea is needed to improve it. A tri-coloured sum-free set is a collection of triples with exactly when — the diagonal condition without requiring the three coordinates to come from one set. The slice-rank argument bounds these by just as well, and Robert Kleinberg, William Sawin and David Speyer, with a construction completed by Sergey Norin and by Luke Pebody, showed in 2018 that tri-coloured sum-free sets of size really exist. So any argument that works equally for tri-coloured sets can never prove a better bound for caps.
Whether caps themselves grow at a rate below is not known, and nor is the rate. The best constructions give about , found in 2023 with the help of a computer search over structured caps in modest dimensions. A proof that caps are much smaller than tri-coloured sets would have to use the fact that , and come from the same set — the one thing the polynomial argument deliberately forgets.
What links here
Computed from the collection, not written here: the essays that point at this one.
Shares its objects with
Essays that name at least two of the same things, and that neither author linked.
- A filter that changes only the spread — both name finite field, pigeonhole principle, rank
- A field's worth of squares — both name counting argument, finite field
- A plane in a list of numbers — both name counting argument, finite field
- Eighteen people, and the seventeen that escape — both name counting argument, pigeonhole principle
- Every element is a power of one of them — both name counting argument, finite field
- Every fifth one divides — both name counting argument, rank
Named objects
A dashed tag is an object no other essay names yet.
Cap setCounting argumentFinite fieldLarge deviationsNormal distributionPigeonhole principlePolynomial methodRank