Search papers, labs, and topics across Lattice.
This paper introduces P$^{3}$, a novel approach to verified code generation that integrates program synthesis and proof generation into a unified workflow, addressing inefficiencies in the traditional decoupled method. By leveraging a shared plan derived from formal specifications, P$^{3}$ enables large language models (LLMs) to generate executable programs alongside machine-checkable proofs, significantly improving the correctness and verifiability of the output. The evaluation on the Lean4Commit0 benchmark demonstrates that P$^{3}$ outperforms existing methods, achieving higher solve rates and reducing both API costs and wall-clock time for complex tasks.
Jointly planning programs and their proofs can boost solve rates by over 11% while slashing API costs by nearly 40%.
Verified code generation asks a large language model (LLM) to generate both an executable program and a machine-checkable proof that the program meets a formal specification, promising software that is correct by construction. The de facto workflow decouples the two halves of the problem: first synthesize a program, then attempt to prove it correct. We observe that this sequential pipeline can be both ineffective and inefficient in practice. A program generated without anticipating its proof can be subtly incorrect or structurally difficult to verify, forcing the LLM into brittle repair loops that alternate between patching the code and patching the proof. Inspired by Dijkstra's view that a program and its correctness argument should be developed hand in hand, we propose $P^3$, an LLM-based agentic workflow that first derives a unified program-and-proof plan from the specification, then elaborates the implementation and proof scaffold under this shared plan. To evaluate verified code generation in realistic settings, we further introduce Lean4Commit0, a repository-derived, library-level benchmark built by extracting core APIs from real-world software repositories and translating their requirements, including relational specifications across APIs, into Lean tasks. Using four frontier LLM backends, we evaluate $P^3$ on Verina, AlgoVeri, and our Lean4Commit0 benchmark, where it achieves the highest solve rate in every benchmark--model setting. Compared with the stronger baseline, it improves solve rates by 4.6--11.2 percentage points and reduces per-task API cost by up to roughly 40\% and wall-clock time by up to roughly 37\% on the difficult subset of each benchmark. A targeted ablation further shows gains of 3.3--8.3 points over implementation-only planning, isolating the benefit of planning the program and proof jointly.