STP: Self-play LLM Theorem Provers with Iterative Conjecturing and Proving
Kefan Dong, Tengyu Ma
TL;DR
The paper tackles data scarcity in LLM-driven formal theorem proving by introducing STP, a self-play framework where a conjecturer and a prover train in tandem, with the conjecturer generating conjectures barely provable by the current prover to create dense training signals. Through a carefully designed reward system, Wasserstein-based reweighting to maintain topic diversity, and final re-training, STP achieves substantial improvements over expert iteration, including a 28.5% cumulative proof rate on LeanWorkbook and state-of-the-art performance on miniF2F, ProofNet, and PutnamBench across multiple budgets in Lean and Isabelle. The approach demonstrates that self-generated conjectures can sustainably drive model improvement without additional external data, yielding robust gains on formal verification tasks. These results have practical implications for scalable, autonomous formal reasoning and potential broad applicability to advanced mathematical proof systems.
Abstract
A fundamental challenge in formal theorem proving by LLMs is the lack of high-quality training data. Although reinforcement learning or expert iteration partially mitigates this issue by alternating between LLM generating proofs and finetuning them on correctly generated ones, performance quickly plateaus due to the scarcity of correct proofs (sparse rewards). To keep improving the models with limited data, we draw inspiration from mathematicians, who continuously develop new results, partly by proposing novel conjectures or exercises (which are often variants of known results) and attempting to solve them. We design the Self-play Theorem Prover (STP) that simultaneously takes on two roles, conjecturer and prover, each providing training signals to the other. The conjecturer is trained iteratively on previously generated conjectures that are barely provable by the current prover, which incentivizes it to generate increasingly challenging conjectures over time. The prover attempts to prove the conjectures with standard expert iteration. We evaluate STP with both Lean and Isabelle formal versifiers. With 51.3 billion tokens generated during the training in Lean, STP proves 28.5% of the statements in the LeanWorkbook dataset, doubling the previous best result of 13.2% achieved through expert iteration. The final model achieves state-of-the-art performance among whole-proof generation methods on miniF2F-test (65.0%, pass@3200), Proofnet-test (23.9%, pass@3200) and PutnamBench (8/644, pass@3200). We release our code, model, and dataset in this URL: https://github.com/kfdong/STP.
