Category Theory 7.1: Functoriality, bifunctors

preview_player
Показать описание
Functoriality, bifunctors
Рекомендации по теме
Комментарии
Автор

Just wanted to let you know Bartosz that I'm binge watching this Category Theory playlist and I'm loving it.

I studied Calculus, Algebra, set theory, etc a lot of time ago and have forgotten more than I can remember. I tried to read academic material on Category Theory and struggled with the notation, I can't read those anymore.

Your lectures, while being extremely fun, bridge the gap between every day working man and mathematics bureaucracy and that's extremely refreshing.
What's more important is that I'm actually learning what you're teaching and I also feel confident again to go back to math books and try to decode them hehe.

Thanks a lot for putting these lectures up.

driden
Автор

Great work, thanks for sharing. This one was the most difficult to get an intuition for.

vvviiimmm
Автор

Still struggling to grasp how educationally great his lectures are. He's touching previously learned concepts every once in a while, reinforcing material and using great metaphors easing their understanding and memorization. There is a great social connection to the lecturer (eye contact, gestures, mimics, interactions) making it effortless to listen & keep paying attention naturally.

All in all making it soo easy to learn the topic everyone here has been procastinating along for years to morning in bed sessions with coffee, better morning entertainment, thank you :D
P.S. you should start selling some cool minimalistic category-theory / FP tshirts :D

homo-sapiens-dubium
Автор

so...
Maybe is a Functor
List is a Functor
Tuple is a Bifunctor

is Triple (a, b, c) a Trifunctor then?

Yetipfote
Автор

It's interesting that in programming the bifunctor was described as CxC -> C and NOT CxC -> CxC. Because at first glance the result also looks like a cartesian product. And in haskell bimap is (a -> b) -> (c -> d) -> p a c -> p b d. p a c -> p b d seems to correspond to CxC -> CxC at first glance. But I guess it is not necessarily because the two functions might not produce all possible values, therefore we are not guarnteed to have a cartesian product of all possible types in the category. There could be pairs of functions (both completely surjective over C) that map CxC-> CxC, but a bifunctor is open to all kinds of functions that don't output the whole of C in their codomain. Therefore we have to describe the bifunctor in programming as CxC -> C. Is this correct?

lingdocs
Автор

Around the 29:30 mark: The emphasis on smallness is not necessary and, in my opinion, in fact confusing. It really doesn't matter in this case whether the category is small or not. "It's not difficult, because objects form sets, " Bartosz says at some point. Well, while this statement in itself is not false (because indeed it is not difficult), it is misleading, because the construction *in general* is not difficult. So my point is that the continued emphasis on smallness is unnecessary.

Anyway, great lectures, keep up the good work!

ADDENDUM: In general, in category any talk regarding set-theoretic structure should be kept at a minimum, in my view. Going into subtleties regarding set theory only leads astray, and away from the point of category theory. (Obviously, Bartosz knows this, and explains all of this thoroughly throughout all of his excellent lectures.)

JoopWilkens
Автор

Hey Bartosz, I have a question. If we have objects c and d from different categories C and D, can they still have a product? By definition, I don't think so. But if you have a product category E=C×D, then we can forget about universal constructions and say the object (c, d) in E is the product of c and d. Is that right?

shuhengliu
Автор

So there must be such a thing as a "cobifunctor" from E -> C x D or C -> CxC, right? And if so is it useful at all in programming?

MegaFonebone
Автор

this is probably a stupid question but why do we need bifunctors in the first place? I mean we can curry stuff (eg like in the Reader functor), isn't that enough?

eastquack
Автор

So if I'm understanding correctly, at the end you showed how the categorical product could map a morphism from CxC to C, but you didn't show that the morphism mapping preserves composition (fxg . f'xg') = (f.f' x g.g')?

BrianZhangOfficial
Автор

Why do arrows between two objects always form a set?

ПетяТабуреткин-вт
Автор

Great lecture!
I'm wondering why the type of 'mis' is Maybe [Int] instead of [Maybe Int] (in the 17th minute) ?

jiaweiwang
Автор

Closer to the end of the lecture we say that (a, b) is a member of CxC and axb is a member of C so that (a, b) -> axb. How are the notions of the product written as (a, b) and axb different? Thank you!

ilyamurashov
Автор

Is the maintaining of structure a property required to define a functor, or having a functor between two categories must maintain the structure because it "propagates" the first category's structure into the second?

nvpable
Автор

In a Cartesian Closed Category, isn't this bifunctor just a regular (endo)functor? Since C x C is itself an object in C?

mpt
Автор

how could we define the zip and unzip functions in therms of category theory?

eduardorabelo
Автор

I was curious, does Cat have product and how is it related to the product of two categories?

konstantinskachkov
Автор

I have a question. For a product category CxD to be possible, do C and D have to be isomorphic in their arrangements of objects and homsets? Because it seems like C, D, and CxD all have the same number of objects and homsets. So the objects in CxD aren't the products of *every* possible pair (c, d), but only of *corresponding* pairs, meaning that C and D have to be such that pairs of objects correspond 1:1. If each corresponding pair (c, d) is a pair of sets, then the corresponding object cxd is also a set, whose cardinality is the cardinality of c times the cardinality of d. Similarly, the cardinality of the homsets in CxD will be the cardinalities of the corresponding homsets multiplied together. Do I have the right idea? Edit: No I didn't O.o.

ShimshonDI
Автор

I remember you talked about thin/thick categories, and here you mention small/large categories. Are these the same?

ivcanet
Автор

I come from <Having no background at all> I decided to learn Fantasyland JS and implementing it in TypeScript like that for no specific reasons as part of my #100DaysOfCode and my god what a deep 🐇 🕳 if someone is able to help me my Twitter handle is @Luxcium as well as on GitHub!!!

Luxcium