Summary (Overview)
- This paper presents the first large-scale audit of five widely used Lean theorem-proving benchmarks (miniF2F, ProofNet, FormalMath, CombiBench, ProverBench) and their 13 variants (~10,000 problems), surfacing 4,833 findings including 398 mechanically certified issues (counterexamples, vacuous theorems, unsound axioms).
- The authors argue that Lean benchmarks are not self-verifying: the kernel only certifies that a proof establishes a formal statement, not that the statement faithfully encodes the intended informal problem or that evaluation harnesses are robust to trivial/adversarial solutions.
- They propose a fault taxonomy with three categories—Fidelity Issues (formalization-time), Evaluation Loopholes (harness robustness), and Maintenance Issues (version drift and source defects)—each requiring different remediation.
- They develop automated static checkers as Lean 4 metaprograms (counterexample finding, vacuity detection, axiom auditing, arithmetic hazard detection) plus LLM-assisted semantic audit prompts, demonstrating that defects can both inflate and deflate reported prover scores.
- They release release standards for trustworthy benchmark creation, including using
proof_wantedinstead ofsorry, disabling auto-implicit, avoiding axioms, and pinning Lean/mathlib versions.
Introduction and Theoretical Foundation
The paper addresses a critical gap in LLM-assisted theorem proving evaluation. Recent systems (DeepSeek-Prover V2, Goedel Prover 2, Kimina Prover) report progress on benchmarks like miniF2F and ProofNet, but benchmark scores can be misleading when problem statements are mis-specified or evaluation protocols contain loopholes.
The core theoretical insight: The Lean kernel provides certainty about a narrow claim—that a proof artifact establishes a given formal statement. This provides mathematical certainty about the formal claim, but overall benchmark reliability is limited by:
- Specification accuracy: Does the formal statement match the intended informal problem?
- NL-to-Lean translation correctness: Was the natural language problem faithfully encoded?
- Lean-specific semantic pitfalls: Does the encoding avoid issues like Nat subtraction truncation?
- Evaluation protocol robustness: Can the harness be exploited?
The paper walks through a five-step pipeline where errors can enter:
- Step 1 (Informal Problem): Source errors, ambiguity, ill-posedness → validity issues
- Step 2 (Formalization): Translation defects → fidelity issues (most defects arise here)
- Step 3 (Model/Prover): Model attempts to produce a proof artifact
- Step 4 (Lean Kernel): The trust boundary—certifies proof establishes formal statement
- Step 5 (Reported Metric): Evaluation harness aggregates results → robustness issues
Methodology
Static Checkers (Lean 4 Metaprograms)
The authors implement static analyzers as Lean 4 metaprograms that combine syntactic pattern matching with semantic guard proving. When a potentially problematic pattern is detected, they attempt to discharge necessary guard conditions using tactics like omega, assumption, and simp. A finding is reported only when the guard cannot be automatically proven.
| Checker | Description |
|---|---|
| Counterexample | Finds concrete values that disprove the theorem |
| Vacuous Theorem | Detects unsatisfiable hypotheses (trivially true) |
| Unsound Axiom | Use of axiom or sorry in proofs |
| Division by Zero † | Division, modulo, or inverse without non-zero guard |
| Nat Subtraction † | Natural subtraction that may truncate to zero |
| Analytic Domain † | Functions like sqrt, log outside valid domain |
| Unused Binder | Quantified variable not used in formula body |
† indicates LLM-assisted false positive filtering support.
LLM-Assisted Semantic Audit
For semantic mismatches that static analysis cannot decide, the authors evaluate LLM-based detection. For each benchmark problem, the LLM is presented with:
- The informal problem statement
- The formal Lean statement
- A description of one error category
- Few-shot examples
Six error categories are evaluated: problem statement errors, specification errors, formalization errors, domain mismatches, definition mismatches, and quantifier/indexing mismatches.
Evaluation Setup
- Corpus audit: All 13 benchmark variants (~10,000 problems)
- Semantic audit challenge set: 92 problems across FormalMath (22), ProofNet (13), ProverBench (23), CombiBench (34), with each assessed across all six categories (552 total classifications)
- Score impact study: 20 problems with mechanically proven issues, manually corrected, evaluated with DeepSeek-Prover-V2-7B and Kimina-Prover-8B
Empirical Validation / Results
Corpus-Scale Static Audit Results
Running static checkers over all released variants surfaces 4,833 findings and 398 proven issues:
| Benchmark | Variant | Prob. | Find. | Proven | Div/0 | Nat Sub | Int Div | Analytic | Axiom | CEx |
|---|---|---|---|---|---|---|---|---|---|---|
| FormalMath | all | 5,560 | 3,250 | 141 | 1,127 | 582 | 423 | 351 | 0 | 55 |
| FormalMath | lite | 425 | 213 | 6 | 80 | 34 | 25 | 33 | 0 | 1 |
| ProverBench | deepseek | 325 | 370 | 208 | 81 | 7 | 6 | 19 | 199 | 5 |
| ProofNet | original | 371 | 82 | 5 | 13 | 8 | 3 | 8 | 0 | 5 |
| ProofNet | sharp (#) | 371 | 67 | 1 | 11 | 6 | 4 | 8 | 0 | 1 |
| miniF2F | v2c | 488 | 193 | 8 | 45 | 28 | 20 | 31 | 0 | 3 |
| miniF2F | v2s | 488 | 181 | 8 | 45 | 29 | 15 | 28 | 0 | 3 |
| miniF2F | yangkyll | 488 | 135 | 6 | 34 | 24 | 12 | 16 | 0 | 0 |
| miniF2F | yangkyll-early | 488 | 79 | 13 | 14 | 19 | 15 | 9 | 0 | 5 |
| miniF2F | justincasher | 485 | 74 | 0 | 25 | 13 | 5 | 16 | 0 | 0 |
| miniF2F | harmonic | 485 | 74 | 0 | 25 | 13 | 5 | 16 | 0 | 0 |
| miniF2F | ai-mo | 244 | 37 | 1 | 17 | 6 | 3 | 5 | 0 | 0 |
| CombiBench | hf | 100 | 78 | 1 | 1 | 27 | 2 | 0 | 0 | 1 |
| Total | 10,318 | 4,833 | 398 | 1,518 | 796 | 538 | 540 | 199 | 79 |
LLM-Assisted False Positive Filtering
On a 55-example ProverBench warning verification set, LLM filtering reduces findings from 427 to 277 (35% reduction) while preserving all confirmed true positives:
| Model | Accuracy | Precision | Recall | Cost |
|---|---|---|---|---|
| Gemini 3.0 Flash | 83.3% | 0.89 | 0.86 | $0.09 |
| GPT-5.2 | 81.8% | 0.92 | 0.83 | $0.18 |
| Claude Sonnet 4.5 | 81.5% | 0.89 | 0.81 | $0.42 |
| DeepSeek-V3 | 68.5% | 0.68 | 1.00 | $0.12 |
Semantic Audit Results
Both models achieve high recall but low precision overall:
| Model | Prec. | Rec. | F1 | Acc. | Cost |
|---|---|---|---|---|---|
| Sonnet 4.5 + Thinking | 0.30 | 0.82 | 0.42 | 68.1% | $13.71 |
| GPT-5.2 + Thinking | 0.24 | 0.91 | 0.37 | 54.6% | $6.86 |
Per-type F1 scores reveal that specification errors and definition mismatches are detected far more reliably than formalization errors:
| Error Type | Sonnet 4.5 | GPT-5.2 |
|---|---|---|
| Problem Statement Error | 0.29 | 0.10 |
| Specification Error | 0.51 | 0.48 |
| Formalization Error | 0.18 | 0.15 |
| Domain Mismatch | 0.33 | 0.27 |
| Definition Mismatch | 0.57 | 0.54 |
| Quantifier/Indexing | 0.39 | 0.33 |
Effect on Reported Prover Scores
Defects affect reported scores in opposing directions:
Score deflation (unprovable statements): On 20 problems with mechanically proven issues, both models solved 0/20 on the original flawed statements. After correction: DeepSeek-Prover-V2-7B solved 3/20 and Kimina-Prover-8B solved 2/20.
Score inflation (weakened statements): Repairing weakened statements that distinguish ProofNet from its human-corrected counterpart ProofNet# lowers measured pass rates for tested provers.
These opposing effects can coexist within a single benchmark and partially cancel, leaving headline pass rates unreliable.
Representative Fault Examples
Missing hypothesis (ProofNet – Axler Exercise 3.8): The formalization omits the requirement that V be finite-dimensional, essential for the theorem to hold.
Incomplete translation (miniF2F – IMO 1983 Problem 6): The Lean statement captures the inequality but omits the "determine when equality occurs" requirement.
Vacuous hypotheses (CombiBench): An earlier formalization encoded a minimality condition as , but Periodic W 0 is trivially provable with simp, making hypotheses unsatisfiable and allowing a trivial exfalso proof.
NL statement defect (ProverBench): A problem states the general solution to is , whereas the correct Pell reduction gives , with variables swapped.
The apply? frontend bug: A bug in Lean versions prior to 4.20.0 allowed the apply? tactic to report success without producing a theorem declaration that passed ordinary kernel verification. This appeared in at least three proofs claimed by DeepSeek-Prover-V2.
Theoretical and Practical Implications
Trust Boundary Analysis
The paper's central theoretical contribution is clarifying what Lean's kernel certifies and what it does not. The trust boundary marks the limit of mathematical certainty: everything to the left (informal problem, formalization) and right (evaluation protocol, metric reporting) must be validated by other means. This reframes the common intuition that Lean benchmarks are "self-verifying."
Taxonomy-Driven Remediation
The fault taxonomy makes remediation actionable by matching faults to appropriate interventions:
- Fidelity issues → require careful review at creation time; Lean encoding hazards detectable by static analysis
- Evaluation loopholes → require stricter harnesses and patched Lean versions
- Maintenance decay → requires version pinning and active stewardship
One cannot "fix" a kernel bug/bypass by adding dataset review, nor prevent missing hypotheses by restricting tactics.
Release Standards
The authors propose concrete standards for trustworthy benchmark creation:
-
Use
proof_wantedinstead ofsorryfor problem statements—this declares the theorem signature without adding it to the environment as an axiom, closing the sorry-exploitation loophole and preventingnative decideand other kernel-bypassing tactics. -
Turn off auto-implicit (
set_option autoImplicit false)—forces errors at formalization time instead of silently "fixing" mistyped variable names with implicit parameters. -
Basic checkers—flag known Lean pitfalls: division by zero, Nat subtraction truncation, analytic domain issues.
-
Avoid using axioms—problem statements should be encoded as definitions of propositions, never as axioms, since any solver can "solve" an item by citing the axiom.
-
Dataset maintenance and pinning—clearly specify the Lean/mathlib version a dataset targets.
-
Capture all requirements—use LLM-as-judge as a triage tool to identify whether a formalization captures all requirements, not just the main claim.
Conclusion
The paper demonstrates that Lean proof checking removes many sources of error but does not guarantee benchmark validity. Specification fidelity is a known challenge across formal methods and ML evaluation, yet systematic audits of Lean theorem-proving benchmarks have been lacking—a gap this work fills with a taxonomy, checkers, and case studies.
Key findings:
- Benchmark defects are common enough to matter (398 mechanically certified issues across ~10,000 problems)
- Defects can both inflate and deflate reported prover scores
- Static checkers + LLM-assisted filtering effectively surface statements worth human review
- The taxonomy transfers to other proof assistants, though specific checks would differ
Future work:
- Extending the audit to more benchmarks
- Generating better high-quality synthetic data
- Filtering existing Lean datasets
- Developing an effective theorem proving harness
Software and data: Static checkers (Lean 4 metaprograms), evaluation harness, semantic-audit prompts, and snapshot of audited benchmark variants are available at https://github.com/Shashi456/atp-checkers.
Related papers
- Towards Joint Scaling Laws with Optimal Batch Size Schedules
Dynamic batch size schedules derived from a closed-form convex optimization formula improve compute efficiency by 6–15% over static batch sizes, independent of model size or optimizer.
- Understanding Axes of Difficulty For Long Context Tasks Via PredicateLongBench
PREDICATELONGBENCH shows frontier LLMs collapse on simple long-context retrieval tasks when predicate arity, quantifier complexity, or adversarial decoys increase, even with unchanged answers.
- The Scaffold Effect in Coding Agents: Harness Choice as a Hidden Variable in Coding-Agent Evaluation
Harness choice drives up to a 40x token cost difference per solved coding task while shifting pass rates by only 0-8 percentage points, making harness-model pairs the correct evaluation unit.