Unifying Theories of Programming - Wolff (Springer Berlin Heidelberg, 2013)