Category Theory
Zulip Server
Archive

You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.


Stream: learning: questions

Topic: What is category theory about?


view this post on Zulip Simon Pepin Lehalleur (Mar 25 2020 at 08:10):

If I may, I would like to start by asking a very broad question: what is the point of category theory? Or rather: what are the many points of category theory? I know that this kind of discussion can easily degenerate into platitudes, but I am still curious to sample a broad range of practitioners.

My perspective (biased, I suppose, by my background in algebraic geometry/topology) is that category theory is useful for at least the following "operations on mathematical space":

To contrast, here are some other fundamental "operations" for which category theory is perhaps less useful, at least in the perspective taken in the fields I am most familiar with:

Is it fair to say that part of the goal of "applied category theory" is to bring the power of categorical ideas to bear on the second list ;-)?

view this post on Zulip Matteo Capucci (he/him) (Mar 25 2020 at 08:43):

I love this question! Especially the latter part. It's not very clear what are the limits of CT, imho. There is a lot of unexplored territory.
For me CT is a consistent way to do mathematics in many different contexts using many different tools. We can do geometry, logic, algebra within the same framework. The cross pollination such a consistent treatment allows is the real deal.
From the perspective of ACT, CT provides a lot of powerful modelling tools. By this, I mean universal patterns such as functoriality, adjunctions, monads, monoidal structures, sheaves; plus philosophical insights such as the Yoneda PoV and the nPoV. Then I suspect the advantage in using these tools is analogous to the pure case, i.e. a lot of cross-pollination.

view this post on Zulip James Fairbanks (Mar 25 2020 at 17:54):

I'm not sure that I see the distinction between CT and ACT the same way. I think of ACT as organizing, formalizing, unifying, and generalizing scientific and engineering applications rather than for mathematical areas. A lot of Spivak, Fong, and Baez's work is ACT but doesn't give you that much help in calculating, estimating, or approximating directly. I know that @Evan Patterson and @Blake Pollard are more interested in the calculating aspects of ACT.

view this post on Zulip John Baez (Mar 25 2020 at 20:22):

Since ACT as an explicitly delineated subject with conferences, schools etc. is less than 6 years old, I think we have to be very careful not to limit its growth by defining it prematurely.

(I'm not accusing anyone here of doing that, by the way! But it's a danger: some people are already trying to define what ACT is.)

view this post on Zulip James Fairbanks (Mar 26 2020 at 03:06):

Does giving a subject definition limit it growth? In the sense of T. Kuhn's Structure (1962) a scientific community is defined by a shared paradigm for organizing their normal problem solving scientific activity. There is always a pre-paradigm phase where the scientific community is struggling to define a paradigm and then there are some seminal achievements that allow the community to solve big problems. At that point, the community coalesces around those achievements in defining the paradigm. I think that the last few years and in particular the books CT4S and 7 Sketches have defined a paradigm for ACT. When I think of ACT, I think of a process like:

  1. identify a scientific modeling framework for example Circuits, Reaction Networks, Bayesian Networks, Relational Databases, etc.

  2. define a syntax category for describing models in that framework

  3. define a semantics category for representing the mathematical behavior of those models

  4. prove some CT constructions (functors, natural transformations, limits/colimits) recover the existing mathematical analysis of these models. ie composing open systems as decorated cospans and blackboxing to get equilibria

  5. use CT knowledge to deepen our understanding of the application area, or show how two different applications areas are connected. ie. Markow Processes, Circuits, and Reaction networks all have versions of Kirchoff's law because of the CT structures that define them. Scientists had an intuition of this similarity for decades (I recently found a reference to a "chemical version of kirchoff's law" in E.O. Voit's Computational Analysis of Biochemical Systems (2000)), but the benefit of the CT perspective is that we can make the analogies between different areas of science precise.

This paper of yours with Brendan and Blake is a paradigmatic ACT paper to me: http://math.ucr.edu/home/baez/markov.pdf.

That process seems very widely applicable with plenty of room for people to find new problems and solve them. One of the parts I see missing (and was hoping to discuss at AACT) is computational tooling around the ACT approach. I'd like to take the theorems you proved about Markov Processes, Circuits, and Reaction Networks and use them to build fast software that can exploit compositionality to solve really big systems faster than state of the art software written by statisticians, EEs, and chemists. I think that as the mathematics matures, we will see a wave of people adopting the tools to build better scientific and engineering software. This is analogous to how CT for PL lead to the Functional Programming revolution.

view this post on Zulip John Baez (Mar 26 2020 at 03:13):

I don't think of the ACT paradigm as having been defined. I feel like we're floundering around trying to dream up a good paradigm. I'm glad you enjoyed my paper with Brendan and Blake, but if that's the best we can do I'll be disappointed. I'm hoping to reach much deeper ideas! This was just a first try.

view this post on Zulip John Baez (Mar 26 2020 at 03:18):

More specifically: I'd like to find some really exciting and practical new results about Markov processes (to take the example mentioned) using a compositional approach, where we build big complicated Markov processes by composing smaller open ones. My paper with Brendan and Blake laid out how that composition could be done, and we showed how to study steady states of "detailed balanced" Markov processes compositionally. My paper with Kenny did it much better, since we dropped the "detailed balanced" assumption and introduced coarse-graining as well. But we still haven't gotten surprising results.

view this post on Zulip John Baez (Mar 26 2020 at 03:19):

Of course in math you're never surprised by something by the time you've proved it. So maybe what I mean is this: I'd like to study interesting qualitative properties of open systems using categories, and prove nontrivial theorems about them.

view this post on Zulip James Fairbanks (Mar 26 2020 at 03:25):

That would be neat, but I'm interested in building tools that help the domain scientist do science better.

view this post on Zulip John Baez (Mar 26 2020 at 05:25):

That sounds good too. All the more reason not to take existing work on ACT as defining some sort of "paradigm". But if it helps you get somewhere you want to go, great!

view this post on Zulip Blake Pollard (Mar 26 2020 at 14:30):

One fun aspect of the open Markov/souped-up cospans stuff is it starts with a super simple idea: People like these gizmos. Let's think of these gizmos as morphisms.

This leads to a bunch of more well-defined questions: Can I compose these gizmos? Do I break something I liked when I do that?

It also leads to a bunch of more slippery questions: What's up with these non-normalized probabilities?

Then, people with different tastes will go in wildly different directions: double categories for coarse-graining/rewriting or building software tools/libraries for people who want to use these souped-up gizmos for modeling at the domain level.

I think we are super lucky that the community has grown enough where both of those tracks are being pursued. I think we will see more UMAP-style 'wins' for ACT in the near future, where people read work from the ACT community (in that case I guess David Spivak's paper on some fuzzy set business) and get inspired to do something really cool and kind of different in their own worlds.

view this post on Zulip Blake Pollard (Mar 26 2020 at 14:36):

Since joining NIST, I've learned that Sub and lots of other people are worried about very general problems in real-world engineering information/software/data/artifact management. These problems are super 'wicked' in the sense that they aren't that well defined and also involve a type of messiness most mathematicians wouldn't ever want to touch. That said, it is also clear that these problems haven't been solved and somehow the math of applied category theory resonates with people who have been thinking about why existing approaches or lack thereof haven't made either the super-zoomed in domain people/modelers or the more zoomed-out people very happy.

view this post on Zulip Blake Pollard (Mar 26 2020 at 14:54):

But I'd say if you are designing algorithms or proofs or proofs about your algorithms, category theory provides a nice set of 'structures' to use. I think of them all kind of as typed holes, like category shaped holes, functor shaped holes, waiting for different pieces of data.

view this post on Zulip James Fairbanks (Mar 26 2020 at 15:00):

Yeah I love the work you are doing at NIST. I think that the organizing, formalizing and unifying functions of CT are really important for taking a lot of ad hoc techniques developed by engineers and building a mathematical framework around them. People build "diagrams with mathematical interpretations" all the time. It's basically the only way that scientists and engineers can communicate with each other. Its nice to have the ACT toolbox for organizing and formalizing those diagrammatic languages. Once organized, we can see how they all relate to each other and once they have been formalized, we can build software that leverages those formal representations in order to contribute back to the domain science/engineering discipline. This NIST Report you guys wrote is really great for setting out an agenda https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.1249.pdf. I love a good manifesto!

view this post on Zulip Blake Pollard (Mar 26 2020 at 16:01):

Thanks! Sometimes I worry a bit that we are like the third iteration of those folks who invented the iphone in the 90's, as this is definitely not the first iteration of 'applied' category theory. I guess the hope is that the time is right and that we keep up enough momentum to cross some valley of death or whatever. But yea, one of the things I'm most interested in is really helping realize this vision of increased reuse of software/tools/ideas/gizmos in different contexts. I think CT for formalizing/organizing diagrammatic languages is a good example of this. We'd like to see something like a CatML meta-meta modeling framework emerge with certain flavors of operads for hierarchical representations, symmetric monoidal categories for processes/workflows, and something like CQL/ologs at the data level. On paper, we have the ability to capture lots of other representational frameworks or UML/SysML-based meta-modeling languages native to various tools/applications, but making something people actually can and will use is a longer story.

view this post on Zulip Blake Pollard (Mar 26 2020 at 16:03):

Of course, SemanticModels is definitely a big step in a promising direction.