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

Some minor UX fixes #1672

Merged
merged 10 commits into from
May 23, 2022
Merged

Some minor UX fixes #1672

merged 10 commits into from
May 23, 2022

Conversation

robdockins
Copy link
Contributor

Some minor, but important, fixes for the user experience.

Add some a `print_proof_summary`, a `goal_num`, and a `write_goal`
tactic to help during the proof exploration process.
assertions.

We should check/update the corresponding information for JVM points-tos.
symbolic execution.  This is generally unsound, but may
be useful in proof exploration and construction to focus
in on just the stated correcness specifications.
@robdockins robdockins requested a review from chameco May 20, 2022 17:01
Copy link
Contributor

@chameco chameco left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks great overall. We should consider including integration tests for some of the top-level commands that lend themselves to that (goal_num stands out), and perhaps updating the manual to mention the new commands as well.

@robdockins
Copy link
Contributor Author

I thought about testing, but its not totally clear to me what would make a good test for some of these... do you have an idea in mind for goal_num?

@robdockins
Copy link
Contributor Author

I'm going to merge this now while everything is green. @chameco, if you have some concrete ideas for tests you'd like to see, I'm happy to add them later.

@robdockins robdockins merged commit 7f1a012 into master May 23, 2022
@mergify mergify bot deleted the rwd/ux-fixes branch May 23, 2022 16:33
@chameco
Copy link
Contributor

chameco commented May 23, 2022

👍. I have some ideas for testing goal_num, but they'd be a lot nicer to write if we had a tactic for splitting conjunctions into goals. I'll include a test whenever I implement that tactic.

@robdockins
Copy link
Contributor Author

We already have split_goal... do you have something else in mind?

For better or worse, the proof tactics we have for manipulating goals don't generate fresh numbers, those only come from the initial enumeration inside a verify command.

@chameco
Copy link
Contributor

chameco commented May 23, 2022

Ah, I hadn't run enable_experimental and therefore didn't spot split_goal in :env, TIL. It's unfortunate that it reuses the same goal number. I suppose we could write a test with llvm_verify on a dummy function alongside a few llvm_postconds, but that feels messy.

@robdockins
Copy link
Contributor Author

Agreed, the whole thing is kind of a mess. It would be nice to have better ways to handle the issue of goal identification, numbering the goals as we do now is a crude solution at best.

#1195 has some ideas along these lines. I like the idea of a combinator that adds a user-configurable annotation "tag" to all the goals generated by things in it's scope.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants