1Georgia Institute of Technology2University of Pennsylvania3Foothill College
4Rutgers University5Simon Fraser University6University of Texas at Austin
cCorresponding author: pjana7@gatech.edu.
†Equal contribution, sorted by last name.
§Equal senior authorship, sorted by last name.
pass@4 on the 771 instances of LoCoBench-Val. Pale bars: the coding agent alone. Hollow bars: the best prior Lean agent in that role. Filled bars: AIProver. Cost is the host’s tokens at list prices plus the GPU time serving the open-weight model, per attempt over the same 3,084 attempts.
01 · Use it
AIProver is designed to serve standalone, as an open-source platform making research-level formalization accessible to all, and in conjunction with frontier agents, as a Lean specialist pushing their accuracy–cost frontier. It can be used in three ways.
The post-trained Leanstral-1.5 inside the evolved harness, at GPU cost only: the model on a GPU server, the harness and the Lean toolchain on your machine.
36.7% pass@4 semantic correctness at $0.32 per attemptCodex plans, delegates the Lean work to AIProver, judges faithfulness, decomposes, and weaves.
62.4% vs. 34.1% for Codex alone, at $0.85 per attemptClaude Code plans, delegates the Lean work to AIProver, judges faithfulness, decomposes, and weaves.
79.8% vs. 41.9% for Claude Code alone, at $1.55 per attemptA session ends when the final file type-checks and is complete, and the host has judged it semantically correct and faithful to the paper’s proof.
02 · Problem
Auto-formalization translates natural-language (NL) theorems and proofs into a formal language (FL) such as Lean. Research mathematics involves long chains of interdependent definitions, lemmas, and proofs often absent from libraries such as Mathlib, so recent agents wrap the LLM in a harness, a stateful multi-turn loop with Lean and search tools. These agentic systems share five limitations.
Given an NL theorem TNL and its proof PNL, produce an equivalent Lean pair.
sorry, admit or an empty by block.Next-token fine-tuning never teaches an LLM that an NL theorem and its FL counterpart are the same mathematical object in two syntactic forms.
RL on Lean’s binary verdict never compares the output with the NL input, so a formalization that compiles but proves the wrong theorem counts as success.
Gold NL–Lean theorem–proof pairs barely exist: ShadowBench (178) and ArXivLean (41) are evaluation sets; Mizar holds decades of verified research mathematics, in neither NL nor Lean.
LeanMarathon and Numina-Lean-Agent retain the control flow of coding agents built for software engineering, and hand-tailoring a harness takes months.
03 · Approach

04 · Components
Four checks, each presupposing the previous one, return a value and a certificate. The reward is RLSF’s per-rollout signal and, averaged over tasks, a harness’s fitness; the certificate is what HarnessEvolve’s mutator reads.
sorry, and no axioms beyond Lean’s standard ones (#print axioms).Certificate: the placeholder or the violating axiom.| Outcome | TC | CP | SC | Reward r |
|---|---|---|---|---|
| No answer | – | – | – | 0 |
| Ill-typed | ✗ | – | – | 0.05 |
| Incomplete proof | ✓ | ✗ | vSC | 0.15 + 0.35 vSC |
| Complete proof | ✓ | ✓ | vSC | 0.30 + 0.60 vSC |
| Solved | ✓ | ✓ | ✓ | 1 − 0.10 (1 − vLF) |
Reward ladder (Table 1 of the paper). A matched theorem outweighs completeness, as a flawless proof of the wrong theorem is not useful. The certificate lists the checks in ladder order, so the first failing check is the first to fix.
Model · cold start
[PRED] token after the NL text, and the final state of the Lean text alone.Harness · search
Model · post-training
05 · Benchmark
Research-level mathematics in three fields: algebraic structures, foundations, logic & complexity, and number theory.
.lean file each), the Mizar Mathematical Library (40.1k pairs, one .miz file per theorem), and the 71 theorems of a bounded-arithmetic textbook.| Domain | Train: Mathlib+CSLibNL + Lean | Train: MMLNL only | ValNL only | Total |
|---|---|---|---|---|
| Algebraic structures | 28,432 | |||
| Ring theory | 6,841 | 3,303 | 100 | |
| Group theory | 3,310 | 14,778 | 100 | |
| Foundations, logic & complexity | 14,010 | |||
| Set theory | 2,871 | 555 | 100 | |
| Logic | 1,283 | 2,637 | 100 | |
| Computability | 938 | 3,579 | 100 | |
| Model theory | 819 | 857 | 100 | |
| Bounded arithmetic (textbook) | – | – | 71 | |
| Number theory | 16,471 | |||
| Number theory | 2,695 | 13,676 | 100 | |
| Total | 18,757 | 39,385 | 771 | 58,913 |
LoCoBench composition (Table 2 of the paper). Mathlib+CSLib entries carry gold Lean; MML entries are NL-only.
06 · Results
Pass@4 on LoCoBench-Val (771 instances) under three nested criteria: TC, the file compiles; TC+SC, the statement is also semantically correct; and TC+SC with full proofs, which also requires completeness. All 39 systems, in four families, per field and overall.
| System | Algebraic structuresn = 200 | Foundations, logic & complexityn = 471 | Number theoryn = 100 | Overalln = 771 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| TC | TC+SC | Full | TC | TC+SC | Full | TC | TC+SC | Full | TC | TC+SC | Full | |
| AFPS models, single-turn | ||||||||||||
| Kimina-Autoformalizer-7B | 52.0 | 3.5 | 0.0 | 57.3 | 1.1 | 0.0 | 80.0 | 26.0 | 0.0 | 58.9 | 4.9 | 0.0 |
| StepFun-Formalizer-7B | 16.0 | 5.5 | 0.0 | 9.8 | 1.5 | 0.0 | 51.0 | 26.0 | 0.0 | 16.7 | 5.7 | 0.0 |
| Goedel-Prover-V2-32B | 29.5 | 0.0 | 0.0 | 56.5 | 0.6 | 0.6 | 22.0 | 0.0 | 0.0 | 45.0 | 0.4 | 0.4 |
| DeepSeek-Prover-V2-7B | 10.0 | 0.0 | 0.0 | 12.7 | 0.2 | 0.2 | 7.0 | 0.0 | 0.0 | 11.3 | 0.1 | 0.1 |
| Kimina-Prover-Distill-8B | 13.0 | 1.0 | 1.0 | 15.1 | 0.6 | 0.6 | 15.0 | 10.0 | 10.0 | 14.5 | 1.9 | 1.9 |
| Kimina-Prover-RL-1.7B | 1.5 | 0.5 | 0.5 | 1.5 | 0.0 | 0.0 | 8.0 | 7.0 | 7.0 | 2.3 | 1.0 | 1.0 |
| Kimina-Autoformalizer-7B → Goedel-Prover-V2-32B | 14.5 | 1.0 | 1.0 | 24.4 | 0.2 | 0.2 | 32.0 | 10.0 | 10.0 | 22.8 | 1.7 | 1.7 |
| Kimina-Autoformalizer-7B → DeepSeek-Prover-V2-7B | 16.0 | 1.5 | 1.5 | 22.7 | 0.2 | 0.2 | 34.0 | 11.0 | 10.0 | 22.4 | 1.9 | 1.8 |
| Kimina-Autoformalizer-7B → Kimina-Prover-Distill-8B | 12.0 | 1.0 | 1.0 | 23.4 | 0.8 | 0.8 | 28.0 | 12.0 | 12.0 | 21.0 | 2.3 | 2.3 |
| StepFun-Formalizer-7B → Goedel-Prover-V2-32B | 10.0 | 3.0 | 3.0 | 6.2 | 0.8 | 0.8 | 18.0 | 12.0 | 8.0 | 8.7 | 2.9 | 2.3 |
| StepFun-Formalizer-7B → DeepSeek-Prover-V2-7B | 18.5 | 5.5 | 0.0 | 10.6 | 1.5 | 0.0 | 56.0 | 26.0 | 1.0 | 18.5 | 5.7 | 0.1 |
| StepFun-Formalizer-7B → Kimina-Prover-Distill-8B | 18.5 | 5.5 | 2.0 | 10.6 | 1.5 | 0.4 | 56.0 | 26.0 | 3.0 | 18.5 | 5.7 | 1.2 |
| AFPS agents, multi-turn | ||||||||||||
| StepFun-Formlzr.-7B → Axiom AXLE (w/ GPT-OSS-120B) | 18.5 | 5.5 | 4.5 | 13.8 | 1.3 | 0.8 | 61.0 | 29.0 | 12.0 | 21.1 | 6.0 | 3.2 |
| StepFun-Formlzr.-7B → Hilbert | 17.5 | 6.0 | 5.0 | 10.6 | 1.1 | 0.6 | 56.0 | 27.0 | 17.0 | 18.3 | 5.7 | 3.9 |
| Leanstral-1.5-119B-A6B (no tools) | 16.5 | 5.5 | 4.5 | 20.2 | 2.3 | 2.1 | 14.0 | 5.0 | 4.0 | 18.4 | 3.5 | 3.0 |
| Leanstral-1.5-119B-A6B (w/ tools) | 21.0 | 14.5 | 14.5 | 29.3 | 10.2 | 10.2 | 31.0 | 20.0 | 20.0 | 27.4 | 12.6 | 12.6 |
| Aristotle | 43.0 | 25.0 | 25.0 | 42.9 | 13.6 | 13.4 | 45.0 | 29.0 | 29.0 | 43.2 | 18.5 | 18.4 |
| Math-Inc OpenGauss (w/ Leanstral-1.5-119B-A6B) | 62.0 | 29.0 | 28.5 | 54.8 | 15.1 | 14.9 | 60.0 | 42.0 | 39.0 | 57.3 | 22.2 | 21.5 |
| + Codex (w/ GPT-5.5) | 92.5 | 23.5 | 23.5 | 96.6 | 16.8 | 16.6 | 90.0 | 32.0 | 32.0 | 94.7 | 20.5 | 20.4 |
| + Codex (w/ GPT-5.6-Sol) | 99.5 | 59.0 | 58.5 | 98.5 | 29.9 | 29.9 | 99.0 | 66.0 | 65.0 | 98.8 | 42.2 | 41.9 |
| + Claude Code (w/ Claude-Opus-4.7) | 99.5 | 46.0 | 43.0 | 99.2 | 16.6 | 15.9 | 99.0 | 55.0 | 50.0 | 99.2 | 29.2 | 27.4 |
| + Claude Code (w/ Claude-Opus-5) | 98.0 | 67.5 | 67.5 | 99.4 | 45.0 | 45.0 | 99.0 | 73.0 | 72.0 | 99.0 | 54.5 | 54.3 |
| Numina-Lean-Agent + Codex (w/ GPT-5.6-Sol) | 100.0 | 56.0 | 56.0 | 100.0 | 36.1 | 35.9 | 100.0 | 62.0 | 62.0 | 100.0 | 44.6 | 44.5 |
| + Claude Code (w/ Claude-Opus-5) | 100.0 | 77.0 | 77.0 | 100.0 | 70.1 | 70.1 | 100.0 | 76.0 | 75.0 | 100.0 | 72.6 | 72.5 |
| Foundation models, single-turn | ||||||||||||
| Qwen3-Coder-30B-A3B | 0.0 | 0.0 | 0.0 | 1.5 | 0.2 | 0.2 | 1.0 | 1.0 | 0.0 | 1.0 | 0.3 | 0.1 |
| Gemma-3-27B | 0.0 | 0.0 | 0.0 | 1.9 | 0.2 | 0.2 | 1.0 | 0.0 | 0.0 | 1.3 | 0.1 | 0.1 |
| Qwen3-Coder-Next (80B-A3B) | 3.0 | 0.5 | 0.5 | 1.3 | 0.2 | 0.2 | 0.0 | 0.0 | 0.0 | 1.6 | 0.3 | 0.3 |
| Llama-4-Maverick-17B-128E | 1.0 | 1.0 | 1.0 | 4.7 | 1.3 | 1.3 | 3.0 | 2.0 | 2.0 | 3.5 | 1.3 | 1.3 |
| DeepSeek-V3.2 (685B) | 2.5 | 2.0 | 2.0 | 5.9 | 2.3 | 2.3 | 4.0 | 2.0 | 2.0 | 4.8 | 2.2 | 2.2 |
| GPT-OSS-20B | 33.0 | 3.5 | 3.5 | 61.4 | 2.1 | 2.1 | 30.0 | 7.0 | 6.0 | 49.9 | 3.1 | 3.0 |
| GPT-OSS-120B | 20.5 | 5.0 | 5.0 | 42.5 | 3.2 | 3.0 | 21.0 | 3.0 | 3.0 | 34.0 | 3.6 | 3.5 |
| GPT-5.5 | 70.5 | 29.5 | 29.5 | 76.9 | 20.0 | 20.0 | 66.0 | 40.0 | 40.0 | 73.8 | 25.0 | 25.0 |
| GPT-5.6-Sol | 55.5 | 27.5 | 27.5 | 67.5 | 21.4 | 21.4 | 62.0 | 38.0 | 38.0 | 63.7 | 25.2 | 25.2 |
| Claude-Opus-4.7 | 80.0 | 17.0 | 14.5 | 93.8 | 8.7 | 7.6 | 83.0 | 35.0 | 22.0 | 88.8 | 14.3 | 11.3 |
| Claude-Opus-5 | 85.5 | 29.0 | 29.0 | 92.8 | 17.0 | 16.8 | 81.0 | 40.0 | 40.0 | 89.4 | 23.1 | 23.0 |
| Coding agents, multi-turn | ||||||||||||
| Codex (w/ GPT-5.5) | 72.5 | 33.5 | 32.5 | 68.6 | 14.4 | 14.4 | 74.0 | 43.0 | 43.0 | 70.3 | 23.1 | 22.8 |
| Codex (w/ GPT-5.6-Sol) | 95.0 | 45.5 | 45.0 | 98.5 | 24.0 | 23.6 | 94.0 | 63.0 | 62.0 | 97.0 | 34.6 | 34.1 |
| Claude Code (w/ Claude-Opus-4.7) | 90.0 | 22.5 | 19.5 | 94.9 | 10.6 | 9.3 | 92.0 | 44.0 | 31.0 | 93.3 | 18.0 | 14.8 |
| Claude Code (w/ Claude-Opus-5) | 89.5 | 54.5 | 54.5 | 94.3 | 33.3 | 33.3 | 88.0 | 57.0 | 57.0 | 92.2 | 41.9 | 41.9 |
| Proposed (ours) | ||||||||||||
| AIProver-Baseline (model = Leanstral-1.5-119B-A6B) | ||||||||||||
| w/ Seed Harness | 59.5 | 24.5 | 20.0 | 54.6 | 11.7 | 10.4 | 68.0 | 49.0 | 32.0 | 57.6 | 19.8 | 15.7 |
| w/ HarnessEvolve | 90.0 | 37.5 | 28.0 | 80.9 | 18.5 | 15.7 | 90.0 | 59.0 | 44.0 | 84.4 | 28.7 | 22.6 |
| AIProver (SAM + Interleaved RL/HarnessEvolve) | 97.5 | 50.0 | 50.0 | 93.8 | 24.6 | 24.6 | 94.0 | 85.0 | 67.0 | 94.8 | 39.0 | 36.7 |
| + Codex (w/ GPT-5.6-Sol) | 95.0 | 85.5 | 85.5 | 100.0 | 46.1 | 46.1 | 100.0 | 93.0 | 93.0 | 98.7 | 62.4 | 62.4 |
| + Claude Code (w/ Claude-Opus-5) | 100.0 | 95.0 | 95.0 | 100.0 | 70.7 | 70.7 | 100.0 | 92.0 | 92.0 | 100.0 | 79.8 | 79.8 |
Table 3 of the paper: pass@4 (%) per field and overall. TC: the file compiles. TC+SC: the statement is also semantically correct, with or without sorry. Full: TC+SC with full proofs, i.e. complete. Bold = best, underline = second best per column.
Ablation
07 · Analysis
SAM’s role is the aligned space that initializes RLSF and HarnessEvolve. Two views of that space: 150 held-out pairs, and four related training lemmas.
Four Mathlib lemmas about pre-games, related by two substitutions (multiplicative to additive, commutative to associative), in SAM’s head space. Each lemma’s Lean and English views nearly coincide, so the views form matching parallelograms, with edge cosines 0.74 and 0.78 in the full space.
08 · Cost
Cost per attempt over the same 3,084 attempts: the host coding agent’s tokens at list prices, plus the GPU time that serves the open-weight model.
Hover a point for its configuration.
The host coding agent offloads Lean work to AIProver, a Lean-specialist sub-agent on local GPUs, so it spends fewer tokens and gains accuracy.
09 · Cite
If you find AIProver or LoCoBench useful in your research, please cite the paper.
@article{jana2026aiprover,
title = {{AIProver}: Agentic Auto-Formalization of Mathematical Research via
Certificate-Driven Evolving Harness},
author = {Jana, Prithwish and Hoang, Viet Bach and Luna, Logan and Pati, Viresh and
Singirikonda, Akash and Xie, Cy and Carbone, Lisa and Chen, Wuyang and
Moreira, Walter and Stubbs, Joe and Vishwanath, Sriram and Ganesh, Vijay},
journal = {arXiv preprint arXiv:2610.05367},
year = {2026},
url = {https://arxiv.org/abs/2610.05367}
}