Proof of a recursive program. - Foley, M.; Hoare, C. A. R. (Computer Journal, 1971)