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

Checking that every Number of sort Int in mkConst is indeed integer #813

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

Tomaqa
Copy link
Member

@Tomaqa Tomaqa commented Nov 16, 2024

This assertion fails with substitutions and also in FarkasInterpolator::getFlexibleInterpolant in TEST_F(LIAInterpolationTest, test_InterpolationLRASat). We should probably forbid such substitutions. In the interpolation, I am not sure if the test makes sense or if the situation must be handled more properly.

@Tomaqa Tomaqa requested a review from blishko November 16, 2024 21:36
@Tomaqa Tomaqa changed the title [WIP] Checking in mkConst that every Number of sort Int is indeed integer Checking that every Number of sort Int in mkConst is indeed integer Nov 23, 2024
@Tomaqa
Copy link
Member Author

Tomaqa commented Nov 23, 2024

As a consequence of the check, I removed substitutions for integers when it introduces rational coefficients.
I also disable flexible Farkas interpolants where the current implementation IMO does not make sense for integers.

We should probably run SMT-LIB benchmarks to see if it affects the performance (and of course the soundness).

@Tomaqa Tomaqa marked this pull request as ready for review November 23, 2024 11:29
@blishko
Copy link
Member

blishko commented Nov 23, 2024

I think flexible interpolation still makes sense even for interger arithmetic. But the interpolant probably needs some normalization to avoid rational coefficients.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants