Abstract
The automata-theoretic approach advocates reducing problems in an application domain to those in automata theory. When there are multiple paths for the reduction, leaving the realm of application and entering that of automata as early as possible should be preferred, to take full advantages of the abundant algorithmic techniques from the latter. This makes the entire reduction simpler for intuitive understanding and easier for correctness proofs. Indeed, for linear-time temporal logic model checking, there are quite a few ways for translating a temporal formula into an equivalent Büchi automaton. They all go through one or more types of automata as intermediaries, with various interspersing formula manipulation and automaton generation along the way. Among them, translations via alternating automata apparently better adhere to the aforementioned “early and simple” principle. When it comes to translating temporal formulae with past operators, algorithms following the principle generalize more easily by using a two-way alternating automaton as the first intermediary.
In this paper, we give a tutorial presentation of two translation algorithms adhering to the early and simple principle, one for formulae with only future operators and the other for formulae with both future and past operators. They are adaptations of existing works, with a substantially different exposition, further improving simplicity for understanding and easiness for proofs. In particular, we have tried wherever possible to avoid using types of automata or notations that are less common. The relevant notion of a very weak automaton is introduced with two equivalent defining conditions, each offering its unique advantage in a suitable context. Finally, we discuss the role of minimization in such an approach to translation of temporal formulae.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The equivalence between two temporal formulae can be conveniently checked with, e.g., the GOAL tool [29].
- 2.
The name LTL follows the naming convention in model checking [3]. In other contexts, LTL may refer to the temporal logic of Manna and Pnueli [21, 22] with past operators, variables of infinite domains, and quantification. On the other hand, the name PTL was used instead of LTL in some early works on propositional linear temporal logics without past operators, e.g., [34].
References
Benedetti, M., Cimatti, A.: Bounded model checking for past LTL. In: Garavel, H., Hatcliff, J. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2003. LNCS, vol. 2619, pp. 18–33. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-36577-X_3
Büchi, J.R.: On a decision method in restricted second-order arithmetic. In: Proceedings of the 1960 International Congress on Logic, Methodology and Philosophy of Science, pp. 1–11. Stanford University Press (1962). https://doi.org/10.1007/978-1-4613-8928-6_23, The doi refers to republication of the paper. In: Mac Lane S., Siefkes D. (eds) The Collected Works of J. Richard Büchi. Springer
Clarke, E.M., Grumberg, O., Kroening, D., Peled, D.A., Veith, H.: Model Checking. The MIT Press, Cambridge (2018)
Courcoubetis, C., Vardi, M.Y., Wolper, P., Yannakakis, M.: Memory-efficient algorithms for the verification of temporal properties. Formal Methods Syst. Des. 1(2/3), 275–288 (1992). https://doi.org/10.1007/BF00121128
Couvreur, J.-M.: On-the-fly verification of linear temporal logic. In: Wing, J.M., Woodcock, J., Davies, J. (eds.) FM’99 — Formal Methods, FM 1999. LNCS, vol. 1708, pp. 253–271. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48119-2_16
Daniele, M., Giunchiglia, F., Vardi, M.Y.: Improved automata generation for linear temporal logic. In: Halbwachs, N., Peled, D. (eds.) Computer Aided Verification, CAV 1999. LNCS, vol. 1633, pp. 249–260. Springer, Heidelberg (1999). https://doi.org/10.1007/3-540-48683-6_23
De Wulf, M., Doyen, L., Maquet, N., Raskin, J.-F.: Antichains: alternative algorithms for LTL satisfiability and model-checking. In: Ramakrishnan, C.R., Rehof, J. (eds.) Tools and Algorithms for the Construction and Analysis of Systems, TACAS 2008. LNCS, vol. 4963, pp. 63–77. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_6
Etessami, K., Holzmann, G.J.: Optimizing Büchi automata. In: Palamidessi, C. (ed.) CONCUR 2000 — Concurrency Theory, CONCUR 2000. LNCS, vol. 1877, pp. 153–168. Springer, Heidelberg (2000). https://doi.org/10.1007/3-540-44618-4_13
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.) Implementation and Application of Automata, CIAA 2003. LNCS, vol. 2759, pp. 35–48. Springer, Heidelberg (2003). https://doi.org/10.1007/3-540-45089-0_5
Fritz, C.: Concepts of automata construction from LTL. In: Sutcliffe, G., Voronkov, A. (eds.) Logic for Programming, Artificial Intelligence, and Reasoning, LPAR 2005. LNCS (LNAI), vol. 3835, pp. 728–742. Springer, Heidelberg (2005). https://doi.org/10.1007/11591191_50
Gastin, P., Oddoux, Denis: Fast LTL to Büchi automata translation. In: Berry, G., Comon, H., Finkel, A. (eds.) Computer Aided Verification, CAV 2001. LNCS, vol. 2102, pp. 53–65. Springer, Heidelberg (2001). https://doi.org/10.1007/3-540-44585-4_6
Gastin, P., Oddoux, D.: LTL with past and two-way very-weak alternating automata. In: Rovan, B., Vojtáš, P. (eds.) Mathematical Foundations of Computer Science 2003, MFCS 2003. LNCS, vol. 2747, pp. 439–448. Springer, Heidelberg (2003). https://doi.org/10.1007/978-3-540-45138-9_38
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 XV, PSTV 1995. IAICT, pp. 3–18. Springer, Boston, MA (1996). https://doi.org/10.1007/978-0-387-34892-6_1
Giannakopoulou, D., Lerda, F.: From States to Transitions: Improving Translation of LTL Formulae to Büchi Automata. In: Peled, D.A., Vardi, M.Y. (eds.) Formal Techniques for Networked and Distributed Sytems — FORTE 2002, FORTE 2002. LNCS, vol. 2529, pp. 308–326. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36135-9_20
Grädel, E., Thomas, W., Wilke, T.: Automata Logics, and Infinite Games. LNCS, vol. 2500. Springer, Heidelberg (2002). https://doi.org/10.1007/3-540-36387-4
Jonsson, B., Tsay, Y.K.: Assumption/guarantee specifications in linear-time temporal logic. Theoret. Comput. Sci. 167, 47–72 (1996). https://doi.org/10.1016/0304-3975(96)00069-2
Kesten, Y., Manna, Z., McGuire, H., Pnueli, A.: A decision algorithm for full propositional temporal logic. In: Courcoubetis, C. (ed.) Computer Aided Verification, CAV 1993. LNCS, vol. 697, pp. 97–109. Springer, Heidelberg (1993). https://doi.org/10.1007/3-540-56922-7_9
Laroussinie, F., Markey, N., Schnoebelen, P.: Temporal logic with forgettable past. In: Proceedings of the 17th IEEE Symposium on Logic in Computer Science (LICS 2002), pp. 383–392. IEEE (2002). https://doi.org/10.1109/LICS.2002.1029846
Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: Proceedings of the 12th ACM SIGACT-SIGPLAN Symposium on Principles of Programming Languages (POPL 1985), pp. 97–107. ACM (1985). https://doi.org/10.1145/318593.318622
Lichtenstein, O., Pnueli, A., Zuck, L.: The glory of the past. In: Parikh, R. (ed.) Logic of Programs 1985. LNCS, vol. 193, pp. 196–218. Springer, Heidelberg (1985). https://doi.org/10.1007/3-540-15648-8_16
Manna, Z., Pnueli, A.: The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer, Berlin (1992). https://doi.org/10.1007/978-1-4612-0931-7
Manna, Z., Pnueli, A.: Temporal Verification of Reactive Systems: Safety. Springer, Berlin (1995). https://doi.org/10.1007/978-1-4612-4222-2
Miyano, S., Hayashi, T.: Alternating finite automata on \(omega\)-words. Theoret. Comput. Sci. 32, 321–330 (1984). https://doi.org/10.1016/0304-3975(84)90049-5
Pnueli, A., Rosner, R.: On the synthesis of a reactive module. In: Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1989), pp. 179–190. ACM (1989). https://doi.org/10.1145/75277.75293
Rohde, G.S.: Alternating Automata and the Temporal Logic of Ordinals. Ph.D. thesis, University of Illinois at Urbana-Champaign, Champaign, IL, USA (1997). http://hdl.handle.net/2142/86954
Sistla, A.P.: Theoretical Issues in the Design and Verification of Distributed Systems. Ph.D. Thesis, Harvard (1983)
Somenzi, F., Bloem, R.: Efficient Büchi automata from LTL formulae. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 248–263. Springer, Heidelberg (2000). https://doi.org/10.1007/10722167_21
Thomas, W.: Automata on infinite objects. In: van Leeuwen, J. (ed.) Handbook of Theoretical Computer Science, Volume B: Formal Models and Semantics, pp. 133–191. MIT Press (1990). https://doi.org/10.1016/B978-0-444-88074-1.50009-3
Tsay, Y.-K., Chen, Y.-F., Tsai, M.-H., Chan, W.-C., Luo, C.-J.: GOAL extended: towards a research tool for omega automata and temporal logic. In: Ramakrishnan, C.R., Rehof, J. (eds.) TACAS 2008. LNCS, vol. 4963, pp. 346–350. Springer, Heidelberg (2008). https://doi.org/10.1007/978-3-540-78800-3_26
Vardi, M.Y.: A temporal fixpoint calculus. In: Proceedings of the 15th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages (POPL 1988), pp. 250–259. ACM (1988). https://doi.org/10.1145/73560.73582
Vardi, M.Y.: An automata-theoretic approach to linear temporal logic. In: Moller, F., Birtwistle, G. (eds.) Logics for Concurrency. LNCS, vol. 1043, pp. 238–266. Springer, Heidelberg (1996). https://doi.org/10.1007/3-540-60915-6_6
Vardi, M.Y.: Reasoning about the past with two-way automata. In: Larsen, K.G., Skyum, S., Winskel, G. (eds.) Automata, Languages and Programming, ICALP 1998. LNCS, vol. 1443, pp. 628–641. Springer, Heidelberg (1998). https://doi.org/10.1007/BFb0055090
Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of the 1st Annual IEEE Symposium on Logic in Computer Science (LICS 1986), pp. 332–344. IEEE (1986). http://hdl.handle.net/2268/116609
Wolper, P.: Temporal logic can be more expressive. Inf. Comput. 56(1–2), 72–99 (1983). https://doi.org/10.1016/S0019-9958(83)80051-5
Wolper, P., Vardi, M.Y., Sistla, A.P.: Reasoning about infinite computation paths (extended abstract). In: Proceedings of the 24th Annual Symposium on Foundations of Computer Science (FOCS 1983). pp. 185–194. IEEE (1983). https://doi.org/10.1109/SFCS.1983.51
Acknowledgements
This paper has been written on the occasion of Bengt Jonsson’s 60th birthday. The first author Yih-Kuen Tsay worked as a postdoctoral researcher with Bengt at Uppsala University for near two years, from 1993 to 1995. One of their collaborative works [16] shows how the LTL of Manna and Pnueli [22], which includes past temporal operators, can be conveniently used to write and reason about modular specifications in the “assume-guarantee” style.
We thank the anonymous reviewers and our colleagues Ming-Hsien Tsai, Wayne Zeng, Dror Fried, Suguman Bansal, and Kevin Smith for many helpful comments and suggestions on earlier drafts of this work.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Tsay, YK., Vardi, M.Y. (2021). From Linear Temporal Logics to Büchi Automata: The Early and Simple Principle. In: Olderog, ER., Steffen, B., Yi, W. (eds) Model Checking, Synthesis, and Learning. Lecture Notes in Computer Science(), vol 13030. Springer, Cham. https://doi.org/10.1007/978-3-030-91384-7_2
Download citation
DOI: https://doi.org/10.1007/978-3-030-91384-7_2
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-91383-0
Online ISBN: 978-3-030-91384-7
eBook Packages: Computer ScienceComputer Science (R0)