This text synthesizes ten years of research in top-down program design and verification of program correctness. It shows how these techniques may be used in day-to-day programming with the PASCAL language. Many examples of programs and proof development, as well as an explanatio…