[guided]Fix an integer $m\geq m_0$, and define
\begin{align*}
V_m := H^0(X,L^{\otimes m}).
\end{align*}
This is a finite-dimensional complex vector space because $X$ is compact and $L^{\otimes m}$ is a holomorphic line bundle over $X$.
Before defining the projective map, we need the sections to have no common zero. Let $x\in X$. If $X$ has at least two points, choose $y\in X$ with $y\neq x$. Point separation gives a section distinguishing $x$ and $y$; applying the condition in the appropriate order gives a section that is nonzero at $x$. If $X$ has one point, any nonzero section of the one-dimensional fiber gives the same conclusion. Thus the evaluation map at every point is nonzero, so the complete linear system defines a map to projective space.
Let
\begin{align*}
\Phi_m:X&\to \mathbb{P}(V_m^*)
\end{align*}
be the complete linear system map. In local coordinates this is easiest to read as follows. Choose a basis $s_0,\dots,s_N$ of $V_m$, and choose a local holomorphic frame $e$ for $L^{\otimes m}$ on an [open set](/page/Open%20Set) $U\subset X$. Write
\begin{align*}
s_j=f_j e,\qquad f_j:U\to \mathbb{C}\ \text{holomorphic},\qquad 0\leq j\leq N.
\end{align*}
Then
\begin{align*}
\Phi_m(x)=[f_0(x):\cdots:f_N(x)].
\end{align*}
This formula is independent of the chosen frame because replacing $e$ by $e'=ge$, with $g:U\to\mathbb{C}$ nowhere zero and holomorphic, replaces every $f_j$ by $f_j/g$; projective coordinates are unchanged after multiplying every coordinate by the same nonzero scalar.
Point separation now proves injectivity. If $x\neq y$, choose a section $s\in V_m$ such that $s(x)=0$ and $s(y)\neq 0$. Evaluation at $x$ and evaluation at $y$ are therefore not proportional linear functionals on $V_m$, so $\Phi_m(x)\neq \Phi_m(y)$.
Tangent-vector separation proves that $\Phi_m$ is an immersion. Let $x\in X$ and let $v\in T_xX$ be nonzero. Choose $s\in V_m$ such that $s(x)=0$ and $d(s/e)_x(v)\neq 0$ in a local frame $e$. Extend $s$ to a basis $s_0,\dots,s_N$ of $V_m$ with $s=s_1$, and choose $s_0$ so that $s_0(x)\neq 0$. On the affine chart where the first projective coordinate is nonzero, the map $\Phi_m$ has local coordinates
\begin{align*}
x\mapsto \left(\frac{f_1(x)}{f_0(x)},\dots,\frac{f_N(x)}{f_0(x)}\right).
\end{align*}
Since $f_1(x)=0$ and $f_0(x)\neq 0$, the derivative of the first affine coordinate in the direction $v$ is
\begin{align*}
d\left(\frac{f_1}{f_0}\right)_x(v)
=
\frac{1}{f_0(x)}\,df_1{}_x(v),
\end{align*}
which is nonzero. Hence $d(\Phi_m)_x(v)\neq 0$. Since $v$ was arbitrary and nonzero, $d(\Phi_m)_x$ is injective.
Thus $\Phi_m$ is a holomorphic injective immersion. Because $X$ is compact and projective space is Hausdorff, the continuous map $\Phi_m$ is a homeomorphism from $X$ onto its image. Therefore $\Phi_m$ is a holomorphic embedding. By definition, this says that $L^{\otimes m}$ is very ample. Hence $L$ is ample.[/guided]