Dilation equivalence #
In this file we define DilationEquiv X Y
, a type of bundled equivalences between X
and Ysuch that
edist (f x) (f y) = r * edist x yfor some
r : ℝ≥0,
r ≠ 0`.
We also develop basic API about these equivalences.
TODO #
- Add missing lemmas (compare to other
*Equiv
structures). - [after-port] Add
DilationEquivInstance
forIsometryEquiv
.
Typeclass saying that F
is a type of bundled equivalences such that all e : F
are
dilations.
Instances
Type of equivalences X ≃ Y
such that ∀ x y, edist (f x) (f y) = r * edist x y
for some
r : ℝ≥0
, r ≠ 0
.
- toFun : X → Y
- invFun : Y → X
- left_inv : Function.LeftInverse self.invFun self.toFun
- right_inv : Function.RightInverse self.invFun self.toFun
Instances For
Type of equivalences X ≃ Y
such that ∀ x y, edist (f x) (f y) = r * edist x y
for some
r : ℝ≥0
, r ≠ 0
.
Equations
- «term_≃ᵈ_» = Lean.ParserDescr.trailingNode `«term_≃ᵈ_» 25 25 (Lean.ParserDescr.binary `andthen (Lean.ParserDescr.symbol " ≃ᵈ ") (Lean.ParserDescr.cat `term 26))
Instances For
Equations
- DilationEquiv.instEquivLike = { coe := fun (f : X ≃ᵈ Y) => ⇑f.toEquiv, inv := fun (f : X ≃ᵈ Y) => ⇑f.symm, left_inv := ⋯, right_inv := ⋯, coe_injective' := ⋯ }
Inverse DilationEquiv
.
Equations
- e.symm = { toEquiv := e.symm, edist_eq' := ⋯ }
Instances For
See Note [custom simps projection].
Equations
- DilationEquiv.Simps.symm_apply e = ⇑e.symm
Instances For
Identity map as a DilationEquiv
.
Equations
- DilationEquiv.refl X = { toEquiv := Equiv.refl X, edist_eq' := ⋯ }
Instances For
Composition of DilationEquiv
s.
Equations
- e₁.trans e₂ = { toEquiv := e₁.trans e₂.toEquiv, edist_eq' := ⋯ }
Instances For
Equations
Dilation.ratio
as a monoid homomorphism.
Equations
- DilationEquiv.ratioHom = { toFun := Dilation.ratio, map_one' := ⋯, map_mul' := ⋯ }
Instances For
DilationEquiv.toEquiv
as a monoid homomorphism.
Equations
- DilationEquiv.toPerm = { toFun := fun (e : X ≃ᵈ X) => e.toEquiv, map_one' := ⋯, map_mul' := ⋯ }
Instances For
Every isometry equivalence is a dilation equivalence of ratio 1
.
Equations
- e.toDilationEquiv = { toEquiv := e.toEquiv, edist_eq' := ⋯ }
Instances For
Reinterpret a DilationEquiv
as a homeomorphism.
Equations
- e.toHomeomorph = { toEquiv := e.toEquiv, continuous_toFun := ⋯, continuous_invFun := ⋯ }