Syntheto: A Surface Language for APT and ACL2

Alessandro Coglio
(Kestrel Institute)
Eric McCarthy
(Kestrel Institute)
Stephen Westfold
(Kestrel Institute)
Daniel Balasubramanian
(Institute for Software-Integrated Systems, Vanderbilt University)
Abhishek Dubey
(Institute for Software-Integrated Systems, Vanderbilt University)
Gabor Karsai
(Institute for Software-Integrated Systems, Vanderbilt University)

Syntheto is a surface language for carrying out formally verified program synthesis by transformational refinement in ACL2 using the APT toolkit. Syntheto aims at providing more familiarity and automation, in order to make this technology more widely usable. Syntheto is a strongly statically typed functional language that includes both executable and non-executable constructs, including facilities to state and prove theorems and facilities to apply proof-generating transformations. Syntheto is integrated into an IDE with a notebook-style, interactive interface that translates Syntheto to ACL2 definitions and APT transformation invocations, and back-translates the prover's results to Syntheto; the bidirectional translation happens behind the scenes, with the user interacting solely with Syntheto.

In Rob Sumners and Cuong Chau: Proceedings Seventeenth International Workshop on the ACL2 Theorem Prover and its Applications (ACL2 2022), Austin, Texas, USA, 26th-27th May 2022, Electronic Proceedings in Theoretical Computer Science 359, pp. 151–167.
Published: 24th May 2022.

ArXived at: bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to:
For website issues: