An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic
Efficient decision procedures for arithmetic play a very important role in formal verification. In practical examples, however, arithmetic constraints are often mixed with constraints from other theories like the theory of arrays, Boolean satisfiability (SAT), bit-vectors, etc. Therefore, decision procedures for arithmetic are especially useful in combination with other decision procedures. The framework for such a combination is implemented at Stanford in the tool called Cooperating Validity Checker (CVC) [SBD02].
This work augments CVC with a decision procedure for the theory of mixed integer linear arithmetic based on the Omega-test [Pug91] extended to be online and proof producing. These extensions are the most important and challenging part of the work, and are necessary to make the combination efficient in practice.
KeywordsDecision Procedure Online Algorithm Integer Variable Proof Rule Variable Elimination
- [BDS00]C. Barrett, D. Dill, and A. Stump. A Framework for Cooperating Decision Procedures. In David McAllester, editor, 17th International Conference on Computer Aided Deduction, volume 1831 of LNAI, pages 79–97. Springer-Verlag, 2000.Google Scholar
- [BDS02a]C. Barrett, D. Dill, and A. Stump. A Generalization of Shostak’s Method for Combining Decision Procedures. In 4th International Workshop on Frontiers of Combining Systems (FroCos), 2002.Google Scholar
- [BDS02b]C. Barrett, D. Dill, and A. Stump. Checking Satisfiability of First-Order Formulas by Incremental Translation to SAT. In 14th International Conference on Computer-Aided Verification, 2002.Google Scholar
- [BGD02]Sergey Berezin, Vijay Ganesh, and David L. Dill. Online proof-producing decision procedure for mixed-integer linear arithmetic. Unpublished manuscript. URL: http://www.cs.cmu.edu/~berez/publications.html, 2002.
- [BT97]Dimitris Bertsimas and John N. Tsitsiklis. Introduction to Linear Optimization. Athena Scientific, Belmont, Massachusetts, 1997.Google Scholar
- [MMZ+01]M. Moskewicz, C. Madigan, Y. Zhaod, L. Zhang, and S. Malik. Chaff: Engineering an Efficient SAT Solver. In 39th Design Automation Conference, 2001.Google Scholar
- [Möl98]M. Oliver Möller. Solving bit-vector equations-a decision procedure for hardware verification, 1998. Diploma Thesis, available at http://www.informatik.uni-ulm.de/ki/Bitvector/.
- [NL00]George C. Necula and Peter Lee. Proof generation in the Touchstone theorem prover. In David McAllester, editor, 17th International Conference on Computer-Aided Deduction, volume 1831 of Lecture Notes in Artificial Intelligence. Springer-Verlag, June 2000. Pittsburgh, Pennsylvania.Google Scholar
- [Pug91]William Pugh. The omega test: a fast and practical integer programming algorithm for dependence analysis. In Supercomputing, pages 4–13, 1991.Google Scholar
- [RS01]H. Ruess and N. Shankar. Deconstructing Shostak. In 16th IEEE Symposium on Logic in Computer Science, 2001.Google Scholar
- [SBD02]A. Stump, C. Barrett, and D. Dill. CVC: a Cooperating Validity Checker. In 14th International Conference on Computer-Aided Verification, 2002.Google Scholar
- [SBDL01]A. Stump, C. Barrett, D. Dill, and J. Levitt.ADecision Procedure for an Extensional Theory of Arrays. In 16th IEEE Symposium on Logic in Computer Science, pages 29–37. IEEE Computer Society, 2001.Google Scholar
- [SS96]J. P. M. Silva and K.A. Sakallah. GRASP-Anewsearch algorithm for satisfiability. In Proceedings of the ACM/IEEE International Conference on Computer-Aided Design, pages 220–227, 11 1996.Google Scholar
- [Stu02]A. Stump. Checking Validities and Proofs with CVC and flea. PhD thesis, Stanford University, 2002. In preparation: check http://verify.stanford.edu/~stump/ for a draft.