Call-by-value, call-by-name and the vectorial behaviour of the algebraic λ-calculus

We examine the relationship between the algebraic lambda-calculus, a fragment of the differential lambda-calculus and the linear-algebraic lambda-calculus, a candidate lambda-calculus for quantum computation. Both calculi are algebraic: each one is equipped with an additive and a scalar-multiplicative structure, and their set of terms is closed under linear combinations. However, the two languages were built using different approaches: the former is a call-by-name language whereas the latter is call-by-value; the former considers algebraic equalities whereas the latter approaches them through rewrite rules. In this paper, we analyse how these different approaches relate to one another. To this end, we propose four canonical languages based on each of the possible choices: call-by-name versus call-by-value, algebraic equality versus algebraic rewriting. We show that the various languages simulate one another. Due to subtle interaction between beta-reduction and algebraic rewriting, to make the languages consistent some additional hypotheses such as confluence or normalisation might be required. We carefully devise the required properties for each proof, making them general enough to be valid for any sub-language satisfying the corresponding properties.

[1]  Michele Pagani,et al.  Solvability in Resource Lambda-Calculus , 2010, FoSSaCS.

[2]  Simon Perdrix,et al.  Equivalence of algebraic λ-calculi , 2010 .

[3]  Michele Pagani,et al.  Parallel Reduction in Resource Lambda-Calculus , 2009, APLAS.

[4]  Alejandro D'iaz-Caro,et al.  A Type System for the Vectorial Aspect of the Linear-Algebraic Lambda-Calculus , 2010 .

[5]  Benoît Valiron,et al.  The Vectorial Lambda-Calculus , 2013, ArXiv.

[6]  Pablo Buiras,et al.  Lower Bounds for Scalars in a Typed Algebraic λ-calculus , 2011, LSFA.

[7]  Gilles Dowek,et al.  Linear-algebraic lambda-calculus: higher-order, encodings, and confluence , 2008, RTA.

[8]  Simon Perdrix,et al.  Completeness of algebraic CPS simulations , 2011, DCM.

[9]  Pablo Arrighi,et al.  Scalar System F for Linear-Algebraic λ-Calculus: Towards a Quantum Physical Logic , 2011, Electron. Notes Theor. Comput. Sci..

[10]  Lionel Vaux The algebraic lambda calculus , 2009, Math. Struct. Comput. Sci..

[11]  Thomas Ehrhard A Finiteness Structure on Resource Terms , 2010, 2010 25th Annual IEEE Symposium on Logic in Computer Science.

[12]  Laurent Regnier,et al.  The differential lambda-calculus , 2003, Theor. Comput. Sci..

[13]  Thomas Ehrhard,et al.  Finiteness spaces , 2005, Mathematical Structures in Computer Science.

[14]  姜乐 a:b:c≠a÷b÷c , 1994 .

[15]  Gilles Dowek,et al.  A computational definition of the notion of vectorial space , 2004, WRLA.

[16]  L. Vaux On linear combinations of λ-terms , 2007 .

[17]  Michael J. Fischer,et al.  Lambda-calculus schemata , 1993, LISP Symb. Comput..

[18]  Peter Zilahy Ingerman,et al.  Thunks: a way of compiling procedure statements with some comments on procedure declarations , 1961, CACM.

[19]  Lionel Vaux,et al.  The differential ? -calculus , 2007 .

[20]  Thomas Ehrhard,et al.  On Köthe sequence spaces and linear logic , 2002, Mathematical Structures in Computer Science.

[21]  Pablo Arrighi,et al.  A System F accounting for scalars , 2009, 0903.3741.

[22]  Michele Pagani,et al.  A characterization of the Taylor expansion of lambda-terms , 2013, CSL.

[23]  Alejandro Díaz-Caro,et al.  Sums in linear algebraic lambda-calculus , 2010, ArXiv.

[24]  Jonathan Grattage A functional quantum programming language , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[25]  Benoît Valiron,et al.  Semantics of a Typed Algebraic Lambda-Calculus , 2010, DCM.

[26]  Eugenio Moggi,et al.  Computational lambda-calculus and monads , 1989, [1989] Proceedings. Fourth Annual Symposium on Logic in Computer Science.

[27]  Gérard Boudol,et al.  The Lambda-Calculus with Multiplicities (Abstract) , 1993, CONCUR.

[28]  Christine Paulin-Mohring,et al.  The coq proof assistant reference manual , 2000 .

[29]  Antonio Bucciarelli,et al.  Full Abstraction for the Resource Lambda Calculus with Tests, through Taylor Expansion , 2012, Log. Methods Comput. Sci..

[30]  Christine Tasson Algebraic Totality, towards Completeness , 2009, TLCA.

[31]  Olivier Danvy,et al.  Thunks and the λ-calculus , 1997, Journal of Functional Programming.

[32]  W. Wootters,et al.  A single quantum cannot be cloned , 1982, Nature.

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

[34]  Lionel Vaux On Linear Combinations of lambda -Terms , 2007, RTA.

[35]  André van Tonder,et al.  A Lambda Calculus for Quantum Computation , 2003, SIAM J. Comput..

[36]  Benoı̂t Valiron Orthogonality and Algebraic Lambda-Calculus , 2010 .

[37]  Alejandro Díaz-Caro,et al.  Linearity in the Non-deterministic Call-by-Value Setting , 2012, WoLLIC.