TALP: A Tool for the Termination Analysis of Logic Programs
In the last decade, the automatic termination analysis of logic programs has been receiving increasing attention. Among other methods, techniques have been proposed that transform a well-moded logic program into a term rewriting system (TRS) so that termination of the TRS implies termination of the logic program under Prolog’s selection rule. In [Ohl99] it has been shown that the two-stage transformation obtained by combining the transformations of [GW93] into deterministic conditional TRSs (CTRSs) with a further transformation into TRSs [CR93] yields the transformation proposed in [AZ96], and that these three transformations are equally powerful. In most cases simplification orderings are not sufficient to prove termination of the TRSs obtained by the two-stage transformation. However, if one uses the dependency pair method [AG00] in combination with polynomial interpretations instead, then most of the examples described in the literature can automatically be proven terminating. Based on these observations, we have implemented a tool for proving termination of logic programs automatically. This tool consists of a front-end which implements the two-stage transformation and a back-end, the CiME system [CiM], for proving termination of the generated TRS. Experiments show that our tool can compete with other tools [DSV99 ]based on sophisticated norm-based approaches.
Unable to display preview. Download preview PDF.
- [AG00]Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theoretical Computer Science (2000) (to appear)Google Scholar
- [AZ96]Arts, T., Zantema, H.: Termination of logic programs using semantic unification. In: Proietti, M. (ed.) LOPSTR 1995. LNCS, vol. 1048, pp. 219–233. Springer, Heidelberg (1996)Google Scholar
- [CiM]CiME 2. Prerelease, available at http://www.lri.fr/~demons/cime-2.0.html
- [CMT99]Contejean, E., Marché, C., Tomás, A.-P., Urbain, X.: Solving termination constraints via finite domain polynomial interpretations. Draft (1999)Google Scholar
- [CR93]Chtourou, M., Rusinowitch, M.: Méthode transformationnelle pour la preuve de terminaison des programmes logiques. (1993) (unpublished manuscript)Google Scholar
- [DSV99]Decorte, S., De Schreye, D., Vandecasteele, H.: Constraint-based termination analysis of logic programs. ACM TOPLAS (1999) (to appear)Google Scholar
- [Gie95]Giesl, J.: Generating polynomial orderings for termination proofs. In: Hsiang, J. (ed.) RTA 1995. LNCS, vol. 914, Springer, Heidelberg (1995)Google Scholar
- [GW93]Ganzinger, H., Waldmann, U.: Termination proofs of well-moded logic programs via conditional rewrite systems. In: Rusinowitch, M., Remy, J.-L. (eds.) CTRS 1992. LNCS, vol. 656, pp. 113–127. Springer, Heidelberg (1993)Google Scholar
- [LS97]Lindenstrauss, N., Sagiv, Y.: Automatic termination analysis of logic programs (with detailed experimental results). Technical report, Hebrew University, Jerusalem (1997)Google Scholar