-
Notifications
You must be signed in to change notification settings - Fork 43
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
Revert 'Eliminate top level existentials in side-condtions' #3620
base: master
Are you sure you want to change the base?
Conversation
@@ -773,7 +773,7 @@ checkSimpleImplication inLeft inRight existentials = | |||
rhsBottom <- | |||
fmap isBottom . liftSimplifier $ | |||
SMT.Evaluator.filterMultiOr $srcLoc | |||
=<< Pattern.simplify right |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this didn't end up being the issue, but it's not correct and should be changed nonetheless.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, but the RPC integration tests need to be adapted.
As it turns out, one of the RPC server |
Does the test make sense in the first place? |
Yes, that's what happens. Just not sure why it would be such a bad thing to have an existential quantification over both term and predicate... |
Unfortunately, the "error somewhere else" is triggered by foundry proofs (I tested |
This PR fixes #3605
The bug was introduced by #3202, which eliminated top level existentials in side-conditions. However, this was incorrect because when translated to Z3, these variables would get a universal quantification, which is what was happening in #3605