[guided]We want to prove $P^\top P = I_n$, and the entries of $P^\top P$ are column inner products. That is why we name the columns. For each $k \in \{1,\dots,n\}$, let $p_k \in \mathbb{R}^n$ be the $k$th column of $P$.
Because $P$ is a permutation matrix, each column has exactly one entry equal to $1$ and every other entry equal to $0$. Hence each column is a standard basis vector. Let $e_1,\dots,e_n \in \mathbb{R}^n$ denote the standard basis vectors. For every $k \in \{1,\dots,n\}$, define $\sigma(k) \in \{1,\dots,n\}$ to be the row index where the unique $1$ in the $k$th column occurs. Then
\begin{align*}
p_k = e_{\sigma(k)}.
\end{align*}
The row condition in the definition of a permutation matrix says that no two columns have their $1$ in the same row. Therefore if $\sigma(i)=\sigma(j)$, then the $i$th and $j$th columns have their unique $1$ in the same row, so $i=j$. Thus $\sigma$ is injective.
Now let $i,j \in \{1,\dots,n\}$. Using the column description, we compute
\begin{align*}
p_i^\top p_j = e_{\sigma(i)}^\top e_{\sigma(j)}.
\end{align*}
The standard basis vectors are orthonormal, so
\begin{align*}
e_r^\top e_s =
\begin{cases}
1, & r=s,
\end{align*}
\begin{align*}
0, & r \neq s.
\end{cases}
\end{align*}
Applying this with $r=\sigma(i)$ and $s=\sigma(j)$, and using the injectivity of $\sigma$, gives
\begin{align*}
p_i^\top p_j =
\begin{cases}
1, & i=j,
\end{align*}
\begin{align*}
0, & i \neq j.
\end{cases}
\end{align*}
Thus the columns of $P$ are orthonormal.[/guided]