Constraint Logic Programming for Local and Symbolic Model-Checking

  • Ulf Nilsson
  • Johan Lübcke
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1861)


We propose a model checking scheme for a semantically complete fragment of CTL by combining techniques from constraint logic programming, a restricted form of constructive negation and tabled resolution. Our approach is symbolic in that it encodes and manipulates sets of states using constraints; it supports local model checking using goal-directed computation enhanced by tabulation. The framework is parameterized by the constraint domain and supports any finite constraint domain closed under disjunction, projection and complementation. We show how to encode our fragment of CTL in constraint logic programming; we outline an abstract execution model for the resulting type of programs and provide a preliminary evaluation of the approach.


Model Check Logic Program Logic Programming Constraint Logic Computation Tree Logic 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    K. Apt and R. Bol. Logic Programming and Negation: A Survey. J. Logic Programming, 19/20:9–71, 1994.CrossRefMathSciNetGoogle Scholar
  2. 2.
    J. R. Burch, E. M. Clarke, D. E. Long, K. I. McMillan, and D. L. Dill. Symbolic Model Checking for Sequential Circuit Verification. IEEE Trans on Computer-Aided Design of Integrated Circuits, 13(4):401–424, 1994.CrossRefGoogle Scholar
  3. 3.
    W. Charatonik and A. Podelski. Set-Based Analysis of Reactive Infinite-State Systems. In Proc. of TACAS’98, Lecture Notes in Computer Science 1384, pages 358–375. Springer-Verlag, 1998.Google Scholar
  4. 4.
    W. Chen and D. S. Warren. Tabled Evaluation With Delaying for General Logic Programs. J. ACM, 43(1):20–74, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press, 2000.Google Scholar
  6. 6.
    L. Degerstedt. Tabulation-based Logic Programming. PhD thesis, Linköping studies in Science and Technology, dissertation no 462, 1996.Google Scholar
  7. 7.
    G. Delzanno and A. Podelski. Model Checking Infinite-State Systems using CLP. Technical report MPI-I-98-2-012, Max-Planck-Institut für Informatik, 1998.Google Scholar
  8. 8.
    G. Delzanno and A. Podelski. Model Checking in CLP. In Proc of TACAS’99, Amsterdam, Lecture Notes in Computer Science 1579. Springer Verlag, 1999.Google Scholar
  9. 9.
    Y. Dong, X. Du, Y. Ramakrishna, I. Ramakrishnan, S. Smolka, O. Sokolsky, E. Stark, and D. Warren. Fighting Livelock in the i-Protocol: A Comparative Study of Verification Tools. In Proc of TACAS’99, Amsterdam, Lecture Notes in Computer Science 1579. Springer Verlag, 1999.Google Scholar
  10. 10.
    E.A. Emerson. Temporal and Modal Logics. In Jan van Leeuwen, editor, Handbook on Theoretical Computer Science, volume B, pages 995–1072. Elsevier Science, 1990.Google Scholar
  11. 11.
    G. Holzmann. Design and Validation of Computer Protocols. Prentice-Hall, 1991.Google Scholar
  12. 12.
    J. Jaffar and J-L. Lassez. Constraint Logic Programming. In Conf. Record of 14th Annual ACM Symp. on POPL, pages 111–119, 1987.Google Scholar
  13. 13.
    J. Jaffar and M. Maher. Constraint Logic Programming: A Survey. J. Logic Programming, 19/20:503–581, 1994.CrossRefMathSciNetGoogle Scholar
  14. 14.
    J. Lübcke and U. Nilsson. On-the-fly CTL Model-checking using Constraint Logic Programming. In Intl Workshop on Constraint Programming for Time-Critical Applications, COTIC99, 1999.Google Scholar
  15. 15.
    K. McMillan. Symbolic Model Checking. Kluwer Academic Publishers, 1993.Google Scholar
  16. 16.
    Y. S. Ramakrishna, C. R. Ramakrishnan, I. V. Ramakrishnan, S. Smolka, T. Swift, and D. S. Warren. Efficient Model Checking using Tabled Resolution. In Proc of Computer Aided Verification (CAV), Lecture Notes in Computer Science 1254. Springer Verlag, 1997.Google Scholar
  17. 17.
    A. Rauzy. Toupie = Mu-calculus + Constraints. In Proc. of Computer Aided Verification 1995, Lecture Notes in Computer Science 939, pages 114–126. Springer Verlag, 1995.Google Scholar
  18. 18.
    K. Sagonaset al. The XSB Programmer’s Manual Version 2.0, 1999.Google Scholar
  19. 19.
    C. Stirling and D. Walker. Local Model Checking in the Modal Mu-calculus. Theoretical Computer Science, 89(1):161–177, 1991.zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    P. Stuckey. Constructive Negation for Constraint Logic Programming. In Proc of Logic in Computer Science (LICS’91), 1991.Google Scholar
  21. 21.
    D. Toman. Memoing Evaluation for Constraint Extensions of Datalog. J. Constraints, 2:337–359, 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  22. 22.
    D.S. Warren. Memoing for Logic Programs. CACM, 35(3):93–111, 1992.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Ulf Nilsson
    • 1
  • Johan Lübcke
    • 1
  1. 1.Dept of Computer and Information ScienceLinköping UniversityLinköpingSweden

Personalised recommendations