Fast Decision Procedures Based on Congruence Closure
Journal of the ACM (JACM)
Deciding Combinations of Theories
Journal of the ACM (JACM)
Simplification by Cooperating Decision Procedures
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Generalization of Shostak's Method for Combining Decision Procedures
FroCoS '02 Proceedings of the 4th International Workshop on Frontiers of Combining Systems
A Rewrite Rule Based Framework for Combining Decision Procedures
FroCoS '02 Proceedings of the 4th International Workshop on Frontiers of Combining Systems
RTA '02 Proceedings of the 13th International Conference on Rewriting Techniques and Applications
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
CVC: A Cooperating Validity Checker
CAV '02 Proceedings of the 14th International Conference on Computer Aided Verification
CADE-18 Proceedings of the 18th International Conference on Automated Deduction
LICS '01 Proceedings of the 16th Annual IEEE Symposium on Logic in Computer Science
Decision procedures in automated deduction
Decision procedures in automated deduction
Journal of Automated Reasoning
Simplify: a theorem prover for program checking
Journal of the ACM (JACM)
Canonization for disjoint unions of theories
Information and Computation - Special issue: 19th international conference on automated deduction (CADE-19)
New results on rewrite-based satisfiability procedures
ACM Transactions on Computational Logic (TOCL)
Nelson-Oppen, shostak and the extended canonizer: a family picture with a newborn
ICTAC'04 Proceedings of the First international conference on Theoretical Aspects of Computing
Hi-index | 0.00 |
Implementing efficient algorithms for combining decision procedures has been a challenge and their correctness precarious. In this paper we describe an inference system that has the classical Nelson-Oppen procedure at its core and includes several optimizations: variable abstraction with sharing, canonization of terms at the theory level, and Shostak's streamlined generation of new equalities for theories with solvers. The transitions of our system are fine-grained enough to model most of the mechanisms currently used in designing combination procedures. In particular, with a simple language of regular expressions we are able to describe several combination algorithms as strategies for our inference system, from the basic Nelson-Oppen to the very highly optimized one recently given by Shankar and Rueß. Presenting the basic system at a high level of generality and nondeterminism allows transparent correctness proofs that can be extended in a modular fashion whenever a new feature is introduced in the system. Similarly, the correctness proof of any new strategy requires only minimal additional proof effort.