Blow-by-blow discharge history lives in docs/history.md;
this file keeps the current state and the ideas.
A Lean 4 formalization of Kevin Buzzard's Jacobian Challenge (spec v0.4, May 2026). Three headline results:
- The challenge is closed. All 24
sorrys inChallenge.leanare filled with realdefs andinstances, and the anti-degeneracy theorems Buzzard built it around (correct genus, injective Abel–Jacobi) are proved — together with the Albanese universal property and Riemann–Roch / Serre duality. - The 24 are axiom-free. Every Buzzard headline now
#print axioms-checks to the three standard Lean axioms —AX_PeriodCycleBasis, the last challenge-critical axiom, was discharged from every headline closure by reproving the period lattice from a now-unconditional topology theorem (T-GEN) plus a ℙ¹ unification (PRs #248/#250/#251). It survives only as declared, non-headline scaffolding for Riemann's bilinear relations. - The 24 do not pin the Jacobian — as Buzzard himself anticipated in the challenge thread — we make the gap precise with a machine-checked counterexample and formalize the universal property (proposed there by Stoll and Merten) as the repair.
What this is, honestly. A scaffold that closes Buzzard's interface and proves real theorems on it. The 24 headlines are now axiom-free (depend only on the three core Lean axioms), but they rest on a large vendored analytical engine (the Kirov Dolbeault port) and the surrounding Lean is AI-authored and has not had independent human-mathematician review — read this as a machine-checked reduction, not a from-first-principles textbook proof of Jacobian theory. See Caveats before relying on any result.
| Buzzard API | 24/24 sorrys closed as real defs / instances; machine-checked against the pinned v0.4 spec |
| Challenge-critical axioms | 0 — all 24 headlines are #print axioms standard-3 (AX_PeriodCycleBasis discharged from every headline closure, PRs #248/#250/#251; machine-checked: 0 mentions in docs/axiom-report.txt) |
| Axioms | 7 active, none on the Buzzard headline path — the Albanese universal-property characterization is now axiom-free: AK AX_curve_image_subgroup_isOpen was discharged 2026-06-16 (PR #255, @daouid), so ofCurve_isJacobian #print axioms = std-3 (and isJacobian_unique was already axiom-free); A1 AX_torus_uniformization remains declared but out of every headline closure. The rest: intersection-form laws, Plücker, concrete-curve witnesses, and AX_PeriodCycleBasis (kept only as non-headline R1/R2 bilinear-relations scaffolding) — live count in AXIOM_AUDIT.md |
| Beyond the challenge | Riemann–Roch + Serre duality proved as theorems; Albanese categoricity proved; explicit positive-genus curve instances |
sorrys |
0 in the core / challenge path; a handful in out-of-scope extensions and an optional adelic H¹ construction |
| Build | lake build green; Lean v4.30.0, Mathlib pinned in lake-manifest.json |
| Provenance | our own Lean (~50k LOC) + the Kirov Dolbeault port (~86k LOC, a forward-port vendored in-tree under vendor/ and built as a local Lake package) + vendored Kirov/Wallace modules (Apache 2.0 / MIT) |
Every headline is #print axioms-checked (golden trace in
docs/axiom-report.txt, CI-diffed): it depends only on
the axioms it names plus the three Lean-core axioms, never sorryAx.
Buzzard's Challenge.lean defines an API for the Jacobian of a compact Riemann
surface, the Abel–Jacobi map, and pushforward/pullback functoriality — with 24
sorrys to fill (6 definitions, 7 typeclass instances, 11 theorems). The design
is adversarial: the API cannot be satisfied by a hack such as Jacobian := 0,
because genus_eq_zero_iff_homeo forces genus to be correct at 0 and
ofCurve_inj forces the Abel–Jacobi map to be genuinely injective in positive
genus. The underlying mathematics is classical (Abel 1829, Jacobi 1851); the task
is to formalize it on current Mathlib.
The deeper point is validation, not just compilation: the Lean kernel checks
proofs, never that a def means what it should, so a degenerate definition
can still compile. Buzzard defends against this by attaching independent
obligations to each definition. This repo pushes the same idea further — see the
next section.
Not on their own — a subtlety the challenge thread already flagged, which we make precise. Buzzard anticipated it, distinguishing a curve's actual genus from the AI genus a solver fills in, and noting the sorries only force "an injective holomorphic map … whether it's the Jacobian or not; in fact I suspect that the Jacobian is the easiest example" (Zulip, 2026-04-19) — he did not claim the 24 are categorical. Our contribution is to pin the gap down with a machine-checked counterexample and to formalize the repair — the universal property, which Michael Stoll and Christian Merten proposed in that same thread.
Buzzard's instance bundle forces Jacobian X to be a compact connected complex
Lie group of dimension genus X — i.e. a complex torus ℂ^g/Λ — and the
injective, holomorphic, functorial Abel–Jacobi structure kills the cheap hacks.
But the 24 leave a gap: genus is pinned only at zero.
genus_eq_zero_iff_homeo constrains only where genus vanishes; nothing equates
genus X with the true genus for genus ≥ 1. Since n ↦ 2n preserves "= 0",
the genus-doubling object
genus₂ X := 2·genus X,Jacobian₂ X := Jacobian X × Jacobian X,ofCurve₂ :=diagonal,pushforward₂ / pullback₂ :=componentwise,degree₂ := degree
satisfies every one of Buzzard's 24 yet is a 2g-dimensional torus, not
isomorphic to the genuine g-dimensional Jacobian when g > 0. This is
machine-checked in
docs/categoricity/GenusDoublingCounterexample.lean
(lake env lean, exit 0): all seven instances, genus₂_eq_zero_iff_homeo, the
Abel–Jacobi lemmas, the four functoriality laws, pushforward₂_pullback, and the
capstone genus₂_ne_genus. So the literal 24, on their own, do not pin the
Jacobian up to isomorphism.
Two ways to close the gap; we formalize one of them. Full argument with the
Gemini deep-think vet in
docs/categoricity/CATEGORICITY_24_VS_ALBANESE.md,
both repairs formalized in
docs/categoricity/Condition25.lean:
- Condition 25 — pin
genusto the analytic genusfinrank ℂ (HolomorphicOneForm X)(GenusEquality). This is exactly what the counterexample violates (genusDoubling_violates_condition25), and our own construction satisfies it definitionally (repo_satisfies_condition25 := rfl, since we definegenus := finrank H⁰(Ω¹)) — so our Jacobian is the genuine one, not the doubling object. With Condition 25 the 24 are categorical conjecturally —T(X) ≅ J(X)for allXwould follow from a Chow-motive + Brill–Noether rigidity result (the load-bearing input isofCurve_inj, vindicating Buzzard's design). That result is non-elementary and unproved here;Condition25.leanrecords it asRigidityClaim— an unproven proposition threaded as an explicit hypothesis, deliberately not anaxiom(an unproven claim must never silently extend the kernel). - Albanese universality — require
(Jacobian X, ofCurve x₀)to be the initial pointed holomorphic map fromXto complex tori. By Yoneda an initial object is unique up to unique isomorphism, so this pins the Jacobian as a pointed torus, repairs the genus gap in one stroke, and turns the degree identityf_* ∘ f^* = deg·idinto a consequence rather than a separate axiom. It is the clean, constructively formalizable certificate of the same categoricity — which is why we build it rather than the motivic rigidity proof.
This repo encodes the second. IsJacobian
(Jacobians/UniversalProperty.lean) is the
Albanese property quantified over complex tori of any dimension. Categoricity
itself is axiom-free: isJacobian_unique proves any two objects satisfying the
property are uniquely biholomorphically isomorphic (standard-3, using none of
Buzzard's 24 — PR #246). Our concrete construction satisfies the property via
ofCurve_isJacobian, which is now also axiom-free (standard-3): the three legacy
Albanese-torus axioms were discharged/escaped in PR #253 (G3 proved; A1 moved out of the
closure via the presented-torus typeclass reframe), and AK
(AX_curve_image_subgroup_isOpen) was discharged 2026-06-16 in PR #255 (@daouid) —
local Jacobi inversion assembled from the pre-existing IFT period map + a chart-FTC
identity + Kirov's open lattice quotient. So the full Albanese characterization is
unconditional (A1 AX_torus_uniformization remains declared but off every headline
closure). Full status, the two-level "what it takes
to pin the Jacobian" tradeoff, and the AK proof:
docs/planning/UNIFIED_ALBANESE_DISCHARGE_PLAN.md
(→ ALBANESE_REPOINT_REFACTOR.md,
A1_THINNING_PLAN.md).
Credit for the universal-property repair belongs to the challenge thread:
Michael Stoll raised it first (2026-04-19, "to make sure no hacks are
possible", including the complex-tori formulation we use), and Christian
Merten built it into an algebraic-geometry variant (exists_unique_ofCurve_comp,
2026-04-20). We reached the complex-analytic formalization (IsJacobian)
independently, but they proposed the idea first.
Genuine theorems — what a reader can trust the formalization to have established
(modulo the axioms each names; #print axioms-checked, no sorryAx):
| Result | Status |
|---|---|
genus ProjectiveLine = 0 |
axiom-free (chart-cocycle + Liouville: 1-forms on ℙ¹ are a subsingleton) |
genus (Elliptic ω₁ ω₂) = 1 |
axiom-free (intrinsic Liouville on ellipticDz) |
genus (HyperellipticEven H) = deg(f)/2 − 1 |
axiom-free (Liouville L2/L3 discharged) |
| Abel–Jacobi injective for genus > 0 | theorem — ofCurve_inj, standard-3 (axiom-free; via the proved T-GEN + basis-free Abel engine, PR #251) |
Abel's theorem (AX_AbelTheorem) |
theorem — Forster §20 ∂̄-engine (⊆) + Liouville/Jacobi pencil (⊇) |
genus_eq_zero_iff_homeo |
axiom-free (RR pole extraction → degree-1 map → S²; backward via π₁(S²)=1 + Liouville) |
| Riemann–Roch + Serre duality | theorems over the Layer-3 cohomology tower (standard-3) |
Albanese categoricity isJacobian_unique |
axiom-free (standard-3) — any two objects satisfying the universal property are uniquely biholomorphically isomorphic; uses none of Buzzard's 24 (PR #246) |
↳ our construction satisfies it ofCurve_isJacobian |
theorem — standard-3 (axiom-free) (the 3 torus axioms discharged/escaped PR #253; AK discharged PR #255) |
| Functoriality identities (push/pull id + comp, degree) | derived theorems |
Abstract definitions can be degenerate and still compile; concrete instances catch
that. We instantiate the whole pipeline (chart-local 1-forms → genus → Jacobian →
functoriality) on real curve families and check the headlines are
#print axioms-clean:
-
ProjectiveLine—genus = 0, axiom-free. -
Elliptic ω₁ ω₂—genus = 1, axiom-free; the Abel-injectivity witnesselliptic_ofCurve_injectiveis proved directly onℂ/Λthrough the period lattice; andellipticPeriodCycleBasisis a fully unconditional (standard-3) witness of theAX_PeriodCycleBasiscontent atg = 1— the first positive-genus instantiation of the (now headline-discharged) axiom's content. -
HyperellipticEven/HyperellipticOdd— the genus-gfamilyy² = f(x)for squarefreef, the repo's deepest end-to-end test, built from the ground up:- a real type carrying Buzzard's full complex-manifold structure — the
two-sheeted affine atlas glued to a chart at infinity (
EvenAtlas/OddAtlas, the latter's infinity chart discharged in PR #183) — reducing to standard-3; - the canonical holomorphic 1-form basis
{x^k dx/y : k < g}(hyperellipticEvenBasisDifferential), the classical differentials of the first kind, constructed and proved holomorphic; - the genus formula
genus = deg(f)/2 − 1as a proved, axiom-free theorem over the whole even-degree family (genus_HyperellipticEven_eq).
As a cross-check, "genus 1" comes out identically from three independent constructions —
Elliptic,HyperellipticOddatdeg 3, andHyperellipticEvenProjatdeg 4— all axiom-free. The example drives the entire pipeline (chart-local 1-forms → cocycle → finite-dimensionality → genus) on a nontrivial positive-genus family, forcing the generalgenusdefinition to compute the right number, not just typecheck. The odd-degree track mirrors the even one decl-for-decl (genus fully discharged, PR #223). Building on that, a **cycle basis- explicit period map** on the odd hyperelliptic family — which would discharge
AX_PeriodCycleBasisthere and give an explicit map from moduli (the branch points off) to period matrices in the Siegel upper half space — is largely scaffolded; the route to finish it is indocs/planning/HYP_PERIOD_MAP_PLAN.md(gap ledger:HYP_CB_BLOCKER.md).
- a real type carrying Buzzard's full complex-manifold structure — the
two-sheeted affine atlas glued to a chart at infinity (
-
PlaneCurve— smooth plane curves with a fully proved manifold structure.
Each curve's headline is #print axioms-clean — concrete, positive-genus
evidence that the general definitions are non-vacuous, independent of the axiom
layer.
| Part | What it is | Required for the challenge? |
|---|---|---|
1. Buzzard's challenge — Challenge.lean + the construction |
the interface Buzzard posed | — (it is the challenge) |
2. The RR/Serre tower — Layer3/, RiemannSurface/Cohomology/ |
prove the deep axioms instead of assuming them | no — the challenge rests on the axioms; this discharges them |
3. Explicit-curve projects — ProjectiveCurve/, Extensions/ |
exercise the formalization on real curves | no — validation |
Part 1 is closed and axiom-free: all 24 sorrys filled, the anti-degeneracy
headlines proved, and every headline #print axioms-checks to the three standard
Lean axioms (the last challenge-critical axiom, AX_PeriodCycleBasis, was
discharged from every headline closure — PRs #248/#250/#251). In Buzzard's terms
("sorry-free ⇒ done"), Part 1 is met.
Part 2 reduces the challenge toward a single classical spine. Riemann–Roch and
Serre duality are theorems (riemannRochL3, serreDualityL3, standard-3) over
a thin cohomology scaffold — the Layer-3 tower — built on the Kirov Dolbeault
port's Čech H¹ and skyscraper long exact sequence. Everything the 24 obligations
rest on has now been discharged from the headline closures; the discharge
timeline is in docs/history.md.
Part 3 is orthogonal validation — the explicit curves above.
The construction takes the period-lattice route —
Jac X = (HolomorphicOneForm X)* / H₁ — rather than the symmetric product
Xᵍ/Sᵍ (whose coincident-point analysis Buzzard flags as hard). It is basis-free
at the type level.
AbelianVariety/—ComplexTorus V L := V ⧸ Lfor a ℤ-latticeL, supplying all 7 typeclass instances Buzzard requires onJacobian Xfrom a translation atlas + lattice discreteness. Axiom-free.RiemannSurface/+Jacobian/— Buzzard's typeclasses → holomorphic 1-forms → period lattice →Jacobian X. The Abel–Jacobi map is a real∫, a multi-chart line integral over an analytic cycle basis.ProjectiveCurve/— real curvedefs satisfying Buzzard's typeclasses by construction (the explicit curves above).Layer3/+RiemannSurface/Cohomology/— the RR/Serre tower (Part 2).Extensions/— end-to-end test theorems on the curve families.
AX_PeriodCycleBasis (in Jacobians/Axioms/PeriodCycleBasis.lean)
was the last challenge-critical axiom: every compact connected Riemann surface of
genus g admits 2g piecewise-analytic loops whose periods generate a
discrete, non-degenerate lattice in ℂ^g (plus Riemann's bilinear relations
as R1/R2 fields). The Buzzard-critical content is only the lattice's
discreteness and non-degeneracy. Classical: Forster §§19–21.
It is no longer in any headline's closure (PRs #248/#250/#251). The two global
period-lattice instances were reproved from the unconditional T-GEN theorem
analyticLoopsGenerateH1 — analytic loops generate H₁, proved standard-3 via
piecewise-linear-in-charts approximation (#248) — and the ofCurve_inj headline
was rerouted through the basis-free Abel engine; a ℙ¹-instance unification (#250)
removed the chart diamond that blocked the rewiring. The g = 1 content was
already a fully unconditional witness (ellipticPeriodCycleBasis, standard-3).
The axiom remains declared (so the kernel axiom count is still 10) only as
scaffolding for the non-headline R1/R2 (Riemann bilinear relations) story and the
cycle-basis witnesses — deleting it from the repository would additionally need
R1/R2 in full generality (genuine unformalized Hodge content, proved so far only
for g ≤ 1 / elliptic / hyperelliptic). Every active axiom is off the Buzzard
headline path; all are classified in AXIOM_AUDIT.md with
per-axiom discharge plans under docs/planning/.
None of these are required for the challenge; they are natural next steps the scaffolding already sets up.
- The Albanese proof is complete (validation endgame done 2026-06-16).
Categoricity of the universal property —
isJacobian_unique, that any two objects satisfying it are uniquely isomorphic — is axiom-free; and that our construction satisfies the property (ofCurve_isJacobian) is now also axiom-free (standard-3): the three legacy torus axioms were discharged/escaped (PR #253) and the last curve-side axiom AK (AX_curve_image_subgroup_isOpen) was discharged in PR #255 (@daouid). So the full certificate — "our Jacobian is the Jacobian, up to unique isomorphism" — is axiom-free, the strongest validation the construction can carry. (A1AX_torus_uniformizationremains declared but off every headline closure.) - Explicit hyperelliptic Jacobians. The Jacobian of a hyperelliptic curve is
already constructed (the general construction applies, and the extension files
force
genus/Jacobian/ofCurve/pushforward/pullbackto fire on the concrete type). The odd parity goes further: it carries explicit period machinery — branch-cut cycle loops and their period vectors (Hyperelliptic/{CycleLoops,BoundaryWord,CycleBasisWitness}.lean) — assembled into aPeriodCycleBasiswitness that is currently conditional on a branch-cut datum. Finishing it unconditionally, and reading off the explicit period matrix∫_{cycle} x^k dx/y, would give a concrete, computed Jacobian for the whole odd family — the higher-genus analogue ofellipticPeriodCycleBasis(already unconditional atg = 1,ℂ/Λwith explicit generators). Note the even/odd split: the even parity leads on the genus formula (proved, axiom-free) but its period side is the follow-up twin (periodLattice_rank_HyperellipticEven_eq, currently asorryscaffold) — the odd model's single point at infinity gives the cleaner branch-cut homology, so the explicit period work landed there. - The principal polarization and Torelli. The universal property pins the
Jacobian as a pointed torus, not yet as a principally polarized abelian
variety. The polarization is canonically derivable — push the curve's
intersection form on
H₁forward along the forcedaj_*isomorphism — which gives the theta divisor and, in principle, Torelli (the curve is recoverable from its ppav). A natural deepening beyond the challenge's notion of "Jacobian". - Independence — our own RR/Serre. The analytical engine is currently the vendored Kirov Dolbeault port. Reproving Riemann–Roch and Serre duality in our own formulation (ideas from the port, implementation ours) would make the Layer-3 tower independent of that dependency.
- Loose ends — the odd-degree genus upper bound (the twin of the proved even formula), and explicit periods for the plane-curve family.
An agent-assisted community project: collaborators' AI agents do most of the work under light human steering, coordinated through GitHub PRs. Contributions span code, vendored proofs, and the issue/triage layer.
- Michael R. Douglas — project lead; scaffold, axiom layer, curve theory, and the Abel engine.
- daouid — the Abel–Jacobi functoriality cluster and period-lattice comparison, the period bilinear-relations route, and the odd-atlas infinity-chart cluster (PR #183).
- sqrt-of-2 — topology and discharge PRs.
- Jack McCarthy (@Deicyde) — the axiom-discharge issue tracker (#77) that structures the open-problem surface, and the Abel–Jacobi smoothness discharge (PR #179).
- Rado Kirov (@rkirov) — produced the first
complete, sorry-free, axiom-free formalization of the challenge (his repo is
verified sorry-free with zero custom axioms, commit
cd16360, 2026-06-13), and generously released it under Apache 2.0 so others could build on it directly. We did. His Dolbeault library is a load-bearing dependency here: the ~86k-LOC port (vendor/kirov-dolbeault-port/, forward-ported to our Mathlib in a 6-edit lift) supplies the analytical engine — Čech cohomology, the residue theorem, Riemann–Roch and Serre duality — on which our Layer-3 RR/Serre tower and Abel ∂̄-engine rest. His finished proof is the benchmark for this problem and the first existence proof that it is fully formalizable in current Lean; our contribution is complementary (explicit curves, the categoricity analysis, a different construction), not a competitor. We also owe him a key idea for our endgame: discharging the period-lattice axiom non-constructively — span all closed loops and prove the lattice is discrete and non-degenerate, so Mathlib'sZLatticetheory yields its full rank2gby existence, with no explicit basis of 1-cycles (which would have required real-analytic approximation theorems Mathlib lacks). Smaller verbatim modules are vendored underJacobians/Vendor/Kirov/. - Michal Wallace (@tangentstorm) — six
self-contained analytic modules (holomorphic maps, meromorphic order, branched
covers, cotangent bundle), each sorry-free and axiom-free and cleanly
reusable — released under MIT, vendored under
Jacobians/Vendor/Wallace/, and used in the genus-obstruction proof behind Abel injectivity. An independent Challenge attempt whose decoupled analytic layer we were glad to build on. - Kevin Buzzard — the challenge.
External AI reviewers — Gemini (deep-think axiom vetting: type, strength, non-vacuity, satisfiability for every project axiom) and Codex / GPT-5.4 (rescue passes and proof-strategy review).
GitHub's Contributors graph counts commits only; issue, review, and vendored-code contributions are credited here. A numerical contribution breakdown (LOC + PRs by author and source) is in
docs/history.md.
Real Lean from two sibling Challenge attempts, each vendored under its upstream
license with per-file attribution headers, the upstream LICENSE, and a
PROVENANCE.md. Full record: docs/cross-repo-adoption.md.
- rkirov/jacobian-claude (Apache 2.0)
— see Contributors. In-build subtree
Jacobians/Vendor/Kirov/, plus the largervendor/kirov-dolbeault-port/— a forward-port committed in our tree and built as a local Lake package (a path-basedrequire, not a remote dependency). - tangentstorm/JacobianChallenge (MIT)
—
Jacobians/Vendor/Wallace/.
The in-build vendored subtrees are axiom-free; their headline theorems
#print axioms-verify to the three standard Lean axioms only.
- The axioms are AI-authored and not human-reviewed. Each was written or
curated in-session and cross-vetted by a second model (Gemini deep-think +
Codex), but none has had independent human-mathematician review. If you are
evaluating this work, read
Jacobians/Axioms/andAXIOM_AUDIT.mdfirst. - Axiom-free headlines still rest on the vendored engine. The 24 headlines are
#print axiomsstandard-3, but a large share of the proof weight lives in the vendored Kirov Dolbeault port (residue theorem, ČechH¹, Serre duality) — real Lean, but not our from-first-principles development. Read "axiom-free" as "reduced to the core Lean axioms over a trusted vendored analytical engine", not "reproved from Mathlib alone". (And the broader repo still declares 10 axioms off the headline path — seeAXIOM_AUDIT.md.) - Zero human-written Lean. The Lean was written by AI agents (primarily Claude, with Codex rescue passes and Gemini audits), directed by a mathematician on scope, the axiom-vs-proof boundary, and review of every landing.
- Remaining
sorrys are all off the challenge path: a handful in the out-of-scopeExtensions/stretch projects and an optional adelicH¹construction kept around as a candidate deeper discharge.
lake buildLean v4.30.0; Mathlib at the revision pinned in lake-manifest.json. CI runs
the full build, a ChallengeConformance.lean machine-check (every v0.4 signature
restated as an example and discharged by our decls), a golden #print axioms
diff, and a guard keeping the core sorry-free.
The Lean FRO comparator is a trustworthy external judge: it compiles the challenge and solution files in sandboxes, replays the solution through the Lean kernel, and confirms the proved theorems prove the same statements as the challenge while using only a whitelisted axiom set. Unlike our own CI, it is an independent tool — the strongest external certificate of the kernel-and-axiom story.
- Verified now:
Jacobians.Layer3.riemannRochL3at commit67af290, whitelistpropext/Quot.sound/Classical.choice(comparator output: "Your solution is okay!"). - Now unblocked: a full 24-obligation run —
Challenge.lean/Solution.lean/config-buzzard.jsonin the siblingjacobian-challenge-comparator-run/— that certifies every Buzzard headline depends only on the standard three Lean axioms. WithAX_PeriodCycleBasisdischarged from every headline closure (PR #251), it now runs againstmain.
This complements the in-repo CI gate: CI catches axiom/sorry drift on every
push; the comparator gives an independent, kernel-level certificate at a pinned
commit.
The solution is also submitted to the Lean FRO
lean-eval benchmark
jacobian_challenge_diffgeo — an independent CI that fetches the source, builds
it, and replays the headline theorems through the kernel against a whitelisted
axiom set. The exact evaluated source is pinned at the immutable tag
lean-eval-submission
(commit 2248fdf): a self-contained, vendored workspace under
submission/jacobian_challenge_diffgeo/ that builds clean against Mathlib
v4.30.0 (Lean v4.30.0), with the 11 Buzzard property theorems depending only
on the standard three Lean axioms.
| Path | Contents |
|---|---|
Jacobians/Challenge.lean |
Buzzard's v0.4 statements, all 24 sorrys closed downstream |
Jacobians/ChallengeConformance.lean |
machine-check against the pinned spec |
Jacobians/AbelianVariety/ |
ComplexTorus (axiom-free) |
Jacobians/RiemannSurface/ |
period lattice, line integrals, cohomology anchors |
Jacobians/Layer3/ |
the RR/Serre cohomology tower |
Jacobians/ProjectiveCurve/ |
the explicit curves |
Jacobians/UniversalProperty.lean |
IsJacobian + the Albanese categoricity theorem |
Jacobians/Axioms/ |
the classified axiom layer |
Jacobians/Vendor/ |
ported Kirov + Wallace modules |
AXIOM_AUDIT.md |
canonical axiom audit — start here to review the debt |
docs/history.md |
the axiom-discharge timeline + contribution breakdown |
docs/categoricity/ |
the categoricity analysis, genus-doubling counterexample, and Condition 25 |
AXIOM_AUDIT.md— kernel-verified per-axiom audit.docs/FAITHFULNESS.md— the informal↔formal correspondence for every object ("do the statements mean the mathematics" — the faithfulness layer of validation).docs/VALIDATION.md— the acceptance argument: definition- anti-vacuity subset + universal property ("did we build the right thing").
docs/axiom-report.txt— golden#print axiomstrace.docs/history.md— discharge timeline + contributor metrics.docs/planning/— per-axiom discharge plans.docs/cross-repo-adoption.md— what we took from the sibling repos.formalization.yaml— the mathlib-initiative self-report.