Zulip Chat Archive
Stream: new members
Topic: has_binary_products etc.
Markus Himmel (Mar 12 2020 at 15:27):
What is the intended way to instantiate has_binary_products
for some specific category? In my case it is easy to instantiate has_limit (pair X Y)
for all objects X
and Y
(using binary_fan
etc.), but to then give an instance of has_limits_of_shape (discrete walking_pair)
it is required to know that for all F : discrete walking_pair ⥤ C
we have F = pair (F.obj walking_pair.left) (F.obj walking_pair.right)
, which is not hard to show using functor.ext
, but I am wondering whether this is really the intended way to provide an instance of has_binary_products
. One could of course work with F
directly, but then you don't get useful tools like binary_fan.mk
. The same question applies to has_equalizers
(but not to has_kernels
, which is directly defined via has_limit (parallel_pair f 0)
).
Johan Commelin (Mar 12 2020 at 15:31):
Equality of functors is discouraged. But I think there is something like has_limit_of_iso
, and F \iso pair (F.. left) (F.. right)
seems like a useful fact to me.
Johan Commelin (Mar 12 2020 at 15:31):
Gluing those together is hopefully not a problem. But @Scott Morrison has a better overview then I do.
Scott Morrison (Mar 12 2020 at 15:33):
Yes, this is a wobbly part of the API still. :-(
Scott Morrison (Mar 12 2020 at 15:33):
Have you had a look at my WIP PR #1622?
Scott Morrison (Mar 12 2020 at 15:35):
I'd definitely avoid using functor.ext
, it will come back and bite you later, I suspect.
Scott Morrison (Mar 12 2020 at 15:36):
But maybe providing a generic function for upgrading has_limit (pair X Y)
for all X and Y into a has_limits_of_shape (discrete walking_pair)
would be a good addition to the library? (Using transport along the natural isomorphism, as Johan sketched.)
Markus Himmel (Mar 12 2020 at 15:43):
Using a natural isomorphism sounds good, I'll look into it.
Last updated: Dec 20 2023 at 11:08 UTC