-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Soundness bug on NRA formula (master + debug) without options #3484
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
Comments
duplicate of similar nlsat soundness bugs |
Nikolaj, which similar open bugs were you referring to? We have checked very carefully before reporting to avoid unnecessary duplicates. Thanks. @NikolajBjorner |
The original post is #2650. |
Okay, thanks, Nikolaj; we didn't see this as it was closed. |
Hi Nikolaj, Thank you for your comments. We tried to dive deeper into this by inspecting the unit tests for nlsat in src/test/nlsat.cpp. Is the unit test that you mentioned tst11? If I run the nlsat unit tests on the Z3 master (41c68d6) and debug (c5a70ae) branches, all the nlsat unit tests appear to pass (please see the attached log). Furthermore, for the first 5 formulas in #2650, Z3 now returns the correct results. However, it still works incorrectly on the 6th, 7th, and the recently added formulas. Thank you in advance |
it is tst11, but it does not check any correctness objectives so it just succeeds. |
Nikolaj, since z3 works correctly on some of these formulas and incorrectly on some of the others, how could one be sure that these are duplicates or not? Thanks for sharing any tips to help us better triage our tests. @NikolajBjorner |
The common trait is to use nlsat.check_lemmas=true and it ends up failing (a tautology test). |
Okay, thanks, Nikolaj; we'll try it. I guess, even so, some of the tests could still be pointing to different root causes, correct? |
At this point, basically there are two main bugs that involve nlsat. The other classes of bugs that I have mostly seen are around model construction for underspecified operators (division), and there have been some around parameter fuzzing (simplification in nlsat and reordering and their combinations). For the most part these bugs don't affect standard uses. |
Thanks for this additional information, Nikolaj. Things are a lot clearer now as to how you had commented on and triaged these tests. And, thanks again for all your efforts! |
On a separate note, Nikolaj, although not having been our focus, would the following interest you at all before we file more?
|
As far as I can see it accesses a tagged pointer and the tool is therefore complaining. |
Consider the below trace which shows a soundness bug on a NRA formula. Z3 (master + debug) return
sat
, CVC4 givesunsat
on bug.smt2. Feeding Z3's model to the formula yieldsunsat
.No related issues: I have scanned the other open "soundness bug issues". None of those has the following characteristics (1) NRA, (2) master + debug branch (3) no options.
OS: Ubuntu 18.04
Commit: 8d39694 (master) + 8d39694 (debug)
The text was updated successfully, but these errors were encountered: