# Injective function

In mathematics, an **injective function** (also known as **injection**, or **one-to-one function**) is a function that maps distinct elements of its domain to distinct elements of its codomain.^{[1]} In other words, every element of the function's codomain is the image of *at most* one element of its domain.^{[2]} The term *one-to-one function* must not be confused with *one-to-one correspondence* that refers to bijective functions, which are functions such that each element in the codomain is an image of exactly one element in the domain.

A homomorphism between algebraic structures is a function that is compatible with the operations of the structures. For all common algebraic structures, and, in particular for vector spaces, an *injective homomorphism* is also called a *monomorphism*. However, in the more general context of category theory, the definition of a monomorphism differs from that of an injective homomorphism.^{[3]} This is thus a theorem that they are equivalent for algebraic structures; see Homomorphism § Monomorphism for more details.

A function *f* that is not injective is sometimes called many-to-one.^{[2]}

More generally, when *X* and *Y* are both the real line **R**, then an injective function *f* : **R** → **R** is one whose graph is never intersected by any horizontal line more than once. This principle is referred to as the *horizontal line test*.^{[2]}

Functions with left inverses are always injections. That is, given *f* : *X* → *Y*, if there is a function *g* : *Y* → *X* such that for every *x* ∈ *X*,

Conversely, every injection *f* with non-empty domain has a left inverse *g*, which can be defined by fixing an element *a* in the domain of *f* so that *g*(*x*) equals the unique pre-image of *x* under *f* if it exists and *g*(*x*) = *a* otherwise.^{[5]}

The left inverse *g* is not necessarily an inverse of *f*, because the composition in the other order, *f* ∘ *g*, may differ from the identity on *Y*. In other words, an injective function can be "reversed" by a left inverse, but is not necessarily invertible, which requires that the function is bijective.

In fact, to turn an injective function *f* : *X* → *Y* into a bijective (hence invertible) function, it suffices to replace its codomain *Y* by its actual range *J* = *f*(*X*). That is, let *g* : *X* → *J* such that *g*(*x*) = *f*(*x*) for all *x* in *X*; then *g* is bijective. Indeed, *f* can be factored as incl_{J,Y} ∘ *g*, where incl_{J,Y} is the inclusion function from *J* into *Y*.

More generally, injective partial functions are called partial bijections.

A proof that a function *f* is injective depends on how the function is presented and what properties the function holds.
For functions that are given by some formula there is a basic idea.
We use the definition of injectivity, namely that if *f*(*x*) = *f*(*y*), then *x* = *y*.^{[6]}

Proof: Let *f* : *X* → *Y*. Suppose *f*(*x*) = *f*(*y*). So 2*x* + 3 = 2*y* + 3 ⇒ 2*x* = 2*y* ⇒ *x* = *y*. Therefore, it follows from the definition that *f* is injective.

There are multiple other methods of proving that a function is injective. For example, in calculus if *f* is a differentiable function defined on some interval, then it is sufficient to show that the derivative is always positive or always negative on that interval. In linear algebra, if *f* is a linear transformation it is sufficient to show that the kernel of *f* contains only the zero vector. If *f* is a function with finite domain it is sufficient to look through the list of images of each domain element and check that no image occurs twice on the list.

A graphical approach for a real-valued function *f* of a real variable *x* is the horizontal line test. If every horizontal line intersects the curve of *f*(*x*) in at most one point, then *f* is injective or one-to-one.