Constructing correct software : - Cooke, John 1947- (Formal approaches to computing and information technology, 1998)