Isometries #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define isometries, i.e., maps between emetric spaces that preserve the edistance (on metric spaces, these are exactly the maps that preserve distances), and prove their basic properties. We also introduce isometric bijections.
Since a lot of elementary properties don't require eq_of_dist_eq_zero
we start setting up the
theory for pseudo_metric_space
and we specialize to metric_space
when needed.
An isometry (also known as isometric embedding) is a map preserving the edistance between pseudoemetric spaces, or equivalently the distance between pseudometric space.
Equations
- isometry f = ∀ (x1 x2 : α), has_edist.edist (f x1) (f x2) = has_edist.edist x1 x2
On pseudometric spaces, a map is an isometry if and only if it preserves nonnegative distances.
On pseudometric spaces, a map is an isometry if and only if it preserves distances.
An isometry preserves distances.
A map that preserves distances is an isometry
An isometry preserves non-negative distances.
A map that preserves non-negative distances is an isometry.
An isometry preserves edistances.
Any map on a subsingleton is an isometry
The identity is an isometry
The composition of isometries is an isometry.
An isometry from a metric space is a uniform continuous map
An isometry from a metric space is a uniform inducing map
An isometry is continuous.
The right inverse of an isometry is an isometry.
Isometries preserve the diameter in pseudoemetric spaces.
The injection from a subtype is an isometry
An isometry from an emetric space is injective
An isometry from an emetric space is a uniform embedding
An isometry from an emetric space is an embedding
An isometry from a complete emetric space is a closed embedding
An isometry preserves the diameter in pseudometric spaces.
A uniform embedding from a uniform space to a metric space is an isometry with respect to the induced metric space structure on the source space.
An embedding from a topological space to a metric space is an isometry with respect to the induced metric space structure on the source space.
α
and β
are isometric if there is an isometric bijection between them.
Instances for isometry_equiv
- isometry_equiv.has_sizeof_inst
- isometry_equiv.has_coe_to_fun
- isometry_equiv.group
Alternative constructor for isometric bijections, taking as input an isometry, and a right inverse.
Equations
- isometry_equiv.mk' f g hfg hf = {to_equiv := {to_fun := f, inv_fun := g, left_inv := _, right_inv := hfg}, isometry_to_fun := hf}
The identity isometry of a space.
Equations
- isometry_equiv.refl α = {to_equiv := {to_fun := (equiv.refl α).to_fun, inv_fun := (equiv.refl α).inv_fun, left_inv := _, right_inv := _}, isometry_to_fun := _}
The composition of two isometric isomorphisms, as an isometric isomorphism.
The inverse of an isometric isomorphism, as an isometric isomorphism.
See Note [custom simps projection]. We need to specify this projection explicitly in this case, because it is a composition of multiple projections.
Equations
See Note [custom simps projection]
Equations
The (bundled) homeomorphism associated to an isometric isomorphism.
Equations
- h.to_homeomorph = {to_equiv := h.to_equiv, continuous_to_fun := _, continuous_inv_fun := _}
The group of isometries.
Equations
- isometry_equiv.group = {mul := λ (e₁ e₂ : α ≃ᵢ α), e₂.trans e₁, mul_assoc := _, one := isometry_equiv.refl α _inst_1, one_mul := _, mul_one := _, npow := div_inv_monoid.npow._default (isometry_equiv.refl α) (λ (e₁ e₂ : α ≃ᵢ α), e₂.trans e₁) isometry_equiv.group._proof_4 isometry_equiv.group._proof_5, npow_zero' := _, npow_succ' := _, inv := isometry_equiv.symm _inst_1, div := div_inv_monoid.div._default (λ (e₁ e₂ : α ≃ᵢ α), e₂.trans e₁) isometry_equiv.group._proof_8 (isometry_equiv.refl α) isometry_equiv.group._proof_9 isometry_equiv.group._proof_10 (div_inv_monoid.npow._default (isometry_equiv.refl α) (λ (e₁ e₂ : α ≃ᵢ α), e₂.trans e₁) isometry_equiv.group._proof_4 isometry_equiv.group._proof_5) isometry_equiv.group._proof_11 isometry_equiv.group._proof_12 isometry_equiv.symm, div_eq_mul_inv := _, zpow := div_inv_monoid.zpow._default (λ (e₁ e₂ : α ≃ᵢ α), e₂.trans e₁) isometry_equiv.group._proof_14 (isometry_equiv.refl α) isometry_equiv.group._proof_15 isometry_equiv.group._proof_16 (div_inv_monoid.npow._default (isometry_equiv.refl α) (λ (e₁ e₂ : α ≃ᵢ α), e₂.trans e₁) isometry_equiv.group._proof_4 isometry_equiv.group._proof_5) isometry_equiv.group._proof_17 isometry_equiv.group._proof_18 isometry_equiv.symm, zpow_zero' := _, zpow_succ' := _, zpow_neg' := _, mul_left_inv := _}
equiv.fun_unique
as an isometry_equiv
.
Equations
- isometry_equiv.fun_unique ι α = {to_equiv := equiv.fun_unique ι α _inst_4, isometry_to_fun := _}
pi_fin_two_equiv
as an isometry_equiv
.
Equations
- isometry_equiv.pi_fin_two α = {to_equiv := pi_fin_two_equiv α, isometry_to_fun := _}
An isometry induces an isometric isomorphism between the source space and the range of the isometry.
Equations
- h.isometry_equiv_on_range = {to_equiv := equiv.of_injective f _, isometry_to_fun := _}