virtual double category



A virtual double category or fcfc-multicategory is a common generalization of a monoidal category, a bicategory, a double category, and a multicategory. It contains:

2-cells are usually drawn like this:

A cell in a virtual double category

Note that this includes the case when n=0n=0, i.e. a cell of “nullary” source. In this case, we must have X 0=X nX_0 = X_n. Finally, the 2-cells can be composed in a more or less evident way, akin to composition in a multicategory:

A composition in a virtual double category

Virtual double categories are related to double categories precisely as ordinary multicategories are related to monoidal categories (see generalized multicategory and tensor product).


A virtual double category can be defined in two equivalent ways:

We can also give an explicit definition, which was more or less already given in the “Idea” section: all that is missing are identities and associativity for 2-cell composition.


Higher categories of virtual double categories

There are notions of functor, transformation, and profunctor between virtual double categories. The neatest way to define all of these notions at once is to use the general framework of generalized multicategories: from the monad fcfc on the virtual equipment Span=Span(Set)Span = Span(Set) we can construct a new virtual equipment vDblProf=KMod(Span,fc)vDblProf = KMod(Span,fc) whose objects are virtual double categories, whose arrows are functors between them, whose proarrows are profunctors between them, and whose cells are transformations. But we can also give explicit definitions of all of these notions.

Functors and transformations

A functor of virtual double categories is fairly obvious; it takes each kind of morphism/cell to the same kind, preserving sources, targets, composition, and identities.

The relevant transformations are a “virtual” version of vertical transformations between ordinary double categories. Specifically, a transformation α:FG\alpha\colon F\to G has a vertical arrow component α X:FXGX\alpha_X\colon F X\to G X for each object XX of the domain, and a cell component

FX Fp FY α X α p α Y GX Gp GY\array{F X & \overset{F p}{\to} & F Y\\ ^{\alpha_X}\downarrow & \Downarrow ^{\alpha_p}& \downarrow^{\alpha_Y}\\ G X& \underset{G p}{\to} & G Y}

for each horizontal arrow p:XYp\colon X\to Y in the domain. These must be natural with respect to vertical composition of arrows and of 2-cells, where we must of course allow composites with arbitrary arities in the latter case.

Virtual double categories, functors, and transformations form a strict 2-category, and thus we can apply all notions of 2-category theory to it. In particular, we have a notion of a monad on a virtual double category, which is the starting point for one theory of generalized multicategories.


The profunctors between virtual double categories are a similar “virtualization” of the notion of double profunctor between double categories. Explicitly, a profunctor H:CDH\colon C ⇸ D consists of:

Every double profunctor induces such a profunctor in an evident way, but even if CC and DD are (non-virtual) double categories, not every “virtual double profunctor” from CC to DD need be a double functor; only those for which the “hetero-cells” also factor uniquely through the opcartesian cells in DD which make it “representable.”

As mentioned above in the context of the abstract definition, virtual double categories, functors, transformations, and profunctors form another virtual double category, which is in fact a virtual equipment.

Monads on virtual double categories


A monad on a virtual double category is a monad in the 2-category vDbl.

So a monad on a XvDblX \in vDbl consists of a functor

T:𝕏𝕏 T : \mathbb{X} \to \mathbb{X}

and transformations η:IdT\eta : Id \to T and μ:TTT\mu : T T \to T satisfying associativity and unitality.

Monoids and modules


For TT a monad on 𝕏\mathbb{X} \in vDbl, a TT-monoid is

  • an object X 0𝕏X_0 \in \mathbb{X};

  • a horizontal morphism X 0XTX 0X_0 \stackrel{X}{⇸} T X_0

  • an action 2-morphism

    X 0 X TX 0 TXT 2 X 0 = x¯ μ X 0 X TX 0 \array{ X_0 &\stackrel{X}{⇸} & T X_0 & \stackrel{T X}{⇸} T^2 & X_0 \\ {}^{\mathllap{=}}\downarrow && \Downarrow^{\bar x} && \downarrow^{\mathrlap{\mu}} \\ X_0 && \underset{X}{⇸} && T X_0 }

    and a unit 2-morphism

    X 0 = x¯ η X 0 X TX 0 \array{ && X_0 \\ & {}^{\mathllap{=}}\nearrow &\Downarrow^{\bar x}& \searrow^{\mathrlap{\eta}} \\ X_0 &&\underset{X}{⇸}&& T X_0 }

satisfying the evident compatibility conditions.

This is (CruttwellShulman, def. 4.2).


A TT-monoid X 0XTX 0X_0 \stackrel{X}{⇸} T X_0 is called normalized if its unit 2-morphism

X 0 U X 0 X 0 = η X 0 X TX 0 \array{ X_0 &\stackrel{U_{X_0}}{\to}& X_0 \\ {}^{\mathllap{=}}\downarrow && \downarrow^{\mathrlap{\eta}} \\ X_0 &\underset{X}{⇸}& T X_0 }

is a cartesian 2-morphism.

Generalized multicategories


A generalized multicategory is a normalized TT-monoid for some monad TT on a virtual equipment 𝕏\mathbb{X} \in vDbl.

This is (CruttwellShulman, page 7).

Enriching categories

Virtual double categories can be viewed as “the natural place in which to enrich categories.” Specifically, for any set AA, there is a virtual double category A chA_{ch} which has AA as its objects, only identity vertical arrows, exactly one horizontal arrow from every object to every other object, and exactly one 2-cell in every possible niche. For any other virtual double category WW, a functor A chWA_{ch}\to W of virtual double categories is the same as a WW-enriched category with object set AA.