anchor.diff:    (chest (name ?chest) (unlocked-by ?key))
     (not (goal-is-to (action walk-to) (argument-1 ?cplace)))
     =>
  -  (assert-instance
  -   (make-instance 'goal-is-to :action 'walk-to
  -                  :argument-1 ?cplace)))
  +  (assert ((make-instance 'goal-is-to :action 'walk-to :argument-1 ?cplace))))
   
   (defrule unlock-chest-with-key ()
     (?goal (goal-is-to (action unlock) (argument-1 ?name)))
  
positive.code:   (monkey (holding (not ?obj)))
    (not (goal-is-to (action hold) (argument-1 ?obj)))
    =>
    (assert-instance
     (make-instance 'goal-is-to :action 'hold
                    :argument-1 ?obj)))
  
  (defrule satisfy-hunger ()
    (?goal (goal-is-to (action eat) (argument-1 ?name)))
  
negative.code: 
  (defrule startup ()
    =>
    (assert
     ((make-instance 'monkey :location 't5-7
                    :on-top-of 'green-couch
                    :location 'green-couch
                    :holding 'blank)))
    (assert
     ((make-instance 'thing :name 'green-couch
                    :location 't5-7
                    :weight 'heavy
                    :on-top-of 'floor)))
    (assert
     ((make-instance 'thing :name 'red-couch
                    :location 't2-2
                    :weight 'heavy
                    :on-top-of 'floor)))
    (assert
     ((make-instance 'thing :name 'big-pillow
                    :location 't2-2
                    :weight 'light
                    :on-top-of 'red-couch)))
    (assert
     ((make-instance 'thing :name 'red-chest
                    :location 't2-2
                    :weight 'light
                    :on-top-of 'big-pillow)))
    (assert
     ((make-instance 'chest :name 'red-chest
                    :contents 'ladder
                    :unlocked-by 'red-key)))
    (assert
     ((make-instance 'thing :name 'blue-chest
                    :location 't7-7
                    :weight 'light
                    :on-top-of 'ceiling)))
    (assert
     ((make-instance 'thing :name 'grapes
                    :location 't7-8
                    :weight 'light
                    :on-top-of 'ceiling)))
    (assert
     ((make-instance 'chest :name 'blue-chest
                    :contents 'bananas
                    :unlocked-by 'blue-key)))
    (assert
     ((make-instance 'thing :name 'blue-couch
                    :location 't8-8
                    :weight 'heavy
                    :on-top-of 'floor)))
    (assert
     ((make-instance 'thing :name 'green-chest
                    :location 't8-8
                    :weight 'light
                    :on-top-of 'ceiling)))
    (assert
     ((make-instance 'chest :name 'green-chest
                    :contents 'blue-key
                    :unlocked-by 'red-key)))
    (assert
     ((make-instance 'thing :name 'red-key
                    :location 't1-3
                    :weight 'light
                    :on-top-of 'floor)))
    (assert
     ((make-instance 'goal-is-to :action 'eat
                    :argument-1 'bananas))))
  
  #+ignore
  (defun run-mab (&optional (ntimes 1))
  