A Versatile, Sound Tool for Simplifying Definitions
Programming Languages
2017-05-04 v1 Artificial Intelligence
Abstract
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.
Keywords
Cite
@article{arxiv.1705.01228,
title = {A Versatile, Sound Tool for Simplifying Definitions},
author = {Alessandro Coglio and Matt Kaufmann and Eric W. Smith},
journal= {arXiv preprint arXiv:1705.01228},
year = {2017}
}
Comments
In Proceedings ACL2Workshop 2017, arXiv:1705.00766