Reversible Computation - Dueck (Springer Berlin Heidelberg, 2013)