This book deals with the presentation and systematic design of mathematical proofs, including correctness proofs of algorithms. Its purpose is to show how completeness of argument, an important constraint especially for the correctness of algorithms, can be combined with brevity. The author stresses that the use of formalism is indispensible for achieving this. A second purpose of the book is to discuss matters of design. Rather than addressing psychological...