anchor.diff:  ;;; File: rete.lisp
   ;;; Description: Class representing the inference engine itself.
   
  -;;; $Id: rete.lisp,v 1.58 2004/09/14 17:35:10 youngde Exp $
  +;;; $Id: rete.lisp,v 1.59 2004/09/14 21:07:56 youngde Exp $
   
   (in-package "LISA")
   
  
positive.code:            (error (make-condition 'duplicate-fact
                      :existing-fact ,existing-fact)))))))
  
  (defun next-fact-id (rete)
    (incf (rete-next-fact-id rete)))
  
  
negative.code:     (trace-assert fact)
      (add-fact-to-network (rete-network self) fact)
      (when (fact-shadowsp fact)
        (register-clos-instance self (find-instance-of-fact fact) fact)))
    fact)
    
  (defmethod assert-fact ((self rete) fact &key cf)
    (if (null cf)
        (assert-fact-aux self fact)
      (calculate-cf self fact cf))
    fact)
  
  (defmethod retract-fact ((self rete) (fact fact))
    (with-truth-maintenance (self)
  