Abstract
We present an algorithm to decide the equivalence of context-free session types, practical to the point of being incorporated in a compiler. We prove its soundness and completeness. We further evaluate its behaviour in practice. In the process, we introduce an algorithm to decide the bisimilarity of simple grammars.
Keywords: Types, Type equivalence, Bisimulation, Algorithm
Contributor Information
Armin Biere, Email: biere@jku.at.
David Parker, Email: d.a.parker@cs.bham.ac.uk.
Andreia Mordido, Email: afmordido@ciencias.ulisboa.pt.
References
- 1.Aceto, L., Hennessy, M.: Termination, deadlock, and divergence. J. ACM 39(1), 147–187 (1992)
- 2.Almeida, B., Mordido, A., T. Vasconcelos, V.: Freest: Context-free session types in a functional language. In: Proceedings Programming Language Approaches to Concurrency- and Communication-cEntric Software. Electronic Proceedings in Theoretical Computer Science, vol. 291, pp. 12–23. Open Publishing Association (2019). 10.4204/EPTCS.291.2
- 3.Baeten, J.C., Bergstra, J.A., Klop, J.W.: Decidability of bisimulation equivalence for process generating context-free languages. Journal of the ACM (JACM) 40(3), 653–682 (1993)
- 4.Burkart, O., Caucal, D., Steffen, B.: An elementary bisimulation decision procedure for arbitrary context-free processes. In: Mathematical Foundations of Computer Science. pp. 423–433 (1995). 10.1007/3-540-60246-1_148
- 5.Caucal, D.: Décidabilité de l’égalité des langages algébriques infinitaires simples. In: Annual Symposium on Theoretical Aspects of Computer Science. pp. 37–48. Springer (1986)
- 6.Christensen, S., Hüttel, H., Stirling, C.: Bisimulation equivalence is decidable for all context-free processes. Inf. Comput. 121(2), 143–148 (1995)
- 7.Claessen, K., Hughes, J.: Quickcheck: a lightweight tool for random testing of haskell programs. In: Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming. pp. 268–279. ACM (2000), 10.1145/351240.351266 [DOI]
- 8.Czerwinski, W., Lasota, S.: Fast equivalence-checking for normed context-free processes. In: IARCS Annual Conference on Foundations of Software Technology and Theoretical Computer Science (FSTTCS 2010). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik (2010)
- 9.Gay, S.J., Hole, M.: Subtyping for session types in the pi calculus. Acta Inf. 42(2-3), 191–225 (2005). 10.1007/s00236-005-0177-z
- 10.Henry, P., Sénizergues, G.: Lalblc a program testing the equivalence of dpda’s. In: International Conference on Implementation and Application of Automata. pp. 169–180. Springer (2013)
- 11.Hirshfeld, Y.: Bisimulation trees and the decidability of weak bisimulations. Electr. Notes Theor. Comput. Sci. 5, 2–13 (1996)
- 12.Hirshfeld, Y., Jerrum, M., Moller, F.: A polynomial algorithm for deciding bisimilarity of normed context-free processes. Theor. Comput. Sci. 158(1&2), 143–159 (1996). 10.1016/0304-3975(95)00064-X
- 13.Hirshfeld, Y., Moller, F.: A fast algorithm for deciding bisimilarity of normed context-free processes. In: CONCUR ’94, Concurrency Theory. pp. 48–63 (1994). 10.1007/978-3-540-48654-1_5
- 14.Honda, K.: Types for dyadic interaction. In: CONCUR ’93, 4th International Conference on Concurrency Theory. LNCS, vol. 715, pp. 509–523. Springer (1993)
- 15.Honda, K., Vasconcelos, V.T., Kubo, M.: Language primitives and type discipline for structured communication-based programming. In: Programming Languages and Systems. pp. 122–138 (1998). 10.1007/BFb0053567
- 16.Jančar, P.: Selected ideas used for decidability and undecidability of bisimilarity. In: International Conference on Developments in Language Theory. pp. 56–71. Springer (2008)
- 17.Jancar, P.: Bisimilarity on basic process algebra is in 2-exptime (an explicit proof). arXiv preprint arXiv:1207.2479 (2012)
- 18.Jančar, P., Moller, F.: Techniques for decidability and undecidability of bisimilarity. In: International Conference on Concurrency Theory. pp. 30–45. Springer (1999)
- 19.Kiefer, S.: Bpa bisimilarity is exptime-hard. Information Processing Letters 113(4), 101–106 (2013)
- 20.Padovani, L.: Context-free session type inference. In: Programming Languages and Systems - 26th European Symposium on Programming. pp. 804–830 (2017). 10.1007/978-3-662-54434-1_30
- 21.Sangiorgi, D.: An Introduction to Bisimulation and Coinduction. Cambridge University Press (2014)
- 22.Sénizergues, G.: The equivalence problem for deterministic pushdown automata is decidable. In: International Colloquium on Automata, Languages, and Programming. pp. 671–681. Springer (1997)
- 23.Stirling, C.: Decidability of DPDA equivalence. Theoretical Computer Science 255(1-2), 1–31 (2001)
- 24.Takeuchi, K., Honda, K., Kubo, M.: An interaction-based language and its typing system. In: PARLE. LNCS, vol. 817, pp. 398–413. Springer (1994)
- 25.Tarski, A., et al.: A lattice-theoretical fixpoint theorem and its applications. Pacific journal of Mathematics 5(2), 285–309 (1955)
- 26.Thiemann, P., Vasconcelos, V.T.: Context-free session types. In: Proceedings of the 21st ACM SIGPLAN International Conference on Functional Programming. pp. 462–475 (2016). 10.1145/2951913.2951926.
