Skip to main content
Log in

Psi-Calculi in Isabelle

  • Published:
Journal of Automated Reasoning Aims and scope Submit manuscript

Abstract

This paper presents a mechanisation of psi-calculi, a parametric framework for modelling various dialects of process calculi including (but not limited to) the pi-calculus, the applied pi-calculus, and the spi calculus. psi-calculi are significantly more expressive, yet their semantics is as simple in structure as the semantics of the original pi-calculus. Proofs of meta-theoretic properties for psi-calculi are more involved, however, not least because psi-calculi (unlike simpler calculi) utilise binders that bind multiple names at once. The mechanisation is carried out in the Nominal Isabelle framework, an interactive proof assistant designed to facilitate formal reasoning about calculi with binders. Our main contributions are twofold. First, we have developed techniques that allow efficient reasoning about calculi that bind multiple names in Nominal Isabelle. Second, we have adopted these techniques to mechanise substantial results from the meta-theory of psi-calculi, including congruence properties of bisimilarity and the laws of structural congruence. To our knowledge, this is the most extensive formalisation of process calculi mechanised in a proof assistant to date.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Abadi, M., Fournet, C.: Mobile values, new names, and secure communication. ACM SIGPLAN Not. 36(3), 104–115 (2001)

    Article  Google Scholar 

  2. Abadi, M., Gordon, A.D.: A calculus for cryptographic protocols: The spi calculus. Inf. Comput. 148, 36–47 (1999)

    Article  MathSciNet  Google Scholar 

  3. Aydemir, B.E., Bohannon, A., Fairbairn, M., Foster, N.J., Pierce, B.C., Sewell, P., Vytiniotis, D., Washburn, G., Weirich, S., Zdancewic, S. Mechanized metatheory for the masses: The POPLmark challenge. In: Hurd, J., Melham, T. (eds.) : Proceedings TPHOLs 2005, LNCS, vol. 3603, pp. 50–65. Springer (2005)

  4. Aydemir, B.E., Charguéraud, A., Pierce, B.C., Pollack, R., Weirich, S. Engineering formal metatheory. In: Necula, G.C., Wadler, P. (eds.) : Proceedings POPL 2008, pp. 3–15. ACM (2008)

  5. Ballarin, C. Locales and locale expressions in Isabelle/Isar. In: Berardi, S., Coppo, M., Damiani, F. (eds.) : Types for Proofs and Programs, International Workshop, TYPES 2003, Torino, Italy, April 30 – May 4, 2003, Revised Selected Papers, LNCS, vol. 3085, pp. 34–50. Springer (2003)

  6. Barendregt, H.P.: The lambda calculus : its syntax and semantics. North-Holland Pub. Co (1981)

  7. Bengtson, J.: Formalizing process calculi. Ph.D. thesis, Uppsala Universitet (2010)

  8. Bengtson, J.: Psi-calculi in Isabelle. Archive of Formal Proofs. http://afp.sf.net/entries/Psi_Calculi.shtml, Formal proof development (2012)

  9. Bengtson, J., Johansson, M., Parrow, J., Victor, B.: Psi-calculi: a framework for mobile processes with nominal data and logic. Logical Methods in Computer Science 7(1) (2011)

  10. Bengtson, J., Parrow, J.: Formalising the pi-calculus using nominal logic. Logical Methods in Computer Science 5(2) (2008)

  11. Bengtson, J., Parrow, J.: Psi-calculi in Isabelle. In: Berghofer, S., Nipkow, T., Urban, C., Wenzel, M. (eds.) : Proceedings TPHOLs 2009, LNCS, vol. 5674, pp. 99–114. Springer (2009)

  12. Berghofer, S.: Simply-typed lambda-calculus with let and tuple patterns. http://isabelle.in.tum.de/repos/isabelle/file/81e8fdfeb849/src/HOL/Nominal/Examples/Pattern.thy. Retrieved on October 1, 2013 (2010)

  13. Berghofer, S., Urban, C.: Nominal inversion principles. In: Mohamed, O.A., Muñoz, C.A., Tahar, S. (eds.) : Proceedings TPHOLs ’08, LNCS, vol. 5170, pp. 71–85. Springer (2008)

  14. Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Inf. Control. 60(1–3), 109–137 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  15. Bertot, Y.: A short presentation of Coq. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) : Proceedings TPHOLs 2008, LNCS, vol. 5170, pp. 12–16. Springer (2008)

  16. Borgström, J., Gutkovas, R., Parrow, J., Victor, B., Pohjola, J.Å.: Sorted psi-calculi with generalised pattern matching. To appear in LNCS 8358, Proceedings of TGC (2013)

  17. Borgström, J., Huang, S., Johansson, M., Raabjerg, P., Victor, B., Pohjola, J.Å., Parrow, J. Broadcast psi-calculi with an application to wireless protocols. In: Barthe, G., Pardo, A., Schneider, G. (eds.) : Proceedings SEFM 2011, LNCS, vol. 7041, pp. 74–89. Springer (2011)

  18. Briais, S.: A formalisation of the spi calculus in Coq (2007). Email to the Coq-club mailing list sent on Nov 2, 2007. Retrieved from, http://permalink.gmane.org/gmane.science.mathematics.logic.coq.club/1865 on October 1, 2013

  19. de Bruijn, N.G.: Lambda calculus notation with nameless dummies. A tool for automatic formula manipulation with application to the Church-Rosser theorem. Indag. Math. 34, 381–392 (1972)

    Article  MathSciNet  Google Scholar 

  20. Buscemi, M.G., Montanari, U. CC-Pi: A constraint-based language for specifying service level agreements. In: De Nicola, R. (ed.) : Proceedings ESOP 2007, LNCS, vol. 4421, pp. 18–32. Springer (2007)

  21. Carbone, M., Maffeis, S.: On the expressive power of polyadic synchronisation in p-calculus. Nordic Journal of Computing 10(2), 70–98 (2003)

    MATH  MathSciNet  Google Scholar 

  22. Charguéraud, A.: The locally nameless representation. J. Autom. Reason., 1–46 (2011)

  23. Church, A.: An unsolvable problem of elementary number theory. Am. J. Math. 58(2), 345–363 (1936)

    Article  MathSciNet  Google Scholar 

  24. Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Form. Asp. Comput. 13, 341–363 (2001)

    Article  Google Scholar 

  25. Gardner, P., Wischik, L. Explicit fusions. In: Nielsen, M., Rovan, B. (eds.) : Proceedings MFCS 2000, LNCS, vol. 1893, pp. 373–382. Springer (2000)

  26. Hirschkoff, D.: A full formalisation of pi-calculus theory in the calculus of constructions. In: Gunter, E.L., Felty, A.P. (eds.) : Proceedings TPHOLs ’97, LNCS, vol. 1275, pp. 153–169. Springer (1997)

  27. Hoare, C.A.R.: Communicating sequential processes. Commun ACM 21(8), 666–677 (1978)

    Article  MATH  MathSciNet  Google Scholar 

  28. Honsell, F., Miculan, M., Scagnetto, I.: pi-calculus in (co)inductive-type theory. Theor. Comput. Sci. 253(2), 239–285 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  29. Huffman, B., Urban, C. A new foundation for Nominal Isabelle. In: Kaufmann, M., Paulson, L.C. (eds.) : Proceedings ITP 2010, LNCS, vol. 6172, pp. 35–50. Springer (2010)

  30. Hur, C.K., Neis, G., Dreyer, D., Vafeiadis, V. The power of parameterization in coinductive proof. In: Giacobazzi, R., Cousot, R. (eds.) : The 40th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL ’13, Rome, Italy - January 23 - 25, 2013, pp. 193–206. ACM (2013)

  31. Isabelle: Retrieved from, http://isabelle.in.tum.de/ on October 1, 2013 (2013)

  32. Johansson, M., Parrow, J., Victor, B., Bengtson, J., Aceto, L., Damgård, I., Goldberg, L.A., Halldórsson, M.M., Ingólfsdóttir, A., Walukiewicz, I.: Extended pi-calculi: Proceedings ICALP 2008, LNCS, vol. 5126, pp. 87–98. Springer (2008)

  33. Kahsai, T., Miculan, M. Implementing spi calculus using nominal techniques. In: Beckmann, A., Dimitracopoulos, C., Löwe, B. (eds.) : Proceedings CiE 2008, LNCS, vol. 5028, pp. 294–305. Springer (2008)

  34. Melham, T.F.: A mechanized theory of the pi-calculus in HOL. Nordic Journal of Computing 1(1), 50–76 (1994)

    MathSciNet  Google Scholar 

  35. Milner, R.: A Calculus of Communicating Systems, LNCS, vol. 92. Springer (1980)

  36. Milner, R.: Communication and Concurrency. Prentice-Hall, Inc (1989)

  37. Milner, R.: The polyadic pi-calculus: a tutorial. In: Bauer, F.L., Brauer, W., Schwichtenberg, H. (eds.) : Logic and Algebra of Specification, pp. 203–246. Springer (1993)

  38. Milner, R.: Communicating and mobile systems - the Pi-calculus. Cambridge University Press (1999)

  39. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I/II. Inf. Comput. 100(1), 1–77 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  40. Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML – Revised. MIT Press (1997)

  41. Mohamed, O.A.: The theory of the pi-calcul in HOL. Ph.D. thesis, Henri Poincare University (1996)

  42. Park, D.M.R.: Concurrency and automata on infinite sequences. In: Deussen, P. (ed.) : Proceedings OF the LNCS Theoretical Computer Science, 5th GI-Conference, Karlsruhe, Germany, March 23–25, 1981, vol. 104, pp. 167–183. Springer (1981)

  43. Parrow, J., Borgström, J., Raabjerg, P., Åman Pohjola, J.: Higher-order psi-calculi. Math. Struct. Comput. Sci. FirstView, 1–37 (2013). doi:10.1017/S0960129513000170

    Article  Google Scholar 

  44. Pierce, B.C., Weirich, S.: Preface. J. Autom. Reason. 49(3), 301–302 (2012)

    Article  MathSciNet  Google Scholar 

  45. Pitts, A.M.: Nominal logic, a first order theory of names and binding. Inf. Comput. 186(2), 165–193 (2003)

    Article  MATH  MathSciNet  Google Scholar 

  46. Röckl, C., Hirschkoff, D.: A fully adequate shallow embedding of the p-calculus in Isabelle/HOL with mechanized syntax analysis. J. Funct. Program. 13(2), 415–451 (2003)

    Article  MATH  Google Scholar 

  47. Slind, K., Norrish, M.: A brief overview of HOL4. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) : Proceedings TPHOLs 2008, LNCS, vol. 5170, pp. 28–32. Springer (2008)

  48. Urban, C.: Nominal techniques in Isabelle/HOL. J. Autom. Reason. 40(4), 327–356 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  49. Urban, C., Berghofer, S., Norrish, M.: Barendregt’s variable convention in rule inductions. In: Pfenning, F. (ed.) : Proceedings CADE-21, LNCS, vol. 4603, pp. 35–50. Springer (2007)

  50. Urban, C., Kaliszyk, C.: General bindings and alpha-equivalence in Nominal Isabelle. Logical Methods in Computer Science 8(2) (2012)

  51. de Vries, E., Koutavas, V.: Locally nameless permutation types. Submitted. Retrieved from, https://www.cs.tcd.ie/Edsko.de.Vries/pub/lnpt.pdf on October 1, 2013

  52. Wenzel, M., Paulson, L.C., Nipkow, T.: The Isabelle framework. In: Mohamed, O.A., Muñoz, C., Tahar, S. (eds.) : Proceedings TPHOLs 2008, LNCS, vol. 5170, pp. 33–38. Springer (2008)

  53. Wenzel, M., et al.: The Isabelle/Isar Reference Manual. Retrieved from http://isabelle.in.tum.de/dist/Isabelle2013/doc/isar-ref.pdf on October 1, 2013 (2013)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jesper Bengtson.

Additional information

In memory of Robin Milner

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Bengtson, J., Parrow, J. & Weber, T. Psi-Calculi in Isabelle. J Autom Reasoning 56, 1–47 (2016). https://doi.org/10.1007/s10817-015-9336-2

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10817-015-9336-2

Keywords

Navigation