Mathematics is the canary

What long-horizon coding agents did to mathematicians, and what RSEs can learn from the incident and from how they reacted

Dr. Kolen Cheung, Research Software Engineer

Research Software & Analytics Group, University of Exeter

September 30th, 2026

Suppose software were like mathematics

  • Suppose we could verify every step of a program, the way a proof is checked, and get a program that is 100% correct.
  • This is not how most software is written, and not how it will be.
  • But take the limit first, then dial back. Mathematicians are already at that limit.
  • What happened to them, and how they reacted, tells us what the dial back means for us.

Mathematics is the canary

Mathematics is the canary in a coal mine for all parts of intellectual life. Its claims can be carefully checked and so we are witnessing the disruption in real time. […] Science, law, public policy, and art will all have to find ways to assess what is valuable amidst the abundant output.

— Bryna Kra, Deep theorems were scarce, September 2026

Research software included. See my link post.

Where this talk goes

The limit

Verifiable signals, and Lean: a proof checked by a machine.

The incident

From the IMO to the Jacobian conjecture and Navier–Stokes.

The reaction

What mathematicians say they are after. And a parallel in cybersecurity.

Dialling back

What changes for research software, on two axes.

Then discussion, and a list of questions I don’t have an answer to yet.

The limit

Where agents got good

  • In May: from autocomplete to agents, and the December 2025 inflection (journal club).
  • Why they got good where they did: a verifiable signal.
    • At training time: reinforcement learning with verifiable rewards (RLVR).
    • At test time: an agent in a loop runs the tests, reads the error, and fixes it.
  • In August: “You never delete human verification. You relocate it somewhere smaller.” (JIT talk)
  • Today: what is the smallest place it can go? Mathematics has an answer.

Lean: proofs as programs

  • A theorem is a type, and a proof is a program of that type. If the proof compiles, the theorem follows from the axioms.
  • A small kernel checks every inference. Tactics, automation and the mathlib library produce the terms that it checks.
  • To a programmer: a type checker for mathematical reasoning.
theorem add_comm' (a b : Nat) : a + b = b + a :=
  Nat.add_comm a b

Software has formal verification too, e.g. seL4, CompCert, and Amazon’s use of TLA+. We will come back to why it stays rare.

Why mathematicians wanted it, before AI

Hales and the Kepler conjecture

  • Announced 1998, then years waiting for a dozen referees.
  • Published 2005: the referees believed it but could not check it fully.
  • Formally verified by the Flyspeck project in 2014.

Scholze and the Liquid Tensor Experiment

I think this may be my most important theorem to date. […] nobody else has dared to look at the details of this […] Better be sure it’s correct…

  • A challenge to the Lean community in December 2020, completed in 2022.

Nothing to do with advancing AI. Both stories are in Hartnett (2026). Scholze’s challenge is on the Xena blog (Scholze 2020).

The incident

From crutch to certificate

July 2024

AlphaProof + AlphaGeometry 2: IMO silver. Problems manually translated into Lean; up to three days.

July 2025

Gemini Deep Think and an OpenAI model: IMO gold, in natural language, within the 4.5 hours.

July 2026

A counterexample to the Jacobian conjecture, found with Claude Fable 5.

September 2026

OpenAI: Navier–Stokes blowup. ~10,000 agents, 88 h search + 17 h Lean, 165 pages.

In 2024, Lean was what let the model do it at all. By 2026, the proof is found in natural language, and Lean is the certificate at the end.

The Jacobian conjecture, in two minutes

  • A polynomial map F:\mathbb C^n\to\mathbb C^n whose Jacobian \det DF vanishes nowhere is locally invertible everywhere.
  • Keller (1939) conjectured that it is then invertible, with a polynomial inverse. “Locally everywhere does not imply everywhere” (John D. Cook).
  • False for n=3 (Alpöge, with Claude Fable 5, July 2026):

\begin{aligned} F(z_1,z_2,z_3) = \big(&(1+z_1 z_2)^3 z_3 + z_2^2 (1+z_1z_2) (4+3z_1z_2), \\ &z_2 + 3 z_1 (1+z_1z_2)^2 z_3 + 3 z_1 z_2^2 (4+3z_1z_2), \\ &2 z_1 - 3 z_1^2 z_2 - z_1^3 z_3\big) \end{aligned}

  • \det DF=-2, yet F(0,0,-\tfrac14)=F(1,-\tfrac32,\tfrac{13}2)=F(-1,\tfrac32,\tfrac{13}2).

Easy to check, and it looks like a miracle. Tao still wrote a whole post digesting it. The question was asked by Akhil Mathew.

Why a Millennium Prize Problem is a big deal

  • The Clay Mathematics Institute named seven problems in 2000, with $1 million for each: “to recognize achievement in mathematics of historical magnitude”.
  • The Riemann hypothesis and P vs NP are on the list. Navier–Stokes is the one that needs the least background to state.
  • In 26 years, one has been solved: the Poincaré conjecture, by Perelman, who turned the prize down (and the Fields Medal).

OpenAI says it doesn’t intend to claim the prize. Clay’s rules need publication, two years, and general acceptance by the community.

Four corners, one week

no force, f=0 with a force, f\neq0
Euler, \nu=0 blowup claimed by OpenAI; a separate candidate from Anandkumar’s group blowup claimed by Alpöge and Buckmaster
Navier–Stokes, \nu>0 still open (Clay’s A/B) blowup claimed by OpenAI (Clay’s C/D)
  • Only the bottom row is a Millennium Prize Problem. Euler is “also open and very important”, but off the list.
  • The forced approach was already public, in the work of Córdoba and Martínez-Zoroa.

Claims as of 11 September 2026. See the four corners.

Is this an AlphaGo moment?

Like AlphaGo

  • A public demonstration of a capability few expected.
  • Superhuman persistence and parallelism: 10,000 agents, long calculations nobody would do by hand.

Not like AlphaGo

  • Go is fully specified, and a match ranks playing strength across the whole game. Mathematics is many kinds of work: a jagged frontier.
  • Someone still has to check the result.
  • Missing: an abstraction that makes a problem easy, like Wiles’ modular forms and elliptic curves, or Scholze’s perfectoid spaces.

It doesn’t need to be an AlphaGo moment to disrupt how mathematics trains people, assigns credit, and supports careers.

What the kernel doesn’t check

  1. The statement. Does the Lean theorem say Clay’s C/D? Is divergence the classical divergence? Does smooth include t=0? A mistake here gives a verified proof of a different theorem.
  2. The assumptions. No sorry, no custom axiom, no native_decide. #print axioms should list only propext, Classical.choice and Quot.sound.
  3. Junk values. Lean’s functions are total: the integral of a non-integrable function is 0. A bound on the energy can hold when the energy is infinite.

Perhaps a day or two of expert attention, instead of a year of refereeing. Details in the Lean section.

The reaction

An answer is not a solution

  • De Toffoli and Duede (2026), After Math: OpenAI produced an answer, and an answer is not a solution. “Historically, the two notions have tended to run together.”
  • Thurston (1994): “We are not trying to meet some abstract production quota of definitions, theorems and proofs. The measure of our success is whether what we do enables people to understand and think more clearly and effectively about mathematics.”
  • Thurston again (2010): “The product of mathematics is clarity and understanding. Not theorems, by themselves.”
  • The Clay Institute’s own page for this problem: “Why ask for a proof? Because a proof gives not only certitude, but also understanding.”
  • Buckmaster (2026b), on his own Lean-verified Euler write-up: it “can only be described as AI slop.”

Mathematicians aren’t mourning their craft. See After Math, translated for software engineers.

What the Fields medallists’ declaration upholds

A Severe Misalignment of AI in Mathematics, 11 September 2026:

  • Understanding: “solving problems is only a tool and proxy for achieving the primary goal of conceptual understanding and insight”
  • Exposition: rushed announcements leave “no time for a proper writeup, the isolation of new methods and ideas”
  • Credit: “severe attribution and plagiarism questions”
  • Students: “The most precious resources of our profession are students and ideas”

And from the essays that followed: journals should “distinguish and credit the roles of discovery, proof, formalization and explanation” (Kra 2026).

We will come back to this list in the discussion: what is our equivalent of each, and do we uphold it?

Not every mathematician agrees

Timothy Gowers didn’t sign, because of the “tool and proxy” sentence:

  • “there is a spectrum of attitudes in mathematics to the relationship between problem-solving and conceptual understanding” (his Two Cultures of Mathematics, 2000)
  • On the flood of AI results: it “would also be likely to increase the amount that was properly digested, which seems like a pretty good bargain.”
  • His worry is elsewhere: “the social structures that currently support this digestion process will be destroyed and not adequately replaced.”

Remember the problem-solving end of that spectrum. See A flood from within the community.

Same capability, two communities

Cybersecurity Mathematics
Persistence, parallelism Mythos Preview chains four vulnerabilities into one browser exploit 10,000 agents over 88 hours
Hard to digest curl’s security reports arriving 4–5× faster than in 2024 a Lean-verified proof still has to be understood
A rumour is enough probes about ten minutes after a public fix OpenAI started its search on a rumour, which was wrong
The rush lands on people Daniel Stenberg and the curl team Buckmaster, Anandkumar: unfinished work rushed out

Security answered with coordinated disclosure. My proposal for mathematics: progressive disclosure.

Dialling back

Four differences

  1. Mathematics is self-contained. We are not. We work with PIs and domain experts, and have less say in where the work goes.
  2. Requirements are rarely as compact as a conjecture. Even the master equations and initial conditions don’t define a program’s behaviour: discretization, approximation and algorithm all have to be specified too.
  3. No watertight abstractions, and no kernel. Formal verification exists for software, but the specification becomes the laborious part, and see point 2.
  4. No shared culture. Mathematicians have standards that reached an equilibrium over centuries, and could react as a community. RSEs don’t, yet.

Two axes

Correctness

  • In mathematics, it can be made nearly complete: a kernel, and one opening.
  • We have more leaks and no kernel, so there is more to look at.
  • The art is to minimize the leaks, so that looking becomes feasible.

Understanding

The picture

Left: an AI proof checked by Lean, drawn as a sealed box with one opening at the top, where a human checks the Lean statement against the English one, and four small holes: sorry, native_decide, axiom, junk values. Right: agentically engineered software, drawn as a box whose wall has gaps all round, a wider opening where the RSE translates what the researcher means into a spec, and one stretch of wall patched by an oracle.

Correctness: shrink where you have to look

  • Not new. We never read every line of a human PR either: tests, types, CI and small diffs exist to make review feasible.
  • Find or build an oracle: something independent, compact, and easy to trust.
    • Scientific computing: the model equations, manufactured solutions, the observed order of convergence, conservation laws.
    • A small pure function reviewed by hand, used to check the fast one.
    • A reference implementation: Bun’s 535,000 lines of Zig → Rust in 11 days, against a test suite written in TypeScript. 19 regressions still got through.
    • SQLite accepts agentic bug reports with a reproducible test case, and refuses agentic code.
  • Review the script that generates the diff, rather than the diff.

The bottleneck

  • Goldratt’s theory of constraints (The Goal, 1984): throughput is set by the bottleneck. Speeding up anything else doesn’t help. Amdahl’s law is the special case for parallel computing.
  • Agents speed up everything except the human check, so the human check is the bottleneck.
  • The lever we have is its size: design so that the part a human has to look at is small.
  • Why not just carry on at our own pace? Baumol’s cost disease (Baumol and Bowen, 1966): a string quartet still needs four players and the same 40 minutes, so as everything else gets more productive, it gets relatively more expensive. What only humans do becomes the expensive part, and that is where the pressure to cut lands. Mathematicians and RSEs could become the next artists.

Oracles that carry a theory

  • Bun’s oracle, the old program and its tests, gave correctness and no understanding.
  • In scientific computing, the oracle is the physics, which is itself a theory, and the researcher already holds it.
  • So I think scientific computing has an answer on both axes, and product code only on correctness.

Why understanding gets lost

A two-by-two grid. Columns: built in layers, what people tend to do, and built as one block, what agents at scale tend to do. Rows: mathematics, drawn with solid boundaries because its abstractions don't leak, and software, drawn with dashed boundaries because they leak everywhere. Layered mathematics is a stack of definition, lemma, lemma, theorem, each small enough to hold. Monolithic mathematics is one block: 165 pages, checked by the kernel, correct and nowhere to put it down. Layered software is a stack of runtime, framework, library, application, whose layers help but must be kept in mind. Monolithic software is one block: thousands of lines, tests pass, neither checked nor digestible.

Not people versus machines as such: the four-colour theorem and Hales’ Kepler proof were monoliths made by people, and Mochizuki’s layers are ones nobody else shares.

What do RSEs uphold?

  • Young. The term was coined in 2012 (the Software Sustainability Institute’s Collaborations Workshop). The first RSE conference was in 2016.
  • Not one thing. Calling us all RSEs is like calling physicists, biologists, chemists and computer scientists all scientists: true, but very different cultures. Even mathematicians have Gowers’ two cultures.
  • No shared values yet. Some of us are strongly against AI. Some are against involvement with the military (RSECon25). Some are deeply concerned about the environment. Some see our value in problem solving. Some in being part of Digital Research Infrastructure, which includes people.
  • Without shared values, we can’t react to the flood as one community, the way mathematicians did.

Understanding: where our value lies

  • Mathematics can say what it values from the inside, because it is self-contained. We can’t: our value is defined at the boundary with the researchers.
  • Kra: deep theorems were a proxy for understanding, and AI made the proxy cheap.
  • For us, the code is the proxy. If code is what we are valued for, an LLM replaces us.
  • So what is the product? The theory we build with the researchers: which question they are really asking, what “correct” means to them, which approximation is acceptable.
  • My proposal, one among many: our value lies in the communication and translation layer. Technical ability still matters, if not for implementing, then for the taste to translate well and correctly.

RSE as translator

Researcher

What is in their head, and what they say.

RSE

Listening and asking: user stories into requirements. And back again: training.

LLM

A lower-level translator: the spec into a program.

Program

Checked against the oracle, where there is one.

Like checking an English theorem against its Lean statement, the human work is at the boundary. Unlike Lean, there is no kernel after it.

Born dead

  • Naur (1985): a program dies when the team holding its theory is dissolved, yet it “may continue to be used for execution in a computer and to produce useful results.”
  • Cost recovery moves the RSE to the next project. A Julia project: two RSEs designed it, handed it over, and never touched it again. Born dead, without any LLM.
  • We are paid for the proxy, the code. The product, the theory, leaves with us.
  • A partial way out: the researcher already holds much of the theory (the physics), and training can move more of it across.

I haven’t solved this. See Born dead.

Over to you

What mathematicians uphold. Do we?

Mathematicians uphold Our equivalent? Do we uphold it?
Understanding is the goal (Fields medallists) communication?
Time for a proper writeup (Fields medallists) documentation that explains why?
Credit for formalization and explanation (Kra) credit for tests, documentation, maintenance?
A solution that opens lines of work for others (Cohn) open source projects? knowledge exchange?
Students and ideas (Fields medallists, Gowers) handover, training?

Questions I don’t have an answer to yet

  • Where is the line between research software you can ship unread, and research software you can’t? (research software)
  • Can a theory be laid out, and can it be rewarded? (theory and reward)
  • Is “dead” relative to the reader, so that complexity sets the horizon beyond which agents write dead programs?
  • Under cost recovery, how do we deliver the theory and not just the code?
  • What is the RSE’s irreplaceable value?

Discussion

Discussion

Slides and the posts behind them: blog.kolen.dev