Download PDFOpen PDF in browser

νZ - Maximal Satisfaction with Z3

9 pagesPublished: December 4, 2014

Abstract

Satisfiability Modulo Theories, SMT, solvers are used in
many applications. These applications benefit from the
power of tuned and scalable theorem proving technologies
for supported logics and specialized theory solvers.
SMT solvers are primarily used to determine whether formulas are satisfiable.
Furthermore, when formulas are satisfiable, many applications need models
that assign values to free variables.
Yet, in many cases arbitrary assignments are insufficient,
and what is really needed is an <i>optimal</i> assignment
with respect to objective functions. So far, users of Z3,
an SMT solver from Microsoft Research, build custom loops
to achieve objective values. This is no longer necessary
with νZ (new-Z, or max-Z), an extension within Z3 that lets
users formulate objective functions directly with Z3. Under the hood there is a
portfolio of approaches for solving linear optimization problems over
SMT formulas, MaxSMT, and their combinations. Objective functions are combined
as either Pareto fronts, lexicographically, or each objective is optimized independently.

In: Temur Kutsia and Andrei Voronkov (editors). SCSS 2014. 6th International Symposium on Symbolic Computation in Software Science, vol 30, pages 1--9

Links:
BibTeX entry
@inproceedings{SCSS2014:Z__Maximal_Satisfaction,
  author    = {Nikolaj Bjorner and Anh-Dung Phan},
  title     = { \textbackslash{}ensuremath\{\textbackslash{}nu \} Z - Maximal Satisfaction with Z3},
  booktitle = {SCSS 2014. 6th International Symposium on Symbolic Computation in Software Science},
  editor    = {Temur Kutsia and Andrei Voronkov},
  series    = {EPiC Series in Computing},
  volume    = {30},
  pages     = {1--9},
  year      = {2014},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/xbn},
  doi       = {10.29007/jmxj}}
Download PDFOpen PDF in browser