Additive combinatorics studies what arithmetic structure follows from statistical signals. The Balog–Szemerédi–Gowers theorem is its central regularity statement: a pair of finite sets with large additive energy (many additive quadruples) contains large subsets whose sumset is small. Balog and Szemerédi proved the first version in 1994 using the regularity lemma, which gave a tower-type dependence between the parameters; Gowers obtained a polynomial dependence in 1998. The theorem powers results across the field — from sum-product estimates to the structure of sets with small doubling — and its proof assembles three reusable machines: dependent random choice, the popular-sum graph, and Ruzsa calculus.
Work in an arbitrary abelian group (Lean: AddCommGroup G). For finite
, the additive energy counts quadruples
with ; the trivial maximum is when
. The sumset is , and the difference set
is defined pointwise. A set has small doubling when is
linear in . The Lean development uses Finset.addEnergy and
Finset.addConvolution from Mathlib.
A bipartite graph here is an edge set of type Finset (G × G) with
, not a Mathlib SimpleGraph; solvers should state
graph hypotheses that way. Given such an , the partial sumset
is , following Tao–Vu Definition 2.28.
The mission goal is the two-set (equal-cardinality) form:
This statement is assembled from the sources rather than quoted from them: Tao–Vu Lemma 2.30 supplies the energy-to-graph step, Fox–Sudakov §5.1 (the same theorem as Tao–Vu Theorem 2.29) supplies the graph-level bound, and Ruzsa calculus converts a sumset bound into the difference-set bound above. No cited work states this exact form, and the goal deliberately keeps and existential; the explicit-constant variant is proved separately in the mission with .
The four milestones follow the sources' own numbering and are, in dependency order, Fox–Sudakov Lemma 5.1, Fox–Sudakov Lemma 5.2, the Fox–Sudakov §5.1 / Tao–Vu Theorem 2.29 graph bound with explicit constants, and Tao–Vu Lemma 2.30. The first three lie on the goal's proof path; the fourth is the reusable packaging of the energy-to-graph step.
The result converts a purely statistical hypothesis (many additive quadruples) into genuine algebraic structure (a large subset with a small difference set) with polynomial losses — the step that makes energy methods usable. It is a standard tool behind quantitative Freiman-type arguments.
Formalizing it matters because the constants are the content: the development
tracks explicit constants through dependent random choice (graph level
and ; energy level
and ),
which paper proofs often leave implicit. Fox–Sudakov state the application for
sets of integers; the formalization is over an arbitrary AddCommGroup, with
no further hypothesis on the group. Mathlib at the pinned revision (v4.33.1)
contains no BSG statement, so this fills a genuine upstream gap.
The hard step is dependent random choice: sampling a random vertex subset of the popular-sum graph must simultaneously keep many vertices and keep the induced subgraph dense, and the two requirements fight each other. The naive first idea — take the densest neighborhood — loses control of the vertex count; the fix is a two-stage Markov-plus-payoff selection whose density analysis needs the exact path-count lower bound, not just an order estimate.
Two places where the formalization departs from Fox–Sudakov are recorded on the affected statements rather than hidden: the length-three path count admits degenerate paths (the source's and terms are dropped, which weakens the conclusion and is sound for the BSG use), and the density parameter is instantiated at a guaranteed lower bound rather than the exact edge density.
Sets are Finset G in an AddCommGroup G with DecidableEq; energy is
Finset.addEnergy; graphs are edge sets Finset (G × G), with the pointwise
sumset and difference operations from open scoped Pointwise. Density
hypotheses are stated with explicit real constants. The counting lemmas at the
bottom of the development (sum_addConvolution_eq_card_product,
path3_count_le_triple_rep_count, restricted_sumset_via_multiplicity) are
unconditional; the statements that need them carry the nonemptiness,
equal-cardinality and density hypotheses that exclude degenerate zero-energy
configurations. Welcome contributions: the single-set polynomial
Freiman–Ruzsa consequences, and non-abelian variants.
Finset.pluennecke_ruzsa_inequality_nsmul_add;
see G. Petridis, New proofs of Plünnecke-type estimates for product sets in
groups, Combinatorica 32 (2012), 721–733
(arXiv:1101.3507).Combinatorics/Additive/BalogSzemerediGowers and
BSGEnergyToGraph.theorem Finset.balog_szemeredi_gowers_asymmetric {G : Type*} [AddCommGroup G] [DecidableEq G] :
∀ η : ℝ, 0 < η → ∃ c C : ℝ, 0 < c ∧ 0 < C ∧
∀ X Y : Finset G, X.Nonempty → Y.Nonempty → X.card = Y.card →
η * (X.card : ℝ) ^ 3 ≤ (Finset.addEnergy X Y : ℝ) →
∃ X' Y' : Finset G, X' ⊆ X ∧ Y' ⊆ Y ∧
c * (X.card : ℝ) ≤ (X'.card : ℝ) ∧
c * (Y.card : ℝ) ≤ (Y'.card : ℝ) ∧
((X' - Y').card : ℝ) ≤ C * (X.card : ℝ) := by sorry
Let be an arbitrary additive commutative group and . There exist constants and , depending only on , such that the following holds. Let be nonempty finite sets with whose additive energy satisfies
Then there exist subsets and with
Here counts the additive quadruples with and , and is the pointwise difference set. The cardinality bounds and already force and to be nonempty, so no separate nonemptiness clause is needed.
This is the qualitative asymmetric form of the Balog-Szemeredi-Gowers theorem: large additive energy forces large subsets whose difference set is linear in . The conclusion bounds the difference set , and this is not a restatement of a sumset bound. The graph step of the proof delivers a bound on the sumset, ; converting that into the difference-set bound is a separate Ruzsa argument (Finset.ruzsa_sumset_to_difference) which costs a factor, replacing the sumset constant by .
It is the top-level asymmetric conclusion of the project, deduced from the popular-sum graph construction, the graph (restricted-sumset) Balog-Szemeredi-Gowers theorem, and that Ruzsa conversion.
No open leaves. Every sub-goal is proved or awaiting decomposition.