Ingomar,
 
I tried this, and indeed that worked. I was surprised, as I thought "not" was meant more to mean that a fact inside its parentheses did not exist, rather than a logical negation, which is the way you used it in your example. However, if I do what you said, it does work exactly how I expected "not" alone to work.
 
Thanks!
-Hans
 
-------------- Original message --------------
From: Ingomar Otter <iotter@mac.com>

> Hans,
> If you change "not NegativeResult()" to "not (exits
> NegativeResult())" this should result in the expected behaviour.
>
> Cheers,
> Ingomar
>
> Am 31.07.2008 um 17:19 schrieb ringsah@comcast.net:
>
> > How is "not" supposed to work with insertLogical? Assume I have two
> > different rules whose conditions are mutually exclusive, like the
> > following:
> > rule "Rule One"
> > when
> > not NegativeResult()
> > then
> > insertLogical(new ApplicantStatus("Approved"));
> > end
> > rule "Rule Two"
> > when
> > NegativeResult()
> > then
> > insertLogical(new ApplicantStatus("Denied"));
> > end
> > Assume that the above two rules are the only way an ApplicantStatus
> > fact can be inserted into working memory. I would expect, after all
> > rules are run, that it would be impossible for there to be one
> > ApplicantStatus with "Approved" as its reason, and another with
> > "Denied" as its reason, in the working memory.
> > I would expect that, before any NegativeResult is inserted, that
> > rule one could run, and insert an ApplicantStatus fact with an
> > "Approved" reason. Then, after a NegativeResult is inserted, that
> > rule two could run, and insert an ApplicantStatus fact with a
> > "Denied" reason. At this point I would expect that the original
> > ApplicantStatus fact, with an "Approved" reason, would be retracted,
> > since the conditions under which it was inserted are no longer true.
> > This is not what I am observing, howe ver. I am finding
> > ApplicantStatus facts with both reasons in working memory at the end
> > of the rules run. Should "not" work as I expect with regard to
> > inserting a fact via insertLogical()? Or is this a known limitation,
> > or simply the way it is designed to work?
> > Thanks,
> > -Hans_______________________________________________
> > rules-users mailing list
> > rules-users@lists.jboss.org
> > https://lists.jboss.org/mailman/listinfo/rules-users
>
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users