-
Notifications
You must be signed in to change notification settings - Fork 35
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
Proving forall with only 1 wildcard #591
Comments
Your first caveat basically gives the answer: since defining the semantics of There's a Silver issue for properly rejecting such expressions, which you might remember :-) |
Thanks for looking at my repeat issue :) To give some more context: we were considering how to deal with quantifiers such as One option is to rewrite such a forall to Another option is to employ a more general strategy of transforming a non-injective forall into an injective forall, by making the permission amount argument of acc more complex (as suggested by @niomaster). This is more or less what I try to do in the example in the initial post. Since it's not fully supported, though, we should probably stick with collapsing foralls into read permissions. Besides the above comments, as far as I'm concerned this issue can be closed. |
I'm not entirely sure I understand the last comment: Is I'll close this issue, but feel free to continue the discussion via e-mail. |
In the following snippet, silicon can prove the second assert, but not the first:
I would expect them both to pass. Is this a limitation or a bug?
EDIT: I guess there are two caveats I should have considered earlier:
r.f
as trigger. Adding it doesn't change the situation.If either of these bullets is the case that would be acceptable, and I'd be interested on any thoughts about how to work around them.
The text was updated successfully, but these errors were encountered: