Automata, Languages, and Programming - Hutchison, David; Kanade, Takeo; Mehlhorn, Kurt; Pitts, Andrew; Wattenhofer, Roger (Springer Berlin Heidelberg, 2012)