Joint Mathematics Meeting 2025
2024-01-08
$$
% https://tex.stackexchange.com/a/269194
$$
This talk describes work in progress on CatColab, a collaborative environment for formal, interoperable, conceptual modeling.
See also the blog post: Introducing CatColab (Carlson 2024)
Rather than a “theory of everything,” CatColab aims to be a “general theory of specific things”:
As of January 2025, the core development team for CatColab is:
I am also grateful for support from colleagues, collaborators, and funders.
For more credits, see: https://catcolab.org/help/credits
Will show two of the logics currently available in CatColab:
Try it yourself:
Warning
CatColab is pre-alpha software under active development.
Mathematical foundation for CatColab is the framework of double theories:
This talks focuses on special cases already implemented in CatColab
Formal languages are the syntactic counterpart to categorical structures:
Logic/language | Categorical structure |
---|---|
Algebraic theories | Cartesian categories |
Typed lambda theories | Cartesian closed categories |
Resource theories | Symmetric monoidal categories |
Statistical theories | Markov categories |
… | … |
Definition
A simple double theory is a strict double category.
This is a concept with an attitude, understood as a categorified theory:
Double theories are usually small double categories, but that is inessential.
Definition
A model of a simple double theory T is
Such models are categorified copresheaves:
Idea | 1-dimensional | 2-dimensional |
---|---|---|
Schema/theory | Category C | Double category D |
Semantics | Set | Span (=Set) |
Instance/model | Functor C→Set | Lax functor D→Span |
Simplifying still further:
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 Disc(B) is equivalent to a category sliced over B:
Lax(Disc(B),Span)≃Cat/B.
The mathematics behind our two examples:
Causal loop diagrams (and also regulatory networks) are
Let Sgn:={±1}≅Z2 be the group of nonzero signs.
Definition
A signed category is a category C equipped with a functor C→Sgn.
So, the category of signed categories is the slice
SgnCat:=Cat/Sgn.
Aduddell et al. (2024), Section 2.1
Theory
The theory of signed categories is the discrete double theory generated by
subject to the equation n⊙n=idx (where idx:x+→x is “positive”).
Equivalently,
TSgnCat:=Disc(Sgn),
so
Lax(TSgnCat,Span)≃Cat/Sgn=SgnCat.
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 Mapping:=HomEntity and AttrOp:=HomAttrType.
In SQL jargon:
TEXT
or REAL
Theory
The theory of profunctors is the “walking proarrow” Disc(2), a discrete double theory freely generated by
A model is a profunctor, either directly or indirectly via “barrels”:
Lax(Disc(2),Span)≃Cat/2.
In future versions of CatColab:
Distributors and barrels on Joyal’s CatLab, esp. Proposition 2.4