Introduction to Automata Theory, Languages, and Computation - HOPCROFT, John F (Addison-Wesly Pub, 2001)