Does this proof look fine or contain gaps? Do you have suggestions? Many thanks for your dedicated help!
Definition: A set $A$ is countable if it is finite or if there is a bijection $c:\mathbb N \to A$; otherwise it is uncountable.
If $A$ is a countable set, and each $a \in A$ is countable, then $\bigcup_{a \in A}a$ is countable.
My attempt:
Lemma 1: $A$ is countable if and only if $A=\emptyset$ or there exists a surjection from $\mathbb N$ onto $A$.
Lemma 2: $\mathbb N$ and $\mathbb N \times \mathbb N$ are equinumerous.
WLOG, we can assume that the set $A$, and each of the sets $a \in A$, is non-empty.
By Lemma 1, there exists a surjection $c: \mathbb N \to A$, and for each $m \in \mathbb N$ there exists a surjection $f_m : \mathbb N \to c(m)$ (Note that here we use the Axiom of Countable Choice).
Let $g:\mathbb N \times \mathbb N \to \bigcup_{a \in A}a$ such that $g(m,n)=f_m(n)$: we use $m$ to select an index $c(m)$ in $A$, and use $n$ to select an element of $c(m)$. Then $g$ is a surjection from $\mathbb N \times \mathbb N$ onto $\bigcup_{a \in A}a$.
Combining the previous result with Lemma 2, there exists a surjection from $\mathbb N$ onto $\bigcup_{a \in A}a$. By Lemma 1, $\bigcup_{a \in A}a$ is countable. This completes the proof.