This is a literate Haskell page: you can load it directly into ghci by following these steps. In mathematics, functions like equality, addition, concatenation, etc. have been studied in detail, and so ...