Formal methods enable computer architecture and software design to be mathematically proved correct before they are implemented. The complexity and time-consuming nature of such proofs have limited the applications of formal methods in the main to defence and safety-critical...