Rigorous Software Development : An Introduction to Program Verification - José Bacelar Almeida, Maria João Frade, Jorge Sousa Pinto, Simão Melo de Sousa ((Undergraduate Topics in Computer Science))