-
Notifications
You must be signed in to change notification settings - Fork 297
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] - refactor(topology/subset_properties): more properties of compact_covering
#6328
Conversation
Also add some supporting lemmas
…space` Also golf the proof of `is_compact.elim_finite_subcover_image`
🎉 Great news! Looks like all the dependencies have been resolved:
💡 To add or remove a dependency please update this issue/PR description. Brought to you by Dependent Issues (:robot: ). Happy coding! |
Edit -- I read your definition more closely, I see that your definition does not always have the "closure subset interior" property, so my suggestion was wrong. But how about adding the definition def compact_exhaustion (K : ℕ → set α) : Prop := (∀ n, is_compact (K n)) ∧
(∀ n, K n ⊆ interior (K (n + 1))) ∧ (⋃ n, K n) = univ (probably as a structure), and separately changing the definition of |
Also, is |
You're right, it's easier to have two definitions. Modified. |
Seems to be true but I'm not sure that this is useful for golfing proofs. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! This review is mostly docstring suggestions, feel free to take or leave. (I made a rough edit of the PR comment, too.)
Co-authored-by: hrmacbeth <25316162+hrmacbeth@users.noreply.github.com>
I have a question about strategy. You could have made a definition structure compact_exhaustion :=
(K : ℕ → set α)
(compact : ∀ n, is_compact (K n))
(monotone : ∀ n, K n ⊆ interior (K (n + 1)))
(union : (⋃ n, K n) = univ) (or some variant, eg an unbundled version structure is_compact_exhaustion (K : ℕ → set α) : Prop :=
(compact : ∀ n, is_compact (K n))
(monotone : ∀ n, K n ⊆ interior (K (n + 1)))
(union : (⋃ n, K n) = univ) ) and then proved the lemmas such as |
The main reason is that we have only two lemmas not included in the definition, and they follow from UPD: it seems that some proofs i #6395 can be golfed using |
…ity/mathlib into compact-covering
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
bors d+
Thank you for adding the compact_exhaustion
structure!
If the linter is happy, feel free to merge.
src/topology/subset_properties.lean
Outdated
topological space is a sequence of compact sets `K n` such that `K n ⊆ interior (K (n + 1))` and | ||
`(⋃ n, K n) = univ`. | ||
|
||
If `X` is a locally compact sigma compact space, then `compact_exhaustion.some X` provides a choice |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
If `X` is a locally compact sigma compact space, then `compact_exhaustion.some X` provides a choice | |
If `X` is a locally compact sigma compact space, then `compact_exhaustion.choice X` provides a choice |
(I don't have an opinion on whether it's better to use some
or choice
, but I think you use choice
below.)
def compact_covering : ℕ → set α := | ||
classical.some exists_compact_covering | ||
accumulate exists_compact_covering.some |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you need the monotonicity of the general compact covering, now that you have a separate construction of compact exhaustion in the locally compact case? You could revert the edits here and on the next two lemmas. But on the other hand, it does no harm and might be useful at some point, so if you want to leave it, that's also fine with me.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would prefer to leave accumulate
here because the new definition is at least as useful as the old one.
✌️ urkud can now approve this pull request. To approve and merge a pull request, simply reply with |
bors merge |
…ering` (#6328) Modify the definition of `compact_covering α n` to ensure that it is monotone in `n`. Also, in a locally compact space, prove the existence of a compact exhaustion, i.e. a sequence which satisfies the properties for `compact_covering` and in which, moreover, the interior of the next set includes the previous set.
Pull request successfully merged into master. Build succeeded: |
compact_covering
compact_covering
…ering` (#6328) Modify the definition of `compact_covering α n` to ensure that it is monotone in `n`. Also, in a locally compact space, prove the existence of a compact exhaustion, i.e. a sequence which satisfies the properties for `compact_covering` and in which, moreover, the interior of the next set includes the previous set.
Modify the definition of
compact_covering α n
to ensure that it is monotone inn
.Also, in a locally compact space, prove the existence of a compact exhaustion, i.e. a sequence which satisfies the properties for
compact_covering
and in which, moreover, the interior of the next set includes the previous set.exists_compact_superset
, drop assumptiont2_space
#6327