A Double-Categorical Framework for Categorical Doctrines
Topos Institute Berkeley Seminar
2023-09-25
Originates with the Functorial semantics of algebraic theories (Lawvere 1963):
Category Theory | Logic |
---|---|
small cartesian category \(\mathsf{T}\) | algebraic theory |
cartesian functor \(M: \mathsf{T} \to \mathsf{Set}\) | model of theory |
natural transformation \(M \Rightarrow N\) | model homomorphism |
Categorical logic is inherently two-dimensional.
In this talk, “cartesian” = has/preserves finite products.
Fragment of the “monoidal hierarchy” important in ACT:
Fragment of the “standard hierarchy” of categorical logic:
Implications of categorical logic:
But how to organize all of these logics?
What is a doctrine?
OK, but what is a doctrine, really?
“Doctrine” first used in the category theory literature by Lawvere (1969).
Any “purely algebraic” (higher) categorical structure is a model of a GAT.
GATs are great, but they are not doctrines.
Gatlab.jl is being developed by Owen Lynch and Kris Brown.
The standard answer: a doctrine is a 2-monad on \(\mathbf{Cat}\).
A powerful theory, but hard to work with concretely:
Theory of 2-monads is highly developed (Blackwell, Kelly, and Power 1989; Lack 2010).
One-dimensional | Two-dimensional |
---|---|
Monad on \(\mathsf{Set}\) | 2-monad on \(\mathbf{Cat}\) |
Algebraic theory | ??? |
Motivation:
Questions:
Bénabou (1967) observed that a lax functor
\[ F: \mathsf{1} \to \mathbf{Span} \]
from the terminal category to the bicategory \(\mathbf{Span}\) of
is the same thing as a small category.
No: the well-behaved cells
or icons between span-valued lax functors, correspond to identity-on-object functors between categories.
A lax functor
\[ F: \mathbb{1} \to \mathbb{S}\mathsf{pan} \]
from the terminal double category to the double category \(\mathbb{S}\mathsf{pan}\) of
is again the same thing as a small category.
But now natural transformations
between span-valued lax double functors correspond precisely to functors.
This simple observation is the beginning of a much bigger story…
The big picture:
We develop this picture in detail, for two kinds of double theories:
Concept | Definition |
---|---|
Simple double theory | Small, strict double category \(\mathbb{T}\) |
Model of simple double theory | Lax functor \(F: \mathbb{T} \to \mathbb{S}\mathsf{pan}\) |
Morphism between models (strict, pseudo, op/lax) | (Strict, pseudo, op/lax) natural transformation \(\alpha: F \Rightarrow G\) |
Bimodule between models | Module \(M: F \mathrel{\mkern 3mu\vcenter{\hbox{$\scriptstyle\mid$}}\mkern-8mu{\Rightarrow}}G\) |
Cell between morphisms/bimodules | Modulation |
Concept | Definition |
---|---|
Cartesian double theory | Small, cartesian, strict double category \(\mathbb{T}\) |
Model of theory | Cartesian lax functor \(F: \mathbb{T} \to \mathbb{S}\mathsf{pan}\) |
Model morphism (strict, pseudo, op/lax) | Cartesian (strict, pseudo, op/lax) natural transformation \(\alpha: F \Rightarrow G\) |
Model bimodule | Cartesian module \(M: F \mathrel{\mkern 3mu\vcenter{\hbox{$\scriptstyle\mid$}}\mkern-8mu{\Rightarrow}}G\) |
Cell | Modulation |
A (pseudo) double category \(\mathbb{D}\) is a pseudocategory in \(\mathbf{Cat}\):
So, a double category \(\mathbb{D}\) consists of
\(\dots\)
Reference for modern theory of double categories: (Grandis 2019).
\(\dots\)
functors \(s,t: \mathbb{D}_1 \rightrightarrows \mathbb{D}_0\), giving a source and target to proarrows \(m: x \mathrel{\mkern 3mu\vcenter{\hbox{$\scriptstyle+$}}\mkern-10mu{\to}}y\) and cells
functors \(\odot: \mathbb{D}_1 \times_{\mathbb{D}_0} \mathbb{D}_1 \to \mathbb{D}_1\) and \(\operatorname{id}: \mathbb{D}_0 \to \mathbb{D}_1\), the external (horizontal) composition and identity
that are associative and unital up to coherent globular isomorphism.
Lax functors between double categories preserve composition
A lax functor \(F: \mathbb{D} \to \mathbb{E}\) between double categories \(\mathbb{D}\) and \(\mathbb{E}\) consists of
functors \(F_0: \mathbb{D}_0 \to \mathbb{E}_0\) and \(F_1: \mathbb{D}_1 \to \mathbb{E}_1\) preserving source and target
for proarrows \(x \overset{m}{\mathrel{\mkern 3mu\vcenter{\hbox{$\scriptstyle+$}}\mkern-10mu{\to}}} y \overset{n}{\mathrel{\mkern 3mu\vcenter{\hbox{$\scriptstyle+$}}\mkern-10mu{\to}}} z\) and objects \(x\) in \(\mathbb{D}\), laxator and unitor cells in \(\mathbb{E}\)
obeying axioms similar to (in fact, generalizing) a lax monoidal functor:
Axiom:
for any two externally composable cells in \(\mathbb{D}\):
Proposition
Let \(\mathbb{D}\) be a strict double category and let \(F: \mathbb{D} \to \mathbb{S}\mathsf{pan}\) be a lax functor.
Notation \(F_{x,x}\) is shorthand for \(F_{\operatorname{id}_x, \operatorname{id}_x}\).
We can consider target double categories besides \(\mathbb{S}\mathsf{pan}\).
Example: Spans
For any category \(\mathsf{S}\) with pullbacks, there is a double category \(\mathbb{S}\mathsf{pan}(\mathsf{S})\) with
External composition is by pullback in \(\mathsf{S}\).
Proposition: Lax double functors \(F: \mathbb{D} \to \mathbb{S}\mathsf{pan}(\mathsf{S})\) give categories, functors, and natural transformations internal to \(\mathsf{S}\).
Example: Matrices
For any (infinitary) distributive monoidal category \(\mathcal{V}\), there is a double category \(\mathcal{V}\text{-}\mathbb{M}\mathsf{at}\) with
External composition is by “matrix multiplication” with \(\otimes\) as multiplication and coproduct as addition.
Proposition: Lax double functors \(F: \mathbb{D} \to \mathcal{V}\text{-}\mathbb{M}\mathsf{at}\) give categories, functors, and natural transformations enriched in \(\mathcal{V}\).
Proposition
Let \(\mathbb{D}\) be a strict double category and let \(F: \mathbb{D} \to \mathbb{S}\mathsf{pan}\) be a lax functor.
Moreover, replacing \(\mathbb{S}\mathsf{pan}\) with…
Notations \(F_{x,m}\) and \(F_{m,y}\) are shorthand for \(F_{\operatorname{id}_x,m}\) and \(F_{m,\operatorname{id}_y}\).
Concept of lax double functor contains all basic definitions of category theory:
First strong evidence for a double-categorical framework for doctrines!
Terminology:
Analogy:
The theory of monads \(\mathbb{T}_{\mathsf{Mnd}}\) is generated by
an object \(x\)
an arrow \(t: x \to x\)
multiplication and unit cells
subjects to three equations expressing associativity and unitality.
E.g., the associativity axiom:
\[=\]
A lax natural transformation \(\alpha: F \Rightarrow G\) between lax double functors \(F, G: \mathbb{D} \to \mathbb{E}\) consists of
for each object \(x \in \mathbb{D}\), the component at \(x\), an arrow in \(\mathbb{E}\) \[ \alpha_x: Fx \to Gx \]
for each proarrow \(m: x \mathrel{\mkern 3mu\vcenter{\hbox{$\scriptstyle+$}}\mkern-10mu{\to}}y\) in \(\mathbb{D}\), the component at \(m\), a cell in \(\mathbb{E}\)
\(\dots\)
\(\dots\)
for each arrow \(f: x \to y\), the naturality comparison at \(f\), a cell in \(\mathbb{E}\)
subject to suitable naturality and functorality axioms (not stated).
A lax transformation between models \((\mathsf{C},S)\) and \((\mathsf{D},T)\) of \(\mathbb{T}_{\mathsf{Mnd}}\) consists of
compatible with the monad multiplications and units.
This is precisely a monad functor as in Street’s formal theory of monads (1972).
Theorem: 2-category of lax functors
For any double categories \(\mathbb{D}\) and \(\mathbb{E}\), there is a 2-category whose
The modulations in theorem are implicitly between unit modules.
Theorem: (virtual) double category of lax functors
For any double categories \(\mathbb{D}\) and \(\mathbb{E}\), there is a unital virtual double category \(\mathbb{L}\mathsf{ax}_\ell(\mathbb{D},\mathbb{E})\) whose
Moreover, when \(\mathbb{D}\) is 2-categorical (has only trivial proarrows) and \(\mathbb{E}\) has local coequalizers, there is a genuine double category \(\mathbb{L}\mathsf{ax}_\ell(\mathbb{D},\mathbb{E})\).
A double category \(\mathbb{D}\) is cartesian if
Example: Spans
When \(\mathsf{S}\) is a category with finite limits, \(\mathbb{S}\mathsf{pan}(\mathsf{S})\) is a cartesian double category.
Example: Matrices
When \(\mathcal{V}\) is an (infinitary) distributive category, \(\mathcal{V}\text{-}\mathbb{M}\mathsf{at}\) is a cartesian double category.
for all pairs \(x, x' \in \mathbb{D}\), the naturality squares commute
and the naturality comparisons \(\alpha_{\pi_{x,x'}}\) and \(\alpha_{\pi_{x,x'}'}\) are given by unitors of \(G\).
Terminology:
Analogy:
The theory of pseudomonoids \(\mathbb{T}_{\mathsf{PsMon}}\) is generated by
an object \(x\)
arrows \(\otimes: x^2 \to x\) and \(I: 1 \to x\)
associator and unitor cells, along with their external inverses,
subject to two equations, the pentagon and triangle identities.
A model of \(\mathbb{T}_{\mathsf{PsMon}}\) is a (weak) monoidal category.
The theory of promonoids \(\mathbb{T}_{\mathsf{Promon}}\) is generated by
subject to the axioms of
A model of \(\mathbb{T}_{\mathsf{Promonoid}}\) is a multicategory:
Illustrates an interesting bug feature of lax functors:
The forthcoming paper includes much not covered here:
As for future work… there is a lot!
References: equipments (Wood 1982; Shulman 2008) and virtual equipments (Cruttwell and Shulman 2010)