Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Methods such as monadic_rewrite_symb_exec_r should warn that discharging side-conditions failed #715

Open
Xaphiosis opened this issue Feb 15, 2024 · 0 comments
Labels
enhancement proof engineering nicer, shorter, more maintainable etc proofs

Comments

@Xaphiosis
Copy link
Member

The specific case is monadic_rewrite_symb_exec_r which will attempt to automatically discharge, for example, the no_fail side condition. When it works, this is great, but when it fails there is no sign except for an extra subgoal. For small examples this is fine also, but for large proofs (e.g. fastpath rewrite proof) it's hard to notice that this failed, leading to a surprise no_fail goal out of nowhere before the wp part of the proof.

Some questions here are:

  • Should we warn? In the spirit of backwards reasoning, dealing with the side-conditions later makes sense, but it will usually be by providing a rule that could just as easily be provided to monadic_rewrite_symb_exec_r or placed in the [wp] set.
  • How do we warn? We'd need some kind of warn_tac that's an alternative to whatever tactic we're trying to apply, and have it not get repeatedly get set off by backtracking.
  • Which other methods/tactics do people know that have this "why didn't you warn me?!" property that this issue could apply to?
@Xaphiosis Xaphiosis added enhancement proof engineering nicer, shorter, more maintainable etc proofs labels Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement proof engineering nicer, shorter, more maintainable etc proofs
Projects
None yet
Development

No branches or pull requests

1 participant