Combinatory Reduction Systems: Introduction and Survey

Abstract Combinatory reduction systems, or CRSs for short, were designed to combine the usual first-order format of term rewriting with the presence of bound variables as in pure λ-calculus and various typed λ-calculi. Bound variables are also present in many other rewrite systems, such as systems with simplification rules for proof normalization. The original idea of CRSs is due to Aczel, who introduced a restricted class of CRSs and, under the assumption of orthogonality, proved confluence. Orthogonality means that the rules are nonambiguous (no overlap leading to a critical pair) and left-linear (no global comparison of terms necessary). We introduce the class of orthogonal CRSs, illustrated with many examples, discuss its expressive power and give an outline of a short proof of confluence. This proof is a direct generalization of Aczel's original proof, which is close to the well-known confluence proof for λ-calculus by Tait and Martin-Lof. There is a well-known connection between the parallel reduction featuring in the latter proof and the concept of “developments”, and a classical lemma in the theory of λ-calculus is that of “finite developments”, a strong normalization result. It turns out that the notion of “parallel reduction” used in Aczel's proof gives rise to a generalized form of developments which we call “superdevelopments” and on which we will briefly comment.

[1]  Robin Milner,et al.  A Complete Inference System for a Class of Regular Behaviours , 1984, J. Comput. Syst. Sci..

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

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

[4]  R. Hindley Standard and normal reductions , 1978 .

[5]  Fritz Müller,et al.  Confluence of the Lambda Calculus with Left-Linear Algebraic Rewriting , 1992, Inf. Process. Lett..

[6]  Sören Stenlund Combinators, λ-Terms and Proof Theory , 2011 .

[7]  Femke van Raamsdonk Confluence and Superdevelopments , 1993, RTA.

[8]  Robert Pieter Nederpelt Lazarom Strong normalization in a typed lambda calculus with lambda structured types , 1973 .

[9]  D. Prawitz Ideas and Results in Proof Theory , 1971 .

[10]  Martín Abadi,et al.  Explicit substitutions , 1989, POPL '90.

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

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

[13]  R. Hindley,et al.  The equivalence of complete reductions , 1977 .

[14]  Val Tannen,et al.  Polymorphic Rewriting Conserves Algebraic Strong Normalization and Confluence Val Tannen , 2011 .

[15]  H. Barendregt Pairing without conventional restraints , 1974 .

[16]  Hans Hermes,et al.  Introduction to mathematical logic , 1973, Universitext.

[17]  Pierre-Louis Curien Categorical Combinators, Sequential Algorithms, and Functional Programming , 1993, Progress in Theoretical Computer Science.

[18]  Zurab Khasidashvili The Church-rosser theorem in orthogonal combinatory reduction systems , 1991 .

[19]  Masako Takahashi λ-calculi with conditional rules , 1992 .

[20]  Masako Takahashi Lambda-Calculi with Conditional Rules , 1993, TLCA.

[21]  V. Breazu-Tannen,et al.  Combining algebra and higher-order types , 1988, [1988] Proceedings. Third Annual Information Symposium on Logic in Computer Science.

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

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

[24]  Jan Willem Klop,et al.  Term Rewriting Systems: From Church-Rosser to Knuth-Bendix and Beyond , 1990, ICALP.

[25]  J. W. de Bakker,et al.  Mathematical theory of program correctness , 1980, Prentice-Hall international series in computer science.

[26]  J. Girard Proof Theory and Logical Complexity , 1989 .

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

[28]  Carolyn L. Talcott,et al.  A Theory of Binding Structures and Applications to Rewriting , 1993, Theor. Comput. Sci..

[29]  Andre Scedrov,et al.  A guide to polymorphic types , 1990 .

[30]  Takahashi Parallel Reduction in calculus , 1989 .

[31]  Jean-Jacques Lévy,et al.  An algebraic interpretation of the lambda beta - calculus and a labeled lambda - calculus , 1975, Lambda-Calculus and Computer Science Theory.

[32]  Peter B. Andrews An introduction to mathematical logic and type theory - to truth through proof , 1986, Computer science and applied mathematics.

[33]  David A. Wolfram,et al.  Rewriting, and Equational Unification: the Higher-Order Cases , 1991, RTA.

[34]  Richard Kennaway Sequential Evaluation Strategies for Parallel-Or and Related Reduction Systems , 1989, Ann. Pure Appl. Log..

[35]  A. Church The calculi of lambda-conversion , 1941 .

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

[37]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[38]  Stefan Kahrs,et al.  Compilation of Combinatory Reduction Systems , 1993, HOA.

[39]  Jan Willem Klop,et al.  Unique Normal Forms for Lambda Calculus with Surjective Pairing , 1989, Inf. Comput..

[40]  J. Roger Hindley,et al.  Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.

[41]  Masako Takahashi,et al.  Parallel Reductions in lambda-Calculus , 1989, J. Symb. Comput..