Core Higher-Order Session Processes: Tractable Equivalences and Relative Expressiveness

This work proposes tractable bisimulations for the higher-order pi-calculus with session primitives (HOpi) and offers a complete study of the expressivity of its most significant subcalculi. First we develop three typed bisimulations, which are shown to coincide with contextual equivalence. These characterisations demonstrate that observing as inputs only a specific finite set of higher-order values (which inhabit session types) suffices to reason about HOp} processes. Next, we identify HO, a minimal, second-order subcalculus of HOpi in which higher-order applications/abstractions, name-passing, and recursion are absent. We show that HO can encode HOpi extended with higher-order applications and abstractions and that a first-order session pi-calculus can encode HOpi. Both encodings are fully abstract. We also prove that the session pi-calculus with passing of shared names cannot be encoded into HOpi without shared names. We show that HOpi, HO, and pi are equally expressive; the expressivity of HO enables effective reasoning about typed equivalences for higher-order processes.

[1]  Dimitrios Kouzapas,et al.  On Duality Relations for Session Types , 2014, TGC.

[2]  Bent Thomsen,et al.  Plain CHOCS A second generation calculus for higher order processes , 2005, Acta Informatica.

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

[4]  Romain Demangeon,et al.  Full Abstraction in a Subtyped pi-Calculus with Linear Types , 2011, CONCUR.

[5]  J. Girard,et al.  Proofs and types , 1989 .

[6]  D. Sangiorgi - calculus , internal mobility , and agent-passing calculi , 1995 .

[7]  Robin Milner,et al.  Functions as processes , 1990, Mathematical Structures in Computer Science.

[8]  Nobuko Yoshida,et al.  Session-Based Communication Optimisation for Higher-Order Mobile Processes , 2009, TLCA.

[9]  Frank D. Valencia,et al.  On the Asynchronous Nature of the Asynchronous pi-Calculus , 2008, Concurrency, Graphs and Models.

[10]  Robin Milner,et al.  Barbed Bisimulation , 1992, ICALP.

[11]  Nobuko Yoshida,et al.  On Reduction-Based Process Semantics , 1995, Theor. Comput. Sci..

[12]  Björn Victor,et al.  On the Expressiveness of Linearity vs Persistence in the Asychronous Pi-Calculus , 2006, 21st Annual IEEE Symposium on Logic in Computer Science (LICS'06).

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

[14]  Nobuko Yoshida,et al.  Two Session Typing Systems for Higher-Order Mobile Processes , 2007, TLCA.

[15]  Nobuko Yoshida,et al.  Session typing and asynchronous subtyping for the higher-order π-calculus , 2015, Inf. Comput..

[16]  Simon J. Gay,et al.  Subtyping for session types in the pi calculus , 2005, Acta Informatica.

[17]  Daniele Gorla Towards a unified approach to encodability and separation results for process calculi , 2010, Inf. Comput..

[18]  Nobuko Yoshida,et al.  Globally Governed Session Semantics , 2013, CONCUR.

[19]  Nobuko Yoshida,et al.  Linearity and Bisimulation , 2002, FoSSaCS.

[20]  Uwe Nestmann,et al.  On Distributability in Process Calculi , 2013, ESOP.

[21]  Matthew Hennessy,et al.  A Testing Theory for a Higher-Order Cryptographic Language - (Extended Abstract) , 2011, ESOP.

[22]  C.-H. Luke Ong,et al.  On Full Abstraction for PCF: I, II, and III , 2000, Inf. Comput..

[23]  Kohei Honda,et al.  Sequentiality and the π-Calculus , 2001 .

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

[25]  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.

[26]  Nobuko Yoshida,et al.  Genericity and the pi-Calculus , 2003, FoSSaCS.

[27]  Dimitrios Kouzapas,et al.  A study of bisimulation theory for session types , 2013 .

[28]  Yuxi Fu,et al.  On the expressiveness of interaction , 2010, Theor. Comput. Sci..

[29]  G. Erard Boudol Asynchrony and the -calculus (note) , 1992 .

[30]  Julian Rathke,et al.  Contextual equivalence for higher-order pi-calculus revisited , 2005, Log. Methods Comput. Sci..

[31]  Yuxi Fu,et al.  Variations on Mobile Processes , 1999, Theor. Comput. Sci..

[32]  Ivan Lanese,et al.  On the Expressiveness of Polyadic and Synchronous Communication in Higher-Order Process Calculi , 2010, ICALP.

[33]  Rob J. van Glabbeek,et al.  Musings on Encodings and Expressiveness , 2012, EXPRESS/SOS.

[34]  Davide Sangiorgi The Lazy Lambda Calculus in a Concurrency Scenario , 1994, Inf. Comput..

[35]  Vasco Thudichum Vasconcelos,et al.  Linear type theory for asynchronous session types , 2009, Journal of Functional Programming.

[36]  Jorge Andres Perez-Parra Higher-Order Concurrency: Expressiveness and Decidability Results , 2010 .

[37]  Davide Sangiorgi,et al.  Trees from Functions as Processes , 2014, CONCUR.

[38]  Davide Sangiorgi,et al.  Typing and subtyping for mobile processes , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[39]  Luca Padovani,et al.  Typing Copyless Message Passing , 2012, Log. Methods Comput. Sci..

[40]  Bent Thomsen,et al.  Calculi for higher order communicating systems , 1990 .

[41]  Joachim Parrow,et al.  Expressiveness of Process Algebras , 2008, LIX.

[42]  Nobuko Yoshida,et al.  On asynchronous eventful session semantics , 2016, Math. Struct. Comput. Sci..

[43]  Thomas T. Hildebrandt,et al.  A CPS encoding of name-passing in Higher-order mobile embedded resources , 2006, Theor. Comput. Sci..

[44]  Xian Xu Distinguishing and relating higher-order and first-order processes by expressiveness , 2012, Acta Informatica.

[45]  Davide Sangiorgi,et al.  Asynchronous process calculi: the first- and higher-order paradigms , 2001, Theor. Comput. Sci..

[46]  Jan Friso Groote,et al.  Confluence for Process Verification , 1995, Theor. Comput. Sci..

[47]  Davide Sangiorgi,et al.  Bisimulation for Higher-Order Process Calculi , 1994, Inf. Comput..

[48]  G.D. Plotkin,et al.  LCF Considered as a Programming Language , 1977, Theor. Comput. Sci..

[49]  Uwe Nestmann What is a "Good" Encoding of Guarded Choice? , 2000, Inf. Comput..

[50]  Nobuko Yoshida,et al.  Graph Types for Monadic Mobile Processes , 1996, FSTTCS.

[51]  Radha Jagadeesan,et al.  Full Abstraction for PCF , 1994, Inf. Comput..

[52]  Raheel Ahmad,et al.  The π-Calculus: A theory of mobile processes , 2008, Scalable Comput. Pract. Exp..

[53]  Matthew Hennessy,et al.  A distributed Pi-calculus , 2007 .

[54]  Davide Sangiorgi,et al.  Session types revisited , 2012, PPDP.

[55]  Robin Milner,et al.  Fully Abstract Models of Typed lambda-Calculi , 1977, Theor. Comput. Sci..

[56]  Matthew Hennessy,et al.  First-order reasoning for higher-order concurrency , 2012, Comput. Lang. Syst. Struct..

[57]  Davide Sangiorgi,et al.  Expressing mobility in process algebras : first-order and higher-order paradigms , 1993 .

[58]  Catuscia Palamidessi,et al.  Comparing the expressive power of the synchronous and asynchronous $pi$-calculi , 2003, Mathematical Structures in Computer Science.