Modeling and Verifying Systems Using a Logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions

  • Randal E. Bryant
  • Shuvendu K. Lahiri
  • Sanjit A. Seshia
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2404)


In this paper, we present the logic of Counter Arithmetic with Lambda Expressions and Uninterpreted Functions (CLU). CLU generalizes the logic of equality with uninterpreted functions (EUF) with constrained lambda expressions, ordering, and successor and predecessor functions. In addition to modeling pipelined processors that EUF has proved useful for, CLU can be used to model many infinite-state systems including those with infinite memories, finite and infinite queues including lossy channels, and networks of identical processes. Even with this richer expressive power, the validity of a CLU formula can be efficiently decided by translating it to a propositional formula, and then using Boolean methods to check validity. We give theoretical and empirical evidence for the efficiency of our decision procedure. We also describe verification techniques that we have used on a variety of systems, including an out-of-order execution unit and the load-store unit of an industrial microprocessor.


Decision Procedure Predicate Symbol Verify System Propositional Formula Symbolic Constant 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    P. Abdulla, A. Bouajjani, and B. Jonsson. On-the-fly analysis of systems with unbounded, lossy FIFO channels. In CAV’98, LNCS 1427, pages 305–318.Google Scholar
  2. 2.
    W. Ackermann. Solvable Cases of the Decision Problem. 1954.Google Scholar
  3. 3.
    C. Barrett, D. Dill, and J. Levitt. Validity checking for combinations of theories with equality. In FMCAD’96, LNCS 1166, pages 187–201.Google Scholar
  4. 4.
    A. J. C. Bik and H. A. G. Wijshoff. Implementation of Fourier-Motzkin elimination. Technical Report 94-42, Dept. of Computer Science, Leiden University, 1994.Google Scholar
  5. 5.
    B. Boigelot, P. Godefroid, B. Willems, and P. Wolper. The power of QDDs. In SAS’ 97, pages 172–186.Google Scholar
  6. 6.
    A. Bouajjani, B. Jonsson, M. Nilsson, and T. Touili. Regular model checking. In CAV 2000, LNCS 1855, pages 403–418.Google Scholar
  7. 7.
    R. E. Bryant, S. German, and M. N. Velev. Exploiting positive equality in a logic of equality with uninterpreted functions. ACM Transactions on Computational Logic, 2(1):93–134, January 2001.Google Scholar
  8. 8.
    R. E. Bryant and M. N. Velev. Boolean satisfiability with transitivity constraints. In CAV 2000, LNCS 1855, pages 85–98.Google Scholar
  9. 9.
    T. Bultan, R. Gerber, and W. Pugh. Symbolic model checking of infinite state systems using Presburger arithmetic. In CAV’ 97, LNCS 1254, pages 400–411.Google Scholar
  10. 10.
    J. R. Burch and D. L. Dill. Automated verification of pipelined microprocessor control. In CAV’ 94, LNCS 818, pages 68–80.Google Scholar
  11. 11.
    M. J. Fischer and M. O. Rabin. Super-exponential complexity of Presburger arithmetic. Proc. SIAM-AMS, 7:27–41, 1974.MathSciNetGoogle Scholar
  12. 12.
    Steven German. Personal communication.Google Scholar
  13. 13.
    M. J. C. Gordon and T. F. Melham. Introduction to HOL: A Theorem Proving Environment for Higher-Order Logic. 1993.Google Scholar
  14. 14.
    R. Jhala and K. McMillan. Microarchitecture verification by compositional model checking. In CAV 2001, LNCS 2102, pages 396–410.Google Scholar
  15. 15.
    Y. Kesten, O. Maler, M. Marcus, A. Pnueli, and E. Shahar. Symbolic model checking with rich assertional languages. In CAV’ 97, LNCS 1254, pages 424–435.Google Scholar
  16. 16.
    M. Moskewicz, C. Madigan, Y. Zhao, L. Zhang, and S. Malik. Chaff: Engineering an efficient SAT solver. In Design Automation Conference (DAC’01), pages 530–535, June 2001.Google Scholar
  17. 17.
    S. Owre, J. M. Rushby, and N. Shankar. PVS: A prototype verification system. In CADE’ 92, LNAI 607, pages 748–752.Google Scholar
  18. 18.
    A. Pnueli, Y. Rodeh, O. Shtrichman, and M. Siegel. Deciding equality formulas by small-domain instantiations. In CAV’ 99, LNCS 1633, pages 455–469.Google Scholar
  19. 19.
    V. Pratt. Two easy theories whose combination is hard. Technical report, Massachusetts Institute of Technology, 1977. Cambridge, Mass.Google Scholar
  20. 20.
    O. Strichman, S. A. Seshia, and R. E. Bryant. Deciding separation formulas with SAT. In Proc. Computer-Aided Verification (CAV’02), July 2002. This volume.Google Scholar
  21. 21.
    UCLID. Available at
  22. 22.
    M. N. Velev and R. E. Bryant. Effective use of Boolean satisfiability procedures in the formal verification of superscalar and VLIW microprocessors. In Design Automation Conference (DAC’ 01), pages 226–231, June 2001.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Randal E. Bryant
    • 1
    • 2
  • Shuvendu K. Lahiri
    • 2
  • Sanjit A. Seshia
    • 1
  1. 1.School of Computer ScienceCarnegie Mellon UniversityPittsburgh
  2. 2.Electrical and Computer Engineering DepartmentCarnegie Mellon UniversityPittsburgh

Personalised recommendations