The quasipolynomial dense Bogolyubov theorem #
This file was automatically generated by Codex.
For a nonempty subset of a finite cyclic group of density alpha, its double
difference set contains a Bohr set of rank O(log^4(1/alpha)), reciprocal
radius O(alpha^(-1) log^4(1/alpha)), and density exp(-O(log^5(1/alpha))).
The proof combines sampling almost periods, Chang's spectrum theorem and
finite Fourier analysis. Statements and local definitions use Mathlib
and local vocabulary; proofs reuse the previously verified sampling and
spectrum prerequisites. Reference: blueprint lem:dense-Bohr, lines 786-820.
The positive source witness mu_A * mu_A * 1_{-(A+A)}, expressed using
probability averages on A so the normalization is explicit.
Equations
Instances For
The witness is exactly one at the identity, not merely bounded below.
The witness vanishes outside the actual sum-difference set.
Positivity of the witness is sufficient for the desired containment.
Convolution with the uniform probability measure on a finite set.
Equations
- TrilinearHT.Auto.bogolyubovAverage A f x = A.expect fun (a : G) => f (x - a)
Instances For
A pointwise estimate for averaging an arbitrary function on a translate of A.
Convolution turns an L^p translation bound into a uniform bound.
Sampling almost periods after the second convolution, for any bounded input.
The real positive witness is the actual double convolution of the indicator.
The source's real exponent, logarithmic number of iterations and tolerance.
Equations
- TrilinearHT.Auto.bogolyubovExponent α = max 2 (Real.log (1 / α))
Instances For
Accuracy used in each Bogolyubov sampling step.
Equations
Instances For
Sample size required by the Bogolyubov accuracy and exponent budgets.
Equations
Instances For
The parameters give the advertised uniform error, with room in the constant.
The positive witness has uniform almost periods on the required iterated difference set.
This is the displayed estimate in blueprint lem:dense-Bohr, lines 801-805.
The chosen sampling length has the source's O(p epsilon^(-2)) bound.
Repeated averaging against the probability law of a difference of two points of X.
Equations
- TrilinearHT.Auto.bogolyubovSmooth X 0 x✝¹ x✝ = x✝¹ x✝
- TrilinearHT.Auto.bogolyubovSmooth X k.succ x✝¹ x✝ = X.expect fun (a : G) => X.expect fun (b : G) => TrilinearHT.Auto.bogolyubovSmooth X k x✝¹ (x✝ + a - b)
Instances For
Smoothing changes an almost-invariant function by at most its uniform translation error.
Probability-normalized cyclic Fourier transform, with the negative-character convention.
Equations
- TrilinearHT.Auto.bogolyubovFourier f ξ = Finset.univ.expect fun (x : ZMod q) => f x * ZMod.stdAddChar (-(ξ * x))
Instances For
The iterated averaging multiplier in blueprint lem:dense-Bohr, line 810.
The probability density of a finite subset, relative to normalized counting measure.
Equations
Instances For
The positive witness has Fourier l1 mass at most the reciprocal density of A.
The circle exponential is Lipschitz for the quotient-circle distance.
A Bohr set, using the quotient norm on the additive circle.
Equations
- TrilinearHT.Auto.bogolyubovBohrSet S ρ = {u : ZMod q | ∀ s ∈ S, ‖ZMod.toAddCircle (s * u)‖ < ρ}
Instances For
Splitting at spectral threshold one half gives the uniform Fourier translation estimate.
The source radius balances the large spectrum against reciprocal density.
Equations
- TrilinearHT.Auto.bogolyubovRadius α d = α / (1000 * (↑d + 1))
Instances For
Sampling and Chang produce a smoothing that is close to the positive witness and nearly
constant on a Bohr set. This completes the spectral estimate of lem:dense-Bohr.
The logarithmic parameter used in the quasipolynomial estimates.
Equations
- TrilinearHT.Auto.bogolyubovLog α = 1 + Real.log (1 / α)
Instances For
Explicit polynomial logarithmic bounds for the source parameters.
The source radius is positive, small, and has a polynomial logarithmic reciprocal.
The logarithm of the inverse radius costs only one more logarithmic factor.