-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Inconsistent answers on problems involving NaN and uninterpreted functions #6728
Comments
With option
|
I think the first example is OK actually. I agree that the second example is bizarre, it should be UPDATE: Never mind; upon second reading of your text, you never claimed the first one was bad. I agree; the first example is |
Yes, I should have clarified that |
You may want to pass |
Thanks for the tip. I'll keep this in mind, but it doesn't work here. The problem here is NaN as input to UFs, not UF producing NaN. |
This is most likely a bug in my translation of UFs that depend on floats to UFs that depend on bit-vectors. It's definitely possible, if not likely, that I didn't treat NaNs correctly there. I'll try to make some time to sort this out soon. |
I have seen problems involving floating points terms
t1
andt2
both equal toNaN
that causeinconsistent answers.
(not (= t1 t2))
, z3 answersunsat
.(not (= (f t1) (f t2))
wheref
is an uninterpreted function, z3 answerssat
.Here's an example:
This gives
unsat
Variant with uninterpreted function:
This gives
sat
The text was updated successfully, but these errors were encountered: