Formal Methods by Diego R. Almeida