;;; SIGNATUR ;;; fun->charfun-set: (X X -> boolean) (X -> boolean) -> charfun-set(X) ;;; charfun-set(X) = symbol -> ;;; (X -> charfun-set(X) + X -> charfun-set(X) + X -> boolean) ;;; ERKLÄRUNG ;;; (fun->charfun-set = f) liefert eine Mengendarstellung, deren ;;; charakteristische Funktion durch f gegeben ist. Als ;;; Gleichheitsoperation wird = verwendet. ;;; DEFINITION (define fun->charfun-set (lambda (= f) (lambda (op) (case op ((insert) (lambda (x) (fun->charfun-set = (lambda (e) (or (= e x) (f e)))))) ((remove) (lambda (x) (fun->charfun-set = (lambda (e) (and (not (= e x)) ((charfun-set-chi s) e)))))) ((elem) (lambda (x) (f x)))))))