Let $g$ be continuous on an interval $A$ and let $F$ be the set of points where $g$ fails to be one-to-one. Show $F$ is either empty or uncountable. Intermediate Value Theorem (I'll be using this): Let $f : [a,b] \rightarrow \mathbb{R}$ be continuous. If $L$ is a real number satisfying $f(a) < L < f(b)$ or $f(a) > L > f(b)$, then there exists a point $c \in (a,b)$ where $f(c) = L$.
Notation: $V_{\epsilon}(x)$ means $\epsilon$-neighborhood of $x$. $V_{\delta}(x)$ means $\delta$-neighborhood of $x$.
Characterization of Continuity I'm Using: Let $f : A \rightarrow \mathbb{R}$ and let $c \in A$. $f$ is continuous at $c$ if and only if for all $V_{\epsilon}(f(c))$, there exists a $V_{\delta}(c)$ such that $x \in V_{\delta}(c)$ (and $x \in A$) implies $f(x) \in V_{\epsilon}(f(c))$  .
Proof Attempt: Let $F = \{x \in A : g(x) = g(y)$ for some $y \neq x$ and $y \in A\}$.
If $g$ is one-to-one, then $F$ is clearly empty. Suppose $g$ is not one-to-one. Then there exist $x,y \in A$ with $x \neq y$ such that $g(x) = g(y)$. Set $g(x) = g(y) = H$.
Let $\epsilon > 0$. Then there exists $V_{\delta_1}(x)$ such that $a \in V_{\delta_1}(x)$ (and $a \in A$) implies $g(a) \in V_{\epsilon}(H)$.
Similarly, there exists $V_{\delta_2}(y)$ such that $a \in V_{\delta_2}(y)$ (and $a \in A$) implies $g(a) \in V_{\epsilon}(H)$.
If $V_{\delta_1}(x) \cap V_{\delta_2}(y) = \emptyset$, then let $\delta = min\{\delta_1, \delta_2\}$. Otherwise, we want to choose $\delta > 0$ such that $\delta < \delta_1$ and $\delta < \delta_2$, and $V_{\delta}(x) \cap V_{\delta}(y) = \emptyset$. In either case, we have $V_{\delta}(x) \cap V_{\delta}(y) = \emptyset$.
Now choose a point $b \in V_{\delta}(x)$ with $x < b$ to form the closed interval $[x,b]$. Then $g(b) \in V_{\epsilon}(H)$. Then choose a point $d \in V_{\delta}(y)$ such that $H < g(d) < g(b)$ or $H > g(d) >g(b)$. (Note that we can choose such a point $d$ because we can choose an $\epsilon$ smaller than the distance from $H$ to $g(b)$, and due to continuity there exists a corresponding $\delta$-neighborhood around $y$. Then we can shrink this $\delta$-neighborhood similarly to what we did before so that it does not intersect with the $\delta$-neighborhood around $x$).
From the Intermediate Value Theorem, for all $L$ satisfying $H < L < g(b)$ or $H > L > g(b)$, there exists a point $a \in (x,b)$ where $g(a) = L$. Thus, since $g(d) < g(b)$ or $g(d) > g(b)$ for all $L$ satisfying $H < L < g(d)$ or $H > L > g(d)$, there exists a point $a \in (x,b)$ where $g(a) = L$.
Also, from the Intermediate Value Theorem, for all $L$ satisfying $H < L < g(d)$ or $H > L > g(d)$, there exists a point $a \in (y, d)$ (or $(d,y)$) where $g(a) = L$.
Since $(x,b)$ and $(y,d)$ (or $(d,y)$) both must have uncountably many points mapping to the same uncountably many points $L$ in $(H, g(d))$ (or $(g(d), H)$), and $(x,b) \cap (y,d) = \emptyset$ (or $(x,b) \cap (d,y) = \emptyset$), $F$ is uncountable.
 A: When you ask whether your proof is correct, you should at least write out a clean statement about what you are trying to prove. Your paragraphs end at saying $F$ is uncountable. However, $F$ is not well defined because we do not know what $g$ is: the notation "$g$" appears for the first time on the line of "proof attempt" and that is the very first time we see $g$. If we assume $g$ to be any continuous function of real domain and codomain (the domain $A$ is again undefined, I take it as an interval), then the first five paragraphs after "proof attempt" make sense. But in the sixth paragraph, you suddenly switch to $f$, which again is not defined.
From now on, I assume you are proving the following statement: if $g:A\to \mathbb{R}$ is a continuous function that is not injective, then the set $F$ of all $x \in \mathbb{R}$ such that $g(x)=g(y)$ for some $y \neq x$ and $y \in [a,b]$ is uncountable. Furthermore, I assume $A$ is an interval because the result is false for general $A \subset \mathbb{R}$: just take $A$ to be any discrete set.
Your proof is correct. Here are some ways to make it better. The paragraph "If $V_{δ_1}(x)∩V_{δ_2}(y)=∅$, then let $δ=min\{δ_1,δ_2\}$. Otherwise, we want to choose $δ>0$ such that $δ<δ_1$ and $δ<δ_2$, and $V_δ(x)∩V_δ(y)=∅$. In either case, we have $V_δ(x)∩V_δ(y)=∅$." can be shortened: you can just say you choose $\delta_1$ and $\delta_2$ small enough such that two neighborhoods are disjoint.
Next, symbols are not always better than words. You can just say you choose $g(d)$ between $H$ and $g(b)$ instead of repeating the two big inequalities every time you encounter such a situation. These inequalities make your proof harder to read.
