Clarification on Surjection and Injection I'm having trouble keeping the definitions straight, so to help me remember the definitions: is it correct to say that a function is:


*

*Injective (one-to-one) iff it is not many-to-one.

*Surjective iff its codomain and range are equal.
?
 A: As I mentioned in a comment, I would suggest shying away from "many-to-one." This often has a very specific interpretation which implies non-injectivity, but is not equivalent to non-injectivity. For instance, one says a function is "$n$-to-1" to mean that for every point $a$ in the image, there exist exactly $n$ distinct points $x_1,\ldots,x_n$ such that $f(x_1)=\cdots=f(x_n)=a$ (hence "1-to-1" means each element in the image has exactly one pre-image, i.e., injectivity). But this means that "many-to-one" is often used to mean that every point in the image has multiple pre-images.
Of course, any (nonempty) function that satisfies the condition that every point in the image has multiple pre-images is not injective, but the converse does not hold: the function $f\colon\mathbb{R}\to\mathbb{R}$ given by $f(x)=x^2$ is not injective (since $f(1)=f(-1)$ and $1\neq -1$), but there is one and only one point of the domain that maps to $0$. 
I would instead suggest


*

*Injective (aka one-to-one) if and only if it sends different elements to different elements;

*Surjective (aka onto) if and only if every element of the codomain is the image of someone. (Alternatively, as suggested by user3123, if and only if the image equals the codomain/range).


As far as remembering that "injective" means "one-to-one", you can think of a one-to-one function as a function that injects the domain into the codomain, so that you end up with a "copy" of the domain inside the codomain (much like an injection puts everything in the syringe into your body). "Surjective" comes from the French sur, meaning "onto"; or you can think of the Latin super (above, over), imagining that the domain is complete above and covering the codomain. 
A: The first statement is true because if the function $f$ injective every set of two different elements $a,b$ is sent to different images $f(a),f(b)$ and if two different elements $a,b$ are sent to the same image $f(a)=f(b)$ the function is not injective.
The second statement is also true. That is exactly the definition of surjective as the image is identical with the set that is mapped onto, so each element is hit at least once. Note that the term "image" is better than range because range can also stand for codomain.
A: First of all, I cannot understand why it is tagged linear algebra instead of set-theory.
Then, when I was learning set theory, I had the same problem as @Mehrdad has, and in the end I found the most intuitive and useful definition is that of Bourbaki:
A function is injective if it has a retraction;
A function is surjective if it has a section,
whose definition is in here.
This definition is easy to imagine and useful in application both, hope you will be satisfied.
As for the two definitions mentioned, they are as @user3123 stated.   
