Lambda-calculi for (strict) parallel functions (Q1314269)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | Lambda-calculi for (strict) parallel functions |
scientific article |
Statements
Lambda-calculi for (strict) parallel functions (English)
0 references
26 September 1994
0 references
The main purpose of the paper is to solve the full abstraction problem between (versions of) lazy pure \(\lambda\)-calculus and two canonical domains of parallel (= continuous) functions. The lazy \(\lambda\)-calculus evaluates \(\lambda\)-terms to abstractions, by means of the call-by-name (i.e. left or head) strategy; it was shown by Abramsky and Ong that the initial solution of the domain equation \(D\simeq[D\to D]_ \perp\), which expresses that \(D\) is isomorphic to the lifted space of its continuous functions, is fully abstract for this calculus if some parallel convergence testing combinator is added to the language [\textit{S. Abramsky} and \textit{C.-H. L. Ong}, Inf. Comput. 105, No. 2, 159-267 (1993; Zbl 0779.03003)]. The point of view here is to add computational methods (call-by-value and parallel computation), rather than ad hoc combinators and rules. It is shown that Abramsky and Ong's domain is also fully abstract with respect to these new evaluation mechanisms, and that it is still true for the initial solution of \(D\simeq [D\to_{ \perp} D]_ \perp\), where \([D\to_{ \perp} D]\) refers to strict continuous functions, when call- by-name is disallowed. The proofs follow Abramsky and Ong's pattern, namely: dualize each domain into a type assignment system, define a realizability interpretation, and show that realizability, typeability, and standard interpretability are all equivalent; the full abstraction follows from both the fact that the models are nearly extensional and that all their finite elements are definable (using the join operator, which models parallelism). The paper is self-contained and section 1 is a very good introduction to the general problem of full abstraction in pure \(\lambda\)-calculus and to the links with Abramsky and Ong's paper. Very much related is a paper of \textit{L. Egidi}, \textit{F. Honsell} and \textit{S. Ronchi della Rocca} [Ann. Soc. Math. Pol., Ser. IV, Fundam. Inf. 16, No. 2, 149-169 (1992; Zbl 0762.68042)], where the second of the domains above is studied with respect to the Plotkin call-by-value calculus (where variables are allowed as values) and the SECD reduction strategy.
0 references
parallel lambda-calculus
0 references
lazy \(\lambda\)-calculus
0 references
domains of parallel functions
0 references
call-by-value
0 references
full abstraction
0 references
continuous functions
0 references
parallel computation
0 references
type assignment
0 references
realizability interpretation
0 references