I need advise or correction if something is incorrect with my proof.
Your proof is good!
Would appreciate any correction in proof writing also!
To this, I would respond: its good to read different people's writing just for style. So here's my version of the proof, which is logically similar to yours but just differs on a few stylistic dimensions.
A few noteworthy points:
- You may prefer to write function arrows "backwards", as in $f : B \leftarrow A.$ See below.
- A fraction line can be used to mean "implies," see below.
- I prefer ending sentences without a big mass of symbols, using phrases like "as follows" and "below," and then putting the symbols immediately afterwards. See below.
- The word "fix" is a nice alternative to "let" when the latter has the right "basic meaning" but doesn't work grammatically. See below.
- If you're going to have a sequence of implications, I'd suggest making it as long as possible, and omitting the symbol $\implies.$ See below.
With that said, here's the proof:
Proposition. Let $g : C \leftarrow B$ denote a function and $f : B \leftarrow A$ denote a surjection. Then whenever $g \circ f$ is injective, so too is $g$.
Proof. Assume that $g \circ f$ is injective, and fix $b,b' \in B.$ The following implication will be proved.
$$\frac{g(b)=g(b')}{b=b'}$$
Since $f$ is surjective, begin by fixing elements $a,a' \in A$ satisfying the equations immediately below.
$$b = f(a),\;\; b'=f(a')$$
Then each statement in the following sequence implies the next.
- $g(b)=g(b')$
- $g(f(a)) = g(f(a'))$
- $(g \circ f)(a) = (g \circ f)(a')$
- $a=a'$
- $f(a)=f(a')$
- $b=b'$.