The Lean verification bundle — the ledger of machine-checked claims
Every claim in the Principia section that carries the Lean label has been checked by machine in Lean 4 with Mathlib. The complete sources are here, and you can rebuild them yourself. There is one bundle, divided into namespaces by topic.
Related: The Lean guide (what a machine check is, and how to run one) / Papers / Taking stock of novelty / What remains / Certificates for the Lovász conjecture
The bundle
| File | principia-src-2026-10-01.tar.gz (about 2.1 MB, the 2026-10-01 version) |
| sha256 | 21f9bfedae37266e3f0845b092967c9d8b1166803cdd7f7a3d58b0a0cc8549ae (.sha256) |
| Axiom log | axioms-principia.txt — the #print axioms output of every module (3,149 lines) |
| Contents | Package principia: 225 files Principia/<topic>/*.lean, the entry point Principia.lean, lakefile.lean, lake-manifest.json (pinned dependencies), lean-toolchain, README.md |
| Environment | Lean 4 (leanprover/lean4:v4.33.1) with Mathlib, pinned by the manifest. Allow 16 GB of RAM and build one module at a time (one module shuts an 11.8 GiB computation inside the kernel) |
| Scope | Erdős #169, Collatz, unit-distance graphs and Hadwiger–Nelson, Erdős #827, cubic bipartite graphs of girth deficiency 2, GP(n,3) (the ledger below) |
The previous version principia-src.tar.gz (sha256 131d8da3426838ca…, of 2026-09-25) is cited by papers and forum posts, so it stays in place with its URL and sha256 unchanged; the new version adds the deficiency-2 and GP(n,3) modules on top of it and leaves the existing modules the same. Bundles distributed earlier remain in place with their URLs and sha256 unchanged. Their theorems are the same as in this bundle; only the namespaces and file names differ. For a fresh check, use this bundle.
Bundles by article
Bundles holding only the modules of one topic, one per article or paper. lakefile.lean, lake-manifest.json and lean-toolchain point to the same environment as the bundle above, and the .lean files are identical. Each bundle carries its own axiom log (axioms-<bundle>.txt).
| Bundle | Article / paper | Files | Axiom lines | sha256 |
|---|---|---|---|---|
principia-riemann-weil-form-2026-10-02.tar.gz (.sha256) | Sunk eigenvalues of the Weil quadratic form | 12 | 73 | 3885b22242d70dbef24aaebbdb3cfbdec98b1eb4be517ddc0d6424378d9c9d5e |
principia-hodge-cm-degenerate-2026-10-02c.tar.gz (.sha256) | The Hodge conjecture | 46 | 945 | 10b941a3ee8c4ffa882fc6705b43813417eea61eed3e2d0eec546dc17be66be7 |
principia-generalized-petersen-2026-10-02.tar.gz (.sha256) | Paper — the number of Hamiltonian cycles of GP(n,3) | 7 | 185 | c0dd6e4cea403caf01c3ae9fd6c4e329eb54957e93e0c87e3d884056f3c72b84 |
principia-gap-bridge-2026-10-09.tar.gz (.sha256) | Paper — the one-sided bridge (an independent lake project EuclideanPath.GapBridge) | 1 | 17 | 5f3d288d93ba456721aead52fee953950c9618de4637775e1cad3d2fbe13d841 |
principia-padic-regulator-valuation-2026-10-09b.tar.gz (.sha256) | Paper — integrality of the p-adic height pairing (an independent lake project; the entry file imports nothing and the 31 files are built one by one) | 31 | 360 | f12364292c008567ddab7e21f97b92679e3cfd4b9bdcb3e7986bdf97f946e017 |
principia-ym-slab-containers-2026-10-15.tar.gz (.sha256) | Textbook 12-03, 12-04 (slabs and containers; an independent lake project ymslabcontainers, lib Y6; Lemma5Core.lean sits outside the lib and is checked separately) | 31 | 150 | 4892aca93897af4940828fd14d5fc45ee72bdcfca0914a2dcd20dd2d77229341 |
principia-ym-insertion-identities-2026-10-15.tar.gz (.sha256) | Textbook 12-05–13-05 (insertion identities and more; an independent lake project yminsertion, lib Y7) | 11 | 32 | 58d60c433cb23cb9cfab1f2299732385f79a362b96a1d49ac109334b4832bdf8 |
principia-ym-flux-network-blocking-2026-10-15.tar.gz (.sha256, axiom record) | Paper "Blocking by the flux network", Textbook 15-05. A bundle of single .lean files (not a lake project; checked one file at a time with lake env lean in the shioriproofs environment). Re-verified by the main session and independently by Rin (2026-10-15) | 12 | 78 | 334e0149fc449274189004a8085837364da5d8849fe23d08149458461a7d3ce3 |
principia-ym-hierarchical-chain-2026-10-15.tar.gz (.sha256, axiom record) | Paper "The chain of the hierarchical model", Textbook 15-04. A bundle of single .lean files (not a lake project; checked one file at a time with lake env lean in the shioriproofs environment). Re-verified by the main session and independently by Rin (2026-10-15) | 5 | 44 | d549fd8969bd4ec348e09020ceff836a250ca45355deaaf00525f56dcfd33da5 |
principia-ym-one-row-renormalisation-2026-10-15.tar.gz (.sha256, axiom record) | Paper "The one-row renormalisation model", Textbook 15-06. A bundle of single .lean files (not a lake project; checked one file at a time with lake env lean in the shioriproofs environment). Re-verified by the main session and independently by Rin (2026-10-15) | 7 | 61 | e8841482e8925d18bfdcfd152128a21ab5747563103fe8c3f64c5fcf2c3b964c |
principia-ym-weak-uv-chain-2026-10-30.tar.gz (.sha256, axiom log) | Paper "A conditional theorem: weak ultraviolet existence of four-dimensional SU(2) lattice Yang–Mills theory in a small box, with a machine-checked chain from per-step hypotheses". A bundle of single .lean files (lake env lean). Re-checked by the main session and independently by Rin (2026-10-30) | 64 | 1403 | 69976db4756e390cff99afa8f0139f9588602f2291e19a154280f58a4db89ef8 |
principia-ym-face-sum-rule-2026-10-30.tar.gz (.sha256, axiom log) | Paper "A one-plaquette Schwinger–Dyson identity and a multi-level sum rule for the coarse stiffness". A bundle of single .lean files. Re-checked by the main session and independently by Rin (2026-10-30) | 6 | 64 | f7839e8d56d28c6209dc3ac2e28c2d887f085c1abf62cddc0312dc8a772519a9 |
principia-ym-two-colour-polymer-2026-10-30.tar.gz (.sha256, axiom log) | Paper "A machine-checked two-colour polymer gas on ℤ⁴". A bundle of single .lean files. Re-checked by the main session and independently by Rin (2026-10-30) | 13 | 518 | d38990299a293d9a728cbdf0d709775448223d5e9708966519394b64617541e8 |
principia-ym-boundary-mixed-derivative-2026-10-29.tar.gz (.sha256, axiom log) | Paper "A one-step boundary observable separating U(1) and SU(2)"; row ⑦σ′ of textbook 14-02. A bundle of single .lean files (checked with lake env lean in the shioriproofs environment). Re-checked by the main session and independently by Rin (2026-10-29) | 1 | 9 | 45e3a553a0d89bbe84a70d4223e8cef3d65c91253cb2f1a0335bb36a9222d8a9 |
principia-ym-h1b-margin-interval-2026-10-29.tar.gz (.sha256, axiom log) | Paper "An interval-arithmetic certificate for the (T1) margin, ħ ∈ [0.001949, 0.005]"; row [014] of textbook 10-15. A bundle of single .lean files. Re-checked by the main session and independently by Rin (2026-10-29) | 1 | 15 | 7d0c0505e62084fb2013004945f9ab88b4d5327d16149e73c07b55c599165eb8 |
principia-ym-coarse-chain-poincare-2026-10-15.tar.gz (.sha256, axiom record) | Paper "The coarse-chain Poincaré inequality (the wall of Part 10)", Textbook 10-12. A bundle of single .lean files (not a lake project; checked one file at a time with lake env lean in the shioriproofs environment). Re-verified by the main session and independently by Rin (2026-10-15; the two files added in version 2, 2026-10-17) | 9 | 75 | 1f08167b488c302824fe50f03e538aabadb3930a3ba344028c5b7c375a3c6b8d |
principia-ym-fractional-instanton-rate-2026-10-15.tar.gz (.sha256, axiom record) | Paper "The fractional-instanton rate (draft)", Textbook 12-02. A bundle of single .lean files (not a lake project; checked one file at a time with lake env lean in the shioriproofs environment). Re-verified by the main session and independently by Rin (2026-10-15) | 1 | 5 | dce68445244dde3ba7fda677c7dafe7c7abfd5f67422860a976c0ca4ae055bb7 |
The 2026-10-01 version of the GP(n,3) bundle (sha256 45b896c0…) has a doubled import prefix in its entry file Principia.lean, so lake build fails on it (the modules can still be built by name). It stays at its URL unchanged; the 2026-10-02 version above has identical .lean files and only the entry file corrected.
How to check it
tar -xzf principia-src-2026-10-01.tar.gz cd principia lake exe cache get # Mathlib's prebuilt cache LEAN_NUM_THREADS=1 lake build Principia
Principia.lean is an entry point that only imports every module. Restrict the build to one thread. Some proofs shut computations of several GB up to 12 GiB inside the kernel; lake's default is to build as many modules in parallel as there are CPUs, and even a 16 GB machine will swap with four at once. lake resumes from where it left off.
To rebuild a single module, name it.
LEAN_NUM_THREADS=1 lake build Principia.APFree.BellmanRecord
At the end of each module there is a #print axioms for the main theorems it declares; building prints the axioms each theorem depends on. [propext, Classical.choice, Quot.sound] are the three standard axioms of Lean and Mathlib; neither sorryAx (an unproved hole) nor the axiom added by native_decide appears anywhere. The bundled axioms-principia.txt is the full output from our build. For a step-by-step reading, see chapter 09 of the Lean guide.
The ledger — what is in it, by topic
For each namespace: the number of files, the main theorems with their locations, the axiom status, and the article they come from. The full name of a theorem is <namespace>.<theorem>; the location is the file and line inside the bundle. The list of every module and the sha256 of each file is in the bundle's README.md.
| Topic | Namespace | Files | Main theorems (location) and statements | Axioms | Article |
|---|---|---|---|---|---|
| Erdős problem #169 reciprocal sums of sets with no 3-AP / 4-AP | APFree | 64 | APFree.BellmanRecord.erdos169_lower_record_939 (Principia/APFree/BellmanRecord.lean:93) — a finite set with no 3-term progression and reciprocal sum > 3.0085385 (beating the 1984 record 3.00849)APFree.FourTermRecord.setA4_apfree_and_beats_walker (FourTermRecord.lean:55) — a set with no 4-term progression and reciprocal sum > 4.439753369254541 (beating Walker's record) / APFree.FourTermRecord.setA4_lower (FourTermLower.lean) — the same set, > 4.439753474215620APFree.Nesting.lemma2_four (Nesting.lean:374) — the nesting lemma for k=4 | subset of the three standard axioms (theorems that are pure kernel computation report no axioms) | The Erdős conjecture on arithmetic progressions |
| The Collatz conjecture critical multiplier, measure, ladder height, branch survival, forbidden words | Collatz | 7 | Collatz.CriticalMultiplier.qcrit_not_int_of_three_le (Principia/Collatz/CriticalMultiplier.lean:44) — the critical multiplier qcrit(p) is an integer only for p = 2Collatz.SubtractionSteps.min_over_six_classes (SubtractionSteps.lean:94) / Collatz.LadderHeight.syracuse_sign_conjugation (LadderHeight.lean:139) — the inequality 3·log₂3 < 5 behind the sign of 1/3, and the forbidden words it yields | subset of the three standard axioms | The Collatz conjecture / One sign is different |
| Unit-distance graphs and the Hadwiger–Nelson problem non-placeability of candidate classes, and witnesses for lower bounds | UnitDistance, HadwigerNelson | 42 + 1 | HadwigerNelson.Witness.fGe_10_3 (Principia/HadwigerNelson/LowerBound.lean:405) / fGe_14_4 (:770) — witnesses for f(3) ≥ 10 and f(4) ≥ 14UnitDistance.Order11.no_realization (Principia/UnitDistance/Order11.lean:2563) / UnitDistance.Order16.no_realization (Order16Main.lean:45) — the candidate classes cannot be placed in the plane | subset of the three standard axioms | The Hadwiger–Nelson problem |
| Erdős problem #827 four points with distinct circumradii, n₄ = 7 | DistinctCircumradii | 100 | DistinctCircumradii.sInf_isGood_eq_seven (Principia/DistinctCircumradii/Final.lean:92) — the main theorem sInf {N | IsGood N} = 7DistinctCircumradii.censusComplete (Census/Tree373.lean:234) — the witness sets of bad six-point configurations fall into 35 classes / DistinctCircumradii.restUnrealizable (Final.lean:40) — 34 of them are not realizable / DistinctCircumradii.not_isGood_six (SixPoints.lean:478) — the lower bound | subset of the three standard axioms | Four points with distinct circumradii / Papers |
| Cubic bipartite graphs of girth deficiency 2 30 vertices, non-Hamiltonian | CubicBipartite | 2 | CubicBipartite.ClassI.G30_def2, CubicBipartite.Search.G30b_def2, G30c_def2 (Principia/CubicBipartite/Gap2.lean) — 30 vertices, cubic, bipartite, connected, a cycle of length 28, all cycles ≤ 28, non-Hamiltonian (3 classes) / CubicBipartite.Search.G20_def6 — 20 vertices, girth 14, non-Hamiltonian. Build with lake build Principia.CubicBipartite.Chk | subset of the three standard axioms | Papers |
| Hamiltonian cycles of GP(n,3) divisible by n for odd n | GeneralizedPetersen | 7 | GeneralizedPetersen.Descent.gp3_dvd_hc_odd (Principia/GeneralizedPetersen/Descent.lean) — for odd n ≥ 7, n ∣ #HC(GP(n,3)) (no hypotheses) / GeneralizedPetersen.FreeAction.GP{7,9,11,13,15}_dvd_rot — the free rotation action. Build with lake build Principia.GeneralizedPetersen.Chk | subset of the three standard axioms | Papers |
| The Riemann hypothesis — the Weil quadratic form time-band traces, transfer, the number of sunk eigenvalues | TimeBand, SunkCount, BandSplit, HodgeIndex and others | 12 | TimeBand.binom_oddH_identity (Principia/RiemannWeilForm/TimeBandTrace3.lean) — the combinatorial identity Σn≥1 C(k,2n) On = 2k−2 Hk−1 for all k ≥ 1. The rest are the finite-dimensional parts of Theorem A (all 73 in the bundle's axiom log) | all 73 exactly the three standard axioms | Sunk eigenvalues of the Weil quadratic form (bundle by article) |
| The Hodge conjecture exceptional classes and ξ, the divisor branch, the finite arithmetic on the secant-sheaf side, the threshold of the model | CMHodge | 46 | CMHodge.card_deg_prim, CMHodge.weight_ge_three, CMHodge.Texc_card, CMHodge.count31_eq — Hodge classes reduce to combinatorics of CM types, the degeneracy weight is ≥ 3, there are 6 exceptional classes in codimension 3, H⁴(A×E) has dimension 51. The four groups are listed in §10 of the article | subsets of the three standard axioms (sorryAx 0) | The Hodge conjecture (bundle by article) |
Bundles in preparation
Theorems that are machine-checked outside the bundle above. They are being prepared for distribution as bundles; the URL and sha256 will be written here when they are placed. The paper drafts are on the Papers page.
| Bundle | Main theorems and statements | Distribution |
|---|---|---|
| Lattice Yang–Mills, one-link integration | LatticeGaugeOneLink.*, PerfectFamily.*, PlaquetteCounting.*, TriangularLattice.* — complete families exist only for d ≤ 4, density ≤ 1/d, the Hessian bound | in preparation |
| Integrality of the p-adic height pairing | PadicHeightValuation* — the decomposition of the height, Fermat quotients, the linear-algebra step | principia-padic-regulator-valuation-2026-10-09b.tar.gz in the table above (2026-10-09) |
These have only been built on the machine the proofs were written on (15 GiB of RAM). Build them one at a time. The largest resident size is about 11.8 GiB (the GP(n,3) count), about 10 GiB for the deficiency-2 bundle.
Record of re-runs
The bundle of §01 was made by rebuilding all 225 modules one at a time in dependency order (the 2026-10-01 version adds the 9 modules for deficiency 2 and GP(n,3)).
- 0 errors, 0
sorry, 0native_decide - 3,149 lines of axiom output, every line a subset of the three standard axioms
- The declaration names and their axioms agree, as sets, with the output of the version before the namespaces were renamed
- With comments stripped, the bodies are identical to the earlier version except for the
importlines - The 100 modules for #827 were also re-checked in a version rebuilt independently from the originals
This is a re-run on the same machine, not a replication across hardware. Replication elsewhere is exactly what this distribution is for — if your result differs, tell us through the contact page.
2026-10-02 — rebuilding from the distributed bundles
Each distributed bundle was unpacked into a fresh directory, apart from the working tree in which the proofs were written, and built from its own contents alone: lake exe cache get, then LEAN_NUM_THREADS=1 lake build. The #print axioms output of each build was compared line by line with the axiom log shipped in the bundle.
principia-riemann-weil-form-2026-10-02— 12 files, 0 errors, 73 axiom lines identical to the shipped logprincipia-generalized-petersen-2026-10-02— 7 files, 0 errors, 185 axiom lines identical to the shipped logprincipia-hodge-cm-degenerate-2026-10-02(first version) — all 46 files built and the 945 axiom lines were identical to the shipped log; but loading the entry filePrincipia.leanstopped on a clash of auto-generated instance names betweenCMHodgeClassesandCMHodgeDegenerate. The distributed c version leaves that one module out of the entry file (the modules themselves are unchanged)principia-src-2026-10-01(the bundle above) — 223 files, 0 errors, 3,110 axiom lines identical toaxioms-principia.txt. About ten hoursprincipia-hodge-cm-degenerate-2026-10-02c(the distributed version) — all 46 files and the entry file built, 0 errors, 945 axiom lines identical to the shipped log
The builds ran on the same laptop on which the proofs were written (the server behind this site has too little memory). They are rebuilds from the distributed sources, not a replication across hardware.
What is machine-checked, and what is not
| Claim | Inside Lean | Outside Lean |
|---|---|---|
| #169, the record 3.0085385 for k=3 | that the set has no 3-AP and its reciprocal sum exceeds 3.0085385, and that this beats the 1984 record 3.00849 (one theorem) | how the 1984 paper's “3.00849” is to be read (truncated or rounded, and for which set) |
| #169, the record 4.4397534742 for k=4 | that the set has no 4-AP and its reciprocal sum exceeds 4.439753474215620 | the value of the reciprocal sum of Walker's set itself (exact integer arithmetic, width 10⁻³²), and that the head equals the truncation (only subset and lower bound) |
| Hadwiger–Nelson, f(3) = 10 and f(4) ∈ {{14,15}} | the witnesses for the lower bounds; the non-placeability of the 117 / 2,100 / 296 + 103 candidate classes | that the enumeration of candidates is exhaustive, the isomorphism tests, the derivation of the minimum degree (computation) |
| Collatz, the sign of 1/3 | the inequality 3·log₂3 < 5 and the forbidden words and asymmetric sign that follow | the premises of the model (v Terras-distributed and independent of g) — known components and measurements |
| #827, n₄ = 7 | the lower-bound configuration, the completeness of the 35 classes, the non-realizability of 34, and the bridge from the octahedral type to seven points (the whole chain as one statement) | the choice of convention for general position; the computations of the earlier record on the forum were not checked |
A machine check guarantees that the stated proposition follows from the proof. Whether the proposition says what was intended, and whether it is new, the machine says nothing about. That sorting is in Taking stock of novelty and in chapter 08 of the Lean guide.
principia (namespaces by topic) and the ledger is listed by topic.2026-10-09: added the bundle of the paper "the one-sided bridge" and the bundle of the p-adic height pairing to the bundles by article. Both are independent lake projects whose
lakefile.lean pins Mathlib by the tag v4.33.1 (pinning by commit makes lake build warn that the manifest is out of date).2026-10-15: added the two bundles cited by Parts 12 and 13 of the textbook (slabs and containers; insertion identities).
2026-10-15 (night): added the bundles cited by the five papers of Parts 15 and 10 (bundles of single .lean files, with axiom records).