"As software becomes ever more ubiquitous in our lives, the need to ensure it runs without error becomes ever more important. Restarting a phone is a simple, if inconvenient task; restarting an aeroplane in mid-flight is not an option!Correct by construction programming offers a revolutionary approach to program verification where programs can contain not just computations as is normal, but also ...