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.
Similar content being viewed by others
References
Abadi, M., Fournet, C.: Mobile values, new names, and secure communication. ACM SIGPLAN Not. 36(3), 104–115 (2001)
Abadi, M., Gordon, A.D.: A calculus for cryptographic protocols: The spi calculus. Inf. Comput. 148, 36–47 (1999)
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)
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)
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)
Barendregt, H.P.: The lambda calculus : its syntax and semantics. North-Holland Pub. Co (1981)
Bengtson, J.: Formalizing process calculi. Ph.D. thesis, Uppsala Universitet (2010)
Bengtson, J.: Psi-calculi in Isabelle. Archive of Formal Proofs. http://afp.sf.net/entries/Psi_Calculi.shtml, Formal proof development (2012)
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)
Bengtson, J., Parrow, J.: Formalising the pi-calculus using nominal logic. Logical Methods in Computer Science 5(2) (2008)
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)
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)
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)
Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Inf. Control. 60(1–3), 109–137 (1984)
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)
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)
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)
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
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)
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)
Carbone, M., Maffeis, S.: On the expressive power of polyadic synchronisation in p-calculus. Nordic Journal of Computing 10(2), 70–98 (2003)
Charguéraud, A.: The locally nameless representation. J. Autom. Reason., 1–46 (2011)
Church, A.: An unsolvable problem of elementary number theory. Am. J. Math. 58(2), 345–363 (1936)
Gabbay, M.J., Pitts, A.M.: A new approach to abstract syntax with variable binding. Form. Asp. Comput. 13, 341–363 (2001)
Gardner, P., Wischik, L. Explicit fusions. In: Nielsen, M., Rovan, B. (eds.) : Proceedings MFCS 2000, LNCS, vol. 1893, pp. 373–382. Springer (2000)
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)
Hoare, C.A.R.: Communicating sequential processes. Commun ACM 21(8), 666–677 (1978)
Honsell, F., Miculan, M., Scagnetto, I.: pi-calculus in (co)inductive-type theory. Theor. Comput. Sci. 253(2), 239–285 (2001)
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)
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)
Isabelle: Retrieved from, http://isabelle.in.tum.de/ on October 1, 2013 (2013)
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)
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)
Melham, T.F.: A mechanized theory of the pi-calculus in HOL. Nordic Journal of Computing 1(1), 50–76 (1994)
Milner, R.: A Calculus of Communicating Systems, LNCS, vol. 92. Springer (1980)
Milner, R.: Communication and Concurrency. Prentice-Hall, Inc (1989)
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)
Milner, R.: Communicating and mobile systems - the Pi-calculus. Cambridge University Press (1999)
Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, I/II. Inf. Comput. 100(1), 1–77 (1992)
Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML – Revised. MIT Press (1997)
Mohamed, O.A.: The theory of the pi-calcul in HOL. Ph.D. thesis, Henri Poincare University (1996)
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)
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
Pierce, B.C., Weirich, S.: Preface. J. Autom. Reason. 49(3), 301–302 (2012)
Pitts, A.M.: Nominal logic, a first order theory of names and binding. Inf. Comput. 186(2), 165–193 (2003)
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)
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)
Urban, C.: Nominal techniques in Isabelle/HOL. J. Autom. Reason. 40(4), 327–356 (2008)
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)
Urban, C., Kaliszyk, C.: General bindings and alpha-equivalence in Nominal Isabelle. Logical Methods in Computer Science 8(2) (2012)
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
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)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
In memory of Robin Milner
Rights and permissions
About this article
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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10817-015-9336-2