Second Virtual Workshop on Double Categories
2024-10-29
$$
% https://tex.stackexchange.com/a/269194
$$
My personal favorite answers:
This talk is mostly about (3).
For (1), see blog post: Why double categories? Part 1
Originates with Lawvere’s functorial semantics of algebraic theories:
Logic | Category theory |
---|---|
algebraic theory | category |
model of theory | functor |
model homomorphism | natural transformation |
Lawvere (1963)
A minimalist account of relational databases:
Logic | Category theory |
---|---|
schema | small category |
instance of schema | functor |
morphism of instances | natural transformation |
Already enough to produce notable capabilities, such as Spivak’s functorial data migration.
Spivak (2012)
Logic | Category theory |
---|---|
theory |
category |
model of |
structure-preserving functor |
model morphism | structure-preserving natural transformation |
Categorical logic is two-dimensional:
A sleight of hand in that story:
If we take this seriously, we might propose a different dictionary:
Logic | Category theory |
---|---|
theory |
category |
model of |
structure-preserving module (copresheaf) over |
model morphism | structure-preserving module homomorphism |
Let us refine the dictionary of categorical logic:
But the latter are special kinds of bimodules or profunctors. So the two concepts are united within a double category!
Our starting point:
A categorical logic (doctrine) is a double category of categories equipped with extra structure.
This talk is about a systematic way to work with such categorical logics.
Joint work with Michael Lambert.
Main references:
A lax functor
is the same thing as a small category.
Moreover, a natural transformation is the same thing as a functor:
Second observation doesn’t work for lax functors between bicategories!
Generalizing from the terminal double category:
Proposition
Let
For each object
For each arrow
For each special cell
Lambert and Patterson (2024), Section 2
Proposition
Let
For each proarrow
For each cell
These are the basic notions of category theory! Moreover, replacing
Lambert and Patterson (2024), Section 2
With this motivation, we propose that:
For a fixed double theory
A new dictionary—note the level shift!
Meta-logic | Double category theory |
---|---|
logic | double theory |
theory | model of double theory |
interpretation between theories | model morphism |
model of theory | module/instance over model |
model homomorphism | module/instance homomorphism |
In order of increasing expressivity:
Definition
A simple double theory is a small, strict double category.
This is a concept with an attitude, understood as a categorified theory:
Lambert and Patterson (2024), Section 3
Definition
A model of a simple double theory
Recall that unitary means that the unitors are identities (Grandis 2019, sec. 3.5.2).
The theory of monads is the simple double theory generated by
an object
an arrow
multiplication and unit cells
subjects to three equations expressing associativity and unitality.
Lambert and Patterson (2024), Theory 3.8
E.g., the associativity axiom:
Fact
A model of the theory of monads is precisely a category
Lambert and Patterson (2024), Theory 3.8
Concept | Definition |
---|---|
Simple double theory | Small, strict double category |
Model of simple double theory | Lax functor |
Morphism between models (strict, pseudo, op/lax) | (Strict, pseudo, op/lax) natural transformation |
Bimodule between models | Module |
Cell between morphisms/bimodules | Modulation |
Concept | Definition |
---|---|
Cartesian double theory | Small, cartesian, strict double category |
Model of theory | Cartesian lax functor |
Model morphism (strict, pseudo, op/lax) | Cartesian (strict, pseudo, op/lax) natural transformation |
Model bimodule | Cartesian module |
Cell | Modulation |
Lambert and Patterson (2024), Section 6
The theory of pseudomonoids is the cartesian double theory generated by
an object
arrows
associator and unitor cells, along with their external inverses,
subject to two equations, the pentagon and triangle identities.
A model of the theory of pseudomonoids is a (weak) monoidal category.
Two of the logics currently available in CatColab:
Try it yourself: https://catcolab.org
Warning
CatColab is pre-alpha software under active development.
CatColab v0.1 was developed in collaboration with:
I am also grateful for support from other colleagues at Topos Institute and our collaborators and funders.
See also the blog post Introducing CatColab (Carlson 2024)
Simplifying still further from simple double theories:
Definition
A discrete double theory is
Such a double theory has only object and morphism types, no operations.
Models of discrete double theories are also known as “displayed categories” (Ahrens and Lumsdaine 2019).
Fact
A model of a discrete double theory
Causal loop diagrams (and also regulatory networks) are
Let
Definition
A signed category is a category
So, the category of signed categories is the slice
Aduddell et al. (2024), Section 2.1
Theory
The theory of signed categories is the discrete double theory generated by
subject to the equation
Equivalently,
so
CatColab developer docs: signed categories
What’s the point about thinking of signed graphs as free signed categories?
Motifs are morphisms between free signed categories, e.g.,
Positive/reinforcing feedback loops are morphisms out of:
Negative/balancing feedback loops are morphisms out of:
Aduddell et al. (2024), Section 2.2
This phenomenon is generic:
Slogan
Diagrammatic languages are free categorical structures whenever it makes sense for arrows to compose.
A famous example:
Example
Petri nets are free symmetric/commutative monoidal categories.
Coming in a future version of CatColab!
On Petri nets and SMCS: Baez et al. (2021)
A basic notion of database schema is a finitely presented profunctor
where
In SQL jargon:
Theory
The theory of profunctors is the “walking proarrow”
A model is a profunctor, either directly or indirectly via “barrels”:
In future versions of CatColab:
Distributors and barrels on Joyal’s CatLab, esp. Proposition 2.4
The system should enable formal, interoperable, conceptual modeling in domain-specific logics
Intended users have variable levels of technical expertise and might be…
CatColab is a structure editor for categorical structures:
Interpolates between text editors and fully graphical editors:
Hypothesis
It is possible and practical to build a structure editor for collaborative modeling that is ergonomic, yet parametric over the logic.
Another example is Hazel, a structure editor for functional programs (Omar et al. 2017)
We emphasize formal modeling, but informal narrative is indispensable.
CatColab has a notebook-style interface, mixing
Note
Interface familiar from computational notebooks like Jupyter but very different execution model: