[{"data":1,"prerenderedAt":4},["ShallowReactive",2],{"nMFcbw5kg9":3},"# Formalizing Bombieri-Vinogradov\nA Lean blueprint documenting a formalization of Bombieri-Vinogradov.\n\n## Links\n* [Webpage](https://amellendijk.github.io/lean-bombieri-vinogradov/)\n* [Blueprint](https://amellendijk.github.io/lean-bombieri-vinogradov/blueprint/)\n* [Documentation](https://amellendijk.github.io/lean-bombieri-vinogradov/docs/)\n* [Dependency Graph](https://amellendijk.github.io/lean-bombieri-vinogradov/blueprint/dep_graph_document.html)\n\n## Bombieri-Vinogradov\nThe Bombieri-Vinogradov theorem states that for each fixed $A \\geq 0$,\n\n$$\\sum_{q \\le Q} \\max_{y \\le x} \\max_{a \\in (\\mathbb{Z}/q\\mathbb{Z})^*} \\left| \\psi(y; q, a) - \\frac{y}{\\varphi(q)} \\right| \\ll_A \\frac{x}{(\\log x)^{A}}$$\n\nuniformly for all $x \\ge 2$ and $1 \\le Q \\le \\frac{\\sqrt{x}}{(\\log x)^{A+3}}$.\n\nThis theorem is often described as the \"Generalized Riemann Hypothesis on average\", because it states that the average deviation $\\left| \\psi(x; q, a) - \\frac{x}{\\varphi(q)} \\right|$ is at most $x^{1/2}$ modulo log factors, at least for $y$ and $q$ up to around $x^{1/2}. \n\n## The Project\n\nThe main target of this project is the formalization of the Bombieri-Vinogradov theorem, as stated in `BV/MainResults.lean`. \nWe assume two axioms, both stated in `Challenge/Axioms.lean` (with blueprint annotations in `BV/Axioms.lean`):\n* The Siegel-Walfisz Theorem\n* The Large Sieve Inequality\n\nThe large sieve is simple enough to be its own single-person project, and I am interested in adding it to this blueprint when the project nears completion.\n\nSiegel-Waflisz would be a larger project, but it is very much in scope of PNT+. If there is community interest in getting it formalized, I would be very happy to get involved.\n\nThis project depends on [Mathlib](https://github.com/leanprover-community/mathlib4) and [PNT+](https://github.com/AlexKontorovich/PrimeNumberTheoremAnd)\n\n## Building the project\n\n1. [Install Lean](https://lean-lang.org/install/)\n2. Run `lake exe cache get`\n3. Run `lake build`\n\n## Verifying the result with comparator\n\nThe repository is set up for [comparator](https://github.com/leanprover/comparator), the Lean FRO's\ntrustworthy judge for Lean proofs.\n\n* `Challenge.lean` contains the claimed statement of Bombieri-Vinogradov.\n  It imports `Challenge/Axioms.lean`, which imports only Mathlib, and states the Siegel-Walfisz and Large Sieve axioms.\n* `Solution.lean` imports the whole project and proves `Challenge.bombieri_vinogradov` from\n  `bombieri_vinogradov` in `BV/MainResults.lean`.\n* `comparator.json` lists the theorem to check and the permitted axioms: the three standard Lean\n  axioms `propext`, `Quot.sound`, `Classical.choice` together with the axioms above.\n\nTo run the check you need `landrun` and `lean4export` (matching the `lean-toolchain` version)\nin your `PATH`, plus a build of `comparator`; then, from the root of this repository,\n\n```sh\nlake exe cache get\nsystemd-run --property=RestrictAddressFamilies=~AF_UNIX --user --pty -E PATH=\"$PATH\" \\\n  --working-directory $(pwd) -- bash -c 'lake env path/to/comparator comparator.json'\n```\n\nComparator succeeds exactly when `Solution` proves the same statement as `Challenge` using no\naxioms other than those listed (in particular, no `sorryAx`). ",1793473253464]