Kind regards,
Aliaksei
> --
> You received this message because you are subscribed to the Google Groups "opensmt" group.
> To post to this group, send email to ope...@googlegroups.com.
> To unsubscribe from this group, send email to opensmt+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/opensmt?hl=en.
>
>
yes OpenSMT converts all into <=, following these rewrites
(>= a b) --> (<= b a)
(< a b) --> (not (<= b a))
(> a b) --> (not (<= a b))
what I see from the trace is not necessarily incorrect because
polarity is not taken into account. OpenSMT always communicates
"positive" constraints, i.e., will never communicate (not (<= b a)).
The polarity information is stored in enode::getPolarity( ) method,
which could be l_True (positive) or l_False (negative). So this call
>>call: assertLit (<= b a)
may actually mean
>>call: assertLit (not (<= b a))
If "e" is an enode, try to use the following printout for assertLit
cerr << ( e->getPolarity( ) == l_True ? " " : "not " ) << e << endl;
and you should see that maybe that constraint was actually pushed negatively
I hope I have spotted the bug, if not let me know
Cheers,
Roberto
On Fri, Jun 24, 2011 at 1:11 PM, flocor <corz...@cs.rwth-aachen.de> wrote:
> --
> You received this message because you are subscribed to the Google Groups "opensmt" group.
> To post to this group, send email to ope...@googlegroups.com.
> To unsubscribe from this group, send email to opensmt+u...@googlegroups.com.
> For more options, visit this group at http://groups.google.com/group/opensmt?hl=en.
>
>
--
Roberto Bruttomesso, PhD - http://tinyurl.com/r0b3r70
I'm currently running the "--disable-optimization" configuration.
There are some examples, which I can run bugfree, but instead of the
OpenSMT-output "sat" or "unsat" it communicates "error". Shall I try
the "--enable-pedantic_debug" configuration or do you already have an
idea?
correct
>
> I'm currently running the "--disable-optimization" configuration.
> There are some examples, which I can run bugfree, but instead of the
> OpenSMT-output "sat" or "unsat" it communicates "error". Shall I try
> the "--enable-pedantic_debug" configuration or do you already have an
> idea?
I don't think that pedantic_debug will help here. Just to add a bit
more to what Aliaksei said, if OpenSMT answers "error" it is because
1) the benchmark contains the :status flag (e.g., (set-info :status sat))
2) the final "internal" answer of OpenSMT is the opposite (e.g., unsat)
therefore instead of returning the wrong answer it just says "error".
You can see this by removing the flag from the benchmark
I think that once you fix your solver, which I assume is still unsound
given that you do not consider correct polarities, than it will
hopefully agree with set-status flag
Cheers,
R
> For more options, visit this group at http://groups.google.com/group/opensmt?hl=en.