URSA: A System for Uniform Reduction to SAT

There are a huge number of problems, from various areas, being solved by reducing them to SAT. However, for many applications, translation into SAT is performed by specialized, problem-specific tools. In this paper we describe a new system for uniform solving of a wide class of problems by reducing them to SAT. The system uses a new specification language URSA that combines imperative and declarative programming paradigms. The reduction to SAT is defined precisely by the semantics of the specification language. The domain of the approach is wide (e.g., many NP-complete problems can be simply specified and then solved by the system) and there are problems easily solvable by the proposed system, while they can be hardly solved by using other programming languages or constraint programming systems. So, the system can be seen not only as a tool for solving problems by reducing them to SAT, but also as a general-purpose constraint solving system (for finite domains). In this paper, we also describe an open-source implementation of the described approach. The performed experiments suggest that the system is competitive to state-of-the-art related modelling systems.

[1]  Daniel Kroening,et al.  Mixed abstractions for floating-point arithmetic , 2009, 2009 Formal Methods in Computer-Aided Design.

[2]  Joël Ouaknine,et al.  An abstraction-based decision procedure for bit-vector arithmetic , 2009, International Journal on Software Tools for Technology Transfer.

[3]  Miquel Bofill Arasa,et al.  SIMPLY: a Compiler from a CSP Modeling Language to the SMT-LIB Format , 2009 .

[4]  Allen Van Gelder,et al.  Another look at graph coloring via propositional satisfiability , 2008, Discret. Appl. Math..

[5]  Stephen A. Cook,et al.  The complexity of theorem-proving procedures , 1971, STOC.

[6]  Pascal Van Hentenryck,et al.  The Comet Programming Language and System , 2005, CP.

[7]  Olivier Roussel,et al.  XML Representation of Constraint Networks: Format XCSP 2.1 , 2009, ArXiv.

[8]  Toby Walsh,et al.  Handbook of satisfiability , 2009 .

[9]  Fabio Massacci,et al.  Logical Cryptanalysis as a SAT Problem , 2000, Journal of Automated Reasoning.

[10]  Philippe Codognet,et al.  Compiling Constraints in clp(FD) , 1996, J. Log. Program..

[11]  Viktor Kuncak,et al.  Scala to the Power of Z3: Integrating SMT and Programming , 2011, CADE.

[12]  Mateu Villaret,et al.  A System for Solving Constraint Satisfaction Problems with SMT , 2010, SAT.

[13]  Mutsunori Banbara,et al.  Compiling Finite Linear CSP into SAT , 2006, CP.

[14]  Nikolai Tillmann,et al.  Pex-White Box Test Generation for .NET , 2008, TAP.

[15]  James C. King,et al.  Symbolic execution and program testing , 1976, CACM.

[16]  Jürgen Giesl,et al.  SAT Solving for Termination Analysis with Polynomial Interpretations , 2007, SAT.

[17]  Sharad Malik,et al.  The Quest for Efficient Boolean Satisfiability Solvers , 2002, CAV.

[18]  Toby Walsh,et al.  Solving Non-clausal Formulas with DPLL search , 2004, SAT.

[19]  Rina Dechter,et al.  Principles and Practice of Constraint Programming – CP 2000 , 2001, Lecture Notes in Computer Science.

[20]  Toby Walsh,et al.  SAT v CSP , 2000, CP.

[21]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[22]  Daniel Kroening,et al.  A Tool for Checking ANSI-C Programs , 2004, TACAS.

[23]  Ilkka Niemelä,et al.  The Smodels System , 2001, LPNMR.

[24]  Predrag Janicic,et al.  Instance-Based Selection of Policies for SAT Solvers , 2009, SAT.

[25]  Michael J. Maher,et al.  The G12 Project: Mapping Solver Independent Models to Efficient Solutions , 2005, ICLP.

[26]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[27]  Hilary Putnam,et al.  A Computing Procedure for Quantification Theory , 1960, JACM.

[28]  Toni Mancini,et al.  Evaluating ASP and Commercial Solvers on the CSPLib , 2006, Constraints.

[29]  Corina S. Pasareanu,et al.  A survey of new trends in symbolic execution for software testing and analysis , 2009, International Journal on Software Tools for Technology Transfer.

[30]  Ilya Mironov,et al.  Applications of SAT Solvers to Cryptanalysis of Hash Functions , 2006, SAT.

[31]  David S. Johnson,et al.  Computers and In stractability: A Guide to the Theory of NP-Completeness. W. H Freeman, San Fran , 1979 .

[32]  Corina S. Pasareanu,et al.  Verification of Java Programs Using Symbolic Execution and Invariant Generation , 2004, SPIN.

[33]  Pascal Van Hentenryck The OPL optimization programming language , 1999 .

[34]  Edmund M. Clarke,et al.  Efficient SAT solving for non-clausal formulas using DPLL, graphs, and watched cuts , 2009, 2009 46th ACM/IEEE Design Automation Conference.

[35]  Agostino Dovier,et al.  An empirical study of constraint logic programming and answer set programming solutions of combinatorial problems , 2009, J. Exp. Theor. Artif. Intell..

[36]  Armin Biere,et al.  Bounded Model Checking Using Satisfiability Solving , 2001, Formal Methods Syst. Des..

[37]  Kevin Leyton-Brown,et al.  SATzilla: Portfolio-based Algorithm Selection for SAT , 2008, J. Artif. Intell. Res..

[38]  Toby Walsh,et al.  The Constrainedness of Search , 1996, AAAI/IAAI, Vol. 1.

[39]  J. Harrison Metatheory and Reflection in Theorem Proving: A Survey and Critique , 1995 .

[40]  Predrag Janicic,et al.  Logical Analysis of Hash Functions , 2005, FroCoS.

[41]  Peter J. Stuckey,et al.  The Design of the Zinc Modelling Language , 2008, Constraints.

[42]  Joachim Schimpf Logical Loops , 2002, ICLP.

[43]  Wolfgang Faber,et al.  The DLV system for knowledge representation and reasoning , 2002, TOCL.

[44]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[45]  David G. Mitchell,et al.  A Framework for Representing and Solving NP Search Problems , 2005, AAAI.

[46]  Josep Argelich,et al.  Regular Encodings from Max-CSP into Partial Max-SAT , 2009, 2009 39th International Symposium on Multiple-Valued Logic.

[47]  Rolf Drechsler,et al.  RTL-datapath verification using integer linear programming , 2002, Proceedings of ASP-DAC/VLSI Design 2002. 7th Asia and South Pacific Design Automation Conference and 15h International Conference on VLSI Design.

[48]  Peter J. Stuckey,et al.  A Stochastic Non-CNF SAT Solver , 2006, PRICAI.

[49]  Donald W. Loveland,et al.  A machine program for theorem-proving , 2011, CACM.

[50]  Yuliya Lierler,et al.  Answer Set Programming Based on Propositional Satisfiability , 2006, Journal of Automated Reasoning.

[51]  Cesare Tinelli,et al.  Satisfiability Modulo Theories , 2021, Handbook of Satisfiability.

[52]  Jinbo Huang Universal Booleanization of Constraint Models , 2008, CP.

[53]  Martin Gebser,et al.  clasp : A Conflict-Driven Answer Set Solver , 2007, LPNMR.

[54]  Eugenia Ternovska,et al.  Reducing Inductive Definitions to Propositional Satisfiability , 2005, ICLP.

[55]  Filip Maric,et al.  Formalization and Implementation of Modern SAT Solvers , 2009, Journal of Automated Reasoning.

[56]  Holger H. Hoos SAT-Encodings, Search Space Structure, and Local Search Performance , 1999, IJCAI.

[57]  Yuliya Lierler,et al.  SAT-Based Answer Set Programming , 2004, AAAI.

[58]  Niklas Sörensson,et al.  An Extensible SAT-solver , 2003, SAT.

[59]  Antony I. T. Rowstron,et al.  Vigilante: End-to-end containment of Internet worm epidemics , 2006, TOCS.

[60]  Marco Cadoli,et al.  Compiling Problem Specifications into SAT , 2001, ESOP.

[61]  Predrag Janicic,et al.  Formal Correctness Proof for DPLL Procedure , 2010, Informatica.

[62]  Lucas Bordeaux,et al.  Propositional Satisfiability and Constraint Programming: A comparative survey , 2006, CSUR.

[63]  Dapeng Li,et al.  A SAT Based Scheduler for Tournament Schedules , 2004, SAT.

[64]  Uwe Egly On Different Structure-Preserving Translations to Normal Form , 1996, J. Symb. Comput..

[65]  Predrag Janicic,et al.  URBiVA: Uniform Reduction to Bit-Vector Arithmetic , 2010, IJCAR.

[66]  Toni Mancini,et al.  SAT as an Effective Solving Technology for Constraint Problems , 2006, ISMIS.

[67]  Arnaud Gotlieb,et al.  An Abstract Interpretation Based Combinator for Modelling While Loops in Constraint Programming , 2007, CP.

[68]  Patricia M. Hill,et al.  A Comparative Study of Eight Constraint Programming Languages Over the Boolean and Finite Domains , 2000, Constraints.

[69]  Toby Walsh,et al.  Using Auxiliary Variables and Implied Constraints to Model Non-Binary Problems , 2000, AAAI/IAAI.

[70]  Peter J. Stuckey,et al.  MiniZinc: Towards a Standard CP Modelling Language , 2007, CP.