feat(Order/ConditionallyCompleteLattice): ConditionallyCompleteSemiLatticeInf#38192
feat(Order/ConditionallyCompleteLattice): ConditionallyCompleteSemiLatticeInf#38192Jun2M wants to merge 4 commits intoleanprover-community:masterfrom
Conversation
|
This pull request is now in draft mode. No active bors state needed cleanup. While this PR remains draft, bors will ignore commands on this PR. Mark it ready for review before using commands like |
PR summary 9036ce5439Import changes for modified filesNo significant changes to the import graph Import changes for all files
|
vihdzp
left a comment
There was a problem hiding this comment.
The design looks reasonable to me, but do you have any examples of structures that would fit these instances?
| complete lattices, we prefix `sSup` by a `c` everywhere. The same statements should | ||
| hold in both worlds, sometimes with additional assumptions of nonemptiness or | ||
| boundedness. -/ | ||
| class ConditionallyCompleteSemiLatticeSupBot (α : Type*) extends |
There was a problem hiding this comment.
You could get rid of this by adding a requirement to conditionally complete (semi)lattices that if they have a bottom/top, then the supremum/infimum of the empty set equals to it. I think that'd be a worthwhile refactor which can be done independently of adding these semilattice instances.
There was a problem hiding this comment.
I am not quite sure how I can say in Lean "if there is bottom/top, so and so is true". Could you spell out exactly what you are thinking?
There was a problem hiding this comment.
IsBot x -> sSup \empty = x
|
Ah, this is for graphs. You know, surreals under the simplicity ordering also satisfy this typeclass but not |
|
@vihdzp, Could I ask for some help with making |
| /-- Every nonempty subset which is bounded above has a least upper bound. -/ | ||
| isLUB_csSup : ∀ s : Set α, s.Nonempty → BddAbove s → IsLUB s (sSup s) | ||
| /-- If the lattice has a bottom element, then `sSup ∅` is the bottom element. -/ | ||
| csSup_empty : ∀ ⦃x⦄, IsBot x -> sSup ∅ = x |
There was a problem hiding this comment.
I'd like to see this change done in a preliminary PR, which would also deprecate ConditionallyCompleteSemilatticeSupBot.
There was a problem hiding this comment.
I've opened a Zulip thread to double-check that this is a good idea.
I encountered another one, the |
This PR introduces
ConditionallyCompleteSemilatticeSup/Inf, Sup/Inf only versions ofConditionallyCompleteLattice.This is a preliminary PR for #37620, showing that
Graphforms aConditionallyCompleteSemilatticeInf.