Computability, Complexity, and Languages: Fundamentals of Theoretical Computer Science (Hardcover, 2, Revised)