Algorithms: the construction, proof, and analysis of programs - Berlioux, Pierre (John-Wiley & Sons, 1987)