νZ - Maximal Satisfaction with Z3

Satisability Modulo Theories, SMT, solvers are used in many applications. These applications benet 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 satisable. Furthermore, when formulas are satisable, many applications need models that assign values to free variables. Yet, in many cases arbitrary assignments are insucient, and what is really needed is an optimal 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.

[1]  Anna Philippou,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 2018, Lecture Notes in Computer Science.

[2]  Albert Oliveras,et al.  On SAT Modulo Theories and Optimization Problems , 2006, SAT.

[3]  Bruno Dutertre,et al.  A Fast Linear-Arithmetic Solver for DPLL(T) , 2006, CAV.

[4]  Maria Luisa Bonet,et al.  Resolution for Max-SAT , 2007, Artif. Intell..

[5]  Nikolaj Bjørner,et al.  Z3: An Efficient SMT Solver , 2008, TACAS.

[6]  Derek Rayside,et al.  The Guided Improvement Algorithm for Exact, General-Purpose, Many-Objective Combinatorial Optimization , 2009 .

[7]  Alberto Griggio,et al.  Satisfiability Modulo the Theory of Costs: Foundations and Applications , 2010, TACAS.

[8]  Nikolaj Bjørner Engineering Theories with Z3 , 2011, CPP.

[9]  Joao Marques-Silva,et al.  Improvements to Core-Guided Binary Search for MaxSAT , 2012, SAT.

[10]  Roberto Sebastiani,et al.  Optimization in SMT with LA(Q) Cost Functions , 2012 .

[11]  Alberto Griggio,et al.  Parameter synthesis with IC3 , 2013, 2013 Formal Methods in Computer-Aided Design.

[12]  Alberto Griggio,et al.  A Modular Approach to MaxSAT Modulo Theories , 2013, SAT.

[13]  Fahiem Bacchus,et al.  Postponing Optimization to Speed Up MAXSAT Solving , 2013, CP.

[14]  Nina Narodytska,et al.  Maximum Satisfiability Using Core-Guided MaxSAT Resolution , 2014, AAAI.

[15]  Daniel Larraz,et al.  Proving Non-termination Using Max-SMT , 2014, CAV.

[16]  Marsha Chechik,et al.  Symbolic optimization with SMT solvers , 2014, POPL.