Introduction to Automata Theory, Languages, and Computation - John E Hopcroft; Rajeev Motwani Jeffrey D Ullman (PEARSON EDUCATION New Delhi, 2006)