Termination combinators forever

We describe a library-based approach to constructing termination tests suitable for controlling termination of symbolic methods such as partial evaluation, supercompilation and theorem proving. With our combinators, all termination tests are correct by construction. We show how the library can be designed to embody various optimisations of the termination tests, which the user of the library takes advantage of entirely transparently.

[1]  Neil D. Jones,et al.  Termination Analysis of the Untyped lamba-Calculus , 2004, RTA.

[2]  Andreas Podelski,et al.  Termination proofs for systems code , 2006, PLDI '06.

[3]  Jeremy Gibbons Datatype-Generic Programming , 2006, SSDGP.

[4]  Michael Leuschel,et al.  On the Power of Homeomorphic Embedding for Online Termination , 1998, SAS.

[5]  Ralf Hinze,et al.  Generic Haskell: Practice and Theory , 2003, Generic Programming.

[6]  J. Kruskal Well-quasi-ordering, the Tree Theorem, and Vazsonyi’s conjecture , 1960 .

[7]  I G Klyuchnikov Supercompiler HOSC 1.0: under the hood , 2009 .

[8]  Neil Mitchell,et al.  Rethinking supercompilation , 2010, ICFP '10.

[9]  Jeremy Gibbons,et al.  Datatype-Generic Programming , 2006, Lecture Notes in Computer Science.

[10]  Илья Ключников,et al.  Supercompiler HOSC 1.5: homeomorphic embedding and generalization in a higher-order setting , 2010 .

[11]  Philip Wadler,et al.  The Glasgow Haskell Compiler: a technical overview , 1993 .

[12]  C. Nash-Williams On well-quasi-ordering infinite trees , 1963, Mathematical Proceedings of the Cambridge Philosophical Society.

[13]  Johan Jeuring,et al.  Generic programming with fixed points for mutually recursive datatypes , 2009, ICFP.

[14]  Geoff W. Hamilton,et al.  Distillation: extracting the essence of programs , 2007, PEPM '07.

[15]  Johan Nordlander,et al.  Positive supercompilation for a higher order call-by-value language , 2009, POPL '09.

[16]  Jean H. Gallier,et al.  WHAT'S SO SPECIAL ABOUT KRUSKAL'S THEOREM AND THE ORDINAL 0? A SURVEY OF SOME RESULTS IN PROOF THEORY This paper has appeared in Annals of Pure and Applied Logic, 53 (1991), 199-260. , 2012 .

[17]  Simon Peyton Jones,et al.  Supercompilation by evaluation , 2010 .

[18]  A. Rybalchenko,et al.  Transition invariants , 2004, LICS 2004.

[19]  U. Norell,et al.  Towards a practical programming language based on dependent type theory , 2007 .

[20]  Bruno C. d. S. Oliveira,et al.  The essence of the Iterator pattern , 2006, J. Funct. Program..