@@ -89,6 +89,8 @@ def Simps.symm_apply (e : X ≃ᵈ Y) : Y → X := e.symm
8989
9090initialize_simps_projections DilationEquiv (toFun → apply, invFun → symm_apply)
9191
92+ lemma ratio_toDilation (e : X ≃ᵈ Y) : ratio e.toDilation = ratio e := rfl
93+
9294/-- Identity map as a `DilationEquiv`. -/
9395@[simps! (config := .asFn) apply]
9496def refl (X : Type *) [PseudoEMetricSpace X] : X ≃ᵈ X where
@@ -176,6 +178,46 @@ def toPerm : (X ≃ᵈ X) →* Equiv.Perm X where
176178theorem coe_pow (e : X ≃ᵈ X) (n : ℕ) : ⇑(e ^ n) = e^[n] := by
177179 rw [← coe_toEquiv, ← toPerm_apply, map_pow, Equiv.Perm.coe_pow]; rfl
178180
181+ -- TODO: Once `IsometryEquiv` follows the `*EquivClass` pattern, replace this with an instance
182+ -- of `DilationEquivClass` assuming `IsometryEquivClass`.
183+ /-- Every isometry equivalence is a dilation equivalence of ratio `1`. -/
184+ def _root_.IsometryEquiv.toDilationEquiv (e : X ≃ᵢ Y) : X ≃ᵈ Y where
185+ edist_eq' := ⟨1 , one_ne_zero, by simpa using e.isometry⟩
186+ __ := e.toEquiv
187+
188+ @[simp]
189+ lemma _root_.IsometryEquiv.toDilationEquiv_apply (e : X ≃ᵢ Y) (x : X) :
190+ e.toDilationEquiv x = e x :=
191+ rfl
192+
193+ @[simp]
194+ lemma _root_.IsometryEquiv.toDilationEquiv_symm (e : X ≃ᵢ Y) :
195+ e.toDilationEquiv.symm = e.symm.toDilationEquiv :=
196+ rfl
197+
198+ @[simp]
199+ lemma _root_.IsometryEquiv.toDilationEquiv_toDilation (e : X ≃ᵢ Y) :
200+ (e.toDilationEquiv.toDilation : X →ᵈ Y) = e.isometry.toDilation :=
201+ rfl
202+
203+ @[simp]
204+ lemma _root_.IsometryEquiv.toDilationEquiv_ratio (e : X ≃ᵢ Y) : ratio e.toDilationEquiv = 1 := by
205+ rw [← ratio_toDilation, IsometryEquiv.toDilationEquiv_toDilation, Isometry.toDilation_ratio]
206+
207+ /-- Reinterpret a `DilationEquiv` as a homeomorphism. -/
208+ def toHomeomorph (e : X ≃ᵈ Y) : X ≃ₜ Y where
209+ continuous_toFun := Dilation.toContinuous e
210+ continuous_invFun := Dilation.toContinuous e.symm
211+ __ := e.toEquiv
212+
213+ @[simp]
214+ lemma coe_toHomeomorph (e : X ≃ᵈ Y) : ⇑e.toHomeomorph = e :=
215+ rfl
216+
217+ @[simp]
218+ lemma toHomeomorph_symm (e : X ≃ᵈ Y) : e.toHomeomorph.symm = e.symm.toHomeomorph :=
219+ rfl
220+
179221end PseudoEMetricSpace
180222
181223section PseudoMetricSpace
0 commit comments