# Codomain

In mathematics, the **codomain** or **set of destination** of a function is the set into which all of the output of the function is constrained to fall. It is the set Y in the notation *f*: *X* → *Y*. The term range is sometimes ambiguously used to refer to either the codomain or image of a function.

A codomain is part of a function f if f is defined as a triple (*X*, *Y*, *G*) where X is called the *domain* of f, Y its *codomain*, and G its *graph*.^{[1]} The set of all elements of the form *f*(*x*), where x ranges over the elements of the domain X, is called the *image* of f. The image of a function is a subset of its codomain so it might not coincide with it. Namely, a function that is not surjective has elements y in its codomain for which the equation *f*(*x*) = *y* does not have a solution.

A codomain is not part of a function f if f is defined as just a graph.^{[2]}^{[3]} For example in set theory it is desirable to permit the domain of a function to be a proper class X, in which case there is formally no such thing as a triple (*X*, *Y*, *G*). With such a definition functions do not have a codomain, although some authors still use it informally after introducing a function in the form *f*: *X* → *Y*.^{[4]}

While f and g map a given x to the same number, they are not, in this view, the same function because they have different codomains. A third function h can be defined to demonstrate why:

Function composition therefore is a useful notion only when the *codomain* of the function on the right side of a composition (not its *image*, which is a consequence of the function and could be unknown at the level of the composition) is a subset of the domain of the function on the left side.

The codomain affects whether a function is a surjection, in that the function is surjective if and only if its codomain equals its image. In the example, g is a surjection while f is not. The codomain does not affect whether a function is an injection.