Efficient Büchi Automata from LTL Formulae

  • Fabio Somenzi
  • Roderick Bloem
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1855)


We present an algorithm to generate small Büchi automata for LTL formulae. We describe a heuristic approach consisting of three phases: rewriting of the formula, an optimized translation procedure, and simplification of the resulting automaton. We present a translation procedure that is optimal within a certain class of translation procedures. The simplification algorithm can be used for Büchi automata in general. It reduces the number of states and transitions, as well as the number and size of the accepting sets—possibly reducing the strength of the resulting automaton. This leads to more efficient model checking of linear-time logic formulae. We compare our method to previous work, and show that it is significantly more efficient for both random formulae, and formulae in common use and from the literature.


Model Check Linear Temporal Logic Atomic Proposition Acceptance Condition Disjunctive Normal Form 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. 1.
    Aziz, A., Singhal, V., Swamy, G.M., Brayton, R.K.: Minimizing interacting finite state machines. In: Proceedings of the International Conference on Computer Design, Cambridge, MA, October 1994, pp. 255–261 (1994)Google Scholar
  2. 2.
    Bloem, R., Ravi, K., Somenzi, F.: Efficient decision procedures for model checking of linear time logic properties. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 222–235. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  3. 3.
    Brayton, R.K., Hachtel, G.D., McMullen, C.T., Sangiovanni-Vincentelli, A.: Logic Minimization Algorithms for VLSI Synthesis. Kluwer Academic Publishers, Boston (1984)zbMATHGoogle Scholar
  4. 4.
    Burch, J.R., Clarke, E.M., McMillan, K.L., Dill, D.L., Hwang, L.J.: Symbolic model checking: 1020states and beyond. Information and Computation 98, 142–170 (1992)zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Daniele, M., Giunchiglia, F., Vardi, M.Y.: Improved automata generation for linear time temporal logic. In: Halbwachs, N., Peled, D.A. (eds.) CAV 1999. LNCS, vol. 1633, pp. 249–260. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  6. 6.
    Dill, D.L., Hu, A.J., Wong-Toi, H.: Checking for language inclusion using simulation relations. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 255–265. Springer, Heidelberg (1991)Google Scholar
  7. 7.
    Emerson, E.A., Lei, C.-L.: Efficient model checking in fragments of the propositional mu-calculus. In: Proceedings of the First Annual Symposium of Logic in Computer Science, June 1986, pp. 267–278 (1986)Google Scholar
  8. 8.
    Etessami, K., Holzmann, G.: Optimizing Büchi automata (2000) (Submitted for publication)Google Scholar
  9. 9.
    Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Protocol Specification, Testing, and Verification, pp. 3–18. Chapman & Hall, Boca Raton (1995)Google Scholar
  10. 10.
    Grasselli, A., Luccio, F.: A method for minimizing the number of internal states in incompletely specified sequential networks. IEEE Transactions on Electronic Computers EC-14(3), 350–359 (1965)CrossRefGoogle Scholar
  11. 11.
    Kesten, Y., Manna, Z., McGuire, H., Pnueli, A.: Checking that finite-state concurrent programs satisfy their linear specification. In: Proceedings of the 11th ACM Symposium on Principles of Programming Languages, pp. 97–107 (1984)Google Scholar
  12. 12.
    Kesten, Y., Pnueli, A., Raviv, L.O.: Algorithmic verification of linear temporal logic specifications. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) ICALP 1998. LNCS, vol. 1443, pp. 1–16. Springer, Heidelberg (1998)Google Scholar
  13. 13.
    Kupferman, O., Vardi, M.Y.: Freedom, weakness, and determinism: From linear-time to branching-time. In: Proc. 13th IEEE Symposium on Logic in Computer Science (June 1998)Google Scholar
  14. 14.
    Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: Proceedings of the Twelfth Annual ACM Symposium on Principles of Programming Languages, New Orleans (January 1985)Google Scholar
  15. 15.
    McCluskey Jr., E.J.: Minimization of boolean functions. Bell Syst. Technical Journal 35, 1417–1444 (1956)MathSciNetGoogle Scholar
  16. 16.
    Milner, R.: An algebraic definition of simulation between programs. In: Proc. 2nd Int. Joint Conf. on Artificial Intelligence, pp. 481–489 (1971)Google Scholar
  17. 17.
    Raimi, R.S.: Environment Modeling and Efficient State Reachability Checking. PhD thesis, University of Texas at Austin (1999)Google Scholar
  18. 18.
    Wolper, P., Vardi, M.Y., Sistla, A.P.: Reasoning about infinite computation paths. In: Proceedings of the 24th IEEE Symposyium on Foundations of Computer Science, pp. 185–194 (1983)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Fabio Somenzi
    • 1
  • Roderick Bloem
    • 1
  1. 1.Department of Electrical and Computer EngineeringUniversity of ColoradoBoulder

Personalised recommendations