Proof on Injection/Surjection Let A and B be sets. There exists an injection from A to B if and only if there exists a surjection from B to A.
I know that I also need to prove the converse of the statement: If there is a surjection from B to A, then there is an injection from A to B. 
I started off with:
If there is an injection from A to B, then there exists g:from B to A such that g(f(a))=idA(identity of A). I have to use this fact in the proof, I didn't think it was necessary though. I was trying to use the fact that for all a1 and a2 in A, f(a1)=f(a2) implies a1=a2 and build off that. If anyone can give me some direction, that'd be good. Thanks
 A: In the event that $A$ is empty and $B$ is non-empty, there does indeed exist a function from $A$ to $B$, namely the empty function, which vacuously satisfies the properties needed to be an injective function.  However, no function exists from $B$ to $A$, much less a surjective one.  It is impossible for any map to be everywhere defined in such a scenario.  As such, as written the statement is false but this difficulty can be avoided if we insist that both sets be non-empty.

Without loss of generality, assume $A$ and $B$ are non-empty and let $1\in B$.
Suppose that there exists some injective $f:A\to B$.
Let us define $g:B\to A$ in the following way:
$$g(b)=\begin{cases} a&\text{if}~f(a)=b\\1&\text{otherwise}\end{cases}$$
We need to check to make sure that what we attempted to define really is a function by checking that it is well-defined and checking that it is everywhere-defined.
For it not to be well-defined, this would imply that there is some $b$ for which there are multiple different outputs that our map tries to send it to.  That is to say we would have some $a_1$ and some other $a_2$ different than the first such that $g(b)=a_1$ as well as $g(b)=a_2$.  If this were so though, this would mean that $f(a_1)=b$ and $f(a_2)=b$ by our construction.  Since $f$ is injective however, this would have implied $a_1=a_2$ contradicting that they were different.  As a result, we learn that our choice of $g$ is in fact well-defined.
For it not to be everywhere-defined, this would imply that there is some $b$ for which $g(b)$ is undefined.  It should be clear though that $b$ will always either have some $a$ for which $f(a)=b$ and so will map $b$ to $a$, or there will not be any such $a$ in which case it maps $b$ to $1$.  As such, it is indeed everywhere-defined.

 If defining $g$ like a function before proving that it is actually a function is upsetting, then instead define it as a relation as $g = \{(b,a)~:~(a,b)\in f\}\cup \{(b,1)~:~\forall a\in A~(a,b)\not\in f\}$ and go through the same steps as above to show that it is in fact a function.


For the reverse direction, suppose that there exists some surjective $g~:~B\to A$.
As $g$ is surjective, for each $a\in A$ there is at least one $b\in B$ such that $g(b)=a$, though there could be many.
!!! Invoke the axiom of choice by choosing for each $a$ a specific $b_a$ such that $g(b_a)=a$ from those potentially many $b$.

 There are reasons why one might choose to reject the axiom of choice in which case this fails to work.  One might instead try using the Partition Principle, but it is an open problem whether the partition principle is in fact equivalent to the axiom of choice or not and so runs into the same difficulty.  I do not, as of yet, see a way around using the axiom of choice.  Of course, this is all moot if we are told that $A$ and $B$ are in fact finite sets as such a selection would always be allowed.  I do not as of yet see a way to avoid using the axiom of choice here in some form.

We define then $f(a)=b_a$.

 As a relation instead, $f=\{(a,b_a)~:~a\in A\}$

Again, we must check its well-definedness and everywhere-definedness.  It is well defined since we picked a single specific $b_a$ for each $a$ to use, not multiple.  It is everywhere defined because $g$ was surjective.
