Encoding industrial hardware verification problems into effectively propositional logic

Word-level bounded model checking and equivalence checking problems are naturally encoded in the theory of bit-vectors and arrays. The standard practice of deciding formulas of such theories in the hardware industry is either SAT- (using bit-blasting) or SMT-based methods. These methods perform reasoning on a low level but perform it very efficiently. To find alternative potentially promising model checking and equivalence checking methods, a natural idea is to lift reasoning from the bit and bit-vector levels to higher levels. In such an attempt, in [14] we proposed translating memory designs into the Effectively PRopositional (EPR) fragment of first-order logic. The first experiments with using such a translation have been encouraging but raised some questions. Since the high-level encoding we used was incomplete (yet avoiding bit-blasting) some equivalences could not be proved. Another problem was that there was no natural correspondence between models of EPR formulas and bit-vector based models that would demonstrate non-equivalence and hence design errors. This paper addresses these problems by providing more refined translations of equivalence checking problems arising from hardware verification into EPR formulas. We provide three such translations and formulate their properties. All three translations are designed in such a way that models of EPR problems can be translated into bit-vector models demonstrating non-equivalence. We also evaluate the best EPR solvers on industrial equivalence checking problems and compare them with SMT solvers designed and tuned for such formulas specifically. We present empirical evidence demonstrating that EPR-based methods and solvers are competitive.

[1]  John McCarthy,et al.  Correctness of a compiler for arithmetic expressions , 1966 .

[2]  Andrei Voronkov,et al.  The design and implementation of VAMPIRE , 2002, AI Commun..

[3]  Zurab Khasidashvili,et al.  Verifying equivalence of memories using a first order logic theorem prover , 2009, 2009 Formal Methods in Computer-Aided Design.

[4]  Konstantin Korovin,et al.  iProver - An Instantiation-Based Theorem Prover for First-Order Logic (System Description) , 2008, IJCAR.

[5]  Nikolaj Bjørner,et al.  Deciding Effectively Propositional Logic Using DPLL and Substitution Sets , 2008, IJCAR.

[6]  Peter Baumgartner,et al.  The model evolution calculus as a first-order DPLL method , 2008, Artif. Intell..

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

[8]  Koen Claessen,et al.  New techniques that improve mace-style model nding , 2003 .

[9]  Andrei Voronkov,et al.  Proof Systems for Effectively Propositional Logic , 2008, IJCAR.

[10]  Henny B. Sipma,et al.  What's Decidable About Arrays? , 2006, VMCAI.

[11]  Armin Biere,et al.  Boolector: An Efficient SMT Solver for Bit-Vectors and Arrays , 2009, TACAS.

[12]  Ruzica Piskac,et al.  Deciding Effectively Propositional Logic Using DPLL and Substitution Sets , 2010, Journal of Automated Reasoning.

[13]  Leonardo Mendonça de Moura,et al.  Complete Instantiation for Quantified Formulas in Satisfiabiliby Modulo Theories , 2009, CAV.

[14]  Andrei Voronkov,et al.  Encodings of Bounded LTL Model Checking in Effectively Propositional Logic , 2007, CADE.

[15]  Peter Baumgartner,et al.  Implementing the Model Evolution Calculus , 2006, Int. J. Artif. Intell. Tools.

[16]  Zurab Khasidashvili,et al.  A compositional theory for post-reboot observational equivalence checking of hardware , 2009, 2009 Formal Methods in Computer-Aided Design.

[17]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[18]  Mary Sheeran,et al.  Checking Safety Properties Using Induction and a SAT-Solver , 2000, FMCAD.

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

[20]  Zurab Khasidashvili,et al.  Seqver : A Sequential Equivalence Verifier for Hardware Designs , 2006, 2006 International Conference on Computer Design.

[21]  Peer Johannsen Reducing bitvector satisfiability problems to scale down design sizes for RTL property checking , 2001, Sixth IEEE International High-Level Design Validation and Test Workshop.

[22]  Harald Ganzinger,et al.  New directions in instantiation-based theorem proving , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[23]  Peter Baumgartner,et al.  Computing finite models by reduction to function-free clause logic , 2009, J. Appl. Log..