Propositions as sessions

Continuing a line of work by Abramsky (1994), by Bellin and Scott (1994), and by Caires and Pfenning (2010), among others, this paper presents CP, a calculus in which propositions of classical linear logic correspond to session types. Continuing a line of work by Honda (1993), by Honda, Kubo, and Vasconcelos (1998), and by Gay and Vasconcelos (2010), among others, this paper presents GV, a linear functional language with session types, and presents a translation from GV into CP. The translation formalises for the first time a connection between a standard presentation of session types and linear logic, and shows how a modification to the standard presentation yield a language free from deadlock, where deadlock freedom follows from the correspondence to linear logic.

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

[2]  Bernardo Toninho,et al.  Functions as Session-Typed Processes , 2012, FoSSaCS.

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

[4]  Akinori Yonezawa,et al.  Asynchronous communication model based on linear logic , 1992, Formal Aspects of Computing.

[5]  Hugo Herbelin,et al.  On the Degeneracy of Sigma-Types in Presence of Computational Classical Logic , 2005, TLCA.

[6]  Andrew M. Pitts,et al.  Structural recursion with locally scoped names , 2011, J. Funct. Program..

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

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

[9]  Samson Abramsky,et al.  Computational Interpretations of Linear Logic , 1993, Theor. Comput. Sci..

[10]  Bernardo Toninho,et al.  Towards concurrent type theory , 2012, TLDI '12.

[11]  Søren Debois,et al.  A Graphical Approach to Progress for Structured Communication in Web Services , 2010, ICE.

[12]  Nobuko Yoshida,et al.  Genericity and the π-calculus , 2005, Acta Informatica.

[13]  Rajagopal Nagarajan,et al.  Interaction categories and the foundations of typed concurrent programming , 1996, NATO ASI DPD.

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

[15]  Philip Wadler Propositions as sessions , 2012, ICFP '12.

[16]  Naoki Kobayashi,et al.  Type Systems for Concurrent Programs , 2002, 10th Anniversary Colloquium of UNU/IIST.

[17]  Kohei Honda,et al.  An Interaction-based Language and its Typing System , 1994, PARLE.

[18]  Bernardo Toninho,et al.  Termination in Session-Based Concurrency via Linear Logical Relations (Extended Version) , 2011 .

[19]  Akinori Yonezawa,et al.  Higher-Order Concurrent Linear Logic Programming , 1994, Theory and Practice of Parallel Programming.

[20]  David N. Turner,et al.  The polymorphic Pi-calculus : theory and implementation , 1996 .

[21]  Davide Sangiorgi,et al.  Behavioral equivalence in the polymorphic pi-calculus , 2000, JACM.

[22]  Robin Milner,et al.  A Calculus of Mobile Processes, II , 1992, Inf. Comput..

[23]  Kohei Honda,et al.  Types for Dyadic Interaction , 1993, CONCUR.

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

[25]  Dale Miller The pi-Calculus as a Theory in Linear Logic: Preliminary Results , 1992, ELP.

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

[27]  Nobuko Yoshida,et al.  Language Primitives and Type Discipline for Structured Communication-Based Programming Revisited: Two Systems for Higher-Order Session Communication , 2007, Electron. Notes Theor. Comput. Sci..

[28]  J. Gallier On Girard's "Candidats de Reductibilité" , 1989 .

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

[30]  Jean-Yves Girard,et al.  A new constructive logic: classic logic , 1991, Mathematical Structures in Computer Science.

[31]  Benjamin C. Pierce,et al.  Pict: a programming language based on the Pi-Calculus , 2000, Proof, Language, and Interaction.

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

[33]  Philip Wadler,et al.  Linear logic, monads and the lambda calculus , 1996, Proceedings 11th Annual IEEE Symposium on Logic in Computer Science.

[34]  Naoki Kobayashi,et al.  A Generalized Deadlock-Free Process Calculus , 1998, Electron. Notes Theor. Comput. Sci..

[35]  James R. Larus,et al.  Language support for fast and reliable message-based communication in singularity OS , 2006, EuroSys.

[36]  Bernardo Toninho,et al.  Linear Logical Relations for Session-Based Concurrency , 2012, ESOP.

[37]  Bernardo Toninho,et al.  Linear logic propositions as session types , 2016, Math. Struct. Comput. Sci..

[38]  Steve Zdancewic,et al.  Lolliproc: to concurrency from classical linear logic via curry-howard and control , 2010, ICFP '10.

[39]  Vasco Thudichum Vasconcelos Sessions, from Types to Programming Languages , 2011, Bull. EATCS.

[40]  Akinori Yonezawa,et al.  ACL - A Concurrent Linear Logic Programming Paradigm , 1993, ILPS.

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

[42]  Bernardo Toninho,et al.  Proof-Carrying Code in a Session-Typed Process Calculus , 2011, CPP.