anchor.diff:  (defun varreduce (variables)
     ((tokenreduce var* equal-sym) variables))
   
  -(defun equal-order (fun term)
  -  ((equal-token vars) fun term))
  -
  -(defun equal-sym (fun var)
  -  ((equal-token sym) fun var))
  -
   (defun tokenreduce (reduce-fun equal-fun)
     (lambda (tokens)
       (if tokens
  
positive.code: (defun term* (term1 term2)
    (make-term (* (coeff term1) (coeff term2))
               (varlist* (vars term1) (vars term2))))
  
  (defun termnegate (term)
    (make-term (- (coeff term)) (vars term)))
  
negative.code:                   (termlist* poly1 (cdr poly2)))
      nil))
  
  (defun varlist* (vars1 vars2)
    (varreduce (append vars1 vars2)))
  
  