Problem 2.   Evaluate the following program step by step and write down next to each step whether it is (1) arithmetic (of any form), (2) function application (``plugging in'') or (3) a conditional step.

(define (abs x) 
  (cond [(< x 0) x]
        [(> x 0) x]
        [else 0]))

(abs (- 10 4))

;;; Grader: Carl

   (abs (- 10 4))
-> (abs 6)              ; arithmetic    [1pt]
-> (cond [(< 6 0) 6]    ; app           [1pt]
         [(> 6 0) 6]
         [else 0])
-> (cond [false 6]      ; arithmetic    [1pt]
         [(> 6 0) 6]
         [else 0])
-> (cond [(> 6 0) 6]    ; cond          [1pt]
         [else 0])
-> (cond [true 6]       ; arithmetic    [1pt]
         [else 0])
-> 6                    ; cond          [1pt]