Journal of Automated Reasoning

, Volume 40, Issue 4, pp 293-306

First online:

Rewriting with Equivalence Relations in ACL2

  • Bishop Brock
  • , Matt KaufmannAffiliated withDepartment of Computer Sciences, The University of Texas at Austin Email author 
  • , J Strother MooreAffiliated withDepartment of Computer Sciences, The University of Texas at Austin

Rent the article at a discount

Rent now

* Final gross prices may vary according to local VAT.

Get Access


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