Injection
1. <mathematics> A
function, f : A -> B, is injective or one-one, or is an injection, if and only if
for all a,b in A, f(a) = f(b) => a = b.
I.e. no two different inputs give the same output (contrast many-to-one).
This is sometimes called an embedding.
Only injective functions have left inverses f' where f'(f(x)) = x, since if f were not an injection, there would be elements of B for which the value of f' was not unique.
If an injective function is also a
surjection then is it a
bijection.
2. <reduction> An injection function is one which takes objects of type T and returns objects of type C(T) where C is some type constructor.
An example is
f x = (x, 0).
The opposite of an injection function is a
projection function which extracts a component of a constructed object, e.g.
fst (x,y) = x.
We say that f injects its argument into the data type and fst projects it out.