Mathematics Of Program Construction by Dexter C. Kozen