On the Relative Expressiveness of Higher-Order Session Processes

  • Dimitrios Kouzapas
  • Jorge A. Pérez
  • Nobuko Yoshida
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9632)


By integrating constructs from the \(\lambda \)-calculus and the \(\pi \)-calculus, in higher-order process calculi exchanged values may contain processes. This paper studies the relative expressiveness of \(\mathsf {HO}\pi \), the higher-order \(\pi \)-calculus in which communications are governed by session types. Our main discovery is that \(\mathsf {HO}\), a subcalculus of \(\mathsf {HO}\pi \) which lacks name-passing and recursion, can serve as a new core calculus for session-typed higher-order concurrency. By exploring a new bisimulation for \(\mathsf {HO}\), we show that \(\mathsf {HO}\) can encode \(\mathsf {HO}\pi \) fully abstractly (up to typed contextual equivalence) more precisely and efficiently than the first-order session \(\pi \)-calculus (\(\pi \)). Overall, under session types, \(\mathsf {HO}\pi \), \(\mathsf {HO} \), and \(\pi \) are equally expressive; however, \(\mathsf {HO}\pi \) and \(\mathsf {HO} \) are more tightly related than \(\mathsf {HO}\pi \) and \(\pi \).



We have benefited from feedback from the users of the Moca mailing list, in particular Greg Meredith and Xu Xian. We are grateful to the anonymous reviewers for their useful remarks and suggestions. This work has been partially sponsored by the Doctoral Prize Fellowship, EPSRC EP/K011715/1, EPSRC EP/K034413/1, and EPSRC EP/L00058X/1, EU project FP7-612985 UpScale, and EU COST Action IC1201 BETTY. Pérez is also affiliated to the NOVA Laboratory for Computer Science and Informatics (NOVA LINCS), Universidade Nova de Lisboa, Portugal.


  1. 1.
    Berger, M., Honda, K., Yoshida, N.: Sequentiality and the \(\pi \)-calculus. In: Abramsky, S. (ed.) TLCA 2001. LNCS, vol. 2044, pp. 29–45. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  2. 2.
    Bernardi, G., Dardha, O., Gay, S.J., Kouzapas, D.: On duality relations for session types. In: Maffei, M., Tuosto, E. (eds.) TGC 2014. LNCS, vol. 8902, pp. 51–66. Springer, Heidelberg (2014)Google Scholar
  3. 3.
    Bono, V., Padovani, L.: Typing copyless message passing. LMCS 8(1), 1–50 (2012)MathSciNetzbMATHGoogle Scholar
  4. 4.
    Bundgaard, M., Hildebrandt, T.T., Godskesen, J.C.: A cps encoding of name-passing in higher-order mobile embedded resources. Theor. Comput. Sci. 356(3), 422–439 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Dardha, O., Giachino, E., Sangiorgi, D.: Session types revisited. In: Proceedings of PPDP 2012, pp. 139–150. ACM (2012)Google Scholar
  6. 6.
    Demangeon, R., Honda, K.: Full abstraction in a subtyped pi-calculus with linear types. In: Katoen, J.-P., König, B. (eds.) CONCUR 2011. LNCS, vol. 6901, pp. 280–296. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  7. 7.
    Fu, Y.: Variations on mobile processes. Theor. Comput. Sci. 221(1–2), 327–368 (1999)MathSciNetCrossRefzbMATHGoogle Scholar
  8. 8.
    Fu, Y., Lu, H.: On the expressiveness of interaction. Theor. Comput. Sci. 411(11–13), 1387–1451 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Gay, S.J., Vasconcelos, V.T.: Linear type theory for asynchronous session types. J. Funct. Program. 20(1), 19–50 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  10. 10.
    Gorla, D.: Towards a unified approach to encodability and separation results for process calculi. Inf. Comput. 208(9), 1031–1053 (2010)MathSciNetCrossRefzbMATHGoogle 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, p. 122. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  12. 12.
    Honda, K., Yoshida, N.: On reduction-based process semantics. TCS 151(2), 437–486 (1995)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Kobayashi, N., Pierce, B.C., Turner, D.N.: Linearity and the Pi-Calculus. TOPLAS 21(5), 914–947 (1999)CrossRefGoogle Scholar
  14. 14.
    Kouzapas, D., Pérez, J.A., Yoshida, N.: Characteristic bisimulation for higher-order session processes. In: CONCUR 2015. LIPIcs, vol. 42, pp. 398–411, Dagstuhl, Germany (2015)Google Scholar
  15. 15.
    Kouzapas, D., Pérez, J.A., Yoshida, N.: Full version of this paper. Technical report, Imperial College / University of Groningen (2015).
  16. 16.
    Lanese, I., Pérez, J.A., Sangiorgi, D., Schmitt, A.: On the expressiveness of polyadic and synchronous communication in higher-order process calculi. In: Abramsky, S., Gavoille, C., Kirchner, C., Meyer auf der Heide, F., Spirakis, P.G. (eds.) ICALP 2010. LNCS, vol. 6199, pp. 442–453. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  17. 17.
    Lanese, I., Pérez, J.A., Sangiorgi, D., Schmitt, A.: On the expressiveness and decidability of higher-order process calculi. Inf. Comput. 209(2), 198–226 (2011)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    League, C., Shao, Z., Trifonov, V.: Type-preserving compilation of Featherweight Java. ACM Trans. Program. Lang. Syst. 24(2), 112–152 (2002)CrossRefGoogle Scholar
  19. 19.
    Meredith, L.G., Radestock, M.: A reflective higher-order calculus. Electr. Notes Theor. Comput. Sci. 141(5), 49–67 (2005)CrossRefzbMATHGoogle Scholar
  20. 20.
    Milner, R., Sangiorgi, D.: Barbed bisimulation. In: Kuich, W. (ed.) ICALP 1992. LNCS, vol. 623, pp. 685–695. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  21. 21.
    Morrisett, J.G., Walker, D., Crary, K., Glew, N.: From system F to typed assembly language. ACM Trans. Program. Lang. Syst. 21(3), 527–568 (1999)CrossRefzbMATHGoogle Scholar
  22. 22.
    Mostrous, D., Yoshida, N.: Two session typing systems for higher-order mobile processes. In: Della Rocca, S.R. (ed.) TLCA 2007. LNCS, vol. 4583, pp. 321–335. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  23. 23.
    Mostrous, D., Yoshida, N.: Session typing and asynchronous subtying for higher-order \(\pi \)-Calculus. Inf. Comput. 241, 227–263 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Nestmann, U.: What is a “good” encoding of guarded choice? Inf. Comput. 156(1–2), 287–319 (2000)MathSciNetCrossRefzbMATHGoogle Scholar
  25. 25.
    Orchard, D., Yoshida, N.: Effects as sessions, sessions as effects. In: POPL. ACM (2016)Google Scholar
  26. 26.
    Palamidessi, C.: Comparing the expressive power of the synchronous and asynchronous pi-calculi. MSCS 13(5), 685–719 (2003)MathSciNetGoogle Scholar
  27. 27.
    Palamidessi, C., Saraswat, V.A., Valencia, F.D., Victor, B.: On the expressiveness of linearity vs persistence in the asychronous pi-calculus. Proc. LICS 2006, 59–68 (2006)Google Scholar
  28. 28.
    Parrow, J.: Expressiveness of process algebras. Electr. Notes Theor. Comput. Sci. 209, 173–186 (2008)MathSciNetCrossRefzbMATHGoogle Scholar
  29. 29.
    Pérez, J.A.: Higher-Order Concurrency: Expressiveness and Decidability Results. PhD thesis, University of Bologna (2010)Google Scholar
  30. 30.
    Peters, K., Nestmann, U., Goltz, U.: On distributability in process calculi. In: Felleisen, M., Gardner, P. (eds.) ESOP 2013. LNCS, vol. 7792, pp. 310–329. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  31. 31.
    Peters, K., van Glabbeek, R.J.: Analysing and comparing encodability criteria. In: Proceedings of EXPRESS/SOS. EPTCS, vol. 190, pp. 46–60 (2015)Google Scholar
  32. 32.
    Sangiorgi, D.: Expressing Mobility in Process Algebras: First-Order and Higher Order Paradigms. PhD thesis, University of Edinburgh (1992)Google Scholar
  33. 33.
    Sangiorgi, D.: The lazy lambda calculus in a concurrency scenario. In: 7th LICS Conference, pp. 102–109. IEEE Computer Society Press (1992)Google Scholar
  34. 34.
    Sangiorgi, D.: \(\pi \)-calculus, internal mobility and agent-passing calculi. TCS 167(2), 235–274 (1996)MathSciNetCrossRefzbMATHGoogle Scholar
  35. 35.
    Sangiorgi, D.: Asynchronous process calculi: the first- and higher-order paradigms. Theor. Comput. Sci. 253(2), 311–350 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  36. 36.
    Sangiorgi, D., Walker, D.: The \(\pi \)-Calculus: A Theory of Mobile Processes. Cambridge University Press, Cambridge (2001)zbMATHGoogle Scholar
  37. 37.
    Sangiorgi, D., Xu, X.: Trees from functions as processes. In: Baldan, P., Gorla, D. (eds.) CONCUR 2014. LNCS, vol. 8704, pp. 78–92. Springer, Heidelberg (2014)Google Scholar
  38. 38.
    Shao, Z., Appel, A.W.: A type-based compiler for standard ML. In: Proceedings of PLDI 1995, pp. 116–129. ACM (1995)Google Scholar
  39. 39.
    Thomsen, B.: Calculi for Higher Order Communicating Systems. PhD thesis, Department of Computer Science, Imperial College (1990)Google Scholar
  40. 40.
    Thomsen, B.: Plain CHOCS: a second generation calculus for higher order processes. Acta Informatica 30(1), 1–59 (1993)MathSciNetCrossRefzbMATHGoogle Scholar
  41. 41.
    van Glabbeek, R.J.: Musings on encodings and expressiveness. In Proceedings of EXPRESS/SOS. EPTCS, vol. 89, pp. 81–98 (2012)Google Scholar
  42. 42.
    Xu, X.: Distinguishing and relating higher-order and first-order processes by expressiveness. Acta Informatica 49(7–8), 445–484 (2012)MathSciNetCrossRefzbMATHGoogle Scholar
  43. 43.
    Xu, X., Yin, Q., Long, H.: On the expressiveness of parameterization in process-passing. In: Tuosto, E., Ouyang, C. (eds.) WS-FM 2013. LNCS, vol. 8379, pp. 147–167. Springer, Heidelberg (2014)Google Scholar
  44. 44.
    Xu, X., Yin, Q., Long, H.: On the computation power of name parameterization in higher-order processes. In: Proceedings of ICE. EPTCS, vol. 189, pp. 114–127 (2015)Google Scholar
  45. 45.
    Yoshida, N.: Graph types for monadic mobile processes. In: Chandru, V., Vinay, V. (eds.) FSTTCS 1996. LNCS, vol. 1180, pp. 371–386. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  46. 46.
    Yoshida, N., Berger, M., Honda, K.: Strong normalisation in the pi -calculus. Inf. Comput. 191(2), 145–202 (2004)MathSciNetCrossRefzbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2016

Authors and Affiliations

  • Dimitrios Kouzapas
    • 1
  • Jorge A. Pérez
    • 2
  • Nobuko Yoshida
    • 3
  1. 1.University of GlasgowGlasgowUK
  2. 2.University of GroningenGroningenThe Netherlands
  3. 3.Imperial College LondonLondonUK

Personalised recommendations