Hi!

I have a problem with a "not" conditional element in a rule of mine.

I'm working with the following template:

(deftemplate postdiction
  (slot last)
  (slot not-possibly-primary)
  (slot test-status))

The template will allow me to build a sort of tree structure, where each
fact can refer to a predecessor, given a value in the slot "last".

I have the following facts in my knowledge base:

f-50   (MAIN::postdiction (last nil) (not-possibly-primary nil)
(test-status affirmed))
f-51   (MAIN::postdiction (last nil) (not-possibly-primary nil)
(test-status affirmed))
f-52   (MAIN::postdiction (last nil) (not-possibly-primary nil)
(test-status affirmed))
f-53   (MAIN::postdiction (last <Fact-51>) (not-possibly-primary TRUE)
(test-status not-affirmed))
f-54   (MAIN::postdiction (last <Fact-50>) (not-possibly-primary TRUE)
(test-status conflict))
f-55   (MAIN::postdiction (last <Fact-51>) (not-possibly-primary TRUE)
(test-status not-affirmed))
f-56   (MAIN::postdiction (last <Fact-53>) (not-possibly-primary nil)
(test-status affirmed))

I now have the following rule:

(defrule bottom-false "Bottom leaves can be primary if affirmed"
  ?post <- (postdiction (test-status affirmed) (not-possibly-primary
nil))
  (not (postdiction (last ?post)))
  =>
  (modify ?post (not-possibly-primary FALSE)))

I should think that this rule should match on the last fact (f-56), but
it does not. Can anybody tell me why? Does it have anything to do with
my way of representing a fact in the slot "last"?


Kind regards,
Morten

--------------------------------------------------------------------
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]
--------------------------------------------------------------------

Reply via email to