Standardization and Conservativity of a Refined Call-by-Value lambda-Calculus

We study an extension of Plotkin's call-by-value lambda-calculus via two commutation rules (sigma-reductions). These commutation rules are sufficient to remove harmful call-by-value normal forms from the calculus, so that it enjoys elegant characterizations of many semantic properties. We prove that this extended calculus is a conservative refinement of Plotkin's one. In particular, the notions of solvability and potential valuability for this calculus coincide with those for Plotkin's call-by-value lambda-calculus. The proof rests on a standardization theorem proved by generalizing Takahashi's approach of parallel reductions to our set of reduction rules. The standardization is weak (i.e. redexes are not fully sequentialized) because of overlapping interferences between reductions.

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

[2]  Laurent Regnier,et al.  Lambda-calcul et reseaux , 1992 .

[3]  Simona Ronchi Della Rocca,et al.  Standardization of a Call-By-Value Lambda-Calculus , 2015, TLCA.

[4]  FelleisenMatthias,et al.  Reasoning about programs in continuation-passing style. , 1992 .

[5]  Giulio Guerrieri,et al.  Head reduction and normalization in a call-by-value lambda-calculus , 2015, WPTE@RDP.

[6]  Laurent Regnier,et al.  Une équivalence sur les lambda-termes , 1994, Theor. Comput. Sci..

[7]  Philip Wadler,et al.  A reflection on call-by-value , 1997, TOPL.

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

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

[10]  Furio Honsell,et al.  Operational, denotational and logical descriptions: a case study , 1992, Fundam. Informaticae.

[11]  Alberto Carraro,et al.  A Semantical and Operational Account of Call-by-Value Solvability , 2014, FoSSaCS.

[12]  HuetGérard Confluent Reductions: Abstract Properties and Applications to Term Rewriting Systems , 1980 .

[13]  Benjamin Grégoire,et al.  A compiled implementation of strong reduction , 2002, ICFP '02.

[14]  Luca Paolini,et al.  Call-by-Value Solvability, Revisited , 2012, FLOPS.

[15]  Hugo Herbelin,et al.  An Operational Account of Call-by-Value Minimal and Classical lambda-Calculus in "Natural Deduction" Form , 2009, TLCA.

[16]  Gerd Mitschke,et al.  The Standardization Theorem for λ-Calculus , 1979, Math. Log. Q..

[17]  Roy Dyckhoff,et al.  Call-by-Value lambda-calculus and LJQ , 2007, J. Log. Comput..

[18]  Hugo Herbelin,et al.  The duality of computation , 2000, ICFP '00.

[19]  Martin Odersky,et al.  Call-by-name, call-by-value, call-by-need and the linear lambda calculus , 1995, MFPS.

[20]  Haskell B. Curry,et al.  Combinatory Logic, Volume I , 1959 .

[21]  Simona Ronchi Della Rocca,et al.  Parametric parameter passing Lambda-calculus , 2004, Inf. Comput..

[22]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[23]  Luca Paolini,et al.  Call-by-Value Separability and Computability , 2001, ICTCS.

[24]  Masako Takahashi Parallel Reductions in lambda-Calculus , 1995, Inf. Comput..

[25]  Beniamino Accattoli,et al.  Proof nets and the call-by-value λ-calculus , 2012, Theor. Comput. Sci..

[26]  Simona Ronchi Della Rocca,et al.  Call-by-value Solvability , 1999, RAIRO Theor. Informatics Appl..

[27]  Elaine Pimentel,et al.  Lazy Strong Normalization , 2005, Electron. Notes Theor. Comput. Sci..

[28]  Claudio Sacerdoti Coen,et al.  On the Relative Usefulness of Fireballs , 2015, 2015 30th Annual ACM/IEEE Symposium on Logic in Computer Science.

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

[30]  Amr Sabry,et al.  Reasoning about programs in continuation-passing style , 1992, LFP '92.

[31]  Peter Sestoft,et al.  Partial evaluation and automatic program generation , 1993, Prentice Hall international series in computer science.

[32]  Beniamino Accattoli,et al.  Open Call-by-Value , 2016, APLAS.

[33]  Takahashi Parallel Reduction in calculus , 1989 .

[34]  J. Krivine Lambda-calcul : types et modèles , 1990 .

[35]  Søren B. Lassen,et al.  Eager normal form bisimulation , 2005, 20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05).

[36]  Gerard Huet,et al.  Conflunt reductions: Abstract properties and applications to term rewriting systems , 1977, 18th Annual Symposium on Foundations of Computer Science (sfcs 1977).

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

[38]  Thomas Ehrhard,et al.  The Bang Calculus: an untyped lambda-calculus generalizing call-by-name and call-by-value , 2016, PPDP.

[39]  Karl Crary A Simple Proof of Call-by-Value Standardization , 2009 .

[40]  Elaine Pimentel,et al.  Strong normalization from an unusual point of view , 2011, Theor. Comput. Sci..