-
Notifications
You must be signed in to change notification settings - Fork 46
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
interpolation can only be done over previously asserted formulas
when re-adding constraints
#381
Comments
kfriedberger
added a commit
that referenced
this issue
Jun 29, 2024
Returning the asserted term itself can cause problems if the calling context assumes uniqueness.
kfriedberger
added a commit
that referenced
this issue
Jun 29, 2024
Previously, we tracked a single ID per asserted constraint. If we added the same constraint several times, the solver can return distinct IDs. The solution is a switch from Map to Multimap, to track all IDs.
kfriedberger
added a commit
that referenced
this issue
Jul 4, 2024
Returning the asserted term itself can cause problems if the calling context assumes uniqueness.
kfriedberger
added a commit
that referenced
this issue
Jul 4, 2024
Previously, we tracked a single ID per asserted constraint. If we added the same constraint several times, the solver can return distinct IDs. The solution is a switch from Map to Multimap, to track all IDs.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Following my discussion with @baierd, I'm providing a (somewhat) minimal working example for the bug where re-adding the same constraint twice makes it impossible to query interpolants.
Setup: add one constraint (
A
), add a second constraint (B1
) making the system UNSAT, then re-add the second constraint (B2
), and query interpolants between eitherA
andB1
, orA
andB2
.Experienced behavior: Some solvers report
interpolation can only be done over previously asserted formulas
.Expected behavior: Re-adding constraints should not interfere with the ability to calculate interpolants.
The affected solvers (What I think are considered bugs are in bold):
I would separately emphasize the third test's success with MATHSAT5 and CVC5, which makes it even harder to understand what's happening.
The reproduction test (junit5):
The text was updated successfully, but these errors were encountered: