Rough Diamond: An Extension of Equivalence-Based Rewriting
Previous work by the authors generalized conditional rewriting from the use of equalities to the use of arbitrary equivalence relations. Such (classic) equivalence-based rewriting automates the replacement of one subterm by another that may not be strictly equal to it, but is equivalent to it, where this equivalence is determined automatically to be sufficient at that subterm occurrence. We extend that capability by introducing patterned congruence rules in the ACL2 theorem prover, to provide more control over the occurrences where such a replacement may be made. This extension enables additional automation of the rewriting process, which is important in industrial-scale applications. However, because this feature is so new (introduced January, 2014), we do not yet have industrial applications to verify its utility, so we present a small example that illustrates how it supports scaling to large proof efforts.
KeywordsACL2 rewriting congruence equivalence relation
Unable to display preview. Download preview PDF.
- 5.Kaufmann, M.: ACL2 demo of (patterned) congruences, https://acl2-books.googlecode.com/svn/trunk/demos/patterned-congruences.lisp
- 6.Kaufmann, M., Manolios, P., Moore, J.S.: Computer-Aided Reasoning: An Approach. Kluwer Academic Publishers, Boston (2000)Google Scholar
- 7.Kaufmann, M., Moore, J S.: ACL2 home page, http://www.cs.utexas.edu/users/moore/acl2
- 8.Kaufmann, M., Moore, J S.: Essay on Patterned Congruences and Equivalences, in ACL2 source file rewrite.lisp, https://acl2-devel.googlecode.com/svn/trunk/rewrite.lisp
- 9.Swords, S.: Personal communicationGoogle Scholar
- 10.ACL2 Community Books, http://acl2-books.googlecode.com/