The duality of computation

We present the μ -calculus, a syntax for λ-calculus + control operators exhibiting symmetries such as program/context and call-by-name/call-by-value. This calculus is derived from implicational Gentzen's sequent calculus LK, a key classical logical system in proof theory. Under the Curry-Howard correspondence between proofs and programs, we can see LK, or more precisely a formulation called LKμ , as a syntax-directed system of simple types for μ -calculus. For μ -calculus, choosing a call-by-name or call-by-value discipline for reduction amounts to choosing one of the two possible symmetric orientations of a critical pair. Our analysis leads us to revisit the question of what is a natural syntax for call-by-value functional computation. We define a translation of λμ-calculus into μ -calculus and two dual translations back to λ-calculus, and we recover known CPS translations by composing these translations.

[1]  Nobuko Yoshida,et al.  Game-Theoretic Analysis of Call-by-Value Computation , 1997, Theor. Comput. Sci..

[2]  C.-H. Luke Ong,et al.  A Curry-Howard foundation for functional computation with control , 1997, POPL '97.

[3]  Ichiro Ogata,et al.  Constructive Classical Logic as CPS-Calculus , 2000, Int. J. Found. Comput. Sci..

[4]  Michel Parigot,et al.  Lambda-Mu-Calculus: An Algorithmic Interpretation of Classical Natural Deduction , 1992, LPAR.

[5]  Martin Hofmann,et al.  Continuation models are universal for lambda-mu-calculus , 1997, LICS 1997.

[6]  Val Tannen,et al.  A Typed Pattern Calculus , 1996, Inf. Comput..

[7]  Hugo Herbelin Séquents qu'on calcule: de l'interprétation du calcul des séquents comme calcul de lambda-termes et comme calcul de stratégies gagnantes. (Computing with sequents: on the interpretation of sequent calculus as a calculus of lambda-terms and as a calculus of winning strategies) , 1995 .

[8]  Hugo Herbelin,et al.  Computing with Abstract Böhm Trees , 1998, Fuji International Symposium on Functional and Logic Programming.

[9]  Ichiro Ogata A CPS-Transform of Constructive Classical Logic , 1999, ASIAN.

[10]  Hugo Herbelin,et al.  A Lambda-Calculus Structure Isomorphic to Gentzen-Style Sequent Calculus Structure , 1994, CSL.

[11]  Vincent Danos,et al.  A new deconstructive logic: linear logic , 1997, Journal of Symbolic Logic.

[12]  Jean-Yves Girard,et al.  On the Unity of Logic , 1993, Ann. Pure Appl. Log..

[13]  Stefano Berardi,et al.  A Symmetric Lambda Calculus for Classical Program Extraction , 1994, Inf. Comput..

[14]  Peter Selinger,et al.  Control categories and duality: on the categorical semantics of the lambda-mu calculus , 2001, Mathematical Structures in Computer Science.

[15]  Thomas Streicher,et al.  Continuation Models Are Universal for -calculus , 1997 .

[16]  Stefano Berardi,et al.  A Symmetric Lambda Calculus for Classical Program Extraction , 1994, Inf. Comput..

[17]  René David,et al.  λμ-calculus and Böhm's theorem , 2001, Journal of Symbolic Logic.

[18]  HerbelinHugo,et al.  The duality of computation , 2000 .

[19]  Andrzej Filinski Declarative Continuations: an Investigation of Duality in Programming Language Semantics , 1989, Category Theory and Computer Science.

[20]  Vincent Danos,et al.  LKQ and LKT: sequent calculi for second order logic based upon dual linear decompositions of classical implication , 1995 .

[21]  Chetan R. Murthy A computational analysis of Girard's translation and LC , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[22]  Jean-Louis Krivine,et al.  Typed lambda-calculus in classical Zermelo-Frænkel set theory , 2001, Arch. Math. Log..

[23]  Christian Urban,et al.  Strong Normalisation of Cut-Elimination in Classical Logic , 1999, Fundam. Informaticae.

[24]  Philippe de Groote,et al.  On the Relation between the Lambda-Mu-Calculus and the Syntactic Theory of Sequential Control , 1994, LPAR.

[25]  M. Felleisen,et al.  Reasoning about programs in continuation-passing style , 1993 .

[26]  Gordon D. Plotkin,et al.  Call-by-Name, Call-by-Value and the lambda-Calculus , 1975, Theor. Comput. Sci..

[27]  Gerhard Gentzen,et al.  Investigations into Logical Deduction , 1970 .