Abstract
We introduce coexponentials, a new set of modalities for Classical Linear Logic. As duals to exponentials, the coexponentials codify a distributed form of the structural rules of weakening and contraction. This makes them a suitable logical device for encapsulating the pattern of a server receiving requests from an arbitrary number of clients on a single channel. Guided by this intuition we formulate a system of session types based on Classical Linear Logic with coexponentials, which is suited to modelling client-server interactions. We also present a session-typed functional programming language for client-server programming, which we translate to our system of coexponentials.
Supplemental Material
- Samson Abramsky. 1993. Computational interpretations of linear logic. Theoretical Computer Science, 111, 1-2 (1993), 3–57. issn:03043975 https://doi.org/10.1016/0304-3975(93)90181-R ISBN: 0304-3975. Google Scholar
Digital Library
- Samson Abramsky. 1993. Interaction categories. In Theory and Formal Methods 1993. Springer, 57–69. https://doi.org/10.1007/978-1-4471-3503-6_5 Google Scholar
Cross Ref
- Samson Abramsky. 1994. Proofs as processes. Theoretical Computer Science, 135, 1 (1994), 5–9. https://doi.org/10.1016/0304-3975(94)00103-0 Google Scholar
Digital Library
- Samson Abramsky, Simon J Gay, and Rajagopal Nagarajan. 1996. Interaction categories and the foundations of typed concurrent programming. In Deductive Program Design, Manfred Broy (Ed.) (Nato ASI Subseries F). Springer-Verlag Berlin Heidelberg, 35–113. isbn:3-540-60947-4 http://www.springer.com/us/book/9783540609476Google Scholar
- Samson Abramsky and Radha Jagadeesan. 1994. Games and Full Completeness for Multiplicative Linear Logic. The Journal of Symbolic Logic, 59, 2 (1994), 543. issn:00224812 https://doi.org/10.2307/2275407 arxiv:1311.6057. Google Scholar
Digital Library
- Umut A Acar. 2016. Parallel Computing: Theory and Practice. http://www.cs.cmu.edu/afs/cs/academic/class/15210-f15/www/tapp.htmlGoogle Scholar
- Federico Aschieri and Francesco A. Genco. 2019. Par Means Parallel: Multiplicative Linear Logic Proofs as Concurrent Functional Programs. Proc. ACM Program. Lang., 4, POPL (2019), Article 18, Dec., 28 pages. https://doi.org/10.1145/3371086 Google Scholar
Digital Library
- Robert Atkey. 2017. Observed communication semantics for classical processes. In European Symposium on Programming. 56–82. https://doi.org/10.1007/978-3-662-54434-1_3 Google Scholar
Digital Library
- Robert Atkey, Sam Lindley, and J. Garrett Morris. 2016. Conflation Confers Concurrency. In A List of Successes That Can Change the World, Sam Lindley, Conor McBride, Phil Trinder, and Don Sannella (Eds.) (Lecture Notes in Computer Science, Vol. 9600). Springer International Publishing, 32–55. isbn:978-3-319-30935-4 https://doi.org/10.1007/978-3-319-30936-1_2 Google Scholar
Cross Ref
- Arnon Avron. 1991. Hypersequents, logical consequence and intermediate logics for concurrency. Annals of Mathematics and Artificial Intelligence, 4, 3-4 (1991), 225–248. https://doi.org/10.1007/BF01531058 Google Scholar
Cross Ref
- David Baelde. 2012. Least and greatest fixed points in linear logic. ACM Transactions on Computational Logic, 13, 1 (2012), 1–44. https://doi.org/10.1145/2071368.2071370 Google Scholar
Digital Library
- Stephanie Balzer and Frank Pfenning. 2017. Manifest sharing with session types. Proceedings of the ACM on Programming Languages, 1, ICFP (2017), 1–29. https://doi.org/10.1145/3110281 Google Scholar
Digital Library
- Stephanie Balzer, Bernardo Toninho, and Frank Pfenning. 2019. Manifest Deadlock-Freedom for Shared Session Types. In Programming Languages and Systems, Luís Caires (Ed.). 11423, Springer International Publishing, Cham. 611–639. https://doi.org/10.1007/978-3-030-17184-1_22 Google Scholar
Cross Ref
- Michael Barr. 1991. ∗ -Autonomous categories and linear logic. Mathematical Structures in Computer Science, 1, 2 (1991), 159–178. issn:14698072 https://doi.org/10.1017/S0960129500001274 Google Scholar
Cross Ref
- Gianluigi Bellin. 1997. Subnets of proof-nets in multiplicative linear logic with MIX. Mathematical Structures in Computer Science, 7, 6 (1997), 663–669. https://doi.org/10.1017/S0960129597002326 Google Scholar
Cross Ref
- G. Bellin and P. J. Scott. 1994. On the π -calculus and linear logic. Theoretical Computer Science, 135, 1 (1994), 11–65. issn:03043975 https://doi.org/10.1016/0304-3975(94)00104-9 Google Scholar
Digital Library
- N Benton and P Wadler. 1996. Linear logic, monads and the lambda calculus. In Proceedings 11th Annual IEEE Symposium on Logic in Computer Science. IEEE. https://doi.org/10.1109/LICS.1996.561458 Google Scholar
Cross Ref
- Robert D. Blumofe, Christopher F. Joerg, Bradley C. Kuszmaul, Charles E. Leiserson, Keith H. Randall, and Yuli Zhou. 1995. Cilk: An Efficient Multithreaded Runtime System. In Proceedings of the Fifth ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming (PPOPP ’95). Association for Computing Machinery, New York, NY, USA. 207–216. isbn:0897917006 https://doi.org/10.1145/209936.209958 Google Scholar
Digital Library
- Luís Caires and Jorge A. Pérez. 2017. Linearity, Control Effects, and Behavioral Types. In Programming Languages and Systems. ESOP 2017, Hongseok Yang (Ed.). Springer Berlin Heidelberg, Berlin, Heidelberg. 229–259. isbn:978-3-662-54434-1 https://doi.org/10.1007/978-3-662-54434-1_9 Google Scholar
Digital Library
- Luís Caires and Frank Pfenning. 2010. Session Types as Intuitionistic Linear Propositions. In Proceedings of the 21st International Conference on Concurrency Theory (CONCUR’10). Springer-Verlag, Berlin, Heidelberg. 222–236. isbn:3642153747 https://doi.org/10.5555/1887654.1887670Google Scholar
Digital Library
- Luís Caires, Frank Pfenning, and Bernardo Toninho. 2016. Linear logic propositions as session types. Mathematical Structures in Computer Science, 26, 3 (2016), 367–423. issn:0960-1295, 1469-8072 https://doi.org/10.1017/S0960129514000218 Google Scholar
Cross Ref
- Marco Carbone, Sam Lindley, Fabrizio Montesi, Carsten Schürmann, and Philip Wadler. 2016. Coherence Generalises Duality: A Logical Explanation of Multiparty Session Types. In 27th International Conference on Concurrency Theory (CONCUR 2016), Josée Desharnais and Radha Jagadeesan (Eds.) (Leibniz International Proceedings in Informatics (LIPIcs), Vol. 59). Schloss Dagstuhl–Leibniz-Zentrum fuer Informatik, Dagstuhl, Germany. 33:1–33:15. isbn:978-3-95977-017-0 issn:1868-8969 https://doi.org/10.4230/LIPIcs.CONCUR.2016.33 Google Scholar
Cross Ref
- Marco Carbone, Fabrizio Montesi, Carsten Schürmann, and Nobuko Yoshida. 2017. Multiparty session types as coherence proofs. Acta Informatica, 54 (2017), 243–269. issn:0001-5903 https://doi.org/10.1007/s00236-016-0285-y Google Scholar
Digital Library
- Simon Castellan, Léo Stefanesco, and Nobuko Yoshida. 2020. Game Semantics: Easy as Pi. CoRR, abs/2011.05248 (2020), arxiv:2011.05248.Google Scholar
- Melvin E. Conway. 1963. A Multiprocessor System Design. AFIPS ’63 (Fall). Association for Computing Machinery, New York, NY, USA. 139–146. isbn:9781450378833 https://doi.org/10.1145/1463822.1463838 Google Scholar
Digital Library
- Mario Coppo, Mariangiola Dezani-Ciancaglini, Nobuko Yoshida, and Luca Padovani. 2016. Global progress for dynamically interleaved multiparty sessions. Mathematical Structures in Computer Science, 26, 2 (2016), 238–302. issn:0960-1295, 1469-8072 https://doi.org/10.1017/S0960129514000188 Google Scholar
Cross Ref
- L. Dagum and R. Menon. 1998. OpenMP: an industry standard API for shared-memory programming. IEEE Computational Science and Engineering, 5, 1 (1998), 46–55. https://doi.org/10.1109/99.660313 Google Scholar
Digital Library
- Ornela Dardha and Simon J. Gay. 2018. A New Linear Logic for Deadlock-Free Session-Typed Processes. In Foundations of Software Science and Computation Structures, Christel Baier and Ugo Dal Lago (Eds.) (Lecture Notes in Computer Science, Vol. 10803). Springer International Publishing, Cham. 91–109. https://doi.org/10.1007/978-3-319-89366-2_5 Google Scholar
- Ornela Dardha and Jorge A. Pérez. 2015. Comparing Deadlock-Free Session Typed Processes. Electronic Proceedings in Theoretical Computer Science, 190 (2015), https://doi.org/10.4204/EPTCS.190.1 Google Scholar
Cross Ref
- A. Das, S. Balzer, J. Hoffmann, F. Pfenning, and I. Santurkar. 2021. Resource-Aware Session Types for Digital Contracts. In 2021 IEEE 34th Computer Security Foundations Symposium (CSF). IEEE Computer Society, Los Alamitos, CA, USA. 111–126. https://doi.org/10.1109/CSF51468.2021.00004 Google Scholar
Cross Ref
- Pierre-Malo Deniélou and Nobuko Yoshida. 2011. Dynamic Multirole Session Types. In Proceedings of the 38th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages - POPL ’11. ACM Press, 435. isbn:978-1-4503-0490-0 https://doi.org/10.1145/1926385.1926435 Google Scholar
Digital Library
- Farzaneh Derakhshan and Frank Pfenning. 2020. Circular Proofs in First-Order Linear Logic with Least and Greatest Fixed Points. arxiv:2001.05132.Google Scholar
- Thomas Ehrhard. 2018. An introduction to differential linear logic: proof-nets, models and antiderivatives. Mathematical Structures in Computer Science, 28, 7 (2018), 995–1060. https://doi.org/10.1017/S0960129516000372 Google Scholar
Cross Ref
- Thomas Ehrhard and Farzad Jafarrahmani. 2021. Categorical models of Linear Logic with fixed points of formulas. arxiv:2011.10209. To appear in the proceedings of LICS 2021.Google Scholar
- Thomas Ehrhard and Olivier Laurent. 2010. Interpreting a finitary pi-calculus in differential interaction nets. Information and Computation, 208, 6 (2010), 606–633. https://doi.org/10.1016/j.ic.2009.06.005 Google Scholar
Digital Library
- Simon Fowler, Sam Lindley, J. Garrett Morris, and Sára Decova. 2019. Exceptional asynchronous session types: session types without tiers. Proceedings of the ACM on Programming Languages, 3, POPL (2019), https://doi.org/10.1145/3290341 Google Scholar
Digital Library
- Simon J Gay and Vasco T Vasconcelos. 2010. Linear type theory for asynchronous session types. Journal of Functional Programming, 20, 1 (2010), 19. https://doi.org/10.1017/S0956796809990268 Google Scholar
Digital Library
- Jean-Yves Girard. 1987. Linear logic. Theoretical Computer Science, 50, 1 (1987), 1–101. issn:03043975 https://doi.org/10.1016/0304-3975(87)90045-4 Google Scholar
Digital Library
- J. Y. Girard and Y. Lafont. 1987. Linear logic and lazy computation. In TAPSOFT ’87, Hartmut Ehrig, Robert Kowalski, Giorgio Levi, and Ugo Montanari (Eds.) (Lecture Notes in Computer Science, Vol. 250). Springer-Verlag, Berlin/Heidelberg. 52–66. isbn:978-3-540-17611-4 https://doi.org/10.1007/BFb0014972 Google Scholar
Cross Ref
- Jean-Yves Girard, Andre Scedrov, and Philip J. Scott. 1992. Bounded linear logic: a modular approach to polynomial-time computability. Theoretical Computer Science, 97, 1 (1992), 1–66. issn:03043975 https://doi.org/10.1016/0304-3975(92)90386-T Google Scholar
Digital Library
- Robert H. Halstead. 1984. Implementation of Multilisp: Lisp on a Multiprocessor. In Proceedings of the 1984 ACM Symposium on LISP and Functional Programming (LFP ’84). Association for Computing Machinery, New York, NY, USA. 9–17. isbn:0897911423 https://doi.org/10.1145/800055.802017 Google Scholar
Digital Library
- Maurice Herlihy and Nir Shavit. 2012. The Art of Multiprocessor Programming (revised first ed.). Morgan Kaufmann. isbn:978-0-12-397337-5 https://doi.org/10.5555/2385452Google Scholar
- Kohei Honda, Vasco T Vasconcelos, and Makoto Kubo. 1998. Language primitives and type discipline for structured communication-based programming. In Programming Languages and Systems: Proceedings of the 7th European Symposium on Programming (ESOP’98) (Lecture Notes in Computer Science, Vol. 1381). Springer, Berlin, Heidelberg, 122–138. https://doi.org/10.1007/BFb0053567 Google Scholar
Cross Ref
- Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2008. Multiparty Asynchronous Session Types. In Proceedings of the 35th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages. ACM Press. isbn:978-1-59593-689-9 https://doi.org/10.1145/1328438.1328472 Google Scholar
Digital Library
- Kohei Honda, Nobuko Yoshida, and Marco Carbone. 2016. Multiparty Asynchronous Session Types. J. ACM, 63, 1 (2016), 1–67. issn:0004-5411, 1557-735X https://doi.org/10.1145/2827695 Google Scholar
Digital Library
- John Maynard Keynes. 1936. The General Theory of Employment, Interest and Money. Macmillan & Co. Ltd., London.Google Scholar
- Naoki Kobayashi. 2002. A Type System for Lock-Free Processes. Information and Computation, 177, 2 (2002), 122–159. https://doi.org/10.1006/inco.2002.3171 Google Scholar
Cross Ref
- Naoki Kobayashi. 2003. Type Systems for Concurrent Programs. In Formal Methods at the Crossroads. From Panacea to Foundational Support, Bernhard K. Aichernig and Tom Maibaum (Eds.) (Lecture Notes in Computer Science, Vol. 2757). Springer Berlin Heidelberg, Berlin, Heidelberg. 439–453. https://doi.org/10.1007/978-3-540-40007-3_26 Extended version. Google Scholar
Cross Ref
- Naoki Kobayashi. 2006. A new type system for deadlock-free processes. In International Conference on Concurrency Theory. 233–247. https://doi.org/10.1007/11817949_16 Google Scholar
Digital Library
- Wen Kokke, Fabrizio Montesi, and Marco Peressotti. 2018. Taking Linear Logic Apart. In Proceedings Joint International Workshop on Linearity & Trends in Linear Logic and Applications, [email protected] 2018, Oxford, UK, 7-8 July 2018, Thomas Ehrhard, Maribel Fernández, Valeria de Paiva, and Lorenzo Tortora de Falco (Eds.) (EPTCS, Vol. 292). 90–103. https://doi.org/10.4204/EPTCS.292.5 Google Scholar
Cross Ref
- Wen Kokke, Fabrizio Montesi, and Marco Peressotti. 2019. Better late than never: a fully-abstract semantics for classical processes. Proceedings of the ACM on Programming Languages, 3, POPL (2019), 1–29. https://doi.org/10.1145/3290337 Google Scholar
Digital Library
- Wen Kokke, J Garrett Morris, and Philip Wadler. 2019. Towards races in linear logic. In International Conference on Coordination Languages and Models. 37–53. https://doi.org/10.1007/978-3-030-22397-7_3 Google Scholar
Digital Library
- Yves Lafont and Thomas Streicher. 1991. Games semantics for linear logic. In Proceedings 1991 Sixth Annual IEEE Symposium on Logic in Computer Science. 43–44. https://doi.org/10.1109/LICS.1991.151629 Google Scholar
Cross Ref
- Daan Leijen, Wolfram Schulte, and Sebastian Burckhardt. 2009. The design of a task parallel library. Acm Sigplan Notices, 44, 10 (2009), 227–242. https://doi.org/10.1145/1639949.1640106 Google Scholar
Digital Library
- Sam Lindley and J Garrett Morris. 2015. A semantics for propositions as sessions. In European Symposium on Programming Languages and Systems. 560–584. https://doi.org/10.1007/978-3-662-46669-8_23 Google Scholar
Cross Ref
- Sam Lindley and J. Garrett Morris. 2016. Talking bananas: structural recursion for session types. In Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming - ICFP 2016. ACM Press, Nara, Japan. 434–447. isbn:978-1-4503-4219-3 https://doi.org/10.1145/2951913.2951921 Google Scholar
Digital Library
- Sam Lindley and J. Garrett Morris. 2017. Lightweight Functional Session Types. In Behavioural Types: from Theory to Tools, Simon Gay and Antonio Ravara (Eds.). River Publishers. https://doi.org/10.13052/rp-9788793519817 Google Scholar
Cross Ref
- J. Maraist, M. Odersky, D.N. Turner, and P. Wadler. 1999. Call-by-name, call-by-value, call-by-need and the linear lambda calculus. Theoretical Computer Science, 228, 1-2 (1999), 175–210. https://doi.org/10.1016/S0304-3975(98)00358-2 Google Scholar
Digital Library
- John Maraist, Martin Odersky, David N. Turner, and Philip Wadler. 1995. Call-by-name, Call-by-value, Call-by-need, and the Linear Lambda Calculus. Electronic Notes in Theoretical Computer Science, 1 (1995), 370–392. issn:15710661 https://doi.org/10.1016/S1571-0661(04)00022-2 Google Scholar
Cross Ref
- Damiano Mazza. 2018. The true concurrency of differential interaction nets. Mathematical Structures in Computer Science, 28, 7 (2018), 1097–1125. https://doi.org/10.1017/S0960129516000402 Google Scholar
Cross Ref
- Paul-André Melliès. 2009. Categorical Semantics of Linear Logic. In Panoramas et synthèses 27: Interactive models of computation and program behaviour, Pierre-Louis Curien, Hugo Herbelin, Jean-Louis Krivine, and Paul-André Melliès (Eds.). Société Mathématique de France. isbn:978-2-85629-273-0 http://www.pps.univ-paris-diderot.fr/~mellies/papers/panorama.pdfGoogle Scholar
- Paul-André Melliès, Nicolas Tabareau, and Christine Tasson. 2018. An explicit formula for the free exponential modality of linear logic. Mathematical Structures in Computer Science, 28, 7 (2018), issn:0960-1295, 1469-8072 https://doi.org/10.1017/S0960129516000426 Google Scholar
Cross Ref
- Massimo Merro and Davide Sangiorgi. 2004. On asynchrony in name-passing calculi. Mathematical Structures in Computer Science, 14, 5 (2004), 715–767. https://doi.org/10.1017/S0960129504004323 Google Scholar
Digital Library
- Robin Milner. 1992. Functions as processes. Mathematical Structures in Computer Science, 2, 2 (1992), 119–141. https://doi.org/10.1017/S0960129500001407 Google Scholar
Cross Ref
- Robin Milner. 1999. Communicating and Mobile Systems: The π -calculus. Cambridge University Press, New York, NY, USA. isbn:0-521-65869-1 https://doi.org/10.5555/329902Google Scholar
Digital Library
- Robin Milner, Joachim Parrow, and David Walker. 1992. A calculus of mobile processes, i. Information and computation, 100, 1 (1992), 1–40. https://doi.org/10.1016/0890-5401(92)90008-4 Google Scholar
Digital Library
- Fabrizio Montesi and Marco Peressotti. 2018. Classical Transitions. arxiv:1803.01049.Google Scholar
- Jason Reed. 2009. A Judgmental Deconstruction of Modal Logic. http://www.cs.cmu.edu/~jcreed/papers/jdml.pdfGoogle Scholar
- James Reinders. 2007. Intel threading building blocks: outfitting C++ for multi-core processor parallelism. " O’Reilly Media, Inc.".Google Scholar
Digital Library
- Pedro Rocha and Luís Caires. 2021. Propositions-as-Types and Shared State. Proceedings of the ACM on Programming Languages, https://doi.org/10.1145/3473584Google Scholar
Digital Library
- Chuta Sano, Stephanie Balzer, and Frank Pfenning. 2021. Manifestly Phased Communication via Shared Session Types. CoRR, abs/2101.06249 (2021), arxiv:2101.06249. arxiv:2101.06249Google Scholar
- Bernardo Toninho, Luís Caires, and Frank Pfenning. 2014. Corecursion and non-divergence in session-typed processes. In International Symposium on Trustworthy Global Computing. 159–175. https://doi.org/10.1007/978-3-662-45917-1_11 Google Scholar
Cross Ref
- Maarten van Steen and Andrew S. Tanenbaum. 2017. Distributed Systems (3 ed.). distributed-systems.net. https://www.distributed-systems.net/Google Scholar
- Vasco T. Vasconcelos. 2012. Fundamentals of session types. Information and Computation, 217 (2012), 52–70. issn:08905401 https://doi.org/10.1016/j.ic.2012.05.002 Google Scholar
Digital Library
- Philip Wadler. 2014. Propositions as sessions. Journal of Functional Programming, 24, 2-3 (2014), 384–418. issn:0956-7968 https://doi.org/10.1017/S095679681400001X Google Scholar
Cross Ref
Index Terms
Client-server sessions in linear logic
Recommendations
The decidability of the intensional fragment of classical linear logic
Intensional classical linear logic (MELL) is proved decidable.Intensional interlinear logic (RLL) is proved decidable.We adapt Kripke's method used to prove decidability for some relevance logics.The semi-relevant RLL emerges as a logic superior to MELL ...
Focused Linear Logic and the λ-calculus
Linear logic enjoys strong symmetries inherited from classical logic while providing a constructive framework comparable to intuitionistic logic. However, the computational interpretation of sequent calculus presentations of linear logic remains ...
Axioms and models of linear logic
AbstractGirard's recent system of linear logic is presented in a way that avoids the two-level structure of formulae and sequents, and that minimises the number of primitive function symbols. A deduction theorem is proved concerning the classical ...






Comments