In the simply-typed lambda-calculus we can recover the full range of expressiveness of the untyped lambda-calculus solely by adding a single recursive type U = U -> U. In contrast, in the session-typed pi-calculus, recursion alone is insufficient to recover the untyped pi-calculus, primarily due to linearity: each channel just has two unique endpoints. In this paper, we show that shared channels with a corresponding sharing semantics (based on the language SILL_S developed in prior work) are enough to embed the untyped asynchronous pi-calculus via a universal shared session type U_S. We show that our encoding of the asynchronous pi-calculus satisfies operational correspondence and preserves observable actions (i.e., processes are weakly bisimilar to their encoding). Moreover, we clarify the expressiveness of SILL_S by developing an operationally correct encoding of SILL_S in the asynchronous pi-calculus.
@InProceedings{balzer_et_al:LIPIcs.CONCUR.2018.30, author = {Balzer, Stephanie and Pfenning, Frank and Toninho, Bernardo}, title = {{A Universal Session Type for Untyped Asynchronous Communication}}, booktitle = {29th International Conference on Concurrency Theory (CONCUR 2018)}, pages = {30:1--30:18}, series = {Leibniz International Proceedings in Informatics (LIPIcs)}, ISBN = {978-3-95977-087-3}, ISSN = {1868-8969}, year = {2018}, volume = {118}, editor = {Schewe, Sven and Zhang, Lijun}, publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik}, address = {Dagstuhl, Germany}, URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.CONCUR.2018.30}, URN = {urn:nbn:de:0030-drops-95681}, doi = {10.4230/LIPIcs.CONCUR.2018.30}, annote = {Keywords: Session types, sharing, pi-calculus, bisimulation} }
Feedback for Dagstuhl Publishing