Skip to main content

On Termination of Binary CLP Programs

  • Conference paper
Logic Based Program Synthesis and Transformation (LOPSTR 2004)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 3573))

  • 292 Accesses

Abstract

Termination of binary CLP programs has recently become an important question in the termination analysis community. The reason for this is due to the fact that some of the recent approaches to termination of logic programs abstract the input program to a binary CLP program and conclude termination of the input program from termination of the abstracted program. In this paper we introduce a class of binary CLP programs such that their termination can be proved by using linear level mappings. We show that membership to this class is decidable and present a decision procedure. Further, we extend this class to programs such that their termination proofs require a combination of linear functions. In particular we consider as level mappings tuples of linear functions and piecewise linear functions.

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.

Similar content being viewed by others

References

  1. Apt, K.R., Bezem, M.: Acyclic programs. New Generation Computing 9(3/4), 335–364 (1991)

    Article  Google Scholar 

  2. Codish, M.: TerminWeb. Collection of benchmarks available at: http://bgu.ac.il/~mcodish/suexec/terminweb/bin/terminweb.cgi?command=examples

  3. Codish, M., Genaim, S.: Proving termination one loop at a time. In: Serebrenik, A., Mesnard, F. (eds.) Proceedings of the 13th International Workshop on Logic Programming Environments. Technical report CW 371, Department of Computer Science, K.U.Leuven, pp. 48–59 (2003)

    Google Scholar 

  4. Codish, M., Taboch, C.: A semantic basis for termination analysis of logic programs. Journal of Logic Programming 41(1), 103–123 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  5. De Schreye, D., Verschaetse, K., Bruynooghe, M.: A practical technique for detecting non-terminating queries for a restricted class of Horn clauses, using directed, weighted graphs. In: Warren, D.H., Szeredi, P. (eds.) Logic Programming, Proceedings of the Seventh International Conference, pp. 649–663. MIT Press, Cambridge (1990)

    Google Scholar 

  6. Devienne, P., Lebègue, P., Routier, J.-C.: Halting problem of one binary horn clause is undecidable. In: Enjalbert, P., Wagner, K.W., Finkel, A. (eds.) STACS 1993. LNCS, vol. 665, pp. 48–57. Springer, Heidelberg (1993)

    Google Scholar 

  7. Floyd, R.W.: Assigning meanings to programs. In: Schwartz, J. (ed.) Mathematical Aspects of Computer Science, pp. 19–32. American Mathematical Society (1967); Proceedings of Symposium in Applied Mathematics, vol. 19

    Google Scholar 

  8. Jaffar, J., Maher, M.J.: Constraint logic programming: A survey. Journal of Logic Programming 19/20, 503–582 (1994)

    Article  MathSciNet  Google Scholar 

  9. Katz, S., Manna, Z.: A closer look at termination. Acta Informatica 5, 333–352 (1975)

    Article  MATH  MathSciNet  Google Scholar 

  10. Lagoon, V., Mesnard, F., Stuckey, P.J.: Termination analysis with types is more accurate. In: Palamidessi, C. (ed.) Logic Programming, 19th International Conference on Logic Programming, pp. 254–269. Springer, Heidelberg (2003)

    Google Scholar 

  11. Lindenstrauss, N., Sagiv, Y.: Automatic termination analysis of logic programs. In: Naish, L. (ed.) Proceedings of the Fourteenth International Conference on Logic Programming, pp. 63–77. MIT Press, Cambridge (1997)

    Google Scholar 

  12. Martin, J.C., King, A.: On the inference of natural level mappings. In: Bruynooghe, M., Lau, K.-K. (eds.) Program Development in Computational Logic. LNCS, vol. 3049, pp. 432–452. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  13. Mesnard, F., Neumerkel, U.: Applying static analysis techniques for inferring termination conditions of logic programs. In: Cousot, P. (ed.) SAS 2001. LNCS, vol. 2126, pp. 93–110. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  14. Mesnard, F., Ruggieri, S.: On proving left termination of constraint logic programs. ACM Transaction on Computational Logic 4(2), 207–259 (2003)

    Article  MathSciNet  Google Scholar 

  15. Ruggieri, S.: Decidability of logic program semantics and applications to testing. Journal of Logic Programming 46(1–2), 103–137 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  16. Schrijver, A.: Theory of Linear and Integer Programming. Wiley, Chichester (1986)

    MATH  Google Scholar 

  17. Serebrenik, A., De Schreye, D.: Inference of termination conditions for numerical loops in Prolog. Theory and Practice of Logic Programming (2004) ( to appear)

    Google Scholar 

  18. Sohn, K., Van Gelder, A.: Termination detection in logic programs using argument sizes. In: Proceedings of the Tenth ACM SIGACT-SIGART-SIGMOD Symposium on Principles of Database Systems, pp. 216–226. ACM Press, New York (1991)

    Chapter  Google Scholar 

  19. Winsborough, W.: Multiple specialization using minimal-function graph semantics. Journal of Logic Programming 13(2/3), 259–290 (1992)

    Article  MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2005 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Serebrenik, A., Mesnard, F. (2005). On Termination of Binary CLP Programs. In: Etalle, S. (eds) Logic Based Program Synthesis and Transformation. LOPSTR 2004. Lecture Notes in Computer Science, vol 3573. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11506676_15

Download citation

  • DOI: https://doi.org/10.1007/11506676_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-26655-6

  • Online ISBN: 978-3-540-31683-1

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics