Two definitions of the relation concept are common in the literature. Although it is usually clear in context which definition is being used at a given time, it tends to become less clear as contexts collide, or as discussion moves from one context to another.
The same sort of ambiguity arose in the development of the function concept and it may save a measure of effort to follow the pattern of resolution that worked itself out there.
When we speak of a function we are thinking of a mathematical object whose articulation requires three pieces of data, specifying the set the set and a particular subset of their cartesian product So far so good.
Let us write to express what has been said so far.
When it comes to parsing the notation everyone takes the part as indicating the type of the function, in effect defining as the pair but is used equivocally to denote both the triple and the subset forming one part of it.
One way to resolve the ambiguity is to formalize a distinction between the function and its graph, defining
Another tactic treats the whole notation as a name for the triple, letting denote
In categorical and computational contexts, at least initially, the type is regarded as an essential attribute or integral part of the function itself. In other contexts we may wish to use a more abstract concept of function, treating a function as a mathematical object capable of being viewed under many different types.
Following the pattern of the functional case, let the notation bring to mind a mathematical object specified by three pieces of data, the set the set and a particular subset of their cartesian product As before we have two choices, either let be the triple or let denote and choose another name for the triple.