← Back to context

Comment by 0xDEAFBEAD

7 hours ago

OK, but that's a reactor control system. If your application has no time-critical aspect, is there any good reason to prefer a proof over an assert?

Will your users be happier to get an assertion failure when they run your code, compared to no error?

(the tradeoff of course being that they might get your code later because it took more time to prove the code is correct)

  • What if it's an internal tool, where correctness matters a lot, but failures matter little? E.g. roll back all database changes in case of assertion failure. Perhaps an accounting thing or something of that nature.

Because a run-time error produces a failure at runtime or a crash. You would much prefer that errors are impossible.