A function is an abstract model of computation: you give it some input, and
it produces a result. The essential aspect is that the result is completely determined by the input: if you repeatedly apply the same function to the same
argument, you will always obtain the same result. Examples of functions include: