Introduction to the Theory of Computation - Sipser, Michael (Delhi; Cengage Learning India Private Limited, 2006)