## Termination Analysis for Partial Functions (1996)

### Cached

### Download Links

- [www-i2.informatik.rwth-aachen.de]
- [www-i2.informatik.rwth-aachen.de]
- [www.inferenzsysteme.informatik.tu-darmstadt.de]
- DBLP

### Other Repositories/Bibliography

Venue: | IN PROCEEDINGS OF THE THIRD INTERNATIONAL STATIC ANALYSIS SYMPOSIUM (SAS'96 |

Citations: | 11 - 6 self |

### BibTeX

@INPROCEEDINGS{Brauburger96terminationanalysis,

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

title = {Termination Analysis for Partial Functions},

booktitle = {IN PROCEEDINGS OF THE THIRD INTERNATIONAL STATIC ANALYSIS SYMPOSIUM (SAS'96},

year = {1996},

publisher = {Springer-Verlag}

}

### Years of Citing Articles

### OpenURL

### Abstract

This paper deals with automated termination analysis for partial functional programs, i.e. for functional programs which do not terminate for each input. We present a method to determine their domains (resp. non-trivial subsets of their domains) automatically. More precisely, for each functional program a termination predicate algorithm is synthesized, which only returns true for inputs where the program is terminating. To ease subsequent reasoning about the generated termination predicates we also present a procedure for their simplification.

### Citations

531 |
A Computational' Logic
- Boyer, Moore
- 1979
(Show Context)
Citation Context ...o simplify the generated termination predicate algorithms which consists of four steps. 5.1 Application of Induction Lemmata First, the well-known induction lemma method by R. S. Boyer and J S. Moore =-=[BM79]-=- is used to eliminate (some of) the inequalities jr j ! jx j (which ensure that recursive calls are measure decreasing) from the termination predicate algorithms. Elimination of these inequalities sim... |

453 | Termination of Rewriting - Dershowitz - 1985 |

193 |
Mathematical Theory of Computation
- Manna
- 1974
(Show Context)
Citation Context ...tion behaviour of partial functional programs, i.e. of programs which do not terminate for all inputs [BM88]. In this paper we automate Manna's approach for termination analysis of "partial progr=-=ams" [Man74]: For ever-=-y algorithm defining a function f there has to be a termination predicate 1 ` f which specifies the "admissible input" of f (i.e. evaluation of f must terminate for each input admitted by th... |

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

73 | Termination Proofs for Logic Programs - Plümer |

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

46 | Generating Polynomial Orderings for Termination Proofs - Giesl |

45 |
On proving the termination of algorithms by machine
- Walther
- 1994
(Show Context)
Citation Context ... and Moore induction lemmata have to be provided by the user. However, C. Walther presented a method to generate a certain class of induction lemmata for the size measure function j:j # automatically =-=[Wal94b]-=- and we recently generalized his approach towards measure functions based on arbitrary polynomial norms [Gie95b]. For instance, the induction lemma needed in the following example can be synthesized b... |

42 | Finiteness analysis - Holst - 1991 |

39 | Termination of nested and mutually recursive algorithms
- Giesl
- 1997
(Show Context)
Citation Context ...on predicate algorithms which also works automatically. The presented approach can be used for polymorphic types, too, and an extension to mutual recursion is possible in the same way as suggested in =-=[Gie96]-=- for absolute termination proofs. Termination analysis can also be extended to higher-order functions by inspecting the decrease of their first-order arguments, cf. [NN95]. To determine non-trivial su... |

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

37 | Mathematical induction - Walther - 1994 |

31 |
The addition of bounded quantification and partial functions to a computational logic and its theorem prover
- Boyer, Moore
(Show Context)
Citation Context ...omain where termination is provable. Therefore these methods cannot be used to analyze the termination behaviour of partial functional programs, i.e. of programs which do not terminate for all inputs =-=[BM88]. In this -=-paper we automate Manna's approach for termination analysis of "partial programs" [Man74]: For every algorithm defining a function f there has to be a termination predicate 1 ` f which speci... |

31 | Termination analysis for functional programs using term orderings - Giesl - 1995 |

22 |
Functional Programming
- Henderson
- 1980
(Show Context)
Citation Context ... imperative program into a functional one, usually each while-loop is transformed into a partial function, 5 As mentioned in [Wal94b] one algorithm (greatest.factor) must be slightly modified. 14 cf. =-=[Hen80]. Now the -=-termination predicates for these partial "loop functions" can be used to prove termination of the whole imperative program. Acknowledgements. We would like to thank Christoph Walther and the... |

14 | Argument-Bounded Algorithms as a Basis for Automated Termination Proofs. 9th CADE, LNCS310 - Walther - 1988 |

10 | Automated termination proofs with measure functions
- Giesl
- 1995
(Show Context)
Citation Context ... a certain class of induction lemmata for the size measure function j:j # automatically [Wal94b] and we recently generalized his approach towards measure functions based on arbitrary polynomial norms =-=[Gie95b]-=-. For instance, the induction lemma needed in the following example can be synthesized by Walther's and our method. While Boyer and Moore use induction lemmata for absolute termination proofs, we will... |

4 | Termination Analysis based on Operational Semantics
- Nielson
- 1995
(Show Context)
Citation Context ...he same way as suggested in [Gie96] for absolute termination proofs. Termination analysis can also be extended to higher-order functions by inspecting the decrease of their first-order arguments, cf. =-=[NN95]-=-. To determine non-trivial subdomains of higher-order functions which are not always terminating, in general one does not only need a termination predicate for each function f but one also has to gene... |