Proof of a Recursive Program: Quicksort - Foley, M; Hoare, C (1971)