first
first : ((cons y (listof x)) -> y)
purpose:
to select the first item of a non-empty list
Reductions:
(first v) e--> first: expects argument of type <pair>
where v is not (cons ...)
(first v v v ...) e--> first: expects one argument
(first) e--> first: expects one argument
(first (cons v list-value)) --> v
Beginning Student Language