Skip to main content

Termination Analysis for Functional Programs

  • Chapter

Part of the book series: Applied Logic Series ((APLS,volume 10))

Abstract

Proving termination is a central problem in software development and formal methods for termination analysis are essential for program verification. However, since the halting problem is undecidable and totality of functions is not even semi-decidable, there is no procedure to prove or disprove the termination of all algorithms.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD   169.99
Price excludes VAT (USA)
  • Durable hardcover 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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • Arts, T. and J. Giesl: 1996. Giesl: 1996, `Termination of Constructor Systems’. In: Proc. RTA ‘86. New Brunswick, NJ, pp. 63–77. LNCS 1103.

    Google Scholar 

  • Arts, T. and J. Giesl: 1997a. Giesl: 1997a, `Automatically Proving Termination Where Simplification Orderings Fail’. In: TAPSOFT ‘87. Lille, France, pp. 261–272. LNCS 1214.

    Google Scholar 

  • Arts, T. and J. Giesl: 1997b. Giesl: 1997b, `Proving Innermost Normalisation Automatically’. In: Proc. RTA ‘87. Sitges, Spain, pp. 157–171. LNCS 1232.

    Google Scholar 

  • Arts, T. and J. Giesl: 1998, `Modularity of Termination Using Dependency Pairs’. In: Proc. RTA ‘88. Tsukuba, Japan. LNCS.

    Google Scholar 

  • Bellegarde, E and P. Lescanne: 1990, `Termination by Completion’. Applicable Algebra in Engineering, Communication and Computing 1, 79–96.

    Google Scholar 

  • Biundo, S., B. Hummel, D. Hutter, and C. Walther: 1986, `The Karlsruhe Induction Theorem Proving System’. In: Proc. CADE-8. Oxford, pp. 672–674. LNCS 230.

    Google Scholar 

  • Bouhoula, A. and M. Rusinowitch: 1995, `Implicit Induction in Conditional Theories’. Journal of Automated Reasoning 14, 189–235.

    Article  Google Scholar 

  • Boyer, R. S. and J. S. Moore: 1979, A Computational Logic. Academic Press.

    Google Scholar 

  • Boyer, R. S. and J. S. Moore: 1988, `The Addition of Bounded Quantification and Partial Functions to A Computational Logic and Its Theorem Prover’. Journal of Automated Reasoning 4, 117–172.

    Article  Google Scholar 

  • Brauburger, J. and J. Giesl: 1996, `Termination Analysis for Partial Functions’. In: Proc. SAS ‘86. Aachen, Germany, pp. 113–127. LNCS 1302. Extended version available as Report IBN 96/33, TU Darmstadt. http://www.inferenzsysteme. informatik.tu-darmstadt.de/-reports/notes/ibn-96–33.ps.

    Google Scholar 

  • Brauburger, J.: 1997, J.: 1997, `Automatic Termination Analysis for Partial Functions Using Polynomial Orderings’. In: SAS ‘87. Paris, France, pp. 330–344. LNCS 1145.

    Google Scholar 

  • Bundy, A., F. van Harmelen, C. Horn, and A. Smaill: 1990, `The OYSTER-CLAM System’. In: Proc. CADE-IO. Kaiserslautern, Germany, pp. 647–648. LNAI 449.

    Google Scholar 

  • Collins, G. E.: 1975, `Quantifier Elimination for Real Closed Fields by Cylindrical Algebraic Decomposition’. In: Proc. 2nd GI Conf on Automata Theory and Formal Languages. Kaiserslautern, Germany, pp. 134–183. LNCS 33.

    Google Scholar 

  • De Schreye, D. and S. Decorte: 1994, `Termination of Logic Programs: The Never-Ending Story’. Journal of Logic Programming 19, 20, 199–260.

    Google Scholar 

  • Dershowitz, N.: 1987, `Termination of Rewriting’. J. Symb. Comp 3, 69–115.

    Article  Google Scholar 

  • Giesl, J.: 1995a, `Generating Polynomial Orderings for Termination Proofs’. In: Proc. RTA ‘85. Kaiserslautern, Germany, pp. 426–431. LNCS 914.

    Google Scholar 

  • Giesl, J.: 1995b, `Automated Termination Proofs with Measure Functions’. In: Proc. 19th Ann. German Conf. on AI. Bielefeld, Germany, pp. 149–160. LNAI 981.

    Google Scholar 

  • Giesl, J.: 1995c, `Termination Analysis for Functional Programs using Term Orderings’. In: Proc. SAS ‘85. Glasgow, Scotland, pp. 154–171. LNCS 983.

    Google Scholar 

  • Giesl, J.: 1995d, Automatisierung von Terminierungsbeweisen fiir rekursiv definierte Algorithmen. Doctoral Dissertation, Infix-Verlag, Sankt Augustin, Germany. Giesl, J.: 1997, `Termination of Nested and Mutually Recursive Algorithms’. Journal of Automated Reasoning 19, 1–29.

    Article  Google Scholar 

  • Henderson, P.: 1980, Functional Programming. Prentice-Hall, London.

    Google Scholar 

  • Hutter, D. and C. Sengler: 1996. Sengler: 1996, ‘INKA: The Next Generation’. In: Proc. CADE-13. New Brunswick, NJ, pp. 288–292. LNAI 1104.

    Google Scholar 

  • Kamin, S. and J.-J. Levy: 1980, `Two Generalizations of the Recursive Path Ordering’. Unpublished Note, Dept. of Computer Sc., Univ. Illinois, Urbana, IL. Kapur, D. and H. Zhang: 1995, `An Overview of Rewrite Rule Laboratory (RRL)’. J. Computer Math. Appl. 29, 91–114.

    Google Scholar 

  • Lankford, D. S.: 1979, `On Proving Term Rewriting Systems are Noetherian’. Technical Report Memo MTP-3, Math. Dept., Louisiana Tech. Univ., Ruston, LA. Manna, Z.: 1974, Mathematical Theory of Computation. McGraw-Hill.

    Google Scholar 

  • McAllester, D. and K. Arkoudas: 1996. Arkoudas: 1996, `Walther Recursion’. In: Proc. CADE-13. New Brunswick, NJ, pp. 643–657. LNAI 1104.

    Google Scholar 

  • Nielson, E and H. R. Nielson: 1996, `Operational Semantics of Termination Types’. Nordic Journal of Computing 3, 144–187.

    Google Scholar 

  • Panitz, S. E. and M. Schmidt-Schauß: 1997. Schmidt-Schauß: 1997, `TEA: Automatically Proving Termination of Programs in a Non-Strict Higher-Order Functional Language’. In: Proc. SAS ‘87. Paris, France, pp. 345–360. LNCS 1145.

    Google Scholar 

  • Plumer, L.: 1990, Termination Proofs for Logic Programs. Springer. LNAI 446.

    Book  Google Scholar 

  • Sengler, C.: 1996, C.: 1996, `Termination of Algorithms over Non-Freely Generated Data Types’. In: Proc. CADE-13. New Brunswick, NJ, pp. 121–135. LNAI 1104.

    Google Scholar 

  • Sengler, C.: 1997, Induction on Non-Freely Generated Data Types. Doctoral Dissertation, Infix-Verlag, Sankt Augustin, Germany.

    Google Scholar 

  • Steinbach, J.: 1995a, `Automatic Termination Proofs with Transformation Orderings’. In: Proc. RTA ‘85. Kaiserslautern, Germany, pp. 11–25. LNCS 914.

    Google Scholar 

  • Steinbach, J.: 1995b, `Simplification Orderings: History of Results’. Fundamenta Informaticae 24, 47–87.

    Google Scholar 

  • Ullman, J. D. and A. van Gelder: 1988, `Efficient Tests for Top-Down Termination of Logical Rules’. Journal of the ACM 35, 345–373.

    Article  Google Scholar 

  • Walther, C.: 1988, `Argument-Bounded Algorithms as a Basis for Automated Termination Proofs’. In: Proc. CADE-9. Argonne, IL, pp. 602–621. LNCS 310.

    Google Scholar 

  • Walther, C.: 1991, Automatisierung von Terminierungsbeweisen. Vieweg, Germany. Walther, C.: 1994a, `Mathematical Induction’. In: D. M. Gabbay, C. J. Hogger, and J. A. Robinson (eds.): Walther, C.. 2. Oxford University Press.

    Google Scholar 

  • Walther, C.: 1994b, `On Proving the Termination of Algorithms by Machine’. Artificial Intelligence 71, 101–157.

    Article  Google Scholar 

  • Zantema, H.: 1995, `Termination of Term Rewriting by Semantic Labelling’. Fundamenta Informaticae 24, 89–105.

    Google Scholar 

Download references

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer Science+Business Media Dordrecht

About this chapter

Cite this chapter

Giesl, J., Walther, C., Brauburger, J. (1998). Termination Analysis for Functional Programs. In: Bibel, W., Schmitt, P.H. (eds) Automated Deduction — A Basis for Applications. Applied Logic Series, vol 10. Springer, Dordrecht. https://doi.org/10.1007/978-94-017-0437-3_6

Download citation

  • DOI: https://doi.org/10.1007/978-94-017-0437-3_6

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-90-481-5052-6

  • Online ISBN: 978-94-017-0437-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics