Better late than never: a fully-abstract semantics for classical processes

We present Hypersequent Classical Processes (HCP), a revised interpretation of the “Proofs as Processes” correspondence between linear logic and the π-calculus initially proposed by Abramsky [1994], and later developed by Bellin and Scott [1994], Caires and Pfenning [2010], and Wadler [2014], among others. HCP mends the discrepancies between linear logic and the syntax and observable semantics of parallel composition in the π-calculus, by conservatively extending linear logic to hyperenvironments (collections of environments, inspired by the hypersequents by Avron [1991]). Separation of environments in hyperenvironments is internalised by ⊗ and corresponds to parallel process behaviour. Thanks to this property, for the first time we are able to extract a labelled transition system (lts) semantics from proof rewritings. Leveraging the information on parallelism at the level of types, we obtain a logical reconstruction of the delayed actions that Merro and Sangiorgi [2004] formulated to model non-blocking I/O in the π-calculus. We define a denotational semantics for processes based on Brzozowski derivatives, and uncover that non-interference in HCP corresponds to Fubini’s theorem of double antiderivation. Having an lts allows us to validate HCP using the standard toolbox of behavioural theory. We instantiate bisimilarity and barbed congruence for HCP, and obtain a full abstraction result: bisimilarity, denotational equivalence, and barbed congruence coincide.

[1]  Michael Barr,et al.  *-Autonomous categories and linear logic , 1991, Mathematical Structures in Computer Science.

[2]  Nobuko Yoshida,et al.  Multiparty session types as coherence proofs , 2015, Acta Informatica.

[3]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[4]  Marino Miculan,et al.  Behavioural equivalences for coalgebras with unobservable moves , 2014, J. Log. Algebraic Methods Program..

[5]  Davide Sangiorgi,et al.  The Pi-Calculus - a theory of mobile processes , 2001 .

[6]  Patrick Lincoln,et al.  Linear logic , 1992, SIGA.

[7]  Jurriaan Rot,et al.  Proving language inclusion and equivalence by coinduction , 2013, Inf. Comput..

[8]  Robert Atkey,et al.  Observed Communication Semantics for Classical Processes , 2017, ESOP.

[9]  James H. Morris,et al.  Lambda-calculus models of programming languages. , 1969 .

[10]  Alexandra Silva,et al.  Algebra-coalgebra duality in brzozowski's minimization algorithm , 2014, ACM Trans. Comput. Log..

[11]  Vasco Thudichum Vasconcelos,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 1998, SecReT@ICALP.

[12]  Samson Abramsky,et al.  Proofs as Processes , 1992, Theor. Comput. Sci..

[13]  Sam Lindley,et al.  Talking bananas: structural recursion for session types , 2016, ICFP.

[14]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[15]  Bernardo Toninho,et al.  Linear logical relations and observational equivalences for session-based concurrency , 2014, Inf. Comput..

[16]  Davide Sangiorgi,et al.  From pi-Calculus to Higher-Order pi-Calculus - and Back , 1993, TAPSOFT.

[17]  Nobuko Yoshida,et al.  Characteristic bisimulation for higher-order session processes , 2016, Acta Informatica.

[18]  Philip Wadler Propositions as sessions , 2014, J. Funct. Program..

[19]  Davide Sangiorgi,et al.  On asynchrony in name-passing calculi , 1998, Mathematical Structures in Computer Science.

[20]  Vasco Thudichum Vasconcelos,et al.  Fundamentals of session types , 2009, Inf. Comput..

[21]  Nobuko Yoshida,et al.  Linearity and bisimulation , 2007, J. Log. Algebraic Methods Program..

[22]  Luís Caires,et al.  Linearity, Control Effects, and Behavioral Types , 2017, ESOP.

[23]  Philip Wadler,et al.  Coherence Generalises Duality: A Logical Explanation of Multiparty Session Types , 2016, CONCUR.

[24]  Frank Pfenning,et al.  Session Types as Intuitionistic Linear Propositions , 2010, CONCUR.

[25]  Benjamin C. Pierce,et al.  Linearity and the pi-calculus , 1999, TOPL.

[26]  Michael Barr ∗-Autonomous categories, revisited☆ , 1996 .

[27]  Bernardo Toninho,et al.  Higher-Order Processes, Functions, and Sessions: A Monadic Integration , 2013, ESOP.

[28]  Davide Sangiorgi pi-Calculus, Internal Mobility, and Agent-Passing Calculi , 1996, Theor. Comput. Sci..

[29]  Nobuko Yoshida,et al.  Multiparty asynchronous session types , 2008, POPL '08.

[30]  Fabrizio Montesi Classical Higher-Order Processes , 2018, ArXiv.

[31]  Arnon Avron,et al.  Hypersequents, logical consequence and intermediate logics for concurrency , 1991, Annals of Mathematics and Artificial Intelligence.

[32]  Robert Atkey,et al.  Conflation Confers Concurrency , 2016, A List of Successes That Can Change the World.

[33]  Bernardo Toninho,et al.  Cut Reduction in Linear Logic as Asynchronous Session-Typed Communication , 2012, CSL.

[34]  Gianluigi Bellin,et al.  On the pi-Calculus and Linear Logic , 1992, Theor. Comput. Sci..

[35]  Janusz A. Brzozowski,et al.  Derivatives of Regular Expressions , 1964, JACM.

[36]  Davide Sangiorgi,et al.  Environmental Bisimulations for Higher-Order Languages , 2007, 22nd Annual IEEE Symposium on Logic in Computer Science (LICS 2007).

[37]  Ornela Dardha,et al.  A New Linear Logic for Deadlock-Free Session-Typed Processes , 2018, FoSSaCS.