yeah that is the difference between propositional logic and first order? (I think I have my terms correct, or is it predicate vs. first order? I can not be sure).<br><br>IN any case, when you hear people talk about "first order" logic, normally that means the higher level Conditional Elements like not, exist, and soon, forall, accumulate, collect etc.
<br><br><div><span class="gmail_quote">On 2/28/07, <b class="gmail_sendername">Peter Lin</b> <<a href="mailto:woolfel@gmail.com">woolfel@gmail.com</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>
simple<span class="q"><br>
<br>
rule x:<br>
<br>
if <br>
a = 5<br>
b = 3<br></span>
c != 0<br>
then<br>
c = 0<br>
<br>
keep in mind that using negation NOT means that condition does not exist. In other words, if I have this rule<span class="q"><br>
<br>
rule y:<br>
if<br>
a = 5<br>
b = 3<br></span>
not c = 0<br>
then<br>
c = 0<br>
<br>
rule y means a is 5, b is 3 and no c is zero. Say i assert 100
objects to the working memory and 1 of them has c = 0. it means rule y
would never fire, since there is a fact that satisfies "not c =
0". <br>
<br>
hope that helps<br>
<br>
peter<br><br><div><div><span class="e" id="q_111059f9b7e767d0_5"><span class="gmail_quote">On 2/27/07, <b class="gmail_sendername">Premkumar Stephen</b> <<a href="mailto:prem18@gmail.com" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
prem18@gmail.com</a>> wrote:</span></span></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><span class="e" id="q_111059f9b7e767d0_7">
Hi Dev team,<br><br>Its been fascinating to watch the growth of this tool. Here is my question:<br><br>Rule x:<br>if <br> a = 5<br> b = 3<br>then<br> c = 0<br><br>Now,
I have written this rule to run when a = 5 and b =3. But actually, I
would like it to ideally run when a = 5 and b = 3 and c != 0
<br><br>Now, does the second scenario lead to any savings. In Ilog,
the second scenario will result in the rule NOT being added to the
agenda whereas it would in the first.<br><br>I cannot code the second
scenario into the rule as the rule ( as seen in UI) needs to match the
requirements version ( in Doors) and they do not want to add these to
the requirements. I would just like to make the second version for
performance. We have noticed that less number of rules would fire.
<br><br>Now, if a = 5, b = 3 and c = 0, is there a way Drools can look
at it and say, let me not fire this rule since there is no practical
use anyways. <br>If not, what are the ways to automate not firing rules in scenarios where action does NOT cause updates to data.
<br><br>Thanks!!<br>
<br></span></div>_______________________________________________<br>rules-dev mailing list<br><a href="mailto:rules-dev@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-dev@lists.jboss.org
</a><br><a href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
https://lists.jboss.org/mailman/listinfo/rules-dev</a><br><br></blockquote></div><br>
<br>_______________________________________________<br>rules-dev mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-dev@lists.jboss.org">rules-dev@lists.jboss.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-dev" target="_blank">
https://lists.jboss.org/mailman/listinfo/rules-dev</a><br><br></blockquote></div><br>