[proofplan]
We prove [convergence in distribution](/page/Convergence%20In%20Distribution) directly from distribution functions. Fix a continuity point $t$ of the distribution function of $X$, and compare the events $\{X_n \leq t\}$ and $\{X \leq t\}$ by inserting the error event $\{|X_n-X|>\varepsilon\}$. Convergence in probability makes the error probability vanish, and continuity of the distribution function at $t$ lets us send $\varepsilon \downarrow 0$ in the resulting upper and lower bounds.
[/proofplan]
[step:Define the distribution functions and fix a continuity point of the limit law]
For each $n\in\mathbb N$, define the distribution function $F_n:\mathbb R\to[0,1]$ by $F_n(s)=\mathbb P(X_n\leq s)$. Define the distribution function $F:\mathbb R\to[0,1]$ by $F(s)=\mathbb P(X\leq s)$.
Let $t\in\mathbb R$ be a continuity point of $F$. By the definition of convergence in distribution for real-valued random variables, it is enough to prove that $\lim_{n\to\infty}F_n(t)=F(t)$.
[/step]
[step:Bound the upper tail error by comparing $X_n$ with $X$]
Fix $\varepsilon>0$. If $\omega\in\Omega$ satisfies $X_n(\omega)\leq t$ and $|X_n(\omega)-X(\omega)|\leq\varepsilon$, then
\begin{align*}
X(\omega)\leq X_n(\omega)+\varepsilon\leq t+\varepsilon.
\end{align*}
Hence
\begin{align*}
\{X_n\leq t\}\subset \{X\leq t+\varepsilon\}\cup\{|X_n-X|>\varepsilon\}.
\end{align*}
Taking probabilities and using subadditivity of $\mathbb P$ gives
\begin{align*}
F_n(t)\leq F(t+\varepsilon)+\mathbb P(|X_n-X|>\varepsilon).
\end{align*}
Since $X_n\xrightarrow{\mathbb P}X$, the second term tends to $0$ for this fixed $\varepsilon$. Therefore $\limsup_{n\to\infty}F_n(t)\leq F(t+\varepsilon)$.
[guided]
Fix $\varepsilon>0$. The purpose of introducing $\varepsilon$ is to separate two possibilities: either $X_n$ is close to $X$, in which case the inequality $X_n\leq t$ forces $X$ to be at most $t+\varepsilon$, or $X_n$ is not close to $X$, in which case we pay the probability of the error event.
More precisely, suppose $\omega\in\Omega$ satisfies both $X_n(\omega)\leq t$ and $|X_n(\omega)-X(\omega)|\leq\varepsilon$. The [second inequality](/theorems/2136) implies $X(\omega)\leq X_n(\omega)+\varepsilon$, and therefore $X(\omega)\leq X_n(\omega)+\varepsilon\leq t+\varepsilon$. Thus every $\omega$ with $X_n(\omega)\leq t$ either belongs to $\{X\leq t+\varepsilon\}$ or belongs to the exceptional event $\{|X_n-X|>\varepsilon\}$. This proves the event inclusion
\begin{align*}
\{X_n\leq t\}\subset \{X\leq t+\varepsilon\}\cup\{|X_n-X|>\varepsilon\}.
\end{align*}
Applying the [probability measure](/page/Probability%20Measure) $\mathbb P$ and using finite subadditivity gives
$F_n(t)=\mathbb P(X_n\leq t)\leq \mathbb P(X\leq t+\varepsilon)+\mathbb P(|X_n-X|>\varepsilon)$.
By the definition of $F$, this becomes $F_n(t)\leq F(t+\varepsilon)+\mathbb P(|X_n-X|>\varepsilon)$. Because $X_n\xrightarrow{\mathbb P}X$, the definition of convergence in probability gives $\lim_{n\to\infty}\mathbb P(|X_n-X|>\varepsilon)=0$. Taking the limit superior in $n$ in the previous inequality therefore yields $\limsup_{n\to\infty}F_n(t)\leq F(t+\varepsilon)$.
[/guided]
[/step]
[step:Bound the lower tail error by reversing the comparison]
Fix $\varepsilon>0$. If $\omega\in\Omega$ satisfies $X(\omega)\leq t-\varepsilon$ and $|X_n(\omega)-X(\omega)|\leq\varepsilon$, then
\begin{align*}
X_n(\omega)\leq X(\omega)+\varepsilon\leq t
\end{align*}
Hence
\begin{align*}
\{X\leq t-\varepsilon\}\subset \{X_n\leq t\}\cup\{|X_n-X|>\varepsilon\}
\end{align*}
Taking probabilities gives
\begin{align*}
F(t-\varepsilon)\leq F_n(t)+\mathbb P(|X_n-X|>\varepsilon)
\end{align*}
Equivalently,
\begin{align*}
F_n(t)\geq F(t-\varepsilon)-\mathbb P(|X_n-X|>\varepsilon)
\end{align*}
Since $X_n\xrightarrow{\mathbb P}X$, we obtain
\begin{align*}
\liminf_{n\to\infty}F_n(t)\geq F(t-\varepsilon)
\end{align*}
[/step]
[step:Let the comparison window shrink to the continuity point]
The preceding two steps show that for every $\varepsilon>0$,
\begin{align*}
F(t-\varepsilon)\leq \liminf_{n\to\infty}F_n(t)\leq \limsup_{n\to\infty}F_n(t)\leq F(t+\varepsilon)
\end{align*}
Because $t$ is a continuity point of $F$, we have $F(t-\varepsilon)\to F(t)$ and $F(t+\varepsilon)\to F(t)$ as $\varepsilon\downarrow 0$. Hence
\begin{align*}
F(t)\leq \liminf_{n\to\infty}F_n(t)\leq \limsup_{n\to\infty}F_n(t)\leq F(t)
\end{align*}
Therefore
\begin{align*}
\liminf_{n\to\infty}F_n(t)=\limsup_{n\to\infty}F_n(t)=F(t)
\end{align*}
so
\begin{align*}
\lim_{n\to\infty}F_n(t)=F(t)
\end{align*}
Since this holds at every continuity point $t$ of $F$, the definition of convergence in distribution gives $X_n\xrightarrow{d}X$.
[/step]