Deciding Synchronous Kleene Algebra with Derivatives

  • Sabine Broda
  • Sílvia Cavadas
  • Miguel Ferreira
  • Nelma Moreira
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9223)

Abstract

Synchronous Kleene algebra (SKA) is a decidable framework that combines Kleene algebra (KA) with a synchrony model of concurrency. Elements of SKA can be seen as processes taking place within a fixed discrete time frame and that, at each time step, may execute one or more basic actions or then come to a halt. The synchronous Kleene algebra with tests (SKAT) combines SKA with a Boolean algebra. Both algebras were introduced by Prisacariu, who proved the decidability of the equational theory, through a Kleene theorem based on the classical Thompson \(\varepsilon \)-NFA construction. Using the notion of partial derivatives, we present a new decision procedure for equivalence between SKA terms. The results are extended for SKAT considering automata with transitions labeled by Boolean expressions instead of atoms. This work continous previous research done for KA and KAT, where derivative based methods were used in feasible algorithms for testing terms equivalence.

Keywords

Synchronous Kleene algebra Concurrency Equivalence Derivative 

References

  1. 1.
    Almeida, M., Moreira, N., Reis, R.: Testing regular languages equivalence. J. Automata Lang. Comb. 15(1/2), 7–25 (2010)Google Scholar
  2. 2.
    Almeida, R.: Decision algorithms for Kleene algebra with tests and Hoare logic. Master’s thesis, Faculdade de Ciências da Universidade do Porto, July 2012. http://www.dcc.fc.up.pt/~nam/web/resources/docs/thesisRA.pdf
  3. 3.
    Almeida, R., Broda, S., Moreira, N.: Deciding KAT and Hoare logic with derivatives. In: Faella, M., Murano, A. (eds.) 3rd GANDALF. EPTCS, vol. 96, pp. 127–140 (2012)Google Scholar
  4. 4.
    Antimirov, V.M.: Partial derivatives of regular expressions and finite automaton constructions. Theoret. Comput. Sci. 155(2), 291–319 (1996)MathSciNetCrossRefMATHGoogle Scholar
  5. 5.
    Berry, G., Gonthier, G.: The Esterel synchronous programming language: design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)CrossRefMATHGoogle Scholar
  6. 6.
    Bonchi, F., Pous, D.: Checking NFA equivalence with bisimulations up to congruence. In: Giacobazzi, R., Cousot, R. (eds.) POPL 2013, pp. 457–468. ACM (2013)Google Scholar
  7. 7.
    Braibant, T., Pous, D.: Deciding Kleene algebras in Coq. Log. Methods Comput. Sci. 8(1), 1–42 (2012)MathSciNetCrossRefGoogle Scholar
  8. 8.
    Broda, S., Machiavelo, A., Moreira, N., Reis, R.: On the average size of Glushkov and partial derivative automata. Int. J. Found. Comput. Sci. 23(5), 969–984 (2012)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Broda, S., Machiavelo, A., Moreira, N., Reis, R.: On the average size of Glushkov and equation automata for \({\sf {KAT}}\) expressions. In: Gąsieniec, L., Wolter, F. (eds.) FCT 2013. LNCS, vol. 8070, pp. 72–83. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  10. 10.
    Broda, S., Machiavelo, A., Moreira, N., Reis, R.: On the equivalence of automata for \({\sf {KAT}}\)-expressions. In: Beckmann, A., Csuhaj-Varjú, E., Meer, K. (eds.) CiE 2014. LNCS, vol. 8493, pp. 73–83. Springer, Heidelberg (2014) Google Scholar
  11. 11.
    Broda, S., Machiavelo, A., Moreira, N., Reis, R.: Partial derivative automaton for regular expressions with shuffle. In: Shallit, J., Okhotin, A. (eds.) DCFS 2015. LNCS, vol. 9118, pp. 21–32. Springer, Heidelberg (2015) CrossRefGoogle Scholar
  12. 12.
    Coquand, T., Siles, V.: A decision procedure for regular expression equivalence in type theory. In: Jouannaud, J.-P., Shao, Z. (eds.) CPP 2011. LNCS, vol. 7086, pp. 119–134. Springer, Heidelberg (2011) CrossRefGoogle Scholar
  13. 13.
    Glushkov, V.M.: The abstract theory of automata. Russ. Math. Surv. 16, 1–53 (1961)CrossRefGoogle Scholar
  14. 14.
    Hopcroft, J., Karp, R.M.: A linear algorithm for testing equivalence of finite automata. Technical report TR 71–114, University of California, Berkeley, California (1971)Google Scholar
  15. 15.
    Kozen, D.: Kleene algebra with tests. Trans. Prog. Lang. Syst. 19(3), 427–443 (1997)CrossRefGoogle Scholar
  16. 16.
    Kozen, D.: On Hoare logic and Kleene algebra with tests. ACM Trans. Comput. Log. 1(1), 60–76 (2000)MathSciNetCrossRefGoogle Scholar
  17. 17.
    Kozen, D.: Automata on guarded strings and applications. Matématica Contemporânea 24, 117–139 (2003)MathSciNetMATHGoogle Scholar
  18. 18.
    Kozen, D.: On the coalgebraic theory of Kleene algebra with tests. Technical report, Cornell University (2008). http://hdl.handle.net/1813/10173
  19. 19.
    Krauss, A., Nipkow, T.: Proof pearl: regular expression equivalence and relation algebra. J. Autom. Reasoning 49, 95–109 (2011)MathSciNetCrossRefGoogle Scholar
  20. 20.
    Milner, R.: Communication and concurrency. PHI Series in computer science. Prentice Hall, Upper Saddle River (1989) MATHGoogle Scholar
  21. 21.
    Moreira, N., Pereira, D., Melo de Sousa, S.: Deciding regular expressions (in-)equivalence in Coq. In: Kahl, W., Griffin, T.G. (eds.) RAMICS 2012. LNCS, vol. 7560, pp. 98–113. Springer, Heidelberg (2012) CrossRefGoogle Scholar
  22. 22.
    Nipkow, T., Traytel, D.: Unified decision procedures for regular expression equivalence. In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS, vol. 8558, pp. 450–466. Springer, Heidelberg (2014). Archive of Formal Proofs 2014 Google Scholar
  23. 23.
    Pereira, D.: Towards certified program logics for the verification of imperative programs. Ph.D. thesis, University of Porto (2013)Google Scholar
  24. 24.
    Pous, D.: Symbolic algorithms for language equivalence and Kleene algebra with tests. In: Rajamani, S.K., Walker, D. (eds.) 42nd POPL 2015, pp. 357–368. ACM (2015)Google Scholar
  25. 25.
    Prisacariu, C.: Synchronous Kleene algebra. J. Log. Algebr. Program. 79(7), 608–635 (2010)MathSciNetCrossRefMATHGoogle Scholar
  26. 26.
    Project FAdo: FAdo: tools for formal languages manipulation. http://fado.dcc.fc.up.pt/.(Accessed on 01 April 2015)
  27. 27.
    Rot, J., Bonsangue, M., Rutten, J.: Coinductive proof techniques for language equivalence. In: Dediu, A.-H., Martín-Vide, C., Truthe, B. (eds.) LATA 2013. LNCS, vol. 7810, pp. 480–492. Springer, Heidelberg (2013) CrossRefGoogle Scholar
  28. 28.
    Silva, A.: Position automata for Kleene algebra with tests. Sci. Ann. Comp. Sci. 22(2), 367–394 (2012)Google Scholar
  29. 29.
    Synopsys: Esterel studio. http://www.synopsys.com/home.aspx
  30. 30.
    Thompson, K.: Regular expression search algorithm. Commun. ACM 11(6), 410–422 (1968)CrossRefGoogle Scholar
  31. 31.
    Veanes, M.: Applications of symbolic finite automata. In: Konstantinidis, S. (ed.) CIAA 2013. LNCS, vol. 7982, pp. 16–23. Springer, Heidelberg (2013) CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  • Sabine Broda
    • 1
  • Sílvia Cavadas
    • 1
  • Miguel Ferreira
    • 1
  • Nelma Moreira
    • 1
  1. 1.CMUP & DCCFaculdade de Ciências da Universidade do Porto, Rua do Campo AlegrePortoPortugal

Personalised recommendations