Construction of Büchi Automata for LTL Model Checking Verified in Isabelle/HOL

  • Alexander Schimpf
  • Stephan Merz
  • Jan-Georg Smaus
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5674)


We present the implementation in Isabelle/HOL of a translation of LTL formulae into Büchi automata. In automaton-based model checking, systems are modelled as transition systems, and correctness properties stated as formulae of temporal logic are translated into corresponding automata. An LTL formula is represented by a (generalised) Büchi automaton that accepts precisely those behaviours allowed by the formula. The model checking problem is then reduced to checking language inclusion between the two automata. The automaton construction is thus an essential component of an LTL model checking algorithm. We implemented a standard translation algorithm due to Gerth et al. The correctness and termination of our implementation are proven in Isabelle/HOL, and executable code is generated using the Isabelle/HOL code generator.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Büchi, R.: On a decision method in restricted second-order arithmetic. In: Intl. Cong. Logic, Methodology, and Philosophy of Science 1960, pp. 1–12. Stanford University Press (1962)Google Scholar
  2. 2.
    Clarke, E.M., Grumberg, O., Peled, D.A.: Model Checking. MIT Press, Cambridge (2002)Google Scholar
  3. 3.
    Daniele, M., Giunchiglia, F., Vardi, M.: Improved automata generation for linear temporal logic. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 249–260. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  4. 4.
    Fitting, M.C.: Proof Methods for Modal and Intuitionistic Logic. Synthese Library: Studies in Epistemology, Logic, Methodology and Philosophy of Science. D. Reidel, Dordrecht (1983)CrossRefMATHGoogle Scholar
  5. 5.
    Fritz, C.: Constructing Büchi automata from linear temporal logic using simulation relations for alternating Büchi automata. In: Ibarra, O.H., Dang, Z. (eds.) CIAA 2003. LNCS, vol. 2759, pp. 35–48. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  6. 6.
    Gastin, P., Oddoux, D.: Fast LTL to Büchi automata translation. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 53–65. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  7. 7.
    Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Dembinski, P., Sredniawa, M. (eds.) 15th Intl. Symp. Protocol Specification, Testing, and Verification (PSTV 1996). IFIP Conference Proceedings, vol. 38, pp. 3–18. Chapman & Hall, Boca Raton (1996)CrossRefGoogle Scholar
  8. 8.
    Gurumurthy, S., Kupferman, O., Somenzi, F., Vardi, M.Y.: On complementing nondeterministic Büchi automata. In: Geist, D., Tronci, E. (eds.) CHARME 2003. LNCS, vol. 2860, pp. 96–110. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  9. 9.
    Kupferman, O., Vardi, M.: Complementation constructions for nondeterministic automata on infinite words. In: Halbwachs, N., Zuck, L. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 206–221. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  10. 10.
    Kupferman, O., Vardi, M.Y.: Weak alternating automata are not that weak. ACM Trans. Comput. Log. 2(3), 408–429 (2001)MathSciNetCrossRefMATHGoogle Scholar
  11. 11.
    Merz, S.: Weak alternating automata in Isabelle/HOL. In: Aagaard, M.D., Harrison, J. (eds.) TPHOLs 2000. LNCS, vol. 1869, pp. 424–441. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Muller, D., Saoudi, A., Schupp, P.: Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential tim. In: 3rd IEEE Symp. Logic in Computer Science (LICS 1988), Edinburgh, Scotland, pp. 422–427. IEEE Press, Los Alamitos (1988)Google Scholar
  13. 13.
    Pnueli, A.: The temporal semantics of concurrent programs. Theoretical Computer Science 13, 45–60 (1981)MathSciNetCrossRefMATHGoogle Scholar
  14. 14.
    Schimpf, A.: Implementierung eines Verfahrens zur Erzeugung von Büchi-Automaten aus LTL-Formeln in Isabelle. Diplomarbeit, Albert-Ludwigs-Universität Freiburg (2008),
  15. 15.
    Schneider, K., Hoffmann, D.W.: A HOL conversion for translating linear time temporal logic to ω-automata. In: Bertot, Y., Dowek, G., Hirschowitz, A., Paulin, C., Théry, L. (eds.) TPHOLs 1999. LNCS, vol. 1690, pp. 255–272. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  16. 16.
    Somenzi, F., Bloem, R.: Efficient Büchi automata from LTL formulae. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 257–263. Springer, Heidelberg (1999)Google Scholar
  17. 17.
    Tauriainen, H., Heljanko, K.: Testing LTL formula translation into Büchi automata. International Journal on Software Tools for Technology Transfer 4(1), 57–70 (2002), CrossRefMATHGoogle Scholar
  18. 18.
    Thomas, W.: Complementation of Büchi automata revisited. In: Rozenberg, G., Karhumäki, J. (eds.) Jewels are forever, Contributions on Theoretical Computer Science in Honor of Arto Salomaa, pp. 109–122. Springer, Heidelberg (2000)Google Scholar
  19. 19.
    Vardi, M.Y., Wolper, P.: Reasoning about infinite computations. Information and Computation 115(1), 1–37 (1994)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Alexander Schimpf
    • 1
  • Stephan Merz
    • 2
  • Jan-Georg Smaus
    • 1
  1. 1.University of FreiburgGermany
  2. 2.INRIA NancyFrance

Personalised recommendations