Almeida JB, Frade MJ, Pinto JS, Sousa SM.? 2011.??Rigorous Software Development: an introduction to program verification.