Skip to main content
×
Home

Linear logic propositions as session types

  • LUÍS CAIRES (a1), FRANK PFENNING (a2) and BERNARDO TONINHO (a1) (a2)
Abstract

Throughout the years, several typing disciplines for the π-calculus have been proposed. Arguably, the most widespread of these typing disciplines consists of session types. Session types describe the input/output behaviour of processes and traditionally provide strong guarantees about this behaviour (i.e. deadlock-freedom and fidelity). While these systems exploit a fundamental notion of linearity, the precise connection between linear logic and session types has not been well understood.

This paper proposes a type system for the π-calculus that corresponds to a standard sequent calculus presentation of intuitionistic linear logic, interpreting linear propositions as session types and thus providing a purely logical account of all key features and properties of session types. We show the deep correspondence between linear logic and session types by exhibiting a tight operational correspondence between cut-elimination steps and process reductions. We also discuss an alternative presentation of linear session types based on classical linear logic, and compare our development with other more traditional session type systems.

Copyright
References
Hide All
Abramsky S. (1993) Computational interpretations of linear logic. Theoretical Computer Science 111 (1–2) 357.
Andreoli J.-M. (1992) Logic programming with focusing proofs in linear logic. Journal of Logic and Computation 2 (3) 197347.
Barber A. (1997) Dual intuitionistic linear logic, Technical Report LFCS-96-347, University of Edinburgh.
Beffara E. (2006) A concurrent model for linear logic. Electronic Notes in Theoretical Computer Science 155 147168.
Bellin G. and Scott P. (1994) On the π-calculus and linear logic. Theoretical Computer Science 135 1165.
Bonelli E., Compagnoni A. and Gunter E. L. (2005) Correspondence assertions for process synchronization in concurrent communications. Journal of Functional Programming 15 (2) 219247.
Boreale M. (1998) On the expressiveness of internal mobility in name-passing calculi. Theoretical Computer Science 195 (2) 205226.
Caires L. (2007) Logical semantics of types for concurrency. In: Proceedings of the International Conference on Algebra and Coalgebra in Computer Science (CALCO'07). Springer Lecture Notes in Computer Science 4624 1635.
Caires L., Pérez J. A., Pfenning F. and Toninho B. (2012) Relational parametricity for polymorphic session types, Technical Report CMU-CS-12-108, Carnegie Mellon University.
Caires L. and Pfenning F. (2010) Session types as intuitionistic linear propositions. In: Proceedings of the 21st International Conference on Concurrency Theory, CONCUR'10. Springer Lecture Notes in Computer Science 6269 222236.
Carbone M. and Debois S. (2010) A graphical approach to progress for structured communication in web services. In: Proceedings of the 3rd Interaction and Concurrency Experience: Guaranteed Interaction (ICE'10). Electronic Proceedings in Theoretical Computer Science 38 1327.
Cervesato I. and Pfenning F. (2002) A linear logical framework. Information and Computation 179 (1) 1975.
Chang B.-Y. E., Chaudhuri K. and Pfenning F. (2003) A judgmental analysis of linear logic, Technical Report CMU-CS-03-131R, Carnegie Mellon University.
Dezani-Ciancaglini M. and de' Liguoro U. (2010) Sessions and session types: An overview. In: 6th International Workshop on Web Services and Formal Methods (WS-FM'09). Springer-Verlag Lecture Notes in Computer Science 6194 128.
Dezani-Ciancaglini M., de' Liguoro U. and Yoshida N. (2008) On progress for structured communications. In: Proceedings of the 3th Symposium Trustworthy Global Computing (TGC'07). Springer Lecture Notes in Computer Science 4912 257275.
Gay S. and Hole M. (2005) Subtyping for session types in the Pi calculus. Acta Informatica 42 (2–3) 191225.
Girard J.-Y. (1987) Linear logic. Theoretical Computer Science 50 1102.
Girard J.-Y. and Lafont Y. (1987) Linear logic and lazy computation. In: Theory and Practice of Software Development (TAPSOFT'87). Springer Lecture Notes in Computer Science 250 5266.
Giunti M. and Vasconcelos V. T. (2010) A linear account of session types in the Pi-calculus. In: Proceedings of the 21st International Conference on Concurrency Theorym (CONCUR'10). Springer Lecture Notes in Computer Science 6269 432446.
Honda K. (1993) Types for dyadic interaction. In:4th International Conference on Concurrency Theory (CONCUR'93). Springer Lecture Notes in Computer Science 715 509523.
Honda K. and Laurent O. (2010) An exact correspondence between a typed pi-calculus and polarised proof-nets. Theoretical Computer Science 411 22232238.
Honda K., Vasconcelos V. T. and Kubo M. (1998) Language primitives and type discipline for structured communication-based programming. In: European Symposium on Programming (ESOP'98). Springer Lecture Notes in Computer Science 1381 122138.
Hyland J. M. E. and Ong C.-H. L. (1995) Pi-calculus, dialogue games and PCF. In: WG2.8 Conference on Functional Programming Languages 96–107.
Kobayashi N. (1998) A partially deadlock-free typed process calculus. ACM Transactions on Programming Languages and Systems 20 (2) 436482.
Kobayashi N., Pierce B. C. and Turner D. N. (1996) Linearity and the pi-calculus. In: 23rd Symposium on Principles of Programming Languages (POPL'96), ACM 358371.
Merro M. and Sangiorgi D. (2004) On asynchrony in name-passing calculi. Mathematical Structures in Computer Science 14 (5) 715767.
Milner R. (1992) Functions as processes. Mathematical Structures in Computer Science 2 (2) 119141.
Pérez J. A., Caires L., Pfenning F. and Toninho B. (2012) Termination in session-based concurrency via linear logical relations. In: 22nd European Symposium on Programming (ESOP'12) 539–558.
Pfenning F., Caires L. and Toninho B. (2011) Proof-carrying code in a session-typed process calculus. Certified Programs and Proofs (CPP'11) 21–36.
Sangiorgi D. (1996) Pi-calculus, internal mobility, and agent passing calculi. Theoretical Computer Science 167 (1–2) 235274.
Sangiorgi D. and Walker D. (2001) The π-Calculus: A Theory of Mobile Processes, Cambridge University Press.
Toninho B., Caires L. and Pfenning F. (2011) Dependent session types via intuitionistic linear type theory. In: Principles and Practice of Declarative Programming (PPDP'11), 161–172.
Toninho B., Caires L. and Pfenning F. (2012) Functions as session-typed processes. In: 15th International Conference on Foundations of Software Science and Computation Structures (FoSSaCS'12) 346–360.
Wadler P. (2012) Propositions as sessions. In: Proceedings of the 17th International Conference on Functional Programming, ICFP'12 273–286.
Watkins K., Cervesato I., Pfenning F. and Walker D. (2004) Specifying properties of concurrent computations in CLF. In: Schürmann C. (ed.) 4th International Workshop on Logical Frameworks and Meta-Languages (LFM'04). Electronic Notes in Theoretical Computer Science 199 6787.
Yoshida N., Honda K. and Berger M. (2007) Linearity and bisimulation. Journal of Logic and Algebraic Programming 72 (2) 207238.
Recommend this journal

Email your librarian or administrator to recommend adding this journal to your organisation's collection.

Mathematical Structures in Computer Science
  • ISSN: 0960-1295
  • EISSN: 1469-8072
  • URL: /core/journals/mathematical-structures-in-computer-science
Please enter your name
Please enter a valid email address
Who would you like to send this to? *
×

Metrics

Full text views

Total number of HTML views: 0
Total number of PDF views: 29 *
Loading metrics...

Abstract views

Total abstract views: 295 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 11th December 2017. This data will be updated every 24 hours.