An Online Proof-Producing Decision Procedure for Mixed-Integer Linear Arithmetic
- First Online:
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.
- [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.