Polymorphic higher-order recursive path orderings

This article extends the termination proof techniques based on reduction orderings to a higher-order setting, by defining a family of recursive path orderings for terms of a typed lambda-calculus generated by a signature of polymorphic higher-order function symbols. These relations can be generated from two given well-founded orderings, on the function symbols and on the type constructors. The obtained orderings on terms are well founded, monotonic, stable under substitution and include β-reductions. They can be used to prove the strong normalization property of higher-order calculi in which constants can be defined by higher-order rewrite rules using first-order pattern matching. For example, the polymorphic version of Gödel's recursor for the natural numbers is easily oriented. And indeed, our ordering is polymorphic, in the sense that a single comparison allows to prove the termination property of all monomorphic instances of a polymorphic rewrite rule. Many nontrivial examples are given that exemplify the expressive power of these orderings. All have been checked by our implementation. This article is an extended and improved version of Jouannaud and Rubio [1999]. Polymorphic algebras have been made more expressive than in our previous framework. The intuitive notion of a polymorphic higher-order ordering has now been made precise. The higher-order recursive path ordering itself has been made much more powerful by replacing the congruence on types used there by an ordering on types satisfying some abstract properties. Besides, using a restriction of Dershowitz's recursive path ordering for comparing types, we can integrate both orderings into a single one operating uniformly on both terms and types.

[1]  William W. Tait,et al.  Intensional interpretations of functionals of finite type I , 1967, Journal of Symbolic Logic.

[2]  Nachum Dershowitz,et al.  Orderings for term-rewriting systems , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[3]  Nachum Dershowitz Orderings for Term-Rewriting Systems , 1979, FOCS.

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

[5]  Alain Colmerauer,et al.  Equations and Inequations on Finite and Infinite Trees , 1984, FGCS.

[6]  G. Takeuti,et al.  On the theory of quasi-ordinal diagrams , 1985 .

[7]  Thierry Coquand,et al.  Inductively defined types , 1988, Conference on Computer Logic.

[8]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[9]  J. Girard,et al.  Proofs and types , 1989 .

[10]  J. Gallier On Girard's "Candidats de Reductibilité" , 1989 .

[11]  Hendrik Pieter Barendregt,et al.  Functional Programming and Lambda Calculus , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

[12]  Jean-Pierre Jouannaud,et al.  Rewrite Systems , 1991, Handbook of Theoretical Computer Science, Volume B: Formal Models and Sematics.

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

[14]  Dale Miller,et al.  A Logic Programming Language with Lambda-Abstraction, Function Variables, and Simple Unification , 1991, J. Log. Comput..

[15]  Jean-Pierre Jouannaud,et al.  A computation model for executable higher-order algebraic specification languages , 1991, [1991] Proceedings Sixth Annual IEEE Symposium on Logic in Computer Science.

[16]  Samson Abramsky,et al.  Handbook of logic in computer science. , 1992 .

[17]  Joachim Steinbach,et al.  Termination of Combined (Rewrite and lambda-Calculus) Systems , 1992, CTRS.

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

[19]  Lawrence C. Paulson,et al.  Isabelle: The Next 700 Theorem Provers , 2000, ArXiv.

[20]  Thierry Coquand,et al.  Inductive Definitions and Type Theory: an Introduction (Preliminary Version) , 1994, FSTTCS.

[21]  Jean-Pierre Jouannaud,et al.  Modular Termination of Term Rewriting Systems Revisited , 1994, COMPASS/ADT.

[22]  Wilfried Buchholz,et al.  Proof-Theoretic Analysis of Termination Proofs , 1995, Ann. Pure Appl. Log..

[23]  Helmut Schwichtenberg,et al.  Strict Functionals for Termination Proofs , 1995, TLCA.

[24]  J. V. D. Pol,et al.  Termination of higher-order rewrite systems , 1996 .

[25]  Jan Willem Klop,et al.  Comparing Curried and Uncurried Rewriting , 1993, J. Symb. Comput..

[26]  J. Jouannaud,et al.  Abstract Data Type Systems , 1997, Theor. Comput. Sci..

[27]  Albert Rubio,et al.  Rewrite Orderings for Higher-Order Terms in eta-Long beta-Normal Form and Recursive Path Ordering , 1998, Theor. Comput. Sci..

[28]  Tobias Nipkow,et al.  Higher-Order Rewrite Systems and Their Confluence , 1998, Theor. Comput. Sci..

[29]  岩見 宗弘 Termination of higher-order rewrite systems , 1999 .

[30]  Albert Rubio,et al.  The higher-order recursive path ordering , 1999, Proceedings. 14th Symposium on Logic in Computer Science (Cat. No. PR00158).

[31]  Jean-Pierre Jouannaud,et al.  The Calculus of algebraic Constructions , 1999, RTA.

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

[33]  Albert Rubio,et al.  Complete Monotonic Semantic Path Orderings , 2000, CADE.

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

[35]  Jean Goubault-Larrecq,et al.  Well-Founded Recursive Relations , 2001, CSL.

[36]  Enno Ohlebusch,et al.  Term Rewriting Systems , 2002 .

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

[38]  Albert Rubio,et al.  A Fully Syntactic AC-RPO , 1999, Inf. Comput..

[39]  Daria Walukiewicz-Chrzaszcz,et al.  Termination of rewriting in the Calculus of Constructions , 2003, Journal of Functional Programming.

[40]  Claude Kirchner,et al.  Theorem Proving Modulo , 2003, Journal of Automated Reasoning.

[41]  Pierre Castéran,et al.  Inductive Data Types , 2004 .

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

[43]  J. Jouannaud,et al.  Higher-order rewriting with types and arities , 2004 .

[44]  Frédéric Blanqui,et al.  Inductive types in the Calculus of Algebraic Constructions , 2003, Fundam. Informaticae.

[45]  Jürgen Giesl,et al.  Proving and Disproving Termination of Higher-Order Functions , 2005, FroCoS.

[46]  Christine Paulin-Mohring,et al.  The Coq Proof Assistant A Tutorial , 2005 .

[47]  Jean-Pierre Jouannaud,et al.  Higher-Order Rewriting: Framework, Confluence and Termination , 2005, Processes, Terms and Cycles.

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

[49]  Dan Suciu,et al.  Journal of the ACM , 2006 .

[50]  Albert Rubio,et al.  Higher-Order Termination: From Kruskal to Computability , 2006, LPAR.