An Introduction to Symbolic Dynamics and Coding 2nd Edition by Douglas Lind