Formally verifying properties of software code, especially with the emergence of LLM-generated code, is a highly desirable task.
This work introduces a framework that generates whole proofs in a formal language to be used in systems utilizing built-in tactics and automated theorem provers.
The framework includes components for generating natural language statements, an LLM that generates formal proofs, and a module employing heuristics for building the final proof.
The framework is validated using benchmark tests and the Isabelle proof assistant, and a dataset is curated for future training tasks.