[proofplan]
We use the definition of Murray-von Neumann equivalence: projections $p$ and $q$ are equivalent when there is an operator $v\in\mathcal{L}(H)$ such that $v^*v=p$ and $vv^*=q$. In one direction, such an operator is a partial isometry whose restriction to $pH$ is a unitary map onto $qH$. In the other direction, equal Hilbert-space dimension gives a unitary $u:pH\to qH$, and extending $u$ by zero on $(pH)^\perp$ produces the required partial isometry.
[/proofplan]
[step:Use Murray-von Neumann equivalence to obtain a unitary between the ranges]
Assume first that $p\sim q$ in $\mathcal{L}(H)$. By definition of Murray-von Neumann equivalence, there exists an operator $v\in\mathcal{L}(H)$ such that
\begin{align*}
v^*v=p
\end{align*}
and
\begin{align*}
vv^*=q.
\end{align*}
Since $p$ is a projection, $H=pH\oplus (pH)^\perp$ and $p$ is the identity on $pH$ and zero on $(pH)^\perp$. If $y\in (pH)^\perp$, then $py=0$, and hence
\begin{align*}
\|vy\|_H^2=(v^*vy,y)_H=(py,y)_H=0.
\end{align*}
Thus $v$ vanishes on $(pH)^\perp$.
Now let $x\in pH$. Since $px=x$, we have
\begin{align*}
\|vx\|_H^2=(v^*vx,x)_H=(px,x)_H=\|x\|_H^2.
\end{align*}
Therefore the restriction
\begin{align*}
v|_{pH}:pH\to H
\end{align*}
is an isometry.
We next identify its range. For every $h\in H$,
\begin{align*}
q(vh)=vv^*vh=v(v^*v)h=vph=vh,
\end{align*}
because $v=v p$ follows from the fact that $v$ vanishes on $(pH)^\perp$. Hence $\operatorname{Range}(v)\subset qH$. Conversely, if $z\in qH$, then $qz=z$, and so
\begin{align*}
z=qz=vv^*z=v(v^*z).
\end{align*}
Moreover,
\begin{align*}
p(v^*z)=v^*vv^*z=v^*qz=v^*z,
\end{align*}
so $v^*z\in pH$. Thus every $z\in qH$ lies in $v(pH)$. Therefore
\begin{align*}
v(pH)=qH.
\end{align*}
It follows that $v|_{pH}:pH\to qH$ is a surjective isometry, hence a unitary isomorphism of Hilbert spaces. Therefore $pH$ and $qH$ have the same Hilbert-space dimension.
[guided]
Assume $p\sim q$. This means precisely that there is an operator $v\in\mathcal{L}(H)$ satisfying
\begin{align*}
v^*v=p
\end{align*}
and
\begin{align*}
vv^*=q.
\end{align*}
The goal is to show that $v$ is not merely an operator on $H$, but becomes a unitary map once we restrict its domain to the range of $p$ and its codomain to the range of $q$.
Because $p$ is a projection, it is the [orthogonal projection](/theorems/437) onto $pH$. Thus
\begin{align*}
H=pH\oplus (pH)^\perp.
\end{align*}
First take $y\in (pH)^\perp$. Then $py=0$. Using the Hilbert-space adjoint relation for $v^*v$, we compute
\begin{align*}
\|vy\|_H^2=(vy,vy)_H=(v^*vy,y)_H=(py,y)_H=0.
\end{align*}
Therefore $vy=0$. This proves that $v$ kills the orthogonal complement of $pH$.
Now take $x\in pH$. Since $p$ acts as the identity on its range, $px=x$. Again using $v^*v=p$, we get
\begin{align*}
\|vx\|_H^2=(vx,vx)_H=(v^*vx,x)_H=(px,x)_H=(x,x)_H=\|x\|_H^2.
\end{align*}
So $v$ preserves norms on $pH$. Since $v$ is linear, the polarization identity implies that $v|_{pH}$ preserves the Hilbert-space [inner product](/page/Inner%20Product) on $pH$. Equivalently, $v|_{pH}$ is an isometry from $pH$ into $H$.
It remains to prove that the image is exactly $qH$. First, for any $h\in H$, the decomposition $h=ph+(h-ph)$ has $h-ph\in (pH)^\perp$, and $v$ vanishes on $(pH)^\perp$. Hence $vh=vph$. Therefore
\begin{align*}
q(vh)=vv^*vh=v(v^*v)h=vph=vh.
\end{align*}
This shows that $vh$ is fixed by $q$, so $vh\in qH$. Hence $\operatorname{Range}(v)\subset qH$.
For the reverse inclusion, take $z\in qH$. Then $qz=z$, and using $q=vv^*$ gives
\begin{align*}
z=qz=vv^*z=v(v^*z).
\end{align*}
Thus $z$ lies in the range of $v$. We also need the preimage $v^*z$ to lie in $pH$, because we want the range of the restricted map $v|_{pH}$, not just the range of $v$ on all of $H$. This follows from
\begin{align*}
p(v^*z)=v^*vv^*z=v^*qz=v^*z.
\end{align*}
So $v^*z\in pH$, and $z=v(v^*z)\in v(pH)$.
We have proved
\begin{align*}
v(pH)=qH.
\end{align*}
The restricted map $v|_{pH}:pH\to qH$ is therefore a surjective isometry, hence a unitary isomorphism. Consequently $pH$ and $qH$ have the same Hilbert-space dimension.
[/guided]
[/step]
[step:Extend a unitary between the ranges to a partial isometry on $H$]
Conversely, assume that $pH$ and $qH$ have the same Hilbert-space dimension. By the Hilbert-space classification theorem by orthonormal-basis dimension, there exists a unitary isomorphism
\begin{align*}
u:pH\to qH.
\end{align*}
(citing a result not yet in the wiki: Hilbert-space classification by orthonormal-basis dimension)
Define a [linear map](/page/Linear%20Map)
\begin{align*}
v:H\to H
\end{align*}
as follows. For the unique decomposition $h=x+y$ with $x\in pH$ and $y\in (pH)^\perp$, set
\begin{align*}
v h = u x.
\end{align*}
Equivalently, $v=up$ after viewing $u$ as a map from $pH$ into $H$.
The operator $v$ is bounded because, for $h=x+y$ as above,
\begin{align*}
\|vh\|_H=\|ux\|_H=\|x\|_H\le \|h\|_H.
\end{align*}
Thus $v\in\mathcal{L}(H)$.
We compute $v^*v$. For $h=x+y$ with $x\in pH$ and $y\in(pH)^\perp$, one has $vh=ux$. Since $u$ is unitary from $pH$ onto $qH$, the adjoint of $v$ sends $qH$ back by $u^{-1}$ and vanishes on $(qH)^\perp$. Therefore
\begin{align*}
v^*vh=v^*(ux)=x=ph.
\end{align*}
Hence
\begin{align*}
v^*v=p.
\end{align*}
Similarly, for $k=a+b$ with $a\in qH$ and $b\in(qH)^\perp$, we have $v^*k=u^{-1}a$, and therefore
\begin{align*}
vv^*k=v(u^{-1}a)=a=qk.
\end{align*}
Thus
\begin{align*}
vv^*=q.
\end{align*}
By the definition of Murray-von Neumann equivalence, $p\sim q$ in $\mathcal{L}(H)$.
[/step]
[step:Conclude the equivalence]
The first step proves that Murray-von Neumann equivalence of $p$ and $q$ forces the ranges $pH$ and $qH$ to be unitarily isomorphic, and therefore to have the same Hilbert-space dimension. The second step proves that equality of Hilbert-space dimension gives a unitary $pH\to qH$, whose zero extension to $(pH)^\perp$ is an operator $v\in\mathcal{L}(H)$ satisfying $v^*v=p$ and $vv^*=q$. These two implications prove the desired equivalence.
[/step]