This question is a follow-up/extension to this question. Suppose $P$ is an orthogonal operator on a finite dimensional inner product space $V$. By definition, this means that $$ \langle Pu, Pv \rangle = \langle u, v \rangle $$ for all $u,v \in V$. I want to show that $P^TP = I$.
By definition of the transpose,
$$ \langle u, v \rangle = \langle Pu, Pv \rangle = \langle u, P^T(Pv) \rangle $$
and by bilinearity of the inner product it follows that $$ \langle u , (I - P^TP)v \rangle = 0 $$ If $v \neq 0 \neq u$, I want to use the fact that the inner product is nondegenerate to conclude that $I - P^TP = 0$ which would prove the claim. However, I'm not so sure that this applies here for the nondegenerate criterion is a statement about all vectors and not just a particular vector. That is, I don't believe it necessarily true that $\langle x, y \rangle = 0$ and $x \neq 0 \implies y = 0$.
On the other hand, without invoking that the inner product is nondegenerate one can see from inspection that $P^TP = I$ satisfies $$ \langle u, v \rangle = \langle u , (P^TP)v \rangle $$
Is this enough?