A function is injective if it has the property that whenever , it is the case that . Given an element in the image, it came from applying to exactly one element of the domain.
This concept is also commonly called being “one-to-one”. That can be a little misleading to someone who does not already know the term, however, because many people’s natural interpretation of “one-to-one” (without otherwise having learnt the term) is that every element of the domain is matched up in a one-to-one way with every element of the domain, rather than simply with some element of the domain. That is, a rather natural way of interpreting “one-to-one” is as “bijective” rather than “injective”.
Examples
The function (where is the set of natural numbers) given by is injective: since implies . Note that this function is not surjective: there is no natural number such that , for instance, so is not in the range of the function.
The function given by for all is not injective: since but , for instance.
Why is it misleading to call injective “one-to-one”?
I’ve edited something about that into the text. Basically I think it’s to do with the symmetry of the words in “one-to-one”: it looks like it should go both ways, as “one thing in the domain hits one thing in the range, and vice versa”.