Ernest, based on your advice below, I created a third variant of the rule LHS.
This one looks like:
(defrule rule3
...
(not (not <pattern>))
....
=>
....
)
In otherwords, explicitly implementing (exists ) without the (unique )
qualifier. This produces the same effect as (exists ): this particular rule
does not fire. I think that can let us rule out any effect (unique ) may have
in this situation.
Jack
[EMAIL PROTECTED] wrote:
> I think Jack Kerkhof wrote:
> > Hi all,
> >
> > Under what conditions could the addition of an (exists <pattern>)
> > around a <pattern> cause a rule NOT to fire?
>
> None that I can think of, unless perhaps the pattern binds a variable
> that is used later in the rule -- but be sure to read all the way to
> the enf of this message.
>
> > I know that would imply the problem is elsewhere, but I have
> > constrained all variables to only the change above. It would seem to
> > me that under any circumstance two rules with the above variations
> > would either not fire at all, or both fire at least once - correct?
>
> Yes, that should be the case. What does the pattern look like? Does it
> define any variables?
>
> > PS Tested in 5.2
>
> Try this in 6.0 if you can, see if the problem has been fixed.
>
> > PPS: Ernest, the documentation section 2.8.1.7. (5.2) indicates that
> > (exists) is implemented as (not (not)) when in fact it appears to be
> > implemented as (not (not (unique))). I don't know if that is salient
> > to this problem or 'not' ;-)
>
> It's true that the (unique) flag is set in those two nested "not"
> nodes as an optimizatiion. This is the case in 5.2 but not in 6.0. You
> could try commenting that line (line 1104 in jess/Jesp.java) and see
> if the problem goes away -- please let me know if it does. (unique) is
> a tricky beast and easy to abuse; this optimization might in fact be
> one of those abuses.
>
> ---------------------------------------------------------
> Ernest Friedman-Hill
> Distributed Systems Research Phone: (925) 294-2154
> Sandia National Labs FAX: (925) 294-2234
> Org. 8920, MS 9012 [EMAIL PROTECTED]
> PO Box 969 http://herzberg.ca.sandia.gov
> Livermore, CA 94550
>
> --------------------------------------------------------------------
> To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
> in the BODY of a message to [EMAIL PROTECTED], NOT to the list
> (use your own address!) List problems? Notify [EMAIL PROTECTED]
> --------------------------------------------------------------------
--------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]
--------------------------------------------------------------------