Skip to main content

Loop checking and negation

  • Selected Papers
  • Conference paper
  • First Online:
Logics in AI (JELIA 1990)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 478))

Included in the following conference series:

Abstract

In this article we extend the concept of loop checking from positive programs (as described in [ABK]) to locally stratified programs. Such an extension is not straightforward: the introduction of negation requires a (re)consideration of the choice of semantics, the description of a related search space and new soundness and completeness results handling floundering in a satisfactory way. Nevertheless an extension is achieved that allows us to generalize the loop checking mechanisms from positive programs to locally stratified programs, while preserving most soundness and completeness results. The conclusion is that negative literals cannot give rise to loops, and must be simply ignored. This research was partly supported by Esprit BRA-project 3020 Integration.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. K.R. Apt, R.N. Bol and J.W. Klop, On the Safe Termination of PROLOG Programs, in: Proceedings of the Sixth International Conference on Logic Programming, (G. Levi and M. Martelli eds.), MIT Press, Cambridge Massachusetts, 1989, 353–368.

    Google Scholar 

  2. K.R. Apt, H. Blair and A. Walker, Towards a Theory of Declarative Knowledge, in: Foundations of Deductive Databases and Logic Programming (J. Minker ed.), Morgan Kaufmann Publishers, Los Altos, 1987, 89–148.

    Google Scholar 

  3. Ph. Besnard, On Infinite Loops in Logic Programming, Internal Report 488, IRISA, Rennes, 1989.

    Google Scholar 

  4. R.N. Bol, K.R. Apt and J.W. Klop, An Analysis of Loop Checking Mechanisms for Logic Programs, Technical Report CS-R8942, Centre for Mathematics and Computer Science, Amsterdam; Technical Report TR-89-32, University of Texas at Austin, 1989. To appear in Theoretical Computer Science.

    Google Scholar 

  5. R.N. Bol, Generalizing Completeness Results for Loop Checks, Technical Report CS-R9025, Centre for Mathematics and Computer Science, Amsterdam, 1990.

    Google Scholar 

  6. D.R. Brough and A. Walker, Some Practical Properties of Logic Programming Interpreters, in: Proceedings of the International Conference on Fifth Generation Computer Systems, (ICOT eds), 1984, 149–156.

    Google Scholar 

  7. L. Cavedon, Continuity, Consistency, and Completeness Properties for Logic Programs, Technical Report 88/33, Dept. of Comp. Sci., University of Melbourne, 1988. To appear in Theoretical Computer Science.

    Google Scholar 

  8. K.L. Clark, Negation as Failure, in: Logic and Data Bases, (H. Gallaire and J. Minker, eds), Plenum Press, New York, 1978, 293–322.

    Google Scholar 

  9. M.A. Covington, Eliminating Unwanted Loops in PROLOG, SIGPLAN Notices, Vol. 20, No. 1, 1985, 20–26.

    Google Scholar 

  10. A. van Gelder, Efficient Loop Detection in PROLOG using the Tortoise-and-Hare Technique, J. Logic Programming 4, 1987, 23–31.

    Google Scholar 

  11. D.B. Kemp and R.W. Topor, Completeness of a Top-Down Query Evaluation Procedure for Stratified Databases, in: Proceedings of the Fifth International Conference on Logic Programming, MIT Press, Cambridge Massachusetts, 1988, 178–194.

    Google Scholar 

  12. J.W. Lloyd, Foundations of Logic Programming, Second Edition, Springer-Verlag, Berlin, 1987.

    Google Scholar 

  13. J.W. Lloyd and J.C. Shepherdson, Partial Evaluation in Logic Programming, Technical Report CS-87-09, Dept. of Computer Science, University of Bristol, 1987.

    Google Scholar 

  14. T.C. Przymusinski, On the Declarative Semantics of Deductive Databases and Logic Programs, in: Foundations of Deductive Databases and Logic Programming (J. Minker ed.), Morgan Kaufmann Publishers, Los Altos, 1987, 193–216.

    Google Scholar 

  15. T.C. Przymusinski, On the Declarative and Procedural Semantics of Logic Programs, J. Automated Reasoning 5, 1989, 167–205.

    Google Scholar 

  16. D. Poole and R. Goebel, On Eliminating Loops in PROLOG, SIGPLAN Notices, Vol. 20, No. 8, 1985, 38–40.

    Google Scholar 

  17. H. Przymusinska and T.C. Przymusinski, Weakly Perfect Model Semantics for Logic Programs, in: Proceedings of the Fifth International Conference on Logic Programming, (R.A Kowalski and K.A. Bowen eds.), MIT Press, Cambridge Massachusetts, 1988, 1106–1120.

    Google Scholar 

  18. D.E. Smith, M.R. Genesereth and M.L. Ginsberg, Controlling Recursive Inference, Artificial Intelligence 30, 1986, 343–389.

    Google Scholar 

  19. H. Seki and H. Itoh, A Query Evaluation Method for Stratified Programs under the Extended CWA, in: Proceedings of the Fifth International Conference on Logic Programming, MIT Press, Cambridge Massachusetts, 1988, 195–211.

    Google Scholar 

  20. L. Vieille, Recursive Query Processing: The Power of Logic, Theoretical Computer Science 69, 1989, 1–53.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

J. van Eijck

Rights and permissions

Reprints and permissions

Copyright information

© 1991 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Bol, R.N. (1991). Loop checking and negation. In: van Eijck, J. (eds) Logics in AI. JELIA 1990. Lecture Notes in Computer Science, vol 478. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0018437

Download citation

  • DOI: https://doi.org/10.1007/BFb0018437

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-53686-4

  • Online ISBN: 978-3-540-46982-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics