The lambda-calculus with constructors: Syntax, confluence and separation

We present an extension of the λ(η)-calculus with a case construct that propagates through functions like a head linear substitution, and show that this construction permits to recover the expressiveness of ML-style pattern matching. We then prove that this system enjoys the Church–Rosser property using a semi-automatic ‘divide and conquer’ technique by which we determine all the pairs of commuting subsystems of the formalism (considering all the possible combinations of the nine primitive reduction rules). Finally, we prove a separation theorem similar to Bohm's theorem for the whole formalism.

[1]  A. Church The Calculi of Lambda Conversion. (AM-6) (Annals of Mathematics Studies) , 1985 .

[2]  Robin Milner,et al.  Definition of standard ML , 1990 .

[3]  Simon L. Peyton Jones,et al.  Report on the programming language Haskell: a non-strict, purely functional language version 1.2 , 1992, SIGP.

[4]  Delia Kesner,et al.  Pure Pattern Calculus , 2006, ESOP.

[5]  Ariel Arbiser,et al.  A-calculus with constructors , 2008 .

[6]  C. Barry Jay,et al.  The pattern calculus , 2004, TOPL.

[7]  Wolfram Kahl,et al.  Basic Pattern Matching Calculi: Syntax, Reduction, Confluence, and Normalisation , 2003 .

[8]  Claude Kirchner,et al.  The Rewriting Calculus , 2000 .

[9]  Mariangiola Dezani-Ciancaglini,et al.  A Discrimination Algorithm Inside lambda-beta-Calculus , 1979, Theor. Comput. Sci..

[10]  Delia Kesner,et al.  Pattern matching as cut elimination , 2004, Theor. Comput. Sci..

[11]  Xavier Leroy The objective caml system release 3 , 2001 .

[12]  Jean-Yves Girard Locus Solum: From the Rules of Logic to the Logic of Rules , 2001, CSL.

[13]  Vincent van Oostrom,et al.  Lambda calculus with patterns , 2008, Theor. Comput. Sci..

[14]  Tobias Nipkow,et al.  Term rewriting and all that , 1998 .

[15]  A. Rios Contributions a l'etude des lambda-calculs avec substitutions explicites , 1993 .

[16]  Alejandro Ríos,et al.  A Lambda-Calculus with Constructors , 2006, RTA.

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

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