Abstract
In this paper we define a semantic foundation for an abstract interpretation approach to universal termination and we develop a new abstract domain useful for termination analysis. Based on this approximation we define a method which is able to detect classes of goals which universally terminate (with a fair selection rule). We also define a method which is able to characterize classes of programs and goals for which depth-first search is fair.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
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. 365
K. R. Apt. From Logic Programming to Prolog. Prentice Hall, 1997. 362
K. R. Apt and D. Pedreschi. Studies in Pure Prolog: Termination. In J. W. Lloyd, editor, Computational Logic, pages 150–176. Springer-Verlag, 1990. 372
K. R. Apt and D. Pedreschi. Reasoning about termination of pure PROLOG programs. Information and Computation, 106(1):109–157, 1993. 372
K. R. Apt and D. Pedreschi. Modular termination proofs for logic and pure Prolog programs. In G. Levi, editor, Advances in Logic Programming Theory, pages 183–229. Oxford University Press, 1994. 372
F. Benoy and A. King. Inferring argument size relationships with clp(r). In Proc. of the Sixth International Workshop on Logic Program Synthesis and Transformation (LOPSTR’96), 1996. 362
M. Bezem. Characterizang termination of logic programs with level mappings. In E.L. Lusk and R.A. Overbeek, editors, Proc. of the North American Conference on Logic Programming, pages 69–80. The MIT Press, 1989. 372
M. Bezem. Strong termination of logic programs. Journal of Logic Programming, 15(1 & 2):79–98, 1993. 372
A. Bossi, N. Cocco, and M. Fabris. Proving Termination of Logic Programs by Exploiting Term Properties. In S. Abramsky and T. S. E. Maibaum, editors, Proc. TAPSOFT’91, volume 494 of Lecture Notes in Computer Science, pages 153–180. Springer-Verlag, 1991. 362
A. Brodsky and Y. Sagiv. Inference of monotonicity constraints in datalog programs. In Proceedings of the Eighth ACM SIGACT-SIGART-SIGMOND Symposium on Principles of Database Systems, pages 190–199, 1989. 362
F. Bueno, M. Carro, M. Hermenegildo, P. López, and G. Puebla. Ciao prolog development system. http://www.clip.dia.fi.upm.es/Software/Ciao/. 372
M. Codish and C. Taboch. Termiweb. http://www.cs.bgu.ac.il/ taboch/TerminWeb/. 362, 363, 378
M. Codish and C. Taboch. A semantic basis for the termination analysis of logic programs. Journal of Logic Programming, 41(1):103–123, 1999. 363, 363
M. Comini, G. Levi, and M. C. Meo. A theory of observables for logic programs. Information and Computation, 1999. To appear. 376, 376, 376
M. Comini and M. C. Meo. Compositionality properties of SLD-derivations. Theoretical Computer Science, 211(1-2):275–309, 1999. 368
P. Cousot. Constructive design of a hierarchy of semantics of a transition system by abstract interpretation (Invited Paper). In S. Brookes and M. Mislove, editors, Proc. of the 13th Internat. Symp. on Mathematical Foundations of Programming Semantics (MFPS’ 97), volume 6 of Electronic Notes in Theoretical Computer Science. Elsevier, Amsterdam, 1997. 376
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. 365
P. Cousot and R. Cousot. Systematic Design of Program Analysis Frameworks. In Proc. Sixth ACM Symp. Principles of Programming Languages, pages 269–282, 1979. 365, 374, 377
P. Cousot and R. Cousot. Comparing the Galois Connection and Widening/ Narrowing Approaches to Abstract Interpretation. In M. Bruynooghe and M. Wirsing, editors, Proc. of PLILP’92, volume 631 of Lecture Notes in Computer Science, pages 269–295. Springer-Verlag, 1992. 372
F.S. de Boer, A. Di Pierro, and C. Palamidessi. Nondeterminism and Infinite Computations in Constraint Programming. Theoretical Computer Science, 151(1), 1995. 364, 365, 365, 370
S. Decorte and D. De Schreye. Termination of logic programs: the never-ending story. Journal of Logic Programming, 1920:199–260, 1994. 362, 363
S. Decorte, D. De Schreye, and M. Fabris. Automatic Inference of Norms: a Missing Link in Automatic Termination Analysis. In D. Miller, editor, Proc. 1993 Int'l Symposium on Logic Programming, pages 420–436. The MIT Press, 1993. 362
M. Gabbrielli and R. Giacobazzi. Goal independency and call patterns in the analysis of logic programs. In J. Urban E. Deaton, D. Oppenheim and H. Berghel, editors, Proceedings of the Ninth ACM Symposium on Applied Computing, pages 394–399, Phoenix AZ, 1994. ACM Press. 363
W. G. Golson. Toward a declarative semantics for infinite objects in logic programming. Journal of Logic Programming, 5:151–164, 1988. 364, 365, 370
R. Gori. A fixpoint semantics for reasoning about finite failure. In H. Ganzinger, D. McAllester, and A. Voronkov, editors, Proceedings of the 6th International Conference on Logic for Programming and Automated Reasoning, volume 1705 of LNAI, pages 238–257. Springer, 1999. 368
R. Gori. Reasoning about finite failure and infinite computations by abstract interpretation. PhD thesis, Dipartimento di Matematica, Università di Siena, 1999. http://www.di.unipi.it/ gori/gori.html. 367, 368, 369, 371, 371, 372, 373, 376
Marta Z. Kwiatkowska. Infinite Behaviour and Fairness in Concurrent Constraint Programming. In J.W. de Bakker, W. P. de Roever, and G. Rozenberg, editors, Semantics: Foundations and Applications, volume 666 of Lecture Notes in Computer Science, pages 348–383, Beekbergen The Nederland, June 1992. REX Workshop, Springer Verlag. 364
B. Le Charlier, S. Rossi, and P. Van Hentenryck. An abstract interpretation framework which accurately handles prolog search-rule and the cut. In Proc. of the 1994 International Logic Programming Symposium. The MIT Press, 1994. 364
N. Lindenstrauss. TermiLog. http://www.cs.huji.ac.il/ talre/form.html. 362, 363, 363, 363, 378
N. Lindenstrauss and Y. Sagiv. Checking termination of queries to logic programs. http://www.cs.huji.ac.il/ naomil. 363, 363
N. Lindenstrauss and Y. Sagiv. Automatic termination analysis of logic programs. In L. Naish, editor, Proc. of the Fourteenth International Conference on Logic Programming, pages 63–67, 1997. 363, 377
J. W. Lloyd. Foundations of Logic Programming. Springer-Verlag, 1987. Second edition. 364, 365, 365, 370
F. Mesnard. Inferring left-terminating classes of queries for constraint logic programs. In M.J. Maher, editor, Proc. of the Joint International Conference on Logic Programming, pages 7–21, 1996. 362, 363, 377
M. A. NaitAbdallah. On the intepretation of infinite computations in logic programming. In J. Paredaens, editor, Proc. of Automata, Languages and Programming, volume 172, pages 374–381. Springer Verlag, 1984. 364, 365, 370
S. O. Nyström and B. Jonsson. Indeterminate Concurrent Constraint Programming: A Fixpoint Semantics for Non-Terminating Computations. In D. Miller, editor, Proc. of the 1993 International Logic Programming Symposium, Series on Logic Programming, pages 335–352. The MIT Press, 1993. 365
L. Plümer. Termination Proofs for Logic Programs, volume 446 of Lecture Notes in Artificial Intelligence. Springer-Verlag, 1990. 362, 362, 363, 377
S. Ruggeri. ∃-universal termination of logic programs. Theoretical Computer Science, 1999. To appear. 372, 373, 373, 373
V. A. Saraswat. Concurrent Constraint Programming Languages. PhD thesis, Carnegie-Mellon University, January 1989. 364, 365, 370
T. Sato and H. Tamaki. Enumeration of Success Patterns in Logic Programs. Theoretical Computer Science, 34:227–240, 1984. 369
C. Speirs, Z. Somogyi, and H. Sondergaard. Mercury’s termination analyzer. http://www.cs.mu.oz.au/research/mercury/. 362, 363, 378
A. Van Gelder. Deriving Constraints Among Argument Sizes in Logic Programs. In Proc. of the eleventh ACM Conference on Principles of Database Systems, pages 47–60. ACM, 1990. 362
K. Verschaetse and D. De Schreye. Deriving Termination Proofs for Logic Programs, Using Abstract Procedures. In K. Furukawa, editor, Proc. Eighth Int'l Conf. on Logic Programming, pages 301–315. The MIT Press, 1991. 363, 377
K. Verschaetse and D. De Schreye. Deriving linear size relations by abstract interpretation. New Generation Computing, 13(2):117–154, 1995. 362, 363, 363, 377
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Gori, R. (2000). An Abstract Interpretation Approach to Termination of Logic Programs. In: Parigot, M., Voronkov, A. (eds) Logic for Programming and Automated Reasoning. LPAR 2000. Lecture Notes in Artificial Intelligence(), vol 1955. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-44404-1_23
Download citation
DOI: https://doi.org/10.1007/3-540-44404-1_23
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-41285-4
Online ISBN: 978-3-540-44404-6
eBook Packages: Springer Book Archive