Sea B:V×V→V cualquier forma bilineal no degenerada en un espacio vectorial real V. Afirmamos que si f:V→V preserva B (en el sentido de que B(fu,fv)=B(u,v) para todo u,v∈V) y satisface f(0)=0, entonces f es lineal (de hecho, un isomorfismo lineal).
Primero establezcamos una forma débil de linealidad. Sean u,v,w∈V y λ,μ∈R, entonces calculamos
B(fu,λfv+μfw)=λB(fu,fv)+μB(fu,fw)=λB(u,v)+μB(u,w)=B(u,λv+μw)=B(fu,f(λv+μw)).
Si supiéramos que f es sobreyectiva, la linealidad de f seguiría de la no degeneración de B, ya que fu podría ser cualquier elemento en V. Sin embargo, aquí realmente no necesitamos que fu se elija arbitrariamente en V,sinosoloenunabasedeV.Dehecho,sispan\{v_1, \dots, v_n\} = V, entonces la no degeneración de B implica que B(u,v_i) = 0 para todo 1 \le i \le n si y solo si u = 0$.
Así que necesitamos finalmente demostrar que \mathrm{Im} f contiene una base para V. Esto se sigue de la existencia de bases "estándar" en V con respecto a B (Si B fuera un producto escalar, "estándar" podría significar "ortonormal" ; Si B fuera una forma simpléctica, "estándar" podría significar "simpléctica".) De hecho, dado que f preserva B, transforma una base "estándar" en otra.
Observa que el teorema de Mazur-Ulam tiene una forma más fuerte que la que mencionaste : Si (V, \| \cdot \|) es un espacio vectorial real normado y si f : V \to V es un mapa que conserva la norma y satisface f(0)=0, entonces es un mapa lineal. En este contexto más general, no se tiene la estructura bilineal de un producto escalar de la cual se podría inferir la linealidad de f.