## Cantor bernstein theorem

Hi guys, I've got some problems with the cantor bernstein theorem. I'm having a hard time with all the proofs I've found, but I've actually come up with a proof myself... it will be no doubt wrong in some part though, so it would be great if you could check it for me and tell me what's wrong with the simple idea I came up with.

The theorem:
If there exist injective functions f : A → B and g : B → A between the sets A and B, then there exists a bijective function h : A → B.

My proof of an equivalent statement-
If there exist injective functions f : A → B and g : B → A between the sets A and B, then f is surjective.

f is not surjective. Then there exists a b $\in$ B, such that b $\notin$ f(A).
Let C be the set of g({ f(A) $\bigcup$ b }). Then C $\subseteq$ A, and f(A) $\subset$ g^-1(C). Because both C and g^-1(C) contain the same amount of elements (because g is injective), from f(A) $\subset$ g^-1(C) we get A $\subset$ C, which is a contradiction with C $\subseteq$ A.
That is not an equivalent statement. Let $f:\mathbb{N} \rightarrow \mathbb{Z}$ be the inclusion and define the map $g:\mathbb{Z} \rightarrow \mathbb{N}$ by setting $g(n) = 3|n| + \mathrm{sgn}(n)$. Both of these maps are injections, but neither of them is a surjection.