Lean4
/-- A uniform isomorphism `e : α ≃ᵤ β` lifts to subtypes `{ a : α // p a } ≃ᵤ { b : β // q b }`
provided `p = q ∘ e`. -/
@[simps!]
def subtype {p : α → Prop} {q : β → Prop} (e : α ≃ᵤ β) (h : ∀ a, p a ↔ q (e a)) : { a : α // p a } ≃ᵤ { b : β // q b }
where
uniformContinuous_toFun := by simpa [Equiv.coe_subtypeEquiv_eq_map] using e.uniformContinuous.subtype_map _
uniformContinuous_invFun := by simpa [Equiv.coe_subtypeEquiv_eq_map] using e.symm.uniformContinuous.subtype_map _
__ := e.subtypeEquiv h