[go: up one dir, main page]

Academia.eduAcademia.edu
Satisfiability Checking and Symbolic Computation Abraham, E. , Abbott, J. , Becker, B. , Bigatti, A. M. , Brain, M. , Buchberger, B. , Cimatti, A. , Davenport, J. H. , England, M. , Fontaine, P. , Forrest, S. , Griggio, A. , Kroening, D. , Seiler, W. M. and Sturm, T. Author post-print (accepted) deposited by Coventry University’s Repository Original citation & hyperlink: Abraham, E. , Abbott, J. , Becker, B. , Bigatti, A. M. , Brain, M. , Buchberger, B. , Cimatti, A. , Davenport, J. H. , England, M. , Fontaine, P. , Forrest, S. , Griggio, A. , Kroening, D. , Seiler, W. M. and Sturm, T. (2016) Satisfiability Checking and Symbolic Computation. ACM Communications in Computer Algebra, volume 50 (4): 145-147 http://dx.doi.org/10.1145/3055282.3055285 DOI ISSN 10.1145/3055282.3055285 1932-2232 Publisher: ACM © ACM, 2016. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Communications in Computer Algebra, {50, 4, (2016)} http://doi.acm.org/10.1145/3055282.3055285 Copyright © and Moral Rights are retained by the author(s) and/ or other copyright owners. A copy can be downloaded for personal non-commercial research or study, without prior permission or charge. This item cannot be reproduced or quoted extensively from without first obtaining permission in writing from the copyright holder(s). The content must not be changed in any way or sold commercially in any format or medium without the formal permission of the copyright holders. This document is the author’s post-print version, incorporating any revisions agreed during the peer-review process. Some differences between the published version and this version may remain and you are advised to consult the published version if you wish to cite from it. Satisfiability Checking and Symbolic Computation E. Ábrahám1 , J. Abbott11 , B. Becker2 , A.M. Bigatti3 , M. Brain10 , B. Buchberger4 , A. Cimatti5 , J.H. Davenport6 , M. England7 , P. Fontaine8 , S. Forrest9 , A. Griggio5 , D. Kroening10 , W.M. Seiler11 and T. Sturm12 1 RWTH Aachen University, Aachen, Germany; 2 Albert-Ludwigs-Universität, Freiburg, Germany; 3 Università degli studi di Genova, Italy; 4 Johannes Kepler Universität, Linz, Austria; 5 Fondazione Bruno Kessler, Trento, Italy; 6 University of Bath, Bath, U.K.; 7 Coventry University, Coventry, U.K.; 8 LORIA, Inria, Université de Lorraine, Nancy, France; 9 Maplesoft Europe Ltd; 10 University of Oxford, Oxford, U.K.; 11 Universität Kassel, Kassel, Germany; 12 CNRS, LORIA, Nancy, France and Max-Planck-Institut für Informatik, Saarbrücken, Germany. Abstract Symbolic Computation and Satisfiability Checking are viewed as individual research areas, but they share common interests in the development, implementation and application of decision procedures for arithmetic theories. Despite these commonalities, the two communities are currently only weakly connected. We introduce a new project SC2 to build a joint community in this area, supported by a newly accepted EU (H2020-FETOPEN-CSA) project of the same name. We aim to strengthen the connection between these communities by creating common platforms, initiating interaction and exchange, identifying common challenges, and developing a common roadmap. This abstract and accompanying poster describes the motivation and aims for the project, and reports on the first activities. 1 Introduction We describe a new project to bring together the communities of Symbolic Computation and Satisfiability Checking into a new joint community, SC2 . Both communities have long histories, as illustrated by the tool development timeline in Figure 1, but traditionally they do not interact much even though they are now individually addressing similar problems in non-linear algebra. In Section 2 we give an introduction to Satisfiability Checking (a corresponding introduction to Symbolic Computation is omitted given the audience for this abstract). We then discuss some of the challenges for the new SC2 community in Section 3 and the project actions planned to address them. The reader is referred to [2] for more details and full references; and the SC2 website (http://www.sc-square.org) for new information as it occurs. The accompanying poster is available at: http://www.sc-square.org/SC2-AnnouncementPoster.pdf. 2 Satisfiability Checking The SAT Problem refers to checking the satisfiability of logical statements over the Booleans. Initial ideas from Davis and Putnam in 1960 used resolution for quantifier elimination; Davis, Logemann and Loveland pursued another line in 1962 with a combination of enumeration and Boolean constraint propagation (BCP). A major improvement was achieved in 1999 by Marques-Silva and Sakallah by combining the two approaches, leading to conflict-driven clause-learning and non-chronological backtracking. While the SAT Problem is known to be NP-complete, SAT solvers have been developed which can handle inputs with millions of Boolean variables. They are at the heart of industrial techniques for verification and security. 1 Sc ho MA onsc TH LA hip B Re du ce Al Sc tr ra an tc hp ad /A xi om Ma cs y m SM P a mu MA Ma TH pl Ma e th Co cad Co S Ma A Ma AC G th A t e KA mat hHan P SH /K ica dboo AN Ma T Deri k Ma gm PA RI ve F thom Sy a Fe /G mb r P ORM atic ma o Si l t Ma ng xi icC+ Er ul a m + bl ar Xc a e as Ma Ya /Gia ca ca ul c ay SA s 2 GE Ca SM da at MA bra h St TL S u Wo AB ymPy dio lf Mu ra PA Ope m D nA Ma Al xi th ph om i Ca cs S a TI lc y m N in at boli spir or s e C Sy m Fx MA So AS T Ma lver th em ag ix Satisfiability Checking and Symbolic Computation CAS 1960 1970 1980 1990 2000 2010 2020 p as T Cl SA D ol ra CLI erp AR er U nt OL lv HR TI ON So SMCT SMat S D T SA STP CSA niS g WOR st T UB Mi Co S FaT-RAing yptoOpentEEnr SM gel Cr iT Sa pea ver n e r T S Li cos ve nSM AT Bsol u t e S Gl Sm Op co r A DPT e ni t Pi Mi oSa or Beav iSAT g t ic Ar lec rgo SAT/ 4j og o el Bo lt-E C Hy Sat arc iege B A V S t Z3 es C RSa hSAT aff h c Yi rSat Mat zC d in pe Hy cli rkm T U Be CSA S IC SAT f B af ni Mi P Ch SVC AS fy TO GRmpli SA Si kSAT l Wa SAT SMT Figure 1: History of Computer Algebra Systems and SAT/SMT solvers [1] Driven by this success, big efforts were made to enrich propositional SAT-solving for different existentially quantified theories producing SAT-modulo-theories (SMT) solvers [3]. There exist techniques for equality logic with uninterpreted functions, array theory, bit-vector arithmetic and quantifier-free linear real and integer arithmetic; but the development for quantifier-free non-linear real and integer arithmetic is still in its infancy. Progress here is required for applications in the automotive and avionic industries [4]. SMT solvers typically combine a SAT solver with one or more theory solvers as illustrated in Figure 2. A formula in conjunctive normal form is abstracted to one of pure Boolean propositional logic by replacing each theory constraint by a fresh proposition. The SAT solver tries to find solutions for this, consulting the theory solver(s) to check the consistency of constraints. To be SMT-compliant the solvers should: • work incrementally, i.e. accept additional constraints and re-check making use of previous results; • support backtracking, i.e. the removal of previously added constraints; • in case of unsatisfiability return an explanation, e.g. a small inconsistent subset of constraints. Examples for solvers that are able to cope with linear arithmetic problems are Alt-Ergo, CVC4, iSAT3, MathSAT, OpenSMT2, SMT-RAT, veriT, Yices2, and Z3. Far fewer tools exist for non-linear arithmetic: iSAT3 input formula in CNF Boolean abstraction solution or SAT solver unsatisfiable (partial) solution theory constraint set SAT or UNSAT (partial) SAT or UNSAT + explanation theory solver(s) Figure 2: The typical functioning of SMT solvers 2 E. Ábrahám et al. uses interval constraint propagation; MiniSmt tries to reduce problems to linear real arithmetic; Z3 uses an adaptation of the cylindrical algebraic decomposition (CAD) method; while SMT-RAT uses solver modules for CAD, virtual substitution, Gröbner bases, interval constraint propagation and branch-and-bound. Even fewer SMT solvers are available for non-linear integer arithmetic (undecidable in general). 3 Challenges and Opportunities SMT solving has its strength in efficient techniques for exploring Boolean structures, learning, combining techniques, and developing dedicated heuristics. Symbolic Computation is strong in providing powerful procedures for sets of arithmetic constraints, and has expertise in simplification and preprocessing. To allow further exploitation by the Satisfiability Checking community, Symbolic Computation tools must first be adapted to comply with SMT requirements (CAD, Gröbner bases and virtual substitution are algorithms of particular interest). However, this is a challenge that requires the expertise of computer algebra developers. Conversely, Symbolic Computation could profit from exploiting successful SMT ideas, like dedicated data structures, sophisticated heuristics, effective learning techniques, and approaches for instrumentality and explanation generation. Incremental CAD procedures now exist, as do prototypes integrating CDCL-style learning techniques with virtual substitution for linear quantifier elimination. We aim to create a new research community SC2 whose members will ultimately be well informed about both fields, and thus able to combine knowledge and techniques to resolve problems (academic and industrial) currently beyond the scope of either individually. To achieve this an EU Horizon 2020 Coordination and Support Action (712689) project started in July 2016. We plan the following actions: Communication platforms: Like Symbolic Computation, Satisfiability Checking is supported by its own conferences (e.g. CADE, IJCAR, SMT) and journals (e.g. JAR); while a role somewhat analogous to SIGSAM is played by the SatLive Forum (http://www.satlive.org/). We have started to initiate joint meetings: in 2015 a Dagstuhl Seminar1 was dedicated to SC2 ; at ACA 2016 and CASC 2016 there will be SC2 topical sessions; and the first annual SC2 workshop will take place in affiliation with SYNASC 20162 . Research roadmap: The above platforms will initiate cross-community interactions. Our long-term objective is to create a research roadmap of opportunities and challenges; identifying within the problems currently faced in industry, points that can be expected to be solved by the SC2 community. Standards We aim to create a standard problem specification language for the SC2 community, extending the SMT-LIB language to handle features needed for Symbolic Computation. This could serve as a communication protocol for platforms that mix tools; and will be used to develop a set of benchmarks. References [1] E. Ábrahám. Building bridges between symbolic computation and satisfiability checking. In: Proceedings ISSAC ’15. p1–6. ACM, 2015. [2] E. Ábrahám, J. Abbott, B. Becker, A.M. Bigatti, M. Brain, B. Buchberger, A. Cimatti, J.H. Davenport, M. England, P. Fontaine, S. Forrest, A. Griggio, D. Kroening, W.M. Seiler and T. Sturm. SC2: Satisfiability Checking meets Symbolic Computation (Project Paper). Accepted for publication In: Proc. CICM 2016. Preprint: http://www.sc-square.org/Papers/CICM16.pdf [3] C. Barrett, R. Sebastiani, S.A. Seshia and C. Tinelli. Satisfiability modulo theories. In: Handbook of Satisfiability, Frontiers in Artificial Intelligence and Applications, 185, p825–885. IOS Press, 2009 [4] A. Platzer, J.D. Quesel & P. Rümmer. Real world verification. Proc. CADE-22. p485–501. ACM, 2009 1 2 http://www.dagstuhl.de/en/program/calendar/semhp/?semnr=15471 http://www.sc-square.org/CSA/workshop1.html 3