-
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
CVC5 Interpolation #293
Comments
In SMT theory, the validity of a formula is defined as "there is at least one satisfying model for it". For this context, it might be better not to test it, but to proof it. Someones life might depend on it. 😃 |
@nianzelee your input would be much appreciated. |
@baierd What you have written here seems to deviate from their API documentation. From the Javadoc of
So, it should be the case that both A->I and I->B are valid, but NOT A and B are valid. |
I think that's how we interpreted it in our internal discussion. Update on this issue: we are certain that the proposed changes above lead to the same interpolation procedure. @RSoegtrop currently works on implementing it the way described above. |
Good to know. I really look forward to it. |
@baierd Could you please review my take on CVC5InterpolatingProver? |
@RSoegtrop Could you create a proper pull-request for the code changes in your branch, such that a review can be performed via Github? A first look: There is nearly no documentation, i.e., no comment on complex code and no JavaDoc for methods. |
CVC5 uses a different interpolation interpretation than what we support in our API. However, they can be transformed into one another.
We use the following definition of Craig-Interpolation:
For a pair of formulas φ− and φ+ such that φ− ∧ φ+ is
unsatisfiable, a Craig interpolant ψ is a formula that fulfills
the following requirements:
In CVC5 φ− ⇒ ψ and ψ ⇒ φ+ are with φ+ and φ- being valid.
(Does valid mean SAT or UNSAT?!)
This means that if we negate φ+, we receive the correct interpolant under the assumption that its the same interpretation of satisfiablity.
We should test this.
The text was updated successfully, but these errors were encountered: