Proof-Producing Congruence Closure

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 $\mathit{Explain}$ operation. First, two variations of union-find data structures with $\mathit{Explain}$ are introduced. Then, these are applied inside a congruence closure algorithm with $\mathit{Explain}$, where a k-step proof can be recovered in almost optimal time (quasi-linear in k), 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.

[1]  Deepak Kapur,et al.  Shostak's Congruence Closure as Completion , 1997, RTA.

[2]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[3]  Cesare Tinelli,et al.  DPLL( T): Fast Decision Procedures , 2004, CAV.

[4]  Ashish Tiwari,et al.  Abstract Congruence Closure and Specializations , 2000, CADE.

[5]  David A. McAllester,et al.  Automated Deduction - CADE-17 , 2000, Lecture Notes in Computer Science.

[6]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[7]  Andrei Voronkov,et al.  Automated Deduction—CADE-18 , 2002, Lecture Notes in Computer Science.

[8]  Robert E. Shostak,et al.  An algorithm for reasoning about equality , 1977, CACM.

[9]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[10]  Piergiorgio Bertoli,et al.  A SAT Based Approach for Solving Formulas over Boolean and Linear Mathematical Propositions , 2002, CADE.

[11]  Xinming Ou,et al.  Theorem Proving Using Lazy Proof Explication , 2003, CAV.

[12]  L. D. Moura Lemmas on Demand for Satisfiability Solvers , 2002 .

[13]  Aaron Stump,et al.  Validated Proof-Producing Decision Procedures , 2005, Electron. Notes Theor. Comput. Sci..

[14]  David L. DillComputer Generating Proofs from a Decision Procedure , 1999 .

[15]  Robert E. Tarjan,et al.  A Class of Algorithms which Require Nonlinear Time to Maintain Disjoint Sets , 1979, J. Comput. Syst. Sci..

[16]  Robert E. Tarjan,et al.  Variations on the Common Subexpression Problem , 1980, J. ACM.

[17]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[18]  David L. Dill,et al.  Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT , 2002, CAV.

[19]  Natarajan Shankar,et al.  Justifying Equality , 2005, Electron. Notes Theor. Comput. Sci..

[20]  Albert Oliveras,et al.  Congruence Closure with Integer Offsets , 2003, LPAR.

[21]  Greg Nelson,et al.  Fast Decision Procedures Based on Congruence Closure , 1980, JACM.

[22]  Robert E. Tarjan,et al.  Efficiency of a Good But Not Linear Set Union Algorithm , 1972, JACM.