Skip to content
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

Unify constraints tracking across all solvers #325

Merged
merged 12 commits into from
Aug 3, 2023

Conversation

kfriedberger
Copy link
Member

No description provided.

This simplifies and centralizes state-management.
… super-class.

This simplifies and unifies formula-management and
allows reducing specialized code in sub-classes.
Furthermore, this commit simplifies code for generating models
and for tracking IDs for unsat-cores or interpolation.
@kfriedberger kfriedberger requested a review from baierd July 31, 2023 21:56
@baierd
Copy link
Collaborator

baierd commented Aug 1, 2023

There is also a optimization test and 3 SolverAllSatTests failing for appveyor for some reason.

@kfriedberger
Copy link
Member Author

kfriedberger commented Aug 1, 2023

The failing AppVeyor-tests are strange, because I did not modify any Windows-specific code.

@baierd
Copy link
Collaborator

baierd commented Aug 2, 2023

Maybe a fluke? Can you restart them?

The bug is clearly a bug introduced by a recent commit.
It did only show up on Windows, and not on Linux.
We should aim for a consistent exception when accessing a closed Prover.
We did throw a NoSuchElementException instead of IllegalStateexception.
We move all code related for non-optimization into the Prover-subclass,
to have a clean separation between the normal prover and the optimization prover..
It looks as if stack-handling in the optimization-prover was already broken some time, and it is fixed now.
@kfriedberger
Copy link
Member Author

There were some inconsistencies in the Z3 implemention for the optimization-prover. Should be fixed by now.

@kfriedberger kfriedberger merged commit b596be2 into master Aug 3, 2023
@kfriedberger kfriedberger deleted the 322-unify-constraint-tracking branch August 3, 2023 18:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants