[Merged by Bors] - feat(Topology/Homeomorph): add Equiv.IsHomeomorph_iff and LinearEquiv.IsHomeomorph_iff #38660
Conversation
Welcome new contributor!Thank you for contributing to Mathlib! If you haven't done so already, please review our contribution guidelines, as well as the style guide and naming conventions. In particular, we kindly remind contributors that we have guidelines regarding the use of AI when making pull requests. We use a review queue to manage reviews. If your PR does not appear there, it is probably because it is not successfully building (i.e., it doesn't have a green checkmark), has the If you haven't already done so, please come to https://leanprover.zulipchat.com/, introduce yourself, and mention your new PR. Thank you again for joining our community. |
PR summary 606efcb73eImport changes for modified filesNo significant changes to the import graph Import changes for all files
|
scholzhannah
left a comment
There was a problem hiding this comment.
Thank you for your PR!
Two general comments:
Could you move the first paragraph of your PR description above the line? That way it ends up in the commit.
Could you explain in more detail what you need this for? Typically you want to use IsHomeomorph when the inverse map isn't nice or easy to describe and otherwise use Homeomorph. It seems to me that if you already have an Equiv you should always be in the second case. Could you explain why it is more comfortable to use IsHomeomorph in your application?
I think the point here is that we have a criterion of the form "this property is satisfied iff a certain equiv is an homeomorphism". Of course we then bundle it to an |
|
Thanks for the review! I have moved the description paragraph. On the motivation: ADedecker captured the use case exactly. The pattern in #38547 is a criterion of the shape "the submodules |
|
-awaiting-author |
scholzhannah
left a comment
There was a problem hiding this comment.
Okay, thank you for explaining! This seems good to me then.
robin-carlier
left a comment
There was a problem hiding this comment.
Thanks!
maintainer merge
|
🚀 Pull request has been placed on the maintainer queue by robin-carlier. |
|
Thanks! bors merge |
….IsHomeomorph_iff (#38660) This PR adds two characterisations of `IsHomeomorph` for bundled equivalences. For a plain `Equiv` between topological spaces, `Equiv.isHomeomorph_iff` states that the equivalence is a homeomorphism if and only if it is continuous in both directions. The corresponding statement for a `LinearEquiv` between topological modules is added as `LinearEquiv.isHomeomorph_iff`, derived from the `Equiv` version.
|
Pull request successfully merged into master. Build succeeded: |
….IsHomeomorph_iff (leanprover-community#38660) This PR adds two characterisations of `IsHomeomorph` for bundled equivalences. For a plain `Equiv` between topological spaces, `Equiv.isHomeomorph_iff` states that the equivalence is a homeomorphism if and only if it is continuous in both directions. The corresponding statement for a `LinearEquiv` between topological modules is added as `LinearEquiv.isHomeomorph_iff`, derived from the `Equiv` version.
This PR adds two characterisations of
IsHomeomorphfor bundled equivalences. For a plainEquivbetween topological spaces,Equiv.isHomeomorph_iffstates that the equivalence is a homeomorphism if and only if it is continuous in both directions. The corresponding statement for aLinearEquivbetween topological modules is added asLinearEquiv.isHomeomorph_iff, derived from theEquivversion.The motivation comes from work on topological complements of submodules in PR #38547, where one wants to upgrade a
LinearEquivto aContinuousLinearEquivand the cleanest characterisation is in terms of continuity in both directions. The existing API offersisHomeomorph_iff_exists_inverse, but for equivalences this requires manually identifying the existential inverse withe.symm, which is unnecessarily indirect.