×

Satisfiability modulo the theory of costs: foundations and applications. (English) Zbl 1284.68388

Esparza, Javier (ed.) et al., Tools and algorithms for the construction and analysis of systems. 16th international conference, TACAS 2010, held as part of the joint European conferences on theory and practice of software, ETAPS 2010, Paphos, Cyprus, March 20–28, 2010. Proceedings. Berlin: Springer (ISBN 978-3-642-12001-5/pbk). Lecture Notes in Computer Science 6015, 99-113 (2010).
Summary: We extend the setting of satisfiability modulo theories (SMT) by introducing a theory of costs \({\mathcal{C}}\), where it is possible to model and reason about resource consumption and multiple cost functions, e.g., battery, time, and space. We define a decision procedure that has all the features required for the integration withint the lazy SMT schema: incrementality, backtrackability, construction of conflict sets, and deduction. This naturally results in an SMT solver for the disjoint union of \({\mathcal{C}}\) and any other theory \({\mathcal{T}}\).
This framework has two important applications. First, we tackle the problem of optimization modulo theories: rather than checking the existence of a satisfying assignment, as in SMT, we require a satisfying assignment that minimizes a given cost function. We build on the decision problem for SMT with costs, i.e., finding a satisfying assigniment with cost within an admissibility range, and propose two algorithms for optimization. Second, we use multiple cost functions to deal with pseudo-Boolean constraints. Within the \({\text{SMT}({\mathcal C})}\) framework, the effectively pseudo-Boolean constraints are dealt with by the cost solver, while the other constraints are reduced to pure Boolean reasoning.
We implemented the proposed approach within the MathSAT SMT solver, and we experimentally evaluated it on a large set of benchmarks, also from industrial applications. The results clearly demonstrate the potential of the approach.
For the entire collection see [Zbl 1185.68007].

MSC:

68Q60 Specification and verification (program logics, model checking, etc.)
68T15 Theorem proving (deduction, resolution, etc.) (MSC2010)

Software:

PBS
PDFBibTeX XMLCite
Full Text: DOI