Semantic Labelling for Proving Termination of Combinatory Reduction Systems

We give a novel transformation method for proving termination of higher-order rewrite rules in Klop's format called Combinatory Reduction System (CRS). The format CRS essentially covers the usual pure higher-order functional programs such as Haskell. Our method called higher-order semantic labelling is an extension of a method known in the theory of term rewriting. This attaches semantics of the arguments to each function symbol. We systematically define the labelling by using the complete algebraic semantics of CRS, Σ-monoids. We also examine the power of higher-order semantic labelling by several examples. This includes an interesting example from the viewpoint of functional programming.

[1]  Chang Liu,et al.  Term rewriting and all that , 2000, SOEN.

[2]  Makoto Hamana Higher-order semantic labelling for inductive datatype systems , 2007, PPDP '07.

[3]  Jan Willem Klop,et al.  Combinatory reduction systems , 1980 .

[4]  Femke van Raamsdonk,et al.  On Termination of Higher-Order Rewriting , 2001, RTA.

[5]  K. Brown,et al.  Graduate Texts in Mathematics , 1982 .

[6]  Albert Rubio,et al.  Higher-Order Orderings for Normal Rewriting , 2006, RTA.

[7]  Vincent van Oostrom,et al.  Combinatory Reduction Systems: Introduction and Survey , 1993, Theor. Comput. Sci..

[8]  Frank Wolter,et al.  Monodic fragments of first-order temporal logics: 2000-2001 A.D , 2001, LPAR.

[9]  Albert Rubio,et al.  A Monotonic Higher-Order Semantic Path Ordering , 2001, LPAR.

[10]  Frédéric Blanqui,et al.  Termination and Confluence of Higher-Order Rewrite Systems , 2000, RTA.

[11]  S. Lane Categories for the Working Mathematician , 1971 .

[12]  Albert Rubio,et al.  The Computability Path Ordering: The End of a Quest , 2008, CSL.

[13]  Gordon D. Plotkin,et al.  Abstract syntax and variable binding , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[14]  Terese Term rewriting systems , 2003, Cambridge tracts in theoretical computer science.

[15]  Makoto Hamana Universal Algebra for Termination of Higher-Order Rewriting , 2005, RTA.

[16]  Philip Wadler Call-by-Value Is Dual to Call-by-Name - Reloaded , 2005, RTA.

[17]  R. Milner Mathematical Centre Tracts , 1976 .

[18]  Tobias Nipkow,et al.  Higher-order critical pairs , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[19]  Makoto Hamana Free S-Monoids: A Higher-Order Syntax with Metavariables , 2004, APLAS.

[20]  Hans Zantema,et al.  Termination of Term Rewriting by Semantic Labelling , 1995, Fundam. Informaticae.

[21]  Jean-Pierre Jouannaud,et al.  Inductive-data-type systems , 2002, Theor. Comput. Sci..

[22]  Tobias Nipkow,et al.  Higher-Order Algebra, Logic, and Term Rewriting , 1993, Lecture Notes in Computer Science.

[23]  Olivier Danvy,et al.  Higher-Order Rewriting and Partial Evaluation , 1997, RTA.

[24]  Jaco van de Pol,et al.  Termination Proofs for Higher-order Rewrite Systems , 1993, HOA.

[25]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[26]  Albert Rubio,et al.  Polymorphic higher-order recursive path orderings , 2007, JACM.

[27]  Alex K. Simpson,et al.  Computational Adequacy in an Elementary Topos , 1998, CSL.

[28]  S. Maclane,et al.  Categories for the Working Mathematician , 1971 .

[29]  de Ng Dick Bruijn,et al.  Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .

[30]  Simon Peyton Jones,et al.  Playing by the rules: rewriting as a practical optimisation technique in GHC , 2001 .