# EECI 2020: Automata Theory

Prev: Course Introduction | Course home | Next: Temporal Logic |

This lecture gives an introduction to some concepts and tools in computer science that are used in the remainder of the course. We start with finite transition systems as a mathematical model to describe behavior of systems with finite, discrete states. We use linear-time properties serve as the specification language (e.g., to specify safety or liveness properties) and we discuss the preliminaries that lead to model checking, a commonly used, powerful verification tool.

## Lecture Materials

- Lecture slides: Automata Theory (presentation and notation follow that in "Principles of Model Checking" chapters 2.1, 2.2, 3.2-3.4 by Baier and Katoen.)

## Further Reading

Principles of Model Checking, C. Baier and J.-P. Katoen, The MIT Press, 2008. A detailed reference on model checking. Early chapters provide an exposition to automata theory. Slides for this lecture follow this reference.

Introduction to the Theory of Computation, M. Sipser, PWS Publishing Company, 1997. This is a textbook on theory of computation covering preliminaries in automata theory.

CDS 270: Verification of Hybrid Systems: The first few lectures of this course taught in Spring 2012 covered the material in this lecture. There are brief lecture notes and exercises.

CDS 270: Verification in Controls: The second half of the course taught in Fall 2009 at Caltech also covered the material in this lecture. There are brief lecture notes and exercises.