Mathematical theory of computation books