Abstract
Current techniques and tools for automated termination analysis of term rewrite systems (TRSs) are already very powerful. However, they fail for algorithms whose termination is essentially due to an inductive argument. Therefore, we show how to couple the dependency pair method for termination of TRSs with inductive theorem proving. As confirmed by the implementation of our new approach in the tool AProVE, now TRS termination techniques are also successful on this important class of algorithms.
Similar content being viewed by others
Explore related subjects
Discover the latest articles, news and stories from top researchers in related subjects.References
AProVE web site: http://aprove.informatik.rwth-aachen.de/eval/Induction/ (2010). Accessed December 2010
Arts, T., Giesl, J.: Termination of term rewriting using dependency pairs. Theor. Comput. Sci. 236, 133–178 (2000)
Baader, F., Nipkow, T.: Term Rewriting and All That. Cambridge University Press, Cambridge (1998)
Ben Cherifa, A., Lescanne, P.: Termination of rewriting systems by polynomial interpretations and its implementation. Sci. Comput. Program. 9(2), 137–159 (1987)
Bouhoula, A., Rusinowitch, M.: SPIKE: a system for automatic inductive proofs. In: Proc. AMAST’95. LNCS, vol. 936, pp. 576–577 (1995)
Boyer, R.S., Moore, JS.: A Computational Logic. Academic Press, New York (1979)
Brauburger, J., Giesl, J.: Termination analysis by inductive evaluation. In: Proc. CADE’98. LNAI, vol. 1421, pp. 254–269 (1998)
Bundy, A.: The automation of proof by mathematical induction. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. 1, pp. 845–911. Elsevier and MIT Press (2001)
Comon, H.: Inductionless induction. In: Robinson, J.A., Voronkov, A. (eds.) Handbook of Automated Reasoning, vol. 1, pp. 913–962. Elsevier and MIT Press (2001)
Contejean, E., Paskevich, A., Urbain, X., Courtieu, P., Pons, O., Forest, J.: A3PAT, an approach for certified automated termination proofs. In: Proc. PEPM’10, pp. 63–72. ACM Press, New York (2010)
Endrullis, J., Waldmann, J., Zantema, H.: Matrix interpretations for proving termination of term rewriting. J. Autom. Reason. 40(2,3), 195–220 (2008)
Fuhs, C., Giesl, J., Middeldorp, A., Schneider-Kamp, P., Thiemann, R., Zankl, H.: SAT solving for termination analysis with polynomial interpretations. In: Proc. SAT’07. LNCS, vol. 4501, pp. 340–354 (2007)
Giesl, J.: Termination analysis for functional programs using term orderings. In: Proc. SAS’95. LNCS, vol. 983, pp. 154–171 (1995)
Giesl, J., Thiemann, R., Schneider-Kamp, P.: The dependency pair framework: combining techniques for automated termination proofs. In: Proc. LPAR’04. LNAI, vol. 3452, pp. 301–331 (2005)
Giesl, J., Schneider-Kamp, P., Thiemann, R.: AProVE 1.2: automatic termination proofs in the dependency pair framework. In: Proc. IJCAR’06. LNAI, vol. 4130, pp. 281–286 (2006)
Giesl, J., Thiemann, R., Schneider-Kamp, P., Falke, S.: Mechanizing and improving dependency pairs. J. Autom. Reason. 37(3), 155–203 (2006)
Giesl, J., Thiemann, R., Swiderski, S., Schneider-Kamp, P.: Proving termination by bounded increase. In: Proc. CADE’07. LNAI, vol. 4603, pp. 443–459 (2007)
Giesl, J., Raffelsieper, M., Schneider-Kamp, P., Swiderski, S., Thiemann, R.: Automated termination proofs for Haskell by term rewriting. ACM Trans. Program. Lang. Syst. 33(2) (2011, to appear). Preliminary version appeared in Proc. RTA’06. LNCS, vol. 4098, pp. 297–312 (2006)
Gnaedig, I., Kirchner, H.: Termination of rewriting under strategies. ACM Trans. Comput. Log. 10(2), 10:1–10:52 (2008)
Hirokawa, N., Middeldorp, A.: Automating the dependency pair method. Inf. Comput. 199(1,2), 172–199 (2005)
Hirokawa, N., Middeldorp, A.: Tyrolean Termination Tool: techniques and features. Inf. Comput. 205(4), 474–511 (2007)
Kapur, D., Musser, D.R.: Proof by consistency. Artif. Intell. 31(2), 125–157 (1987)
Kapur, D., Narendran, P., Zhang, H.: On sufficient completeness and related properties of term rewriting systems. Acta Inf. 24, 395–415 (1987)
Kaufmann, M., Manolios, P., Moore, JS.: Computer-Aided Reasoning: An Approach. Kluwer, Norwell (2000)
Korp, M., Middeldorp, A.: Beyond dependency graphs. In: Proc. CADE’09. LNAI, vol. 5663, pp. 339–354 (2009)
Krauss, A.: Certified size-change termination. In: Proc. CADE’07. LNAI, vol. 4603, pp. 460–475 (2007)
Lankford, D.: On Proving Term Rewriting Systems are Noetherian. Technical Report MTP-3, Louisiana Technical University, Ruston, LA, USA (1979)
Lucas, S., Meseguer, J.: Order-sorted dependency pairs. In: Proc. PPDP’08, pp. 108–119. ACM Press, New York (2008)
Manolios, P., Vroon, D.: Termination analysis with calling context graphs. In: Proc. CAV’06. LNCS, vol. 4144, pp. 401–414 (2006)
Ohlebusch, E.: Termination of logic programs: transformational methods revisited. Appl. Algebra Eng. Commun. Comput. 12(1,2), 73–116 (2001)
Otto, C., Brockschmidt, M., von Essen, C., Giesl, J.: Automated termination analysis of Java Bytecode by term rewriting. In: Proc. RTA’10. LIPIcs, vol. 6, pp. 259–276 (2010)
Panitz, S.E., Schmidt-Schauß, M.: TEA: automatically proving termination of programs in a non-strict higher-order functional language. In: Proc. SAS’97. LNCS, vol. 1302, pp. 345–360 (1997)
Plaisted, D.A.: Equational reasoning and term rewriting systems. In: Gabbay, D.M., Hogger, C.J., Robinson, J.A. (eds.) Handbook of Logic in Artificial Intelligence and Logic Programming, vol. 1, pp. 273–364. Oxford University Press, London (1993)
van de Pol, J.: Modularity in Many-Sorted Term Rewriting. Master’s thesis, Utrecht University (1992). Available from http://homepages.cwi.nl/~vdpol/papers/
Schneider-Kamp, P., Thiemann, R., Annov, E., Codish, M., Giesl, J.: Proving termination using recursive path orders and SAT solving. In: Proc. FroCoS’07. LNAI, vol. 4720, pp. 267–282 (2007)
Schneider-Kamp, P., Giesl, J., Serebrenik, A., Thiemann, R.: Automated termination proofs for logic programs by term rewriting. ACM Trans. Comput. Log. 11(1), 2:1–2:52 (2009)
Swiderski, S., Parting, M., Giesl, J., Fuhs, C., Schneider-Kamp, P.: Termination analysis by dependency pairs and inductive theorem proving. In: Proc. CADE’09. LNAI, vol. 5663, pp. 322–338 (2009)
Thiemann, R., Sternagel, C.: Certification of termination proofs using CeTA. In: Proc. TPHOLs’09. LNCS, vol. 5674, pp. 452–468 (2009)
Toyama, Y.: Counterexamples to termination for the direct sum of term rewriting systems. Inf. Process. Lett. 25(3), 141–143 (1987)
Walther, C.: Mathematical induction. In: Gabbay, D.M., Hogger, C.J., Robinson, J.A. (eds.) Handbook of Logic in Artificial Intelligence and Logic Programming, vol. 2, pp. 127–228. Oxford University Press, London (1994)
Walther, C.: On proving the termination of algorithms by machine. Artif. Intell. 71(1), 101–157 (1994)
Walther, C., Schweitzer, S.: About VeriFun. In: Proc. CADE’03. LNAI, vol. 2741, pp. 322–327 (2003)
Zankl, H., Hirokawa, N., Middeldorp, A.: KBO orientability. J. Autom. Reason. 43(2), 173–201 (2009)
Zantema, H.: Termination of term rewriting: interpretation and type elimination. J. Symb. Comput. 17(1), 23–50 (1994)
Zhang, H., Kapur, D., Krishnamoorthy, M.S.: A mechanizable induction principle for equational specifications. In: Proc. CADE’88. LNAI, vol. 310, pp. 162–181 (1988)
Author information
Authors and Affiliations
Corresponding author
Additional information
Supported by the DFG grant GI 274/5-3, the DFG Research Training Group 1298 (AlgoSyn), the G.I.F. grant 966-116.6, and the Danish Natural Science Research Council.
Rights and permissions
About this article
Cite this article
Fuhs, C., Giesl, J., Parting, M. et al. Proving Termination by Dependency Pairs and Inductive Theorem Proving. J Autom Reasoning 47, 133–160 (2011). https://doi.org/10.1007/s10817-010-9215-9
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-010-9215-9