Zulip Chat Archive
Stream: general
Topic: Dual of is_filtered_or_empty_of_directed_order
Yaël Dillies (Jan 04 2022 at 14:59):
@Adam Topaz, @Kyle Miller, what is the dual lemma to
@[priority 100]
instance is_filtered_or_empty_of_directed_order
(α : Type u) [directed_order α] : is_filtered_or_empty α :=
{ cocone_objs := λ X Y, let ⟨Z,h1,h2⟩ := directed_order.directed X Y in
⟨Z, hom_of_le h1, hom_of_le h2, trivial⟩,
cocone_maps := λ X Y f g, ⟨Y, 𝟙 _, by simp⟩ }
you were hinting at? I'm in a position to prove it at branch#directed_mixin.
Yaël Dillies (Jan 04 2022 at 15:01):
Mostly, I don't know where you want the duals/opposites to be inserted.
Adam Topaz (Jan 04 2022 at 15:30):
is_cofiltered_of_empty_of_codirected_order
?
Adam Topaz (Jan 04 2022 at 15:30):
(sorry)
Yaël Dillies (Jan 04 2022 at 15:31):
Oh, is_cofiltered
is a thing!
Yaël Dillies (Jan 04 2022 at 15:31):
Sorry, category theory newbie :sweat_smile:
Adam Topaz (Jan 04 2022 at 15:31):
At some point, I (and some other people) tried dualizing these results with bad results: #7980
I hope the mixin approach will resolve these issues -- I guess we'll see!
Yaël Dillies (Jan 04 2022 at 15:33):
Directed orders are barely used (less than 40 times) and they don't neatly fit in the hierarchy. Further, the mixin is Prop-valued. So I think it's all benef!
Yaël Dillies (Jan 04 2022 at 15:33):
Yeah, the full history is #7163, #7980, #9200 I think.
Adam Topaz (Jan 04 2022 at 15:34):
Looks like a graveyard of abandoned PRs...
David Wärn (Jan 04 2022 at 15:38):
What's the point of this lemma? It seems to encourage using 'wrong' definitions. The 'correct' definition of directed order should include nonempty α
(then every finset has an upper bound, not only nonempty finsets), just like is_filtered
does
Adam Topaz (Jan 04 2022 at 15:43):
Are you suggesting that the definition docs#directed_order should be changed?
Yaël Dillies (Jan 04 2022 at 15:45):
directed_order α
wasn't including nonempty α
, so I'm playing it conservative. My point with #11238 is really to turn from an extends to a mixin.
Yaël Dillies (Jan 04 2022 at 15:47):
If you really want is_directed α
to include nonempty α
, we can consider this in a followup PR. But I'm already noting that this would break away from the other unbundled relation classes.
David Wärn (Jan 04 2022 at 15:53):
Ok, I guess my question is orthogonal to this PR. I don't know if the definition of directed_order
needs to change (you can still use it as [directed_order A] [nonempty A]
), but it could maybe be renamed to 'predirected' in line with is_preconnected
.
Yaël Dillies (Jan 04 2022 at 15:54):
Yes, this sounds more reasonable already :smile:
Yaël Dillies (Jan 05 2022 at 15:14):
This change is really doomed. There is random stuff breaking...
Yaël Dillies (Jan 05 2022 at 17:33):
Which pair of lemmas do you prefer?
lemma exists_ge_ge [has_le α] [is_directed α (≤)] (a b : α) : ∃ c, a ≤ c ∧ b ≤ c :=
lemma exists_le_le [has_le α] [is_directed α (swap (≤))] (a b : α) : ∃ c, c ≤ a ∧ c ≤ b :=
-- or
lemma exists_ge_ge [has_le α] [is_directed α (≤)] (a b : α) : ∃ c, a ≤ c ∧ b ≤ c :=
lemma exists_le_le [has_le α] [is_directed α (≥)] (a b : α) : ∃ c, c ≤ a ∧ c ≤ b :=
Last updated: Dec 20 2023 at 11:08 UTC