A normed vector space is hausdorff, so every finite dimensional normed vector space is homeomorphic to Rn. But we'll prove the more general assertion, regarding topological spaces.
Select a basis for S and build a linear map f from Rn onto S. If f is bicontinuous, then the spaces are indeed homeomorphic.
Let U be an open set about 0 in S. Choose V so that V+V+V… n times lies in U. Let x be the image of a coordinate unit vector in Rn, and let cx lie in V. Thus the image of (-c,c) lies in V. Find such a constant for each dimension and build an open rectangular box in Rn. This maps into V+V+V…, or U. Thus f is continuous at 0, and f is continuous everywhere.
Now for the converse. Let Q be the unit sphere in Rn, and let B be the unit open ball in Rn. The image of Q is a compact subspace of a hausdorff space, hence it is closed. The complement is open, so let U be a base open set about 0 that lies in the complement. Remember, our base open sets shrink when multiplied by a constant less than 1. Suppose y lies in U, where y = f(x), yet x is not in B. Scale x down to a unit vector, and y remains in U, even though it is now in the image of Q. This is a contradiction, hence all of U maps into B. This holds for a ball of any radius, thus the inverse of f is continuous, and f is bicontinuous, and S is homeomorphic to Rn.
for any x not in T, T and x span a subspace of dimension n+1. This also looks like euclidean space, hence x can be placed in an open set that misses T. This comes from an open set in S that misses T, thus x is not in the closure of T, and T is closed.
If x1 through xn are not all independent, apply the above to x1 through xj, a maximal independent set, and lower the bound on the coefficients, to make room for the remaining dependent vectors. The result is the same, a bound on the coefficients, such that all linear combinations lie in U.
Select an open set about 0 whose closure is compact. This is the definition of locally compact. Let U be a base set in this open set. Now the closure of U is closed in a compact set, hence it is also compact.
Let U contain the nonzero point x. Remember that c×U lies in U for |c| ≤ 1. Thus U contains the smear of x from -1 to 1. But suppose each c×U contains x. Thus U contains x/c, and U contains all the multiples of x, a line in our topological vector space. Being hausdorff, some V separates 0 from x. Let V be in the local base, so that V intersects the line of x in (-e,e)×x, where e < 1. The translates of V cover U closure. A finite subcover will do, yet a finite subcover cannot cover all the multiples of x. This is a contradiction, Therefore we can always scale U down to exclude any nonzero point x.
Let the translates of U/3 cover U closure. Note that we only need translate by elements of U. If p is in U closure then p-U/3 has to intersect U in some point Q, and Q+U/3 brings in p, so translations by elements of U will suffice.
Let x1 x2 x3 … xn define the translates of U/3 that form the finite subcover.
Let z be any point in U and assume, without loss of generality, that z is in the translate x1+U/3. The difference z-x1 lies in U/3, hence 3 times this difference still lies in U. Let 3(z-x1) lie in some translate x2+U/3. Now the difference between 3(z-x1) and x2 lies in U/3, so place 3 times this difference in x3+U/3. continue this process, and z = x1+x2/3+x3/9+x4/27… with the error term in U/3k.
If you don't stumble upon equality early in the game, elements of x will repeat. That's ok; just group them together. So x2/3 + x2/243 becomes x2 times 82/243, and so on. The coefficients are bounded by a geometric series, and convergence is absolute. Let ci be the limit of the sum of the coefficients on xi, and let W be the sum c1x1 + c2x2 + c3x3 + … cnxn.
How close is the kth approximation to z, and to W? We already said the approximation is within U/3k of z. At worst, the difference between W and the kth approximation is a linear combination of x1 through xn, where the coefficients are bounded by the tail of a geometric series. At some point the linear combinations of x1 through xn all lie in U. In other words, the error term lies in U. If the coefficients are cut in half, the result lies in a ball with its radius cut in half, which is ½U. As the coefficients approach 0, the error term fits into c×U, where c approaches 0. Put this all together and W-z lies in every multiple of U, no matter how small. However, if W-z is nonzero then some scale multiple of U excludes W-z. This is a contradiction, hence W = z.
since z was arbitrary, x1 through xn span all of U.
Let T be the span of x1 through xn. Thus T contains U. Since T is finite dimensional it looks like Rn. It is closed in S, and contains U closure. Suppose T does not contain some y in S. Let T′ be the span of T and y. Remember that T′ looks like Rn+1. Since U is open in T it represents the intersection of T and an open set in S. Let this open set intersect T′ instead of T, and find an open set in T′ that happens to live in T. However, a set stuck in n dimensions cannot be an open set in n+1 dimensions. the interior of a square may be open in the plane, but it is not open in 3 space. Therefore T is all of S, and S is finite dimensional, and euclidean.