Skip to main content

Formal Verification of Executable Complementation and Equivalence Checking for Büchi Automata

  • Conference paper
  • First Online:
Integrated Formal Methods (IFM 2020)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 12546))

Included in the following conference series:

  • 448 Accesses

Abstract

We develop a complementation procedure and an equivalence checker for nondeterministic Büchi automata. Both are formally verified using the proof assistant Isabelle/Hol. The verification covers everything from the abstract correctness proof down to the generated Sml code.

The complementation follows the rank-based approach. We formalize the abstract algorithm and use refinement to derive an executable implementation. In conjunction with a product operation and an emptiness check, this enables deciding language-wise equivalence between nondeterministic Büchi automata. We also improve and extend our library for transition systems and automata presented in previous research.

Finally, we develop a command-line executable providing complementation and equivalence checking as a verified reference tool. It can be used to test the output of other, unverified tools. We also include some tests that demonstrate that its performance is sufficient to do this in practice.

Research supported by Dfg grant Cava (Computer Aided Verification of Automata, ES 139/5-1, NI 491/12-1, SM 73/2-1) and Cava2 (Verified Model Checkers, KR 4890/1-1, LA 3292/1-1).

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Babiak, T., et al.: The Hanoi omega-automata format. In: Kroening, D., Păsăreanu, C.S. (eds.) CAV 2015. LNCS, vol. 9206, pp. 479–486. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-21690-4_31

    Chapter  Google Scholar 

  2. Back, R.-J., von Wright, J.: Refinement Calculus - A Systematic Introduction. Texts in Computer Science. Springer, New York (1998). https://doi.org/10.1007/978-1-4612-1674-2

    Book  MATH  Google Scholar 

  3. Biendarra, J., et al.: Foundational (Co)datatypes and (Co)recursion for higher-order logic. In: Dixon, C., Finger, M. (eds.) FroCoS 2017. LNCS (LNAI), vol. 10483, pp. 3–21. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-66167-4_1

    Chapter  Google Scholar 

  4. Blanchette, J.C., Hölzl, J., Lochbihler, A., Panny, L., Popescu, A., Traytel, D.: Truly modular (Co)datatypes for isabelle/HOL. In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS, vol. 8558, pp. 93–110. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08970-6_7

    Chapter  Google Scholar 

  5. Brunner, J.: Büchi complementation. In: Archive of Formal Proofs (2017). https://www.isa-afp.org/entries/Buchi_Complementation.html

  6. Brunner, J.: Partial order reduction. In: Archive of Formal Proofs (2018). https://www.isa-afp.org/entries/Partial_Order_Reduction.html

  7. Brunner, J.: Transition systems and automata. In: Archive of Formal Proofs (2017). https://www.isa-afp.org/entries/Transition_Systems_and_Automata.html

  8. Brunner, J., Lammich, P.: Formal verification of an executable LTL model checker with partial order reduction. J. Autom. Reason. 60, 3–21 (2018). https://doi.org/10.1007/s10817-017-9418-4

  9. Brunner, J., Seidl, B., Sickert, S.: A verified and compositional translation of LTL to deterministic rabin automata. In: ITP 2019 (2019). https://doi.org/10.4230/LIPIcs.ITP.2019.11

  10. Richard Büchi, J.: On a decision method in restricted second order arithmetic. In: Proceedings of the International Congress on Logic, Methodology, and Philosophy of Science, p. 1962, Berkeley, California, USA (1960)

    Google Scholar 

  11. Duret-Lutz, A., Lewkowicz, A., Fauchille, A., Michaud, T., Renault, É., Xu, L.: Spot 2.0 — a framework for LTL and \(\omega \)-automata manipulation. In: Artho, C., Legay, A., Peled, D. (eds.) ATVA 2016. LNCS, vol. 9938, pp. 122–129. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-46520-3_8

    Chapter  Google Scholar 

  12. Dwyer, M.B., Avrunin, G.S., Corbett, J.C.: Property specification patterns for finite-state verification. In: Proceedings of the Second Workshop on Formal Methods in Software Practice (1998). https://doi.org/10.1145/298595.298598

  13. Esparza, J., Lammich, P., Neumann, R., Nipkow, T., Schimpf, A., Smaus, J.-G.: A fully verified executable LTL model checker. In: Sharygina, N., Veith, H. (eds.) CAV 2013. LNCS, vol. 8044, pp. 463–478. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39799-8_31

    Chapter  Google Scholar 

  14. Esparza, J., Lammich, P., Neumann, R., Nipkow, T., Schimpf, A., Smaus, J.: A fully verified executable LTL model checker. In: Archive of Formal Proofs 2014 (2014). https://www.isa-afp.org/entries/CAVA_LTL_Modelchecker.shtml

  15. Friedgut, E., Kupferman, O., Vardi, M.Y.: Büchi complementation made tighter. Int. J. Found. Comput. Sci. 17(4), 851–868 (2006). https://doi.org/10.1142/S0129054106004145

  16. Gabow, H.N.: Path-based depth-first search for strong and biconnected components. Inf. Process. Lett. 74(3–4), 107–114 (2000). https://doi.org/10.1016/S0020-0190(00)00051-X

  17. Haftmann, F., Nipkow, T.: Code generation via higher-order rewrite systems. In: Blume, M., Kobayashi, N., Vidal, G. (eds.) FLOPS 2010. LNCS, vol 6009, pp. 103–117. Springer, Berlin, Heidelberg (2010).https://doi.org/10.1007/978-3-642-12251-4_9

  18. Holzmann, G.J., Peled, D.A., Yannakakis, M.: On nested depth first search. In: The Spin Verification System, Proceedings of a DIMACS Workshop (1996). https://doi.org/10.1090/dimacs/032/03

  19. Křetínský, J., Meggendorfer, T., Sickert, S.: Owl: a library for \(\omega \)-Words, automata, and LTL. In: Lahiri, S.K., Wang, C. (eds.) ATVA 2018. LNCS, vol. 11138, pp. 543–550. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-01090-4_34

    Chapter  Google Scholar 

  20. Kupferman, O., Vardi, M.Y.: Weak alternating automata are not that weak. ACM Trans. Comput. Log. 2(3), 408–429 (2001). https://doi.org/10.1145/377978.377993

  21. Lammich, P.: Automatic data refinement. In: Archive of Formal Proofs (2013).https://www.isa-afp.org/entries/Automatic_Refinement.shtml

  22. Lammich, P.: Automatic data refinement. In: Blazy, S., Paulin-Mohring, C., Pichardie, D. (eds.) ITP 2013. LNCS, vol. 7998, pp. 84–99. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-39634-2_9

    Chapter  Google Scholar 

  23. Lammich, P.: Collections framework. In: Archive of Formal Proofs (2009). https://www.isa-afp.org/entries/Collections.shtml

  24. Lammich, P.: Refinement for monadic programs. In: Archive of Formal Proofs (2012). https://www.isa-afp.org/entries/Refine_Monadic.shtml

  25. Lammich, P.: Refinement to imperative/HOL. In: Urban, C., Zhang, X. (eds.) ITP 2015. LNCS, vol. 9236, pp. 253–269. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-22102-1_17

    Chapter  Google Scholar 

  26. Lammich, P.: The imperative refinement framework. In: Archive of Formal Proofs (2016). https://www.isa-afp.org/entries/Refine_Imperative_HOL.shtml

  27. Lammich, P.: Verified efficient implementation of Gabow’s strongly connected component algorithm. In: Klein, G., Gamboa, R. (eds.) ITP 2014. LNCS, vol. 8558, pp. 325–340. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-08970-6_21

    Chapter  Google Scholar 

  28. Lammich, P.: Verified efficient implementation of Gabow’s strongly connected components algorithm. In: Archive of Formal Proofs (2014). https://www.isa-afp.org/entries/Gabow_SCC.shtml

  29. Lammich, P., Lochbihler, A.: The Isabelle collections framework. In: Kaufmann, M., Paulson, L.C. (eds.) ITP 2010. LNCS, vol. 6172, pp. 339–354. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-14052-5_24

    Chapter  Google Scholar 

  30. Lammich, P., Neumann, R.: A framework for verifying depth- first search algorithms. In: CPP 2015 (2015). https://doi.org/10.1145/2676724.2693165

  31. Lammich, P., Neumann, R.: A framework for verifying depth- first search algorithms. In: Archive of Formal Proofs (2016). https://www.isa-afp.org/entries/DFS_Framework.shtml

  32. Lammich, P., Tuerk, T.: Applying data refinement for monadic programs to Hopcroft’s algorithm. In: Beringer, L., Felty, A. (eds.) ITP 2012. LNCS, vol. 7406, pp. 166–182. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-32347-8_12

    Chapter  Google Scholar 

  33. Merz, S.: Weak alternating automata in Isabelle/HOL. In: Aagaard, M., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 424–441. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44659-1_26

    Chapter  MATH  Google Scholar 

  34. Nipkow, T., Wenzel, M., Paulson, L.C. (eds.): Isabelle/HOL. A Proof Assistant for Higher-Order Logic. LNCS, vol. 2283. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-45949-9

    Book  MATH  Google Scholar 

  35. Sachtleben, R.: Formalisation of an adaptive state counting algorithm. In: Archive of Formal Proofs (2019). https://www.isaafp.org/entries/Adaptive_State_Counting.html

  36. Sachtleben, R., et al.: A mechanised proof of an adaptive state counting algorithm. In: ICTSS 2019. https://doi.org/10.1007/978-3-030-31280-0_11

  37. Safra, S.: On the complexity of omega-automata. In: 29th Annual Symposium on Foundations of Computer Science (1988). https://doi.org/10.1109/SFCS.1988.21948

  38. Schewe, S.: Büchi complementation made tight. In: STACS 2009 (2009). https://doi.org/10.4230/LIPIcs.STACS.2009.1854

  39. Seidl, B., Sickert, S.: A compositional and unified translation of LTL into !-Automata. In: Archive of Formal Proofs (2019). https://www.isa-afp.org/entries/LTL_Master_Theorem.html

  40. Siegel, S.F.: What’s wrong with on-the-fly partial order reduction. In: Dillig, I., Tasiran, S. (eds.) CAV 2019. LNCS, vol. 11562, pp. 478–495. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-25543-5_27

    Chapter  Google Scholar 

  41. Tsai, M.-H., et al.: State of büchi complementation. Log. Method Comput. Sci. 104 (2014). https://doi.org/10.2168/LMCS-10(4:13)2014

  42. Tsay, Y.-K., Chen, Y.-F., Tsai, M.-H., Wu, K.-N., Chan, W.-C.: GOAL: a graphical tool for manipulating Büchi automata and temporal formulae. In: Grumberg, O., Huth, M. (eds.) TACAS 2007. LNCS, vol. 4424, pp. 466–471. Springer, Heidelberg (2007). https://doi.org/10.1007/978-3-540-71209-1_35

    Chapter  Google Scholar 

  43. Vardi, M.Y.: The Büchi complementation saga. In: STACS 2007 (2007). https://doi.org/10.1007/978-3-540-70918-3_2

  44. Wadler, P.: Comprehending monads. Math. Struct. Comput. Sci. 4, 461–493 (1992). https://doi.org/10.1017/S0960129500001560

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Julian Brunner .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Brunner, J. (2020). Formal Verification of Executable Complementation and Equivalence Checking for Büchi Automata. In: Dongol, B., Troubitsyna, E. (eds) Integrated Formal Methods. IFM 2020. Lecture Notes in Computer Science(), vol 12546. Springer, Cham. https://doi.org/10.1007/978-3-030-63461-2_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-63461-2_13

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-63460-5

  • Online ISBN: 978-3-030-63461-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics