Theory Of Computation by George Tourlakis