Publisher's Synopsis
A comprehensive introduction to automata theory that uses the novel approach of viewing automata as data structures. This textbook presents automata theory from a fresh viewpoint inspired by its main modern application, program verification, where automata are viewed as data structures for the algorithmic manipulation of sets and relations. This novel "automata as data structures" paradigm makes holistic connections between automata theory and other areas of computer science not covered in traditional texts, linking the study of algorithms and data structures with that of the theory of formal languages and computability. Esparza and Blondin provide incisive overviews of core concepts along with illustrated examples and exercises that facilitate quick comprehension of rigorous material. • Uses novel "automata as data structures" approach • Algorithm approach ideal for programmers looking to broaden their skill set and researchers in automata theory and formal verification • The first introduction to automata on infinite words that does not assume prior knowledge of finite automata • Suitable for both undergraduate and graduate students • Thorough, engaging presentation of concepts balances description, examples, and theoretical results • Extensive illustrations, exercises, and solutions deepen comprehension.