1. Define a function that takes three numbers as arguments and returns the sum of the squares.
  2. The built-in Common Lisp function abs (absolute value) could be defined as follows:

    (defun abs (x)
       (if (< x 0)
           (- x)
           x))
    

    Write a new version of the absolute-value function called new-abs, that produces equivalent values but uses or and and instead of if or cond.

  3. Write a new function presentp that determines whether a given atom occurs anywhere in an expression.

    >(setf formula '(sqrt (/ (+ (expt x 2) (expt y 2)) 2)))
    >(presentp 'x formula)
    T
    >(presentp 'z formula)
    NIL
    

  4. Write a function fringe that takes a list as an argument and returns a list whose elements are all the atoms appearing in the original list or any of its sublists, arranged in left-to-right order. For example,

    > (setf x (cons (list 1 2) (list 3 4)))
    ((1 2) 3 4)
    >(fringe x)
    (1 2 3 4)
    >(fringe (list x x))
    (1 2 3 4 1 2 3 4)