;;;;;;;;;;;;;;;;;;;;;;;;CC2;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;; initial-cc2.lisp;;;;;;;;;;;;;;;;;;;; (defconstant +deb+ nil) ;;on represente un ensemble par une liste qui commence par +deb+ (defconstant +emptyset+ (list +deb+)) (defun set-emptyp (s) (endp (cdr s))) (defun set-member (e s) (member e (cdr s) :test #'eq)) (defun set-adjoin (e s) ;;renvoie l'union de s et de {e} (if (set-member e s ) s (cons +deb+ (cons e (cdr s))))) ;CL-USER> (set-adjoin 5 (list +deb+ 1 2 3 4)) ;(NIL 5 1 2 3 4) (defparameter *ens* (list +deb+))