Rado's Radical Reflections

The Jacobian Challenge Retro

AI Disclosure: Draft was written fully by a human. Heavy use of AI for editing.

In April 2026, Kevin Buzzard posed the following challenge for Lean AI autoformalization: can an AI system both define the Jacobian variety in Lean and prove basic properties about it? (zulip thread, github gist). The motivation behind this challenge, as far as I can tell, was to point the autoformalization community at a specific problem chosen by Kevin, instead of letting people choose freely from the vast number of known missing formalizations. Because few are incentivized to publish their failed attempts, there were doubts about whether recent successes reflected general capability or just clever problem selection.

The Jacobian challenge was definitions-focused rather than theorem-focused. On the surface it just asks for the definition of a classically known object — its namesake lived in the 1800s — but implicitly it requires building a lot of non-trivial differential geometry that mathlib is missing, down to the definition of the genus of a Riemann surface. Kevin also attached a number of “universal” properties that the Jacobian should satisfy (universal in quotes, because I don’t think they’re rigorously universal in the category theory sense). It was also a test of whether the theorems listed are good enough to pin the formalization down, possibly preventing AI from submitting mathematically wrong definitions.

After about 22 working days of OSS collaboration using Claude Code, spread between April 19 and June 13, I produced a solution that was verified by lean-eval on June 11 (the last two days were final cleanup). Subsequent discussion on zulip gives some signal from the experts that it is correct — i.e. that misformalization hasn’t happened — but since I don’t know the math, I can’t fully review it and vouch for that myself. In any case, this is a small retro, an experience report on that autoformalization.

To read more about the math see the Verso exposition (per-unit pages linked from units.html). The formalization.yaml records the mathlib-initiative self-reporting metadata for what was formalized.

The facts

What worked well

What didn’t work so well

Which path to pick through the theory

The core challenge in formalizing a classical subject — auto or not — is which path to pick through it. The churn above is the cost of getting that choice wrong, but the choice is also where the interesting work lives. Coincidentally I’m also currently autoformalizing Axler’s Linear Algebra, and I’m excited about how one might innovate in teaching hundred-year-old subjects by finding new — more pedagogical, or more aesthetically pleasing — proof paths through what is nominally the same classical material. Without AI and formalization these explorations were too laborious and unglamorous (AI lowers the cost of experimentation), and too easy to get wrong (Lean guarantees you never lean on a true-but-unproven claim). While I picked the most standard path and told the agent not to take risks exploring non-standard ones, it could be an interesting outcome of formalization that shorter (or otherwise better) paths through known theories are found.

Which direction to build

Generally, formalizing a large project (auto or not) goes: 1) read the literature and make a plan (a blueprint, in Lean lingo); 2) follow the plan to write the Lean code. Inevitably the informal plan misses something, and step 2 forces iteration on step 1. Nothing new here — it’s the same tension present in all software projects, well documented in The Mythical Man-Month.

Within step 2, you can build in one of two directions:

  1. leaf-to-root — upstream-to-downstream, forward linking (lots of names for the same thing): start from the foundations and build up toward the target theorem.
  2. root-to-leaf — downstream-to-upstream, back linking: start from the target and work down toward the foundations.

Each direction has its own failure mode:

  1. you might prove theorems that, while correct, aren’t needed — either trivially true, or mathematically meaningful but not on the path to the goal.
  2. you might prove theorems from hypotheses that turn out to be unprovable.

In my experience the second failure mode is the more costly one, so I recommend building leaf-to-root. Better to have mathematically correct proofs that just aren’t needed than proofs that follow from a false premise. It also parallelizes better. The catch is that it requires enough planning up front to actually see where the leaves are, while 2) can work “just-in-time”.

Clean room rebuilds

Somewhat inspired by Gowers’s discussion of “Kolmogorov complexity modulo experts” in the remarks on the AI solution to the unit distance problem, I asked the agent to post-factum produce a short blueprint file. The goal is to map the now-known path to the solution, but removing all Lean details — just the math, references, and maybe some gotchas. This file is clean_room_blueprint.md. If interested, give it to your agent, instruct it not to use the internet, and see how long it takes to solve the challenge — now hopefully fully autonomously. In a sense this inverts Gowers’s measure: he asks how short a hint sequence lets a human expert reconstruct a proof; here the hint is fixed and we measure how long an AI takes to rebuild the solution from it. I plan to test it with Fable 5 soon.

Summary

Off-the-shelf AI tools like Claude Code are very capable at autoformalizing mathematics with no human mathematical guidance, but with significant project management. As a very rough estimate: about three weeks of a Claude Max subscription on current Opus 4.8 (1M context) buys roughly one GTM textbook’s worth of formal Lean content, or ~30k loc of Lean. My estimation is that the Jacobian challenge was about 1.5 GTM textbooks and ~45k loc in the end. If you’re interested in math formalization but blocked by missing foundational definitions or theorems, I’d recommend looking into autoformalization. A lot of math missing from mathlib is in reach for AI tools with a bit of patience. There is still a quality gap between AI-generated and human-written proofs, in the structural and stylistic weaknesses noted above, not in correctness, but I expect it to keep narrowing. If hobbyists like me on a personal subscription can reasonably formalize whole textbooks, projects an order of magnitude larger will be in scope very soon for autoformalization with bigger resources.