-
Notifications
You must be signed in to change notification settings - Fork 33
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
The distinct expression clashes with the SMT-LIB specification #889
Comments
A hot fix have been merged on the branch |
After some offline discussions, it seems that solving the issue is not a priority for the next release as we don't expect to see valuable performance improvements because of the current implementation. The difficulty comes from the fact that the negation of We have a solution to solve this. Basically, if the SAT solver discovers that a decision on
This formula is a tautology. Thus, if we forgot to add it at all the backtracking locations in the code, our solver is still sound. Now, as we have This solution is complex. For the release |
This is no longer a soundness bug since we explode distinct for now. Opened #1157 to track work on re-instating native support for distinct. |
The current implementation of the
distinct
expression in the moduleExpr
clashes with theSMT-LIB specification.
In Alt-Ergo, the expression
mk_distinct [x_1; ...; x_n]
means:but the expected implementation is:
This disagreement induces a soundness bug. For instance with the input file:
we got
unsat
with AE butsat
with other solvers.The text was updated successfully, but these errors were encountered: