Prove that the Kolmogorov Quotient is $T_0$ I am trying to prove the following (more on the background below)

Let $(X, \tau)$ be a space, $KQ(X) := X / \sim$ be the quotient set and $\pi : X \rightarrow X / \sim$ the projection which maps every element to its equivalence class. If $KQ(X)$ is given the final topology of $\pi$, it is a $T_0$ space.

Proof idea
I need to show that every two distinct equivalence classes $[a], [b] \in KQ(X)$ are distinguishable. Instead, I try to prove the contraposition
$$
[a] \sim [b] ~\Longrightarrow~ [a] = [b] ~\Longleftrightarrow~ a \sim b
$$
If $U \subset KQ(X)$ is open, then I have
$$
a \in \overset{-1}{\pi}(U)
~\Longleftrightarrow~
\pi(a) \in U 
~\overset{[a] \sim [b]}{\Longleftrightarrow}~ 
\pi(b) \in U
~\Longleftrightarrow~
b \in \overset{-1}{\pi}(U)
$$
Which is almost what I want, since if I could replace $\overset{-1}{\pi}(U)$ (which is open since $\pi$ is continuous) by any open set $\mathcal{O} \subseteq X$ I would have shown $a\sim b$ by the above. But thus far, I have failed at finding a way to do this.

On any topological space $(X,\tau)$ , you can define an equivalence relation $\sim$ $\subseteq X \times X$ by
$$
a \sim b  ~: \Longleftrightarrow ~ 
\big( ~\forall U \in \tau : ~ a \in U ~\Leftrightarrow~ b \in U \big)
$$
If two points are equivalent, they are called (topologically) indistinguishable. A space is called $T_0$ iff all distinct points are distinguishable ( i.e. $a \neq b \Rightarrow \neg (a \sim b)$ ).
For any space $(X,\tau)$ you can look at the quotient set $X / \sim$ and give it the final topology of the projection to obtain the so called Kolmogorov Quotient $KQ(X)$, which is $T_0$.
 A: Let $[a]$ denote the equivalence class of $a \in X$. If $a \in U \in \tau$, then all $b \sim a$ are contained in $U$, thus $[a] \subset U$.
We show that $\pi^{-1}(\pi(U)) = U$ for all $U \in \tau$. Let $x \in \pi^{-1}(\pi(U))$, i.e. $\pi(x) \in \pi(U)$. Choose $a \in U$ such that $\pi(x) = \pi(a)$. This means $x \sim a$ so that $x \in [a] \subset U$.
In particular $\pi$ is an open map.
Let $\xi_1,\xi_2 \in KQ(X), \xi_1 \ne \xi_2$. Write $\xi = \pi(x_i)$. Then $x_1, x_2$ are not equivalent rel $\sim$, therefore there exists $U \in \tau$ which contains exactly one of $x_1,x_2$. W.l.o.g. assume $x_1 \in U, x_2 \notin U$. Then $\pi(U)$ is open in $KQ(X)$, $\xi_1 \in \pi(U)$, but $\xi_2 \notin \pi(U)$ (otherwise $x_2 \in \pi^{-1}(\pi(U)) = U$ which is a contradiction).
Added:
The pair $(KQ(X), \pi)$ has the following universal property:
For any continuous map $f : X \to Y$ to a $T_0$-space $Y$ there exists a unique continuous $f' : KQ(X) \to Y$ such that $f' \circ \pi = f$.
To verify this, we have to show that $a \sim b$ implies $f(a) = f(b)$. Assume $f(a) \ne f(b)$. Then there is an open $V \subset Y$ which contains exactly one of $f(a),f(b)$. But then $f^{-1}(V)$ contains exactly one of $a,b$ which is a contradiction.
Note that if $(KQ'(X), \pi')$ is another pair with the above universal property, then there exists a unique homeomorphism $h : KQ(X) \to KQ'(X)$ such that $h \circ \pi = \pi'$.
The quotient map $\pi$ has a continuous right inverse $\iota : KQ(X) \to X$:
For each $\xi \in KQ(X)$ choose an element $\iota(\xi) \in \pi^{-1}(\xi)$. Note that this requires the axiom of choice if $KQ(X)$ is infinite. By definition $\pi \circ \iota = 1_{KQ(X)}$. $\iota$ is continuous: Let $U$ be an open neighborhood of $\iota(\xi)$. Then $\pi(U)$ is an open neighborhood of $\xi$ such that $\iota(\pi(U)) \subset U$ (for $\xi' \in \pi(U)$ we have $\iota(\xi') \in \pi^{-1}(\xi') \subset \pi^{-1}(\pi(U)) = U$).
For any continuous right inverse $\iota$ the maps $\iota \circ \pi : X \to X$ and $1_X$ are homotopic (i.e. $\pi$ is a homotopy equivalence):
Define $H : X \times [0,1] \to X, H(x,t) = x \text{ for } t < 1, H(x,1) = \iota(\pi(x))$. We have to show that $H$ is continuous. This is obvious in all points $(x,t)$ with $t < 1$. Consider a point $(x,1)$. Let $U$ be an open neighborhood of $\iota(\pi(x))$. Since $\iota(\pi(x)) \sim x$, we have $x \in U$ so that $U \times [0,1]$ is an open neighborhood of $(x,1)$ in $X \times I$. We get $H(U \times [0,1]) \subset U$: For $y \in U$ we have $H(y,t) = y \in U$ for $t < 1$ and $H(y,1) = \iota(\pi(y)) \in \pi^{-1}(\pi(y)) \subset \pi^{-1}(\pi(U)) = U$.
