Constraint solving for finite model finding in SMT solvers

Constraint solving for finite model finding in SMT solvers” by Andrew Reynolds, Cesare Tinelli, and Clark Barrett. Theory and Practice of Logic Programming, vol. 17, no. 4, July 2017, pp. 516-558, Cambridge University Press.

Abstract

Satisfiability modulo theories (SMT) solvers have been used successfully as reasoning engines for automated verification and other applications based on automated reasoning. Current techniques for dealing with quantified formulas in SMT are generally incomplete, forcing SMT solvers to report “unknown” when they fail to prove the unsatisfiability of a formula with quantifiers. This inability to return counter models limits their usefulness in applications that produce queries involving quantified formulas. In this paper, we reduce these limitations by integrating finite model finding techniques based on constraint solving into the architecture used by modern SMT solvers. This approach is made possible by a novel solver for cardinality constraints, as well as techniques for on-demand instantiation of quantified formulas. Experiments show that our approach is competitive with the state of the art in SMT, and orthogonal to approaches in automated theorem proving.

Keywords: Satisfiability modulo theories, finite model finding

BibTeX entry:

@article{RTB17,
   author = {Andrew Reynolds and Cesare Tinelli and Clark Barrett},
   title = {Constraint solving for finite model finding in {SMT} solvers},
   journal = {Theory and Practice of Logic Programming},
   volume = {17},
   number = {4},
   pages = {516--558},
   publisher = {Cambridge University Press},
   month = jul,
   year = {2017},
   url = {http://theory.stanford.edu/~barrett/pubs/RTB17.pdf}
}

(This webpage was created with bibtex2web.)