Foundations of Software Science and Computation Structures - Pfenning (Springer Berlin Heidelberg, 2013)