The notion of function in F#
Let's begin with an intuitive definition of a function that many of us heard in school algebra class: function is a relationship that for each valid input yields a single consistent result. Such definition is a good enough to reflect both the commonality and the difference of functions and relations. In mathematics, a function is a relation, although not each relation is a function, as a relation may represent multiple results for the same single input. In the following figure, relation Rij on the left side is just fine for the representation of a function, as any item from set I maps to the one and only one item of set J. However, relation Rxy on the right side of the same figure cannot represent a function as at least one item of X exists, which maps to more than one item of Y, which is indicated by red mapping arrows.
Another very important matter is the mapping consistency. Any function, when being repeatedly given the same input must...