Uniform isomorphisms #
This file defines uniform isomorphisms between two uniform spaces. They are bijections with both
directions uniformly continuous. We denote uniform isomorphisms with the notation ≃ᵤ
.
Main definitions #
UniformEquiv α β
: The type of uniform isomorphisms fromα
toβ
. This type can be denoted using the following notation:α ≃ᵤ β
.
Uniform isomorphism between α
and β
- toFun : α → β
- invFun : β → α
- left_inv : Function.LeftInverse self.invFun self.toFun
- right_inv : Function.RightInverse self.invFun self.toFun
- uniformContinuous_toFun : UniformContinuous self.toFun
Uniform continuity of the function
- uniformContinuous_invFun : UniformContinuous self.invFun
Uniform continuity of the inverse
Instances For
Uniform isomorphism between α
and β
Equations
- «term_≃ᵤ_» = Lean.ParserDescr.trailingNode `term_≃ᵤ_ 25 25 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≃ᵤ ") (Lean.ParserDescr.cat `term 26))
Instances For
Inverse of a uniform isomorphism.
Equations
- UniformEquiv.symm h = { toEquiv := h.symm, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
See Note [custom simps projection]. We need to specify this projection explicitly in this case, because it is a composition of multiple projections.
Equations
Instances For
See Note [custom simps projection]
Equations
Instances For
Identity map as a uniform isomorphism.
Equations
- UniformEquiv.refl α = { toEquiv := Equiv.refl α, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
Composition of two uniform isomorphisms.
Equations
- UniformEquiv.trans h₁ h₂ = { toEquiv := h₁.trans h₂.toEquiv, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
A uniform isomorphism as a homeomorphism.
Equations
- UniformEquiv.toHomeomorph e = let __src := e.toEquiv; { toEquiv := __src, continuous_toFun := ⋯, continuous_invFun := ⋯ }
Instances For
Change the uniform equiv f
to make the inverse function definitionally equal to g
.
Equations
- UniformEquiv.changeInv f g hg = let_fun this := ⋯; { toEquiv := { toFun := ⇑f, invFun := g, left_inv := ⋯, right_inv := ⋯ }, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
Uniform equiv given a uniform embedding.
Equations
- UniformEquiv.ofUniformEmbedding f hf = { toEquiv := Equiv.ofInjective f ⋯, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
If two sets are equal, then they are uniformly equivalent.
Equations
- UniformEquiv.setCongr h = { toEquiv := Equiv.setCongr h, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
Product of two uniform isomorphisms.
Equations
- UniformEquiv.prodCongr h₁ h₂ = { toEquiv := Equiv.prodCongr h₁.toEquiv h₂.toEquiv, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
α × β
is uniformly isomorphic to β × α
.
Equations
- UniformEquiv.prodComm α β = { toEquiv := Equiv.prodComm α β, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
(α × β) × γ
is uniformly isomorphic to α × (β × γ)
.
Equations
- UniformEquiv.prodAssoc α β γ = { toEquiv := Equiv.prodAssoc α β γ, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
α × {*}
is uniformly isomorphic to α
.
Equations
- UniformEquiv.prodPunit α = { toEquiv := Equiv.prodPUnit α, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
{*} × α
is uniformly isomorphic to α
.
Equations
Instances For
Equiv.piCongrLeft
as a uniform isomorphism: this is the natural isomorphism
Π i, β (e i) ≃ᵤ Π j, β j
obtained from a bijection ι ≃ ι'
.
Equations
- UniformEquiv.piCongrLeft e = { toEquiv := Equiv.piCongrLeft β e, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
Equiv.piCongrRight
as a uniform isomorphism: this is the natural isomorphism
Π i, β₁ i ≃ᵤ Π j, β₂ i
obtained from uniform isomorphisms β₁ i ≃ᵤ β₂ i
for each i
.
Equations
- UniformEquiv.piCongrRight F = { toEquiv := Equiv.piCongrRight fun (i : ι) => (F i).toEquiv, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
Equiv.piCongr
as a uniform isomorphism: this is the natural isomorphism
Π i₁, β₁ i ≃ᵤ Π i₂, β₂ i₂
obtained from a bijection ι₁ ≃ ι₂
and isomorphisms
β₁ i₁ ≃ᵤ β₂ (e i₁)
for each i₁ : ι₁
.
Equations
Instances For
Uniform equivalence between ULift α
and α
.
Equations
- UniformEquiv.ulift α = let __src := Equiv.ulift; { toEquiv := __src, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
If ι
has a unique element, then ι → α
is uniformly isomorphic to α
.
Equations
- UniformEquiv.funUnique ι α = { toEquiv := Equiv.funUnique ι α, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
Uniform isomorphism between dependent functions Π i : Fin 2, α i
and α 0 × α 1
.
Equations
- UniformEquiv.piFinTwo α = { toEquiv := piFinTwoEquiv α, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
Uniform isomorphism between α² = Fin 2 → α
and α × α
.
Equations
- UniformEquiv.finTwoArrow α = let __src := UniformEquiv.piFinTwo fun (x : Fin 2) => α; { toEquiv := finTwoArrowEquiv α, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
A subset of a uniform space is uniformly isomorphic to its image under a uniform isomorphism.
Equations
- UniformEquiv.image e s = { toEquiv := Equiv.image e.toEquiv s, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }
Instances For
A uniform inducing equiv between uniform spaces is a uniform isomorphism.
Equations
- Equiv.toUniformEquivOfUniformInducing f hf = { toEquiv := f, uniformContinuous_toFun := ⋯, uniformContinuous_invFun := ⋯ }