Fundamentals of the Theory of Computation by H. James Hoover & Raymond Greenlaw