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.
A multicategory might admit of various "structural" operations on arrows, e.g. adding in the "exchange" rule makes it a symmetric multicategory, or we might have some function . Is there a way to "internalize" these functions in the metatheory into some categorical entity that captures the appropriate equivalences? I almost want to say they're 2-cells, but we don't have matching domains (but what even are 2-cells in multicategories?).
I'm not sure what you mean by words like "metatheory" or "internalize". How does your question relate to just saying something along the lines of, for example,
Definition. A multicategory with weakening is a multicategory equipped with operations such that [...]
Right, so what I'd like to understand is whether there's some (possibly higher) multi-categorical construct corresponding to that operation. In the same way that (from my rough understanding) you can treat the equivalence of and as a 2-cell (2-isomorphism?) between those arrows.
Well in a general multicategory there might not be any such operation (e.g. might be nonempty while might be empty). I'm also pretty sure there is no way to characterize the weakening operations in terms of just the multicategory structure, in case that's what you mean.
So if you want to have a multicategory with weakening operations, it seems best to simply define what that is.
Oh, yeah, it's definitely extra structure. I think I'm not framing my question well :smile:
In my extremely biased opinion, it's a lot easier to understand this subject starting from the semantics side, since things like multicategories are just ordinary mathematical objects with ordinary definitions, and then try to see how to interpret some construction in logic as giving an "internal language" of these objects.
I still don't understand the question but one thing I think I can say is that 2-cells should correspond to something like reduction rules: something that, when you forget it, corresponds to equality between terms/morphisms.
But weakening is something that produces a new judgment from an old judgment; it is not like an equation
And what does "equivalences" in the original question refer to?
Reid Barton said:
And what does "equivalences" in the original question refer to?
E.g. if I have some and , then I want , where weaken_l
puts l
between and .
That condition would be part of the omitted [...] in the definition of a "multicategory with weakening"
If you want 2-cells, then you can consider a multicategory enriched in Cat, or a "weak 2-multicategory" in which composition is only associative up to a 2-cell; and then impose these equations on weakening up to a 2-cell.
Reid Barton said:
I still don't understand the question but one thing I think I can say is that 2-cells should correspond to something like reduction rules: something that, when you forget it, corresponds to equality between terms/morphisms.
I assume the reduction rule follows the arrow? So if e.g. I'm working in a multicategory of expressing typing judgments (so is a multiarrow from to ), a 2-cell means we can reduce to ?
Yes.
A reference for this sort of thing is Seely's Modelling computations: A 2-categorical framework.
I like that paper.
if you want something a bit more fleshed out, there's also Hilken's 2-lambda calculus, which has strict products but lax exponentials, and Hirschowitz's 2-dimensional type theory for cartesian closed 2-categories. Tooting my own horn a bit, there's a fully pseudo version for cartesian closed bicategories in this paper and my thesis.
In each case you can read off the type theory as the internal language (in the sense of Lambek) of a suitable kind of 2-dimensional cartesian multicategory (aka multi-sorted clone) -- you need the cartesian-ness because your substitution isn't linear. You could then use the fact operations like weakening arise from substitution / variable renamings. So, for example, weakening becomes the functor induced by the renaming of variables , ie it sends to when . (In the strict setting this substitution is invisible as it's the identity; in the strict setting it's made explicit.)