Arnaud Spiwack (@aspiwack) profile picture

Multi-classed Software Engineer/Constructive Mathematician. Sometimes plays video games sort of fast. Puts topoi in your computer. https://teapawt.net/t.co/iFlKRVeGpN

Joined March 2019
Photo by Arnaud Spiwack (@aspiwack)Photo by Arnaud Spiwack (@aspiwack)Photo by Arnaud Spiwack (@aspiwack)Photo by Arnaud Spiwack (@aspiwack)Photo by Arnaud Spiwack (@aspiwack)Photo by Arnaud Spiwack (@aspiwack)Photo by Arnaud Spiwack (@aspiwack)Photo by Arnaud Spiwack (@aspiwack)Photo by Arnaud Spiwack (@aspiwack)Photo by Arnaud Spiwack (@aspiwack)
So, I was thinking. When we write ⊢A→B ∧ ⊢A ⟹ ⊢B in inference rules. What is the pattern A→B as a mathematical object? 1/8
1
1
1
368
Now our conditions become g∘f≤id and id≤f∘g (hint: id is minimal). That is f and g form a Galois connection (equivalently ∀a x, x≤f(a) ⟺ g(x)≤a). I think it generalises: in a subtyping situation, you don't typically have x=f(a) only x≤f(a). Exactly what shows up! 7/8
1
27
So here's my suggested definition: a pattern in a function f with a left adjoint g, and matching a against pattern f binds g(a) (multiple variables are obtained by using product posets). 8/8
25
It's more important in Ocaml because Haskell's laziness precludes most types from crossing modes. The solution deployed in the paper is pretty involved, but maybe it's as canonical as it gets. I haven't fully digested it yet. But either way, it's important. 2/2
1
50
What I'm suggesting is that we can, and probably should, take this as the *definition* of multicategories (it's a tad more general: ordinary multicategories correspond to the case where contexts are a PROP generated by the pures).
I noticed something the other day. If you have a monoidal category, and a subset P of objects, then arrows from arbitrary objects to objects of P form a multicategory. We'll say that this is a category of context and P are pure objects. 1/8
2
115
Something I realised while working on sheaves (because it turns out to be relevant) is that the multicategorical definition of coproduct is stronger than the categorical one. Because in the multi case, the branches have access to the context. In the cat case they don't. 1/3
Replying to @aspiwack
From a mathematics perspective, it may be a friendlier setting to speak about multicategories (which tend to be notationally heavy). Though I don't think it makes the definition of coproducts much less of a chore (see p92 in Shulman's tutorial). 8/8
1
4
152
Hom(A+B, X) ≃ Hom(A,X)×Hom(B,X) vs Hom((Γ,A+B), X) ≃ Hom((Γ,A), X)×Hom((Γ,B), X) (assuming symmetry for simplicity) 2/3
2
2
71
If you have all finite products and coproducts, then the multi case is equivalent to products distributing over coproducts (exercise), which always hold for CCCs (also exercise). But multicategories let you speak of these stronger coproducts without requiring all that. 3/3
1
1
1
80
In June, Ocaml 5.5 was released ocaml.org/changelog/2026-06-… , whose headline change is module-dependent functions (aka modular explicits) The Ocaml mailing list is no longer online, but I found in my emails me from May 2012, trying (and failing) to garner support for this feature 1/2
1
3
16
571
At the time it didn't have a name. There was no paper. And it got basically no interest at all. I'm really happy now. I've been looking forward to this moment for almost 15 years.
1
4
89
Someone on the butterfly network found this archive. So here is the said email inbox.ci.dev/caml-list/CAMoP… 3/2
47
I noticed something the other day. If you have a monoidal category, and a subset P of objects, then arrows from arbitrary objects to objects of P form a multicategory. We'll say that this is a category of context and P are pure objects. 1/8
1
2
2
359
From a PLT perspective, this is a friendlier re-analysis of the contextuals CCC teapawt.net/aspiwack/status/204213… . See also Shulman's multicategorical logic tutorial mikeshulman.github.io/catlog… . 7/8
Replying to @aspiwack
Well, there's a restriction of CCC, which doesn't seem to have a standard name but Altenkirch, Hofmann, and Streicher call it “contextual CCC” in Categorical reconstruction of a reduction free normalization proof. 5/8
1
2
67
From a mathematics perspective, it may be a friendlier setting to speak about multicategories (which tend to be notationally heavy). Though I don't think it makes the definition of coproducts much less of a chore (see p92 in Shulman's tutorial). 8/8
1
2
180