-
Notifications
You must be signed in to change notification settings - Fork 298
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(order/bounded_order): The lattice of complemented elements #16267
Conversation
This PR/issue depends on: |
src/order/bounded_order.lean
Outdated
@@ -1737,6 +1762,61 @@ instance : complemented_lattice αᵒᵈ := | |||
|
|||
end complemented_lattice | |||
|
|||
-- TODO: Define as a sublattice? |
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'm still not quite convinced that the predicate + subtype approach is the best way to go. Although dot notation is convenient, won't it cause a lot of annoyance transporting between is_complemented
and complementeds
, as it is already for is_unit
?
With this setup, we definitely need some explicit maps between complementeds
and is_complemented
, along the lines of what we have for units
and is_unit
.
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.
We now have quite a lot of experience with is_upper_set
/upper_set
, and it seems everything works smoothly. Of course there's some "morally duplicated" code, but IMO it's API making every use ever so less irritating.
I'm making complementeds
into a reducible def for now because I'm not expecting to have a heavy enough use of it to justify duplicating subtype
API.
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.
Thanks!
bors d+
✌️ YaelDillies can now approve this pull request. To approve and merge a pull request, simply reply with |
bors merge |
Define `complementeds`, the subtype of complemented elements, and show that it is a complemented bounded distributive lattice.
Pull request successfully merged into master. Build succeeded! The publicly hosted instance of bors-ng is deprecated and will go away soon. If you want to self-host your own instance, instructions are here. If you want to switch to GitHub's built-in merge queue, visit their help page. |
Define
complementeds
, the subtype of complemented elements, and show that it is a complemented bounded distributive lattice.is_complemented
tocomplemented_lattice
#16263This is pretty tautological in itself. The motivation is when we get to Heyting algebras, as then
complementeds
is the right adjoint to the forgetful functorBoolAlg ⥤ HeytAlg
.