More formally, a function f: X → Y is injective if for every y in the codomain Y there is at most one x in the domain X with f(x) = y. Put another way, given x and x' in X, if f(x) = f(x'), then it follows that x = x'.
Surjective, not injective |
Injective, not surjective |
Bijective |
Not surjective, not injective |
When X and Y are both the real line R, then an injective function f: R → R can be visualized as one whose graph is never intersected by any horizontal line more than once. (This is the horizontal line test.)
Consider the function f: R → R defined by f(x) = 2x + 1.
This function is injective, since given arbitrary real numbers x and x', if 2x + 1 = 2x' + 1, then 2x = 2x', so x = x'.
On the other hand, the function g: R → R defined by g(x) = x2 is not injective, because (for example) g(1) = 1 = g(−1).
However, if we define the function h: R+ → R by the same formula as g, but with the domain restricted to only the nonnegative real numbers, then the function h is injective.
This is because, given arbitrary nonnegative real numbers x and x', if x2 = x'2, then |x| = |x'|, so x = x'.
See also: Surjection, BijectionExamples and counterexamples
Properties