anchor.diff:            ?name (get-flow-rate ?pump)))
   
   (defrule notify-if-ok ()
  -  (?warning (level-warning))
  +  (?warning (tank-level-warning))
     (tank (name ?name) (:object ?tank))
     (test (and (not (high-p ?tank)) (not (low-p ?tank))))
     =>
  
positive.code: (defimport pump (lisa-user::pump) ())
  (defimport tank (lisa-user::tank) ())
  
  (defrule warn-if-low ()
    (tank (name ?name) (:object ?tank))
    (test (and (low-p ?tank) (intact-p ?tank)))
    (not (low-level-warning (tank ?tank)))
    =>
    (assert (low-level-warning (tank ?tank)))
    (format t "Warning: Tank ~S is low!~%" ?name))
  
  (defrule raise-rate-if-low ()
    (?warning (low-level-warning (tank ?tank)))
    (pump (name ?name) (tank ?tank) (flow-rate ?flow-rate (< ?flow-rate 25))
          (:object ?pump))
    =>
  
negative.code: ;;; Expert System Shell (Jess). This is a pretty good test of LISA's MP
  ;;; support.
  
  ;;; $Id: pumps.lisp,v 1.3 2001/05/07 15:53:31 youngde Exp $
  
  (in-package "LISA-USER")
  
  