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: community: our work

Topic: Chad Nester


view this post on Zulip Chad Nester (Feb 11 2024 at 16:09):

Hello everyone,

I've got a few new papers to advertise.

First, Protocol Choice and Iteration for the Free Cornering, together with @Niels Voorneveld. This extends the free cornering of a monoidal category to support additional protocol types, in particular branching protocols, in which one of the participants chooses which of two continuations will happen and the other must respond, and iterated protocols, in which the participants repeat all or part of a protocol some number of times, based on choices made during the process. If you have access to JLAMP you can get the "official" version, but frankly I think the preprint is more legible.

view this post on Zulip Chad Nester (Feb 11 2024 at 16:12):

Second, my PhD thesis, Partial and Relational Algebraic Theories has been successfully defended and is available from the university library. The thesis is a more careful development of the partial algebraic theories and relational algebraic theories from my published work.

I'll mention that only the first ~150 pages of the document on that website are the thesis monograph, with the rest being copies of my papers. It isn't that scary!

view this post on Zulip Evan Patterson (Feb 11 2024 at 20:04):

Congrats on the nice looking thesis! You should post it to arXiv (minus the copied papers). That will help people find it.

view this post on Zulip Matteo Capucci (he/him) (Feb 12 2024 at 07:58):

Congrats!

view this post on Zulip Chad Nester (Feb 12 2024 at 10:13):

Evan Patterson said:

Congrats on the nice looking thesis! You should post it to arXiv (minus the copied papers). That will help people find it.

I don't know whether or not I should do this. I'm planning to publish journal version of the two associated conference papers at some point using material from the thesis, so it might be better to wait. I don't really know.

view this post on Zulip Kevin Arlin (Feb 12 2024 at 21:20):

What downside are you envisioning?

view this post on Zulip Mike Shulman (Feb 12 2024 at 21:32):

I don't know what Chad is thinking, but my own thesis is put together from several papers, and I never put my thesis itself on the arXiv because I would rather that people read the papers instead, as they are more polished. However, this only works if the individual papers actually do get written.

view this post on Zulip Chad Nester (Apr 17 2024 at 15:31):

Tomorrow at 14:00 EEST (UTC+3) I'm giving a talk in Tallinn titled Elgot Categories and Abacus Programs. The talk will be broadcast via Zoom, and if you're interested in listening in send me a message here and I'll send you the details.

Abstract:
This talk concerns the categorical representation of the partial
recursive functions. Specifically, I will introduce Elgot
categories, which are a sort of structured rig category in which
all partial recursive functions are representable. Specifically, an
Elgot category is a (uniform) traced cocartesian rig category
with a distinguished isomorphism I+N→N for some object N.

I will construct an initial Elgot category, the morphisms of
which will coincide with the abacus programs of Lambek. Finally,
I will show that in this initial Elgot category, the class of
strongly representable partial functions is precisely the class
of partial recursive functions.

view this post on Zulip Chad Nester (Apr 17 2024 at 15:34):

I guess the main references are:

view this post on Zulip Chad Nester (May 13 2024 at 13:18):

Today is my first day at my new job as a Research Fellow at the University of Tartu. It's a permanent position, which is exciting.

view this post on Zulip Chad Nester (May 24 2024 at 09:35):

Mike Shulman said:

I don't know what Chad is thinking, but my own thesis is put together from several papers, and I never put my thesis itself on the arXiv because I would rather that people read the papers instead, as they are more polished. However, this only works if the individual papers actually do get written.

I do eventually hope to publish the results from my MSc thesis :sweat_smile:

view this post on Zulip Chad Nester (May 24 2024 at 09:41):

In other news, I'll be attending a few conferences this summer:

If you'll be at one or more of these and would like to talk about something specific, let me know and I can prepare a bit in advance :)

view this post on Zulip Chad Nester (Jul 02 2024 at 11:16):

On Monday, July 8th at 14:30 in Tallinn I'll be speaking at MSFP 2024 about my paper "Protocol Choice and Iteration for the Free Cornering" with Niels Voorneveld.

view this post on Zulip Chad Nester (Mar 28 2025 at 12:34):

I've put up a new thing on the arXiv: https://arxiv.org/pdf/2503.21434

It's about representing the partial recursive functions in distributive monoidal categories. The short version is that you need to be traced on the coproduct, and to have an isomorphism I+NNI+N \to N hanging around somewhere. I think it's fun.

view this post on Zulip Chad Nester (Sep 17 2025 at 14:42):

I'd like to ponder something out loud here:

Let List(A)\mathsf{List}(A) be the set of lists with elements in AA, defined as usual to be the initial algebra of the endofunctor X1+(A×X)X \mapsto 1 + (A \times X) on Set\mathsf{Set}. In particular let's write the initial algebra as nilcons:1+(A×List(A))List(A)\langle \mathsf{nil} \mid \mathsf{cons} \rangle : 1 + (A \times \mathsf{List}(A)) \to \mathsf{List}(A), so that out lists look like the ones from functional programming.

Let WW be a set, and suppose that we have partial functions push:A×WW\mathsf{push} : A \times W \to W and pop=head,tail:WA×W\mathsf{pop} = \langle \mathsf{head},\mathsf{tail} \rangle : W \to A \times W such that push;pop=1A×W\mathsf{push};\mathsf{pop} = 1_{A \times W}. Note as an aside that an immediate consequence of this equation is that push\mathsf{push} is total.

There is a total function h:WList(A)h : W \to \mathsf{List}(A) defined by h(x)={nil if pop(x)cons(head(x),h(tail(x))) otherwiseh(x) = \begin{cases} \mathsf{nil} & \text{ if } \mathsf{pop}(x)\uparrow \\ \mathsf{cons}(\mathsf{head}(x),h(\mathsf{tail}(x))) & \text{ otherwise}\end{cases}

So for each xWx \in W we have a list, h(x)h(x). We do not, however, seem to be able to construct an element of WW for each element of List(A)\mathsf{List}(A). In particular, it is unclear what we would map nil\mathsf{nil} to.

Nonetheless, I can do quite a few list-like things with WW. So long as I'm happy to have my function become undefined the moment it attempts to inspect an "empty" element of WW (on which pop\mathsf{pop} is undefined), there would seem to be nothing I cannot do.

view this post on Zulip Chad Nester (Sep 17 2025 at 14:45):

Ah: a problem with this is that pop\mathsf{pop} may in fact be total, in which case WW is a stream and my hh isn't well-defined, since I never reach a nil\mathsf{nil}.

view this post on Zulip Chad Nester (Sep 17 2025 at 14:58):

I guess I have the same thing happening, but with CoList(A)\mathsf{CoList}(A) instead of List(A)\mathsf{List}(A). Here by CoList(A)\mathsf{CoList}(A) I mean the terminal coalgebra of the endofunctor X1+(A×X)X \mapsto 1 + (A \times X). So a colist is a "possibly finite stream" or equivalently a "possibly infinite list".

view this post on Zulip Chad Nester (Sep 17 2025 at 15:10):

I would imagine that h:WCoList(A)h : W \to \mathsf{CoList}(A) is injective, but not surjective. I think I probably need to work out some examples if I want to understand this...

view this post on Zulip Mike Shulman (Sep 17 2025 at 15:12):

I presume you meant your hh to be recursive on tail in the otherwise case.

view this post on Zulip Chad Nester (Sep 17 2025 at 15:12):

Yes, thank you. I've fixed it.

view this post on Zulip Mike Shulman (Sep 17 2025 at 15:13):

Of course, a partial function pop:WA×W\mathsf{pop} : W \to A\times W is the same as a total function W1+(A×W)W \to 1 + (A \times W), so then your hh is exactly the unique map from a coalgebra to a terminal coalgebra.

view this post on Zulip Mike Shulman (Sep 17 2025 at 15:15):

In general that won't be injective or surjection, and I don't see see why the additional presence of push would make it injective.

view this post on Zulip Chad Nester (Sep 17 2025 at 15:17):

Hmm, we do know that push\mathsf{push} is injective because it is a section... which doesn't really seem to help here.

view this post on Zulip Chad Nester (Sep 17 2025 at 15:22):

Right: if pop\mathsf{pop} is undefined on two distinct elements of WW then hh is not an injection.

view this post on Zulip Chad Nester (Sep 17 2025 at 15:48):

I think this might be a good way to talk about what's going on in Lisp with car/cdr and "improper lists"

view this post on Zulip Chad Nester (Nov 24 2025 at 11:37):

A new preprint today: Combinatory Completeness in Structured Multicategories

If you like combinatory logic and know what a multicategory is, you might like it.

I'll copy the abstract here:
We give a general notion of combinatory completeness with respect to a faithful cartesian club and use it systematically to obtain characterisations of a number of different kinds of applicative system. Each faithful cartesian club determines a notion of structured multicategory, with the different notions of structured multicategory obtained in this way giving different notions of polynomial over an applicative system, which in turn give different notions of combinatory completeness. We obtain the classical characterisation of combinatory algebras as combinatory complete applicative systems as a specific instance.

view this post on Zulip fosco (Nov 24 2025 at 16:22):

I already asked Ülo this question but maybe you have something to add: a S\mathfrak S-multicategory is just:tm: a multicategory with an action of the club, which is also a monoid, in a sense: is that correct?

view this post on Zulip Chad Nester (Nov 25 2025 at 07:19):

In a sense, sure. I don't know which sense.

view this post on Zulip Chad Nester (Nov 25 2025 at 07:26):

I'd like to better understand the more general notion of "club".

view this post on Zulip James Deikun (Nov 25 2025 at 07:44):

Thanks for introducing me to Shulman's notion of S\mathfrak S-multicategory; it's providing valuable hints for me.

view this post on Zulip fosco (Nov 25 2025 at 08:04):

Chad Nester said:

I'd like to better understand the more general notion of "club".

What I know, I learned it from @Todd Trimble, I would just produce a pale imitation. But the original paper "clubs and doctrines" is not too obscure, as far as I could read it!

view this post on Zulip Mike Shulman (Nov 25 2025 at 18:18):

A general club is itself a kind of generalized multicategory, namely a Burroni-Leinster span-based generalized multicategory relative to a cartesian monad TT on Cat. What I called a "faithful cartesian club" is a club where TT is the monad for cartesian strict monoidal categories and the map from the club to TT is faithful. Such a club presents another cartesian monad on Cat, which usually (?) extends to Prof, and what I called an S\mathfrak{S}-multicategory is a generalized multicategory for this monad on Prof.

view this post on Zulip Chad Nester (Nov 26 2025 at 09:28):

I see. That's very helpful. I had been wondering about how it all fit together.

view this post on Zulip James Deikun (Nov 29 2025 at 22:16):

What exactly does it mean to say "the map from the club to TT is faithful"? Is it that the natural transformation from the club-induced monad to TT is componentwise faithful?

view this post on Zulip Mike Shulman (Dec 01 2025 at 16:17):

Yes. But that's equivalent to the single functor M1T1M1 \to T1 being faithful, since the natural transformation MTM\to T is cartesian, and the category M1M1 over T1T1 with its induced structure is what's generally referred to as the club itself.