A Versatile, Sound Tool for Simplifying Definitions

Alessandro Coglio
(Kestrel Institute)
Matt Kaufmann
(Department of Computer Science, The University of Texas at Austin)
Eric W. Smith
(Kestrel Institute)

We present a tool, simplify-defun, that transforms the definition of a given function into a simplified definition of a new function, providing a proof checked by ACL2 that the old and new functions are equivalent. When appropriate it also generates termination and guard proofs for the new function. We explain how the tool is engineered so that these proofs will succeed. Examples illustrate its utility, in particular for program transformation in synthesis and verification.

In Anna Slobodova and Warren Hunt Jr.: Proceedings 14th International Workshop on the ACL2 Theorem Prover and its Applications (ACL2Workshop 2017), Austin, Texas, USA, May 22-23, 2017, Electronic Proceedings in Theoretical Computer Science 249, pp. 61–77.
Published: 2nd May 2017.

ArXived at: http://dx.doi.org/10.4204/EPTCS.249.5 bibtex PDF
References in reconstructed bibtex, XML and HTML format (approximated).
Comments and questions to: eptcs@eptcs.org
For website issues: webmaster@eptcs.org