So far we have succumbed to the programmer’s conceit that every program is constructed correctly, even it if takes a few attempts at refinement. This is, of course, far from the truth. Programs are ...