## Termination analysis for functional programs (1998)

Venue: | AUTOMATED DEDUCTION -- A BASIS FOR APPLICATIONS, VOL. III, APPLIED LOGIC SERIES 10 |

Citations: | 8 - 4 self |

### BibTeX

@INPROCEEDINGS{Giesl98terminationanalysis,

author = {Jürgen Giesl and Christoph Walther and Jürgen Brauburger},

title = {Termination analysis for functional programs},

booktitle = {AUTOMATED DEDUCTION -- A BASIS FOR APPLICATIONS, VOL. III, APPLIED LOGIC SERIES 10},

year = {1998},

pages = {135--164},

publisher = {Kluwer}

}

### OpenURL

### 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

### Citations

530 |
A computational logic
- Boyer, Moore
- 1979
(Show Context)
Citation Context ...is b ! D G (r; t) datei.tex; 13/02/1998; 10:59; p.7 8 JRGEN GIESL, CHRISTOPH WALTHER, JRGEN BRAUBURGER is generated. Subsequently, an induction theorem proving system (e.g. one of those described in (=-=Boyer and Moore, 1979-=-; Bundy et al., 1990; Walther, 1994a; Bouhoula and Rusinowitch, 1995; Kapur and Zhang, 1995; Hutter and Sengler, 1996)) is used to verify the generated termination hypotheses. This verification is usu... |

453 | Termination of rewriting
- Dershowitz
- 1985
(Show Context)
Citation Context ...o procedure to prove or disprove the termination of all algorithms. While most work on the automation of termination proofs has been done in the areas of term rewriting systems (for surveys see e.g. (=-=Dershowitz, 1987-=-; Steinbach, 1995b)) and of logic programs (e.g. (Ullman and van Gelder, 1988; Plmer, 1990; De Schreye and Decorte, 1994)), in this chapter we focus on functional programs and we also investigate the ... |

373 | Quantifier elimination for real closed fields by cylindrical algebraic decomposition, Quantifier elimination and cylindrical algebraic decomposition - Collins - 1993 |

193 |
Mathematical Theory of Computation
- Manna
- 2003
(Show Context)
Citation Context ... ; : : : ; f k step by step, e.g. by using one of the methods developed so far. However, demanding total termination for all "auxiliary " algorithms is much too strong for termination of P, =-=cf. e.g. (Manna, 1974; Boyer an-=-d Moore, 1988). One only has to verify total termination of f k , whereas the "auxiliary" algorithms f i with i ! k only have to terminate for some inputs (partial termination), viz. the inp... |

138 | Termination of logic programs: The never-ending story - Schreye, Decorte - 1994 |

126 | The Oyster-Clam system - Bundy, Harmelen, et al. - 1990 |

113 |
On proving term rewriting systems are noetherian
- Lankford
- 1979
(Show Context)
Citation Context ...Techniques for the automated generation of well-founded term orderings have been developed in the area of term rewriting systems. For instance, (1.8) and (1.9) are satisfied by a polynomial ordering (=-=Lankford, 1979-=-), where everysn-ary function symbol is associated with an n-ary polynomial over the natural numbers. Then a ground term r is smaller than a ground term t with respect to the polynomial ordering iff t... |

67 | Efficient tests for top-down termination of logical rules - ULLMAN, GELDER - 1988 |

64 | An overview of Rewrite Rule Laboratory (RRL
- Kapur, Zhang
- 1995
(Show Context)
Citation Context ... BRAUBURGER is generated. Subsequently, an induction theorem proving system (e.g. one of those described in (Boyer and Moore, 1979; Bundy et al., 1990; Walther, 1994a; Bouhoula and Rusinowitch, 1995; =-=Kapur and Zhang, 1995-=-; Hutter and Sengler, 1996)) is used to verify the generated termination hypotheses. This verification is usually quite simple, i.e. the proof often succeeds using case analysis and propositional reas... |

61 | Implicit induction in conditional theories
- Bouhoula, Rusinowitch
- 1995
(Show Context)
Citation Context ... GIESL, CHRISTOPH WALTHER, JRGEN BRAUBURGER is generated. Subsequently, an induction theorem proving system (e.g. one of those described in (Boyer and Moore, 1979; Bundy et al., 1990; Walther, 1994a; =-=Bouhoula and Rusinowitch, 1995-=-; Kapur and Zhang, 1995; Hutter and Sengler, 1996)) is used to verify the generated termination hypotheses. This verification is usually quite simple, i.e. the proof often succeeds using case analysis... |

48 |
Two generalizations of the recursive path ordering. Unpublished
- Kamin, Levy
- 1980
(Show Context)
Citation Context ...s. 6 Functions whose semantics are determined by algorithms are called defined. 7 There also exist techniques which can orient every terminating term rewriting system (e.g. semantical path orderings (=-=Kamin and Levy, 1980-=-), transformation orderings (Bellegarde and Lescanne, 1990), or semantic labelling (Zantema, 1995)). But the disadvantage of these powerful approaches is that up to now there are only few suggestions ... |

46 | Generating Polynomial Orderings for Termination Proofs
- Giesl
(Show Context)
Citation Context ... the resulting constraints are satisfied by a polynomial ordering of degree 2, whereas there is no termination proof using the size ordering. A collection of numerous such algorithms can be found in (=-=Giesl, 1995-=-d). For the computation of well-founded term orderings which satisfy the derived constraints we use procedures developed in the area of term rewriting systems and computer algebra. For instance, the a... |

45 | On proving the termination of algorithms by machine - Walther - 1994 |

41 | INKA: the next generation
- Hutter, Sengler
- 1996
(Show Context)
Citation Context ...d. Subsequently, an induction theorem proving system (e.g. one of those described in (Boyer and Moore, 1979; Bundy et al., 1990; Walther, 1994a; Bouhoula and Rusinowitch, 1995; Kapur and Zhang, 1995; =-=Hutter and Sengler, 1996-=-)) is used to verify the generated termination hypotheses. This verification is usually quite simple, i.e. the proof often succeeds using case analysis and propositional reasoning only. If all termina... |

39 | Termination of nested and mutually recursive algorithms
- Giesl
- 1997
(Show Context)
Citation Context ...in this chapter we always demand that (apart from recursive calls) algorithms only call other algorithms whose termination has been verified before, which excludes mutually recursive algorithms (see (=-=Giesl, 1997-=-) for an extension of termination analysis to mutual recursion). 2.4. Refinements and Summary We have presented a method to generate termination hypotheses, such that the truth of these hypotheses imp... |

37 | Simplification orderings: History of results - Steinbach - 1995 |

32 | Automatically Proving Termination Where Simplification Orderings Fail - Arts, Giesl - 1997 |

32 |
The Karlsruhe induction theorem proving system
- Biundo, Hummel, et al.
- 1986
(Show Context)
Citation Context ... programs. We started with a technique to prove termination by estimating argument-bounded functions w.r.t. the size ordering. This approach has been implemented in the induction theorem prover INKA (=-=Biundo et al., 1986-=-; Hutter and Sengler, 1996) and it proved successful on many examples. A collection of 60 such algorithms (including classical sorting algorithms and algorithms for standard arithmetical operations) c... |

31 |
The addition of bounded quantification and partial functions to a computational logic and its theorem prover
- Boyer, Moore
(Show Context)
Citation Context ...k step by step, e.g. by using one of the methods developed so far. However, demanding total termination for all "auxiliary " algorithms is much too strong for termination of P, cf. e.g. (Man=-=na, 1974; Boyer and Moore, 1988). One onl-=-y has to verify total termination of f k , whereas the "auxiliary" algorithms f i with i ! k only have to terminate for some inputs (partial termination), viz. the inputs which result from t... |

28 | Proving innermost normalisation automatically - Arts, Giesl - 1997 |

22 |
Functional Programming
- Henderson
- 1980
(Show Context)
Citation Context ...ion methods are required. 4.1. Termination Analysis for Imperative Programs A straightforward approach to prove termination of imperative programs is to transform them into functional ones. See e.g. (=-=Henderson, 1980-=-) for an automated translation. If termination of the resulting functions can be proved, datei.tex; 13/02/1998; 10:59; p.23 24 JRGEN GIESL, CHRISTOPH WALTHER, JRGEN BRAUBURGER then termination of the ... |

22 |
Automatic termination proofs with transformation orderings
- Steinbach
- 1995
(Show Context)
Citation Context ...ve or disprove the termination of all algorithms. While most work on the automation of termination proofs has been done in the areas of term rewriting systems (for surveys see e.g. (Dershowitz, 1987; =-=Steinbach, 1995-=-b)) and of logic programs (e.g. (Ullman and van Gelder, 1988; Plmer, 1990; De Schreye and Decorte, 1994)), in this chapter we focus on functional programs and we also investigate the application of ou... |

18 | Modularity of termination using dependency pairs
- Giesl
- 1998
(Show Context)
Citation Context ... of term rewriting systems based on the comparison of arguments (instead of rules) and on our estimation technique can be found in (Arts and Giesl, 1996; Arts and Giesl, 1997a; Arts and Giesl, 1997b; =-=Arts and Giesl, 1998-=-). datei.tex; 13/02/1998; 10:59; p.22 TERMINATION ANALYSIS FOR FUNCTIONAL PROGRAMS 23 4. TERMINATION ANALYSIS FOR PARTIAL FUNCTIONS A functional program P (without mutual recursion) can be written as ... |

17 | Walther Recursion - McAllester, Arkoudas - 1996 |

14 | Automatisierung von Terminierungsbeweisen fur rekursiv definierte Algorithmen - Giesl - 1995 |

14 |
Argument-Bounded Algorithms as a Basis for Automated Termination Proofs. 9th CADE, LNCS310
- Walther
- 1988
(Show Context)
Citation Context ...WALTHER, JRGEN BRAUBURGER e.g. techniques for the simplification of difference predicates which ease the proof of termination hypotheses considerably. Further details and refinements can be found in (=-=Walther, 1988-=-; Walther, 1991; Walther, 1994b). Our method works for polymorphic types as well and an adaptation to non-free data types can be found in (Sengler, 1996; Sengler, 1997). Based on our schema for argume... |

12 |
Termination by completion
- Bellegarde, Lescanne
- 1990
(Show Context)
Citation Context ...algorithms are called defined. 7 There also exist techniques which can orient every terminating term rewriting system (e.g. semantical path orderings (Kamin and Levy, 1980), transformation orderings (=-=Bellegarde and Lescanne, 1990-=-), or semantic labelling (Zantema, 1995)). But the disadvantage of these powerful approaches is that up to now there are only few suggestions for their automated generation (Steinbach, 1995a). datei.t... |

12 | TEA: Automatically proving termination of programs in a non-strict higher-order functional language
- Panitz, Schmidt-Schauß
- 1997
(Show Context)
Citation Context ...Allester and Arkoudas (1996) suggest a programming discipline such that only terminating programs can be defined. Termination analysis can also be extended to languages with lazy evaluation strategy (=-=Panitz and Schmidt-Schau, 1997-=-) and to higherorder functions by inspecting the decrease of their first-order arguments, cf. (Nielson and Nielson, 1996). 3. TERMINATION PROOFS WITH TERM ORDERINGS The termination proof method just p... |

11 | Termination of Constructor Systems
- Arts, Giesl
- 1996
(Show Context)
Citation Context ...roofs in other areas. In particular, a method for termination proofs of term rewriting systems based on the comparison of arguments (instead of rules) and on our estimation technique can be found in (=-=Arts and Giesl, 1996-=-; Arts and Giesl, 1997a; Arts and Giesl, 1997b; Arts and Giesl, 1998). datei.tex; 13/02/1998; 10:59; p.22 TERMINATION ANALYSIS FOR FUNCTIONAL PROGRAMS 23 4. TERMINATION ANALYSIS FOR PARTIAL FUNCTIONS ... |

11 | Termination Analysis for Partial Functions
- Brauburger, Giesl
- 1145
(Show Context)
Citation Context ...ined by using tuple symbols, cf. Section 3.3. Moreover, to ease subsequent reasoning we developed several techniques to simplify the generated termination predicates. Further details can be found in (=-=Brauburger and Giesl, 1996-=-; Brauburger, 1997). 5. CONCLUSION We have presented methods for a fully automated termination analysis of functional programs. We started with a technique to prove termination by estimating argument-... |

10 | Automated termination proofs with measure functions - Giesl - 1995 |

10 | Termination of algorithms over non-freely generated datatypes
- Sengler
- 1996
(Show Context)
Citation Context ...ntly, an induction theorem proving system (e.g. one of those described in (Boyer and Moore, 1979; Bundy et al., 1990; Walther, 1994a; Bouhoula and Rusinowitch, 1995; Kapur and Zhang, 1995; Hutter and =-=Sengler, 1996-=-)) is used to verify the generated termination hypotheses. This verification is usually quite simple, i.e. the proof often succeeds using case analysis and propositional reasoning only. If all termina... |

6 |
Operational semantics of termination types
- Nielson, Nielson
- 1996
(Show Context)
Citation Context ... analysis can also be extended to languages with lazy evaluation strategy (Panitz and Schmidt-Schau, 1997) and to higherorder functions by inspecting the decrease of their first-order arguments, cf. (=-=Nielson and Nielson, 1996-=-). 3. TERMINATION PROOFS WITH TERM ORDERINGS The termination proof method just presented is restricted to one single fixed measure function. However, there are many useful algorithms which require a m... |

5 | Automatic termination analysis for partial functions using polynomial orderings
- Brauburger
- 1997
(Show Context)
Citation Context ... cf. Section 3.3. Moreover, to ease subsequent reasoning we developed several techniques to simplify the generated termination predicates. Further details can be found in (Brauburger and Giesl, 1996; =-=Brauburger, 1997-=-). 5. CONCLUSION We have presented methods for a fully automated termination analysis of functional programs. We started with a technique to prove termination by estimating argument-bounded functions ... |

5 |
Automatisierung von Terminierungsbeweisen
- Walther
- 1991
(Show Context)
Citation Context ...BRAUBURGER e.g. techniques for the simplification of difference predicates which ease the proof of termination hypotheses considerably. Further details and refinements can be found in (Walther, 1988; =-=Walther, 1991-=-; Walther, 1994b). Our method works for polymorphic types as well and an adaptation to non-free data types can be found in (Sengler, 1996; Sengler, 1997). Based on our schema for argument-bounded func... |

2 |
Termination Proofs for Logic Programs
- Plmer
- 1990
(Show Context)
Citation Context ...mation of termination proofs has been done in the areas of term rewriting systems (for surveys see e.g. (Dershowitz, 1987; Steinbach, 1995b)) and of logic programs (e.g. (Ullman and van Gelder, 1988; =-=Plmer, 1990-=-; De Schreye and Decorte, 1994)), in this chapter we focus on functional programs and we also investigate the application of our methods for termination analysis of loops in imperative programs. To pr... |

2 |
Induction on Non-Freely Generated Data Types
- Sengler
- 1997
(Show Context)
Citation Context ...and refinements can be found in (Walther, 1988; Walther, 1991; Walther, 1994b). Our method works for polymorphic types as well and an adaptation to non-free data types can be found in (Sengler, 1996; =-=Sengler, 1997-=-). Based on our schema for argument-bounded functions, McAllester and Arkoudas (1996) suggest a programming discipline such that only terminating programs can be defined. Termination analysis can also... |

1 | LNCS 1302. Extended version available as Report IBN 96/33 - Aachen |

1 | 149--160. LNAI 981. datei.tex; 13/02/1998; 10:59; p.29 30 - Bielefeld, Germany - 1995 |