logoalt Hacker News

syphiayesterday at 11:47 PM0 repliesview on HN

Verification is sometimes less conceptually difficult than solving. I'd say for most well-defined problems, verifying is simpler.

E.g. finding a general solution for a cubic polynomial is difficult. Proving that a solution is correct is conceptually trivial: substitute a solution for x, and simplify. Many mathematical problems are well-defined in this way.

In the case of a compiler (CompCert), the program is already, in part, being written according to the language spec. So that definition can be used in verifying a compiler. In a domain where there is no standard specification or required properties, then coming up with a spec is hard (probably as hard as coming up with a solution).