\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{double profunctor} \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definition}{Definition}\dotfill \pageref*{definition} \linebreak \noindent\hyperlink{as_internal_profunctors_in_cat}{As internal profunctors in Cat}\dotfill \pageref*{as_internal_profunctors_in_cat} \linebreak \noindent\hyperlink{as_collages_in_dblcat}{As collages in DblCat}\dotfill \pageref*{as_collages_in_dblcat} \linebreak \noindent\hyperlink{as_spanvalued_double_functors}{As Span-valued double functors}\dotfill \pageref*{as_spanvalued_double_functors} \linebreak \noindent\hyperlink{explicit_definition}{Explicit definition}\dotfill \pageref*{explicit_definition} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{weakenings}{Weakenings}\dotfill \pageref*{weakenings} \linebreak \noindent\hyperlink{composites}{Composites}\dotfill \pageref*{composites} \linebreak \noindent\hyperlink{using_internal_profunctors}{Using internal profunctors}\dotfill \pageref*{using_internal_profunctors} \linebreak \noindent\hyperlink{using_collages}{Using collages}\dotfill \pageref*{using_collages} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} A \textbf{double profunctor} is an appropriate notion of [[profunctor]] between [[double categories]]. Thinking of a profunctor $H : C ⇸ D$ as representing some notion of [[heteromorphism]], double profunctors either represent a notion of \emph{vertical} heteromorphism or \emph{horizontal} heteromorphism. For clarity, this article focuses on the horizontal double profunctors. Vertical double profunctors can be defined by taking the transpose. That is, $H$ defines for each $c\in C, d \in D$ a set of horizontal heteromorphisms from $d$ to $c$ $H(d,c)$ so that a heteromorphism $h \in H(d,c)$ can be composed with horizontal morphisms $f : d' \to d$ in $D$ and $g : c \to c'$ in $C$ to yield a $f;h;g \in H(d',c')$. Furthermore, $H$ defines for each heteromorphisms $h \in H(d,c), h' \in H(d',c')$ and \emph{vertical} arrows $\alpha : d \to d', \beta : c \to c'$ a notion of hetero-2-cell: \begin{displaymath} \begin{matrix} d &\stackrel{h}{\to} & c \\ {}^{\mathllap{\alpha}}\downarrow &\Downarrow^{\mathrlap{\phi}}& \downarrow^{\mathrlap{\beta}} \\ d' &\underset{h'}{\to} & c' \end{matrix} \end{displaymath} That can be composed vertically with hetero-2-cells along $h,h'$ and horizontally with 2-cells in $D, C$ of the appropriate shape along $\alpha, \beta$. \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} A double profunctor can be defined in several equivalent ways. In each case, however, we must choose whether to regard the ``vertical'' or the ``horizontal'' direction as primary; applying transposes results in a different notion of double profunctor. \hypertarget{as_internal_profunctors_in_cat}{}\subsubsection*{{As internal profunctors in Cat}}\label{as_internal_profunctors_in_cat} Since a (strict) double category is an [[internal category]] in [[Cat]], it makes sense to define a \textbf{double profunctor} to be an [[internal profunctor]] in $Cat$. Thus, if $C$ and $D$ are double categories, a double profunctor $C ⇸ D$ consists of a span $C_0 \leftarrow H \to D_0$ in $Cat$, together with actions $C_1 \times_{C_0} H \to H$ and $H\times_{D_0} D_1 \to H$ which are associative and commute with each other. \hypertarget{as_collages_in_dblcat}{}\subsubsection*{{As collages in DblCat}}\label{as_collages_in_dblcat} Another natural way to define a double profunctor is in terms of its [[collage]]. From this perspective, a double profunctor $C ⇸ D$ consists of a double category $H$, together with double functors $C\to H$ and $D\to H$ such that: \begin{enumerate}% \item The images of $C$ and $D$ in $H$ are disjoint. \item The induced functor $C\sqcup D\to H$ is bijective on objects and vertical arrows. \item Each functor $C\to H$ and $D\to H$ is fully faithful on horizontal arrows and squares. \item There are no horizontal arrows in $H$ from an object of $C$ to an object of $D$, and therefore also no squares whose horizontal source is a vertical arrow in $C$ and whose horizontal target is a vertical arrow in $D$. \end{enumerate} In order to identify this with the previous definition as written, for a double category $C = C_1 \;\rightrightarrows\; C_0$ written as an internal category in $Cat$, we have to write the arrows of $C_0$ vertically and the objects of $C_1$ horizontally. Defined in this way, double profunctors can be seen to be precisely the two-sided [[codiscrete cofibration|codiscrete cofibrations]] in the 2-category $DblCat$ of double categories, double functors, and horizontal transformations. \hypertarget{as_spanvalued_double_functors}{}\subsubsection*{{As Span-valued double functors}}\label{as_spanvalued_double_functors} A third natural way to define double profunctors is as functors defined on $D^{op}\times C$. In order to make this agree with the previous two definitions, we have to consider \emph{lax} double functors from $D^{op}\times C$ to $Span$, where $D^{op}$ denotes horizontal reversal, and $Span$ denotes the (pseudo) double category whose objects are sets, whose horizontal arrows are functions, and whose vertical arrows are spans. \hypertarget{explicit_definition}{}\subsubsection*{{Explicit definition}}\label{explicit_definition} Each of these definitions can be unraveled to give a more explicit definition, and thereby shown to be the same. Explicitly, a double profunctor $H\colon C ⇸ D$ consists of the following. \begin{itemize}% \item An ordinary [[profunctor]] $H^0\colon C^0 ⇸ D^0$, where now $C^0$ denotes the \emph{horizontal} category of $C$. \item An ordinary profunctor $H^1 \colon C^1 ⇸ D^1$. \item Each $r \in H^1(q,p)$ is assigned a vertical source $s(r) \in H^0(s(q),s(p))$ and target $t(r) \in H^0(t(q),t(p))$. \item Each $h \in H^0(d,c)$ is assigned an identity $1_h \in H^1(1_d,1_c)$. \item If $r_1 \in H^1(q_1,p_1)$ and $r_2 \in H^1(q_2,p_2)$ and $t(r_1) = s(r_2)$ (hence $t(q_1)=s(q_2)$ and $t(p_1)=s(p_2)$), then there is a vertical composite $r_2 \boxminus r_1 \in H^1(q_2 q_1,p_2 p_1)$ with $s(r_2\boxminus r_1) = s(r_1)$ and $t(r_2\boxminus r_1) = t(r_2)$. \item The composition $\boxminus$ is associative and unital (with $1_h$ as identities), and interchanges with the action of the profunctor $H^1$ and the vertical composition of squares in $C$ and $D$. \end{itemize} \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} \begin{itemize}% \item As with any notion of profunctor, the appropriate [[hom functor|hom]] should be a double profunctor. In fact, since there are 2 kinds of morphism, there are 2 different hom profunctors. Following the convention above, the \emph{horizontal} hom is a profunctor $C ⇸ C$ and is given by the canonical span $C_0 \stackrel{s}{\leftarrow} C_1 \stackrel{t}{\to} C_0$ and the vertical hom is just the horizontal hom on the transpose. \item If $C$ and $D$ are [[strict 2-categories]] regarded as vertically-discrete double categories, then a double profunctor $C ⇸ D$ is the same as a $Cat$-[[enriched category|enriched]] [[profunctor]], i.e. a strict 2-functor $D^{op}\times C \to Cat$. There is a corresponding statement in the pseudo case (see below). \item On the other hand, if $C$ and $D$ are 2-categories regarded as \emph{horizontally}-discrete double categories, then a double profunctor $C ⇸ D$ is the same as a lax 2-functor $D^{co}\times C \to Span$, or equivalently a normal lax 2-functor $D^{co}\times C \to Prof$. \end{itemize} \hypertarget{weakenings}{}\subsection*{{Weakenings}}\label{weakenings} The definition can be weakened to the case when the composition of $C$ and $D$ is weak in one direction or the other, or both (modulo a suitable definition of the latter situation, see [[double category]] for several possibilities). \begin{itemize}% \item The internal definition can easily be weakened in the case when $C$ and $D$ are \emph{horizontally} pseudo, since then they are simply pseudo internal categories in $Cat$. \item The collage definition, on the other hand, can easily be weakened to the case when $C$ and $D$ are \emph{vertically} pseudo, by looking at codiscrete cofibrations in the 2-category of vertically-pseudo double categories, pseudo double functors, and horizontal transformations. The explicit description of the collages could also be given for horizontally or doubly pseudo double categories, although in those cases it would be harder to identify them with codiscrete cofibrations, since horizontal transformations would no longer be the 2-cells in a 2-category (only a [[tricategory]] of some sort). \item The Span-valued double functor definition makes perfect sense as written if $C$ and $D$ are vertically pseudo, and also if they are horizontally or doubly pseudo, modulo a suitable definition of ``vertically lax functor'' in the latter two cases. \item The explicit definition can also easily be weakened, with an insertion of coherence isomorphisms for $C$ and $D$ in appropriate places. \end{itemize} There is also a natural notion of profunctor between [[virtual double categories]], namely the proarrows in the [[virtual equipment]] $vDblProf = KMod(Span,fc)$ whose objects are virtual double categories (here $fc$ is the free-category monad on $Span = Span(Set)$). If $C$ and $D$ are (possibly vertically pseudo) double categories, regarded as vertically-virtual double categories, then any double profunctor $C ⇸ D$ in the sense of the above definitions can also be considered as a ``virtual-double profunctor'' in a straightforward way. However, not every virtual-double profunctor between double categories is a double profunctor; those that are are those satisfying a ``representability'' property. \hypertarget{composites}{}\subsection*{{Composites}}\label{composites} Composition of double profunctors is, unfortunately, hard to define and not well-behaved. Several of the above definitions suggests a possible way to compose them, but not all of these definitions work. In particular, there is not a double category of double categories, double functors, and double profunctors. \hypertarget{using_internal_profunctors}{}\subsubsection*{{Using internal profunctors}}\label{using_internal_profunctors} For instance, internal profunctors can be composed, using a coequalizer, in any category which has coequalizers preserved by pullback---but while $Cat$ has coequalizers, they are not preserved by pullback, so this does not work. (This failure has nothing to do with strictness or weakness; [[2-colimits]] in $Cat$ are also not preserved by [[2-pullbacks]].) This definition does, however, suggest a replacement for the nonexistent double category of double profunctors. Namely, internal categories, functors, and profunctors in \emph{any} category with pullbacks always form a [[virtual double category]], and in fact a [[virtual equipment]]. Thus, in particular, there is a virtual equipment $DblProf$ of double categories, double functors, and double profunctors. In terms of the explicit definition, a cell in $DblProf$ with some given boundary consists of: \begin{itemize}% \item An ordinary cell in $Prof$, whose boundary is obtained by applying $(-)^0$, and \item Another ordinary cell in $Prof$, whose boundary is obtained by applying $(-)^1$, such that \item Vertical sources, targets, identities, and composites are respected. \end{itemize} For many purposes, having a virtual equipment of double profunctors is sufficient. For instance, this is all we need in order to talk about [[weighted limits]], and in order to define [[generalized multicategories]]. We can also use this as a setting in which to ask whether some particular pair (or string) of double profunctors might have a composite, or a ``weak composite,'' as described at [[tensor product]]. The virtual equipment $DblProf$ is also contained as a non-full sub-virtual-equipment of the virtual equipment $vDblProf$ of virtual double categories, functors, and virtual-double profunctors mentioned above. \hypertarget{using_collages}{}\subsubsection*{{Using collages}}\label{using_collages} The standard way to compose codiscrete cofibrations $C\to H \leftarrow D$ and $D\to K\leftarrow E$ is to take the pushout (or 2-pushout) $H\sqcup_D K$ and then factor $C\sqcup E \to H\sqcup_D K$ as $C\sqcup E \to H\circ K \to H\sqcup_D K$ in some way such as to make $C\sqcup E \to H\circ K$ codiscrete. We can do this for codiscrete cofibrations in $DblCat$, but the resulting composition operation is not associative, since pushouts in $DblCat$ do not preserve the requisite factorizations. I believe that the binary composite of double profunctors defined in this way is a ``weak composite'' in the virtual double category $DblProf$, i.e. it has a universal property relative to cells with source of length 2 only. We can likewise define basic $n$-ary composites of codiscrete cofibrations by taking an $n$-ary pushout and then a factorization, but for $n\gt 2$, as far as I can tell, there is little relation between these composites and $DblProf$. In particular, these composites form a ``lax double category'', whereas a virtual double category with all weak composites can be identified with an ``oplax double category.'' I also don't know whether the cells in $DblProf$ with source of length $\gt 2$ can be seen from the perspective of collages. [[!redirects double profunctors]] [[!redirects DblProf]] [[!redirects vDblProf]] [[!redirects virtual double profunctor]] [[!redirects virtual double profunctors]] [[!redirects double distributor]] [[!redirects double distributors]] \end{document}