Congruence Closure with Integer Offsets
Congruence closure algorithms for deduction in ground equational theories are ubiquitous in many (semi-)decision procedures used for verification and automated deduction. They are also frequently used in practical contexts where some interpreted function symbols are present. In particular, for the verification of pipelined microprocessors, in many cases it suffices to be able to deal with integer offsets, that is, instead of only having ground terms t built over free symbols, all (sub)terms can be of the form t+k for arbitrary integer values k.
In this paper we first give a different very simple and clean formulation for the standard congruence closure algorithm which we believe is of interest on itself. It builds on ideas from the abstract algorithms of [Kap97, BT00], but it is easily shown to run in the best known time, O(n log n), like the classical algorithms [DST80, NO80, Sho84].
After that, we show how this algorithm can be smoothly extended to deal with integer offsets without increasing this asymptotic complexity.
KeywordsLookup Table Function Symbol Ground Term Constant Symbol Automate Deduction
Unable to display preview. Download preview PDF.
- [BD94]Burch, J.R., Dill, D.L.: Automatic verification of pipelined microprocessor control. In: Proc. 6th International Computer Aided Verification Conference, pp. 68–80 (1994)Google Scholar
- [BTV]Bachmair, L., Tiwari, A., Vigneron, L.: Abstract congruence closure. Journal of Automated Reasoning (to appear)Google Scholar
- [DP01]Dershowitz, N., Plaisted, D.: Rewriting. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning. Elsevier Science Publishers/ MIT Press (2001)Google Scholar
- [Kap97]Kapur, D.: Shostak’s congruence closure as completion. In: Comon, H. (ed.) RTA 1997. LNCS, vol. 1232. Springer, Heidelberg (1997)Google Scholar
- [Sny89]Snyder, W.: An O(n log n) algorithm for generating reduced sets of ground rewrite rules equivalent to a set of ground equations E. In: Dershowitz, N. (ed.) RTA 1989. LNCS, vol. 355. Springer, Heidelberg (1989)Google Scholar