César Jesus Rodrigues: Foundations of program refinement by calculation. University of Minho, Portugal 2009