Journal of Automated Reasoning

, Volume 40, Issue 4, pp 293–306

Rewriting with Equivalence Relations in ACL2

Authors

  • Bishop Brock
    • Department of Computer SciencesThe University of Texas at Austin
  • J Strother Moore
    • Department of Computer SciencesThe University of Texas at Austin
Article

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

Abstract

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.

Keywords

RewritingCongruenceEquivalence relationsRefinement

Copyright information

© Springer Science+Business Media B.V. 2007