ABSTRACT
We study Milner's encoding of the call-by-value λ-calculus into the π-calculus. We show that, by tuning the encoding to two subcalculi of the π-calculus (Internal π and Asynchronous Local π), the equivalence on λ-terms induced by the encoding coincides with Lassen's eager normal-form bisimilarity, extended to handle η-equality. As behavioural equivalence in the π-calculus we consider contextual equivalence and barbed congruence. We also extend the results to preorders.
A crucial technical ingredient in the proofs is the recently-introduced technique of unique solutions of equations, further developed in this paper. In this respect, the paper also intends to be an extended case study on the applicability and expressiveness of the technique.
- Samson Abramsky. 1987. The Lazy λ-calculus. In Research Topics in Functional Programming, D. Turner (Ed.). Addison Wesley, 65--117.Google Scholar
- Samson Abramsky and Guy McCusker. 1997. Call-by-Value Games. In Proceedings of, CSL '97, Annual Conference of the EACSL, Selected Papers, Vol. 1414. Springer, 1--17. Google ScholarDigital Library
- Beniamino Accattoli and Giulio Guerrieri. 2016. Open Call-by-Value. In Proc. of APLAS 2016 (Lecture Notes in Computer Science), Vol. 10017. Springer Verlag, 206--226.Google Scholar
- H.P. Barendregt. 1984. The lambda calculus: its syntax and semantics. North-Holland.Google Scholar
- Martin Berger, Kohei Honda, and Nobuko Yoshida. 2001. Sequentiality and the pi-Calculus. In Proceedings of TLCA (Lecture Notes in Computer Science), Vol. 2044. Springer, 29--45. Google ScholarDigital Library
- Romain Demangeon, Daniel Hirschkoff, and Davide Sangiorgi. 2010. Termination in Impure Concurrent Languages. In Proc. 21th Conf. on Concurrency Theory (Lecture Notes in Computer Science), Vol. 6269. Springer, 328--342. Google ScholarDigital Library
- Adrien Durier, Daniel Hirschkoff, and Davide Sangiorgi. 2017. Divergence and Unique Solution of Equations. In Proceedings of CONCUR 2017 (LIPIcs), Vol. 85. Schloss Dagstuhl--Leibniz-Zentrum fuer Informatik, 11:1--11:16.Google Scholar
- J. Roger Hindley and Jonathan P. Seldin. 1986. Introduction to Combinators and Lambda-Calculus. Cambridge University Press. Google ScholarDigital Library
- Kohei Honda and Nobuko Yoshida. 1999. Game-Theoretic Analysis of Call-by-Value Computation. Theor. Comput. Sci. 221, 1-2 (1999), 393--456. Google ScholarDigital Library
- J. M. E. Hyland and C.-H. Luke Ong. 1995. Pi-Calculus, Dialogue Games and PCF. In Proceedings of FPCA 1995. ACM, 96--107. Google ScholarDigital Library
- Andrew D. Ker, Hanno Nickau, and C.-H. Luke Ong. 2003. Adapting innocent game models for the Böhm treelambda-theory. Theor. Comput. Sci. 308, 1-3 (2003), 333--366. Google ScholarDigital Library
- Søren B. Lassen. 2005. Eager Normal Form Bisimulation. In 20th IEEE Symposium on Logic in Computer Science (LICS 2005), 26-29 June 2005, Chicago, IL, USA, Proceedings. IEEE Computer Society, 345--354. Google ScholarDigital Library
- Søren B. Lassen and Paul Blain Levy. 2007. Typed Normal Form Bisimulation. In Proc. of Computer Science Logic CSL 2007 (Lecture Notes in Computer Science), Vol. 4646. Springer, 283--297. Google ScholarDigital Library
- Jean-Jacques Lévy. 1975. An algebraic interpretation of the lambda beta-calculus and a labeled lambda-calculus. In Lambda-Calculus and Computer Science Theory, Proceedings of the Symposium Held in Rome, March 25-27, 1975 (Lecture Notes in Computer Science), Vol. 37. Springer, 147--165. Google ScholarDigital Library
- Giuseppe Longo. 1983. Set-theoretical models of lambda-calculus: theories, expansions, isomorphisms. Annals of Pure and Applied Logic 24, 2 (1983), 153--188.Google ScholarCross Ref
- Massimo Merro and Davide Sangiorgi. 2004. On asynchrony in name-passing calculi. Mathematical Structures in Computer Science 14, 5 (2004), 715--767. Google ScholarDigital Library
- Robin Milner. 1990. Functions as processes. Research Report RR-1154. INRIA.Google Scholar
- Robin Milner. 1992. Functions as Processes. Mathematical Structures in Computer Science 2, 2 (1992), 119--141.Google ScholarCross Ref
- Robin Milner. 1993. The polyadic π-calculus: a tutorial. In Logic and algebra of specification. NATO ASI Series (Series F: Computer & Systems Sciences), Vol. 94. Springer, 203--246.Google Scholar
- C.-H. Luke Ong and Pietro Di Gianantonio. 2004. Games characterizing Levy-Longo trees. Theor. Comput. Sci. 312, 1 (2004), 121--142. Google ScholarDigital Library
- Gordon D. Plotkin. 1975. Call-by-Name, Call-by-Value and the lambda-Calculus. Theor. Comput. Sci. 1, 2 (1975), 125--159.Google ScholarCross Ref
- Simona Ronchi Della Rocca and Luca Paolini. 2004. The Parametric Lambda Calculus - A Metamodel for Computation. Springer.Google Scholar
- Davide Sangiorgi. 1993. Expressing mobility in process algebras: first-order and higher-order paradigms. Ph.D. Dissertation. University of Edinburgh, UK.Google Scholar
- Davide Sangiorgi. 1993. An investigation into Functions as Processes. In Proc. of MFPS'93 (Lecture Notes in Computer Science), Vol. 802. Springer, 143--159. Google ScholarDigital Library
- Davide Sangiorgi. 1996. π-Calculus, Internal Mobility, and Agent-Passing Calculi. Theor. Comput. Sci. 167, 1&2 (1996), 235--274. Google ScholarDigital Library
- Davide Sangiorgi. 2000. Lazy functions and mobile processes. In Proof, Language, and Interaction, Essays in Honour of Robin Milner. The MIT Press, 691--720. Google ScholarDigital Library
- Davide Sangiorgi. 2006. Termination of processes. Mathematical Structures in Computer Science 16, 1 (2006), 1--39. Google ScholarDigital Library
- Davide Sangiorgi and David Walker. 2001. The Pi-Calculus - a theory of mobile processes. Cambridge University Press. Google ScholarDigital Library
- Davide Sangiorgi and Xian Xu. 2014. Trees from Functions as Processes. In Proceedings of CONCUR 2014 (Lecture Notes in Computer Science), Vol. 8704. Springer, 78--92.Google ScholarCross Ref
- Kristian Støvring and Søren B. Lassen. 2009. A Complete, Co-inductive Syntactic Theory of Sequential Control and State. In Semantics and Algebraic Specification, Essays Dedicated to Peter D. Mosses on the Occasion of His 60th Birthday (Lecture Notes in Computer Science), Vol. 5700. Springer, 329--375. Google ScholarDigital Library
- Bernardo Toninho and Nobuko Yoshida. 2018. On Polymorphic Sessions and Functions - A Tale of Two (Fully Abstract) Encodings. In Proc. of ESOP 2018 (Lecture Notes in Computer Science), Vol. 10801. Springer, 827--855.Google Scholar
- Nobuko Yoshida, Martin Berger, and Kohei Honda. 2004. Strong normalisation in the pi -calculus. Inf. Comput. 191, 2 (2004), 145--202. Google ScholarDigital Library
Recommendations
The Bang Calculus: an untyped lambda-calculus generalizing call-by-name and call-by-value
PPDP '16: Proceedings of the 18th International Symposium on Principles and Practice of Declarative ProgrammingWe introduce and study the Bang Calculus, an untyped functional calculus in which the promotion operation of Linear Logic is made explicit and where application is a bilinear operation. This calculus, which can be understood as an untyped version of ...
Call-by-push-value: Decomposing call-by-value and call-by-name
We present the call-by-push-value (CBPV) calculus, which decomposes the typed call-by-value (CBV) and typed call-by-name (CBN) paradigms into fine-grain primitives. On the operational side, we give big-step semantics and a stack machine for CBPV, which ...
Eager functions as processes
Highlights- We present a fully abstract encoding of the lambda-calculus in the pi-calculus.
AbstractWe study Milner's encoding of the call-by-value λ-calculus into the π-calculus. We show that, by tuning the encoding to two subcalculi of the π-calculus (Internal π and Asynchronous Local π), the equivalence on λ-terms induced by the ...
Comments