-
-
Notifications
You must be signed in to change notification settings - Fork 40
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
[FEATURE] Rewrite \E x \in a..b: p
to \E x \in Int: a <= x /\ x <= b /\ p
#1407
Comments
@konnov thoughts? |
Also, from what I can tell, this would not throw in cases like #425 |
Also mentioned in #481 |
It is a very good idea and we should do it. It is not just an optimization. It may enable support of
|
Also related is #844 |
This one is also related #480. All these issues call for a general approach. |
No. While that PR implements the rewriting itself, it does not
|
ExprOptimizer
already translatesx \in a..b
toa <= x <= b
, and while there's no good way to handle the seta..b
for non-constanta,b
explicitly, quantification should be one of the cases where we can introduce optimizations.We should also consider translating
\A x \in a..b: p
to\A x \in Int: (a <= x /\ x <= b) => p
(though at the moment,\A x \in Int: ...
might be a bad idea).Related: #446
The text was updated successfully, but these errors were encountered: