-
Notifications
You must be signed in to change notification settings - Fork 36
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 behavior while using negation in forall_t #334
Comments
Thanks @Nikh13 for the report. This is pretty weird. We'll look into it soon. |
Hi @Nikh13 , could you send me the full smt2 file so that I can reproduce it locally? |
Hi Soonho, I have attached the file and commented the rules that are producing this behaviour. Please do let me know if you need anything else. Thanks, |
@Nikh13 , thank you. I've found two problems in the file:
|
Hi @soonho-tri, Thank you for the prompt response. I fixed the file based on the problems you found with it but I still seem to be getting the same behavior. I have attached the updated file. I also wanted to verify the exact working of the
Is this correct? |
Hi,
I am currently formalizing a simple system with ODEs in SMT2 and using dReal to solve it. I wanted to apply the invariant
not (x<3 & y>1)
to a particular mode using theforall_t
logic.Case 1: The invariant is satisfied
(assert (forall_t 1 [0 duration_0_] (not (and (> y_0_t 1)(< x_0_t 3)))))
Case2: The invariant is unsatisfiable
(assert (forall_t 1 [0 duration_0_] (not (and (< x_0_t 3)(> y_0_t 1)))))
As you can see both statements are exactly the same except that I have changed the order of the conjunctive terms, but give different results. In a couple of other cases as well, using negation with the
forall_t
statement seemed to be giving inconsistent as well as unexpected results. Just needed to know if I am missing something or if there is a fix for this.Thanks.
The text was updated successfully, but these errors were encountered: