Hi, can someone check a proof I did? It's a very rough draft and I'm probably over-thinking it...

Let f:X->Y and g:Y->Z be functions.

Prove that if g o f is one-to-one, then f is one-to-one.

If f is NOT one to one, then there exists several y belonging Y that correspond to each x of X.

Since g is one-to-one, then there corresponds one z of Z for each y of Y.

So if f is not one to one then f(x) has multiple values of y and g(f(x)) has multiple values of z corresponding to each y, and hence, g(f(x)) is not one-to-one.

But since g(f(x)) IS one-to-one, then f(x) must be as well.

Does this make sense to anyone?