Many applications of congruence closure nowadays require the ability of recovering, among the thousands of input equations, the small subset that caused the equivalence of a given pair of terms. For this purpose, here we introduce an incremental congruence closure algorithm that has an additional Explain operation. First, two variations of union-find data structures with Explain are introduced. Then, these are applied inside a congruence closure algorithm with Explain, where a κ-step proof can be recovered in almost optimal time (quasi-linear in κ), without increasing the overall O(n log n) runtime of the fastest known congruence closure algorithms. This non-trivial (ground) equational reasoning result has been quite intensively sought after (see, e.g., [SD99, dMRS04, KS04]), and moreover has important applications to verification. © Springer-Verlag Berlin Heidelberg 2005.
CITATION STYLE
Nieuwenhuis, R., & Oliveras, A. (2005). Proof-producing congruence closure. In Lecture Notes in Computer Science (Vol. 3467, pp. 453–468). Springer Verlag. https://doi.org/10.1007/978-3-540-32033-3_33
Mendeley helps you to discover research relevant for your work.