Evaluator for adding and subtracting algebraic expressions
Make sure your code is indented correctly here. It isn't.

Then document your code at least with some minimum amount of explanations and structure.

Common Lisp has ways to comment code:

;;;; program comment

;;; section comment

(defun bar ()

  "This is a retrievable function documentation
string, which
can be spread over many lines."

  (let ((foo (random 100)))
   ;;  indented code comment
   (+ foo 3)   ; inline code comment
   ))

#|
     Block comments
|#


Then one can retrieve the function documentation with some IDE keystrokes/mechanisms and:

(documentation 'bar 'function)


Some hints:

(defun expression? (exp)
  (or (eql (car exp) '+)
      (eql (car exp) '*)
      (eql (car exp) '-)))

(case exp
  ((+ * -) t)
  (otherwise nil))

(member (car exp) '(+ * -))

(defun first-expression (exp) (car (cdr exp)))

(cadr exp)
(second exp)

(defun second-expression (exp) (car (cdr (cdr exp))))

(caddr exp)
(third exp)


(defun make (e1 e2 op)
  (cond ((eql op '+)
         (make-addition e1 e2))
        ((eql op '-)
         (make-subtraction e1 e2))
        (t (make-product e1 e2))))

(case op
  (+ ...)
  (- ...)
  (otherwise ...))