Good point. But choose the wrong hardware and you can never have provably correct software. E.g., the Intel x86 ISA makes all x86 processors <i>impossible</i> to prove correct. (there are 2^120 possible instruction encodings - the universe will die heat death before anyone could verify all of them in an implementation <a href="http:&#x2F;&#x2F;www.emulators.com&#x2F;docs&#x2F;nx06_rmw.htm" rel="nofollow">http:&#x2F;&#x2F;www.emulators.com&#x2F;docs&#x2F;nx06_rmw.htm</a> )