[rules-users] Not and forall operator behaviour
Davide Sottara
dsotty at gmail.com
Thu May 29 16:46:07 EDT 2014
Both should fire when there is no message.
This said, the two are not equivalent.
The negation of
Message( sent == true, status != INITIALIZED )
is:
Message( sent == false *||* status == INITIALIZED )
That is, by deMorgan's laws, you need to negate
the operators AND flip the and/or connectives.
In case something still seems weird, could you
please specify the drools version you're using,
as well as which facts you are inserting exactly?
Thanks
Davide
On 05/29/2014 09:33 PM, rogerL wrote:
> Are the two following statements not equivalent?
>
> forall($msg:Message()
> Message(this==$msg, sent==true, status!=State._INITIALIZED)
> )
>
>
> not( Message(sent==false, status==State._INITIALIZED) )
>
> My understanding is that they both ensure that there are no Message objects
> in WM with property 'sent' set to false and property 'status' set to
> State._INITIALIZED.
>
> In my situation, the 'forall' approach is working as expected, the 'not'
> approach fires once (when there are no Message objects in WM) and never
> again.
>
> Appreciate if anyone could shed light on this.
>
>
>
> --
> View this message in context: http://drools.46999.n3.nabble.com/Not-and-forall-operator-behaviour-tp4029761.html
> Sent from the Drools: User forum mailing list archive at Nabble.com.
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20140529/4b837578/attachment.html
More information about the rules-users
mailing list