Linear Time Datalog and Branching Time Logic

  • Georg Gottlob
  • Erich Grädel
  • Helmut Veith
Part of the The Springer International Series in Engineering and Computer Science book series (SECS, volume 597)


We survey recent results about the relation between Datalog and temporal verification logics. Datalog is a well-known database query language relying on the logic programming paradigm. We introduce Datalog LITE, a fragment of Datalog with well-founded negation, which has an easy stratified semantics and a linear time model checking algorithm. Datalog LITE subsumes temporal languages such as CTL and the alternation-free μ-calculus. We give easy syntactic characterizations of these temporal languages by fragments of Datalog LITE, and show that Datalog LITE has the same expressive power as the alternation-free portion of guarded fixed point logic.


Datalog temporal logic computer-aided verification linear time 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. Abiteboul, S., Hull, R., and Vianu, V. (1995). Foundations of Databases. Addison-Wesley.Google Scholar
  2. Abiteboul, S., Vianu, V., Fordham, B. S., and Yesha, Y. (1998). Relational transducers for electronic commerce. In Paredaens, J., editor, Proceedings of the Seventeenth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, pages 179–187. ACM Press.Google Scholar
  3. Andréka, H., van Benthem, J., and Németi, I. (1998). Modal languages and bounded fragments of predicate logic. Journal of Philosophical Logic, 27:217–274.MathSciNetzbMATHCrossRefGoogle Scholar
  4. Apt, K. R., Blair, H. A., and Walker, A. (1988). Towards a theory of declarative knowledge. In Minker, J., editor, Foundations of DD and LP, pages 89–148.Google Scholar
  5. Berman, K. A., Schlipf, J. S., and Franco, J. V. (1995). Computing well-founded semantics faster. In Marek, V. and Nerode, A., editors, LPNMR′95, LNCS, pages 113–126. Springer.Google Scholar
  6. Bryant, R. E. (1986). Graph-based algorithms for boolean function manipulation. IEEE Transaction on Computers, pages 35(8):677–691.zbMATHCrossRefGoogle Scholar
  7. Burch, J. R., Clarke, E. M., McMillan, K. L., Dill, D. L., and Hwang, L. J. (1992). Symbolic model checking: 1020 states and beyond. Information and Computation, 98(2):142–170.MathSciNetzbMATHCrossRefGoogle Scholar
  8. Ceri, S., Gottlob, G., and Tanca, L. (1990). Logic Programming and Databases. Surveys in Computer Science. Springer.Google Scholar
  9. Charatonik, W. and Podelski, A. (1998). Set-based analysis of reactive infinite-state systems. In Steffen, B., editor, TACAS′98, volume 1384 of LNCS. Springer.Google Scholar
  10. Clarke, E. and Emerson, E. A. (1981). Design and synthesis of synchronization skeletons using branching time temporal logic. In Logics of Programs: Workshop, volume 131 of LNCS, pages 52–71. Springer.Google Scholar
  11. Clarke, E., Grumberg, O., Jha, S., Lu, Y., and Veith, H. (2000a). Counterexample-guided abstraction refinement. Technical Report CMU-CS-00-103, Computer Science, Carnegie Mellon University. Extended abstract to appear in CAV 20000.Google Scholar
  12. Clarke, E., Grumberg, O., and Peled, D. (2000b). Model Checking. MIT Press.Google Scholar
  13. Clarke, E. and Schlingloff, H. (2000). Model checking. In Robinson, J. and Voronkov, A., editors, Handbook of Automated Reasoning. Elsevier, to appear.Google Scholar
  14. Clarke, E. M., Grumberg, O., and Long, D. E. (1994). Model checking and abstraction. ACM Transactions on Programming Languages and System (TOPLAS), Vol.16(5):pp.1512 – 1542.CrossRefGoogle Scholar
  15. Cui, B., Dong, Y., Du, X., Kumar, K. N., Ramakrishnan, C. R., Ramakrishnan, I. V., Roychoudhury, A., Smolka, S. A., and Warren, D. S. (1998). Logic programming and model checking. In Palamidessi, C., Glaser, H., and Meinke, K., editors, PLAP/ALP′98, volume 1490 of LNCS, pages 1–20. Springer.Google Scholar
  16. Dowling, W. F. and Gallier, J. H. (1984). Linear-time algorithms for testing the satisfiability of propositional Horn formulae. J. Logic Programming, 1(3):267–284.MathSciNetzbMATHCrossRefGoogle Scholar
  17. Ebbinghaus, H.-D. and Flum, J. (1999). Finite Model Theory (2nd edition). Springer.Google Scholar
  18. Eiter, T., Gottlob, G., and Veith, H. (1997). Modular logic programming and generalized quantifiers. In Dix, J., Furbach, U., and Nerode, A., editors, LPNMR′97, volume 1265 of LNCS, pages 290–309. Springer.Google Scholar
  19. Emerson, E. (1990). Temporal and modal logic. In van Leeuven, J., editor, Handbook of Theor. Comp. Science. Vol B., pages 995–1072. Elsevier.Google Scholar
  20. Gelder, A. V., Ross, K. A., and Schlipf, J. S. (1991). The well-founded semantics for general logic programs. J. ACM, 38(3):620–650.zbMATHGoogle Scholar
  21. Gottlob, G., Grädel, E., and Veith, H. (1998). Datalog LITE: Temporal versus deductive reasoning in verification. Technical Report DBAI-TR-98-22, Institut für Informationssysteme, TU Wien. Available from CoRR at
  22. Gottlob, G., Leone, N., and Veith, H. (1999). Succinctness as a source of complexity in logical formalisms. Annals of Pure and Applied Logic, 97(1–3):231–260.MathSciNetzbMATHCrossRefGoogle Scholar
  23. Grädel, E. (2000). On the restraining power of guards. J. Symb.Logic. To appear.Google Scholar
  24. Grädel, E. and Walukiewicz, I. (1999). Guarded fixed point logic. In Longo, G., editor, Proc. 14th IEEE Symp. on Logic in Computer Science, pages 45–54.Google Scholar
  25. Immerman, N. and Vardi, M. Y. (1997). Model checking and transitive-closure logic. In Grumberg, O., editor, CAV 1997, volume 1254 of LNCS, pages 291–302. Springer.Google Scholar
  26. Itai, A. and Makowsky, J. A. (1987). Unification as a complexity measure for logic programming. J. of Logic Programming, 4(2):105–117.MathSciNetzbMATHCrossRefGoogle Scholar
  27. Kozen, D. (1983). Results on the propositional μ-calculus. Theor. Comp. Science, 27(3):333–354.MathSciNetzbMATHCrossRefGoogle Scholar
  28. Kurshan, R. P. (1994). Computer-Aided Verification of Coordinating Processes. Princeton University Press.Google Scholar
  29. McMillan, K. L. (1993). Symbolic Model Checking. Kluwer.Google Scholar
  30. Minoux, M. (1988). LTUR: A simplified linear-time unit resolution algorithm for Horn formulae and computer implementation. Inf. Proc. Let., 29(1):1–12.MathSciNetzbMATHCrossRefGoogle Scholar
  31. Moret, B. and Shapiro, H. (1990). Algorithms from P to NP. Benjamin/Cummings.Google Scholar
  32. Murakami, M. (1990). A declarative semantics of flat guarded Horn clauses for programs with perpetual processes. Theor. Comp. Science, 75(1–2):67–83.MathSciNetzbMATHCrossRefGoogle Scholar
  33. Ramakrishnan, Y. S., Ramakrishnan, C. R., Ramakrishnan, I. V., Smolka, S. A., Swift, T., and Warren, D. S. (1997). Efficient model checking using tabled resolution. In Grumberg, O., editor, CAV′97, volume 1254 of LNCS, pages 143–154. Springer.Google Scholar
  34. Ullman, J. D. (1989). Principles of Data Base Systems. Computer Science Press.Google Scholar
  35. van Emde Boas, P. (1990). Machine models and simulations. In van Leeuven, J., editor, Handbook of Theor. Comp. Science. Vol A., pages 1–66. Elsevier.Google Scholar
  36. Vardi, M. Y. (1998). Reasoning about the past with two-way automata. In Larsen, K. G., Skyum, S., and Winskel, G., editors, ICALP, volume 1443 of LNCS, pages 628–641. Springer.Google Scholar

Copyright information

© Springer Science+Business Media New York 2000

Authors and Affiliations

  • Georg Gottlob
    • 1
  • Erich Grädel
    • 2
  • Helmut Veith
    • 3
  1. 1.Institut für InformationssystemeTechnische Universität WienAustria
  2. 2.Mathematische Grundlagen der InformatikRWTH AachenGermany
  3. 3.School of Computer ScienceCarnegie Mellon UniversityPittsburghUSA

Personalised recommendations