🤖 AI Summary
To address the high proof-writing cost and low automation in Coq formal verification, this paper proposes an LLM-driven proof generation method based on iterative synthesis. It leverages large language models to batch-generate candidate proofs and innovatively identifies and cross-proofs fuses locally valid fragments from multiple failed attempts. The approach supports incremental synthesis guided by partial progress—including subgoal decomposition and external lemmas. Under a strict no-training-data-leakage constraint, it achieves a 48% fully automated proof rate—31 percentage points higher than the prior SOTA Proverbot9001—and reaches 58% when incorporating external progress, establishing a new end-to-end SOTA for Coq automated theorem proving. Its core innovation lies in the systematic mining and cross-proof recomposition of effective fragments from failed proofs.
📝 Abstract
Formal verification using proof assistants, such as Coq, is an effective way of improving software quality, but it is expensive. Writing proofs manually requires both significant effort and expertise. Recent research has used machine learning to automatically synthesize proofs, reducing verification effort, but these tools are able to prove only a fraction of the desired software properties. We introduce Cobblestone, a new proof-synthesis approach that improves on the state of the art by taking advantage of partial progress in proof synthesis attempts. Unlike prior tools, Cobblestone can produce multiple unsuccessful proofs using a large language model (LLM), identify the working portions of those proofs, and combine them into a single, successful proof, taking advantage of internal partial progress. We evaluate Cobblestone on two benchmarks of open-source Coq projects, controlling for training data leakage in LLM datasets. Fully automatically, Cobblestone can prove 48% of the theorems, while Proverbot9001, the previous state-of-the-art, learning-based, proof-synthesis tool, can prove 17%. Cobblestone establishes a new state of the art for fully automated proof synthesis tools for Coq. We also evaluate Cobblestone in a setting where it is given external partial proof progress from oracles, serving as proxies for a human proof engineer or another tool. When the theorem is broken down into a set of subgoals and Cobblestone is given a set of relevant lemmas already proven in the project, it can prove up to 58% of the theorems. We qualitatively study the theorems Cobblestone is and is not able to prove to outline potential future research directions to further improve proof synthesis, including developing interactive, semi-automated tools. Our research shows that tools can make better use of partial progress made during proof synthesis to more effectively automate formal verification.