Answer to Question 27-4

Here are the equations for reference.
(cat.1) cat([],  B) = B
(cat.3) cat(A, B) = head(A):cat(tail(A), B)

Evaluation is as follows.

  cat([1,2,3], [4,5,6])
    = 1:cat([2,3], [4,5,6])       by (cat.3)
    = 1:(2:cat([3], [4,5,6]))     by (cat.3)
    = 1:(2:(3:cat([], [4,5,6])))  by (cat.3)
    = 1:(2:([3,4,5,6]))
    = 1:([2,3,4,5,6])
    = [1,2,3,4,5,6]