mathlib documentation

analysis.normed_space.mazur_ulam

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:

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 isometric.midpoint_fixed {E : Type u_1} {PE : Type u_2} [normed_group E] [normed_space E] [metric_space PE] [normed_add_torsor E PE] {x y : PE} (e : PE ≃ᵢ PE) :
e x = xe y = ye (midpoint x y) = midpoint x y

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 isometric.map_midpoint {E : Type u_1} {PE : Type u_2} [normed_group E] [normed_space E] [metric_space PE] [normed_add_torsor E PE] {F : Type u_3} {PF : Type u_4} [normed_group F] [normed_space F] [metric_space PF] [normed_add_torsor F PF] (f : PE ≃ᵢ PF) (x y : PE) :
f (midpoint x y) = 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 continuous_linear_equiv first, then a conversion to an affine_map.

def isometric.to_real_linear_equiv_of_map_zero {E : Type u_1} [normed_group E] [normed_space E] {F : Type u_3} [normed_group F] [normed_space F] (f : E ≃ᵢ F) :
f 0 = 0(E ≃L[] F)

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

Equations
@[simp]
theorem isometric.coe_to_real_linear_equiv_of_map_zero {E : Type u_1} [normed_group E] [normed_space E] {F : Type u_3} [normed_group F] [normed_space F] (f : E ≃ᵢ F) (h0 : f 0 = 0) :

@[simp]

def isometric.to_real_linear_equiv {E : Type u_1} [normed_group E] [normed_space E] {F : Type u_3} [normed_group F] [normed_space F] :
E ≃ᵢ F(E ≃L[] 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 equivalence.

Equations
@[simp]
theorem isometric.to_real_linear_equiv_apply {E : Type u_1} [normed_group E] [normed_space E] {F : Type u_3} [normed_group F] [normed_space F] (f : E ≃ᵢ F) (x : E) :

@[simp]
theorem isometric.to_real_linear_equiv_symm_apply {E : Type u_1} [normed_group E] [normed_space E] {F : Type u_3} [normed_group F] [normed_space F] (f : E ≃ᵢ F) (y : F) :

def isometric.to_affine_equiv {E : Type u_1} {PE : Type u_2} [normed_group E] [normed_space E] [metric_space PE] [normed_add_torsor E PE] {F : Type u_3} {PF : Type u_4} [normed_group F] [normed_space F] [metric_space PF] [normed_add_torsor F PF] :
PE ≃ᵢ PF(PE ≃ᵃ[] PF)

Convert an isometric equivalence between two affine spaces to an affine_map.

Equations
@[simp]
theorem isometric.coe_to_affine_equiv {E : Type u_1} {PE : Type u_2} [normed_group E] [normed_space E] [metric_space PE] [normed_add_torsor E PE] {F : Type u_3} {PF : Type u_4} [normed_group F] [normed_space F] [metric_space PF] [normed_add_torsor F PF] (f : PE ≃ᵢ PF) :