English

Generating Correctness Proofs with Neural Networks

Programming Languages 2020-06-01 v4

Abstract

Foundational verification allows programmers to build software which has been empirically shown to have high levels of assurance in a variety of important domains. However, the cost of producing foundationally verified software remains prohibitively high for most projects,as it requires significant manual effort by highly trained experts. In this paper we present Proverbot9001,a proof search system using machine learning techniques to produce proofs of software correctness in interactive theorem provers. We demonstrate Proverbot9001 on the proof obligations from a large practical proof project,the CompCert verified C compiler,and show that it can effectively automate what were previously manual proofs,automatically producing proofs for 27.5% of theorem statements in our test dataset, when combined with solver-based tooling. Without any additional solvers,we exhibit a proof completion rate that is a 4X improvement over prior state-of-the-art machine learning models for generating proofs in Coq.

Keywords

Cite

@article{arxiv.1907.07794,
  title  = {Generating Correctness Proofs with Neural Networks},
  author = {Alex Sanchez-Stern and Yousef Alhessi and Lawrence Saul and Sorin Lerner},
  journal= {arXiv preprint arXiv:1907.07794},
  year   = {2020}
}

Comments

Condensed version to be published at MAPL 2020

R2 v1 2026-06-23T10:23:47.113Z