Leveraging Linear and Mixed Integer Programming for SMT
Authors: Tim King, Clark Barrett and Cesare Tinelli
Paper Information
| Title: | Leveraging Linear and Mixed Integer Programming for SMT |
| Authors: | Tim King, Clark Barrett and Cesare Tinelli |
| Proceedings: | SMT 2014 Proceedings |
| Editors: | Philipp Ruemmer and Christoph M. Wintersteiger |
| Keywords: | SMT, linear arithmetic, integer programming, simplex |
| Abstract: | ABSTRACT. Solvers for Satisfiability Modulo Theories (SMT) combine the ability of fast Boolean satisfiability solvers to find solutions for complex propositional formulas with specialized theory solvers. Theory solvers for linear real and integer arithmetic reason about systems of simultaneous inequalities. These solvers either find a feasible solution or prove that no such solution exists. Linear programming (LP) solvers come from the tradition of optimization, and are designed to find feasible solutions that are optimal with respect to some optimization function. Typical LP solvers are designed to solve large systems quickly using floating point arithmetic. Because floating point arithmetic is inexact, rounding errors can lead to incorrect results, making these solvers inappropriate for direct use in theorem proving. Previous efforts to leverage such solvers in the context of SMT have concluded that in addition to being potentially unsound, such solvers are too heavyweight to compete in the context of SMT. In this paper, we describe a technique for integrating LP solvers that dramatically improves the performance of SMT solvers without compromising correctness. These techniques have been implemented using the SMT solver CVC4 and the LP solver GLPK. Experiments show that this implementation outperforms other state-of-the-art SMT solvers on the QF_LIA and QF_LRA SMT-LIB benchmarks. |
| Pages: | 1 |
| Talk: | Jul 18 10:45 |
| Paper: | ![]() |
