This file defines some basic list functions--where
basic really just means pure list functions which
do not require any other datatype.
These functions include a head function--hd
which takes an extra argument which is the value
returned for a empty list, tail, fold, append,
map and reverse. Some theorems about these
functions are also given (but not enough).