(in-package :cs325-user) (defparameter *frames* '( (dog (animal)) (human (animal)) (animal nil (can-fly no)) (bird (animal) (can-fly yes)) (penguin (bird) (can-fly no)) (pet (animal) (owner human)) (granny (human)) (jon (human)) (tweety (bird pet) (owner granny)) (odie (dog pet) (owner jon)) (chilly (penguin)) )) (defun linearize (x) (cons x (remove-duplicates (mapcan #'linearize (parents-of x))))) (defun parents-of (x) (cadr (assoc x *frames*))) (defparameter *all-absts* (mapcar (lambda (frame) (linearize (car frame))) *frames*))