# Top-down presentation of mathematical arguments

Dijkstra's Structured Programming abided by a top-down presentation of his programs. In the Spring of 1981, Van Gasteren and Dijkstra recommended a similar presentation style for mathematical arguments. For instance, they advocated using lemmata before giving their proofs:

Though unusual, this seems entirely correct. The statement of a lemma is a logical firewall between its usage and its proof; the use of a lemma is independent of how the lemma can be proved and, during study of its use, knowledge of its proof is therefore an unnecessary burden. [AvG5/EWD788 - 5]

Similarly, instead of beginning a mathematical exposition with a list of definitions, they proposed to postpone each definition until needed.

Van Gasteren and Dijkstra contrasted their approach to the way many mathematicians had worked since Euclid's Elements: mathematical theories were typically presented in a bottom-up manner with the axioms first, then the lemmas and their proofs, and finally the theorems and their proofs.