Solving Quantified Bit-Vector Formulas Using Binary Decision Diagrams

We describe a new approach to deciding satisfiability of quantified bit-vector formulas using binary decision diagrams and approximations. The approach is motivated by the observation that the binary decision diagram for a quantified formula is typically significantly smaller than the diagram for the subformula within the quantifier scope. The suggested approach has been implemented and the experimental results show that it decides more benchmarks from the SMT-LIB repository than state-of-the-art SMT solvers for this theory, namely Z3 and CVC4.

[1]  Jiri Barnat,et al.  LTL Model Checking of LLVM Bitcode with Symbolic Data , 2014, MEMICS.

[2]  Nikolaj Bjørner,et al.  Efficient E-Matching for SMT Solvers , 2007, CADE.

[3]  Dirk Beyer Software Verification and Verifiable Witnesses - (Report on SV-COMP 2015) , 2015, TACAS.

[4]  Rupak Majumdar,et al.  Tools and Algorithms for the Construction and Analysis of Systems , 1997, Lecture Notes in Computer Science.

[5]  Armin Biere,et al.  Complexity of Fixed-Size Bit-Vector Logics , 2016, Theory of Computing Systems.

[6]  John Harrison,et al.  Handbook of Practical Logic and Automated Reasoning , 2009 .

[7]  Joël Ouaknine,et al.  Deciding Bit-Vector Arithmetic with Abstraction , 2007, TACAS.

[8]  Dirk Beyer,et al.  Benchmarking and Resource Measurement , 2015, SPIN.

[9]  E BryantRandal Graph-Based Algorithms for Boolean Function Manipulation , 1986 .

[10]  Youssef Hamadi,et al.  Efficiently solving quantified bit-vector formulas , 2010, Formal Methods in Computer Aided Design.

[11]  Beate Bollig,et al.  Improving the Variable Ordering of OBDDs Is NP-Complete , 1996, IEEE Trans. Computers.

[12]  Donald E. Knuth,et al.  The Art of Computer Programming, Volume 4, Fascicle 2: Generating All Tuples and Permutations (Art of Computer Programming) , 2005 .

[13]  Lakhdar Sais,et al.  SAT based BDD solver for quantified Boolean formulas , 2004, 16th IEEE International Conference on Tools with Artificial Intelligence.

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

[15]  Armin Biere,et al.  Effective Bit-Width and Under-Approximation , 2009, EUROCAST.

[16]  Randal E. Bryant,et al.  On the Complexity of VLSI Implementations and Graph Representations of Boolean Functions with Application to Integer Multiplication , 1991, IEEE Trans. Computers.

[17]  David Detlefs,et al.  Simplify: a theorem prover for program checking , 2005, JACM.

[18]  E. Allen Emerson,et al.  A More Efficient BDD-Based QBF Solver , 2011, CP.

[19]  R. Rudell Dynamic variable ordering for ordered binary decision diagrams , 1993, Proceedings of 1993 International Conference on Computer Aided Design (ICCAD).

[20]  Clark W. Barrett,et al.  The SMT-LIB Standard Version 2.0 , 2010 .

[21]  Herbert B. Enderton,et al.  A mathematical introduction to logic , 1972 .

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

[23]  Daniel Kroening,et al.  Under-approximating loops in C programs for fast counterexample detection , 2015, Formal Methods Syst. Des..