English

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

R2 v1 2026-06-22T19:35:05.903Z