Powered by OpenAIRE graph
Found an issue? Give us feedback
image/svg+xml Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao Closed Access logo, derived from PLoS Open Access logo. This version with transparent background. http://commons.wikimedia.org/wiki/File:Closed_Access_logo_transparent.svg Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao zbMATH Openarrow_drop_down
image/svg+xml Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao Closed Access logo, derived from PLoS Open Access logo. This version with transparent background. http://commons.wikimedia.org/wiki/File:Closed_Access_logo_transparent.svg Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao
zbMATH Open
Article
Data sources: zbMATH Open
image/svg+xml Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao Closed Access logo, derived from PLoS Open Access logo. This version with transparent background. http://commons.wikimedia.org/wiki/File:Closed_Access_logo_transparent.svg Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao
image/svg+xml Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao Closed Access logo, derived from PLoS Open Access logo. This version with transparent background. http://commons.wikimedia.org/wiki/File:Closed_Access_logo_transparent.svg Jakob Voss, based on art designer at PLoS, modified by Wikipedia users Nina and Beao
SIAM Journal on Computing
Article . 1998 . Peer-reviewed
Data sources: Crossref
DBLP
Article
Data sources: DBLP
versions View all 5 versions
addClaim

This Research product is the result of merged Research products in OpenAIRE.

You have already added 0 works in your ORCID record related to the merged Research product.

A Filter Model for Concurrent $\lambda$-Calculus

A filter model for concurrent \(\lambda\)-calculus
Authors: DEZANI, Mariangiola; DE' LIGUORO, Ugo; PIPERNO A.;

A Filter Model for Concurrent $\lambda$-Calculus

Abstract

The context of this paper is the type-theoretic or logical approach to semantics of untyped lambda calculus introduced by Barendregt, Dezani, and Coppo in the early eighties. The idea is this: to interpret some extension of the untyped lambda calculus one introduces a Curry-style type system and defines the semantic meaning of a (closed) term \(M\) as the set \([M]\) of types it can be assigned to. Provided the type system was chosen sufficiently expressive then one obtains a completeness result of the form: \([{M}]=[{N}]\) if and only if \(M\) and \(N\) are observationally equivalent (yield the same result in arbitrary context). In general, such completeness result will require a subtyping relation on types \(\sigma\leq\tau\) and intersection types \(\sigma\wedge\tau\) together with typing and subtyping rules which ensure that the types become a meet semilattice with \(\wedge\) the meet operation and that the sets \([{M}]\) are filters. The latter effect is achieved by the subsumption rule \(M:\sigma\) implies \(M':\tau\) when \(\sigma\leq\tau\) and by the intersection rule \(M:\sigma\wedge \tau\) provided \(M:\sigma\) and \(M:\tau\). These filters (ordered by reverse inclusion) form a distributive lattice and this establishes a link to the (more standard) order-theoretic approach to semantics of \(\lambda\)-calculus pioneered by Scott. The type-theoretic approach can be advantageous in situations where one does not know a priori what form a semantic model should have. This is precisely the case in the situation of the paper under review. A type-theoretic semantics is given to an extension of the untyped lambda calculus with two nondeterministic constructs: \(M+N\) (demonic nondeterministic choice between \(M\) and \(N\)) and \(M\parallel N\) (parallel composition of \(M\) and \(N\)). Such extension is aimed at providing a metalanguage for concurrent programming languages in the same way as (following Scott-Strachey) the untyped lambda calculus provides a universal metalanguage for functional and imperative programming languages. In addition to these nondeterministic constructs the calculus has two kinds of abstraction: \(\lambda v.M\) (eager abstraction) and \(\lambda x.M\) (lazy abstraction) . A small step operational semantics is given whose distinctive features are: 1) the rules \(M+N\rightarrow M\) and \(M+N\rightarrow N\) for nondeterministic choice, 2) the rule \(M\parallel N\rightarrow M'\parallel N'\) when \(M\rightarrow M'\) and \(N\rightarrow N'\) for parallel composition, 3) the parallel eager \(\beta\)-reduction rule (in addition to standard \(\beta\)-reduction for lazy abstractions): \((\lambda v.M)V\rightarrow M[V/v]\parallel (\lambda v.M)V'\) when \(V\) is a value (variable, abstraction, or parallel composition with at least one factor a value) and \(V\rightarrow V'\). There are a number of less prominent rules for which I refer to the paper. The first technical part of the paper (Section 2) is devoted to a syntactical study of this operational semantics. The main concept is the ``bar'': a finite set of terms \(b\) is a bar of some term \(M\) if every maximal reduction sequence starting from \(M\) intersects \(b\). This allows to define ``must convergence'' by \(M{\Downarrow}\) iff \(M\) has a bar consisting of values. Two terms \(M,N\) are called observationally equivalent, symbolically \(M\simeq^{\mathcal O}N\), iff \(C[M]{\Downarrow} \Leftrightarrow C[N]{\Downarrow}\) for all contexts \(C[ ]\) (terms with a designated hole \([ ]\). An important technical tool is the definition of an auxiliary reduction relation \(M \triangleright N\) which is Church-Rosser and moreover has the property that if \(\{M_1,\dots,M_n\}\) is a bar of \(M\) then \(M\triangleright M_1+\dots+M_n\) (Lemma 2.9). This, together with the inductive definition of \(\triangleright\) provides the following characterisation of convergence: if \(M\triangleright N\) and \(M{\Downarrow}\) then also \(N{\Downarrow}\) (Theorem 2.12). The second part (Section 3) is aimed at a type-theoretic characterisation of observational equivalence. To that end a type system with one base type \(\omega\) and three binary type formers \(\tau_1\rightarrow \tau_2\) (function space), \(\tau_1\wedge\tau_2\) (intersection type), and \(\tau_1\vee\tau_2\) (union type) is introduced. The subtyping relation on the set of types is the least partial ordering \(\leq\) such that \(\omega\) is the largest element, \(\wedge,\vee\) are binary meet and join, and \(\rightarrow\) is antitone in its first argument and monotone in its second argument. The type assignment system is fairly canonical. The rules governing the typing of the new constructs are as follows. Every term has type \(\omega\). The type formers \(\wedge\) and \(\vee\) are used to type parallel composition and nondeterministic choice, respectively. An eager abstraction \(\lambda v.M\) gets type \(\sigma{\rightarrow}\tau\) if \(M:\tau\) under \(v:\sigma_i\) for each \(\sigma_i\) appearing in a join-irreducible decomposition \(\sigma=\sigma_1\vee\dots\vee \sigma_n\). The authors argue that it is this latter rule which makes the main completeness result go through: \(M{\Downarrow}\) iff \(M:\omega\rightarrow\omega\) (Theorem 3.23 (\(\Rightarrow\)) and Corollary 5.6 (\(\Leftarrow\))). The \(\Leftarrow\)-direction is first proved for values by direct induction and then lifted to all terms by way of Lemma 2.9 and a subject expansion property for \(\triangleright\) (Theorem 3.22). The \(\Leftarrow\)-direction of completeness builds upon a semantic characterisation of typeability: \(M:\tau\) iff \(M\in[\tau]\) where \([-]\) is an interpretation of types in the lattice of those sets of terms which satisfy certain closure properties formulated in Lemma 5.4. Finally, in Section 5.3 things are put together to obtain the main result: \(M\simeq^{\mathcal O} N\) iff \(M:\tau\Leftrightarrow N:\tau\) for all types \(\tau\) (Theorem 5.11). In fact, following common practice a slightly more general preorder version is proved. Section 4, which probably should go after Section 5, relates the type-theoretic semantics to a domain-theoretic interpretation of the calculus in the least solution \(D\) in the category of prime algebraic lattices of the domain equation \(D={\mathcal P}^{\#}([D{\rightarrow}D]_{\bot})\) where \({\mathcal P}^{\#}\) is the upper or Smyth powerdomain functor. Section 6 as well as parts of the Introduction form a comprehensive discussion of related work. It emerges from this that, although extensions of Curry typing with intersection and union types have been around for a while, the connection with a concurrent language boasting both nondeterminism and parallelism is new. In the reviewers opinion the resulting system is surprisingly natural and makes a strong case for the type-theoretic approach in this context. Given the ongoing interest in extending functional programming languages with concurrency primitives, the paper is a timely contribution and well worth reading.

Country
Italy
Keywords

nondeterminism, Logic in computer science, parallelism, Theory of programming languages, Semantics in the theory of computing, functional programming, Modes of computation (nondeterministic, parallel, interactive, probabilistic, etc.), concurrency; full abstraction; functional programming; lambda-calculus; nondeterminism; parallelism, type-theoretic semantics, operational semantics, full abstraction, Combinatory logic and lambda calculus, concurrency, semantics of untyped lambda calculus, powerdomain, Logical aspects of lattices and related structures

  • BIP!
    Impact byBIP!
    selected citations
    These citations are derived from selected sources.
    This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    38
    popularity
    This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
    Average
    influence
    This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
    Top 10%
    impulse
    This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
    Top 10%
Powered by OpenAIRE graph
Found an issue? Give us feedback
selected citations
These citations are derived from selected sources.
This is an alternative to the "Influence" indicator, which also reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Citations provided by BIP!
popularity
This indicator reflects the "current" impact/attention (the "hype") of an article in the research community at large, based on the underlying citation network.
BIP!Popularity provided by BIP!
influence
This indicator reflects the overall/total impact of an article in the research community at large, based on the underlying citation network (diachronically).
BIP!Influence provided by BIP!
impulse
This indicator reflects the initial momentum of an article directly after its publication, based on the underlying citation network.
BIP!Impulse provided by BIP!
38
Average
Top 10%
Top 10%
Upload OA version
Are you the author of this publication? Upload your Open Access version to Zenodo!
It’s fast and easy, just two clicks!