Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Merged by Bors] - feat(topology/algebra/ordered): conditions for a strictly monotone function to be a homeomorphism #3843

Closed
wants to merge 7 commits into from

Conversation

hrmacbeth
Copy link
Member

@hrmacbeth hrmacbeth commented Aug 17, 2020

If a strictly monotone function between linear orders is surjective, it is a homeomorphism.

If a strictly monotone function between conditionally complete linear orders is continuous, and tends to +∞ at +∞ and to -∞ at -∞, then it is a homeomorphism.

Zulip discussion

Co-authored by: Yury Kudryashov urkud@ya.ru


Initially, I intended to prove these results in a relative form, using strict_mono_on and surj_on (for intervals).

It turned out much cleaner not to do them in relative form, and hopefully the interval versions can still be deduced from this version (using subtypes). Does mathlib have a conditionally_complete_linear_order instance for intervals in a conditionally_complete_linear_order? I looked but couldn't find one.

@hrmacbeth hrmacbeth added the awaiting-review The author would like community review of the PR label Aug 17, 2020
@hrmacbeth hrmacbeth changed the title Strict mono homeomorph feat(topology/algebra/ordered): conditions for a strictly monotone function to be a homeomorphism Aug 17, 2020
@ADedecker
Copy link
Member

This looks good to me. The only thing is I'm not sure about placing lemmas in a file just for the import, but it's up to maintainers to decide about this.

Copy link
Member

@urkud urkud left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for working on this! I left a few comments, otherwise LGTM.

src/data/set/intervals/basic.lean Show resolved Hide resolved
src/data/set/intervals/ord_connected.lean Outdated Show resolved Hide resolved
src/data/set/intervals/ord_connected.lean Outdated Show resolved Hide resolved
src/order/basic.lean Show resolved Hide resolved
src/topology/algebra/ordered.lean Show resolved Hide resolved
src/topology/algebra/ordered.lean Outdated Show resolved Hide resolved
src/topology/algebra/ordered.lean Show resolved Hide resolved
src/topology/algebra/ordered.lean Outdated Show resolved Hide resolved
@urkud
Copy link
Member

urkud commented Aug 18, 2020

Does mathlib have a conditionally_complete_linear_order instance for intervals in a conditionally_complete_linear_order? I looked but couldn't find one.

AFAIK, no. And it should be a complete_linear_order on Icc; note that it can't be an instance because it needs a ≤ b.

@urkud urkud added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Aug 18, 2020
@hrmacbeth
Copy link
Member Author

I made the changes from @urkud's review. In the meantime I noticed the existence of rel_embedding and rel_iso (and soon, from #3838, order_embedding and order_iso) -- which, if I understand correctly, are basically bundled versions of strict_mono and strict_mono + surjective. For consistency, wouldn't it be better to use just one of these forms?

I would be very happy to rewrite the relevant parts of this PR to use the bundled versions (maybe it's better to wait until #3838 is merged and use the new terminology). But @urkud (or others), please tell me what you think.

@hrmacbeth hrmacbeth added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Aug 19, 2020
src/data/set/function.lean Outdated Show resolved Hide resolved
src/data/set/intervals/surj_on.lean Outdated Show resolved Hide resolved
src/topology/algebra/ordered.lean Show resolved Hide resolved
@robertylewis robertylewis added awaiting-author A reviewer has asked the author a question or requested changes and removed awaiting-review The author would like community review of the PR labels Aug 22, 2020
@hrmacbeth hrmacbeth added awaiting-review The author would like community review of the PR and removed awaiting-author A reviewer has asked the author a question or requested changes labels Aug 24, 2020
@sgouezel
Copy link
Collaborator

Thanks!

bors r+

@github-actions github-actions bot added ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.) and removed awaiting-review The author would like community review of the PR labels Aug 26, 2020
bors bot pushed a commit that referenced this pull request Aug 26, 2020
…nction to be a homeomorphism (#3843)

If a strictly monotone function between linear orders is surjective, it is a homeomorphism.

If a strictly monotone function between conditionally complete linear orders is continuous, and tends to `+∞` at `+∞` and to `-∞` at `-∞`, then it is a homeomorphism.

[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there.20code.20for.20X.3F/topic/Order.20topology)

Co-authored by: Yury Kudryashov <urkud@ya.ru>



Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
@bors
Copy link

bors bot commented Aug 26, 2020

Pull request successfully merged into master.

Build succeeded:

@bors bors bot changed the title feat(topology/algebra/ordered): conditions for a strictly monotone function to be a homeomorphism [Merged by Bors] - feat(topology/algebra/ordered): conditions for a strictly monotone function to be a homeomorphism Aug 26, 2020
@bors bors bot closed this Aug 26, 2020
@bors bors bot deleted the strict-mono-homeomorph branch August 26, 2020 17:50
robertylewis pushed a commit that referenced this pull request Aug 31, 2020
…nction to be a homeomorphism (#3843)

If a strictly monotone function between linear orders is surjective, it is a homeomorphism.

If a strictly monotone function between conditionally complete linear orders is continuous, and tends to `+∞` at `+∞` and to `-∞` at `-∞`, then it is a homeomorphism.

[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there.20code.20for.20X.3F/topic/Order.20topology)

Co-authored by: Yury Kudryashov <urkud@ya.ru>



Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
PatrickMassot pushed a commit that referenced this pull request Sep 8, 2020
…nction to be a homeomorphism (#3843)

If a strictly monotone function between linear orders is surjective, it is a homeomorphism.

If a strictly monotone function between conditionally complete linear orders is continuous, and tends to `+∞` at `+∞` and to `-∞` at `-∞`, then it is a homeomorphism.

[Zulip discussion](https://leanprover.zulipchat.com/#narrow/stream/217875-Is-there.20code.20for.20X.3F/topic/Order.20topology)

Co-authored by: Yury Kudryashov <urkud@ya.ru>



Co-authored-by: sgouezel <sebastien.gouezel@univ-rennes1.fr>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge All that is left is for bors to build and merge this PR. (Remember you need to say `bors r+`.)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants