Expressing combinatory reduction systems derivations in the rewriting calculus

The last few years have seen the development of the rewriting calculus (also called rho-calculus or ρ-calculus) that uniformly integrates first-order term rewriting and the λ-calculus. The combination of these two latter formalisms has been already handled either by enriching first-order rewriting with higher-order capabilities, like in the Combinatory Reduction Systems (CRS), or by adding to the λ-calculus algebraic features. The various higher-order rewriting systems and the rewriting calculus share similar concepts and have similar applications, and thus, it is important to compare these formalisms to better understand their respective strengths and differences.We show in this paper that we can express Combinatory Reduction Systems derivations in terms of rewriting calculus derivations. The approach we present is based on a translation of each possible CRS-reduction into a corresponding ρ-reduction. Since for this purpose we need to make precise the matching used when evaluating CRS, the second contribution of the paper is to present an original matching algorithm for CRS terms that uses a simple term translation and the classical matching of lambda terms.

[1]  Jean-Pierre Jouannaud,et al.  Abstract Data Type Systems , 1997, Theor. Comput. Sci..

[2]  Claude Kirchner,et al.  The Rho Cube , 2001, FoSSaCS.

[3]  Claude Kirchner,et al.  A rho-Calculus of Explicit Constraint Application , 2004, WRLA.

[4]  David A. Wolfram,et al.  The Clausal Theory of Types , 1993 .

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

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

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

[8]  Herman Geuvers,et al.  Modularity of strong normalization in the algebraic-λ-cube , 1997, Journal of Functional Programming.

[9]  Bruno Pagano Des calculs de substitution explicite et de leur application a la compilation et de leur application a la compilation des langages fonctionnels , 1998 .

[10]  W. Bibel,et al.  Automated deduction : a basis for applications , 1998 .

[11]  Claude Kirchner,et al.  Exceptions in the Rewriting Calculus , 2002, RTA.

[12]  Vincent van Oostrom,et al.  Comparing Combinatory Reduction Systems and Higher-order Rewrite Systems , 1993, HOA.

[13]  Tobias Nipkow Orthogonal Higher-Order Rewrite Systems are Confluent , 1993, TLCA.

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

[15]  Claude Kirchner,et al.  Rewriting Calculus with(out) Types , 2004, Workshop on Rewriting Logic and Its Applications.

[16]  Gérard P. Huet,et al.  A Unification Algorithm for Typed lambda-Calculus , 1975, Theor. Comput. Sci..

[17]  Claude Kirchner,et al.  Pure patterns type systems , 2003, POPL '03.

[18]  Lee Naish,et al.  Higher-order logic programming , 1996 .

[19]  Zhenyu Qian,et al.  Linear Unification of Higher-Order Patterns , 1993, TAPSOFT.

[20]  Claude Kirchner,et al.  Matching Power , 2001, RTA.

[21]  Henk Barendregt,et al.  The Lambda Calculus: Its Syntax and Semantics , 1985 .

[22]  Warren D. Goldfarb,et al.  The Undecidability of the Second-Order Unification Problem , 1981, Theor. Comput. Sci..

[23]  Frédéric Blanqui,et al.  Type theory and rewriting , 2006, ArXiv.

[24]  Alonzo Church,et al.  A formulation of the simple theory of types , 1940, Journal of Symbolic Logic.

[25]  Frédéric Blanqui Definitions by rewriting in the Calculus of Constructions , 2005, Math. Struct. Comput. Sci..

[26]  Christian Prehofer Higher-Order Equational Reasoning , 1998 .