Skip to main content

Alternating automata: Unifying truth and validity checking for temporal logics

  • Invited Lecture
  • Conference paper
  • First Online:
Automated Deduction—CADE-14 (CADE 1997)

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 1249))

Included in the following conference series:

Abstract

We describe an automata-theoretic approach to the automated checking of truth and validity for temporal logics. The basic idea underlying this approach is that for any formula we can construct an alternating automaton that accepts precisely the models of the formula. For linear temporal logics the automaton runs on infinite words while for branching temporal logics the automaton runs on infinite trees. The simple combinatorial structures that emerge from the automata-theoretic approach decouple the logical and algorithmic components of truth and validity checking and yield clean and essentially optimal algorithms for both problems.

Supported in part by the NSF grant CCR-9628400.

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 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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. J.A. Brzozowski and E. Leiss. Finite automata, and sequential networks. Theoretical Computer Science, 10:19–35, 1980.

    Article  MathSciNet  Google Scholar 

  2. O. Bernholtz, M.Y. Vardi, and P. Wolper. An automata-theoretic approach to branching-time model checking. In D.L. Dill, editor, Computer Aided Verification, Proc. 6th Int. Conference, volume 818 of Lecture Notes in Computer Science, pages 142–155, Stanford, California, 1994. Springer-Verlag, Berlin. full version available from authors.

    Google Scholar 

  3. E.M. Clarke, E.A. Emerson, and A.P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244–263, 1986.

    Article  Google Scholar 

  4. E.M. Clarke and O. Grumberg. Avoiding the state explosion problem in temporal logic model-checking algorithms. In Proc. 6th ACM Symposium on Principles of Distributed Computing, pages 294–303, Vancouver, British Columbia, August 1987.

    Google Scholar 

  5. E.M. Clarke, O. Grumberg, and D. Long. Verification tools for finite-state concurrent systems. In A Decade of Concurrency — Reflections and Perspectives (Proc. REX School/Symposium), volume 803 of Lecture Notes in Computer Science, pages 124–175. Springer-Verlag, Berlin, 1993.

    Google Scholar 

  6. Y. Choueka. Theories of automata on ω-tapes: A simplified approach. J. Computer and System Sciences, 8:117–141, 1974.

    Article  MathSciNet  Google Scholar 

  7. A.K. Chandra, D.C. Kozen, and L.J. Stockmeyer. Alternation. Journal of the Association for Computing Machinery, 28(1):114–133, 1981.

    Article  MathSciNet  Google Scholar 

  8. R. Cleaveland. A linear-time model-checking algorithm for the alternation-free modal μ-calculus. Formal Methods in System Design, 2:121–147, 1993.

    Article  Google Scholar 

  9. C. Courcoubetis, M.Y. Vardi, P. Wolper, and M. Yannakakis. Memory efficient algorithms for the verification of temporal properties. Formal Methods in System Design, 1:275–288, 1992.

    Article  Google Scholar 

  10. E.A. Emerson and J.Y. Halpern. Decision procedures and expressiveness in the temporal logic of branching time. Journal of Computer and System Sciences, 30:1–24, 1985.

    Article  MathSciNet  Google Scholar 

  11. E.A. Emerson and C. Jutla. The complexity of tree automata and logics of programs. In Proceedings of the 29th IEEE Symposium on Foundations of Computer Science, pages 328–337, White Plains, October 1988.

    Google Scholar 

  12. E.A. Emerson and C. Jutla. Tree automata, mu-calculus and determinacy. In Proceedings of the 32nd IEEE Symposium on Foundations of Computer Science, pages 368–377, San Juan, October 1991.

    Google Scholar 

  13. E.A. Emerson and C.-L. Lei. Modalities for model checking: Branching time logic strikes back. In Proceedings of the Twelfth ACM Symposium on Principles of Programming Languages, pages 84–96, New Orleans, January 1985.

    Google Scholar 

  14. E.A. Emerson and C.-L. Lei. Temporal model checking under generalized fairness constraints. In Proc. 18th Hawaii International Conference on System Sciences, pages 277–288, Hawaii, 1985.

    Google Scholar 

  15. E.A. Emerson. Automata, tableaux, and temporal logics. In Logic of Programs, volume 193 of Lecture Notes in Computer Science, pages 79–87. Springer-Verlag, Berlin, 1985.

    Google Scholar 

  16. E.A. Emerson. Temporal and modal logic. Handbook of Theoretical Computer Science, B:997–1072, 1990.

    MATH  Google Scholar 

  17. E.A. Emerson. Temporal and modal logic. Handbook of theoretical computer science, pages 997–1072, 1990.

    Google Scholar 

  18. E.A. Emerson and A. P. Sistla. Deciding branching time logic. In Proceedings of the 16th ACM Symposium on Theory of Computing, pages 14–24, Washington, April 1984.

    Google Scholar 

  19. M.J. Fischer and R.E. Ladner. Propositional dynamic logic of regular programs. J. of Computer and Systems Sciences, 18:194–211, 1979.

    Article  MathSciNet  Google Scholar 

  20. O. Grumberg and D.E. Long. Model checking and modular verification. ACM Trans. on Programming Languages and Systems, 16(3):843–871, 1994.

    Article  Google Scholar 

  21. J. Y. Halpern and M. Y. Vardi. Model checking vs. theorem proving: a manifesto. In V. Lifschitz, editor, Artificial Intelligence and Mathematical Theory of Computation (Papers in Honor of John McCarthy), pages 151–176. Academic Press, San Diego, Calif., 1991.

    Chapter  Google Scholar 

  22. Orna Kupferman and M. Y. Vardi. Weak alternating automata are not so weak. In Proc. 5th Israeli Symp. on Theory of Computing and Systems, 1997.

    Google Scholar 

  23. L. Lamport. Sometimes is sometimes “not never” — on the temporal logic of programs. In Proceedings of the 7th ACM Symposium on Principles of Programming Languages, pages 174–185, January 1980.

    Google Scholar 

  24. M.T. Liu. Protocol engineering. Advances in Computing, 29:79–195, 1989.

    Article  Google Scholar 

  25. O. Lichtenstein and A. Pnueli. Checking that finite state concurrent programs satisfy their linear specification. In Proceedings of the Twelfth ACM Symposium on Principles of Programming Languages, pages 97–107, New Orleans, January 1985.

    Google Scholar 

  26. O. Lichtenstein, A. Pnueli, and L. Zuck. The glory of the past. In Logics of Programs, volume 193 of Lecture Notes in Computer Science, pages 196–218, Brooklyn, 1985. Springer-Verlag, Berlin.

    Google Scholar 

  27. S. Miyano and T. Hayashi. Alternating finite automata on ω-words. Theoretical Computer Science, 32:321–330, 1984.

    Article  MathSciNet  Google Scholar 

  28. M. Michel. Complementation is more difficult with automata on infinite words. CNET, Paris, 1988.

    Google Scholar 

  29. Z. Manna and A. Pnueli. The Temporal Logic of Reactive and Concurrent Systems: Specification. Springer-Verlag, Berlin, 1992.

    Book  Google Scholar 

  30. D.E. Muller and P.E. Schupp. Alternating automata on infinite trees. Theoretical Computer Science, 54:267–276, 1987.

    Article  MathSciNet  Google Scholar 

  31. D.E. Muller and P.E. Schupp. Simulating alternating tree automata by nondeterministic automata: New results and new proofs of the theorems by Rabin, McNaughton and Safra. Theoretical Computer Science, 141(1–2):69–108, April 1995.

    Article  MathSciNet  Google Scholar 

  32. D.E. Muller, A. Saoudi, and P.E. Schupp. Alternating automata, the weak monadic theory of the tree and its complexity. In L. Kott, editor, Automata, Languages and Programming, Proc. 13th Int. Colloquium (ICALP '86), volume 226 of Lecture Notes in Computer Science, pages 275–283. Springer-Verlag, Berlin, 1986.

    Google Scholar 

  33. D. E. Muller, A. Saoudi, and P. E. Schupp. Weak alternating automata give a simple explanation of why most temporal and dynamic logics are decidable in exponential time. In Proceedings 3rd IEEE Symposium on Logic in Computer Science, pages 422–427, Edinburgh, July 1988.

    Google Scholar 

  34. R. Peikert. ω-regular languages and propositional temporal logic. Technical Report 85-01, ETH, 1985.

    Google Scholar 

  35. A. Pnueli. The temporal logic of programs. In Proc. 18th IEEE Symposium on Foundation of Computer Science, pages 46–57, 1977.

    Google Scholar 

  36. J.P. Queille and J. Sifakis. Specification and verification of concurrent systems in Cesar. In Int. Symp. on programming, Proc. 5th Int. Symposium, volume 137 of Lecture Notes in Computer Science, pages 337–351. Springer-Verlag, Berlin, 1981.

    Google Scholar 

  37. M.O. Rabin. Weakly definable relations and special automata. In Y. Bar-Hilel, editor, Proc. Symp. Math. Logic and Foundations of Set Theory, pages 1–23. North Holland, 1970.

    Google Scholar 

  38. H. Rudin. Network protocols and tools to help produce them. Annual Review of Computer Science, 2:291–316, 1987.

    Article  Google Scholar 

  39. S. Safra. On the complexity of omega-automata. In Proceedings of the 29th IEEE Symposium on Foundations of Computer Science, pages 319–327, White Plains, October 1988.

    Google Scholar 

  40. A.P. Sistla and E.M. Clarke. The complexity of propositional linear temporal logic. Journal of the Association for Computing Machinery, 32:733–749, 1985.

    Article  MathSciNet  Google Scholar 

  41. R. S. Streett and E. A. Emerson. The propositional mu-calculus is elementary. In J. Paredaens, editor, Automata, Languages and Programming, Proc. 11th Int. Colloquium (ICALP '84), volume 172 of Lecture Notes in Computer Science, pages 465–472. Springer-Verlag, Berlin, 1984.

    Google Scholar 

  42. A.P. Sistla. Theoretical issues in the design and analysis of distributed systems. PhD thesis, Harvard University, 1983.

    Google Scholar 

  43. A.P. Sistla, M.Y. Vardi, and P. Wolper. The complementation problem for Büchi automata with applications to temporal logic. Theoretical Computer Science, 49:217–237, 1987.

    Article  MathSciNet  Google Scholar 

  44. M.Y. Vardi. The complexity of relational query languages. In Proc. 14th ACM Symp. on Theory of Computing, pages 137–146, San Francisco, 1982.

    Google Scholar 

  45. M.Y. Vardi. Nontraditional applications of automata theory. In Theoretical Aspects of Computer Software, Proc. Int. Symposium (TACS'94), Volume 789 of Lecture Notes in Computer Science, pages 575–597. Springer-Verlag, Berlin, 1994.

    Google Scholar 

  46. M.Y. Vardi. Alternating automata and program verification. In Computer Science Today-Recent Trends and Developments, Lecture Notes in Computer Science 1000, pages 471–485. Springer-Verlag, 1996.

    Google Scholar 

  47. M.Y. Vardi and P. Wolper. An automata-theoretic approach to automatic program verification. In Proceedings of the First Symposium on Logic in Computer Science, pages 322–331, Cambridge, June 1986.

    Google Scholar 

  48. M.Y. Vardi and P. Wolper. Automata-theoretic techniques for modal logics of programs. Journal of Computer and System Science, 32(2): 182–21, April 1986.

    Article  MathSciNet  Google Scholar 

  49. M.Y. Vardi and P. Wolper. Reasoning about infinite computations. Information and Computation, 115(1):1–37, 1994.

    Article  MathSciNet  Google Scholar 

  50. P. Wolper. On the relation of programs and computations to models of temporal logic. In Temporal Logic in Specification, Proc., Volume 398 of Lecture Notes in Computer Science, pages 75–123. Springer-Verlag, Berlin, 1989.

    Google Scholar 

  51. P. Wolper, M.Y. Vardi, and A.P. Sistla. Reasoning about infinite computation paths. In Proc. 24th IEEE Symposium on Foundations of Computer Science, pages 185–194, Tucson, 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

William McCune

Rights and permissions

Reprints and permissions

Copyright information

© 1997 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Vardi, M.Y. (1997). Alternating automata: Unifying truth and validity checking for temporal logics. In: McCune, W. (eds) Automated Deduction—CADE-14. CADE 1997. Lecture Notes in Computer Science, vol 1249. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-63104-6_19

Download citation

  • DOI: https://doi.org/10.1007/3-540-63104-6_19

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-63104-0

  • Online ISBN: 978-3-540-69140-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics