Results 1 
2 of
2
Fast decision procedures based on congruence closure
 Journal of the ACM
, 1980
"... ABSTRACT, The notion of the congruence closure of a relation on a graph ~s defined and several algorithms for computing it are surveyed A simple proof is given that the congruence closure algorithm provides a decision procedure for the quantifierfree theory of equality A decision procedure ts then ..."
Abstract

Cited by 186 (0 self)
 Add to MetaCart
ABSTRACT, The notion of the congruence closure of a relation on a graph ~s defined and several algorithms for computing it are surveyed A simple proof is given that the congruence closure algorithm provides a decision procedure for the quantifierfree theory of equality A decision procedure ts then given for the quanufierfree theory of LISP hst structure based on the congruence closure algorithm Both decision procedures determine the satisfiability of a conjunction of hterals of length n In average time O(n log n) using the fastest known congruence closure algorithm It is also shown that ff the axtomattzatton of the theory of list structure ts changed slightly, the problem of determmmg the satisfiabihty of a conjunction of hterals becomes NPcomplete The decision procedures have been unplemented m the authors ' simphfier for the Stanford Pascal Verifier KEY WORDS AND PHRASES ' program verification, mechanical theorem proving, decision procedure, congruence closure, graph algorithms, theory of equahty, theory of recurstve data types
On Shostak's Decision Procedure for Combinations of Theories
, 1996
"... Decision procedures are increasingly being employed for deciding or simplifying propositional combinations of ground equalities involving uninterpreted function symbols, linear arithmetic, arrays, and other theories. Two approaches for constructing decision procedures for combinations of ground theo ..."
Abstract

Cited by 52 (8 self)
 Add to MetaCart
Decision procedures are increasingly being employed for deciding or simplifying propositional combinations of ground equalities involving uninterpreted function symbols, linear arithmetic, arrays, and other theories. Two approaches for constructing decision procedures for combinations of ground theories were pioneered in the late seventies. In the approach of Nelson and Oppen, decision procedures for two disjoint theories are combined by introducing variables to name subterms and iteratively propagating any deduced equalities between variables from one theory to another. Shostak employs a different approach that works far more efficiently in practice. He uses an optimized implementation of the congruence closure procedure for ground equality over uninterpreted function symbols to combine theories that are canonizable and algebraically solvable. Many useful theories have these properties. Shostak's algorithm is subtle and complex and his description of this procedure is lacking in ri...