anchor.diff:                   (on-top-of floor) (weight light) (location t1-3)))
     (assert (goal-is-to (action eat) (argument-1 bananas) (argument-2 empty))))
   
  +(deffacts mab-startup ()
  +  (monkey (location t5-7) (on-top-of green-couch)
  +          (location green-couch) (holding blank))
  +  (thing (name green-couch) (location t5-7) (weight heavy)
  +         (on-top-of floor))
  +  (thing (name red-couch) (location t2-2) 
  +         (on-top-of floor) (weight heavy))
  +  (thing (name big-pillow) (location t2-2) 
  +         (weight light) (on-top-of red-couch))
  +  (thing (name red-chest) (location t2-2) 
  +         (weight light) (on-top-of big-pillow))
  +  (chest (name red-chest) (contents ladder) (unlocked-by red-key))
  +  (thing (name blue-chest) (location t7-7) 
  +         (weight light) (on-top-of ceiling))
  +  (thing (name grapes) (location t7-8) 
  +         (weight light) (on-top-of ceiling))
  +  (chest (name blue-chest) (contents bananas) (unlocked-by blue-key))
  +  (thing (name blue-couch) (location t8-8) 
  +         (on-top-of floor) (weight heavy))
  +  (thing (name green-chest) (location t8-8) 
  +         (weight light) (on-top-of ceiling))
  +  (chest (name green-chest) (contents blue-key) (unlocked-by red-key))
  +  (thing (name red-key) 
  +         (on-top-of floor) (weight light) (location t1-3))
  +  (goal-is-to (action eat) (argument-1 bananas) (argument-2 empty)))
  +
   #+ignore
   (defun run-mab (&optional (ntimes 1))
     (let ((start (get-internal-real-time)))
  
positive.code: (defun run-mab (&optional (ntimes 1))
    (flet ((repeat-mab ()
             (dotimes (i ntimes)
               (format t "Starting run.~%")
               (reset)
               (run))))
      (time (repeat-mab))))
  
  
negative.code: ;;; Description: The "Monkey And Bananas" sample implementation, a common AI
  ;;; planning problem. The monkey's objective is to find and eat some bananas.
  
  ;;; $Id: mab.lisp,v 1.49 2001/07/12 20:41:04 youngde Exp $
  
  (in-package "LISA-USER")
  
  