ProofJudge: Tool-Grounded LLM Evaluation of Formal Proof Quality in Mathlib
类型检查通过不代表证明合格:LLM评审能识别Mathlib审稿偏好,但必须跑三次以上…:如果你在维护或给Mathlib提交Lean 4证明,类型检查通过只是第一步,策略卫生和库规范仍靠人工审稿把关,而LLM生成的低质量证明正在加重这一负担。ProofJudge是一个带Mathlib工具访问权限的LLM评审代理,它在218对真实PR修订上达到了63.5%–80.8%的人工偏好对齐率,可以替你先做预筛选——但前提是多次重复运行,因为单次结果噪声极大。
Lean 4类型检查只验证正确性,不检查策略卫生、可复用性或库规范,ProofJudge用五维评分加Mathlib工具访问来补这个缺口。在218对测试集、六款模型、三次重复实验中对齐率达63.5%–80.8%(p < 10⁻⁵),但单次运行噪声极高,部分模型近半数裁定会在重跑中翻转。
LLM评审能从退回版与接受版的配对中识别Mathlib人工审稿偏好,六款模型对齐率63.5%–80.8%(p < 10⁻⁵)远超随机基准;但单次运行噪声过大,任何结论都要多次重复聚合后才可信。
1. 旧假设是类型检查通过即代表证明可用,忽略了策略卫生、可复用性和命名规范,导致LLM批量产出合规但低质的证明,把压力转嫁给人工审稿;且单次LLM评审噪声严重,同一消融实验p值可在0.34与0.006之间跳变。 2. 方法是从Mathlib历史PR提取218对退回版与合并版声明,用123对开发集调权重、218对测试集做评测;代理用bash工具查库(限20次调用)在独立会话中对五维指标各打1–10分,互不知晓对方版本。 3. 六款模型三次重复实验对齐率63.5%–80.8%(p < 10⁻⁵)均超随机基准,两款开源模型约70%且成本仅约闭源最高分的十分之一;但重跑翻转率达1/5至近1/2,所以必须至少重复三次、用对齐率做指标再报告结论。
数据集为218对来自Mathlib历史PR的声明(早期退回版对最终合并版),123对开发集调权重,218对测试集正式评测。六款模型(三开源、三闭源)每对跑三次重复,基准为50%随机。结果:对齐率63.5%–80.8%,p < 10⁻⁵(聚类自举区间)。关键失败模式:同一模型在相同声明上重跑翻转率从1/5到接近1/2;同一消融的单次实验p值从0.34跳到0.006,说明单次实验结论在统计上不可靠。
- 它要解决什么
- Lean 4证明通过类型检查后,LLM能否按Mathlib的库级标准(策略卫生、可复用性、命名规范)分辨出哪个版本会被人工审稿退回、哪个会被接受?
- 研究路径
- 代理每次只收到一个声明的一个修订版文本,通过bash工具查询Mathlib库(最多20次调用),对五个维度各打1–10分,系统按固定权重汇总成总分。两个修订版在独立会话中评分,代理不知道另一版本的存在和得分;以得分高的版本作为偏好输出,再与Mathlib实际接受决定比对计算对齐率。
- 这对工程意味着什么
- 第一步行动:在类型检查通过后接入五维评审代理对PR做预筛选,并且至少运行三次重复实验再报告结论。要避免的捷径:不要相信单次运行的结果——单次即使p < 0.05,重跑也可能复现为p = 0.34,把评测噪声当成模型能力的真实差异。
- 证据定位
- 六款模型(三开源、三闭源)在218对测试集上各做三次重复实验,对齐率为63.5%–80.8%,全部以p < 10⁻⁵显著超过50%随机基准(聚类自举区间)。两款开源模型对齐率约70%,成本约为最高分闭源模型的十分之一。(筛选维度:可复核评测)
- 适用边界
- 数据仅来自Mathlib历史PR,评分权重在123对开发集上调整,存在对这一特定分布过拟合的风险;评测未控制声明难度分布;每次限20次工具调用,可能限制复杂证明的评分深度。
方法与英文摘要
作者从Mathlib历史PR中提取218对声明,每对包含早期被退回的修订版和最终被合并的版本;其中123对作开发集用于调整评分权重,218对作测试集。评审代理通过bash工具访问PR提交点的库状态,最多调用20次工具,对五个维度各打1–10分:库利用率、自动化适配、结构清晰度、声明质量、Mathlib规范。两个修订版在独立会话中分别评分,代理不知道另一个版本的存在及其分数,最后以高分版本作为偏好输出,与Mathlib实际接受决定对比。
Formal proofs in Lean 4 that pass the kernel's type checker can nonetheless vary widely in quality. We introduce ProofJudge, an agentic LLM-as-judge system that scores formal proof quality along five dimensions beyond correctness: library leverage, automation fit, structural clarity, statement quality, and Mathlib conventions. We evaluate ProofJudge on a novel dataset of 218 declarations drawn from distinct Mathlib PRs. The judge agent is grounded by tool access to the commit the PR is applied to, enabling it to query the library state when scoring. A judge is considered aligned with human preferences when it rates the version of the PR Mathlib accepted above the initial version that was sent back for revision. All six judge models evaluated recover the reviewers' preference well above chance, from 80.8% to 63.5%, and two open-weight judges reach roughly 70% at a tenth of the best judge's cost. We release the judge harness, evaluation dataset, and evaluation traces as open-source artifacts to support further research.