Every checkable claim on this site is backed by an artifact that can be rebuilt from a clean checkout. This page collects the exact commands, the platform they were last tested on, and the outputs to expect. Version identifiers for all components appear in the footer of every page and come from a single generated source (status.json).

Tested platform

Last verified on macOS 15 (Apple Silicon, Darwin 24.6) with elan managing Lean toolchains (each repository pins its own via lean-toolchain), Python 3.12 with PreTeXt 2.43.2 for the paper builds, TeX Live (latexmk) for the PDF, and SageMath 10 (which provides GAP) for the finite-quotient verifier. Linux is expected to work identically for the Lean and verifier steps; only the site-build scripts assume BSD sed.

1. Build the Roe formalization and print its axiom footprint

The pinned commit for this site release is shown in the footer. A clean build takes under an hour after the Mathlib cache download:

git clone https://github.com/roed-math/gq2-lean
cd gq2-lean
git checkout 0ffb3908c72f9a61bc1142567fb6bd9f2e67aaa3   # this release's pin
lake exe cache get     # downloads the pinned Mathlib build cache
lake build             # builds the GQ2 library; no sorry anywhere

The main theorem is GQ2.main_presentation_literal : Nonempty (ContinuousMulEquiv GammaA AbsGalQ2) in GQ2/PresentationLiteral.lean, and its equivalent finite-counting form is GQ2.SectionTen.main_surjection_count'. The axiom audit (every capstone theorem must print exactly the three standard Lean axioms plus the nine-interface literature census, with no sorry and no native_decide) is scripted:

scripts/check_axioms.sh

Expected output ends with every audited capstone reporting the standard three axioms (propext, Quot.sound, Classical.choice) plus the nine named GQ2.* interfaces, and nothing else. For a single declaration, #print axioms GQ2.main_presentation_literal inside the project gives the same list.

2. Build the Turturean formalization

The standalone release deliberately has no root module, so build the capstone target directly:

git clone https://github.com/davidturturean/gq2-lean-turturean
cd gq2-lean-turturean
git checkout audit-11.1     # the audited standalone release
lake exe cache get
lake build Q2Presentation.PresentationCorrect

The release notes on that repository list its assumed inputs; the formalizations page explains the relation between the standalone and completed versions.

3. Run the comparator

The comparator checks that an untrusted challenge statement is proved by the library with only the permitted axioms. In gq2-lean, the challenge/solution pair is Challenge.lean / Solution.lean with configuration in comparator-config.json (the permitted-axiom list is exactly the standard three plus the nine census interfaces):

lake build Solution

The challenge theorems (challenge_main_presentation_literal, challenge_main_presentation_literal_roe_unconditional) carry sorry in Challenge.lean by design (they are the untrusted statements) and are discharged by Solution.lean; audit them with #print axioms as above.

4. Run the finite-quotient verifier

The verifier lives in the padicIGP repository and runs under Sage. It checks the presentation's predicted count of Galois extensions against the known count for each of the 5,402 test groups in verification/DATA/2/:

git clone https://github.com/roed314/padicIGP
cd padicIGP
git checkout a8fd2662ff8726059bee61aaf0720e23f9db3bba   # this release's pin
cd verification
# The committed DATA/2/rel.txt is the paper's presentation.  To test a
# different one, save it as verification/rel.txt (format: problem.tex);
# the paper's file is also reproduced in the manuscript's worked-examples
# appendix.
PYTHONHASHSEED=0 ./verify -j 8

Expected final line: Verification successful! with all 5,402 groups matching. The group inventory (DATA/2/gps.txt), the known counts it is checked against (DATA/2/cnts.txt), and the relator input (DATA/2/rel.txt) are mirrored with sha256 hashes on the verifier page and in status.json. Two practical notes: set PYTHONHASHSEED=0 so the resume cache stays valid across interrupted runs, and expect a multi-hour run at -j 8 on a laptop. Passing is strong evidence but checks only finitely many finite quotients; it is not a proof.

5. Regenerate the paper and this site

The paper and site are built with the public PaperForge pipeline applied to this project's source instance (the LaTeX draft, PreTeXt insertions, crosswalk data, and build scripts). Unlike the formalization and verifier repositories above, the source instance is not currently public; contact the first author for access. Every artifact the pipeline produces is published on this site: the interactive paper, the PDF, both blueprints, the API documentation subsets, and status.json. For the record, the build entry points from the instance root are:

scripts/build-web.sh        # LaTeX draft -> PreTeXt -> interactive HTML
scripts/build-arxiv.sh      # the arXiv-style PDF (stamps the manuscript date)
blueprint/scripts/ci-pages.sh       # Verso blueprint, Roe formalization
blueprint-gpt/scripts/ci-pages.sh   # Verso blueprint, Turturean formalization
scripts/build-leandocs.sh   # doc-gen4 API documentation subsets
scripts/build-site.sh       # assemble output/site/ (runs the status stamper)

Generated audit pages are re-derived from the live artifacts on every build: the axioms page from the docstring census of GQ2/Foundations/Axioms.lean (scripts/gen-axioms-page.py), the dependency graphs from the Lean environment's kernel-level dependency export, and the footer version identifiers on these pages from status.json (paperforge sitegen/gen_status.py, whose --check mode fails the build when any stamped page or count has drifted from the live artifacts).