Linear Logical Relations for Session-Based Concurrency

  • Jorge A. Pérez
  • Luís Caires
  • Frank Pfenning
  • Bernardo Toninho
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7211)

Abstract

In prior work we proposed an interpretation of intuitionistic linear logic propositions as session types for concurrent processes. The type system obtained from the interpretation ensures fundamental properties of session-based typed disciplines—most notably, type preservation, session fidelity, and global progress. In this paper, we complement and strengthen these results by developing a theory of logical relations. Our development is based on, and is remarkably similar to, that for functional languages, extended to an (intuitionistic) linear type structure. A main result is that well-typed processes always terminate (strong normalization). We also introduce a notion of observational equivalence for session-typed processes. As applications, we prove that all proof conversions induced by the logic interpretation actually express observational equivalences, and explain how type isomorphisms resulting from linear logic equivalences are realized by coercions between interface types of session-based concurrent systems.

Keywords

Logical Relation Logical Predicate Closure Property Label Transition System Typing Rule 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

References

  1. 1.
    Abramsky, S.: Computational interpretations of linear logic. Theor. Comput. Sci. 111, 3–57 (1993)MathSciNetMATHCrossRefGoogle Scholar
  2. 2.
    Barber, A.: Dual intuitionistic linear logic. Technical report, LFCS-96-347, Univ. of Edinburgh (1996)Google Scholar
  3. 3.
    Boreale, M.: On the expressiveness of internal mobility in name-passing calculi. Theor. Comput. Sci. 195, 205–226 (1998)MathSciNetMATHCrossRefGoogle Scholar
  4. 4.
    Caires, L., Pfenning, F.: Session Types as Intuitionistic Linear Propositions. In: Gastin, P., Laroussinie, F. (eds.) CONCUR 2010. LNCS, vol. 6269, pp. 222–236. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  5. 5.
    Caires, L., Pfenning, F., Toninho, B.: Towards concurrent type theory. In: Proc. of 7th Workshop on Types in Language Design and Implementation – TLDI 2012 (2012)Google Scholar
  6. 6.
    Chang, B.-Y.E., Chaudhuri, K., Pfenning, F.: A judgmental analysis of linear logic. Technical report, CMU-CS-03-131R, Carnegie Mellon University (2003)Google Scholar
  7. 7.
    Dal Lago, U., Di Giamberardino, P.: Soft session types. In: Proc. of 18th Workshop on Expressiveness in Concurrency – EXPRESS 2011. EPTCS, vol. 64, pp. 59–73 (2011)Google Scholar
  8. 8.
    Demangeon, R., Hirschkoff, D., Sangiorgi, D.: Mobile Processes and Termination. In: Palsberg, J. (ed.) Mosses Festschrift. LNCS, vol. 5700, pp. 250–273. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  9. 9.
    Di Cosmo, R.: A short survey of isomorphisms of types. Mathematical Structures in Computer Science 15(5), 825–838 (2005)MathSciNetMATHCrossRefGoogle Scholar
  10. 10.
    Girard, J.-Y., Lafont, Y.: Linear Logic and Lazy Computation. In: Ehrig, H., Levi, G., Montanari, U. (eds.) TAPSOFT 1987. LNCS, vol. 250, pp. 52–66. Springer, Heidelberg (1987)Google Scholar
  11. 11.
    Honda, K., Vasconcelos, V.T., Kubo, M.: Language Primitives and Type Discipline for Structured Communication-Based Programming. In: Hankin, C. (ed.) ESOP 1998. LNCS, vol. 1381, pp. 122–138. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  12. 12.
    Hu, R., Yoshida, N., Honda, K.: Session-Based Distributed Programming in Java. In: Ryan, M. (ed.) ECOOP 2008. LNCS, vol. 5142, pp. 516–541. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Kobayashi, N., Pierce, B.C., Turner, D.N.: Linearity and the pi-calculus. In: POPL, pp. 358–371 (1996)Google Scholar
  14. 14.
    Kouzapas, D., Yoshida, N., Honda, K.: On Asynchronous Session Semantics. In: Bruni, R., Dingel, J. (eds.) FORTE 2011 and FMOODS 2011. LNCS, vol. 6722, pp. 228–243. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  15. 15.
    Lafont, Y.: Soft linear logic and polynomial time. Theor. Comput. Sci. 318(1-2), 163–180 (2004)MathSciNetMATHCrossRefGoogle Scholar
  16. 16.
    Milner, R., Parrow, J., Walker, D.: A Calculus of Mobile Processes, part I/II. Inf. Comput. 100(1), 1–77 (1992)MathSciNetMATHCrossRefGoogle Scholar
  17. 17.
    Ng, N., Yoshida, N., Pernet, O., Hu, R., Kryftis, Y.: Safe Parallel Programming with Session Java. In: De Meuter, W., Roman, G.-C. (eds.) COORDINATION 2011. LNCS, vol. 6721, pp. 110–126. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  18. 18.
    Pérez, J.A., Caires, L., Pfenning, F., Toninho, B.: Linear Logical Relations for Session-Based Concurrency, Extended Version (2012), http://goo.gl/iQVZu
  19. 19.
    Pfenning, F., Caires, L., Toninho, B.: Proof-Carrying Code in a Session-Typed Process Calculus. In: Jouannaud, J.-P., Shao, Z. (eds.) CPP 2011. LNCS, vol. 7086, pp. 21–36. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  20. 20.
    Pucella, R., Tov, J.A.: Haskell session types with (almost) no class. In: Proc. of ACM SIGPLAN Symposium on Haskell, pp. 25–36. ACM (2008)Google Scholar
  21. 21.
    Sangiorgi, D.: Termination of processes. Mathematical Structures in Computer Science 16(1), 1–39 (2006)MathSciNetMATHCrossRefGoogle Scholar
  22. 22.
    Sangiorgi, D., Walker, D.: The π-calculus: A Theory of Mobile Processes. Cambridge University Press, New York (2001)Google Scholar
  23. 23.
    Statman, R.: Logical relations and the typed lambda-calculus. Information and Control 65(2/3), 85–97 (1985)MathSciNetMATHCrossRefGoogle Scholar
  24. 24.
    Tait, W.W.: Intensional Interpretations of Functionals of Finite Type I. J. Symbolic Logic 32, 198–212 (1967)MathSciNetMATHCrossRefGoogle Scholar
  25. 25.
    Toninho, B., Caires, L., Pfenning, F.: Dependent session types via intuitionistic linear type theory. In: Proc. of PPDP 2011, pp. 161–172. ACM Press, New York (2011)Google Scholar
  26. 26.
    Yoshida, N., Berger, M., Honda, K.: Strong normalisation in the pi -calculus. Inf. Comput. 191(2), 145–202 (2004)MathSciNetMATHCrossRefGoogle Scholar
  27. 27.
    Yoshida, N., Honda, K., Berger, M.: Linearity and bisimulation. J. Log. Algebr. Program. 72(2), 207–238 (2007)MathSciNetMATHCrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Jorge A. Pérez
    • 1
  • Luís Caires
    • 1
  • Frank Pfenning
    • 2
  • Bernardo Toninho
    • 1
    • 2
  1. 1.CITI and Departamento de InformáticaFCT, Universidade Nova de LisboaPortugal
  2. 2.Computer Science DepartmentCarnegie Mellon UniversityUSA

Personalised recommendations