Publication details

Saarland University Computer Science

On Proving the Equivalence of Concurrency Primitives

Jan Schwinghammer, David Sabel, Joachim Niehren, Manfred Schmidt-Schauß

Technical Report, Research group for Artificial Intelligence and Software Technology, Goethe Universität Frankfurt, Germany, 2008

Various concurrency primitives have been added to sequential programming languages, in order to turn them concurrent. Prominent examples are concurrent buffers for Haskell, channels in Concurrent ML, joins in JoCaml, and handled futures in Alice ML. Even though one might conjecture that all these primitives provide the same expressiveness, proving this equivalence is an open challenge in the area of program semantics. In this paper, we establish a first instance of this conjecture. We show that concurrent buffers can be encoded in the lambda calculus with futures underlying Alice ML. Our correctness proof results from a systematic method, based on observational semantics with respect to may and must convergence.

Download PDF        Show BibTeX               


Login to edit


Webmaster, Wed Sep 16 10:47:00 2009