anchor.diff:  	      (setq result (cons i result)))))
       (if lst2
   	(dolist (i lst2)
  -	  (if (funcall content lst1 (car i))
  +	  (if (not (funcall content lst1 (car i)))
   	      (setq result (cons i result)))))
       result))
  +
  +
   
   
   #| good idea bad knowladge: list isn't modified
  
positive.code: 
  (defun r-contains (lst item)
    (if lst
        (or (= (caar lst) item) (contains (cdr lst) item))
        nil))
  
  (defun i-contains (lst item)
  
negative.code:        (*
  	(cdar lst1)
  	(funcall probability lst2 (caar lst1))))
         (r-intersection (cdr lst1) lst2 :content content :probability probability)))
       (t (r-intersection (cdr lst1) lst2 :content content :probability probability))))
  
  (defun i-intersection (lst1 lst2 &key (content #'i-contains) (probability #'r-probability))
    (let ((result nil))
      (dolist (i lst1)
        (if (funcall content lst2 (car i))
  		   (setq result (cons (cons
  				       (car i)
  				       (*
  					(cdr i)
  					(funcall probability lst2 (car i))))
  				      result))))
      result))
  
  (defun r-unity (lst1 lst2 &key (content #'i-contains) (probability #'r-probability))
    (cond
      ((eq lst1 nil) lst2)
      ((funcall content lst2 (caar lst1))
       (cons
        (cons
         (caar lst1)
         (-
  	(+
  	 (cdar lst1)
  	 (funcall probability lst2 (caar lst1)))
  	(*
  	 (cdar lst1)
  	 (funcall probability lst2 (caar lst1)))))
        (r-unity (cdr lst1) (less-list lst2 (caar lst1)))))
      (t (cons (car lst1) (r-unity (cdr lst1) lst2)))))
  
  (defun i-unity (lst1 lst2 &key (content #'i-contains) (probability #'r-probability))
    (let ((result nil))
      (if lst1
  	(dolist (i lst1)
  