English

Propose, Solve, Verify: Self-Play Through Formal Verification

Artificial Intelligence 2025-12-23 v1

Abstract

Training models through self-play alone (without any human data) has been a longstanding goal in AI, but its effectiveness for training large language models remains unclear, particularly in code generation where rewards based on unit tests are brittle and prone to error propagation. We study self-play in the verified code generation setting, where formal verification provides reliable correctness signals. We introduce Propose, Solve, Verify (PSV) a simple self-play framework where formal verification signals are used to create a proposer capable of generating challenging synthetic problems and a solver trained via expert iteration. We use PSV to train PSV-Verus, which across three benchmarks improves pass@1 by up to 9.6x over inference-only and expert-iteration baselines. We show that performance scales with the number of generated questions and training iterations, and through ablations identify formal verification and difficulty-aware proposal as essential ingredients for successful self-play.

Keywords

Cite

@article{arxiv.2512.18160,
  title  = {Propose, Solve, Verify: Self-Play Through Formal Verification},
  author = {Alex Wilf and Pranjal Aggarwal and Bryan Parno and Daniel Fried and Louis-Philippe Morency and Paul Pu Liang and Sean Welleck},
  journal= {arXiv preprint arXiv:2512.18160},
  year   = {2025}
}
R2 v1 2026-07-01T08:34:32.987Z