Rigorous software development : an introduction to program verification - Almeida, José Bacelar; Frade, Maria João; Pinto, Jorge Sousa; Melo de Sousa, Simão (Springer, 2011)