Category Theory II 5.1: Yoneda Embedding

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

As I saw more lectures about category theory I felt it was too complicated to me but this lecture put everything together and I finally understood all this concepts. Thank you!

alomirk
Автор

A little sidenote : when translating [C, Set](C(a, _), F) ~=~ Fa in Haskell as for-all x. (a -> x) -> f x, one uses the same symbol -> for both the arrows of C : C(a, x) ~=~ a -> x and for the collection of arrows of Set : C(a, x) -> Fx, defined at each x by a chosen natural transformation in [C, Set](C(a, _), F),  which is only possible because we use C=Set (or more precisely, Hask, where the objects are haskell types and not just any set), so that it's an _application_ of the yoneda lemma, and not a translation. (being able to manipulate arrows in different categories - not just Set - directly in haskell syntax would be great..). Feel free to correct if I got some stuff wrong

nrolland
Автор

OMG this lecture finally made the Yoneda lemma click for me. Thanks!

marcusklaas
Автор

Bartosz, at 31:05 I believe you are drawing arrows from objects in C to the wrong hom-sets in [C, Set]. You have b going to C(a, -) and a going to C(b, -), but it should be the other way around. You have it the right way around in your book.

qseep
Автор

Someday I hope to show you the magic trick I created from this lecture with a fairly shuffled deck of Clue cards that I never touch and only get glimpses of a few cards. Essentially, inverse equivoque.

ardiris
Автор

40:13 I think there is a mistake here. u after w is id on a, but w after u is id on b, so they are not equal in general case

skibaa
Автор

So, if I understand correctly, I can interpret Yoneda as saying that THE ONLY WAY to implement a function with signature

(a -> x) -> f x

is by fmapping f a with (a -> x).

Is all of it "just" that?

jmgimeno
Автор

So there are just as many ways to swap apples with oranges a->x as there are "natural" ways to transform all possible apple swaps C(a, _) into orange swaps C(x, _)?

franks.
Автор

Really enjoy your book and video series. Thank you!
I am a little bit confused about preorder part at around 48'. when you talk about the hom set C(-, a) and C(-, b). There are two possibilities for each homset: either empty set 0 or singleton set 1. A morphism between these two homset has 4 possibilities:
id :: 0 -> 0
absurd :: 0 -> 1
id :: 1 -> 1
impossible:: 1 -> 0

I think the above id :: 0 -> 0 or id :: 1 -> 1 could not be called id as the first 0 has type forall x. x -> a, but the second 0 has type forall x. x -> b. They have different types. Not sure if my think is reasonable. Thanks!

ZhihongCheng
Автор

Just wanted to confirm (~ 36:00) when you drew the functors from a to C(b, -) and b to C(a, -), that it was the correct mapping (because contravariant?).

MegaBrownee
Автор

I think I get the main idea behind the Yoneda lemma, but still fail to see how a hom-functor can represent all the other functors in our category.
For example let us have a simple category:

C: a -> b -> c
And let's define a hom-functor for b:
C (b, -).
This functor has only one element in it - a morphism from b to c and our other morphism is completely forgotten! So how we possibly can define all other functors from it, if we don't have half of what we need?

rowanmorrison
Автор

Is there only one fully faithful embedding from C into [C, Set]? Let me be clear: I understand that a -> C(a, x) is a fully faithful functor from C -> [C, Set]. Now, is this the only fully faithful functor from C -> [C, Set]? In other words, how many "copies" of C are in [C, Set]?

veztron
Автор

Hang on a sec. If we implement, say, an asynchronous Http request as a continuation in this yoneda style, that's not actually a pure function. When the backing code makes the request, the other server is in charge of what the result is, and can change it between requests. On top of that, there's only one natural transformation (the one that makes the http request and applies the continuation), not one for every possible HTTP response.

Heck, even callback-oriented user input via continuation passing fails to be pure as long as our user gives us different input.

timh.
Автор

Hi, and thank you for sharing these very helpful lectures,
I am a little confused by the terminology "natural isomorphism" between the two sides of Yoneda lemma equation. A natural isomorphism isn't a special case of invertible natural transformation ? And then shouldn't it be defined between objects in the same category ?
Or, since it is between hom-sets, is it a set-theoretical bijection, which turns to be a natural iso in Set ? This is the way I understand it but at this points I have some doubts about my understanding…

jacquesspam
Автор

Around minute 7 you write the Yoneda Lemma as
[C, Set](C(a, -), F) ~ F(A)
and that this is written in Haskell as
forall x . ( a -> x) -> Fx ~ Fa
So I thought I'd try it out with something simple, say a = 2 and F = Opt and I could try x as 1
(2 -> 1) -> F1 ~ F2
now there is only 1 function from 2 -> 1 called ! and there are only two members of F1 namely { Some(*), None } (Scala way)
so there can only be two functions from ! to F1. But this should be isomorphic to F2 = { Some(1), Some(0), None } which contains three elements.

My guess is that natural transformations are families of morphisms. Between two objects it can happen that two natural transformations my cover the same function.

cooperating.systems
Автор

It seems that the analogy to high school algebra does not work for the Yoneda lemma of the identity functor. Because (a -> x) -> x ≈ a would imply that (x ^ (x ^ a)) = a. Why does the equivalence not apply in this case?

spherinder
Автор

since the list functor isn't representable, can't you just go
alpha :: (a -> x) -> [x]

alpha _ = []

jonathanmoregard
Автор

The (co)Yoneda lemma reminds me of getters/setters.

AnarchoAmericium
visit shbcf.ru