lemmaroutine

Elementary upper sieve with uniform errors

Bounds lattice points avoiding residue sets by n2/G(Z)+O(nZ6+Z8)n^2/G(Z)+O(nZ^6+Z^8)
sieve bound for counting bad prime values
Lemma·pri:upper-sieve·§6.4 An elementary upper sieve with uniform errors

Statement (paper)

The number of points in this square avoiding every Ωp\Omega_p is at most n2G(Z)+O(nZ6+Z8),G(Z)=∑e≤Z squarefreep∣e⇒p∈PZ∏p∣eg(p)1−g(p). \frac{n^2}{G(Z)}+O(nZ^6+Z^8),\qquad G(Z)=\sum_{\substack{e\le Z\text{ squarefree}\\p\mid e\Rightarrow p\in\mathcal P_Z}} \prod_{p\mid e}\frac{g(p)}{1-g(p)}. The error constant is absolute.

In plain English

In a square of side nn, the number of lattice points that avoid every excluded residue set Ωp\Omega_p is at most n2/G(Z)+O(nZ6+Z8)n^2/G(Z)+O(nZ^6+Z^8), where G(Z)G(Z) sums ∏p∣eg(p)/(1−g(p))\prod_{p\mid e}g(p)/(1-g(p)) over squarefree e≤Ze\le Z with all prime factors in PZ\mathcal P_Z. The implied constant is absolute.

Why it's here

This is the sieve input for the later counting claims: it gives an upper bound on points avoiding the bad residue classes, with an explicit error that is uniform in the data. The main term n2/G(Z)n^2/G(Z) has the size of a Selberg-type sieve bound, and the error O(nZ6+Z8)O(nZ^6+Z^8) stays small when ZZ is a small power of nn. That is what the claims on bad prime values and on affine fibers need to control their counts uniformly.
Classified routine:
This is the Selberg upper-bound sieve in two dimensions with main term n^2/G(Z), the classical Selberg sieve as in Halberstam–Richert, *Sieve Methods*. The explicit error O(nZ^6+Z^8) comes from routine bookkeeping of lattice-point counts in residue classes.

Sources

PaperOpen
Section
§6.4 An elementary upper sieve with uniform errors
Page
—
Label
pri:upper-sieve
Line
sections/06-primes.tex:458
Leannot aligned

Phase 2 aligns this node to a Lean declaration.