vix.ing · top · new · best · stats

Leveraging linear and mixed integer programming for SMT

2014/10/01 by Tim L. King, Clark Barrett, Cesare Tinelli · 1 citation
Computer Science · #Formal Methods in Verification #Logic, programming, and type systems #Constraint Satisfaction and Optimization

paper · doi:10.1109/fmcad.2014.6987606

openalex publication_date 2014/10/01 · openalex created_date 2025/10/10 · openalex updated_date 2026/07/29

Abstract

SMT solvers combine SAT reasoning with specialized theory solvers either to find a feasible solution to a set of constraints or to 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 inexact 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 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 QFLRA SMT-LIB benchmarks and is competitive on the QFLIA benchmarks.

Citations

Cited by

Related