14

The words "surjective" and "bijective" have transparent etymologies: "sur" is French for "on" (as in, "onto"), and "bi" hints at the two-way nature of bijective functions.

"Injective" is more of a mystery. All functions "inject" every element of their domain into the target space, and there is nothing about the word "inject" (in English) that suggests two things can't be injected into one thing. (E.g., you can be given two different injections at the same point on your arm.) Is there a sensible etymology or reason that this word came to mean "one-to-one"?

WillG
  • 7,382
  • 5
    https://hsm.stackexchange.com/questions/4929/history-of-the-definition-of-injective-surjective-function – Eric Wofsey Oct 08 '19 at 05:24
  • 3
    How is "surjective" any more transparent than "injective"? There's nothing about "sur" or English "onto" to suggest that every element of the codomain is the image of some element of the domain. If I say "the people got omto the bus" does that imply that there are now no empty seats? – bof Oct 08 '19 at 07:23
  • theoretically the root "sur" can be thought of as 'over', as in covering over, and "jective" basically means throwing. as if you are throwing one thing to completely cover another thing. i know its a stretch . https://en.wiktionary.org/wiki/surjection https://en.wiktionary.org/wiki/superiacio#Latin https://www.etymonline.com/word/sur- whereas the prefix 'in" basically means "opposite", sort of like "impossible" or "improbable" in english, french 'inelegant". so injective would literally mean the opposite of throwing, which makes no sense. – don bright Oct 12 '23 at 09:53
  • i guess https://en.wiktionary.org/wiki/iniecto is a conjugation of 'throw' (i do not know Latin), and inject nowdays has connotations to injections with needles, maybe it did not have those connotations in the past. – don bright Oct 12 '23 at 10:03
  • 4
    I’m voting to close this question because it is off-topic. As far as I know, the tag terminology doesn't cover this and this should be on HSM. – ultralegend5385 Jan 14 '25 at 07:10

2 Answers2

6

Injection is from late latin iniectio, -onis, derived from inicio, -is, -ieci, -iectum, -ĕre: "to throw in", "to put in", "to let in".

There kind of is the idea of just displacing objects somewhere else, thus preserving their identities. Though I doubt common latin used to have a ready made term for this kind of subtlety.

-2

Here is the thought-process that helped me get an intuition for why the "in" prefix makes sense.

All functions "inject" every element of their domain into the target space

Yes, that is the "input" part of the function's definition. We must also consider the "output" part — what the function returns — to determine the correct properties peculiar to it.

Think of it in terms of the determinism of the function's output.

How do we expect a function to behave given some argument?

The logic of some functions takes into consideration what you "inject" (pass as an argument) into them to produce the corresponding output, and therefore they are called "injective". Conversely, those functions the logic of which produces the same output when given a different input are called "non-injective", because they do not care about what arguments you "inject" into them, they might still give you the same output.

For example:

plus(2, 2) => 4

plus(3, 2) => 4

plus(3, 3) => 6

The above is a "non-injective" function. Why?

First, keep in mind that "injective" does not by itself imply a one-to-one relation of the input to the output (we would need the "functional" property to be present at the same time for that), but it implies, at least, that some one output is mapped to no more than one input: (2, 2) and (3, 2) inputs both mapping to the output of 4 invalidate that criteria.

Instead of being deterministic (i.e. when the value of input influences the value of the output), the mapping in the example above allows for different arguments passed to the same function to produce the same result. Who knows what other input is mapped to the same output of 4, we can't know, because a function seemingly doesn't care about what we "inject" into it, it is not "injective".

(More on conflating "one-to-one" with "injective" below:)

Another example:

plus(2, 2) => 4

plus(2, 2) => 5

plus(3, 3) => 6

Now the plus function is "injective" (because the output of 4 is mapped only to one input (2, 2) we inject into it), but it is still not a "one-to-one" function, it would instead be properly described as a "one-to-many". This function is not a "one-to-one" because it is not "functional", meaning it doesn't care about some one input being mapped to no more than one output: (2, 2) input mapping to both 4 and 5 invalidates that criteria.

"one-to-one" means a function is "injective" and "functional" at the same time.

endvvell
  • 119