SO(n) homeomorphic to cartesian product of spheres I suspect that $O(n)$ is homeomorphic to a product of spheres $S^m$ (equipped with the product metric) for various $m$ like so:
$$O(n) \cong S^{n-1} \times S^{n-2} \times \dots \times S^0$$
I need help formulating my idea into a rigorous proof (provided it is even correct). 

So far, my holey proof goes like this:


*

*$O(n) \subset \mathbb R^{n^2}$ consists precisely of those matrices with orthonormal rows.

*Given $A \in O(n)$, the first row of $A$ (denote it $A_1$) may be chosen as any element
from $S^{n-1}$.

*The second row of $A$ may be chosen from $S^{n-1} \cap A_1^\perp \cong S^{n-2}$

*The third row $A_3$ may be chosen from $S^{n-1} \cap A_1^\perp \cap A_2^\perp$. Since $A_2 \in S^{n-1} \cap A_1^\perp$, what we have is homeomorphic to $S^{n-2} \cap v^\perp$ with $v\in \mathbb R^{n-1}$ which is in turn homeomorphic to $S^{n-3}$. 

*Inductively, since each row is perpendicular to the previous rows, $A_m$ may be chosen from $S^{n-1} \cap \bigcap_{i =1}^{m-1} A_i^\perp$ which is homeomorphic to $S^{n-m}$.

*$O(n)$ may thus be identified with the cartesian product $S^{n-1} \times S^{n-2} \times \dots \times S^0$.



There are at least a couple of problems with this proof that need addressing:


*

*Statement $4$ is not particularly rigorous.

*The space from which $A_m$ is chosen changes depending on the choice of the previous rows, and so it's not entirely clear to me whether or not $O(n)$ is the cartesian product of spheres.


What can I do to make this proof rigorous? Or if I'm trying to prove something which is incorrect, then what exactly is the lethal flaw in the above reasoning?
 A: Your reasoning is false but not "particularly false". You alreadly highlighted the problem, the space where you choose $A_m$ really depends on the choice of the previous rows. What you actually get is something called a bundle. First, to do this (this is what you have done implicitely but let us state this explicitely) you need to identify $O(n)$ to the set of orthonormal frames of the euclidean space $\mathbb{R}^n$ (with a canonical scalar product and a standard base $e_1,...,e_n$). 
Then let us denote $V_n$ this set. What you have is an application :
$$f_n:V_n\rightarrow S^{n-1} $$
$$(v_1,...,v_n)\mapsto v_{n}$$
Clearly $f_n$ is a surjective map and $f_n^{-1}(x)$ is exactly given by the set of orthonormal frames of the orthogonal hyperplane to $x$. So it is exactly $V_{n-1}$. Now you have a surjective map $f_n$ whose definition space is $V_n$, whose image is the whole sphere $S_{n-1}$ and whose fiber over any element is $V_{n-1}$. One can show that this map is "smooth", that is the space $f_n^{-1}(x)$ varies smoothly according to $x$. So that this gives a so-called bundle over $S^{n-1}$ with fiber $V_{n-1}$ and whose total space is $V_n$.
Basically what we have done is your steps $2$ and $3$. The problem is that it does not follow from this application $f_n$ that $V_n=S^{n-1}\times V_{n-1}$. If it would be so the bundle would be "trivial" and it happens not to be.
The problem is basically "how do we identify $f_n^{-1}(x)$ to $V_{n-1}$?", if $x$ varies on a very small open set of $S^{n-1}$ then we can fix the identification so that we get a local trivialisation of the bundle but we cannot "trivialise" above the whole sphere.
This bundle does not allow you to have a nice topological description of $O(n)$ as you wrote it, but it allows you to compute some interesting topological invariants such as the fundamental group for instance...
