Journal of Automated Reasoning

, Volume 40, Issue 4, pp 293–306

Rewriting with Equivalence Relations in ACL2


DOI: 10.1007/s10817-007-9095-9

Cite this article as:
Brock, B., Kaufmann, M. & Moore, J.S. J Autom Reasoning (2008) 40: 293. doi:10.1007/s10817-007-9095-9


Traditionally, a conditional rewrite rule directs replacement of one term by another term that is provably equal to it, perhaps under some hypotheses. This paper generalizes the notion of rewrite rule to permit the connecting relation to be merely an equivalence relation. We then extend the algorithm for applying rewrite rules. Applications of these generalized rewrite rules are only admissible in certain equivalential contexts, so the algorithm tracks which equivalence relations are to be preserved and admissible generalized rewrite rules are selected according to this context. We introduce the notions of congruence rule and refinement rule. We also introduce the idea of generated equivalences, corresponding to a new equivalence relation generated by a set of pre-existing ones. Generated equivalences are used to give the rewriter broad access to admissible generalized rewrite rules. We discuss the implementation of these notions in the ACL2 theorem prover. However, the discussion does not assume familiarity with ACL2, and these ideas can be applied to other reasoning systems as well.


Rewriting Congruence Equivalence relations Refinement 

Copyright information

© Springer Science+Business Media B.V. 2007

Authors and Affiliations

  1. 1.Department of Computer SciencesThe University of Texas at AustinAustinUSA

Personalised recommendations