Coherence Generalises Duality: A Logical Explanation of Multiparty Session Types

Marco Carbone, Sam Lindley, Fabrizio Montesi, Carsten Schürmann, Philip Wadler, Marc Herbstritt
2016 International Conference on Concurrency Theory  
Wadler introduced Classical Processes (CP), a calculus based on a propositions-as-types correspondence between propositions of classical linear logic and session types. Carbone et al. introduced Multiparty Classical Processes, a calculus that generalises CP to multiparty session types, by replacing the duality of classical linear logic (relating two types) with a more general notion of coherence (relating an arbitrary number of types). This paper introduces variants of CP and MCP, plus a new
more » ... ermediate calculus of Globally-governed Classical Processes (GCP). We show a tight relation between these three calculi, giving semantics-preserving translations from GCP to CP and from MCP to GCP. The translation from GCP to CP interprets a coherence proof as an arbiter process that mediates communications in a session, while MCP adds annotations that permit processes to communicate directly without centralised control. ACM Subject Classification F1.2 Modes of Computation: Parallelism and concurrency; F4.1 Mathematical logic: Proof theory Session types, introduced by Honda, Vasconcelos, and Kubo [11, 20] , are protocols that describe valid communication patterns in process calculi. A correspondence between process calculi and classical linear logic was found by Abramsky [1] and Bellin and Scott [3] , and another between session types and intuitionistic linear logic by Caires and Pfenning [6, 7] , in both of which channel types correspond to propositions of linear logic, processes to proofs, and communication to proof normalisation. Based on these, Wadler [22] introduced Classical Processes (CP), in which session types correspond to propositions of classical linear logic, processes to proofs, and communication to cut elimination. Key properties of session types such as deadlock freedom follow from key properties of linear logic such as cut elimination. Last year, Carbone et al. [9] introduced Multiparty Classical Processes (MCP), which extends CP to the multiparty session types introduced by Honda, Yoshida, and Carbone [12] . In CP duality is defined between two propositions, whereas in MCP duality is replaced by coherence among multiple propositions. Coherence relates a global type (a description of a multiparty protocol) to many local types (the behaviours of each participant in a session). MCP came at a cost as compared to CP. First, MCP required annotating logical connectives with roles, and it was unclear how such annotations related to classical linear logic. Second, MCP omitted the axiom and atomic and quantified propositions, losing support for parametric polymorphism. Third, MCP inverted the usual interpretation of connectives
doi:10.4230/lipics.concur.2016.33 dblp:conf/concur/CarboneLMSW16 fatcat:zerl5u2qx5fv3kdiw2ldtlnnue