Skip to main content
×
Home
    • Aa
    • Aa

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
AbramskyS. (1993) Computational interpretations of linear logic. Theoretical Computer Science 111 (1–2) 357.
AndreoliJ.-M. (1992) Logic programming with focusing proofs in linear logic. Journal of Logic and Computation 2 (3) 197347.
BarberA. (1997) Dual intuitionistic linear logic, Technical Report LFCS-96-347, University of Edinburgh.
BeffaraE. (2006) A concurrent model for linear logic. Electronic Notes in Theoretical Computer Science 155 147168.
BellinG. and ScottP. (1994) On the π-calculus and linear logic. Theoretical Computer Science 135 1165.
BonelliE., CompagnoniA. and GunterE. L. (2005) Correspondence assertions for process synchronization in concurrent communications. Journal of Functional Programming 15 (2) 219247.
BorealeM. (1998) On the expressiveness of internal mobility in name-passing calculi. Theoretical Computer Science 195 (2) 205226.
CairesL. (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.
CairesL., PérezJ. A., PfenningF. and ToninhoB. (2012) Relational parametricity for polymorphic session types, Technical Report CMU-CS-12-108, Carnegie Mellon University.
CairesL. and PfenningF. (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.
CarboneM. and DeboisS. (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.
CervesatoI. and PfenningF. (2002) A linear logical framework. Information and Computation 179 (1) 1975.
ChangB.-Y. E., ChaudhuriK. and PfenningF. (2003) A judgmental analysis of linear logic, Technical Report CMU-CS-03-131R, Carnegie Mellon University.
Dezani-CiancagliniM. and de' LiguoroU. (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-CiancagliniM., de' LiguoroU. and YoshidaN. (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.
GayS. and HoleM. (2005) Subtyping for session types in the Pi calculus. Acta Informatica 42 (2–3) 191225.
GirardJ.-Y. (1987) Linear logic. Theoretical Computer Science 50 1102.
GirardJ.-Y. and LafontY. (1987) Linear logic and lazy computation. In: Theory and Practice of Software Development (TAPSOFT'87). Springer Lecture Notes in Computer Science 250 5266.
GiuntiM. and VasconcelosV. 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.
HondaK. (1993) Types for dyadic interaction. In:4th International Conference on Concurrency Theory (CONCUR'93). Springer Lecture Notes in Computer Science 715 509523.
HondaK. and LaurentO. (2010) An exact correspondence between a typed pi-calculus and polarised proof-nets. Theoretical Computer Science 411 22232238.
HondaK., VasconcelosV. T. and KuboM. (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.
HylandJ. M. E. and OngC.-H. L. (1995) Pi-calculus, dialogue games and PCF. In: WG2.8 Conference on Functional Programming Languages 96–107.
KobayashiN. (1998) A partially deadlock-free typed process calculus. ACM Transactions on Programming Languages and Systems 20 (2) 436482.
KobayashiN., PierceB. C. and TurnerD. N. (1996) Linearity and the pi-calculus. In: 23rd Symposium on Principles of Programming Languages (POPL'96), ACM 358371.
MerroM. and SangiorgiD. (2004) On asynchrony in name-passing calculi. Mathematical Structures in Computer Science 14 (5) 715767.
MilnerR. (1992) Functions as processes. Mathematical Structures in Computer Science 2 (2) 119141.
PérezJ. A., CairesL., PfenningF. and ToninhoB. (2012) Termination in session-based concurrency via linear logical relations. In: 22nd European Symposium on Programming (ESOP'12) 539–558.
PfenningF., CairesL. and ToninhoB. (2011) Proof-carrying code in a session-typed process calculus. Certified Programs and Proofs (CPP'11) 21–36.
SangiorgiD. (1996) Pi-calculus, internal mobility, and agent passing calculi. Theoretical Computer Science 167 (1–2) 235274.
SangiorgiD. and WalkerD. (2001) The π-Calculus: A Theory of Mobile Processes, Cambridge University Press.
ToninhoB., CairesL. and PfenningF. (2011) Dependent session types via intuitionistic linear type theory. In: Principles and Practice of Declarative Programming (PPDP'11), 161–172.
ToninhoB., CairesL. and PfenningF. (2012) Functions as session-typed processes. In: 15th International Conference on Foundations of Software Science and Computation Structures (FoSSaCS'12) 346–360.
WadlerP. (2012) Propositions as sessions. In: Proceedings of the 17th International Conference on Functional Programming, ICFP'12 273–286.
WatkinsK., CervesatoI., PfenningF. and WalkerD. (2004) Specifying properties of concurrent computations in CLF. In: SchürmannC. (ed.) 4th International Workshop on Logical Frameworks and Meta-Languages (LFM'04). Electronic Notes in Theoretical Computer Science 199 6787.
YoshidaN., HondaK. and BergerM. (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: 22 *
Loading metrics...

Abstract views

Total abstract views: 260 *
Loading metrics...

* Views captured on Cambridge Core between September 2016 - 21st October 2017. This data will be updated every 24 hours.