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]