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
(error "query failed: Sorts (Array Int Int) and Int are incompatible") on instance that should likely be SAT #2378
Comments
While the crash doesn't reproduce in the latest master the bug that is exposed in previous versions remains. A good idea is to make code like this:
validate that a_lhs is in fact an array by using a helper function. get_array_indices(a_lhs), get_num_array_indices(a_lhs) or similar. |
I will need some time to process this. Maybe I am missing something... |
@NikolajBjorner digging deeper into this example, there is a problem with model evaluator. I get the following assertion failure:
As you can see, the left hand side of the equality is evaluated as a lambda expression, the right as a store expression. The equality is not reduced to true, hence the assertion failure. However, more importantly, the mbp code is not prepared to deal with lambdas but might be getting them now because of the evaluator... I'll keep digging further. |
changing
to
Restores the old behavior and makes the example pass (with |
The previous behavior was to evaluate arrays as nested store-terms, unless |
I believe the updates take care of Arie's issues with lambdas and crashes. |
This does not address the root cause. For me, moves the assertion failure from one example to another. The solution makes QE code more robust, but the root cause is that array equalities are not evaluated correctly. PR with previously proposed solution submitted. |
@agurfinkel |
…n equality test for lambda Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
is this addressed? |
When trying to solve an smtlib-instance we generated from a higher level representation, we encountered the error:
We reproduced the error in versions
4.8.3
and4.8.4
and4.8.5
(partially in Linux, partially on MacOS),4.6.0
reportssat
, current master (df405536
) reportsunsat
.Unfortunately we did not succeed in in generating a "minimal" example, as the smallest instance showing this behavior we found still had 35k lines. What we have is a minimally different set of files, where adding two rules and a predicate changes a
sat
-instance to an instance exhibiting the error.instances.zip
The text was updated successfully, but these errors were encountered: