Automata, Computability, and Complexity: Theory and Applications by Elaine Rich