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
refactor(order/complete_lattice): ditch complete_semilattice_Inf
and complete_semilattice_Sup
#14863
Conversation
Note, we do not need to delete them to remove them from the typeclass hierarchy. You can consider them as alternative constructors and simply not give them any instance nor lemmas. |
I do think it's best to remove them, so that nobody gets the wrong impression that these are useful standalone typeclasses. The |
Well no, because it uses |
|
Filling in |
If this is the problem, then I could just separate the hypotheses. But what's the point of even having the
|
Assuming there's situations where proving |
These were added in #6797 by @semorrison. I wouldn't delete them without his approval. As for |
I would like to mention that Scott has been quite silent these past few weeks. I can wait, though I do plan to keep refactoring this and adjacent files, and might eventually cause trouble. |
(set_lintegral_congr_fun hm | ||
(ae_of_all _ (λ x, @max_eq_right ℝ≥0∞ _ _ _))) | ||
(set_lintegral_congr_fun hm.compl | ||
(ae_of_all _ (λ x (hx : ¬ _ ≤ _), max_eq_left (not_le.1 hx).le))) |
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.
Why did you need this change?
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 have no idea, all I know is the code broke. To be fair, this was quite a nontrivial def-eq.
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 hope that #15056 will fix this. I'll try to make it compile tonight.
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.
Could you please merge master and see whether you still need this change?
|
||
top := (⊤ : outer_measure α).to_measure (by rw [outer_measure.top_caratheodory]; exact le_top), | ||
bot_le := λ a s hs, bot_le, | ||
top := (⊤ : outer_measure α).to_measure $ by { rw outer_measure.top_caratheodory, exact le_top }, |
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 wonder why this no longer makes leanchecker
fail.
..group_topology.semilattice_inf, | ||
..complete_lattice_of_complete_semilattice_Inf _ } | ||
..group_topology.partial_order, | ||
..complete_lattice_of_Inf (group_topology α) $ λ S, ⟨ |
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.
Can you use is_glb.of_image
here?
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 don't think so. These lemmas aren't def-eq even if they're very similar, because one is about all topological spaces, while the other is about all group topologies.
Seems like this PR inadvertently undos @YaelDillies' refactor on |
These typeclasses are made entirely redundant by
complete_lattice
. They were only used to definecomplete_lattice
instances throughcomplete_lattice_of_complete_semilattice_Inf
andcomplete_lattice_of_complete_semilattice_Sup
, but this can more directly be done withcomplete_lattice_of_Inf
andcomplete_lattice_of_Sup
.Zulip