Abstract
Along the lines of Abramsky’s “Proofs-as-Processes” program, we present an interpretation of multiplicative linear logic as typing system for concurrent functional programming. In particular, we study a linear multiple-conclusion natural deduction system and show it is isomorphic to a simple and natural extension of λ-calculus with parallelism and communication primitives, called λpar. We shall prove that λpar satisfies all the desirable properties for a typed programming language: subject reduction, progress, strong normalization and confluence.
Supplemental Material
- Samson Abramsky. 1994. Proofs as Processes. Theor. Comput. Sci. 135, 1 (1994), 5–9.Google ScholarDigital Library
- Samson Abramsky, Simon J. Gay, and Rajagopal Nagarajan. 1996. Interaction categories and the foundations of typed concurrent programming. In Proceedings of the NATO Advanced Study Institute on Deductive Program Design, Marktoberdorf, Germany. 35–113.Google ScholarDigital Library
- Federico Aschieri, Agata Ciabattoni, and Francesco A. Genco. 2017. Gödel logic: from natural deduction to parallel computation. In LICS 2017. 1–12.Google Scholar
- Federico Aschieri, Agata Ciabattoni, and Francesco A. Genco. 2018. Classical proofs as parallel programs. In GandALF 2018. 43–57.Google Scholar
- Federico Aschieri and Margherita Zorzi. 2016. On Natural Deduction in Classical First-Order Logic: Curry–Howard Correspondence, Strong Normalization and Herbrand’s Theorem. Theoretical Computer Science 625 (2016), 125–146.Google ScholarDigital Library
- Arnon Avron. 1991. Hypersequents, logical consequence and intermediate logics for concurrency. Annals of Mathematics and Artificial Intelligence 4, 3 (1991), 225–248.Google ScholarCross Ref
- Emmanuel Beffara. 2006. A Concurrent Model for Linear Logic. Electr. Notes Theor. Comput. Sci. 155 (2006), 147–168.Google ScholarDigital Library
- Gianluigi Bellin and Philip J. Scott. 1994. On the pi-Calculus and Linear Logic. Theor. Comput. Sci. 135, 1 (1994), 11–65.Google ScholarDigital Library
- Gérard Boudol. 1992. Asynchrony and the Pi-calculus. Research Report RR-1702. INRIA. 15 pages.Google Scholar
- Luís Caires and Frank Pfenning. 2010. Session types as intuitionistic linear propositions. In CONCUR 2010. 222–236.Google ScholarCross Ref
- Marco Carbone, Fabrizio Montesi, Carsten Schürmann, and Nobuko Yoshida. 2017. Multiparty session types as coherence proofs. Acta Inf. 54, 3 (2017), 243–269.Google ScholarDigital Library
- Carlo Cellucci. 1992. Existential instantiation and normalization in sequent natural deduction. Annals of Pure and Applied Logic 58, 2 (1992), 111 – 148.Google ScholarCross Ref
- 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 - 21st International Conference, FOSSACS 2018, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2018, Thessaloniki, Greece, April 14-20, 2018, Proceedings. 91–109.Google Scholar
- Ornela Dardha, Elena Giachino, and Davide Sangiorgi. 2012. Session types revisited. In Principles and Practice of Declarative Programming, PPDP’12, Leuven, Belgium - September 19 - 21, 2012. 139–150.Google ScholarDigital Library
- Harley Eades III and Valeria de Paiva. 2016. Multiple Conclusion Linear Logic: Cut Elimination and More. In Logical Foundations of Computer Science - International Symposium, LFCS 2016, Deerfield Beach, FL, USA, January 4-7, 2016. Proceedings. 90–105.Google Scholar
- Simon J. Gay and Vasco Thudichum Vasconcelos. 2010. Linear type theory for asynchronous session types. J. Funct. Program. 20, 1 (2010), 19–50.Google ScholarDigital Library
- Jean-Yves Girard. 1987. Linear logic. Theoretical computer science 50, 1 (1987), 1–101.Google Scholar
- Jean-Yves Girard, Yves Lafont, and Paul Taylor. 1989. Proofs and Types. Cambridge University Press.Google Scholar
- Kohei Honda and Olivier Laurent. 2010. An exact correspondence between a typed pi-calculus and polarised proof-nets. Theor. Comput. Sci. 411, 22-24 (2010), 2223–2238.Google ScholarDigital Library
- Naoki Kobayashi, Benjamin C. Pierce, and David N. Turner. 1999. Linearity and the pi-calculus. ACM Trans. Program. Lang. Syst. 21, 5 (1999), 914–947.Google ScholarDigital Library
- Wen Kokke, Fabrizio Montesi, and Marco Peressotti. 2019. Better late than never: a fully-abstract semantics for classical processes. In POPL 2019. 24:1–24:29.Google ScholarDigital Library
- Jean-Louis Krivine. 2009. Classical Realizability. Interactive models of computation and program behavior, Panoramas et synthèses (2009), 197–229.Google Scholar
- Sam Lindley and J. Garrett Morris. 2015. A Semantics for Propositions as Sessions. In Programming Languages and Systems -24th European Symposium on Programming, ESOP 2015, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2015, London, UK, April 11-18, 2015. Proceedings. 560–584.Google Scholar
- Karl Mazurak and Steve Zdancewic. 2010. Lolliproc: to concurrency from classical linear logic via curry-howard and control. In Proceeding of the 15th ACM SIGPLAN international conference on Functional programming, ICFP 2010, Baltimore, Maryland, USA, September 27-29, 2010. 39–50.Google ScholarDigital Library
- Massimo Merro and Davide Sangiorgi. 2004. On asynchrony in name-passing calculi. Mathematical Structures in Computer Science 14, 5 (2004), 715–767.Google ScholarDigital Library
- Robin Milner. 1980. A Calculus of Communicating Systems. Lecture Notes in Computer Science, Vol. 92. Springer.Google Scholar
- Robin Milner. 1984. Lectures on a calculus for Communicating systems. In Seminar on Concurrency. Springer, 197–219.Google Scholar
- Robin Milner, Joachim Parrow, and David Walker. 1992. A Calculus of Mobile Processes, I. Inf. Comput. 100, 1 (1992), 1–40.Google ScholarDigital Library
- Michel Parigot. 1991. Free Deduction: An Analysis of "Computations" in Classical Logic. In Logic Programming. 361–380.Google Scholar
- Michel Parigot. 1992. Lambda-Mu-Calculus: An Algorithmic Interpretation of Classical Natural Deduction. In LPAR 1992. 190–201.Google Scholar
- Jennifer Paykin and Steve Zdancewic. 2016. Linear λµ is CP (more or less). In A List of Successes That Can Change the World - Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday. 273–291.Google Scholar
- Jorge A. Pérez, Luís Caires, Frank Pfenning, and Bernardo Toninho. 2012. Linear Logical Relations for Session-Based Concurrency. In Programming Languages and Systems - 21st European Symposium on Programming, ESOP 2012, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2012, Tallinn, Estonia, March 24 - April 1, 2012. Proceedings. 539–558.Google Scholar
- Dag Prawitz. 1971. Ideas and Results in Proof Theory. In Proceedings of the Second Scandinavian Logic Symposium.Google ScholarCross Ref
- Klaas Pruiksma and Frank Pfenning. 2019. A Message-Passing Interpretation of Adjoint Logic. In Proceedings Programming Language Approaches to Concurrency- and Communication-cEntric Software, PLACES@ETAPS 2019, Prague, Czech Republic, 7th April 2019. 60–79.Google ScholarCross Ref
- Davide Sangiorgi. 1993. Expressing mobility in process algebras: first-order and higher-order paradigms. Ph.D. Dissertation. The University of Edinburgh.Google Scholar
- Bernardo Toninho, Luís Caires, and Frank Pfenning. 2013. Higher-Order Processes, Functions, and Sessions: A Monadic Integration. In ESOP 2013. 350–369.Google ScholarDigital Library
- Philip Wadler. 2012. Propositions as Sessions. ICFP 2012 24 (2012), 384–418. Issue 2–3.Google ScholarDigital Library
- Philip Wadler. 2015. Propositions as Types. Commun. ACM 58, 12 (2015), 75–84.Google ScholarDigital Library
Index Terms
- Par means parallel: multiplicative linear logic proofs as concurrent functional programs
Recommendations
On the concurrent computational content of intermediate logics
AbstractWe provide a proofs-as-concurrent-programs interpretation for a large class of intermediate logics that can be formalized by cut-free hypersequent calculi. Obtained by adding classical disjunctive tautologies to intuitionistic logic, ...
Moving proofs-as-programs into practice
ASE '97: Proceedings of the 12th international conference on Automated software engineering (formerly: KBSE)Proofs in the Nuprl system, an implementation of a constructive type theory, yield "correct-by-construction" programs. In this paper a new methodology is presented for extracting efficient and readable programs from inductive proofs. The resulting ...
Interactive proofs in higher-order concurrent separation logic
POPL '17When using a proof assistant to reason in an embedded logic -- like separation logic -- one cannot benefit from the proof contexts and basic tactics of the proof assistant. This results in proofs that are at a too low level of abstraction because they ...
Comments