-
Notifications
You must be signed in to change notification settings - Fork 33
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
Stack overflow in "src/lib/util/zarithNumbers.ml", line 65, when the CDCL solver is used #481
Comments
It seems Alt-Ergo enters an infinite loop in |
I don't know if it is an infinite loop. It seems to me that when it instantiates the quantified formulas, it generates terms that contain high degree polynomials and the loop might just take so long that a stack overflow exception is raised.
|
SMT-LIB version:
Interestingly the manually skolemized version:
doesn't exhibit the behavior, whereas we should expect both to behave in the same way (the automatic skolemization is there for a reason!), but that is probably a different bug. Alt-Ergo responds "I don't know" in this case, even though the problem is unsat in two different ways (there is no constant |
It looks like the runaway loop is due to wrong pattern inference on the first quantifier when under the existential: in the manually skolemized version, the trigger is In any case, the following completes quickly and does not go into the infinite loop (with an
|
It looks like the issue is indeed related to the "triggers of the existential" thing. We do multiple rounds of instantiation. In the first round (where we don't allow inferring variables as triggers), we correctly use the triggers of the skolemized term The manually skolemized version uses the skolem version everywhere. |
co_2096_l.ae.txt
Running Alt-Ergo on the attached file with:
causes a stack overflow in the call to Zarith's gcd function.
The problem is probably in the Zarith library.
The text was updated successfully, but these errors were encountered: