support strongest-postcondition reasoning #763
Labels
proof engineering
nicer, shorter, more maintainable etc proofs
proof tools
convenience, automation, productivity tools
We currently have
_sp
rules for a number of the basic monad constructs, and we're using them manually in some situations, e.g. to avoid case blow-up in wp reasoning or when chaining trivial steps in corres proofs.We should:
_sp
rules -- I think they do have to be manually stated, but their proofs should all follow automatically from the correspondingwp
rulesp
tactic, analogous towp
, but not as sophisticated. For a first version, I would propose a simple Eisbach method that repeatedly applies ansp
set, and potentially automatically does ansp_pre
(analogously towp_pre
)._sp
proofs and replace these to make sure the automation works and is convenient enough to useI don't think we need a full-blown
wp
equivalent forsp
, because we do not want to switch over to generalsp
reasoning or use more of it than necessary (to avoid duplicating rules for kernel functions). This issue only proposes to make those instances where it would be beneficial to use more ergonomic to use and easier to read/review.MCS seems to have a higher use count of
sp
rules, so we should make sure to test the method there.The text was updated successfully, but these errors were encountered: