The design and analysis of algorithms - Kozen, C. Dexter (Springer-Verlag, 1992)