skip to main content
research-article
Open Access

Par means parallel: multiplicative linear logic proofs as concurrent functional programs

Published:20 December 2019Publication History
Skip Abstract Section

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.

Skip Supplemental Material Section

Supplemental Material

a18-aschieri.webm

webm

74 MB

References

  1. Samson Abramsky. 1994. Proofs as Processes. Theor. Comput. Sci. 135, 1 (1994), 5–9.Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. Federico Aschieri, Agata Ciabattoni, and Francesco A. Genco. 2017. Gödel logic: from natural deduction to parallel computation. In LICS 2017. 1–12.Google ScholarGoogle Scholar
  4. Federico Aschieri, Agata Ciabattoni, and Francesco A. Genco. 2018. Classical proofs as parallel programs. In GandALF 2018. 43–57.Google ScholarGoogle Scholar
  5. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  6. Arnon Avron. 1991. Hypersequents, logical consequence and intermediate logics for concurrency. Annals of Mathematics and Artificial Intelligence 4, 3 (1991), 225–248.Google ScholarGoogle ScholarCross RefCross Ref
  7. Emmanuel Beffara. 2006. A Concurrent Model for Linear Logic. Electr. Notes Theor. Comput. Sci. 155 (2006), 147–168.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Gianluigi Bellin and Philip J. Scott. 1994. On the pi-Calculus and Linear Logic. Theor. Comput. Sci. 135, 1 (1994), 11–65.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Gérard Boudol. 1992. Asynchrony and the Pi-calculus. Research Report RR-1702. INRIA. 15 pages.Google ScholarGoogle Scholar
  10. Luís Caires and Frank Pfenning. 2010. Session types as intuitionistic linear propositions. In CONCUR 2010. 222–236.Google ScholarGoogle ScholarCross RefCross Ref
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. Carlo Cellucci. 1992. Existential instantiation and normalization in sequent natural deduction. Annals of Pure and Applied Logic 58, 2 (1992), 111 – 148.Google ScholarGoogle ScholarCross RefCross Ref
  13. 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 ScholarGoogle Scholar
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. 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 ScholarGoogle Scholar
  16. Simon J. Gay and Vasco Thudichum Vasconcelos. 2010. Linear type theory for asynchronous session types. J. Funct. Program. 20, 1 (2010), 19–50.Google ScholarGoogle ScholarDigital LibraryDigital Library
  17. Jean-Yves Girard. 1987. Linear logic. Theoretical computer science 50, 1 (1987), 1–101.Google ScholarGoogle Scholar
  18. Jean-Yves Girard, Yves Lafont, and Paul Taylor. 1989. Proofs and Types. Cambridge University Press.Google ScholarGoogle Scholar
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  22. Jean-Louis Krivine. 2009. Classical Realizability. Interactive models of computation and program behavior, Panoramas et synthèses (2009), 197–229.Google ScholarGoogle Scholar
  23. 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 ScholarGoogle Scholar
  24. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  25. Massimo Merro and Davide Sangiorgi. 2004. On asynchrony in name-passing calculi. Mathematical Structures in Computer Science 14, 5 (2004), 715–767.Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. Robin Milner. 1980. A Calculus of Communicating Systems. Lecture Notes in Computer Science, Vol. 92. Springer.Google ScholarGoogle Scholar
  27. Robin Milner. 1984. Lectures on a calculus for Communicating systems. In Seminar on Concurrency. Springer, 197–219.Google ScholarGoogle Scholar
  28. Robin Milner, Joachim Parrow, and David Walker. 1992. A Calculus of Mobile Processes, I. Inf. Comput. 100, 1 (1992), 1–40.Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. Michel Parigot. 1991. Free Deduction: An Analysis of "Computations" in Classical Logic. In Logic Programming. 361–380.Google ScholarGoogle Scholar
  30. Michel Parigot. 1992. Lambda-Mu-Calculus: An Algorithmic Interpretation of Classical Natural Deduction. In LPAR 1992. 190–201.Google ScholarGoogle Scholar
  31. 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 ScholarGoogle Scholar
  32. 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 ScholarGoogle Scholar
  33. Dag Prawitz. 1971. Ideas and Results in Proof Theory. In Proceedings of the Second Scandinavian Logic Symposium.Google ScholarGoogle ScholarCross RefCross Ref
  34. 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 ScholarGoogle ScholarCross RefCross Ref
  35. Davide Sangiorgi. 1993. Expressing mobility in process algebras: first-order and higher-order paradigms. Ph.D. Dissertation. The University of Edinburgh.Google ScholarGoogle Scholar
  36. Bernardo Toninho, Luís Caires, and Frank Pfenning. 2013. Higher-Order Processes, Functions, and Sessions: A Monadic Integration. In ESOP 2013. 350–369.Google ScholarGoogle ScholarDigital LibraryDigital Library
  37. Philip Wadler. 2012. Propositions as Sessions. ICFP 2012 24 (2012), 384–418. Issue 2–3.Google ScholarGoogle ScholarDigital LibraryDigital Library
  38. Philip Wadler. 2015. Propositions as Types. Commun. ACM 58, 12 (2015), 75–84.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Par means parallel: multiplicative linear logic proofs as concurrent functional programs

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image Proceedings of the ACM on Programming Languages
      Proceedings of the ACM on Programming Languages  Volume 4, Issue POPL
      January 2020
      1984 pages
      EISSN:2475-1421
      DOI:10.1145/3377388
      Issue’s Table of Contents

      Copyright © 2019 Owner/Author

      This work is licensed under a Creative Commons Attribution-NonCommercial International 4.0 License.

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 20 December 2019
      Published in pacmpl Volume 4, Issue POPL

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader