The word problem for double categories
Antonin Delpeuch

TL;DR
This paper presents a quadratic algorithm to solve the word problem in free double categories by translating it into the well-understood word problem for 2-categories, simplifying reasoning and revealing that double categories are not more expressive than 2-categories.
Contribution
It introduces a translation method from double categories to 2-categories that enables efficient decision procedures for diagram equality.
Findings
Quadratic algorithm for diagram equality in free double categories.
Double categories are not more expressive than 2-categories.
The translation helps reason about double categories using 2-category language.
Abstract
We solve the word problem for free double categories without equations between generators by translating it to the word problem for 2-categories. This yields a quadratic algorithm deciding the equality of diagrams in a free double category. The translation is of interest in its own right since and can for instance be used to reason about double categories with the language of 2-categories, sidestepping the pinwheel problem. It also shows that although double categories are formally more general than 2-categories, they are not actually more expressive, explaining the rarity of applications of this notion.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Homotopy and Cohomology in Algebraic Topology · Algebraic structures and combinatorial models
\eaddress
\amsclass18D05
The word problem for double categories
Antonin Delpeuch
Department of Computer Science
University of Oxford
Abstract
We solve the word problem for free double categories without equations between generators by translating it to the word problem for 2-categories. This yields a quadratic algorithm deciding the equality of diagrams in a free double category. The translation is of interest in its own right since and can for instance be used to reason about double categories with the language of 2-categories, sidestepping the pinwheel problem. It also shows that although double categories are formally more general than 2-categories, they are not actually more expressive, explaining the rarity of applications of this notion.
keywords:
double categories, word problem, string diagrams
Introduction
The combinatorial structure of double categories has attracted a lot of attention since the notion was introduced by Ehresmann [1963]. Informally, one can describe double categories by the shape of their string diagrams. Unlike 2-categories where the edges are required to flow along a specified direction (usually vertically), 2-cells in double categories can connect to both horizontal and vertical wires. Therefore they not only have a vertical domain and codomain, but also a horizontal domain and codomain. These definitions are made precise in Section 1.
At a first glance, double categories could be considered a more natural categorical axiomatization of planar systems, since they treat the two dimensions of the plane in a dual, interchangeable way. In comparison, the vertical and horizontal compositions in 2-categories are intrisically different, forcing diagrams to flow in a specified direction. However, this uniform behaviour in two dimensions comes at a cost known as the pinwheel problem. Concretely, this problem manifests itself in the fact that not all planar arrangements of 2-cells can be composed, even if all local compatibility conditions are satisfied. For a diagram to be interpreted as a 2-cell it must be binary composable and this can fail if the diagram contains a so-called pinwheel, represented later in Figure 2.
A lot of work has already been dedicated to characterizing which arrangements of 2-cells can be composed in a double category, using order-theoretic representations of these arragements [Dawson and Paré, 1993; Dawson, 1995]. In this work, we focus instead on the word problem for 2-cells in double categories. Given two binary composable diagrams, we want to determine whether they represent the same 2-cell or not. Dawson et al. [2004] have studied this problem in the case of free extensions of double categories, showing for instance that the word problem can become undecidable with the addition of a single free 2-cell.
We study the word problem for free double categories, meaning that no equations are imposed on the generators. The only equations relating expressions in this context are the axioms of double categories. We introduce a correspondence between a free double category and a free 2-category, for which the word problem is solved [Delpeuch and Vicary, 2018]. We obtain as a result a quadratic time algorithm to determine if two double category diagrams are equivalent (Theorem 1).
It might be worth explaining why this word problem is of interest. Word problems have not attracted much attention in category theory so far, perhaps because they are wrongly seen as computational problems of little relevance to mathematics. In fact, studying the word problem for an algebraic structure often surfaces profound algebraic properties of that structure, and is key to understanding its combinatorics. For instance, Squier [1987] established a correspondence between the existence of a convergent presentation for a monoid and its homological type. Group theory in another example: the notion of automatic group [Epstein et al., 1992] was originally motivated by computational properties, but turned out to have a simple characterization in terms of Cayley graphs (ibid.). It has found fruitful applications to the braid group [Charney, 1992] and mapping class groups in general [Mosher, 1995], among others.
Our solution to the word problem for double categories relies on a reduction to the word problem for 2-categories. Here again, the translation used is of its own interest, as it establishes a tight relation between the combinatorics of 2-categories and that of double categories. In fact, we will argue in Section 6 that free 2-categories should be preferred to free double categories, as they are simpler, equally expressive and do not suffer from the pinwheel problem.
The idea of the correspondence is very simple. In order to simulate the horizontal wires of a double category in a 2-category, we simply “rotate the string diagrams by ”. In Section 3, we make this correspondence precise and show that it respects the notions of equivalences on both structures. This lets us solve the word problem for free double categories in Section 5.
\alpha$$\xmapsto{t}$$\alpha
This correspondence between free double categories and free 2-categories is motivated by the word problem but is of interest in its own right: it shows that one does not gain much by considering a free double category instead of the corresponding free 2-category. Reasoning in a 2-category avoids the pinwheel problem entirely as the validity of a string diagram in this structure can be checked locally. Section 6 shows how the translation could be extended to diagrams which include pinwheels, giving them a meaning in the free 2-category. This has also practical implications: one can use the translation to reason about double categories in proof assistants such as homotopy.io [Heidemann et al., 2019] which use a globular notion of n-category.
Acknowledgements
We thank Jamie Vicary, Jules Hedges, Robert Paré, Dorette Pronk and the anonymous reviewer for their feedback on this work. The author is supported by an EPSRC studentship.
1 Double categories
Definition 1.1**.**
Let be a category. An internal category in consists of the following data:
- •
a pair of objects , that we think of as the sets of morphisms and objects
- •
morphisms , intuitively the domain and codomain functions
- •
a morphism , taking an object to its identity map;
- •
a morphism , where is the pullback (which is therefore required to exist) of . This represents the multiplication of compatible pairs of morphisms.
These morphisms are required to satisfy equalities, which correspond to the axioms of a category (associativity and unitality of composition, as well as equations for the domains and codomains of identities and composites).
The definition above is chosen such that an internal category in is a small category. The purpose of this concept is that its generality makes it possible to interpret it in other categories.
Definition 1.2**.**
A double category is an internal category in , the category of small categories.
This definition is concise and this conciseness justifies the interest in this structure, which was originally introduced by Ehresmann [1963]. However, it is of little help to build intuition about the nature of such an object, so let us unfold its content. A double category consists of an object category and a morphisms category , with functors , and where is defined as above. We will call
- •
objects of as objects of the double category;
- •
morphisms of as vertical morphisms of the double category;
- •
objects of as horizontal morphisms of the double category;
- •
morphisms of as 2-cells of the double category.
Initially, it can seem confusing that objects of are thought of as morphisms. The reason for this is that by forgetting morphisms, i.e. taking the image of our internal category via the forgetful functor , we obtain an internal category in , i.e. a small category. We will call this the horizontal category of the double category. As its morphisms are the objects of , this justifies their name. These horizontal morphisms have as domains and codomains objects of . These objects are also involved in another category, namely itself, that we will call the vertical category of the double category.
Any 2-cell has two horizontal morphisms as domain and codomain, and as a morphism of . We will call these the horizontal domain and codomain of . Furthermore, it is associated by the internal category structure to and , which are vertical morphisms. We will therefore call these the vertical domain and codomain of . Finally, the functoriality of and ensures that for instance and similarly for and . This suggests the representation of as a square:
Although this diagram is similar to commutative diagrams used in category theory, we stress that it is here used in a more general sense, as composing horizontal and vertical morphisms does not make sense in general.
The 2-cells in a double category can be composed in two different ways. First, as morphisms of , two 2-cells can be composed if they have compatible horizontal domain and codomain. We call this the vertical composition. Second, the functor defines a composition for 2-cells with compatible vertical domains and codomain, and we call this the horizontal composition. These compositions can be represented with diagrams:
The functoriality of ensures that these two compositions are compatible: for all 2-cells such that both sides of the equation are defined. This means that the following diagram is unambiguous:
[TABLE]
Given that the horizontal and vertical compositions are also associative, it is natural to represent composite 2-cells as tilings of rectangles in the plane, with the appropriate conditions on edges to ensure compatibility between the composed 2-cells. Dawson and Pare [1993] have shown that if there are two ways to interpret such a tiling as a tree of horizontal and vertical compositions, then the resulting 2-cells will be equal. However, there exist tilings which satisfy the local compatibility conditions but do not arise from the horizontal and vertical compositions. The minimal example of this is known as the pinwheel and is shown in Figure 2.
It was then shown by Dawson [1995] that this is essentially the only obstacle to composition of diagrams in double categories.
2 Free double categories
Double categories are rich objects and defining them therefore requires some care. Given horizontal and vertical categories with the same objects, and a set of generating tiles whose boundaries are chosen from the horizontal and vertical categories, we want to generate the free double category on these tiles.
One simple approach to generate such a double category would be to use its definition as internal category object in , and simply internalize the definition of a free category on a graph. A graph object in is called a double graph and is essentially a double category without identities and compositions. Interpreted in , the construction which defines a free category object from a graph object does give a double category, but as pointed out by Dawson and Paré [2002] this imposes important restrictions on the boundaries of the generating tiles: they must be generating morphisms of the resulting vertical and horizontal categories. Therefore, all generated composites have a grid-like shape:
Dawson and Paré [2002] propose a more general construction which allows identities as cell boundaries. To do so they use the notion of reflexive graph: it is a directed graph with designated loops on each vertex. One can define the free category generated by a reflexive graph, where the loops are interpreted as identities. Internalized in , this gives rise to the notion of double reflexive graph which generates a double category. This makes it possible to use generators which have identities as boundaries:
As this is still not as general as it could be, Fiore et al. [2008] introduces the notion of double derivation scheme. A double derivation scheme is a double graph whose horizontal and vertical objects form categories. Therefore, generating a double category from a double derivation scheme makes it possible to use arbitrary boundaries for the generating cells. The main difference with the previous approaches is that the notion of double derivation scheme does not arise by internalizing in a notion formulated in the internal language of categories. Moreover a double derivation scheme can also introduce algebraic equations between expressions, quotienting the generated structure accordingly. In our case, no such equations are used, so we give a simpler description of the construction.
Definition 2.1**.**
A double signature is given by:
- •
a set of objects ;
- •
a set of generating horizontal morphisms ;
- •
a set of generating vertical morphisms ;
- •
a set of generating 2-cells .
Furthermore each is associated with and similarly for . This defines free categories and . Each is associated with compatible vertical and horizontal domains and codomains and . The required compatibility is and three other similar equations.
The set of 2-cells of the double category generated by this data is generated inductively from the generators in , vertical and horizontal identities. From these generators we take the closure by vertical and horizontal composition of compatible cells: this gives us the set of 2-cell expressions on the signature. To obtain the set of 2-cells, we quotient by unitality and associativity of the vertical and horizontal compositions and by the exchange law. Furthermore, horizontal and vertical identities on identity morphisms (depicted as empty 2-cells) are equated. These are precisely the laws of double categories, hence this defines the free double category on the given data.
Expressions in double categories can be drawn as string diagrams [Myers, 2016], and in the sequel we will use the terms “expression” and “diagram” interchangeably. Here is an example of a series of equivalences between expressions of 2-cells, drawn as string diagrams:
[TABLE]
We draw horizontal wires in red, this will help us to to distinguish them from vertical wires in the next section. We also ommit region colors as they are irrelevant for equivalences and do not play any role in the word problem.
Our goal in this work is to propose an alternate representation for 2-cells, making it possible to decide whether two expressions of 2-cells are equivalent under these axioms.
3 Translation to 2-categories
Double categories can be seen as a generalization of 2-categories, as a 2-category is a double category where all vertical morphisms are identities. Given the inherent duality in double categories, a 2-category can also be seen as a double category with identity horizontal morphisms.
In this section, we show how a free double category can conversely give rise to a free 2-category. Our goal is to reuse known algorithms for the word problem in 2-categories [Delpeuch and Vicary, 2018] for double categories. To that end we use the string diagram calculus for 2-categories [Selinger, 2011].
Definition 3.1**.**
Given a double signature , we define the 2-category as the free 2-category generated by:
- •
objects ;
- •
1-morphisms for and for ;
- •
2-morphisms
Note that the vertical generators are reversed in the 2-category, making it possible to compose the horizontal and vertical domains together, and similarly for the codomain.
Definition 3.2**.**
Let be a 2-cell expression in . We inductively define its translation as a morphism in :
[TABLE]
Lemma 3.3**.**
The translation respects the axioms of double categories, i.e. it extends to a map from 2-cells in to 2-cells in .
Proof 3.4**.**
One can check that unitality and associativity are respected. The exchange law in double categories translates to the exchange law in 2-categories:
\mu$$\nu$$\alpha$$\beta$$\mapsto$$\mapsto$$\simeq$$\mu$$\alpha$$\nu$$\beta$$\mu$$\alpha$$\nu$$\beta
Our goal is to show the converse: if the translations of two expressions in are equivalent as morphisms in , then so are their antecedents in . To do so, we need to construct a reverse translation, from diagrams in the free 2-category to diagrams in the free double category.
4 Partial tilings
To provide an inverse to the translation , let us first introduce a necessary condition on a diagram in to be in the image of .
Definition 4.1**.**
A diagram is admissible if its domain is of the form and its codomain is of the form .
For all , is admissible. Conversely, for all admissible , we want to construct a corresponding tiling. To do so, we introduce the notion of partial tiling as an incomplete diagram in the free double category.
Definition 4.2**.**
Let , and and . Assume that is not an identity for and is not an identity for .
A partial tiling of type is a subdivision of the following shape into rectangles:
[TABLE]
Each of the rectangles in the subdivision is attributed a generator or a vertical or horizontal identity, such that the horizontal and vertical domains and codomains match on each edge.
We think of a partial tiling as some upper-left corner of a 2-cell in a double category. We will therefore draw partial tilings just like string diagrams for double categories, as in Figure 3.
Definition 4.3**.**
Two partial tilings are equivalent when they can be related by a series of applications of these rules (where can be an identity itself):
\alpha$$\simeq$$\alpha$$\simeq$$\alpha$$\alpha$$\simeq$$\alpha$$\simeq$$\alpha
as well as continuous translations of horizontal or vertical boundaries in the subdivision. We denote this equivalence by .
For instance, the two partial tilings in Figure 3 are equivalent.
In the special case where , and are identities and , , and assuming , there is an empty partial tiling of type :
[TABLE]
Another special case are partial tilings of type which have a rectangular shape. In this case, we can interpret them as 2-cells, but only if they are binary composable.
Lemma 4.4**.**
A partial tiling of type is binary composable if it can be obtained by repeated application of the horizontal and vertical composition from generators. In this case, it represents a 2-cell in , and its meaning is invariant under equivalence of partial tilings.
Proof 4.5**.**
If a diagram is binary composable then by the general associativity result of Dawson and Pare [1993], it can be interpreted as a 2-cell in which does not depend on the order of composition chosen. Then, equivalences of partial tilings correspond to unitality of identities when interpreted in a binary composable diagram, so the 2-cell is invariant under these equivalences.
Definition 4.6**.**
Let be an horizontal morphism in . It can be uniquely decomposed as a composition of generators . We define the length of as . Let and . We say that is a factor at index of . Similar notions are defined for vertical morphisms.
For instance, the factors at index [math] of a morphism are its prefixes.
Definition 4.7**.**
Let be a partial tiling of type and let be a generator. A gluing position of on is one of the following:
- •
if is a prefix of , then is a gluing position;
- •
if is a factor of at index and is an identity, then is a gluing position;
- •
if is a prefix of , then is a gluing position;
- •
if is a factor of at index and is an identity, then is a gluing position;
Furthermore, for all :
- •
if is a prefix of and is a prefix of , then is a gluing position;
- •
if is a factor of at index and is an identity, then is a gluing position;
- •
if is a factor of at index and is an identity, then is a gluing position.
For each gluing position we define the gluing of to , denoted by , by the partial tiling obtained by adjoining at the designated position, and adding any necessary identity to satisfy the condition of Definition 4.2.
Figure 4 shows all the possible gluing positions. Figure 5 shows how a generator can be glued at multiple positions on a partial tiling and how identities can be used to ensure that the resulting arrangement has non-identity inner boundaries.
Definition 4.8**.**
Let be a diagram in the free 2-category . We assume that the domain of is of the form with and paths of generators from .
Let be a level in and be the type of the diagram at this height, where and can possibly be identities unlike the others elements of the sequence.
We associate to this data a partial tiling , by induction on . If , is the empty partial tiling of type . Otherwise, let be the generator between levels and . We define as the gluing of on at the position indicated by the connection of to the level of .
Finally we define as for the final level of .
The construction relies on the following two lemmas:
Lemma 4.9**.**
Let be the generator between slices and in , a diagram in . If has at least one input wire, this determines a unique gluing position of on .
Proof 4.10**.**
Each wire crossing level in corresponds to an open wire on the boundary of , either in a vertical or horizontal boundary depending on the colour of the wire.
Let be the domain of .
By assumption, at least one of is not an identity. Assume first that is not an identity. As no horizontal inner boundaries of are identities, as required by Definition 4.2, any contiguous sequence of red wires in corresponds to a contiguous sequence of wires on some vertical boundary of .
Let be such that is a factor at index in . One can then check that is a valid gluing position for on .
Similarly, if is not an identity, then the corresponding wires in determine a unique occurrence of in a vertical boundary of , and by denoting by the index of in , this determines the gluing position .
Lemma 4.11**.**
Let again be the generator between slices and in , a diagram in . If has no input wire, meaning that its domain is the identity, then this determines either one or two gluing positions of on . If there are two such positions then .
Proof 4.12**.**
Let be the type of the diagram at height . Again, each wire in this sequence corresponds to an open wire on the boundary of . The wires passing to the left of in determine a position in this sequence where the generator is inserted. The gluing positions depend on this position.
If is bordered by two horizontal wires on each side (respectively two vertical wires), this determines a unique gluing position (respectively ) as in the previous lemma. Similarly, if neighbours a vertical wire on its left and a horizontal wire on its right, this determines a unique gluing position as in the previous lemma.
The remaining cases are when neighbours a horizontal wire on its left and a vertical wire on its right, when does not have any wire on its left and a vertical one on its right, when it has a horizontal wire on its left and none on its right, or when there are no wires neither on the left or the right of . In this case this determines two gluing positions and , and Figure 6 shows how in this case.
Lemma 4.13**.**
For all 2-cell diagrams such that
\mu$$\nu
is defined,
p(\text{ \leavevmode\hbox to28.85pt{\vbox to28.85pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-0.2pt\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\pgfsys@setlinewidth{0.4pt}\pgfsys@invoke{ }\nullfont\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }{{}}
{}{{}}{}
{}{{}}{}{}{}{}{{}}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@lineto{0.0pt}{28.45276pt}\pgfsys@lineto{28.45276pt}{28.45276pt}\pgfsys@lineto{28.45276pt}{0.0pt}\pgfsys@closepath\pgfsys@moveto{28.45276pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{13.91823pt}{21.33957pt}\pgfsys@curveto{13.91823pt}{23.84077pt}{11.89066pt}{25.86835pt}{9.38945pt}{25.86835pt}\pgfsys@curveto{6.88824pt}{25.86835pt}{4.86067pt}{23.84077pt}{4.86067pt}{21.33957pt}\pgfsys@curveto{4.86067pt}{18.83836pt}{6.88824pt}{16.81079pt}{9.38945pt}{16.81079pt}\pgfsys@curveto{11.89066pt}{16.81079pt}{13.91823pt}{18.83836pt}{13.91823pt}{21.33957pt}\pgfsys@closepath\pgfsys@moveto{9.38945pt}{21.33957pt}\pgfsys@stroke\pgfsys@invoke{ }
}{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.7}{0.0}{0.0}{0.7}{7.28055pt}{20.51318pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{\mu}}
}}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{23.18173pt}{7.11319pt}\pgfsys@curveto{23.18173pt}{9.4663pt}{21.2742pt}{11.37383pt}{18.9211pt}{11.37383pt}\pgfsys@curveto{16.568pt}{11.37383pt}{14.66046pt}{9.4663pt}{14.66046pt}{7.11319pt}\pgfsys@curveto{14.66046pt}{4.76009pt}{16.568pt}{2.85255pt}{18.9211pt}{2.85255pt}\pgfsys@curveto{21.2742pt}{2.85255pt}{23.18173pt}{4.76009pt}{23.18173pt}{7.11319pt}\pgfsys@closepath\pgfsys@moveto{18.9211pt}{7.11319pt}\pgfsys@stroke\pgfsys@invoke{ }
}{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.7}{0.0}{0.0}{0.7}{17.19217pt}{5.60626pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{\nu}}
}}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
{}{{}}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\pgfsys@color@rgb@stroke{1}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{1}{0}{0}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{1,0,0}{}\pgfsys@moveto{3.5566pt}{28.45276pt}\pgfsys@lineto{6.4291pt}{24.94978pt}\pgfsys@moveto{11.98814pt}{17.46092pt}\pgfsys@lineto{16.4716pt}{10.76909pt}\pgfsys@moveto{21.75153pt}{3.74356pt}\pgfsys@lineto{24.89616pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}\pgfsys@moveto{3.5566pt}{0.0pt}\pgfsys@lineto{8.1585pt}{16.83601pt}\pgfsys@moveto{10.64825pt}{25.83545pt}\pgfsys@lineto{11.38113pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
{}{{}}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}\pgfsys@moveto{17.07161pt}{0.0pt}\pgfsys@lineto{17.81375pt}{2.85417pt}\pgfsys@moveto{20.1076pt}{11.35086pt}\pgfsys@lineto{24.89616pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{}{}\hss}\pgfsys@discardpath\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope\hss}}\lxSVG@closescope\endpgfpicture}}})\simeq\text{
\leavevmode\hbox to57.31pt{\vbox to28.85pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-0.2pt\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\pgfsys@setlinewidth{0.4pt}\pgfsys@invoke{ }\nullfont\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }{{}}
{}{{}}{}
{}{{}}{}{}{}{}{{}}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@lineto{0.0pt}{28.45276pt}\pgfsys@lineto{56.90552pt}{28.45276pt}\pgfsys@lineto{56.90552pt}{0.0pt}\pgfsys@closepath\pgfsys@moveto{56.90552pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{23.83656pt}{14.22638pt}\pgfsys@curveto{23.83656pt}{19.534pt}{19.534pt}{23.83656pt}{14.22638pt}{23.83656pt}\pgfsys@curveto{8.91876pt}{23.83656pt}{4.6162pt}{19.534pt}{4.6162pt}{14.22638pt}\pgfsys@curveto{4.6162pt}{8.91876pt}{8.91876pt}{4.6162pt}{14.22638pt}{4.6162pt}\pgfsys@curveto{19.534pt}{4.6162pt}{23.83656pt}{8.91876pt}{23.83656pt}{14.22638pt}\pgfsys@closepath\pgfsys@moveto{14.22638pt}{14.22638pt}\pgfsys@stroke\pgfsys@invoke{ }
}{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.8}{0.0}{0.0}{0.8}{6.69255pt}{12.22638pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{p(\mu)}}
}}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{52.47018pt}{14.22638pt}\pgfsys@curveto{52.47018pt}{19.63388pt}{48.08664pt}{24.01743pt}{42.67914pt}{24.01743pt}\pgfsys@curveto{37.27164pt}{24.01743pt}{32.88809pt}{19.63388pt}{32.88809pt}{14.22638pt}\pgfsys@curveto{32.88809pt}{8.81888pt}{37.27164pt}{4.43533pt}{42.67914pt}{4.43533pt}\pgfsys@curveto{48.08664pt}{4.43533pt}{52.47018pt}{8.81888pt}{52.47018pt}{14.22638pt}\pgfsys@closepath\pgfsys@moveto{42.67914pt}{14.22638pt}\pgfsys@stroke\pgfsys@invoke{ }
}{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.8}{0.0}{0.0}{0.8}{35.57957pt}{12.22638pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{p(\nu)}}
}}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
{}{{}}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\pgfsys@color@rgb@stroke{1}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{1}{0}{0}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{1,0,0}{}\pgfsys@moveto{0.0pt}{14.22638pt}\pgfsys@lineto{4.4562pt}{14.22638pt}\pgfsys@moveto{23.99658pt}{14.22638pt}\pgfsys@lineto{32.7281pt}{14.22638pt}\pgfsys@moveto{52.63019pt}{14.22638pt}\pgfsys@lineto{56.90552pt}{14.22638pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}\pgfsys@moveto{14.22638pt}{0.0pt}\pgfsys@lineto{14.22638pt}{4.4562pt}\pgfsys@moveto{14.22638pt}{23.99657pt}\pgfsys@lineto{14.22638pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
{}{{}}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}\pgfsys@moveto{42.67914pt}{0.0pt}\pgfsys@lineto{42.67914pt}{4.27534pt}\pgfsys@moveto{42.67914pt}{24.17743pt}\pgfsys@lineto{42.67914pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{}{}\hss}\pgfsys@discardpath\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope\hss}}\lxSVG@closescope\endpgfpicture}}
}.
Similarly, if
\mu$$\nu
is defined, then
p(\text{ \leavevmode\hbox to28.85pt{\vbox to28.85pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-0.2pt\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\pgfsys@setlinewidth{0.4pt}\pgfsys@invoke{ }\nullfont\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }{{}}
{}{{}}{}
{}{{}}{}{}{}{}{{}}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@lineto{0.0pt}{28.45276pt}\pgfsys@lineto{28.45276pt}{28.45276pt}\pgfsys@lineto{28.45276pt}{0.0pt}\pgfsys@closepath\pgfsys@moveto{28.45276pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{13.91823pt}{21.33957pt}\pgfsys@curveto{13.91823pt}{23.84077pt}{11.89066pt}{25.86835pt}{9.38945pt}{25.86835pt}\pgfsys@curveto{6.88824pt}{25.86835pt}{4.86067pt}{23.84077pt}{4.86067pt}{21.33957pt}\pgfsys@curveto{4.86067pt}{18.83836pt}{6.88824pt}{16.81079pt}{9.38945pt}{16.81079pt}\pgfsys@curveto{11.89066pt}{16.81079pt}{13.91823pt}{18.83836pt}{13.91823pt}{21.33957pt}\pgfsys@closepath\pgfsys@moveto{9.38945pt}{21.33957pt}\pgfsys@stroke\pgfsys@invoke{ }
}{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.7}{0.0}{0.0}{0.7}{7.28055pt}{20.51318pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{\mu}}
}}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{23.18173pt}{7.11319pt}\pgfsys@curveto{23.18173pt}{9.4663pt}{21.2742pt}{11.37383pt}{18.9211pt}{11.37383pt}\pgfsys@curveto{16.568pt}{11.37383pt}{14.66046pt}{9.4663pt}{14.66046pt}{7.11319pt}\pgfsys@curveto{14.66046pt}{4.76009pt}{16.568pt}{2.85255pt}{18.9211pt}{2.85255pt}\pgfsys@curveto{21.2742pt}{2.85255pt}{23.18173pt}{4.76009pt}{23.18173pt}{7.11319pt}\pgfsys@closepath\pgfsys@moveto{18.9211pt}{7.11319pt}\pgfsys@stroke\pgfsys@invoke{ }
}{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.7}{0.0}{0.0}{0.7}{17.19217pt}{5.60626pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{\nu}}
}}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
{}{{}}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}\pgfsys@moveto{3.5566pt}{28.45276pt}\pgfsys@lineto{6.4291pt}{24.94978pt}\pgfsys@moveto{11.98814pt}{17.46092pt}\pgfsys@lineto{16.4716pt}{10.76909pt}\pgfsys@moveto{21.75153pt}{3.74356pt}\pgfsys@lineto{24.89616pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ }
{}{{}}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\pgfsys@color@rgb@stroke{1}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{1}{0}{0}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{1,0,0}{}\pgfsys@moveto{3.5566pt}{0.0pt}\pgfsys@lineto{8.1585pt}{16.83601pt}\pgfsys@moveto{10.64825pt}{25.83545pt}\pgfsys@lineto{11.38113pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{}{{}}
{{{{{}}{}{}{}{}{{}}}}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\pgfsys@color@rgb@stroke{1}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{1}{0}{0}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{1,0,0}{}\pgfsys@moveto{17.07161pt}{0.0pt}\pgfsys@lineto{17.81375pt}{2.85417pt}\pgfsys@moveto{20.1076pt}{11.35086pt}\pgfsys@lineto{24.89616pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{}{}\hss}\pgfsys@discardpath\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope\hss}}\lxSVG@closescope\endpgfpicture}}})\simeq\text{ \leavevmode\hbox to28.85pt{\vbox to57.31pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-14.42638pt\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\pgfsys@setlinewidth{0.4pt}\pgfsys@invoke{ }\nullfont\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }{{}}
\pgfsys@beginscope\pgfsys@invoke{ }{{}}{{}}{{}}
{}{{}}{}
{}{{}}{}{}{}{}{{}}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{28.45276pt}{-14.22638pt}\pgfsys@moveto{28.45276pt}{-14.22638pt}\pgfsys@lineto{0.0pt}{-14.22638pt}\pgfsys@lineto{0.0pt}{42.67914pt}\pgfsys@lineto{28.45276pt}{42.67914pt}\pgfsys@closepath\pgfsys@moveto{0.0pt}{42.67914pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{24.53696pt}{0.0pt}\pgfsys@curveto{24.53696pt}{5.69444pt}{19.92082pt}{10.31058pt}{14.22638pt}{10.31058pt}\pgfsys@curveto{8.53194pt}{10.31058pt}{3.9158pt}{5.69444pt}{3.9158pt}{0.0pt}\pgfsys@curveto{3.9158pt}{-5.69444pt}{8.53194pt}{-10.31058pt}{14.22638pt}{-10.31058pt}\pgfsys@curveto{19.92082pt}{-10.31058pt}{24.53696pt}{-5.69444pt}{24.53696pt}{0.0pt}\pgfsys@closepath\pgfsys@moveto{14.22638pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ }
}{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.8}{0.0}{0.0}{0.8}{7.12682pt}{-2.0pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{p(\nu)}}
}}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{24.3893pt}{28.45276pt}\pgfsys@curveto{24.3893pt}{34.06564pt}{19.83926pt}{38.61568pt}{14.22638pt}{38.61568pt}\pgfsys@curveto{8.6135pt}{38.61568pt}{4.06346pt}{34.06564pt}{4.06346pt}{28.45276pt}\pgfsys@curveto{4.06346pt}{22.83987pt}{8.6135pt}{18.28984pt}{14.22638pt}{18.28984pt}\pgfsys@curveto{19.83926pt}{18.28984pt}{24.3893pt}{22.83987pt}{24.3893pt}{28.45276pt}\pgfsys@closepath\pgfsys@moveto{14.22638pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
}{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.8}{0.0}{0.0}{0.8}{6.69255pt}{26.45276pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{p(\mu)}}
}}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}}
{}{{}}{}{{}{}}
{{{{{}}{}{}{}{}{{}}}{}}}{}{}{}{{}{}}
{{{{{}}{}{}{}{}{{}}}{}}}{}{{{{{}}{}{}{}{}{{}}}{}}}{{}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}{}}}{{}}{}{}{}\pgfsys@moveto{14.22638pt}{-14.22638pt}\pgfsys@lineto{14.22638pt}{-10.47057pt}\pgfsys@moveto{14.22638pt}{10.47058pt}\pgfsys@lineto{14.22638pt}{18.12985pt}\pgfsys@moveto{14.22638pt}{38.77568pt}\pgfsys@lineto{14.22638pt}{42.67914pt}\pgfsys@stroke\pgfsys@invoke{ }
{}{{}}{}{{}{}}
{{{{{}}{}{}{}{}{{}}}{}}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}{}}}{{}}{}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\pgfsys@color@rgb@stroke{1}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{1}{0}{0}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{1,0,0}{}\pgfsys@moveto{28.45276pt}{0.0pt}\pgfsys@lineto{24.69696pt}{0.0pt}\pgfsys@moveto{3.75581pt}{0.0pt}\pgfsys@lineto{0.0pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{}{{}{}}
{{{{{}}{}{}{}{}{{}}}{}}}{}{}{}
{}{{{{{}}{}{}{}{}{{}}}{}}}{{}}{}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\pgfsys@color@rgb@stroke{1}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{1}{0}{0}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{1,0,0}{}\pgfsys@moveto{28.45276pt}{28.45276pt}\pgfsys@lineto{24.54932pt}{28.45276pt}\pgfsys@moveto{3.90347pt}{28.45276pt}\pgfsys@lineto{0.0pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ }
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope
\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{}{}\hss}\pgfsys@discardpath\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope\hss}}\lxSVG@closescope\endpgfpicture}}
}.
Proof 4.14**.**
By duality let us prove the result for the first case, horizontal composition. Let \phi=\text{ \leavevmode\hbox to28.85pt{\vbox to28.85pt{\pgfpicture\makeatletter\hbox{\hskip 0.2pt\lower-0.2pt\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\pgfsys@setlinewidth{0.4pt}\pgfsys@invoke{ }\nullfont\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }{{}} {}{{}}{} {}{{}}{}{}{}{}{{}}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@lineto{0.0pt}{28.45276pt}\pgfsys@lineto{28.45276pt}{28.45276pt}\pgfsys@lineto{28.45276pt}{0.0pt}\pgfsys@closepath\pgfsys@moveto{28.45276pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{13.91823pt}{21.33957pt}\pgfsys@curveto{13.91823pt}{23.84077pt}{11.89066pt}{25.86835pt}{9.38945pt}{25.86835pt}\pgfsys@curveto{6.88824pt}{25.86835pt}{4.86067pt}{23.84077pt}{4.86067pt}{21.33957pt}\pgfsys@curveto{4.86067pt}{18.83836pt}{6.88824pt}{16.81079pt}{9.38945pt}{16.81079pt}\pgfsys@curveto{11.89066pt}{16.81079pt}{13.91823pt}{18.83836pt}{13.91823pt}{21.33957pt}\pgfsys@closepath\pgfsys@moveto{9.38945pt}{21.33957pt}\pgfsys@stroke\pgfsys@invoke{ } }{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.7}{0.0}{0.0}{0.7}{7.28055pt}{20.51318pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{\mu}} }}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}} \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}} {{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{23.18173pt}{7.11319pt}\pgfsys@curveto{23.18173pt}{9.4663pt}{21.2742pt}{11.37383pt}{18.9211pt}{11.37383pt}\pgfsys@curveto{16.568pt}{11.37383pt}{14.66046pt}{9.4663pt}{14.66046pt}{7.11319pt}\pgfsys@curveto{14.66046pt}{4.76009pt}{16.568pt}{2.85255pt}{18.9211pt}{2.85255pt}\pgfsys@curveto{21.2742pt}{2.85255pt}{23.18173pt}{4.76009pt}{23.18173pt}{7.11319pt}\pgfsys@closepath\pgfsys@moveto{18.9211pt}{7.11319pt}\pgfsys@stroke\pgfsys@invoke{ } }{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.7}{0.0}{0.0}{0.7}{17.19217pt}{5.60626pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{\nu}} }}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}} \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}} {}{{}}{}{{}} {{{{{}}{}{}{}{}{{}}}}}{}{}{}{{}} {{{{{}}{}{}{}{}{{}}}}}{}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{} {}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\pgfsys@color@rgb@stroke{1}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{1}{0}{0}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{1,0,0}{}\pgfsys@moveto{3.5566pt}{28.45276pt}\pgfsys@lineto{6.4291pt}{24.94978pt}\pgfsys@moveto{11.98814pt}{17.46092pt}\pgfsys@lineto{16.4716pt}{10.76909pt}\pgfsys@moveto{21.75153pt}{3.74356pt}\pgfsys@lineto{24.89616pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{}{{}} {{{{{}}{}{}{}{}{{}}}}}{}{}{} {}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}\pgfsys@moveto{3.5566pt}{0.0pt}\pgfsys@lineto{8.1585pt}{16.83601pt}\pgfsys@moveto{10.64825pt}{25.83545pt}\pgfsys@lineto{11.38113pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ } {}{{}}{}{{}} {{{{{}}{}{}{}{}{{}}}}}{}{}{} {}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}\pgfsys@moveto{17.07161pt}{0.0pt}\pgfsys@lineto{17.81375pt}{2.85417pt}\pgfsys@moveto{20.1076pt}{11.35086pt}\pgfsys@lineto{24.89616pt}{28.45276pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{}{}\hss}\pgfsys@discardpath\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope\hss}}\lxSVG@closescope\endpgfpicture}}}. Let be the level between and in .
Assume first that the red edge connecting and is not empty (it is not an identity vertical morphism). Then p_{h}(\phi)=\text{ \leavevmode\hbox to51.62pt{\vbox to28.85pt{\pgfpicture\makeatletter\hbox{\hskip 5.89056pt\lower-0.2pt\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\pgfsys@setlinewidth{0.4pt}\pgfsys@invoke{ }\nullfont\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }{{}} {}{{}}{} {}{} {}{} {}{} {}{} {}{} {}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{-5.69057pt}{0.0pt}\pgfsys@lineto{0.0pt}{0.0pt}\pgfsys@lineto{0.0pt}{22.76228pt}\pgfsys@lineto{45.52458pt}{22.76228pt}\pgfsys@lineto{45.52458pt}{28.45287pt}\pgfsys@lineto{-5.69057pt}{28.45287pt}\pgfsys@lineto{-5.69057pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{} {}{} {}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@lineto{22.76228pt}{0.0pt}\pgfsys@lineto{22.76228pt}{22.76228pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{} {}{} {}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{-5.69057pt}{22.76228pt}\pgfsys@lineto{0.0pt}{22.76228pt}\pgfsys@lineto{0.0pt}{28.45287pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{19.78998pt}{11.38113pt}\pgfsys@curveto{19.78998pt}{16.02527pt}{16.02527pt}{19.78998pt}{11.38113pt}{19.78998pt}\pgfsys@curveto{6.737pt}{19.78998pt}{2.97229pt}{16.02527pt}{2.97229pt}{11.38113pt}\pgfsys@curveto{2.97229pt}{6.737pt}{6.737pt}{2.97229pt}{11.38113pt}{2.97229pt}\pgfsys@curveto{16.02527pt}{2.97229pt}{19.78998pt}{6.737pt}{19.78998pt}{11.38113pt}\pgfsys@closepath\pgfsys@moveto{11.38113pt}{11.38113pt}\pgfsys@stroke\pgfsys@invoke{ } }{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.7}{0.0}{0.0}{0.7}{4.78908pt}{9.63115pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{p(\mu)}} }}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}} \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}} {}{{}}{}{{}} {{{{{}}{}{}{}{}{{}}}}}{}{}{} {}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\pgfsys@color@rgb@stroke{1}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{1}{0}{0}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{1,0,0}{}\pgfsys@moveto{-5.69057pt}{11.38113pt}\pgfsys@lineto{2.83229pt}{11.38116pt}\pgfsys@moveto{19.93004pt}{11.38116pt}\pgfsys@lineto{22.76228pt}{11.38113pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{}{{}} {{{{{}}{}{}{}{}{{}}}}}{}{}{} {}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}\pgfsys@moveto{11.38113pt}{28.45287pt}\pgfsys@lineto{11.38116pt}{19.93004pt}\pgfsys@moveto{11.38116pt}{2.8323pt}\pgfsys@lineto{11.38113pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ } {}{{}}{} {}{}{}\pgfsys@moveto{34.14343pt}{28.45287pt}\pgfsys@lineto{34.14343pt}{22.76228pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{}{}\hss}\pgfsys@discardpath\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope\hss}}\lxSVG@closescope\endpgfpicture}}} and is obtained from by gluing on it the generators in . Since the vertical codomain of passes to the left of , these generators are glued on positions with . Performing these gluings on an empty diagram gives , so is equivalent to the required double diagram.
If there is no red edge connecting to then p_{h}(\phi)=\text{ \leavevmode\hbox to51.62pt{\vbox to28.85pt{\pgfpicture\makeatletter\hbox{\hskip 5.89056pt\lower-0.2pt\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\pgfsys@setlinewidth{0.4pt}\pgfsys@invoke{ }\nullfont\hbox to0.0pt{\pgfsys@beginscope\pgfsys@invoke{ }{{}} {}{{}}{} {}{} {}{} {}{} {}{} {}{} {}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{-5.69057pt}{0.0pt}\pgfsys@lineto{0.0pt}{0.0pt}\pgfsys@lineto{0.0pt}{22.76228pt}\pgfsys@lineto{45.52458pt}{22.76228pt}\pgfsys@lineto{45.52458pt}{28.45287pt}\pgfsys@lineto{-5.69057pt}{28.45287pt}\pgfsys@lineto{-5.69057pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{} {}{} {}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{0.0pt}{0.0pt}\pgfsys@lineto{22.76228pt}{0.0pt}\pgfsys@lineto{22.76228pt}{22.76228pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{} {}{} {}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{22.76228pt}{0.0pt}\pgfsys@lineto{45.52458pt}{0.0pt}\pgfsys@lineto{45.52458pt}{22.76228pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{} {}{} {}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{.5,.5,.5}\definecolor[named]{pgfstrokecolor}{rgb}{.5,.5,.5}\pgfsys@color@gray@stroke{.5}\pgfsys@invoke{ }\pgfsys@color@gray@fill{.5}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{.5,.5,.5}{}\pgfsys@moveto{-5.69057pt}{22.76228pt}\pgfsys@lineto{0.0pt}{22.76228pt}\pgfsys@lineto{0.0pt}{28.45287pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{{}}{{}}\hbox{\hbox{{\pgfsys@beginscope\pgfsys@invoke{ }{{}{{{}}}{{}}{}{}{}{}{}{}{}{}{}{{}\pgfsys@moveto{19.78998pt}{11.38113pt}\pgfsys@curveto{19.78998pt}{16.02527pt}{16.02527pt}{19.78998pt}{11.38113pt}{19.78998pt}\pgfsys@curveto{6.737pt}{19.78998pt}{2.97229pt}{16.02527pt}{2.97229pt}{11.38113pt}\pgfsys@curveto{2.97229pt}{6.737pt}{6.737pt}{2.97229pt}{11.38113pt}{2.97229pt}\pgfsys@curveto{16.02527pt}{2.97229pt}{19.78998pt}{6.737pt}{19.78998pt}{11.38113pt}\pgfsys@closepath\pgfsys@moveto{11.38113pt}{11.38113pt}\pgfsys@stroke\pgfsys@invoke{ } }{{{{}}\pgfsys@beginscope\pgfsys@invoke{ }\pgfsys@transformcm{0.7}{0.0}{0.0}{0.7}{4.78908pt}{9.63115pt}\pgfsys@invoke{ }\hbox{{\definecolor{pgfstrokecolor}{rgb}{0,0,0}\pgfsys@color@rgb@stroke{0}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{0}{0}{0}\pgfsys@invoke{ }\hbox{{p(\mu)}} }}\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}} \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope}}} {}{{}}{}{{}} {{{{{}}{}{}{}{}{{}}}}}{}{}{}\pgfsys@beginscope\pgfsys@invoke{ }\color[rgb]{1,0,0}\definecolor[named]{pgfstrokecolor}{rgb}{1,0,0}\pgfsys@color@rgb@stroke{1}{0}{0}\pgfsys@invoke{ }\pgfsys@color@rgb@fill{1}{0}{0}\pgfsys@invoke{ }\definecolor[named]{pgffillcolor}{rgb}{1,0,0}{}\pgfsys@moveto{-5.69057pt}{11.38113pt}\pgfsys@lineto{2.83229pt}{11.38116pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{{}}{}{{}} {{{{{}}{}{}{}{}{{}}}}}{}{}{} {}{{{{{}}{}{}{}{}{{}}}}}{{}}{}{}{}\pgfsys@moveto{11.38113pt}{28.45287pt}\pgfsys@lineto{11.38116pt}{19.93004pt}\pgfsys@moveto{11.38116pt}{2.8323pt}\pgfsys@lineto{11.38113pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ } {}{{}}{} {}{}{}\pgfsys@moveto{34.14343pt}{28.45287pt}\pgfsys@lineto{34.14343pt}{0.0pt}\pgfsys@stroke\pgfsys@invoke{ } \pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope{}{}{}\hss}\pgfsys@discardpath\pgfsys@invoke{\lxSVG@closescope }\pgfsys@endscope\hss}}\lxSVG@closescope\endpgfpicture}}} and is obtained from by gluing the generators in on the second part of its vertical codomain, so it can again be rewritten into the required form by unitality.
Lemma 4.15**.**
For any 2-cell diagram , .
Proof 4.16**.**
By induction on . If is a generator or the identity, the result holds.
If is a horizontal or vertical composition, then we use Lemma 4.13 and the induction hypothesis of the composed diagrams:
[TABLE]
Lemma 4.17**.**
Let be admissible diagrams in with . Then .
Proof 4.18**.**
By induction we can assume that and are related by a single exchange, swapping the generators between levels , and . Let be the generator between levels and and the one between and . It suffices to check that where are the gluing positions for the generators in and are their counterparts in . By a tedious case analysis one can check that because the generators at these slices can be exchanged, this ensures that the induced gluing positions are disjoint, such that the equivalence above either holds trivially (the partial tilings being syntactically equal) or via equivalences analogous to those of Figure 6.
5 Word problem
We can use the translation defined in the previous section to solve the word problem for double categories:
Theorem 1**.**
Let be a double signature. The word problem for 2-cells in the free double category can be solved in , where is the number of generators in the expressions and the number of connecting edges between them.
Proof 5.1**.**
Given two diagrams in , we can compute their translation in linear time. Then, we can check if these diagrams are equivalent as 2-cells in using the algorithm of Delpeuch and Vicary [2018], in . As is faithful (Lemma 4.17), this determines if and are equivalent in .
6 Conclusion
We have solved the word problem for free double categories by reducing it to the word problem for free 2-categories.
Interestingly, our translation from the free 2-category to the free double category works for all admissible diagrams, and admissibility is a simple condition on the domain and codomain. We are not requiring any global condition such as binary composability on the 2-cell. As a consequence, this translation can produce tilings which are not binary composable.
[TABLE]
It is therefore tempting to extend the forward translation to double category diagrams which are not binary composable. By the characterization of Dawson [1995] of non-composable diagrams, it is sufficient to translate the two pinwheels: by induction, all diagrams could then be interpreted. However, there could potentially be multiple ways to decompose a diagram as a tree of binary and pinwheel composites, so to define properly we would need an equivalent of the general associativity result of Dawson and Pare [1993] with pinwheel composition. That would only be possible given an appropriate notion of equivalence, which would amount to developing a notion of “double category with pinwheels”. This does not strike us as a particularly useful notion as it would be rather complicated, with four different composition operators and many axioms to relate their applications, only to represent planar systems.
What this really means is that free 2-categories already provide the appropriate notion of “free double category with pinwheel composites”, in the sense that they capture the desired combinatorics with a much simpler axiomatization.
This fact has been observed at an intuitive level by Reutter and Vicary [2019] who modeled biunitary connections in a 2-category rather than a double category, by using the same rotation. They noticed that biunitaries forming a pinwheel pattern could be composed into a new biunitary. As double categories are not equipped with such a composition, a 2-categorical model provides a more useful representation. Modelling biunitaries in double categories would artificially forbid pinwheel composites which are actually allowed physically. We suspect that other uses of double categories, for instance in computer science [Bruni et al., 2002], could be recast in 2-categories without loss of expressivity, as they do not rely on the exclusion of pinwheel composites.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Bruni et al. [2002] Roberto Bruni, José Meseguer, and Ugo Montanari. Symmetric monoidal and cartesian double categories as a semantic framework for tile logic. Mathematical Structures in Computer Science , 12(1):53–90, February 2002. ISSN 1469-8072, 0960-1295. 10.1017/S 0960129501003462 . · doi ↗
- 2Charney [1992] Ruth Charney. Artin groups of finite type are biautomatic. Mathematische Annalen , 292(1):671–683, March 1992. ISSN 1432-1807. 10.1007/BF 01444642 . · doi ↗
- 3Dawson and Paré [1993] R. Dawson and R. Paré. Characterizing tileorders. Order , 10(2):111–128, June 1993. ISSN 1572-9273. 10.1007/BF 01111295 . · doi ↗
- 4Dawson et al. [2004] R. J. M. Dawson, R. Paré, and D. A. Pronk. Free extensions of double categories. Cahiers de topologie et géométrie différentielle catégoriques , 45(1):35–80, 2004.
- 5Dawson [1995] Robert Dawson. A forbidden-suborder characterization of binarily-composable diagrams in double categories. Theory and Applications of Categories [electronic only] , 1:146–155, 1995. ISSN 1201-561X.
- 6Dawson and Pare [1993] Robert Dawson and Robert Pare. General associativity and general composition for double categories. Cahiers de Topologie et Géométrie Différentielle Catégoriques , 34(1):57–79, 1993.
- 7Dawson and Paré [2002] Robert Dawson and Robert Paré. What is a free double category like? Journal of Pure and Applied Algebra , 168(1):19–34, March 2002. ISSN 0022-4049. 10.1016/S 0022-4049(01)00049-4 . · doi ↗
- 8Delpeuch and Vicary [2018] Antonin Delpeuch and Jamie Vicary. Normalization for planar string diagrams and a quadratic equivalence algorithm. ar Xiv:1804.07832 [cs] , April 2018.
