BDD based procedures for a theory of equality with uninterpreted functions

  • Anuj Goel
  • Khurrarn Sajid
  • Hai Zhou
  • Adnan Aziz
  • Vigyan Singhal
Regular Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1427)


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 this verification paradigm 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 design. 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. 1.
    Wilhelm Ackermann. Solvable Cases of the Decision Problem. Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam, 1954.Google Scholar
  2. 2.
    C. Barrett, D. Dill, and Jeremy Levitt. Validity Checking for Combinations of Theories with Equality. In Proc. of the Formal Methods in CAD Conf., November 1996.Google Scholar
  3. 3.
    J. Burch and D. Dill. Automatic Verification of Microprocessor Control. In Proc. of the Computer Aided Verification Conf., July 1994.Google Scholar
  4. 4.
    W. Chan, R. Anderson, P. Deame, and D. Notkin. Combining Constraint Solving and Symbolic Model Checking for a Class of Systems with Non-linear Constraints. In Proc. of the Computer Aided Verification Conf., July 1997.Google Scholar
  5. 5.
    T. H. Cormen, C. E. Leiserson, and R. H. Rivest. Introduction to Algorithms. MIT Press, 1989.Google Scholar
  6. 6.
    R. K. Brayton et al. VIS: A system for Verification and Synthesis. In Proc. of the Computer Aided Verification Conf., July 1996.Google Scholar
  7. 7.
    M. R. Carey and D. S. Johnson. Computers and Intractability. W. H. Freeman and Co., 1979.Google Scholar
  8. 8.
    R. Hojati, A. Isles, D. Kirkpatrick, and R. Brayton. Verification Using Finite Instantiations and Uninterpreted Functions. In Proc. of the Formal Methods in CAD Conf., November 1996.Google Scholar
  9. 9.
    R. Hojati, A. Kuehlmann, S. German, and R. Brayton. Validity Checking in the Theory of Equality Using Finite Instantiations. In Proc. Intl. Workshop on Logic Synthesis, May 1997.Google Scholar
  10. 10.
    Robert B. Jones, David Dill, and Jerry R. Burch. Efficient Validity Checking for Processor Validation. In Proc. Intl. Conf. on Computer-Aided Design, pages 2–6, 1995.Google Scholar
  11. 11.
    Andreas Kuehlmann and Florian Krolun. Equivalence Checking Using Cuts and Heaps. In Proc. of the Design Automation Conf., June 1997.Google Scholar
  12. 12.
    R. Rudell. Dynamic Variable Ordering for Binary Decision Diagrams. In Proc. Intl. Conf. on Computer-Aided Design, pages 42–47, November 1993.Google Scholar
  13. 13.
    R. E. Shostak. A practical decision procedure for arithmetic with function symbols. Journal of the ACM, 26(2):351–360, 1979.CrossRefGoogle Scholar
  14. 14.
    Mandayam Srivas and Mark Bickford. Formal verification of a pipelined microprocessor. IEEE Software, 7(5):52–64, September 1990.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Anuj Goel
    • 1
  • Khurrarn Sajid
    • 2
  • Hai Zhou
    • 1
  • Adnan Aziz
    • 1
  • Vigyan Singhal
    • 3
  1. 1.University of Texas at AustinTexas
  2. 2.Intel CorporationTexas
  3. 3.Cadence Berkeley LabsTexas

Personalised recommendations