Automata Theory by Matthew Simon