[guided]We compare the two definitions without changing any computational content. A language $L \subseteq \{0,1\}^*$ lies in $\Sigma_1^P$ precisely when membership in $L$ can be expressed by a polynomially bounded existential certificate checked by a polynomial-time predicate. That is, there are a polynomial $p: \mathbb{N} \to \mathbb{N}$ and a polynomial-time decidable predicate
$R: \{0,1\}^* \times \{0,1\}^* \to \{0,1\}$
such that, for every input string $x \in \{0,1\}^*$,
\begin{align*}
x \in L \iff \exists y \in \{0,1\}^* \text{ with } |y| \le p(|x|) \text{ and } R(x,y)=1.
\end{align*}
This is exactly the verifier definition of $NP$: the string $y$ is the certificate, the polynomial $p$ bounds its length, and the predicate $R$ is the verifier computation.
Formally, if $L \in \Sigma_1^P$, define
$V: \{0,1\}^* \times \{0,1\}^* \to \{0,1\}$
by $V(x,y)=R(x,y)$. Since $R$ is decidable in polynomial time, $V$ is a polynomial-time verifier. The same polynomial $p$ gives the certificate bound, so the displayed equivalence proves $L \in NP$.
For the reverse inclusion, suppose $L \in NP$. Then there are a polynomial $p: \mathbb{N} \to \mathbb{N}$ and a polynomial-time verifier
$V: \{0,1\}^* \times \{0,1\}^* \to \{0,1\}$
such that, for every $x \in \{0,1\}^*$,
\begin{align*}
x \in L \iff \exists y \in \{0,1\}^* \text{ with } |y| \le p(|x|) \text{ and } V(x,y)=1.
\end{align*}
Now define
$R: \{0,1\}^* \times \{0,1\}^* \to \{0,1\}$
by $R(x,y)=V(x,y)$. The predicate $R$ is polynomial-time decidable because $V$ is polynomial-time, and the same existential characterization proves $L \in \Sigma_1^P$. Thus both inclusions hold, and therefore $\Sigma_1^P = NP$.[/guided]