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).
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
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
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
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
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
Brunner, J.: Büchi complementation. In: Archive of Formal Proofs (2017). https://www.isa-afp.org/entries/Buchi_Complementation.html
Brunner, J.: Partial order reduction. In: Archive of Formal Proofs (2018). https://www.isa-afp.org/entries/Partial_Order_Reduction.html
Brunner, J.: Transition systems and automata. In: Archive of Formal Proofs (2017). https://www.isa-afp.org/entries/Transition_Systems_and_Automata.html
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
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
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)
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
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
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
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
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
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
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
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
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
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
Lammich, P.: Automatic data refinement. In: Archive of Formal Proofs (2013).https://www.isa-afp.org/entries/Automatic_Refinement.shtml
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
Lammich, P.: Collections framework. In: Archive of Formal Proofs (2009). https://www.isa-afp.org/entries/Collections.shtml
Lammich, P.: Refinement for monadic programs. In: Archive of Formal Proofs (2012). https://www.isa-afp.org/entries/Refine_Monadic.shtml
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
Lammich, P.: The imperative refinement framework. In: Archive of Formal Proofs (2016). https://www.isa-afp.org/entries/Refine_Imperative_HOL.shtml
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
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
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
Lammich, P., Neumann, R.: A framework for verifying depth- first search algorithms. In: CPP 2015 (2015). https://doi.org/10.1145/2676724.2693165
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
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
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
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
Sachtleben, R.: Formalisation of an adaptive state counting algorithm. In: Archive of Formal Proofs (2019). https://www.isaafp.org/entries/Adaptive_State_Counting.html
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
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
Schewe, S.: Büchi complementation made tight. In: STACS 2009 (2009). https://doi.org/10.4230/LIPIcs.STACS.2009.1854
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
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
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
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
Vardi, M.Y.: The Büchi complementation saga. In: STACS 2007 (2007). https://doi.org/10.1007/978-3-540-70918-3_2
Wadler, P.: Comprehending monads. Math. Struct. Comput. Sci. 4, 461–493 (1992). https://doi.org/10.1017/S0960129500001560
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
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)