Hostname: page-component-78c5997874-8bhkd Total loading time: 0 Render date: 2024-11-15T17:34:11.076Z Has data issue: false hasContentIssue false

Linear logic propositions as session types

Published online by Cambridge University Press:  10 November 2014

LUÍS CAIRES
Affiliation:
Faculdade de Ciências e Tecnologia and CITI, Universidade Nova de Lisboa, Lisboa, Portugal Emails: btoninho@gmail.com and luis.caires@fct.unl.pt
FRANK PFENNING
Affiliation:
Computer Science Department, Carnegie Mellon University, Pittsburgh, PA, USA Email: fp@cs.cmu.edu
BERNARDO TONINHO
Affiliation:
Faculdade de Ciências e Tecnologia and CITI, Universidade Nova de Lisboa, Lisboa, Portugal Emails: btoninho@gmail.com and luis.caires@fct.unl.pt Computer Science Department, Carnegie Mellon University, Pittsburgh, PA, USA Email: fp@cs.cmu.edu

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.

Type
Paper
Copyright
Copyright © Cambridge University Press 2014 

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

References

Abramsky, S. (1993) Computational interpretations of linear logic. Theoretical Computer Science 111 (1–2) 357.Google Scholar
Andreoli, J.-M. (1992) Logic programming with focusing proofs in linear logic. Journal of Logic and Computation 2 (3) 197347.Google Scholar
Barber, A. (1997) Dual intuitionistic linear logic, Technical Report LFCS-96-347, University of Edinburgh.Google Scholar
Beffara, E. (2006) A concurrent model for linear logic. Electronic Notes in Theoretical Computer Science 155 147168.Google Scholar
Bellin, G. and Scott, P. (1994) On the π-calculus and linear logic. Theoretical Computer Science 135 1165.CrossRefGoogle Scholar
Bonelli, E., Compagnoni, A. and Gunter, E. L. (2005) Correspondence assertions for process synchronization in concurrent communications. Journal of Functional Programming 15 (2) 219247.Google Scholar
Boreale, M. (1998) On the expressiveness of internal mobility in name-passing calculi. Theoretical Computer Science 195 (2) 205226.Google Scholar
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.Google Scholar
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.Google Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
Cervesato, I. and Pfenning, F. (2002) A linear logical framework. Information and Computation 179 (1) 1975.Google Scholar
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.Google Scholar
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.Google Scholar
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.Google Scholar
Gay, S. and Hole, M. (2005) Subtyping for session types in the Pi calculus. Acta Informatica 42 (2–3) 191225.CrossRefGoogle Scholar
Girard, J.-Y. (1987) Linear logic. Theoretical Computer Science 50 1102.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
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.CrossRefGoogle Scholar
Honda, K. (1993) Types for dyadic interaction. In:4th International Conference on Concurrency Theory (CONCUR'93). Springer Lecture Notes in Computer Science 715 509523.CrossRefGoogle Scholar
Honda, K. and Laurent, O. (2010) An exact correspondence between a typed pi-calculus and polarised proof-nets. Theoretical Computer Science 411 22232238.Google Scholar
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.Google Scholar
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.Google Scholar
Kobayashi, N. (1998) A partially deadlock-free typed process calculus. ACM Transactions on Programming Languages and Systems 20 (2) 436482.Google Scholar
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.Google Scholar
Merro, M. and Sangiorgi, D. (2004) On asynchrony in name-passing calculi. Mathematical Structures in Computer Science 14 (5) 715767.CrossRefGoogle Scholar
Milner, R. (1992) Functions as processes. Mathematical Structures in Computer Science 2 (2) 119141.Google Scholar
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.Google Scholar
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.Google Scholar
Sangiorgi, D. (1996) Pi-calculus, internal mobility, and agent passing calculi. Theoretical Computer Science 167 (1–2) 235274.Google Scholar
Sangiorgi, D. and Walker, D. (2001) The π-Calculus: A Theory of Mobile Processes, Cambridge University Press.Google Scholar
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.Google Scholar
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.Google Scholar
Wadler, P. (2012) Propositions as sessions. In: Proceedings of the 17th International Conference on Functional Programming, ICFP'12 273–286.Google Scholar
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.CrossRefGoogle Scholar
Yoshida, N., Honda, K. and Berger, M. (2007) Linearity and bisimulation. Journal of Logic and Algebraic Programming 72 (2) 207238.CrossRefGoogle Scholar