# Documentation

Mathlib.Analysis.NormedSpace.MazurUlam

# Mazur-Ulam Theorem #

Mazur-Ulam theorem states that an isometric bijection between two normed affine spaces over ℝ is affine. We formalize it in three definitions:

• IsometryEquiv.toRealLinearIsometryEquivOfMapZero : given E ≃ᵢ F sending 0 to 0, returns E ≃ₗᵢ[ℝ] F with the same toFun and invFun;
• IsometryEquiv.toRealLinearIsometryEquiv : given f : E ≃ᵢ F, returns a linear isometry equivalence g : E ≃ₗᵢ[ℝ] F with g x = f x - f 0.
• IsometryEquiv.toRealAffineIsometryEquiv : given f : PE ≃ᵢ PF, returns an affine isometry equivalence g : PE ≃ᵃⁱ[ℝ] PF whose underlying IsometryEquiv is f

The formalization is based on [Jussi Väisälä, A Proof of the Mazur-Ulam Theorem][Vaisala_2003].

## Tags #

isometry, affine map, linear map

theorem IsometryEquiv.midpoint_fixed {E : Type u_1} {PE : Type u_2} [] [] [] {x : PE} {y : PE} (e : PE ≃ᵢ PE) :
e x = xe y = ye () =

If an isometric self-homeomorphism of a normed vector space over ℝ fixes x and y, then it fixes the midpoint of [x, y]. This is a lemma for a more general Mazur-Ulam theorem, see below.

theorem IsometryEquiv.map_midpoint {E : Type u_1} {PE : Type u_2} {F : Type u_3} {PF : Type u_4} [] [] [] [] [] [] (f : PE ≃ᵢ PF) (x : PE) (y : PE) :
f () = midpoint (f x) (f y)

A bijective isometry sends midpoints to midpoints.

Since f : PE ≃ᵢ PF sends midpoints to midpoints, it is an affine map. We define a conversion to a ContinuousLinearEquiv first, then a conversion to an AffineMap.

def IsometryEquiv.toRealLinearIsometryEquivOfMapZero {E : Type u_1} {F : Type u_3} [] [] (f : E ≃ᵢ F) (h0 : f 0 = 0) :

Mazur-Ulam Theorem: if f is an isometric bijection between two normed vector spaces over ℝ and f 0 = 0, then f is a linear isometry equivalence.

Instances For
@[simp]
theorem IsometryEquiv.coe_toRealLinearIsometryEquivOfMapZero {E : Type u_1} {F : Type u_3} [] [] (f : E ≃ᵢ F) (h0 : f 0 = 0) :
@[simp]
theorem IsometryEquiv.coe_toRealLinearIsometryEquivOfMapZero_symm {E : Type u_1} {F : Type u_3} [] [] (f : E ≃ᵢ F) (h0 : f 0 = 0) :
def IsometryEquiv.toRealLinearIsometryEquiv {E : Type u_1} {F : Type u_3} [] [] (f : E ≃ᵢ F) :

Mazur-Ulam Theorem: if f is an isometric bijection between two normed vector spaces over ℝ, then x ↦ f x - f 0 is a linear isometry equivalence.

Instances For
@[simp]
theorem IsometryEquiv.toRealLinearIsometryEquiv_apply {E : Type u_1} {F : Type u_3} [] [] (f : E ≃ᵢ F) (x : E) :
= f x - f 0
@[simp]
theorem IsometryEquiv.toRealLinearIsometryEquiv_symm_apply {E : Type u_1} {F : Type u_3} [] [] (f : E ≃ᵢ F) (y : F) :
= ↑() (y + f 0)
def IsometryEquiv.toRealAffineIsometryEquiv {E : Type u_1} {PE : Type u_2} {F : Type u_3} {PF : Type u_4} [] [] [] [] [] [] (f : PE ≃ᵢ PF) :

Mazur-Ulam Theorem: if f is an isometric bijection between two normed add-torsors over normed vector spaces over ℝ, then f is an affine isometry equivalence.

Instances For
@[simp]
theorem IsometryEquiv.coeFn_toRealAffineIsometryEquiv {E : Type u_1} {PE : Type u_2} {F : Type u_3} {PF : Type u_4} [] [] [] [] [] [] (f : PE ≃ᵢ PF) :
@[simp]
theorem IsometryEquiv.coe_toRealAffineIsometryEquiv {E : Type u_1} {PE : Type u_2} {F : Type u_3} {PF : Type u_4} [] [] [] [] [] [] (f : PE ≃ᵢ PF) :