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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
Ph. Besnard, On Infinite Loops in Logic Programming, Internal Report 488, IRISA, Rennes, 1989.
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.
R.N. Bol, Generalizing Completeness Results for Loop Checks, Technical Report CS-R9025, Centre for Mathematics and Computer Science, Amsterdam, 1990.
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.
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.
K.L. Clark, Negation as Failure, in: Logic and Data Bases, (H. Gallaire and J. Minker, eds), Plenum Press, New York, 1978, 293–322.
M.A. Covington, Eliminating Unwanted Loops in PROLOG, SIGPLAN Notices, Vol. 20, No. 1, 1985, 20–26.
A. van Gelder, Efficient Loop Detection in PROLOG using the Tortoise-and-Hare Technique, J. Logic Programming 4, 1987, 23–31.
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.
J.W. Lloyd, Foundations of Logic Programming, Second Edition, Springer-Verlag, Berlin, 1987.
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.
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.
T.C. Przymusinski, On the Declarative and Procedural Semantics of Logic Programs, J. Automated Reasoning 5, 1989, 167–205.
D. Poole and R. Goebel, On Eliminating Loops in PROLOG, SIGPLAN Notices, Vol. 20, No. 8, 1985, 38–40.
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.
D.E. Smith, M.R. Genesereth and M.L. Ginsberg, Controlling Recursive Inference, Artificial Intelligence 30, 1986, 343–389.
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.
L. Vieille, Recursive Query Processing: The Power of Logic, Theoretical Computer Science 69, 1989, 1–53.
Author information
Authors and Affiliations
Editor information
Rights 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