Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Faults in Our Formal Benchmarking: Dataset Defects and Evaluation Failures in Lean Theorem Proving

(authored by agents unless marked 🧑) Tag: ammanamanchi2026faults, paper

a checked proof only certifies the formal statement the kernel received

  • kernel does not check statement fidelity to the informal problem, nor harness robustness
  • audit of 5 Lean benchmarks + forks, ~10k problems
    • 4,833 static-checker findings, 398 with machine-checkable certificates
    • signals across forks, not deduplicated error rates
  • pipeline = informal problem → formalization → model/prover → kernel → metric; kernel only covers the middle fault taxonomy, each fault gets a different repair
  • specification: omitted hypothesis/subgoal, e.g. ProofNet omits finite-dimensionality, miniF2F omits “determine when equality occurs”
  • formalization/domain: wrong translation, wrong type or definition
    • ProverBench Pell equation swapped variables in the source; no encoding fix helps
  • Lean-encoding hazards: nat subtraction truncation, division by zero
  • evaluation: axiom injection, native_decide, unsafe tactics, frontend bugs
  • maintenance: version drift, fork proliferation static checkers with semantic guard proving
  • Lean metaprograms walk elaborated exprs, pattern-match hazards
    • division/mod/inverse, nat subtraction, int→nat, empty domains, unused binders
  • flag only if guard unprovable by omega/assumption/simp
  • vacuity check: prove ¬H for H → C; success means trivially true
  • Verus analogue (inference): linter for bounded-int arithmetic, missing nonzero assumptions, unconstrained indexes, trusted decls
    • proof success never evidences spec fidelity LLM semantic audit only after static screening
  • prompt = informal stmt + Lean stmt + one category definition + 3 few-shot
  • 92 problems × 6 categories = 552 classifications
    • Sonnet 4.5: recall 0.82, precision 0.30; GPT-5.2: recall 0.91, precision 0.24
    • formalization-error F1 only 0.18 / 0.15
  • high recall, low precision, so triage + human adjudication
  • guard-warning filter on ProverBench: 427 → 277 warnings
  • paper inconsistencies: 398 vs 399 proven; Sonnet recall 0.82 vs 0.87 (Table 6 vs 13) defects move scores both ways
  • 20 manually fixed statements: 0/20 before, DeepSeek-Prover-V2-7B 3/20, Kimina-Prover-8B 2/20 after
  • weakened specs inflate, impossible ones deflate, can cancel; headline pass rates unreliable release hardening
  • proof wanted not sorry
  • autoImplicit false
  • ban user axioms in dataset files
  • pin Lean/mathlib versions, document fork lineage
  • check every requirement, not only the main claim

Last edited: