Skip to main content

Localized Operational Termination in General Logics

  • Chapter
Book cover Software, Services, and Systems

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8950))

Abstract

Termination can be thought of as the property of programs ensuring that every input is given an answer in finite time. There are, however, many different (combinations of) programming paradigms and languages for these paradigms. Is a common formal definition of termination of programs in any (or most) of these programming languages possible? The notion of operational termination provides a general definition of termination which relies on the logic-based description of (the operational semantics of) a programming language. The key point is capturing termination as the absence of infinite inference, that is: all proof attempts must either successfully terminate, or they must fail in finite time. This global notion is well-suited for most declarative languages, where programs are theories in a logic whose inference system is specialized to each theory to characterize its computations. Other programming languages (e.g., imperative languages) and applications (e.g., the evaluation of specific expressions and goals in functional and logic programs) require a more specialized treatment which pays attention not just to theories, but to specific formulas to be proved within the given theory. For instance, the execution of an imperative program can be viewed as a proof of an specific formula (representing the program) within the computational logic describing the operational semantics of the programming language. In such cases, an appropriate definition of termination should focus on proving the absence of infinite proofs for computations localized to specific goals. In this paper we generalize the global notion of operational termination to this new setting and adapt the recently introduced OT-framework for mechanizing proofs of operational termination to support proofs of localized operational termination.

Partially supported by NSF grant CNS 13-19109. Salvador Lucas’ research, developed during a sabbatical year at the UIUC, was also supported by the EU (FEDER), MECD grant PRX12/00214, MINECO projects TIN2010-21062-C02-02 and TIN 2013-45732-C4-1-P, and GV projects BEST/2014/026 and PROMETEO/2011/052.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Aczel, P.: Schematic Consequence. In: Gabbay, D. (ed.) What is a Logical System, pp. 261–272. Oxford University Press (1994)

    Google Scholar 

  2. Alarcón, B., Gutiérrez, R., Lucas, S., Navarro-Marset, R.: Proving Termination Properties with mu-term. In: Johnson, M., Pavlovic, D. (eds.) AMAST 2010. LNCS, vol. 6486, pp. 201–208. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  3. Boronat, A., Knapp, A., Meseguer, J., Wirsing, M.: What Is a Multi-modeling Language? In: Corradini, A., Montanari, U. (eds.) WADT 2008. LNCS, vol. 5486, pp. 71–87. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  4. Broy, M., Wirsing, M., Pepper, P.: On the Algebraic Definition of Programming Languages. ACM Transactions on Programming Languages and Systems 9(1), 54–99 (1987)

    Article  MATH  Google Scholar 

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

    Article  MathSciNet  MATH  Google Scholar 

  6. Cook, B., Rybalchenko, A., Podelski, A.: Proving Program Termination. Communications of the ACM 54(5), 88–98 (2011)

    Article  Google Scholar 

  7. Dershowitz, N., Lindenstrauss, N., Sagiv, Y., Serebrenik, A.: A General Framework for Automatic Termination of Logic Programs. Applicable Algebra in Engineering, Communication and Computing 12, 117–156 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  8. Durán, F., Lucas, S., Meseguer, J.: MTT: The Maude Termination Tool (System Description). In: Armando, A., Baumgartner, P., Dowek, G. (eds.) IJCAR 2008. LNCS (LNAI), vol. 5195, pp. 313–319. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  9. Durán, F., Lucas, S., Marché, C., Meseguer, J., Urbain, X.: Proving Operational Termination of Membership Equational Programs. Higher-Order and Symbolic Computation 21(1-2), 59–88 (2008)

    Article  MATH  Google Scholar 

  10. Endrullis, J., de Vrijer, R., Waldmann, J.: Local termination: theory and practice. Logical Methods in Computer Science 6(3:20), 1–37 (2010)

    MathSciNet  MATH  Google Scholar 

  11. Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and Improving Dependency Pairs. Journal of Automatic Reasoning 37(3), 155–203 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  12. Giesl, J., Swiderski, P., Schneider-Kamp, P., Thiemann, R.: Automated Termination Proofs for Haskell by Term Rewriting. ACM Transactions on Programming languages and Systems 33(2), Article 7 (2011)

    Google Scholar 

  13. Lucas, S., Meseguer, J.: Strong and Weak Operational Termination of Order-Sorted Rewrite Theories. In: Escobar, S. (ed.) WRLA 2014. LNCS, vol. 8663, pp. 178–194. Springer, Heidelberg (2014)

    Google Scholar 

  14. Lucas, S., Meseguer, J.: Proving Operational Termination Of Declarative Programs In General Logics. In: Danvy, O. (ed.) Proc. of the 16th International Symposium on Principles and Practice of Declarative Programming, PPDP 2014. ACM Press (to appear, 2014)

    Google Scholar 

  15. Lucas, S., Marché, C., Meseguer, J.: Operational termination of conditional term rewriting systems. Information Processing Letters 95, 446–453 (2005)

    Article  MathSciNet  MATH  Google Scholar 

  16. Meseguer, J.: General Logics. In: Ebbinghaus, H.-D., et al. (eds.) Logic Colloquium’87, pp. 275–329. North-Holland (1989)

    Google Scholar 

  17. Meseguer, J.: A Logical Theory of Concurrent Objects and its realization in the Maude Language. In: Agha, G., Wegner, P., Yonezawa, A. (eds.) Research Directions in Concurrent Object-Oriented Programming, pp. 314–390. The MIT Press (1993)

    Google Scholar 

  18. Meseguer, J., Rosu, G.: The Rewriting Logic Semantics Project: A Progress Report. Information and Computation 231, 38–69 (2013)

    Article  MathSciNet  MATH  Google Scholar 

  19. Nguyen, M.T., Giesl, J., Schneider-Kamp, P., De Schreye, D.: Termination Analysis of Logic Programs Based on Dependency Graphs. In: King, A. (ed.) LOPSTR 2007. LNCS, vol. 4915, pp. 8–22. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  20. de Scheye, D., Decorte, S.: Termination of Logic Programs: The Never-Ending Story. Journal of Logic Programming 19, 199–260 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  21. Schneider-Kamp, P., Giesl, J., Nguyen, M.T.: The Dependency Triple Framework for Termination of Logic Programs. In: De Schreye, D. (ed.) LOPSTR 2009. LNCS, vol. 6037, pp. 37–51. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  22. Winskel, G.: The Formal Semantics of Programming Languages. The MIT Press, Cambrige Massachusetts (1993)

    MATH  Google Scholar 

  23. Wirsing, M.: Structured Algebraic Specifications: A Kernel Language. Theoretical Computer Science 42, 123–249 (1986)

    Article  MathSciNet  MATH  Google Scholar 

  24. Wirsing, M.: Algebraic Specification. In: Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics (B), pp. 675–788 (1990)

    Google Scholar 

  25. Wirsing, M., Knapp, A.: A formal approach to object-oriented software engineering. Theoretical Computer Science 285(2), 519–560 (2002)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Lucas, S., Meseguer, J. (2015). Localized Operational Termination in General Logics. In: De Nicola, R., Hennicker, R. (eds) Software, Services, and Systems. Lecture Notes in Computer Science, vol 8950. Springer, Cham. https://doi.org/10.1007/978-3-319-15545-6_9

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-15545-6_9

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-15544-9

  • Online ISBN: 978-3-319-15545-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics