An Investigation into Functions as Processes

In [Mil90] Milner examines the encoding of the λ-calculus into the π-calculus [MPW92]. The former is the universally accepted basis for computations with functions, the latter aims at being its counterpart for computations with processes. The primary goal of this paper is to continue the study of Milner's encodings. We focus mainly on the lazy λ-calculus [Abr87]. We show that its encoding gives rise to a λ-model, in which a weak form of extensionality holds. However the model is not fully abstract: To obtain full abstraction, we examine both the restrictive approach, in which the semantic domain of processes is cut down, and the expansive approach, in which λ-calculus is enriched with constants to obtain a direct characterisation of the equivalence on λ-terms induced, via the encoding, by the behavioural equivalence adopted on the processes. Our results are derived exploiting an intermediate representation of Milner's encodings into the Higher-Order π-calculus, an ω-order extension of π-calculus where also agents may be transmitted. For this, essential use is made of the fully abstract compilation from the Higher-Order π-calculus to the π-calculus studied in [San92a].

[1]  Gérard Boudol Towards a Lambda-Calculus for Concurrent and Communicating Systems , 1989, TAPSOFT, Vol.1.

[2]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[3]  J. Roger Hindley,et al.  Introduction to combinators and λ-calculus , 1986, Acta Applicandae Mathematicae.

[4]  Davide Sangiorgi,et al.  The lazy lambda calculus in a concurrency scenario , 1992, [1992] Proceedings of the Seventh Annual IEEE Symposium on Logic in Computer Science.

[5]  Robin Milner,et al.  The Polyadic π-Calculus: a Tutorial , 1993 .

[6]  Davide Sangiorgi,et al.  Typing and subtyping for mobile processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[7]  Bent Thomsen,et al.  Calculi for higher order communicating systems , 1990 .

[8]  G. Longo,et al.  Lambda-Calculus Models and Extensionality , 1980, Math. Log. Q..

[9]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

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

[11]  Robin Milner,et al.  Fully Abstract Models of Typed lambda-Calculi , 1977, Theor. Comput. Sci..

[12]  Robin Milner,et al.  Barbed Bisimulation , 1992, ICALP.

[13]  Davide Sangiorgi The Lazy Lambda Calculus in a Concurrency Scenario , 1994, Inf. Comput..

[14]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[15]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

[16]  C.-H. Luke Ong,et al.  Full Abstraction in the Lazy Lambda Calculus , 1993, Inf. Comput..

[17]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

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

[19]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[20]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..