3 ms·
Category theory actually replaces set theory in the chronology of things. So more or less the history of mathematics was something like: Geometry -> Analysis
by mikorym 6y ago
Category theory actually replaces set theory in the chronology of things.
So more or less the history of mathematics was something like:
Geometry -> Analysis -> Set Theory -> Category Theory
Number theorists should not be discounted; they are a separate split after analysis and graph theory is technically more like number theory than category theory. Later on they come back and join category theory again. This is my own opinion and I say it because of the methods that they like to use. You have bridges between them in the form of things like algebraic geometry or functional analysis. Analysis also includes calculus and I would say set theory includes topology.
Now, I think your question was a sort of general question about why one should do category theory, but I think the best way is to answer it in two ways. A third point is added as an afterthought.
I) Does it lead to synergistic results? Yes, for example Cayley's theorem is an instance of the Yoneda embedding. You can embed any group injectively into the permutation group of the underlying set. But Yoneda is a bunch of other things at the same time too. So by doing the correct generalisation, you solve all the specifications thereof. And then sometimes when people say category theory is foundational, they mean that: Within a special type of category called a topos, you can do all of mathematics. [1]
II) Why should we use category theory in computer science? This is maybe the more relevant question for the audience and I would say we aren't using it. So yes, there are these monad like things in functional programming and functional programming has monoids (a monad is a higher dimensional monoid). But they don't use much of the mathematics that Grothendieck invented and also I haven't seen many posts on functional programming that mention Lawvere. My opinion is that we still haven't implemented the real insights of category theory and that functional programming is actually the extension into practice of maybe Church's lambda calculus, not category theory. In the same way that quantum mechanics has waited 50 years to start using category theory I think computer science doesn't use exactly category theory. I guess my point is that there is a difference between ideas percolating down and ideas being applied over. One area where I would like to see more formal methods being used is reactive programming. So for example, why can't your programming language be specified entirely in category theory? But I think the problem is not that category theory cannot be applied, it is that category theory is percolating to other fields; those fields are only glancing at the mathematics; and a lot of mathematicians can't program at all for that matter. I don't say this as a type of lament or apologetically; I think it's just a matter of time and the right commitment.
This is my own opinion and I would like to be disproven by top researchers that are experts in both category theory and functional programming. I also think it is that we are not always aware of which work is important until it has become important. And said differently: I think Excel probably has a very interesting reactive framework and I have never seen anything about that posted on HN. So the fact that no-one is mentioning it doesn't mean that it doesn't exist. (Could Excel's reactivity be undocumented?)
III) Does it end at category theory? This is not really a question, but more a footnote. I asked my supervisor this once and he answered (rather surprisingly quickly): Probably not, and probably it will look different. For example, a lot of category theorists have not even heard of something like the Langlands Project [2] and the Langlands group seem to also be looking for unifications of theories too. I also asked my supervisor about whether he knew the Langlands project and he just said "No," and he didn't seem to want to say anything else. I have read of lone mathematicians that have their own unique way of approaching mathematics. So it is more a case of: Take what you need, see where you can get. Personally, I would prefer to linger a while with category theory as you can get further with less than in something like traditional analysis (where you have perhaps a thousand rules for integrals).
[1] You can do all of mathematics in set theory and you can do set theory in category theory. A topos is like a generalised set theory where functions have taken preference as the route of abstraction. Topos theory is also the reason why I say that classical mathematics includes in it constructive mathematics, but that is another topic that seems to have a somewhat emotive history. The bottom line is that the logic you use to spend your money at the supermarket is not going to change when someone discovers something new in mathematics.
[2] https://en.wikipedia.org/wiki/Langlands_program https://en.wikipedia.org/wiki/Langlands_program
- lr4444lr 6y agoI don't think anyone's really answered my question but you've hit the closest to it I think, so I'll rephrase it in the hopes that you can clarify it for me: what do we _need_ Category Theory to do that the other branches of math cannot do either in the absolute sense, because its core axioma contain something that other branches of math don't, or in the practical sense of something it VASTLY simplifies in application? On the theoretical example, I could tell someone that using graph theory, I could prove things about visiting nodes and vertices that I couldn't simply with tree theory. On the practical example, if someone came to me and said, "Why do I need abstract algebra"? I could point out to him that if I had a vehicle with a really complex set of tires, that if you could prove an isomorphism of permutations of the tires was a group over the set of permutations, you could create a rotation schedule that would move every tire to a different spot of the vehicle on each rotation, maximizing their useful life - I don't think there's a LESS abstract branch of math that could do this. What would be an instance in either case for graph theory?
- mikorym 6y agoI think you can do a rotation schedule for the tires using other techniques that are more concrete than group theory. If you think about the quadratic formula, the Babylonians used it without having a way to write down the equation. But, having mentioned the caveats, I think the answer is that we don't have a nice example yet for category theory. I personally think that the key application of category theory will be in quantum mechanics and in reactive behaviour of programs and formal methods around that. So, for example when you prove your program does something rather than testing it 1000 times. (You'll have to test it in any case due to things like implimentation bugs.)
- mikorym 6y agoOh b.t.w., I see I didn't mention the view-update problem in databases here. That would be a direct application of category theory. [1] [1] [1] M. Johnson and R. Rosebrugh, Fibrations and universal view updatability, Theoretical Computer Science 388.1, 2007, 109–129.