Analysis of Normal Logic Programs

  • François Fages
  • Roberta Gori
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1503)


In this paper we present a dataflow analysis method for normal logic programs interpreted with negation as failure or constructive negation. We apply our method to a well known analysis for logic programs: the depth(k) analysis for approximating the set of computed answers. The analysis is correct w.r.t. SLDNF resolution and optimal w.r.t. constructive negation.


Abstract interpretation static analysis logic programming constructive negation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    K. R. Apt. Introduction to Logic Programming. In J. van Leeuwen, editor, Handbook of Theoretical Computer Science, volume B: Formal Models and Semantics, pages 495–574. Elsevier and The MIT Press, 1990.Google Scholar
  2. 2.
    A. Bossi, M. Gabbrielli, G. Levi, and M. Martelli. The s-semantics approach: Theory and applications. Journal of Logic Programming, 19–20:149–197, 1994.CrossRefMathSciNetGoogle Scholar
  3. 3.
    D. Chan. Constructive Negation Based on the Completed Database. In R. A. Kowalski and K. A. Bowen, editors, Proc. Fifth Int’l Conf. on Logic Programming, pages 111–125. The MIT Press, 1988.Google Scholar
  4. 4.
    A. Colmerauer. Equations and inequations on finite and infinite trees. In Proceedings of the International Conference on Fifth Generation Computer System, pages 85–99, 1984.Google Scholar
  5. 5.
    M. Comini. Abstract Interpretation framework for Semantics and Diagnosis of Logic Programs. PhD thesis, Dipartimento di Informatica, Università di Pisa, 1998.Google Scholar
  6. 6.
    P. Cousot and R. Cousot. Abstract Interpretation: A Unified Lattice Model for Static Analysis of Programs by Construction or Approximation of Fixpoints. In Proc. Fourth ACM Symp. Principles of Programming Languages, pages 238–252, 1977.Google Scholar
  7. 7.
    P. Cousot and R. Cousot. Systematic Design of Program Analysis Frameworks. In Proc. Sixth ACM Symp. Principles of Programming Languages, pages 269–282, 1979.Google Scholar
  8. 8.
    P. Cousot and R. Cousot. Abstract Interpretation and Applications to Logic Programs. Journal of Logic Programming, 13(2 & 3):103–179, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  9. 9.
    F. Fages. Constructive negation by pruning. Journal of Logic Programming, 32(2):85–118, 1997.zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    F. Fages and R. Gori. A hierarchy of semantics for normal constraint logic programs. In M. Hanus M. Rodriguez-Artalejo, editor, Proc. Fifth Int’l Conf. on Algebraic and Logic Programming, volume 1139 of Lecture Notes in Computer Science, pages 77–91. Springer-Verlag, 1996.Google Scholar
  11. 11.
    M. Fitting. A Kripke-Kleene semantics for logic programs. Journal of Logic Programming, 2:295–312, 1985.CrossRefMathSciNetzbMATHGoogle Scholar
  12. 12.
    R. Giacobazzi. “Optimal” collecting semantics for analysis in a hierarchy of logic program semantics. In C. Puech and R. Reischuk, editors, Proc. 13th International Symposium on Theoretical Aspects of Computer Science (STACS’96), volume 1046 of Lecture Notes in Computer Science, pages 503–514. Springer-Verlag, 1996.Google Scholar
  13. 13.
    S. Koppelberg. Handbook of Boolean Algebras (Vol.I). Elsevier Science Publisher B.V.(North Holland), 1989.Google Scholar
  14. 14.
    K. Kunen. Negation in logic programming. Journal of Logic Programming, 4:289–308, 1987.CrossRefMathSciNetzbMATHGoogle Scholar
  15. 15.
    K. Kunen. Signed Data Dependencies in Logic Programs. Journal of Logic Programming, 7(3):231–245, 1989.CrossRefMathSciNetGoogle Scholar
  16. 16.
    J.-L. Lassez, M. J. Maher, and K. Marriott. Unification Revisited. In J. Minker, editor, Foundations of Deductive Databases and Logic Programming, pages 587–625. Morgan Kaufmann, Los Altos, Ca., 1988.Google Scholar
  17. 17.
    J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987. Second edition.Google Scholar
  18. 18.
    M.J. Maher. Complete axiomatizations of the algebra of finite, rational and infinite trees. In Third Symp. on Logic in Computer Science, pages 348–357, 1988.Google Scholar
  19. 19.
    K. Marriott and H. Sondergaard. Bottom-up Dataflow Analysis of Normal Logic Programs. Journal of Logic Programming, 13(2 & 3):181–204, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227–240, 1984.zbMATHCrossRefMathSciNetGoogle Scholar
  21. 21.
    P. Stuckey. Negation and constraint logic programming. Information and Computation, 118(1):12–33, 1995.zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • François Fages
    • 1
  • Roberta Gori
    • 2
  1. 1.LIENS CNRS, Ecole Normale SupérieureParisFrance
  2. 2.Dipartimento di InformaticaUniversità di PisaPisaItaly

Personalised recommendations