# Alternating automata: Unifying truth and validity checking for temporal logics

Invited Lecture

First Online:

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

## Preview

Unable to display preview. Download preview PDF.

## References

- [BL80]J.A. Brzozowski and E. Leiss. Finite automata, and sequential networks.
*Theoretical Computer Science*, 10:19–35, 1980.CrossRefGoogle Scholar - [BVW94]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 - [CES86]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.CrossRefGoogle Scholar - [CG87]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 - [CGL93]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 - [Cho74]Y. Choueka. Theories of automata on
*ω*-tapes: A simplified approach.*J. Computer and System Sciences*, 8:117–141, 1974.Google Scholar - [CKS81]A.K. Chandra, D.C. Kozen, and L.J. Stockmeyer. Alternation.
*Journal of the Association for Computing Machinery*, 28(1):114–133, 1981.Google Scholar - [Cle93]R. Cleaveland. A linear-time model-checking algorithm for the alternation-free modal
*μ*-calculus.*Formal Methods in System Design*, 2:121–147, 1993.CrossRefGoogle Scholar - [CVWY92]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.CrossRefGoogle Scholar - [EH85]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.CrossRefGoogle Scholar - [EJ88]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 - [EJ91]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 - [EL85a]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 - [EL85b]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 - [Eme85]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 - [Eme90a]E.A. Emerson. Temporal and modal logic.
*Handbook of Theoretical Computer Science*, B:997–1072, 1990.Google Scholar - [Eme90b]E.A. Emerson. Temporal and modal logic.
*Handbook of theoretical computer science*, pages 997–1072, 1990.Google Scholar - [ES84]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 - [FL79]M.J. Fischer and R.E. Ladner. Propositional dynamic logic of regular programs.
*J. of Computer and Systems Sciences*, 18:194–211, 1979.Google Scholar - [GL94]O. Grumberg and D.E. Long. Model checking and modular verification.
*ACM Trans. on Programming Languages and Systems*, 16(3):843–871, 1994.Google Scholar - [HV91]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.Google Scholar - [KV97]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 - [Lam80]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 - [Liu89]M.T. Liu. Protocol engineering.
*Advances in Computing*, 29:79–195, 1989.Google Scholar - [LP85]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 - [LPZ85]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 - [MH84]S. Miyano and T. Hayashi. Alternating finite automata on
*ω*-words.*Theoretical Computer Science*, 32:321–330, 1984.CrossRefGoogle Scholar - [Mic88]M. Michel. Complementation is more difficult with automata on infinite words. CNET, Paris, 1988.Google Scholar
- [MP92]Z. Manna and A. Pnueli.
*The Temporal Logic of Reactive and Concurrent Systems: Specification*. Springer-Verlag, Berlin, 1992.Google Scholar - [MS87]D.E. Muller and P.E. Schupp. Alternating automata on infinite trees.
*Theoretical Computer Science*, 54:267–276, 1987.CrossRefGoogle Scholar - [MS95]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.Google Scholar - [MSS86]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 - [MSS88]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 - [Pei85]R. Peikert.
*ω*-regular languages and propositional temporal logic. Technical Report 85-01, ETH, 1985.Google Scholar - [Pnu77]A. Pnueli. The temporal logic of programs. In
*Proc. 18th IEEE Symposium on Foundation of Computer Science*, pages 46–57, 1977.Google Scholar - [QS81]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 - [Rab70]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 - [Rud87]H. Rudin. Network protocols and tools to help produce them.
*Annual Review of Computer Science*, 2:291–316, 1987.CrossRefGoogle Scholar - [Saf88]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 - [SC85]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.Google Scholar - [SE84]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 - [Sis83]A.P. Sistla.
*Theoretical issues in the design and analysis of distributed systems*. PhD thesis, Harvard University, 1983.Google Scholar - [SVW87]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.CrossRefGoogle Scholar - [Var82]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 - [Var94]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 - [Var96]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 - [VW86a]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 - [VW86b]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.Google Scholar - [VW94]M.Y. Vardi and P. Wolper. Reasoning about infinite computations.
*Information and Computation*, 115(1):1–37, 1994.CrossRefGoogle Scholar - [Wol89]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 - [WVS83]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

## Copyright information

© Springer-Verlag Berlin Heidelberg 1997