Revisiting Call-by-value Bohm trees in light of their Taylor expansion

The call-by-value lambda calculus can be endowed with permutation rules, arising from linear logic proof-nets, having the advantage of unblocking some redexes that otherwise get stuck during the reduction. We show that such an extension allows to define a satisfying notion of Bohm(-like) tree and a theory of program approximation in the call-by-value setting. We prove that all lambda terms having the same Bohm tree are observationally equivalent, and characterize those Bohm-like trees arising as actual Bohm trees of lambda terms. We also compare this approach with Ehrhard's theory of program approximation based on the Taylor expansion of lambda terms, translating each lambda term into a possibly infinite set of so-called resource terms. We provide sufficient and necessary conditions for a set of resource terms in order to be the Taylor expansion of a lambda term. Finally, we show that the normal form of the Taylor expansion of a lambda term can be computed by performing a normalized Taylor expansion of its Bohm tree. From this it follows that two lambda terms have the same Bohm tree if and only if the normal forms of their Taylor expansions coincide.

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

[2]  H. Barendregt The type free lambda calculus , 1977 .

[3]  Simona Ronchi Della Rocca,et al.  Standardization and Conservativity of a Refined Call-by-Value lambda-Calculus , 2016, Log. Methods Comput. Sci..

[4]  Thomas Ehrhard,et al.  Uniformity and the Taylor expansion of ordinary lambda-terms , 2008, Theor. Comput. Sci..

[5]  Paolo Tranquilli,et al.  Nets between determinism and nondeterminism , 2009 .

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

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

[8]  Giulio Manzonetto,et al.  New Semantical Insights Into Call-by-Value λ-Calculus , 2019, Fundam. Informaticae.

[9]  Beniamino Accattoli,et al.  Implementing Open Call-by-Value , 2017, FSEN.

[10]  Maribel Fernández The Lambda Calculus , 2009 .

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

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

[13]  Giulio Manzonetto,et al.  Böhm's Theorem for Resource Lambda Calculus through Taylor Expansion , 2011, TLCA.

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

[15]  Torben Æ. Mogensen Efficient self-interpretation in lambda calculus , 1992, Journal of Functional Programming.

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

[17]  Søren B. Lassen,et al.  Bisimulation in Untyped Lambda Calculus: Böhm Trees and Bisimulation up to Context , 1999, MFPS.

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

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

[20]  Thomas Ehrhard,et al.  Böhm Trees, Krivine's Machine and the Taylor Expansion of Lambda-Terms , 2006, CiE.

[21]  Roberto M. Amadio,et al.  Domains and Lambda-Calculi (Cambridge Tracts in Theoretical Computer Science) , 2008 .

[22]  J. Roger Hindley,et al.  Lambda calculus with types (Perspectives in Logic) , 2014 .

[23]  Peter Aczel etc HANDBOOK OF MATHEMATICAL LOGIC , 1999 .

[24]  Luca Paolini,et al.  Parametric λ-Theories , 2007 .

[25]  Thomas Ehrhard,et al.  Collapsing non-idempotent intersection types , 2012, CSL.

[26]  Beniamino Accattoli,et al.  Implementing Open Call-by-Value (Extended Version) , 2017, ArXiv.