Arrow Research search
Back to I&C

I&C 2007

Fast congruence closure and extensions

Journal Article journal-article Computer Science ยท Theoretical Computer Science

Abstract

Congruence closure algorithms for deduction in ground equational theories are ubiquitous in many (semi-)decision procedures used for verification and automated deduction. In many of these applications one needs an incremental algorithm that is moreover capable of recovering, among the thousands of input equations, the small subset that explains the equivalence of a given pair of terms. In this paper we present an algorithm satisfying all these requirements. First, building on ideas from abstract congruence closure algorithms, we present a very simple and clean incremental congruence closure algorithm and show that it runs in the best known time O(n log n). After that, we introduce a proof-producing union-find data structure that is then used for extending our congruence closure algorithm, without increasing the overall O(n log n) time, in order to produce a k-step explanation for a given equation in almost optimal time (quasi-linear in k). Finally, we show that the previous algorithms can be smoothly extended, while still obtaining the same asymptotic time bounds, in order to support the interpreted functions symbols successor and predecessor, which have been shown to be very useful in applications such as microprocessor verification.

Authors

Keywords

  • Decision procedures
  • Congruence closure
  • Equational reasoning
  • Verification

Context

Venue
Information and Computation
Archive span
1987-2026
Indexed papers
3021
Paper id
879906287873185798
v2026.09.13