BDD Based Procedures for a Theory of Equality with Uninterpreted Functions

The logic of equality with uninterpreted functions has been proposed for verifying abstract hardware designs. The ability to perform fast satisfiability checking over this logic is imperative for such verification paradigms to be successful. We present symbolic methods for satisfiability checking for this logic. The first procedure is based on restricting analysis to finite instantiations of the variables. The second procedure directly reasons about equality by introducing Boolean-valued indicator variables for equality. Theoretical and experimental evidence shows the superiority of the second approach.

[1]  Randal E. Bryant,et al.  Exploiting positive equality and partial non-consistency in the formal verification of pipelined microprocessors , 1999, DAC '99.

[2]  Randal E. Bryant,et al.  Graph-Based Algorithms for Boolean Function Manipulation , 1986, IEEE Transactions on Computers.

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

[4]  Tracy Larrabee Efficient generation of test patterns using Boolean difference , 1989, Proceedings. 'Meeting the Tests of Time'., International Test Conference.

[5]  Robert E. Shostak,et al.  A Practical Decision Procedure for Arithmetic with Function Symbols , 1979, JACM.

[6]  Randal E. Bryant,et al.  Boolean satisfiability with transitivity constraints , 2000, TOCL.

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

[8]  David Notkin,et al.  Combining Constraint Solving and Symbolic Model Checking for a Class of a Systems with Non-linear Constraints , 1997, CAV.

[9]  Wilhelm Ackermann,et al.  Solvable Cases Of The Decision Problem , 1954 .

[10]  David L. Dill,et al.  Efficient validity checking for processor verification , 1995, Proceedings of IEEE International Conference on Computer Aided Design (ICCAD).

[11]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[12]  Tiziano Villa,et al.  VIS: A System for Verification and Synthesis , 1996, CAV.

[13]  Robert K. Brayton,et al.  Verification Using Uninterpreted Functions and Finite Instantiations , 1996, FMCAD.

[14]  David S. Johnson,et al.  Computers and Intractability: A Guide to the Theory of NP-Completeness , 1978 .

[15]  Amir Pnueli,et al.  Deciding Equality Formulas by Small Domains Instantiations , 1999, CAV.

[16]  Joao Marques-Silva,et al.  GRASP-A new search algorithm for satisfiability , 1996, Proceedings of International Conference on Computer Aided Design.

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

[18]  Andreas Kuehlmann,et al.  Equivalence checking using cuts and heaps , 1997, DAC.

[19]  Randal E. Bryant,et al.  Verification of Arithmetic Circuits with Binary Moment Diagrams , 1995, 32nd Design Automation Conference.

[20]  Mark Bickford,et al.  Formal verification of a pipelined microprocessor , 1990, IEEE Software.