This is pure gold! Thank you very much for sharing this amazing content. P.S.: I'm a software engineer in love with pragmatic functional programming.
@effy12192 жыл бұрын
as a programmer who likes abstract math, i enjoy this conversation with interviewer who is expertise at category and the host who could explain the topic by using a metaphor of interface in programming.
@paxdriver Жыл бұрын
~@1:25:00 the natural transformations example of currency conversion mapping to transactions between people made this concept FINALLY click for me!! Thank you so much, that was the best tag team walk through and all the preambulatory lead in was entirely necessary for me too lol. Great job you two, thank you very very much for the thorough whiteboarding it helps a ton.
@ua54532 жыл бұрын
This formalization seems oddly similar to initializing some ensemble on Fock space. Given Tai-Danae's work on generalizing entropy, I wonder if she's already made the connection (Edit: Yes she has, glad to know people are working on this!). I've seen a paper by Wang et al use Hilbert spaces for semantics and a lot of other work using category theory for semantics, but this was such a clean approach. I look forward to seeing her future applied category theory work (although most upper ontologies seem to run into the same problems these days). Thank you so much!
@alexandersanchez9138 Жыл бұрын
46:00 You guys left out the best part of this example; it turns out that the action of a [group, G] on a [[set]] (aka a G-set) is just a functor from the [group] regarded as a category, as in the example, to the category of [[set]]s! In particular, we can generalize this by changing the domain and codomain categories. In that sense, a functor is just "the action of a [category] on a [[category]]" (regarded as an object in CAT, the category of [[categorie]]s). Indeed, functors generalize the notion of group actions to an awesome extent, and allow/formalize profoundly concise and canonical-feeling definitions, like "a vector space is a field acting on an abelian group."
@CyberneticOrganism01 Жыл бұрын
That connection of NLP to a category is excellent. It shows where LLMs live in. I posited a similar categorification of LLMs based on symbolic logic. My morphisms are logical inferences. The composition of words / symbols is via (Cartesian) products in my case, which is also true in your case. But our mophisms are different ☺️
@mementomori89912 жыл бұрын
Love the conversation. Do more of these please!
@camellkachour4112Ай бұрын
Great job for both !
@jsmdnq2 жыл бұрын
The power of category theory is that it couples objects(placeholders/variables) with transformations/morphisms/functions on those objects. The morphisms are "first-class citizens" and, in some sense, are actually more important than objects(mainly because the morphisms must specify the objects so we don't need to be track objects explicitly). In any case, set theory only has objects and morphisms are something "outside" of sets. Recursion is, ultimately, what makes category theory powerful. With sets, we can have sets of sets(elements can be sets) but there is not a lot of power in this since we can't track, in the recursive process, how all those subsets of ... of subsets relate. Category theory solves this problem by "attaching" morphisms to the subjects so that when we recurse we can keep track of the morphisms. The power of category theory isn't so much the objects and morphisms... it's the fact that objects can be categories and so when we have categories of categories we have, in some sense morphisms of morphisms. By having such a structure that is very simple and so unconstrained it can represent a fast number of structures. By working on the recursive nature we can move to macro and micro views of that structure. So, in some sense, it gives us a sort of microscope in to structure allowing us to zoom in and out of different levels of the structure. Category theory establishes common patterns that show up in structure at different levels so that we have common features to recognize across many different scales of complexity. It is important that one realize, though, the only way to truly understand category theory is to learn it, and that is true of all things. One learns it and then has it as a tool. It is pointless to just know it is exists and have some extremely vague idea of what it might be. One should simply start learning it even if it is done very slowly and takes years so that one eventually gets the benefit of being able to use it to understand the world around them more easily.
@lfossati809 ай бұрын
Cool stuff! I wish there was a video like this when I did my PhD. At the time, MacLane’s book was pretty much my only resource (which is great, but you have to learn a whole bunch of other stuff first). QUESTION: Has there been any work done on quotienting L, to get a category whose objects are lexical categories (nouns, verbs, adjectives, etc…)?
@MichaelJonn2 жыл бұрын
So the way I’m understanding what category theory is, is sort of the inversion of how traditional mathematics is done. Whereas traditional mathematics is about first having these math objects, and then figuring out the relationships between them, and how they are connected, like the langlands program, category theory seems to be about first giving you the relations and connections, and asking you to figure out what types of math objects would actually fit between the relations.
@TimothyNguyen2 жыл бұрын
At least historically that is not how it happened. As we discuss, concrete examples coming from algebraic topology motivated the notions of category, functor, natural transformation, etc. So it was more bottom up than top down.
@jsmdnq2 жыл бұрын
Well, that is more how it was historically came about because, obviously, traditionally, mathematics started from the bottom up(and could not start any other way). As top notch mathematicians(people who learned many different areas of mathematics and hence had a high level view) started seeing the larger patterns they realized there was something more going on. Of course things don't evolve linearly. Category theory is simply a language(like everything) but it is unique type of language that attempts to codify all the main abstract tools that show up in/across mathematics in to a common language. Before functors were explicitly codified they were used, constantly. Functors are everywhere but before they sort of had different names. Same goes for many things. Many people use functors(the idea) in their life without realizing it. A musician uses a functor when he transposes a song to another key. An electrician uses a functor when he wires up an electrical box. A lawyer uses a functor when he applies case law. Basically it's like how many different languages have a name for apple... it doesn't change the apple but by having many different names it's hard for different people to realize they are all talking about the same thing. CT comes along and organizes structure in to a common framework where we can explicitly extract and generalize what mathematics are really doing. So what happens is when you learn CT theory is that you start thinking of things in terms of the parts of language that category theory has created. You start thinking how the structure you are "seeing" exists in terms of functions, functors, natural transformations, pullbacks, etc. Because these things are explicitly "structure" you'll see them in everything. It is really no different than how you know set theory and you can see set theory in everything. "everything is a set". Your laundry basket having clothes is a set, the clothes are the elements. Of course you don't, generally, think of it that why while doing your laundry but if you wanted to try to do math on your clothes you would probably start there. Of course a shirt could be thought of as a surface or volume and you could go do topology on it once you realize that a 3d space function(or 4d space-time function) can "represent" it. All of mathematics is representational as is all thinking(it's all about putting something in the right representation to "understand" and in some sense understanding is representation(although there might be something deeper going on it is at least this)). Category theory gives us a language to represent structure(all structure - things that are/can be composed and decomposed) and, while maybe there is or will be something better, is the "best we have" AFAIK. It focuses purely on structure and so doesn't have any preconceived notions(it does but compared to other things it's far less). Because of this it "unifies" almost everything in to a singular framework. That is, you can use the same concepts/words/ideas to talk about many different mathematical structures that have been created. Since a _____ is a category you can use the language of CT to describe _____ and use the already massive understanding of _____ to further understanding of CT. This makes CT very powerful because it can sort of hijack the man hours put in to other subjects to help expand it's understanding(this works at the individual level but also at everything higher). Category theory also seems to be analogous to how we conceptualize reality. We literally think in terms of "morphisms"(pointing at things) and "objects". This is how you teach kids. Hence the higher level concepts that are derived from a category("objects and arrows") such as adjoints, functor spaces, etc are "natural" because objects can be anything. That is, since we can have a recursive structure where each level is just a "set" with additional structure(a binary map) we can recurse/iterate this structure to get higher and higher level concepts and structures but still all just "objects and arrows". E.g., the simplest idea is "category of categories"(objects are categories) and then clearly or "morphisms" are going to be functors(or, obviously we can generate the concept of functor from the concept of category of categories). Basically it's all just "objects and morphisms" in it's most simplest form which is basically like "sets and functions"(which is pretty much most/all of math was built on) but it is a recodification of these ideas in to a more structured language. It's very much like, way, windows 95 vs windows 11. It's just a better way to do things. It's not all that different but the rough edges have been sanded down, mistakes have been fixed, convenience has increased, etc. It does require learning new things and at first might be a little confusing but once you learn enough of the basics you see it's not all that different. Sorta like learning a new language... sure you have to learn a lot of new words and such but at the end of the day it's still the same thing abstractly. What CT seems, AFAIK, to offer mathematicians is a unified way to look at structure. This doesn't seem like a big deal until you add in the recursive part(go look at fractals to get a sense of recursion, Categories are recursive structures). This allows you to, in some sense, treat very low level things just like very high level things and so acts like a microscope-telescope where you have a knob that lets you zoom to any level(the knob being the ease to switch between different "levels of complexity" and so it sort of takes the complexity out of the equation or changes the focus of complexity to something else(which a new "theory" might be required to deal with)). Hence, conceptually, category theory lets us look at things from the bottom up and top down and everything in between all using one way of thinking(more or less). This doesn't mean CT will replace all mathematics. Too much time has been put in to different fields and developed them to degree's that, if CT had reinvent would make it extremely bulk and complex as a language which would start to obscure it's power(which may be true in general). Currently what seems to be/have been the main use of category theory is. 1. You have something in some field that you recognize as a concept in CT. 2. You then translate it in to CT. 3. Because 1 has already happened, generally, for many common areas you get to use those translations to then translate back their concepts: E.g., Algebraic Topology -> CT -> GrpTheory -> CT -> Algebraic Topology. This is a sort of cross pollination and has advanced a huge number of fields because they can all intermingle(One doesn't need formal CT to do this but formal CT helps one navigate the path better and see more relations). What is starting to emerge though is sort of thinking completely in terms of CT. Of course all this is natural, just the progression/evolution of how things develop. As more people learn CT and it becomes more intuitive it will start to evolve as a sort of "natural language" an take on a new character. [And all this is a sort of differentiable evolutionary process as that seems to be how the universe works. After all, CT is at least 50 years old and most mathematicians are just starting to learn about it. Of course CT really is thousands/billions/infinite of years old since nothing poofs in to existence]
@o_corisco2 жыл бұрын
@@jsmdnq, category theory are also very good patterns for functional programing language. For example lists in functional programing languages are monads, applicative and a functor. They also serve as the basis for defining algebraic data types and they capability. On pure funcional programing languages monads can also encapsulate side effects, this fact made possible to use pure functional languages in the real world. So basically category theory gives programming languages a nice framework to build correct software.
@sohamjoshi95272 жыл бұрын
@@jsmdnq I was gonna skip at first but I am glad to completely read your comment. Like the lens through which you view CT ..
@ryan_c_letsgo Жыл бұрын
wow this was so good and very inspiring!!
@blackestbill7454 Жыл бұрын
to me, category theory is the study of pattern based structures. The patterns that describe these structures consist of the patterns described by the emergence of numbers in set theory and all their potential combinations. This describes all math. Math describes all existence. Everything within the domain of existence can be modeled by math and must have been created according to the hierarchical patterns that emerge from numbers and their potential
@harakara512 жыл бұрын
Thank you guys! Wonderfull information
@metanick1837 Жыл бұрын
Great analysis
@djgreyjoy14959 ай бұрын
In MatR did they reverse the indexes?
@thegrey53 Жыл бұрын
This is nice, please what is the name of the software you used for this presentation?
@TimothyNguyen Жыл бұрын
Google jamboard
@Smoothspin16 ай бұрын
@24:30, you state that identity morphism is the (an ?) identity matrix, but i would rather say that identity morphism is a square matrix, no ?
@ifcoltransg210 ай бұрын
52:54 "No, not that Alphabet, the other one!"
@DestroManiak Жыл бұрын
I wish the example at 20:00 was clearer. I have no idea how we use a 3x2 matrix on a single integer and get 3 as a result. Seems like nonsense. I guess we are working not in row or column space, but rather "how many rows there are"-space.
@milesstoudenmire1220 Жыл бұрын
I was a little confused by that too. My best guess is that “3” was short hand for “some vector space of dimension 3”.
@kesleta76973 ай бұрын
I think the point of this example was that morphisms in a category are not nessacarily functions or “maps”. As long as you can compose morphisms together (by matrix multiplication in this case). This matrix category is equivalent to the category with vector spaces as objects and linear transformations as morphisms, but it can be defined entirely independently of that.
@janerikbellingrath8202 жыл бұрын
This is great, thanks!
@DreamzAnimation2 жыл бұрын
This was awesome
@djgreyjoy14959 ай бұрын
Does the example used to illustrate natural transformations really work? Monetary transactions don't compose, do they? If a transaction exists from x to y and another from y to z, does that mean one must exist from x to z? Moreover, does the definition of the categories C and D having objects that are people and $, and people and euros, respectively, make any sense? How do the functors F and G map people and dollars to people and euros differently? Wouldn't this be the currency conversion altogether?
@axeljacobsen55672 жыл бұрын
Great stuff! Is this podcast on apple podcasts?
@TimothyNguyen2 жыл бұрын
Working on it - it will be in the near future!
@axeljacobsen55672 жыл бұрын
@@TimothyNguyen Thanks! I appreciate the hard work
@TimothyNguyen2 жыл бұрын
Hi Axel, getting the basic plumbing down of podcast feeds at the moment. Was your plan to just listen to the audio while mobile or were you planning to watch the video (and if so, KZbin isn't your preferred platform?). Thanks for letting me know your use case!
@TimothyNguyen2 жыл бұрын
As of last month, yes! podcasts.apple.com/us/podcast/the-cartesian-cafe/id1637353704
@tomctutor Жыл бұрын
I cant see anything in Category Theory that's not already covered by Group Theory? Please enlighten me someone if I am wrong! PS: I am aware of Category called Grp😗
@136gecko11 ай бұрын
If you know the Category of Groups, than you also know that this category only contains a single object and lots of arrows from this object to itself. When one naively thinks about a Category of Groups one would think that the elements of the group are the objects of the category. But this is not the case. When we look at a group from the group theory point of view we do x * y = z, with x,y,z being element of M When we look from the category theory point of view we do: an arrow is M -> M. That is an arrow is more characterized by (*y) and the way it applies to the whole set M. These are different ways to look at the same structure. And of cause groups are just one structure the can be described by category theory. Other categories describe structures that are nothing like groups. And if you think of composition is just like joining two elements in a group, then again no. In groups for example we can just join any two elements. In category this is not always possible. There can be objects that do not have arrow between them. And there can be arrows that do not have an inverse. These structures are similar, but there are also differences. And therefore the conclusions are different.
@alessandrorossi12946 ай бұрын
I have a PhD in mathematics (specialized in PDE). I looked for an opportunity for Category Theory to be useful for years but I still don't see it. As far as I can tell Category Theory is about a limited subset of proof structures, showing you how *some* proofs in one area of math can be rewritten into *some* other areas of math. However there has never been a single example of someone actually using Category Theory to find new theorems. Almost always the parallels were obvious and so Category Theory wasn't needed, or the people specialized in each area already had proofs of the relevant theorems before anyone found a Categorical connection between them.
@aaronrobertcattell8859 Жыл бұрын
Category Theory is sets of set
@AllemandInstable Жыл бұрын
I feel like it's more about morphisms than sets in category theory
@mikeCavalle Жыл бұрын
chatCPT The terms "theorem" and "lemma" are commonly used in mathematics to describe different types of proven statements, but the distinction between them is often more a matter of context and usage than a rigid definition. Here are some general guidelines: ### Theorem: 1. **Importance**: A theorem is generally a statement that has a significant impact or presents a major result. It often serves as a principal objective or conclusion to be reached in a particular mathematical setting. 2. **Generality**: Theorems often provide broad and general results that can be applied in various contexts. 3. **Independence**: A theorem usually stands alone in its significance and does not serve merely as a stepping stone to prove another result. 4. **Example**: The Pythagorean Theorem in Euclidean geometry is a quintessential example of a theorem, stating that in a right-angled triangle, the square of the hypotenuse is equal to the sum of the squares of the other two sides. ### Lemma: 1. **Supportive Role**: A lemma is generally considered a "helper theorem," a proposition proven primarily to aid in the proof of another theorem. 2. **Specificity**: Lemmas are often more specialized and tailored to particular arguments. 3. **Dependence**: While a lemma can be interesting in its own right, it is usually introduced to facilitate the proof of a more significant theorem. 4. **Example**: Sylow's Lemmas in group theory are examples of lemmas, even though they are quite powerful; they are mainly used to understand the structure of finite groups and often lead to more significant theorems. In summary, while the line between a theorem and a lemma can be blurry, the designation usually hinges on the statement's role and significance within the larger mathematical context.
@djgreyjoy14959 ай бұрын
Numbers are not sets? Are you sure? ;)
@jsmdnq2 жыл бұрын
Actually numbers are sets. In Mat, n is a set, precisely it is the cardinality of {0,1,...,n-1} where each ordinal is defined recursively. There is almost no harm in thinking in terms of "sets" for anything since the only issues come from that of size and nesting(and hence the various inventions of classes, universes, etc to deal with such issues). In any case, objects are objects and they can be anything(they are placeholders).
@TimothyNguyen2 жыл бұрын
Note however that in Mat, n is just an object with no set theoretic structure (which seems to be what your last statement is making).
@jsmdnq2 жыл бұрын
@@TimothyNguyen It has to have some structure or Mat is just a category. Mat is a category and more. Each object in Mat is an object with *set theoretical structure" in the sense that the objects are totally ordered. That is, in Mat the objects come from N, they are not just unstructured objects. If they were you couldn't create matrices from them since a matrix *requires* natural numbers for dimensions. It's true that Mat doesn't use the total ordered property of N explicitly but it does inherit it. It is precisely this usage on Mat that gives it it's structure(that of a "rectangular matrix"). I mean, it should be obvious when one says "the objects of Mat are the natural numbers". You can't just say "natural numbers" then say there is no structure. Now N can be defined many different ways but whatever way one defines will be used by Mat and it is irrelevant which one since they are all equivalent. This will induce higher level structure on Mat. E.g., if one defines the naturals by the surreals and uses that one might get some higher level structure that does not show up as if one defines them using Peano. Generally no one cares about this "higher level structure" because one only cares about matrices as "fixed size" linear transformations. In fact, one can treat the objects in Mat n-dimensional vector spaces and that gives FVec. That is FVec->Mat using the forgetful functor on objects(mapping V to it's dimension: n = dim(V)) In fact, any time we are dealing with anything more than "objects and morphisms" we have enriched the category. The mere fact that one is calling the objects natural numbers and the morphisms matrices is an enrichment(adding additional structure). If you treat the objects of Mat as just "objects" with no "set theoretical structure" then you are deluding yourself in the sense that you are both using the structure they have(that of natural numbers) and ignoring it(claiming there is no structure). This isn't a huge problem for Mat in the sense that the natural numbers are so "common sense" with more complex objects it could lead to problems. For example, if we take the same type of example, such as Grp, why then does the objects in Grp(groups) have "set theoretical structure"? The fact that we say "the morphisms are group homomorphisms" requires that the objects be groups and this then forces the objects to have internal structure(which is preferred to "set theoretic structure"). Yes, in some sense we can pretend or "ignore" the object structure but actually we can't or we end up with an unenriched category. This swapping back and forth between the unenriched concepts and the enriched concepts might be very subtle but it is necessary not to forget that we are actually not swapping back and forth. What happens in our minds is that we learned category theory, generally, in the unenriched state(that of objects and morphisms) and so tend to(and why it is useful) unenrich enriched structures to fit *how* we learned our concepts. In fact, I would say, in some sense, this is what makes category theory so powerful... at least one of the main reasons. It trains us to essentially use the "forgetful functor" correctly and efficiently. We know what we are forgetting and way and can move around in complex structure mentally without forgetting why we are forgetting. It's more of a subtle issue with Mat since, as I said, the naturals are so "natural" but you are "forgetting" the fact that they do have structure. Note that the forgetful functor does not "forget" in this way. U:A->B, U has as a domain and codomain and so always remembers what it is forgetting(and so when we forget the domain of what we are forgetting we truly forget and become "delusional" since our functor is ill-defined. That is, we can't forget A or we just have ->B which is ill-defined/incomplete/meaningless and causes problems with our ability to truly understand something(it would be more representative of what I'm talking about if I could turn A in to like a neon sign that is flickering on and off where sometimes it is on and other times it is off but sorta does it randomly or at least in a way that causes confusion).
@jsmdnq2 жыл бұрын
@@TimothyNguyen And further, to elucidate that there is more structure on the objects. The fact that that the morphisms must compose(since they are matrices which, hence, imposes more structure on the morphisms), requires that we have the ability to add the objects(and compare as I said before). This way the matrices can compose correctly. That is, we know that the matrix calculi has to work a certain way and this must hold for the category of matrices. Hence we must impose additional structure on both the objects and morphisms of the category for it to tactfully represent matrices... that is, we must enrich the category in a specific way so it structurally represents matrices. If there is no additional structure on a category then it represents nothing but a category and anything that is more general than a category(such as a graph).