3 ms·
I spent many hours many years ago studying CT and I was left very frustrated. Endless definitions without any meaningful results or insights. My (admittedly c
by khazhoux 2y ago
I spent many hours many years ago studying CT and I was left very frustrated. Endless definitions without any meaningful results or insights. My (admittedly cartoonish) takeaway from Category Theory was: "We can think of all math as consisting of things and relationships between things!"
Like, ok?
It seems to appeal to computer science folks who want to level up their math chops, enjoy an exclusive "boutique" branch, and long for grand unification schemes. But IMHO it simply doesn't deliver. It's a whole lotta talk to say nothing.
I always compare with abstract algebra, where you start with a basic definition of groups and within a few pages you reach Lagrange's Theorem and now you understand something amazing about primes and sets, and you can keep squeezing and twisting the basic definitions for ever-more complex and brain-punishing results.
- TwentyPosts 2y agoHow much of a background do your have in abstract algebra? I don't think category theory makes much sense or is very satisfying unless you can already list a bunch of categories you interact with regularly, and have results which can be expressed in terms of categories.
- khazhoux 2y agoI'm fairly well-versed in AA, linear alg, topology, a few others. I got zero satisfaction from CT. What would be the first interesting (if even mildly insightful) result in CT? I'll pull out my books and take a look...
- cryptonector 2y agoSee my other reply. It makes some things way easier in real-world programs (and libraries).
- xanderlewis 2y agoIf you’re looking for ‘something you can only prove using category theory’, you’ll probably not be able to find much. If you’re looking for ‘something commonly proven using category theory, whose proof without invoking such theory is much less elegant and general’, you’ll find plenty in any area of mathematics that uses category theory. There’s a whole section of Emily Riehl’s book Category Theory In Context on ‘theorems in category theory’ (since it’s famously said that there are none — you’re certainly not the first to level such an accusation!).
- cryptonector 2y agoIt's just a lot of words for saying that you use [fill in the blank with your language of choice's words, like classes or interfaces] to wrap your classes with such that the wrappers provide methods that let you do a variety of things: - associate immutable contextual stuff with your data (think configuration, in C you'd add a context object pointer argument to all your functions, but in Haskell you'd just wrap your objects in monads) - associate "mutable" contextual stuff with your data (think state, in C you'd add a context...) - abstract out I/O so you can write fully deterministic code that's easy to test - etc. (e.g., tracing, logging, transactions, backtracking, and whatever else you can imagine) along with standard methods that allow you to chain "statements" into a single expression while still looking like it's "statements".
- layer8 2y agoYou don't need category theory to understand how type-structure-preserving wrappers work in software development, and people invented them without knowing about category theory.
- Chinjut 2y agoCategories are very similar to groups. If you can see how groups come up often and so it can be useful to think about the concept of groups, it's exactly the same thing with categories. A group models the invertible maps from one structure to itself. A groupoid models the invertible maps between a number of structures. A monoid models the maps from one structure to itself (without presuming invertibility). A category models the maps between a number of structures (without presuming invertibility).
- khazhoux 2y agoAgain though, where are the derived results? I found very very few in CT, where other branches are replete. Back to my example, abstract algebra has one derived result after another. CT is just... statements. It's "observational." I suppose maybe one should simply understand that going in, that there are no (or very few) actual results, it's just a set of descriptors.
- Chinjut 2y agoThere are many results, but whether you would find them interesting is up to you. (I don't even know what it would mean for a result to not be a "statement" or "observation". Every group-theoretic result is a statement of an observation, and for that matter, the Riemann Hypothesis is a statement too.) Since you mention Lagrange's theorem, I presume you are looking for introductory results rather than advanced results. E.g., the result that a functor has at most one left adjoint up to isomorphism (a direct generalization of the fact that inverses are unique in groups). Or the result that a functor which has a left adjoint automatically preserves limits (and the near converse to this given by the Adjoint Functor Theorem). Or the theorem that a category has a limit for the entire category if and only if it has an initial object. Or the Yoneda lemma, which is a direct generalization of Cayley's theorem for groups. Or Lambek's theorem that every initial algebra is invertible. What is a group-theoretic result of interest to you, apart from the aforementioned Lagrange's theorem? It might in particular be good to see a group-theoretic result which you find interesting even outside the context of finite groups (as there is not such an emphasis on considering finiteness in typical category theory, though one could of course say things specifically about finite categories too).
- grumpyprole 2y agoYou won't get much insight from a study period measured in hours. CT has actually been incredibly beneficial for computer science. Monads were first used to give denotational semantics to imperative languages. CT has also influenced Haskells design, giving many general and consistent abstractions across it's libraries. Looking ahead, CT is teaching us how to build software in total languages.
- xanderlewis 2y agoHave you tried learning something like algebraic topology, or representation theory, or anything that actually uses it (and for which it’s truly indispensable)? I think if you do, you’ll discover quickly why category theory is so nice — and useful! Its origins aren’t in staring at a blank sheet of paper and trying to come up with needlessly complicated notations and idea; it comes only after centuries of observation and gradual pattern recognition. Conversely: if you don’t, I don’t think you’ll ever get it. At least not without much difficulty. It’s a bit like set theory: basically everyone uses it because it’s such a useful paradigm; hardly anyone studies it for its own sake. Those who do can tell you ‘theorems’ of set theory, and those who do the same for category theory can tell you ‘theorems’ of category theory. The rest of us use it as a convenient (and mind-expanding) language. By the way, you shouldn’t consider it to be some kind of ontological theory (or even foundation) for mathematics. It makes no attempt to tell us what there is, or even particularly what is true; it gives us a way of simultaneously generalising thousands of definitions and facts, allowing us to see commonalities between a priori only distantly related concepts and therefore further generalisations more easily.
- will-burner 2y agoI've been saying this in this thread, but Grothendieck used the language of category theory to revolutionalize algebraic geometry. All model algebraic geometry is written in the language of category theory. The best example of a specific problem solved using category theory is Grothendieck's proofs of the Weil Conjectures. In particular the proof uses etal cohomology which in it's definition uses category theory. https://en.wikipedia.org/wiki/Weil_conjectures https://en.wikipedia.org/wiki/Weil_conjectures https://en.wikipedia.org/wiki/%C3%89tale_cohomology https://en.wikipedia.org/wiki/%C3%89tale_cohomology If you can get to the point of understanding this stuff, which admittedly takes a long as time, I promise you that you'll appreciate category theory, lol. I didn't understand the significance of the Weil conjectures until my 4th year in a math phd program where I studied number theory. The problem (at least partly) is that it's possible to read about and understand the statements in category theory long before you can understand any of the elegant and great uses of it, great uses of it in pure mathematics at least. I'm not familiar with the uses of category theory in computer science.