A Write-Based Solver for SAT Modulo the Theory of Arrays

The extensional theory of arrays is one of the most important ones for applications of SAT modulo theories (SMT) to hardware and software verification. Here we present a new T-solver for arrays in the context of the DPLL(T) approach to SMT. The main characteristics of our solver are: (i) no translation of writes into reads is needed, (ii) there is no axiom instantiation, and (iii) the T-solver interacts with the Boolean engine by asking to split on equality literals between indices. Unlike most state-of-the-art array solvers, it is not based on a lazy instantiation of the array axioms. This novelty might make it more convenient to apply this solver in some particular environments. Moreover, it is very competitive in practice, specially on problems that require heavy reasoning on array literals.

[1]  Marco Bozzano,et al.  Efficient Satisfiability Modulo Theories via Delayed Theory Combination , 2005, CAV.

[2]  Albert Oliveras,et al.  The Barcelogic SMT Solver , 2008, CAV.

[3]  L. D. Moura,et al.  The YICES SMT Solver , 2006 .

[4]  Albert Oliveras,et al.  DPLL(T) with Exhaustive Theory Propagation and Its Application to Difference Logic , 2005, CAV.

[5]  David L. Dill,et al.  Automatic verification of Pipelined Microprocessor Control , 1994, CAV.

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

[7]  Maria Paola Bonacina,et al.  New results on rewrite-based satisfiability procedures , 2006, TOCL.

[8]  Cesare Tinelli,et al.  Solving SAT and SAT Modulo Theories: From an abstract Davis--Putnam--Logemann--Loveland procedure to DPLL(T) , 2006, JACM.

[9]  Armin Biere,et al.  Lemmas on demand for the extensional theory of arrays , 2008, SMT '08/BPR '08.

[10]  David L. Dill,et al.  A decision procedure for an extensional theory of arrays , 2001, Proceedings 16th Annual IEEE Symposium on Logic in Computer Science.

[11]  Z. Hanna,et al.  A Lazy and Layered SMT ( B V ) Solver for Hard Industrial Verification Problems ⋆ , 2007 .

[12]  A. Goel,et al.  Deciding array formulas with frugal axiom instantiation , 2008, SMT '08/BPR '08.

[13]  S.K. Srinivasan,et al.  Automatic Memory Reductions for RTL Model Verification , 2006, 2006 IEEE/ACM International Conference on Computer Aided Design.

[14]  David L. Dill,et al.  A Decision Procedure for Bit-Vectors and Arrays , 2007, CAV.

[15]  Cesare Tinelli,et al.  Splitting on Demand in SAT Modulo Theories , 2006, LPAR.