The theory of opetopes via Kelly-Mac~Lane graphs
Eugenia Cheng
Department of Pure Mathematics
This paper follows from the work of \cite{che7} and \cite{che12}. In the former paper we give an explicit construction of opetopes, the underlying cell shapes in the theory of opetopic $n$-categories; at the heart of this construction is the use of certain trees. In the latter paper we give a description of trees using Kelly-Mac~Lane graphs. In the present paper we apply the latter to the former, to give a construction of opetopes using Kelly-Mac~Lane graphs.
macros1.tex

\input{diagrams}

\newcommand{\op}{\ensuremath{\mbox{\hspace{1pt}{\scriptsize op}}}}
\newcommand{\set}{\ensuremath{\mbox{\bfseries Set}}}
\newcommand{\Set}{\ensuremath{\mbox{\bfseries Set}}}
\newcommand{\cat}[1]{\ensuremath{\mbox{\bfseries {\upshape {#1}}}}}
\newcommand{\free}[1]{\ensuremath{{\mathcal F} \hspace{-1.5pt}
    {#1}^{\op}}}
\newcommand{\freee}[1]{\ensuremath{{\mathcal F} \hspace{-1.5pt}
    {#1}}}
\newcommand{\elt}[1]{\ensuremath{\mbox{\upshape elt} \hspace{1pt} {#1}}}
\newcommand{\sfree}[1]{\ensuremath{{\mathcal F} \hspace{-1.5pt}
    {#1}^{\mbox{\hspace{1pt}{\tiny op}}}}}
\newcommand{\cl}[1]{\ensuremath{\mathcal {#1}}}
\newcommand{\bb}[1]{\ensuremath{\mathbb {#1}}}

\newcommand{\xxx}{\ensuremath{
    \mbox{elt}\hspace{1pt}Q \times_{{\mathcal
    F}\hspace{-1pt}S^{\mbox{{\tiny op}}}}{\mathcal
    F}\hspace{-1pt}X^{\mbox{{\scriptsize op}}}}}

\newcommand{\xx}[3]{\ensuremath{
\mbox{elt}\hspace{1pt}{#1} \times_{{\mathcal
F}\hspace{-1pt}{#2}^{\mbox{{\tiny op}}}}{\mathcal
F}\hspace{-1pt}{#3}^{\mbox{{\scriptsize op}}}}}

\newcommand{\xv}[1]{\ensuremath{{#1}_1,\ldots,{#1}_n}}
\newcommand{\xvr}[2]{\ensuremath{{#1}_1,\ldots,{#1}_{#2}}}
\newcommand{\pr}{{\bfseries Proof.  }}
\newcommand{\kml}{Kelly-Mac~Lane }

\newcommand{\vect}[3]{\renewcommand{\arraystretch}{0.5}\ensuremath{
    \left(\begin{array}{@{} c @{\hspace{0pt}}l @{}} {#1} \\
    \downarrow & {#2} \\ {#3} \end{array}\right)}}

\newcommand{\tomspan}[8]
{\begin{picture}(80,50)      %
\put(8,10){${#2}\vect{#3}{#4}{#1}$}  %  bottom left
\put(29.5,35){$\vect{#5}{#6}{#1}$}  %  top
\put(47,10){$\vect{#3}{#4}{#1}$}  %  bottom right

\put(29,35){\vector(-2,-3){10}}  %
\put(40,35){\vector(2,-3){10}}  %
\put(24,30){\makebox(0,0)[r]{${#7}$}} %  left
\put(45,30){\makebox(0,0)[l]{${#8}$}}%  right

\end{picture}}


\newcommand{\tensordot}{\ensuremath{\otimes \cdots \otimes}}




\newcommand{\lra}{\ensuremath{\longrightarrow}}
\newcommand{\map}[1]{\ensuremath{\stackrel{{#1}}{\lra}}}
\newcommand{\simarr}{\ensuremath{\stackrel{\sim}{\longrightarrow}}}
\newcommand{\sm}{symmetric multicategory{}}
\newcommand{\sms}{symmetric multicategories{}}
\newcommand{\topd}{$(\cl{E},T)$-operad}
\newcommand{\tmcat}{$(\cl{E},T)$-multicategory}
\newcommand{\tmcats}{$(\cl{E},T)$-multicategories{}}
\newcommand{\tqopd}{$(\cl{E}_Q,T_Q)$-operad}
\newcommand{\tqmcat}{$(\cl{E}_Q,T_Q)$-multicategory}
\newcommand{\Topd}{\ensuremath{(\cl{E}, T)\mbox{-\cat{Operad}}}}
\newcommand{\Tmcat}{\ensuremath{(\cl{E},
    T)\mbox{-\cat{Multicat}}}}
\newcommand{\Tqopd}{\ensuremath{(\cl{E}_Q,
    T_Q)\mbox{-\cat{Operad}}}}
\newcommand{\Tqmcat}{\ensuremath{(\cl{E}_Q,
    T_Q)\mbox{-\cat{Multicat}}}}
\newcommand{\st}{\ensuremath{(\cl{E},T)}}
\newcommand{\mcat}{multicategory }
\newcommand{\mcats}{multicategories }
\newcommand{\sqtq}{\ensuremath{(\cl{E}_Q, T_Q){}}}
\newcommand{\monic}{\ensuremath{\succ \hspace{-3pt}
    \longrightarrow}}
\newcommand{\tqplus}{\ensuremath{(\cl{E}_{Q^+},T_{Q^+})}}
\newcommand{\tqprime}{\ensuremath{({\cl{E}_Q}', {T_Q}')}}
\newcommand{\tpr}{\ensuremath{{T_Q}'}}
\newcommand{\tpl}{\ensuremath{T_{Q^+}}}
\newcommand{\cspl}{\ensuremath{\cl{E}_{Q^+}}}
\newcommand{\cspr}{\ensuremath{{\cl{E}_Q}'}}
\newcommand{\spl}{\ensuremath{S_{Q^+}}}
\newcommand{\spr}{\ensuremath{{S_Q}'}}
\newcommand{\iso}{isomorphism{}}
\newcommand{\uto}{up to isomorphism{}}
\newcommand{\tck}{\ensuremath{T(C^{(k)})}}
\newcommand{\catck}{\ensuremath{\bb{C}^{(k)}}}
\newcommand{\ck}{\ensuremath{C^{(k)}}}
\newcommand{\id}{\ensuremath{\mbox{\em id}}}
\newcommand{\qeed}{\hfill $\Box$}

\newcommand{\nspan}[5]
{\setlength{\unitlength}{1mm}
\begin{center}
\begin{picture}(30,30)(15,15)      %
\put(17,23){\makebox(0,0)[t]{${#1}$}}  %  bottom left
\put(32,37){\makebox(0,0)[b]{${#3}$}}  %  top
\put(45,23){\makebox(0,0)[t]{${#5}$}}  %  bottom right

\put(29,35){\vector(-1,-1){10}}  %
\put(33,35){\vector(1,-1){10}}  %
\put(23,32){\makebox(0,0)[r]{${#2}$}} %  left
\put(39,32){\makebox(0,0)[l]{${#4}$}}%  right

\end{picture}
\end{center}}

\newcommand{\ope}{\cat{Ope}}
\newcommand{\oset}{\cat{OSet}}
\newcommand{\pshf}[1]{\ensuremath{{#1}^{\op} \lra \cat{Set}}}
\newcommand{\pshfcat}[1]{\ensuremath{[{#1}^{\op},\cat{Set}]}}
\newcommand{\lope}[1]{\ensuremath{\cat{LOpe}_{#1}}}


\newcommand{\bpoint}[1]{
\begin{itemize}
\item {#1}	
\end{itemize}}

\newcommand{\bs}{\ensuremath{\backslash}}
macros2.tex



\newtheorem{theorem}{Theorem}[section]
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{corollary}[theorem]{Corollary}
\newtheorem{lemma}[theorem]{Lemma}
\newtheorem{definition}[theorem]{Definition}
\newtheorem{definitions}[theorem]{Definitions}
\newtheorem{example}[theorem]{Example}
\newtheorem{examples}[theorem]{Examples}
\newtheorem{remarks}[theorem]{Remarks}

\newenvironment{prf}{\vspace{2ex}\begin{sloppypar}{\noindent\upshape
{\bfseries Proof. }}} {{\hspace*{\fill}
$\Box$}\end{sloppypar}\vspace{2ex}}

\newenvironment{prfof}[1]{\vspace{2ex}\begin{sloppypar}{\noindent
\upshape{\bfseries Proof of {#1}. }}} {{\hspace*{\fill}
$\Box$}\end{sloppypar}\vspace{2ex}}


\newcommand{\numroman}{\renewcommand{\labelenumi}{\roman{enumi})}}
\newcommand{\numarabic}{\renewcommand{\labelenumi}{\arabic{enumi})}}
\newcommand{\numAlph}{\renewcommand{\labelenumi}{\Alph{enumi}.}}
\newcommand{\pica}{\begin{center} \input}
\newcommand{\picz}{\end{center}}
\newcommand{\length}[1]{\setlength{\unitlength}{#1}}


%%%%%%%%%%%%%%%%%%%%%%%%%%%5%%%



%\renewcommand{\labelenumi}{\roman{enumi})}

\newcommand{\bibref}{\renewcommand{\bibname}{References}}		% don't need if we're in article
\newcommand{\mybibstyle}{\bibliographystyle{alphanum}}

\newlength{\leng}
\newlength{\fontleng}
\newcommand{\sunit}{\setlength{\unitlength}{1mm}}
\newcommand{\setleng}[1]{\setlength{\leng}{#1}
    \setlength{\unitlength}{\leng}}
\newcommand{\setunit}[1]{\setlength{\unitlength}{#1}}

opics.tex

%This file contains commands for opic diags
%must be used in picture environment
%xcoord, ycoord, length measurement including mm


\newcommand{\gridit}{
\put(0,0){*} \put(0,10){*} \put(10,0){*}}

%%%%%%%%%%%%%a

\newcommand{\diaga}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{1.3\leng} %

\put(1,2){\line(1,0){5}} %
\put(1,3){\line(1,0){5}} %
\put(1,4){\line(1,0){5}} %
\put(1,5){\line(1,0){5}} %
\put(1,6){\line(1,0){5}} %
\put(4,0){\line(1,1){4}} %
\put(4,8){\line(1,-1){4}} }}



%%%%%%%%%%%%%b

\newcommand{\diagb}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{1.3\leng} %

\put(3,1){\line(0,1){5}} %
\put(4,1){\line(0,1){5}} %
\put(5,1){\line(0,1){5}} %
\put(6,1){\line(0,1){5}} %
\put(7,1){\line(0,1){5}} %
\put(1,4){\line(1,1){4}} %
\put(5,8){\line(1,-1){4}}}}

%%%%%%%%%%%%%c

\newcommand{\diagc}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(1,2){\line(1,0){5}} %
\put(1,3){\line(1,0){5}} %
\put(1,4){\line(1,0){5}} %
\put(1,1){\line(1,0){5}} %
\put(3.5,-1.5){\line(1,1){4}} %
\put(3.5,6.5){\line(1,-1){4}}}}

%%%%%%%%%%%%%%%%d

\newcommand{\diagd}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{0.7\leng} %

\put(0,6){\line(1,-2){3}} %
\put(2,7){\line(1,-2){3}} %
\put(4,8){\line(1,-2){3}} %
\put(6,9){\line(1,-2){3}} %
\put(0,0){\line(1,0){7}} %
\put(7,0){\line(2,3){4}}}}

%%%%%%%%%%%%%%%%e

\newcommand{\diage}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{0.7\leng} %

\put(0,-6){\line(1,2){3}} %
\put(2,-7){\line(1,2){3}} %
\put(4,-8){\line(1,2){3}} %
\put(6,-9){\line(1,2){3}} %
\put(0,0){\line(1,0){7}} %
\put(7,0){\line(2,-3){4}} }}

%%%%%%%%%%%%%%%%%f

\newcommand{\diagf}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}}}}


%%%%%%%%%%%%%%%%%g
\newcommand{\diagg}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(0,0)(2,1)(4,0) }}

%%%%%%%%%%%%%%%%%h

\newcommand{\diagh}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(0,0)(2,1)(4,0)   %
\qbezier(0,0)(2,2)(4,0) %
}}
%%%%%%%%%%%%%%%%%i

\newcommand{\diagi}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(0,0)(2,1)(4,0)   %
\qbezier(0,0)(2,2)(4,0) %
\qbezier(0,0)(2,3)(4,0) %
}}

%%%%%%%%%%%%%%%%%j
\newcommand{\diagj}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\qbezier(0,0)(2,2)(4,0) }}

%%%%%%%%%%%%%%%%%k
\newcommand{\diagk}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\qbezier(0,0)(2,1)(4,0)   %
\qbezier(0,0)(2,2)(4,0) %
}}

%%%%%%%%%%%%%%%%%l
\newcommand{\diagl}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\qbezier(0,0)(2,1)(4,0)   %
\qbezier(0,0)(2,2)(4,0) %
\qbezier(0,0)(2,3)(4,0) %
}}

%%%%%%%%%%%%%%%%%m
\newcommand{\diagm}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(2,3)(4,2)(4,0)}}



%%%%%%%%%%%%%%%%%n
\newcommand{\diagn}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(2,3)(4,2)(4,0)  %
\qbezier(2,3)(4.9,2.6)(4,0)  }}

%%%%%%%%%%%%%%%%%o
\newcommand{\diago}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(2,3)(4,2)(4,0)  %
\qbezier(2,3)(4.9,2.6)(4,0)  %
\qbezier(2,3)(5.6,3.4)(4,0)}}

%%%%%%%%%%%%%%%%%p

\newcommand{\diagp}[3]{

\put(#1,#2){

\setlength{\unitlength}{#3}  %
\fontsize{#3}{20}

\put(0,0){\makebox(0,0){$\equiv$}}  %
\put(0.35,0){\makebox(0,0){$\rangle$}}}}

%%%%%%%%%%%%%%%%%q

\newcommand{\diagq}[3]{

\put(#1,#2){

\setlength{\unitlength}{#3}  %

\qbezier(0.5,0)(2.5,0.5)(3,4)   %
\put(3,4){\makebox(0,0)[bc]{{\tiny $\Delta$}}} }}


%%%%%%%%%%%%%%%%%r
\newcommand{\diagr}[3]{

\put(#1,#2){\setlength{\leng}{#3}

\setlength{\unitlength}{1.4\leng}

\qbezier(0.5,0)(2.5,1)(3,4)   %
\put(0.5,-0){\makebox(0,0)[c]{{\tiny $\Delta$}}} }}

%%%%%%%%%%%%%%%%%%s

\newcommand{\diags}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagj{0}{0}{2\leng}     %
\diagj{7}{0}{2\leng}        %
\diagp{5.5}{0.5}{3\leng}}}


%%%%%%%%%%%%%%%%%%t

\newcommand{\diagt}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagk{0}{0}{2\leng}       %
\diagj{7}{0}{2\leng}         %
\diagp{5.5}{0.5}{3\leng} }}

%%%%%%%%%%%%%%%%%%u

\newcommand{\diagu}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagl{0}{0}{2\leng}       %
\diagj{7}{0}{2\leng}         %
\diagp{5.5}{0.5}{3\leng} }}

%%%%%%%%%%%%%%%%%%v

\newcommand{\diagv}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagf{0}{0}{2\leng}       %
\diagf{7}{0}{2\leng}         %
\diagp{5.5}{1.5}{3\leng} }}

%%%%%%%%%%%%%%%%%%w

\newcommand{\diagw}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagm{0}{0}{2\leng}       %
\diagf{7}{0}{2\leng}         %
\diagp{5.5}{1.5}{3\leng} }}

%%%%%%%%%%%%%%%%%%x

\newcommand{\diagx}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diago{0}{0}{2\leng}       %
\diagf{7.3}{0}{2\leng}         %
\diagp{6}{1.5}{3\leng} }}

%%%%%%%%%%%%%%%%%%y

\newcommand{\diagy}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diago{0}{0}{2\leng}       %
\diagf{7.4}{0}{2\leng}         %
\diagp{6.4}{1.5}{3\leng} }}


%%%%%%%%%%%%%%%%%%z

\newcommand{\diagz}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagg{0}{0}{2\leng}       %
\diagf{7}{0}{2\leng}         %
\diagp{5.5}{1.5}{3\leng} }}

%%%%%%%%%%%%%%%%%aa

\newcommand{\diagaa}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagh{0}{0}{2\leng}       %
\diagf{7}{0}{2\leng}         %
\diagp{5.5}{1.5}{3\leng} }}


%%%%%%%%%%%%%%%%%%ab

\newcommand{\diagab}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagi{0}{0}{2\leng}       %
\diagf{7}{0}{2\leng}         %
\diagp{5.5}{1.5}{3\leng} }}


%%%%%%%%%%%%%%%%%%%%ad

\newcommand{\diagad}[3]{

\put(#1,#2){

\setlength{\unitlength}{#3}  %

\qbezier(0.5,0)(2.5,-0.5)(3,-4)   %
\put(3,-4){\makebox(0,0)[t]{{\tiny $\nabla$}}}}}


%%%%%%%%%%%%%%%%%%%%ac

\newcommand{\diagac}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diags{0}{0}{\leng}       %
\diagt{0}{6}{\leng}         %
\diagt{9}{3}{\leng}    %
\diagq{9}{0.5}{\leng} %
\diagad{9}{6.2}{\leng}}}



%%%%%%%%%%%%%%%%%%%%ae

\newcommand{\diagae}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagac{0}{0}{\leng}       %
\diagt{0}{6}{\leng}         %
\diagu{28}{3}{\leng}    %
\diagc{22}{2.5}{\leng}}} %


%%%%%%%%%%%%%%%%%%%%af

\newcommand{\diagaf}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagv{0}{0}{\leng}       %
\diagv{17}{0}{\leng}         %
\diagc{12}{0}{\leng}}} %

%%%%%%%%%%%%%%%%%%%%ag


\newcommand{\diagag}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagw{0}{0}{\leng}       %
\diagy{17}{0}{\leng}         %
\diagc{12}{0}{\leng}    %
\diagu{-4.5}{5}{\leng}    %
\diagr{3}{2.5}{\leng}}} %


%%%%%%%%%%%%%%%%%%%%ah


\newcommand{\diagah}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagv{0}{0}{\leng}       %
\diagy{17}{0}{\leng}         %
\diagc{12}{0}{\leng}    %
\diagy{-5}{4.5}{\leng}    %
\diagr{2}{2.2}{\leng}}} %


%%%%%%%%%%%%%%%%%%%%ai

\newcommand{\diagai}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagv{0}{0}{\leng}       %
\diagab{17}{0}{\leng}         %
\diagc{12}{0}{\leng}    %
\diagab{-5}{4.5}{\leng}    %
\diagr{2}{2.2}{\leng}}} %


%%%%%%%%%%%%%%%%%%%%aj

\newcommand{\diagaj}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagz{0}{0}{\leng}       %
\diagab{17}{0}{\leng}         %
\diagc{12}{0}{\leng}    %
\diagu{-7.5}{-3}{\leng}    %
\diagq{1}{-2.5}{\leng}}} %


%%%%%%%%%%%%%%%%%ak
\newcommand{\diagak}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(2,3)(4.9,2.6)(4,0)}}


%%%%%%%%%%%%%%%%%al
\newcommand{\diagal}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(0,0)(2,2)(4,0) }}


%%%%%%%%%%%%%%%%%%am

\newcommand{\diagam}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagak{0}{0}{2\leng}       %
\diagf{7.3}{0}{2\leng}         %
\diagp{6}{1.5}{3\leng} }}


%%%%%%%%%%%%%%%%%%an

\newcommand{\diagan}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{2\leng} %

\diagal{0}{0}{2\leng}       %
\diagf{7.3}{0}{2\leng}         %
\diagp{6}{1.5}{3\leng} }}




%%%%%%%%%%%%%%%%%%%%as

\newcommand{\diagas}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %

\diagag{-15}{0}{\leng}       %
\diagae{-35}{25}{\leng}       %
\diaga{45}{10}{\leng}       %
\diagw{75}{7}{\leng}       %
\diagc{100}{7}{\leng}       %
\diagy{110}{7}{\leng}       %
\diagac{57}{20}{\leng}       %
\diagy{85}{-30}{\leng}       %
\diagd{75}{-12}{\leng}       %
\diage{115}{-7}{\leng}       %
\diagb{90}{-15}{\leng}       %


\qbezier(94,27)(92,15)(83.3,11.7)  %
\put(84,11.5){\makebox(0,0)[r]{{\tiny $\Delta$}}}

\qbezier(32.5,32)(29,26)(12,24)  %
\qbezier(12,24)(-9,21)(-13,13)  %
\put(-13,13){\makebox(0,0)[t]{{\scriptsize $\nabla$}}}}}


%%%%%%%%%%%%%%%%%%%%at

\newcommand{\diagat}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %

\diagah{-15}{25}{\leng}       %
\diagaf{-30}{0}{\leng}       %
\diaga{45}{10}{\leng}       %
\diagah{75}{7}{\leng}       %
\diagy{85}{-30}{\leng}       %
\diagd{75}{-12}{\leng}       %
\diage{115}{-7}{\leng}       %
\diagb{90}{-15}{\leng}       %

\qbezier(14.5,4)(14,8)(5,13)  %
\qbezier(5,13)(-4,19)(-4.5,26)  %
\put(-4,26){\makebox(0,0)[b]{{\scriptsize $\Delta$}}}}}

%%%%%%%%%%%%%%%%%%%%au

\newcommand{\diagau}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %

\diagai{-15}{25}{\leng}       %
\diagaf{-30}{0}{\leng}       %
\diaga{45}{10}{\leng}       %
\diagai{75}{7}{\leng}       %
\diagab{85}{-30}{\leng}       %
\diagd{75}{-12}{\leng}       %
\diage{115}{-7}{\leng}       %
\diagb{90}{-15}{\leng}       %

\qbezier(14.5,4)(14,8)(5,13)  %
\qbezier(5,13)(-4,19)(-4.5,26)  %
\put(-4,26){\makebox(0,0)[b]{{\scriptsize $\Delta$}}}}}


%%%%%%%%%%%%%%%%%%%%av

\newcommand{\diagav}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %

\diagaj{-15}{30}{\leng}       %
\diagae{-35}{-5}{\leng}       %
\diaga{45}{10}{\leng}       %
\diagz{75}{25}{\leng}       %
\diagc{100}{25}{\leng}       %
\diagab{110}{25}{\leng}       %
\diagac{57}{5}{\leng}       %
\diagab{85}{-30}{\leng}       %
\diagd{75}{-12}{\leng}       %
\diage{115}{-7}{\leng}       %
\diagb{90}{-15}{\leng}      %


\qbezier(79,24)(80,20)(86,18)  %
\qbezier(86,18)(92,16)(93,12)   %
\put(79,24){\makebox(0,0)[b]{{\tiny $\Delta$}}}

\qbezier(-19,23)(-18,15)(5,12)  %
\qbezier(5,12)(30,10)(31.5,3)  %
\put(-19,23){\makebox(0,0)[b]{{\scriptsize $\Delta$}}}}}

%%%%%%%%%%%%%%%%%aw

\newcommand{\diagaw}[3]{
\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{4\leng} %
\fontsize{3.8\leng}{15}

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}}
\put(0.3,1.6){$f$}   %
\put(3.4,1.6){$g$}   %
\put(2,-1){$\bar{g}$} %
\put(1.8,1){$\Downarrow$}

}}


%%%%%%%%%%%%%%%%%ax


\newcommand{\diagax}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{4\leng} %
\fontsize{3.8\leng}{15}

\diagam{0}{0}{2\leng}  %
\put(0.4,1.6){$f$}          %
\put(3.3,1.5){$\phi$}          %
\put(5.5,2.8){$u_{31}$} }}

%%%%%%%%%%%%%%%%%ay

\newcommand{\diagay}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{4\leng} %
\fontsize{3.8\leng}{15}

\diagan{0}{0}{2\leng}  %
\put(0.4,1.6){$f$}          %
\put(1.7,0.5){{\small $\bar\phi$}}          %
\put(5.5,2.8){$u_{32}$} }}

%%%%%%%%%%%%%%%%%az

\newcommand{\diagaz}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagay{0}{0}{\leng}  %
\diagax{0}{20}{\leng} %
\put(36.5,15){$\|$}     %
\put(36,4){$\phi_1$}   %
\put(36,24){$\phi_1$}  %
\put(7,6){$u_2$}  %
\put(7,24){$u_2'$} }}


%%%%%%%%%%%%%%%%%ba


\newcommand{\diagba}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagag{0}{0}{\leng}  %
\put(1,14){$\phi$}     %
\put(25,8){$u_{41}$}   %
\put(45,7){$\phi_1$}   %
\put(10,-2){$u_{31}$}     %

}}

%%%%%%%%%%%%%%%%%bb

\newcommand{\diagbb}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagah{0}{0}{\leng}  %
\put(10,-2){$\phi_2$}     %
\put(25,8){$u_{42}$}   %
\put(45,7){$\phi_1$}   %


   }}

%%%%%%%%%%%%%%%%%bc

\newcommand{\diagbc}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagai{0}{0}{\leng}  %
\put(10,-2){$\phi_2$}     %
\put(25,8){$u_{43}$}   %
\put(43,7){$\phi_3$}   %
}}

%%%%%%%%%%%%%%%%%bd

\newcommand{\diagbd}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagaj{0}{0}{\leng}  %
\put(-5,-11){$\bar\phi$}     %
\put(25,8){$u_{44}$}   %
\put(43,7){$\phi_3$}   %
\put(10,7){$u_{32}$}     %
}}


%%%%%%%%%%%%%%%%%be

\newcommand{\diagbe}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagae{0}{0}{\leng}  %
\put(47,15){$\phi$}

}}

%%%%%%%%%%%%%%%%%bf

\newcommand{\diagbf}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagas{0}{0}{\leng}  %
\put(12,40){$\phi$} %
\put(10,-6){$u_{41}$} %
\put(48,23){$u_{51}$} %
\put(103,17){$\phi_1$} %
\put(123,-15){$\phi_2$} %
\put(103,-12){$u_{52}$}  %


}}


%%%%%%%%%%%%%%%%%bg

\newcommand{\diagbg}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagat{0}{0}{\leng}  %
\put(-4,-7){$\phi_4$} %
\put(11,33){$u_{42}$} %
\put(48,23){$u_{54}$} %
\put(101,17){$\phi_3$} %
\put(123,-15){$\phi_2$} %
\put(103,-12){$u_{53}$}  %


}}

%%%%%%%%%%%%%%%%%bh

\newcommand{\diagbh}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagau{0}{0}{\leng}  %
\put(-4,-7){$\phi_4$} %
\put(11,33){$u_{43}$} %
\put(48,23){$u_{55}$} %
\put(101,17){$\phi_5$} %
\put(123,-15){$\phi_6$} %
\put(103,-12){$u_{56}$}  %
}}



%%%%%%%%%%%%%%%%%bi

\newcommand{\diagbi}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %
\fontsize{3.8\leng}{15}

\diagav{0}{0}{\leng}  %
\put(10,40){$u_{44}$} %
\put(11,-6){$\bar\phi$} %
\put(48,23){$u_{58}$} %
\put(103,35){$\phi_7$} %
\put(123,-15){$\phi_6$} %
\put(103,-12){$u_{57}$}  %
}}

%%%%%%%%%%%%%%%%%%%%%%%%bj
%has to be 1mm

\newcommand{\diagbj}[3]{

\put(#1,#2){ \setlength{\leng}{#3} %
\setlength{\unitlength}{1.2\leng} %
\setlength{\fontleng}{\leng}   %
\fontsize{\fontleng}{15}

\put(3.5,0){\line(-3,2){3}} %
\put(4,0.5){\line(-3,2){3}} %
\put(3.35,0){\makebox(0,0)[c]{$\underline{\hspace{0.5em}}$}}  %
\put(4.1,0.65){\makebox(0,0)[c]{$\mid$}}  }}

%%%%%%%%%%%%%%%%%%%%%%%%bk
%has to be 1mm

\newcommand{\diagbk}[3]{

\put(#1,#2){ \setlength{\leng}{#3} %
\setlength{\unitlength}{1.2\leng} %
\setlength{\fontleng}{\leng}   %
\fontsize{\fontleng}{15}

\put(-3.5,0){\line(3,2){3}} %
\put(-4,0.5){\line(3,2){3}} %
\put(-3.35,0.0){\makebox(0,0)[c]{$\underline{\hspace{0.5em}}$}}  %
\put(-4,0.65){\makebox(0,0)[c]{$\mid$}}  }}

%%%%%%%%%%%%%%%%%%%%%%%onetwo
%unary 2-cell

\sunit

\newcommand{\onetwo}[8]{

\put(#1,#2){ \setlength{\leng}{#3} %
\setlength{\unitlength}{\leng} %

\diagj{0}{0}{6\leng} %
\put(-1,0){\makebox(0,0)[r]{#4}} %
\put(26,0){\makebox(0,0)[l]{#5}} %
\put(12,7){\makebox(0,0)[b]{#6}} %
\put(12,-2){\makebox(0,0)[t]{#7}} %
\put(12,2.5){\makebox(0,0)[c]{$\Downarrow$}}  %
\put(14,2.5){\makebox(0,0)[l]{#8}} }}

%%%%%%%%%%%%%%%%%%%%%%%onetwob
%unary 2-cell with no arrow drawn

\sunit

\newcommand{\onetwob}[8]{

\put(#1,#2){ \setlength{\leng}{#3} %
\setlength{\unitlength}{\leng} %

\diagj{0}{0}{6\leng} %
\put(-1,0){\makebox(0,0)[r]{#4}} %
\put(26,0){\makebox(0,0)[l]{#5}} %
\put(12,7){\makebox(0,0)[b]{#6}} %
\put(12,-2){\makebox(0,0)[t]{#7}} %
\put(12,2.5){\makebox(0,0)[c]{#8}}   }}




%%%%%%%%%%%%%%%%%%%%%%%%bl

\newcommand{\diagbl}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{.4\leng} %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,0){20}}  %
\put(30,20){\line(1,-2){10}}  %
\put(0,0){\line(1,0){40}}}}


%%%%%%%%%%%%%%%%%%%%%%%%bm

\newcommand{\diagbm}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{\leng} %

\diagbl{0}{0}{\leng}  %
\diagp{21}{3}{6\leng}  %
\diagbl{26}{0}{\leng}}}

%%%%%%%%%%%%%%%%%%%%%%%%bn

\newcommand{\diagbn}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{1.2\leng} %
\fontsize{3.5\leng}{15}

\put(5,0){\vector(1,0){10}}  %
\put(10,9){\makebox(0,0)[c]{.}}  %
\put(10,3.5){\makebox(0,0)[c]{$\Downarrow$}}}} %

%%%%%%%%%%%%%%%%%%%%%%%nulltwo
%nullary 2-cell

\sunit

\newcommand{\nulltwo}[6]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{1.2\leng} %
\fontsize{3.5\leng}{15}

\put(5,0){\vector(1,0){10}}  %
\put(10,9){\makebox(0,0)[c]{.}}  %
\put(10,3.5){\makebox(0,0)[c]{$\Downarrow$}}

\fontsize{11pt}{15} %
\put(4,0){\makebox(0,0)[r]{#4}}  %
\put(16.5,0){\makebox(0,0)[l]{#4}}  %
\put(10,-2){\makebox(0,0)[t]{#5}}  %
\put(12,3.5){\makebox(0,0)[l]{#6}}  %


}} %


%%%%%%%%%%%%%%%%%%%%%%%onecell
% 1-cell

\sunit

\newcommand{\onecell}[6]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{1.2\leng} %

\put(4,0){\makebox(0,0)[r]{#4}}  %
\put(16.5,0){\makebox(0,0)[l]{#5}}  %
\put(10,1.5){\makebox(0,0)[b]{#6}}  %

\put(5,0){\vector(1,0){10}}}}  %

%%%%%%%%%%%%%%%%%threetwo
%labelled 3-ary 2-cells for specifically p.22 (no scaling possible)

\newcommand{\threetwo}[9]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\diagbl{0}{0}{\leng}  %

\put(-2,-1){\makebox(0,0)[c]{#1}}  %
\put(2,9){\makebox(0,0)[c]{#2}}  %
\put(15,9){\makebox(0,0)[c]{#3}}  %
\put(19,-1){\makebox(0,0)[c]{#4}}  %

\put(0,5){\makebox(0,0)[c]{#5}}  %
\put(8.5,11){\makebox(0,0)[c]{#6}}  %
\put(17,5){\makebox(0,0)[c]{#7}}  %
\put(8.5,-3){\makebox(0,0)[c]{#8}}  %

\put(8.5,4){\makebox(0,0)[c]{$\Downarrow$}}  %
\put(11,4){\makebox(0,0)[c]{#9}} }} %

%%%%%%%%%%%%%%%%%threetwob
%labelled 3-ary 2-cells for specifically p.22 (no scaling possible)

\newcommand{\threetwob}[9]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\diagbl{0}{0}{\leng}  %

\put(-2,-1){\makebox(0,0)[c]{#1}}  %
\put(2,9){\makebox(0,0)[c]{#2}}  %
\put(15,9){\makebox(0,0)[c]{#3}}  %
\put(19,-1){\makebox(0,0)[c]{#4}}  %

\put(0,5){\makebox(0,0)[c]{#5}}  %
\put(8.5,11){\makebox(0,0)[c]{#6}}  %
\put(17,5){\makebox(0,0)[c]{#7}}  %
\put(8.5,-3){\makebox(0,0)[c]{#8}}  %

\put(8.5,4){\makebox(0,0)[c]{#9}}   }} %

%%%%%%%%%%%%%%%%%%%%%%%%bo

\newcommand{\diagbo}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{0.4\leng} %

\diagp{68}{12}{6\leng}

\begin{picture}(100,40)
\put(0,0){

\begin{picture}(50,30)      %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,1){10}}  %
\put(20,30){\line(1,-1){10}}  %
\put(30,20){\line(1,0){15}}  %
\put(45,20){\line(1,-2){5}}  %
\put(40,0){\line(1,1){10}}  %
\put(0,0){\line(1,0){40}}  %
\put(10,20){\line(1,0){20}}  %
\put(30,20){\line(1,-2){10}}  %
%\put(20,10){\makebox(0,0){$a$}}  %
%\put(42,12){\makebox(0,0){$b$}}  %
%\put(20,23){\makebox(0,0){$c$}}  %

\end{picture}}

\put(80,0){
\begin{picture}(50,30)      %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,1){10}}  %
\put(20,30){\line(1,-1){10}}  %
\put(30,20){\line(1,0){15}}  %
\put(45,20){\line(1,-2){5}}  %
\put(40,0){\line(1,1){10}}  %
\put(0,0){\line(1,0){40}}  %
%\put(25,10){\makebox(0,0){$d$}}  %

\end{picture}}


\end{picture}}}

%%%%%%%%%%%%%%%%%%%%%%%%boo

\newcommand{\diagboo}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{0.4\leng} %

\diagp{68}{12}{6\leng}

\begin{picture}(100,40)
\put(0,0){

\begin{picture}(50,30)      %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,1){10}}  %
\put(20,30){\line(1,-1){10}}  %
\put(30,20){\line(1,0){15}}  %
\put(45,20){\line(1,-2){5}}  %
\put(40,0){\line(1,1){10}}  %
\put(0,0){\line(1,0){40}}  %
\put(10,20){\line(1,0){20}}  %
\put(30,20){\line(1,-2){10}}  %
\put(0,0){\line(3,2){30}} 
\put(40,0){\line(1,4){5}}

\end{picture}}

\put(80,0){
\begin{picture}(50,30)      %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,1){10}}  %
\put(20,30){\line(1,-1){10}}  %
\put(30,20){\line(1,0){15}}  %
\put(45,20){\line(1,-2){5}}  %
\put(40,0){\line(1,1){10}}  %
\put(0,0){\line(1,0){40}}  %
%\put(25,10){\makebox(0,0){$d$}}  %

\end{picture}}


\end{picture}}}


%%%%%%%%%%%%%%%%%%%%%%%%threethree

\newcommand{\threethree}[5]{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{0.4\leng} %

\diagp{68}{12}{6\leng} %
\put(70,20){\makebox(0,0)[b]{#5}}


\begin{picture}(100,40)
\put(0,0){

\begin{picture}(50,30)      %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,1){10}}  %
\put(20,30){\line(1,-1){10}}  %
\put(30,20){\line(1,0){15}}  %
\put(45,20){\line(1,-2){5}}  %
\put(40,0){\line(1,1){10}}  %
\put(0,0){\line(1,0){40}}  %
\put(10,20){\line(1,0){20}}  %
\put(30,20){\line(1,-2){10}}  %
\put(20,10){\makebox(0,0){#3}}  %
\put(42,12){\makebox(0,0){#2}}  %
\put(21,23){\makebox(0,0){#1}}  %

\end{picture}}

\put(80,0){
\begin{picture}(50,30)      %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,1){10}}  %
\put(20,30){\line(1,-1){10}}  %
\put(30,20){\line(1,0){15}}  %
\put(45,20){\line(1,-2){5}}  %
\put(40,0){\line(1,1){10}}  %
\put(0,0){\line(1,0){40}}  %
\put(25,10){\makebox(0,0){#4}}  %

\end{picture}}



\end{picture}}}




%%%%%%%%%%%%%%%%%%%%%%%%bp

\newcommand{\diagbp}[3]{

\put(#1,#2){\setlength{\leng}{#3}
\setlength{\unitlength}{0.4\leng} %

\begin{picture}(40,30)      %

\put(0,0){\line(1,4){5}}  %
\put(5,20){\line(3,2){15}}  %
%\put(20,30){\line(3,-2){15}}  %

\qbezier[2](26,31)(29,28)(32,25) %

\put(35,20){\line(1,-4){5}}  %
\put(0,0){\line(1,0){40}}  %

\put(20,13){\makebox(0,0){$\Downarrow$}}  %

\end{picture}}}

%%%%%%%%%%%%%%%%%%%%%%%three
%labelled 3-arrow

\sunit

\newcommand{\three}[4]{
\put(#1,#2){ \setlength{\leng}{#3} %
\setlength{\unitlength}{\leng} %
\diagp{0}{0}{6\leng}  %
\put(0,4){\makebox(0,0)[b]{#4}} }}

%%%%%%%%%%%%%%%%%%%%%%%nullthree
%nullary 3-cell

\sunit

\newcommand{\nullthree}[3]{

\put(0,0){ \setlength{\leng}{1mm} %
\setlength{\unitlength}{\leng} %

\onecell{0}{0}{\leng}{}{}{#1}   %
\three{24}{2}{\leng}{#3}  %
\onetwo{31}{0}{0.7\leng}{}{}{#1}{#1}{#2}

 }}

 %%%%%%%%%%%%%%%%%%%%%%%nullthreeb
%nullary 3-cell with no 2-arrow drawn

\sunit

\newcommand{\nullthreeb}[3]{

\put(0,0){ \setlength{\leng}{1mm} %
\setlength{\unitlength}{\leng} %

\onecell{0}{0}{\leng}{}{}{#1}   %
\three{24}{2}{\leng}{#3}  %
\onetwob{31}{0}{0.7\leng}{}{}{#1}{#1}{#2}

 }}



%%%%%%%%%%%%%%%%%%%%%%%twotwo
%2-ary 2-cell

\sunit

\newcommand{\twotwo}[7]{

\put(0,0){ \setlength{\leng}{1mm} %
\setlength{\unitlength}{\leng} %
\diagf{0}{0}{4\leng}  %
\put(-1,-1){\makebox(0,0)[tr]{#1}}   % 0-cells
\put(8,14){\makebox(0,0)[b]{#2}}  %
\put(18,-1){\makebox(0,0)[tl]{#3}}  %

\put(3,6){\makebox(0,0)[br]{#4}}   % 1-cells
\put(14,6){\makebox(0,0)[bl]{#5}}  %
\put(8,-2){\makebox(0,0)[t]{#6}}  %

\put(8,5){\makebox(0,0)[c]{$\Downarrow$}}  %
\put(9,5){\makebox(0,0)[l]{#7}}  %
}}

%%%%%%%%%%%%%%%%%%%%%%%twotwob
%2-ary 2-cell with no arrow drawn

\sunit

\newcommand{\twotwob}[7]{

\put(0,0){ \setlength{\leng}{1mm} %
\setlength{\unitlength}{\leng} %
\diagf{0}{0}{4\leng}  %
\put(-1,-1){\makebox(0,0)[tr]{#1}}   % 0-cells
\put(8,14){\makebox(0,0)[b]{#2}}  %
\put(18,-1){\makebox(0,0)[tl]{#3}}  %

\put(3,6){\makebox(0,0)[br]{#4}}   % 1-cells
\put(14,6){\makebox(0,0)[bl]{#5}}  %
\put(8,-2){\makebox(0,0)[t]{#6}}  %

\put(8,5){\makebox(0,0)[c]{#7}}  %

}}

%%%%%%%%%%%%%%%%%assleft
%2-pd of 2 triangles, 1-cells labelled

\newcommand{\assleft}[5]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,0){20}}  %
\put(30,20){\line(1,-2){10}}  %
\put(0,0){\line(1,0){40}}   %
\put(10,20){\line(3,-2){30}}}

\put(0,5){\makebox(0,0)[c]{#1}}  %
\put(8.5,11){\makebox(0,0)[c]{#2}}  %
\put(17,5){\makebox(0,0)[c]{#3}}  %
\put(8.5,-3){\makebox(0,0)[c]{#5}}  %

\put(8.5,3.3){\makebox(0,0)[c]{#4}}   }}


%%%%%%%%%%%%%%%%%assright
%2-pd of 2 triangles, 1-cells labelled

\newcommand{\assright}[5]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,0){20}}  %
\put(30,20){\line(1,-2){10}}  %
\put(0,0){\line(1,0){40}}   %
\put(0,0){\line(3,2){30}}}

\put(0,5){\makebox(0,0)[c]{#1}}  %
\put(8.5,11){\makebox(0,0)[c]{#2}}  %
\put(17,5){\makebox(0,0)[c]{#3}}  %
\put(8.5,-3){\makebox(0,0)[c]{#5}}  %

\put(8.5,3.3){\makebox(0,0)[c]{#4}}   }}

%%%%%%%%%%%%%%%%%assrightb
%2-pd of 2 triangles, 2-cells labelled

\newcommand{\assrightb}[2]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,0){20}}  %
\put(30,20){\line(1,-2){10}}  %
\put(0,0){\line(1,0){40}}   %
\put(0,0){\line(3,2){30}}}

\put(5,5){\makebox(0,0)[c]{#1}}  %

\put(10,2.5){\makebox(0,0)[c]{#2}}   }}

%%%%%%%%%%%%%%%%%assleftb
%2-pd of 2 triangles, 2-cells labelled

\newcommand{\assleftb}[2]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %

\put(0,0){\line(1,2){10}}  %
\put(10,20){\line(1,0){20}}  %
\put(30,20){\line(1,-2){10}}  %
\put(0,0){\line(1,0){40}}   %
\put(10,20){\line(3,-2){30}}}

\put(11,5){\makebox(0,0)[c]{#1}}  %

\put(5.5,2.5){\makebox(0,0)[c]{#2}}   }}


%%%%%%%%%%%%%%%%%%%%%%%%%diagbq

\newcommand{\diagbq}[5]{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{\leng} %

\onetwob{0}{0}{\leng}{#1}{#1}{#2}{#3}{#5}
\put(12,21){\makebox(0,0)[c]{.}}  %
\put(12,15.5){\makebox(0,0)[c]{$\Downarrow$}} %
\put(14,15.5){\makebox(0,0)[l]{#4}}  }}

%%%%%%%%%%%%%%%%%%%%%%%%%diagbr

\newcommand{\diagbr}[9]{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{\leng} %

\diagal{0}{0}{4\leng}
\put(-1,-1){\makebox(0,0)[tr]{#1}}   % 0-cells
\put(8,14){\makebox(0,0)[b]{#2}}  %
\put(18,-1){\makebox(0,0)[tl]{#3}}  %

\put(3,6){\makebox(0,0)[br]{#4}}   % 1-cells
\put(14,6){\makebox(0,0)[bl]{#5}}  %
\put(8,-2){\makebox(0,0)[t]{#7}}  %

\put(8,7){\makebox(0,0)[c]{#8}}  %

\put(10,3.3){\makebox(0,0)[bl]{#6}}  %
\put(8,1.6){\makebox(0,0)[c]{#9}}  %
}}

%%%%%%%%%%%%%%%%%bs
\newcommand{\diagbs}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(2,3)(4.9,2.6)(4,0)}}



%%%%%%%%%%%%%%%%%%%%%%%%%diagbt

\newcommand{\diagbt}[9]{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{\leng} %

\diagbs{0}{0}{4\leng}
\put(-1,-1){\makebox(0,0)[tr]{#1}}   % 0-cells
\put(8,14){\makebox(0,0)[b]{#2}}  %
\put(18,-1){\makebox(0,0)[tl]{#3}}  %

\put(3,6){\makebox(0,0)[br]{#4}}   % 1-cells
\put(12,4){\makebox(0,0)[c]{#6}}  %
\put(8,-2){\makebox(0,0)[t]{#7}}  %

\put(8,6){\makebox(0,0)[c]{#9}}  %

\put(15,6){\makebox(0,0)[c]{#8}}  %
\put(17,9){\makebox(0,0)[bl]{#5}}  %
}}

%%%%%%%%%%%%%%%%%bu
\newcommand{\diagbu}[3]{

\put(#1,#2){
\setlength{\unitlength}{#3} %

\put(0,0){\line(1,0){4}}  %
\put(0,0){\line(2,3){2}}  %
\put(4,0){\line(-2,3){2}} %
\qbezier(2,3)(-0.9,2.6)(0,0)}}

%%%%%%%%%%%%%%%%%%%%%%%%%%bv

\newcommand{\diagbv}[9]{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{\leng} %

\diagbu{0}{0}{4\leng}
\put(-1,-1){\makebox(0,0)[tr]{#1}}   % 0-cells
\put(8,14){\makebox(0,0)[b]{#2}}  %
\put(18,-1){\makebox(0,0)[tl]{#3}}  %

\put(3,3){\makebox(0,0)[c]{#5}}   % 1-cells
\put(13,6){\makebox(0,0)[bl]{#6}}  %
\put(8,-2){\makebox(0,0)[t]{#7}}  %

\put(8,6){\makebox(0,0)[c]{#9}}  %

\put(2,7){\makebox(0,0)[c]{#8}}  %
\put(0,8){\makebox(0,0)[br]{#4}}  %
}}

%%%%%%%%%%%%%%%%%%%%%%%bw

\newcommand{\diagbw}[8]{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{\leng} %

\twotwob{#1}{#2}{#3}{#4}{#5}{#6}{#8} %
\diagbj{-6}{10}{\leng}   %
\put(-9,16){.}   %
\put(-3,13){\makebox(0,0)[bl]{#7}} %
}}

%%%%%%%%%%%%%%%%%%%%%%%bx

\newcommand{\diagbx}[8]{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{\leng} %

\twotwob{#1}{#2}{#3}{#4}{#5}{#6}{#8} %
\diagbk{22}{10}{\leng}   %
\put(25,15){.}   %
\put(18,13){\makebox(0,0)[br]{#7}} %
}}

%%%%%%%%%%%%%%%%%%%%%%%%%diagby
%for sticking to any of the triangles

\newcommand{\diagby}[2]{

\setlength{\leng}{#1}
\setlength{\unitlength}{\leng} %
\qbezier(0,0)(8,-8)(16,0)      %
\put(8,-2){\makebox(0,0)[c]{#2}} }

%%%%%%%%%%%%%%%%%%%%%%%%%diagbz

\newcommand{\diagbz}[1]{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{\leng} %
\put(0,0){
\setlength{\unitlength}{4\leng} %
\qbezier(0,0)(2,-4)(4,0) }}
\put(8,-6.5){\makebox(0,0)[c]{#1}}  %
}

%%%%%%%%%%%%%%%%%%%%%%%%%diagca

\newcommand{\diagca}{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{\leng} %
\put(0,0){
\setlength{\unitlength}{4\leng} %
\qbezier(2,3)(6.7,4.1)(4,0)}}}

%%%%%%%%%%%%%%%%%%%%%%%%%diagcb

\newcommand{\diagcb}{

\put(0,0){\setlength{\leng}{1mm}
\setlength{\unitlength}{\leng} %
\put(0,0){
\setlength{\unitlength}{4\leng} %
\qbezier(2,3)(-2.7,4.1)(0,0)}} }


%%%%%%%%%%%%%%%%%cc

\newcommand{\diagcc}[4]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(0,0)(20,13)(40,0) %
\put(20,13){\makebox(0,0)[c]{#1}}
\put(20,2.4){\makebox(0,0)[c]{#4}}}  %
\put(10,4){\makebox(0,0)[c]{#3}}  %
\put(5.5,4){\makebox(0,0)[c]{#2}} %
}}

%%%%%%%%%%%%%%%%%cd

\newcommand{\diagcd}[1]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(0,0)(20,-13)(40,0) %
\put(20,-3){\makebox(0,0)[c]{#1}}}  %
 }}

%%%%%%%%%%%%%%%%%ce

\newcommand{\diagce}[1]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(0,0)(20,-28)(40,0) %
\put(20,-10){\makebox(0,0)[c]{#1}}}  %
 }}

%%%%%%%%%%%%%%%%%cf

\newcommand{\diagcf}[1]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(0,0)(-8,18)(10,20) %
\put(2,12){\makebox(0,0)[c]{#1}}}  %
 }}

%%%%%%%%%%%%%%%%%cg

\newcommand{\diagcg}[1]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(40,0)(48,18)(30,20) %
\put(38,12){\makebox(0,0)[c]{#1}}}  %
 }}

 %%%%%%%%%%%%%%%%%ch

\newcommand{\diagch}[1]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(40,0)(58,23)(30,20) %
\put(45,14){\makebox(0,0)[c]{#1}}}  %
 }}

 %%%%%%%%%%%%%%%%%ci

\newcommand{\diagci}[1]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(10,20)(20,34)(30,20) %
\put(20,23){\makebox(0,0)[c]{#1}}}  %
 }}

 %%%%%%%%%%%%%%%%%cj

\newcommand{\diagcj}[2]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(0,0)(10,20)(30,20) %
\put(11,16){\makebox(0,0)[c]{{\tiny #1}}} %
\put(15,14){\makebox(0,0)[c]{{\small #2}}} %
}}}

%%%%%%%%%%%%%%%%%ck

\newcommand{\diagck}[2]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(40,0)(30,20)(10,20) %
\put(29,16){\makebox(0,0)[c]{{\tiny #1}}} %
\put(25,14){\makebox(0,0)[c]{{\small #2}}} %
}}}

%%%%%%%%%%%%%%%%%cl

\newcommand{\diagcl}[1]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\put(20,28){\makebox(0,0)[c]{$\Downarrow$}} %
\put(20,37){\makebox(0,0)[c]{.}}
\put(25,28){\makebox(0,0)[c]{#1}} %
}}}

%%%%%%%%%%%%%%%%%cm

\newcommand{\diagcm}{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\put(10,20){\line(1,1){10}}  %
\put(30,20){\line(-1,1){10}}

 }}}

 %%%%%%%%%%%%%%%%%mtwo
% m-ary 2-cell

\newcommand{\mtwo}[5]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){ \setlength{\unitlength}{.4\leng} %
\put(0,0){\line(1,0){40}}  %
\put(0,0){\line(1,4){5}}  %
\put(5,20){\line(1,1){10}}  %
\put(40,0){\line(-1,4){5}}  %

%
\put(0,12){\makebox(0,0)[r]{#1}}  %
\put(8,27){\makebox(0,0)[br]{#2}}  %
\put(40,12){\makebox(0,0)[l]{#3}}  %
\put(20,-2){\makebox(0,0)[t]{#4}}  %
\put(20,15){\makebox(0,0)[c]{$\Downarrow$}}  %
\put(23,15){\makebox(0,0)[l]{#5}}  %
\qbezier[2](23,30)(28,27)(33,24)

 }}}

 %%%%%%%%%%%%%%%%%mtwob
% m-ary 2-cell without arrow

\newcommand{\mtwob}[5]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){ \setlength{\unitlength}{.4\leng} %
\put(0,0){\line(1,0){40}}  %
\put(0,0){\line(1,4){5}}  %
\put(5,20){\line(1,1){10}}  %
\put(40,0){\line(-1,4){5}}  %

%
\put(0,12){\makebox(0,0)[r]{#1}}  %
\put(8,27){\makebox(0,0)[br]{#2}}  %
\put(40,12){\makebox(0,0)[l]{#3}}  %
\put(20,-2){\makebox(0,0)[t]{#4}}  %
\put(20,15){\makebox(0,0)[c]{#5}}  %
\qbezier[2](23,30)(28,27)(33,24)

 }}}

 %%%%%%%%%%%%%%%%%cn

\newcommand{\diagcn}[1]{

\put(0,0){\setlength{\leng}{1.3mm}
\setlength{\unitlength}{\leng} %

\put(0,0){
\setlength{\unitlength}{.4\leng} %
\qbezier(0,0)(-18,23)(10,20) %
\put(-3,14){\makebox(0,0)[c]{#1}}}  %
 }}


%%%%%%%%%%%%%%%%%%%%%%%%%diagcz

\newcommand{\diagcz}[1]{

\setlength{\leng}{#1}
\setlength{\unitlength}{\leng} %

\put(0,0){\line(1,0){16}}}



%%%%%%%%%%%%%%%%%%%%%%%%%diagco

\newcommand{\diagco}[2]{

\setlength{\leng}{#1}
\setlength{\unitlength}{\leng} %

\put(0,0){\line(1,0){16}} %
\qbezier(0,0)(8,8)(16,0)  %
\put(8,2){\makebox(0,0)[c]{#2}}}


%%%%%%%%%%%%%%%%%%%%%onetwo

\newcommand{\onetwoc}[5]{

\put(0,0){ \setlength{\leng}{1mm} %
\setlength{\unitlength}{\leng} %

\diagj{0}{0}{6\leng} %
\put(0,0){ \setlength{\unitlength}{6\leng}
\put(0,0){  %
\qbezier(0,0)(2,-2)(4,0) }}
\put(12,7){\makebox(0,0)[b]{#1}} %
\put(7,0){\makebox(0,0)[b]{#2}} %
\put(12,2.5){\makebox(0,0)[c]{#4}}
\put(12,-7){\makebox(0,0)[t]{#3}} %
\put(12,-3){\makebox(0,0)[c]{#5}}

 }}


%%%%%%%%%%%%%%%%%%%%%%%%%scaleby
%for sticking to any of the triangles

\newcommand{\scaleby}[1]{
\setlength{\unitlength}{\leng} %
\qbezier(0,0)(8,-8)(16,0)      %
\put(8,-2){\makebox(0,0)[c]{#1}} }

%%%%%%%%%%%%%%%%%%%%%%%%%%scalebv

\newcommand{\scalebv}[9]{

\put(0,0){
\setlength{\unitlength}{\leng} %

\diagbu{0}{0}{4\leng}
\put(-1,-1){\makebox(0,0)[tr]{#1}}   % 0-cells
\put(8,14){\makebox(0,0)[b]{#2}}  %
\put(18,-1){\makebox(0,0)[tl]{#3}}  %

\put(3,3){\makebox(0,0)[c]{#5}}   % 1-cells
\put(13,6){\makebox(0,0)[bl]{#6}}  %
\put(8,-2){\makebox(0,0)[t]{#7}}  %

\put(8,6){\makebox(0,0)[c]{#9}}  %

\put(2,7){\makebox(0,0)[c]{#8}}  %
\put(0,8){\makebox(0,0)[br]{#4}}  %
}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalebt

\newcommand{\scalebt}[9]{

\put(0,0){
\setlength{\unitlength}{\leng} %

\diagbs{0}{0}{4\leng}
\put(-1,-1){\makebox(0,0)[tr]{#1}}   % 0-cells
\put(8,14){\makebox(0,0)[b]{#2}}  %
\put(18,-1){\makebox(0,0)[tl]{#3}}  %

\put(3,6){\makebox(0,0)[br]{#4}}   % 1-cells
\put(13,3.5){\makebox(0,0)[c]{#6}}  %
\put(8,-2){\makebox(0,0)[t]{#7}}  %

\put(8,6){\makebox(0,0)[c]{#9}}  %

\put(15,6){\makebox(0,0)[c]{#8}}  %
\put(17,9){\makebox(0,0)[bl]{#5}}  %
}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalebr

\newcommand{\scalebr}[9]{

\put(0,0){
\setlength{\unitlength}{\leng} %

\diagal{0}{0}{4\leng}
\put(-1,-1){\makebox(0,0)[tr]{#1}}   % 0-cells
\put(8,14){\makebox(0,0)[b]{#2}}  %
\put(18,-1){\makebox(0,0)[tl]{#3}}  %

\put(3,6){\makebox(0,0)[br]{#4}}   % 1-cells
\put(14,6){\makebox(0,0)[bl]{#5}}  %
\put(8,-2){\makebox(0,0)[t]{#7}}  %

\put(8,7){\makebox(0,0)[c]{#8}}  %

\put(10,3){\makebox(0,0)[bl]{#6}}  %
\put(8,1){\makebox(0,0)[c]{#9}}  %
}}

%%%%%%%%%%%%%%%%%%%%%%%%%scaleco

\newcommand{\scaleco}[1]{

\setlength{\unitlength}{\leng} %

\put(0,0){\line(1,0){16}} %
\qbezier(0,0)(8,8)(16,0)  %
\put(8,2){\makebox(0,0)[c]{#1}}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalecp

\newcommand{\scalecp}{

\put(0,0){
\setlength{\unitlength}{\leng} %
\put(0,0){\line(1,0){40}} %
\put(0,0){\line(0,1){20}} %
\put(0,20){\line(2,1){20}} %
\put(20,30){\line(2,-1){20}} %
\put(40,0){\line(0,1){20}}}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalecq

\newcommand{\scalecq}{

\put(0,0){
\setlength{\unitlength}{0.3\leng} %

\put(20,90){\line(0,1){20}}      %
\put(40,90){\line(0,1){20}}      %
\put(80,90){\line(0,1){20}}      %

\put(20,90){\line(1,0){60}}      %
\put(20,90){\line(1,-1){30}}     %
\put(80,90){\line(-1,-1){30}}    %
\put(50,40){\line(0,1){20}}      %
\put(60,104){\makebox[0pt]{$\cdots$}} }}

%%%%%%%%%%%%%%%%%%%%%%%%%scalecr

\newcommand{\scalecr}[5]{

\put(0,0){
\setunit{0.3\leng} %
\scalecq
\put(20,114){\makebox[0pt]{#1}}   %
\put(40,114){\makebox[0pt]{#2}}   %
\put(80,114){\makebox[0pt]{#3}}   %
\put(50,76){\makebox(0,0){#5}}      % label in the middle
\put(45,38){\makebox(0,0)[t]{#4}}  }} % label at the bottom

%%%%%%%%%%%%%%%%%%%%%%%%%scalecs

\newcommand{\scalecs}[9]{

\put(0,0){
\setunit{0.3\leng} %
\put(20,0){ \scalecq
\put(20,114){\makebox[0pt]{#4}}   %
\put(40,114){\makebox[0pt][r]{#5}}   %
\put(80,114){\makebox[0pt]{#6}}   %
\put(50,76){\makebox(0,0){#9}}      % label in the middle
\put(50,36){\makebox(0,0)[t]{#7}}} \setunit{0.2\leng}
\put(39.8,124){\setleng{0.67\leng} \scalecr{#1}{#2}{#3}{}{#8}}}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalect

\newcommand{\scalect}[4]{
\setlength{\unitlength}{0.3\leng} %

\put(20,0){\line(0,1){20}} %
\put(20,20){\line(-2,3){20}} %
\put(20,20){\line(2,3){20}}  %
\put(0,50){\line(1,0){40}}  %
\put(0,50){\line(0,1){20}}  %
\put(40,50){\line(0,1){20}} %

\put(15,0){\makebox(0,0)[r]{#3}} %
\put(0,75){\makebox(0,0)[b]{#1}}  %
\put(40,75){\makebox(0,0)[b]{#2}}  %
\put(20,40){\makebox(0,0)[c]{#4}}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalecu

\newcommand{\scalecu}[3]{
\setlength{\unitlength}{0.3\leng} %

\put(20,0){\line(0,1){20}} %
\put(20,20){\line(-2,3){20}} %
\put(20,20){\line(2,3){20}}  %
\put(0,50){\line(1,0){40}}  %
\put(20,50){\line(0,1){20}} %

\put(15,0){\makebox(0,0)[r]{#2}} %
\put(20,75){\makebox(0,0)[b]{#1}}  %
\put(20,40){\makebox(0,0)[c]{#3}}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalecv

\newcommand{\scalecv}[6]{
\put(3,0){\scalect{}{#3}{#4}{#6}} %
\put(-1.5,21){\setleng{0.75\leng} \scalecu{#1}{#2}{#5}}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalecw

\newcommand{\scalecw}[6]{
\put(3,0){\scalect{#2}{}{#4}{#6}} %
\put(10.5,21){\setleng{0.75\leng} \scalecu{#1}{#3}{#5}}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalecx

\newcommand{\scalecx}[6]{
\put(0,12){\scalect{#1}{#2}{#3}{#5}} %
\put(1.5,-2.5){\setleng{0.75\leng} \scalecu{}{#4}{#6}}}

%%%%%%%%%%%%%%%%%%%%%%%%%scalecy

\newcommand{\scalecy}[7]{
\put(-9,0){\scalecr{#1}{#2}{#3}{#4}{#6}} %
\put(1.5,-2.5){\setleng{0.75\leng} \scalecu{}{#5}{#7}}}

%fff

pub7.tex
%%%che13

\documentclass[a4paper,11pt]{article}


\input pubsettings

\begin{document}



\title{The theory of opetopes via Kelly-Mac~Lane graphs}
\author{Eugenia Cheng\\ \\Department of Pure Mathematics, University
of Cambridge\\E-mail: e.cheng@dpmms.cam.ac.uk}
\date{October 2002}
\maketitle



\begin{abstract}

This paper follows from the work of \cite{che7} and \cite{che12}. 
In the former paper we give an explicit construction of opetopes,
the underlying cell shapes in the theory of opetopic $n$-categories;
at the heart of this construction is the use of certain trees.  In
the latter paper we give a description of trees using Kelly-Mac~Lane graphs. 
In the present paper we apply the latter to the former, to give a
construction of opetopes using Kelly-Mac~Lane graphs.

\end{abstract}


\setcounter{tocdepth}{3}
\tableofcontents

\section*{Introduction}
\addcontentsline{toc}{section}{Introduction}


In \cite{bd1} Baez and Dolan give a definition of weak $n$-category
in which the underlying shapes of cells are `opetopes' and the
underlying data are given by `opetopic sets'. In the present paper
we give an alternative construction of opetopes using the language
of closed categories.  This is made possible by the results of
\cite{che12}, giving a precise correspondence between the trees
involved in the construction of opetopes, and the allowable
morphisms in certain closed categories.  

The end result is a precise algebraic characterisation in place of
the more geometric world of trees.

The idea is as follows.  Recall (\cite{che7}) that a $k$-opetope is
constructed as a `configuration' for composing $(k-1)$-opetopes;
this is expressed as a tree (see \cite{che7}) whose nodes are
labelled by the $(k-1)$-opetopes in question, with the edges giving
their inputs and outputs. 

In order to express this more precisely, it is helpful to give a more
formal description of trees, as a bijection between inputs and
outputs of nodes subject to a condition ensuring that closed loops do
not arise.  

In fact, this leads to an abstract description of trees as certain
Kelly-Mac~Lane graphs; this is the subject of \cite{che12}.  In the
present paper we apply the results of \cite{che12} to the
construction of opetopes.  

First we need to generalise the work of \cite{che12} since we
require the `labelled' version of the trees presented in
that paper, and this is the subject of Section~\ref{label}.  

In Section~\ref{constr} we give the actual construction.  We use the result,
from \cite{che12}, that a tree is precisely an allowable Kelly-Mac~Lane graph
of a certain shape.  We may therefore express the process of forming labelled
trees more precisely, by seeking allowable morphisms in a certain closed
category.  The construction we use to build up dimensions in this way is what
we call a `ladder'; the idea is to pick out precisely the allowable morphisms
that satisfy two conditions.  The first is that the morphism must be of the
correct shape to correspond to a tree.  For the second, recall that an arrow
of a slice multicategory is a way of composing its source elements to give its
target element; the second condition for the `ladder' construction corresponds
to this stipulation.

In Section~\ref{opex} we give some low-dimensional examples of the
above construction to help elucidate this rather abstract approach.  

Then, in Section~\ref{compare}, we prove that this construction does give the
same opetopes as defined in \cite{che7}.  This is the main result of this
work.  We conclude, in Section~\ref{loopex}, with a brief discussion about the
category of opetopes.  This category is constructed explicitly in \cite{che9},
and the work in the present paper extends to the construction of this
category.  We do not explicitly give this construction here, but we give some
low-dimensional examples of the `face' maps of opetopes in the new framework.  


\subsubsection*{Terminology}

\renewcommand{\labelenumi}{\roman{enumi})}
\begin{enumerate}

\item Since we are concerned chiefly with {\em weak}
$n$-categories, we follow Baez and Dolan (\cite{bd1}) and omit the
word `weak' unless emphasis is required; we refer to {\em strict}
$n$-categories as `strict $n$-categories'.

\item In \cite{bd1} Baez and Dolan use the terms `operad' and
`types' where we use `multicategory' and `objects'; the latter
terminology is more consistent with Leinster's use of `operad' to
describe a multicategory whose `objects-object' is 1.

\item As in \cite{che9}, we work with opetopes not precisely the
same as those given in \cite{bd1}, but rather as given by the
opetopic theory as explained in \cite{che7} using multicategories
with a category rather than a set of objects; we refer the reader to
\cite{che7} for the full details.  

\end{enumerate}

\bigskip {\bfseries Acknowledgements}

This work was supported by a PhD grant from EPSRC.  I would like to thank
Martin Hyland and Tom Leinster for their support and guidance.




\section{Opetopes} \label{loopsope}

In this section we use the results of \cite{che12} to
construct opetopes.  We first need to introduce the notion
of {\em labelled} Kelly-Mac~Lane graphs.

\subsection{Preliminaries}
\label{label}

For the construction of opetopes we require the `labelled' version
of the theory presented in \cite{che12}: labelled shapes, labelled graphs and labelled
trees.

Given a category \bb{C} we can form {\em labelled shapes} (in
\bb{C}), that is, shapes labelled by the objects of \bb{C}.  A
labelled shape is a shape $T$ with each 1 `labelled' by an object
$A_i$ of \bb{C}.  We write this as
    \[|T|(A_1, \ldots, A_k).\]
The variable set is then defined to be the variable set of the
underlying shape.

For example given
    \[T=[\ [1,1] \otimes 1\otimes 1 \ , \ I\ ] \otimes1\]
we have a labelled shape
    \[\alpha = |T|(A_1, \ldots, A_5) = [\ [A_1, A_2] \otimes A_3 \otimes
    A_4 \ , \ I\ ] \otimes A_5\]
with underlying shape $T$, and
    \[v(\alpha) = v(T) = \{+,-,-,-,+\}.\]

Given a category \bb{C} we can form labelled graphs, that is,
graphs whose edges are labelled by morphisms of \bb{C} as follows.
Consider labelled shapes $\alpha$ and $ \beta$ with underlying
shapes $T$ and $S$ respectively.  A {\em labelled graph}
    \[\alpha \lra \beta\]
is a graph
    \[\xi:T \lra S\]
together with a morphism $x \lra y$ for each pair of labels $x,y$
whose underlying variables are mates under $\xi$, with $v(x)=-$
and $v(y)=+$ in the twisted sum. That is, the morphism is in the
direction
    \[- \lra +.\]
For example, the following is a labelled graph \pica pic51.lp
\picz with underlying graph and variances as below \pica pic52.lp .
\picz

Observe that, since the variances of the domain are reversed in
the twisted sum, the direction of morphisms is also reversed in
the domain.

We write $K\bb{C}$ for the category of labelled shapes and labelled
graphs in \bb{C}; thus $G=K\cat{1}$ as mentioned in \cite{che12}.

A labelled graph is called allowable if and only if its underlying
graph is allowable.  We write $A\bb{C}$ for the category of
labelled shapes and allowable labelled morphisms. We observe
immediately that the correspondence between trees and graphs
exhibited in \cite{che12} generalises to a correspondence
between labelled graphs and labelled trees.

\begin{lemma} A labelled tree in \bb{C} is precisely an allowable morphism
    \[\alpha_1, \tensordot \alpha_k \ \lra \ \alpha \ \in A\bb{C}\]
with underlying shape
    \[X_{m_1}\tensordot X_{m_k} \lra X_{(\sum_i m_i)-k+1}.\]
\end{lemma}

Recall (\cite{che7}) that a labelled tree gives a
`configuration for composing' arrows of a \sm\ via
object-morphisms, as used in the slice construction.  By the above
correspondence, a labelled graph as above may also be considered
to give such a configuration; thus in Section~\ref{loopslice} we
will use such graphs to give an alternative description of the
slice construction.  We will need the following construction.


Given categories \bb{C} and \bb{D} and a functor
    \[F:\bb{C} \lra K\bb{D}\]
we define a functor
    \[KF:K\bb{C} \lra K\bb{D}\]
as follows.

\begin{itemize}
\item on objects
\end{itemize}
An object in $K\bb{C}$ is a labelled shape
    \[\alpha = |T|(x_1, \ldots, x_n);\]
put
    \[KF(\alpha) = |T|(Fx_1, \ldots Fx_n) \in K\bb{D}.\]

\begin{itemize}
\item on morphisms
\end{itemize}
Given a morphism
    \[|T|(x_1, \ldots, x_n) \map{f} |S|(x_{n+1}, \ldots, x_m) \in
    K\bb{C}\]
we define $KFf$ as follows.  Suppose $f$ has underlying graph
$\xi$, say.  Consider a pair of mates $a$ and $b$ in $\xi$, with
the edge joining them `labelled' with morphism
    \[g:a\lra b \in \bb{C}.\]
This gives a morphism
    \[Fg:Fa\lra Fb \in K\bb{D}.\]
So $Fg$ is a graph labelled in $\bb{D}$.  Then $KFf$ consists of
all such graphs given by mates in $\xi$, positioned according to
the positions in $\xi$.

Furthermore, if $F: \bb{C} \lra \bb{D}$ then we get
    \[AF: A\bb{C} \lra A\bb{D}\]
by restricting the functor $KF$.

\subsection{The construction of opetopes} \label{constr}


We seek to define, for each $k\geq 0$, a category $\ope_k$ of
$k$-opetopes.  A $k$-opetope $\theta$ is to have a list of input
$(k-1)$-opetopes $\alpha_1, \ldots, \alpha_m$, say, and an output
$(k-1)$-opetope $\alpha$, say.  This data is to be expressed as an
object
    \[[\ \alpha_1 \tensordot \alpha_m\ ,\ \alpha\ ]\in A\ope_{k-1}\]
called the {\em frame} of $\theta$ (see \cite{bd1}).  Each frame
has shape $X_m = [1^{\otimes m},1]$ for some $m \geq 0$.  So, for
each $k$ we will have a functor
    \[\phi_k:\ope_k \lra A\ope_{k-1}\]
and thus
    \[A\phi_k:A\ope_k \lra A\ope_{k-1}.\]

$\ope_k$ is defined inductively; for $k\geq 2$ it is a certain
full subcategory of the comma category
    \[(I\downarrow A\phi_{k-1})\]
with the following motivation.  A $k$-opetope $\theta$ with frame
    \[[\ \alpha_1 \tensordot \alpha_m\ ,\ \alpha\ ]\]
is a configuration for composing $\alpha_1, \ldots, \alpha_m$ to
result in $\alpha$.  That is, it is an allowable morphism
    \[\ I \map{\theta} [\phi_{k-1}\alpha_1 \tensordot
    \phi_{k-1}\alpha_m\ ,\ \phi_{k-1}\alpha\ ] \in A\ope_{k-2}\]
such that the composition does result in $\alpha$.  Such a
$\theta$ is clearly an object of $(I\downarrow A\phi_{k-1})$; so
we take the full subcategory whose objects are all those of the
correct form.

In fact we begin with a more general construction for building up
dimensions.



\begin{definition} A {\em ladder} is given by
\begin{itemize}
\item for each $k \geq 0$ a category $\bb{D}_k$
\item for each $k \geq 1$ a functor $F_k:\bb{D}_k \lra
A\bb{D}_{k-1}$
\end{itemize}
such that for each $k\geq 2$, $F_k$ is of the form
    \[\bb{D}_k \lra (I\downarrow AF_{k-1}) \lra A\bb{D}_{k-1}\]
where the second morphism is the forgetful functor.
\end{definition}

Note that given  $F_k:\bb{D}_k \lra A\bb{D}_{k-1}$ we have a
functor
    \[AF_k: A\bb{D}_k \lra A\bb{D}_{k-1}\]
and the comma category $(I\downarrow AF_{k-1})$ has as its objects
pairs $(\theta, z)$ where $z \in A\bb{D}_{k-1}$ and $\theta$ is an
allowable morphism
    \[I \map{\theta} AF_{k-1}(z) \ \in A\bb{D}_{k-1}.\]

\begin{definition} \label{opeladder} The {\em opetope ladder} is given as follows.
{\em
\begin{itemize}
\item $\bb{D}_0 = 1 = \{x\}$, say
\item $\bb{D} = 1 = \{u\}$, say, with
    \[\begin{array}{rccc}
    \phi_1 : & \bb{D}_1 & \lra & A\bb{D}_0\\
    & u & \longmapsto & [x,x] \\
    \end{array}\]
\item For $k\geq 2$, $\bb{D}_k$ is a full subcategory of $(I\downarrow
A\phi_{k-1})$.  This comma category has objects $(\theta, z)$
where $z \in A\bb{D}_{k-1}$ and
    \[I \map{\theta} A\phi_{k-1}(z)\]
is an allowable morphism in $A\bb{D}_{k-2}$.  Then the subcategory
$\bb{D}_k$ by the following two conditions:  \numAlph
\begin{enumerate}
\item The objects of $\bb{D}_k$ are all $(\theta, z)$ such that $z$
has shape $X_m$ for some $m\geq 0$.  So $z=[\alpha_1 \tensordot
\alpha_m, \alpha]$ for some $\alpha_i, \alpha \in \bb{D}_{k-1}$.
\item For $k\geq 3$ we require in addition that
    \[A\phi_{k-2}\bar{\theta} \circ (\alpha_1 \tensordot \alpha_m)
    = \alpha\]
as morphisms in $A\bb{D}_{k-3}$.
\end{enumerate}

\item For $k\geq 2$ the functor $\phi_k: \bb{D}_k \lra
A\bb{D}_{k-1}$ is the following composite
    \[\bb{D}_k \hookrightarrow (I\downarrow A\phi_{k-1}) \lra
    A\bb{D}_{k-1}\]
where the functors shown are the inclusion followed by the
forgetful functor.

\end{itemize}}
\end{definition}

Note that the composition in condition B is possible: each
$\alpha_i$ is an object of $\bb{D}_{k-1}$, so is by definition a
morphism
    \[I \lra A\phi_{k-2}(\phi_{k-1}\alpha_i) \in A\bb{D}_{k-3}.\]
Now $\theta$ is a morphism
    \[\ I \lra [\phi_{k-1}\alpha_1 \tensordot \phi_{k-1}\alpha_m\
    ,\ \phi_{k-1}\alpha\ ]\] so
    \[\ \bar{\theta}\ :\ \phi_{k-1}\alpha_1 \tensordot
    \phi_{k-1}\alpha_m \ \lra\ \phi_{k-1}\alpha\]
so the domain of $A\phi_{k-2}\bar{\theta}$ is indeed the codomain
of $(\alpha_1 \tensordot \alpha_m)$ and the composite in
$A\bb{D}_{k-3}$ may be formed.

\begin{definition} For each $k\geq 0$ the category $\bb{D}_k$
defined above is the category of {\em $k$-opetopes}.  We write
$\bb{D}_k=\ope_k$.  If the frame of a $k$-opetope has shape $X_m$
we say $\theta$ is an {\em $m$-ary opetope}.
\end{definition}

\numarabic
\begin{remarks} \end{remarks}
\begin{enumerate}
\item In general (that is for $k \geq 3$) the objects of
$\bb{D}_k$ are those of $(I\downarrow A\phi_{k-1})$ satisfying the
conditions A and B. Condition A restricts our scope only to those
objects having the correct shape; condition B ensures that the
`output' of the opetope is indeed the composite given.  For $k=2$
condition B does not apply; any configuration of composing
identity maps gives the identity.

\item A morphism $(\theta,z) \map{f} (\theta',z')$ in $(I\downarrow
A\phi_{k-1})$ is a morphism
    \[f:z \lra z' \in A\bb{D}_{k-1}\]
such that the following diagram commutes: \pica pic57.lp \picz

so a morphism $\theta \map{f} \theta'$ in $\bb{D}_k$ is given as
follows.  Writing
    \[\phi_k \theta = [\alpha_1 \tensordot \alpha_m, \alpha]\]
    \[\phi_k \theta'= [\beta_1 \tensordot \beta_j, \beta]\]
$f$ must be a morphism
    \[ [\alpha_1 \tensordot \alpha_m, \alpha] \lra
    [\beta_1 \tensordot \beta_j, \beta] \in A\bb{D}_{k-1}.\]
So we must have $m=j$ and $f$ has the form \pica pic30.lp \picz
that is, a permutation $\sigma \in \cat{S}_m$ and morphisms
    \[g_i: \beta_i \lra \alpha_{\sigma(i)}, \ \ \mbox{ for each }1\leq i \leq m\]
    \[g:\alpha \lra \beta\]
in $\bb{D}_{k-1}$, such that the following diagram commutes \pica
pic31.lp \picz
\end{enumerate}

\subsection{Examples} \label{opex}

We now give the first few stages of the construction explicitly,
together with some examples.

\begin{itemize}
\item $k=0$
\end{itemize}
$\ope_0=\cat{1}$, that is, there is only one 0-opetope.  We may
think of this as an object $\cdot$\ ; we write $x$ for
convenience.

\begin{itemize}
\item $k=1$
\end{itemize}
$\ope_1=\cat{1}$, that is, there is only one 1-opetope, $u$, say.
We have
    \[\phi_1(u) = [x,x] \in A\ope_0\]
that is, the unique 1-opetope $u$ has one input 0-opetope and one
output 0-opetope.  We may think of this as
    \[\lra\]
or, showing variances
    \[-\ \ +\]
and then we have \pica pic58.lp ,\picz an allowable morphism in
$A\ope_0$.  (We do not show arrowheads since all arrows in
$\ope_0$ are identity arrows.)

\begin{itemize}
\item $k=2$
\end{itemize}
We seek to construct the category $\ope_2$.  First we consider an
object $\alpha \in \ope_2$. $\alpha$ has frame
    \[\phi_2 \alpha \in A\ope_1\]
where $\phi_2 \alpha$ has shape $X_m$ for some $m\geq 0$.  So we
have
    \[\phi_2 \alpha = [u^{\otimes m}, u] = [u \tensordot u, u].\]
Now $\alpha$ is an allowable morphism
    \[I \map{\alpha}[\ \phi_1 u \tensordot \phi_1 u\ ,\ \phi_1 u\ ] \in
    A\ope_0 = A\cat{1}\]
that is
    \[I \map{\alpha}[\ [x,x] \tensordot [x,x]\ ,\ [x,x]\ ]\]
or equivalently a morphism
    \[[x,x] \tensordot [x,x] \lra [x,x] \in A\cat{1}.\]

For example, for $m=3$ we may have a graph \pica pic32.lp \picz
which we will later see corresponds to the following \pica
pic59.lp \picz where the numbers show the order in which the input
1-opetopes are listed.

For the nullary case $m=0$ we seek an allowable morphism
    \[I \lra [x,x].\]
There is precisely one such, given by the following graph \pica
pic13.lp \picz and we will later see that this corresponds to the
nullary 2-opetope \pica pic60.lp .\picz

We now consider a morphism
    \[\alpha \map{f} \alpha' \in \ope_2.\]
We must have
    \[\phi_2 \alpha = \phi_2 \alpha' = [u^{\otimes m}, u],\]
say.  Then $f$ is a morphism
    \[[u^{\otimes m}, u] \lra [u^{\otimes m}, u] \in A\ope_1 =
    A\cat{1}.\]
So $f$ must be a permutation $\sigma \in \cat{S}_m$, an
isomorphism.  So we have
\[\ope_2(\alpha, \alpha') = \left\{ \begin{array} {l@{\extracolsep{3em}}l}
    \cat{S}_m & \mbox{if $\alpha$ and $\alpha'$ are both $m$-ary} \\
    \emptyset & \mbox{otherwise}
\end{array} \right. \]
and $\ope_2$ is equivalent to a discrete category whose objects
are the natural numbers.

Note that the action of $\phi_2$ on morphisms is given as follows.
Given a morphism $f$ as above, the morphism
    \[\phi_2 f: \phi_2\alpha \lra \phi_2 \alpha' \in A\ope_1\]
is given by the forgetful functor
    \[(I\downarrow A\phi_1) \lra A\ope_1\]
so is simply the graph given by the permutation $\sigma$.

\begin{itemize}
\item $k=3$
\end{itemize}

We now seek to construct the category $\ope_3$. We first consider
an $m$-ary opetope $\theta \in \ope_3$ with frame
    \[[\alpha_1 \tensordot \alpha_m,\alpha] \in A\ope_2\]
such that
    \[\phi_2 \alpha_i = [u^{\otimes n_i},u] \ \ \mbox{ for each $1
    \leq i \leq m$}\]
    \[\phi_2 \alpha = [u^{\otimes n},u].\]
So $\theta$ is an allowable morphism
    \[I \map{\theta}[\ [u^{\otimes n_1},u] \tensordot  [u^{\otimes
    n_m},u], [u^{\otimes n},u]\ ]\]
or equivalently
    \[[u^{\otimes n_1},u] \tensordot  [u^{\otimes n_m},u]
    \ \map{\bar{\theta}}\  [u^{\otimes n},u] \in A\ope_1,\]
such that
    \[(A\phi_1) \bar{\theta} \circ (\alpha_1 \tensordot
    \alpha_m) = \alpha\]
as morphisms in $A\ope_0$.

For example for $m=2$ consider \pica pic33.lp \\ \input pic34.lp
\\ \input pic35.lp \picz
so
    \[\phi_2 \alpha_1 = [u \otimes u \otimes u\ ,\ u]\]
    \[\phi_2 \alpha_2 = [u \otimes u\ ,\ u]\]
    \[\phi_2 \alpha = [u \otimes u \otimes u\otimes u\ ,\ u]\]

Then $\bar{\theta}$ may have the following graph in $A\ope_1$
\pica pic36.lp \picz  The condition B is seen to be satisfied by
the following diagram; we apply $\phi_1$ to each component, and
compose with $\alpha_1 \otimes \alpha_2$: \length{0.9mm}
\begin{center} \hspace*{-10mm} \vspace*{20mm}\input pic37.lp
\end{center} \length{1mm} This corresponds to a 3-opetope of the
form \pica pic61.lp .\picz

Note that we still do not need to label the edges of the graph
since $\ope_1$ also only has identity arrows.

A morphism
    \[\theta \map{f} \theta' \in \ope_3\]
then has one of the following two forms \pica pic38.lp \picz or
\pica pic39.lp \picz where $g_1, g_2, g$ are morphisms in
$\ope_2$. Since all morphisms in $\ope_2$ are isomorphisms, it
follows that all morphisms in $\ope_3$ are isomorphisms.  In fact,
since $\ope_2$ is equivalent to a discrete category, $\ope_3$ is
also, and similarly $\ope_k$ for all $k \geq 0$; this is proved in
Section~\ref{compare}.

\begin{itemize}
\item $k=4$
\end{itemize}

Finally we give an example of a 4-opetope $\gamma \in \ope_4$,
with
    \[\phi_4 \gamma = [\theta_1 \otimes \theta_2\ ,\ \theta]\]
where \pica pic40.lp \\ \input pic41.lp \\ \input pic42.lp \picz
and we have
    \[\phi_3 \theta_1 = [\ [u^{\otimes 3}, u] \otimes [u^{\otimes
    2},u]\ ,\  [u^{\otimes 4},u] \ ] = [U_3 \otimes U_2\ ,\ U_4], \mbox{
    say}\]
    \[\phi_3 \theta_2 = [\ [u^{\otimes 2}, u] \otimes [u^{\otimes
    2},u] \ , \ [u^{\otimes 3},u]\ ] = [U_2 \otimes U_2\ ,\ U_3]\]
    \[\phi_3 \theta = [U_2 \otimes U_2 \otimes U_2 \ , \ U_4].\]

Then $\bar{\gamma}$ may be given by the following graph in
$A\ope_2$ \begin{center} \hspace*{-20mm} \input pic43.lp
\end{center} where each $\sigma_i$ is a morphism
in $\ope_2$, that is, a permutation. We then check condition B by
the following diagram: \begin{center} \hspace*{-20mm} \input
pic44.lp
\\ \input pic45.lp \end{center} giving the composite $\theta$ as
required.  Note that the permutations $\sigma_i$ appear as
permutations of the appropriate edges in the above diagram.

This corresponds to an opetope of the following form:
\begin{center} \hspace*{-5mm} \input pic46.lp \end{center}

\section{Comparison with the multicategory approach}
\label{compare}

In \cite{bd1}, opetopes are constructing using symmetric
multicategories.  Dimensions are built up using the slicing
process.  We compare this process with the use of closed
categories as above.

\subsection{The slice construction} \label{loopslice}

Recall the slice construction for a symmetric multicategory.  Let
$Q$ be a symmetric multicategory.  Then the slice multicategory
$Q^+$ is given by
\begin{itemize}
\item Objects: $o(Q^+) = \elt{Q}$
\item Arrows: $Q^+(f_1, \ldots, f_n;f)$ is given by the set of
`configurations' for composing $f_1, \ldots, f_n$ as arrows of
$Q$, to yield $f$.
\end{itemize}

Recall further that such a configuration for composing is given by a
labelled tree $(T, \rho, \tau)$ where the nodes give the positions
for composing the $f_i$.  So by the results of \cite{che12} we may
restate this using allowable morphisms in $K\bb{C}$, where $\bb{C} =
o(Q)$.

Let $Q$ be a symmetric multicategory with category of objects
\bb{C}.  Given an arrow $f \in Q(x_1, \ldots, x_m; x)$ we write
    \[\phi f = [x_1 \tensordot x_m, x] \in A\bb{C}.\]
Then the slice multicategory $Q^+$ is given as follows.
\begin{itemize}
\item objects $o(Q^+) = \elt{Q}$
\item an arrow $\theta \in Q^+(f_1, \ldots, f_j; f)$ is an arrow
    \[\theta \in A\bb{C}(\ I\ ,\ [\phi f_1 \tensordot \phi f_j\ ,\ \phi
    f]\ )\]
such that composing the $f_i$ in this configuration gives
$f$.
\end{itemize}

\begin{lemma} \label{loopspropn}
$\phi$ extends to a functor
    \[\phi: \elt{Q} \lra A\bb{C}.\]
\end{lemma}

\begin{prf} Let
    \[f \in Q(x_1, \ldots, x_m;x)\]
    \[g \in Q(y_1, \ldots, y_j;y).\]
Then $\elt{Q}(f,g) = \emptyset$ unless $m=j$.  If $m=j$ then a
morphism $f \map{\gamma} g$ is given by a permutation $\sigma \in
\cat{S}_m$ together with morphisms
    \[t_i:y_i \lra x_{\sigma(i)}\]
    \[t: x \lra y\]
satisfying certain conditions.  This specifies a unique allowable
morphism
    \[[x_1 \tensordot x_m, x] \lra [y_1 \tensordot y_m, y] \in
    A\bb{C}\]
and we define $\phi\gamma$ to be this morphism.  This makes $\phi$
into a functor.  \end{prf}

We call $\phi$ the {\em frame functor} for $Q$.  We now show how
the slicing process corresponds to moving one rung up the
`ladder'.

\begin{lemma} \label{loopspropp}  Let $Q$ be a \sm\ with category of objects \bb{C}.
Then the category \elt{Q^+} is isomorphic to a full subcategory of
the comma category $(I\downarrow A\phi)$ and the frame functor for
$Q^+$ is given by
    \[\elt{Q^+} \hookrightarrow (I\downarrow A\phi) \lra
    A(\elt{Q})\]
where the functors shown are the inclusion followed by the
forgetful functor.
\end{lemma}

\begin{prf}  Write $\bb{C}_1 = \elt{Q} = o(Q^+)$.

An object of $\elt{Q^+}$ is $(\theta,p)$ where $p\in
\free{\bb{C}_1}\times\bb{C}_1$ and $\theta \in Q^+(p)$.

Write
    \[p = (f_1, \ldots, f_m;f).\]
Then $\theta$ is an allowable morphism
    \[I \map{\theta} A\phi[f_1 \tensordot f_m, f]\]
that is, an object
    \[(\ \theta\ ,\ [f_1 \tensordot f_m, f]\ ) \in (I\downarrow A\phi)\]
such that composing the $f_i$ according to $\theta$ results in
$f$.

A morphism $(\theta,p) \lra (\theta',p')$ in $\elt{Q^+}$ is a
morphism $p \lra p'$ in $\free{\bb{C}_1}\times\bb{C}_1$ such that
a certain commuting condition holds.  Such a morphism is precisely
an allowable morphism
    \[[f_1 \tensordot f_m, f] \lra [f'_1 \tensordot f'_m, f'] \in
    A\bb{C}_1\]
and the commuting condition is precisely that ensuring that this
is a morphism  $\theta \lra \theta'$ in $(I\downarrow A\phi)$.

It is then clear that the frame functor is given by the inclusion
followed by the forgetful functor as asserted.  \end{prf}

\begin{corollary} \label{corcor} The category \elt{Q^+} is the
full subcategory of $(I\downarrow A\phi)$ whose objects are all
$(\theta,p)$ satisfying the following two conditions: \numroman
\begin{enumerate}
\item $p$ has shape $X_m$ for some $m \geq 0$ so $p = [f_1
\tensordot f_m, f]$
\item the result of composing the $f_i$ according to $\theta$ is
$f$.
\end{enumerate} \end{corollary}

If $Q$ is itself a slice multicategory then we can state the
condition (ii) in the language of closed categories as well, since
each $f_i$ is itself an allowable graph.

So we now consider forming $Q^{++}$, that is, the slice of a slice
multicategory.  Let $Q$ be a symmetric multicategory with category
of objects $\bb{C}_0$.  We write
    \[\bb{C}_1 = o({Q^+})\]
with frame functor
    \[\begin{array}{rccc}
    \phi_1 : & \bb{C}_1 & \lra & A\bb{C}_0\\
    & f \in Q(x_1, \ldots, x_m; x) & \longmapsto & [x_1 \tensordot x_m,x] \\
    \end{array}\]

Also, we write
    \[\bb{C}_2 = \elt{Q^+}\]
with frame functor
    \[\begin{array}{rccc}
    \phi_2 : & \bb{C}_2 & \lra & A\bb{C}_1\\
    & \alpha \in Q^+(f_1, \ldots, f_m; f) & \longmapsto & [f_1 \tensordot f_m,f] \\
    \end{array}\]


\begin{lemma} \label{loopspropm}
Let $\theta$ be a configuration for composing $\alpha_1, \ldots,
\alpha_j \in \elt{Q^+}=\bb{C}_2$ expressed as an allowable
morphism
    \[I \map{\theta} [\ \phi_2 \alpha_1 \tensordot \phi_2 \alpha_j\
    ,\ \phi_2 \alpha] \in A\bb{C}_1.\ \] Then the result of composing the
$\alpha_i$ in this configuration is
    \[(A\phi_1)\bar{\theta}\ \circ\ (\alpha_1 \tensordot \alpha_j)\]
composed as morphisms of $A\bb{C}_0$.  \end{lemma}

\begin{prf}  By definition, each $\alpha_i$ is a morphism in
$A\bb{C}_0$ of shape
    \[I \lra [\ X_{im_1} \tensordot X_{im_i} \ , \ X \ ],\]
so is a tree labelled in $\bb{C}_0$.  These trees are composed by
node-replacement composition (see \cite{che12}) and the
``composition graph'' is given by $\bar{\theta}$.  \end{prf}

\begin{corollary} \label{loopsproppp}
An arrow $\theta \in Q^{++}(\alpha_1, \tensordot, \alpha_j;
\alpha)$ is precisely a morphism
    \[\theta \in A\bb{C}_1(\ I\ ,\ [\phi_2 \alpha_1 \tensordot \phi_2 \alpha_j\ ,
    \ \phi_2 \alpha]\ )\]
such that
    \[(A\phi_1)\bar{\theta}\ \circ\ (\alpha_1 \tensordot \alpha_j) = \alpha\
    \in A\bb{C}_0\]
\end{corollary}

\begin{corollary} \label{loopspropq}
$\elt{Q^{++}}$ is the full subcategory of $(I\downarrow A\phi_2)$
whose objects are all $(\theta,p)$ satisfying the following two
conditions:
\begin{enumerate}
\item $p$ has shape $X_m$ for some $m\geq 0$, so
$p=[\alpha_1 \tensordot \alpha_m; \alpha] \in A\bb{C}_2$
\item $(A\phi_1)\bar{\theta} \circ(\alpha_1 \tensordot \alpha_j) =
\alpha$.
\end{enumerate}
\end{corollary}

Finally we are ready to show that the opetopes constructed using
symmetric multicategories correspond to those constructed in
closed categories.

\begin{corollary} \label{loopspropr}
Let $Q$ be the symmetric multicategory with just one object and
one (identity) morphism.  Then for all $k\geq 0$
    \[o(Q^{k+}) \cong \ope_k\]
where $Q^{0+}=Q$.
\end{corollary}

%iii

\begin{prf} For $k\leq 1$ the result is immediate by
Definition~\ref{opeladder}.  For $k=2$ we use
Corollary~\ref{corcor} on $Q^+$; the result follows since
condition (ii) is trivially satisfied.  For $k \geq 3$ we use
Corollary~\ref{loopspropq} on $Q^{(k-3)+}$; the result follow
since the $\phi_2$ in the Corollary is $\phi_{k-2}$ in the case in
question.  \end{prf}

\section{The category of opetopes}
\label{loopex}

Recall that in \cite{che9} we defined the category \cl{O}
of opetopes.  It is now possible to restate this definition in the
framework of Kelly-Mac~Lane graphs; we
copy the definition exactly, using the fact that the bijection
giving the formal definition of a tree gives the mates in the
corresponding Kelly-Mac~Lane graph.

Although we do not give the construction explicitly here, we give
some examples of low-dimensional face maps. We use the example of
a 3-opetope as given in Section~\ref{opex}.

For the 2-opetopes we have face maps \pica pic64.lp \picz together
with the isomorphic cases.

For 1-opetopes we then have
    \[s_1, s_2, s_3, t\ :\ u \lra \alpha_1\]
    \[s_1, s_2, t\ :\ u \lra \alpha_2\]
    \[s_1, s_2, s_3, s_4, t\ :\ u\lra \alpha\]
but by considering the generating relations, here given by mates
in the graph $\theta$, we have
\[\begin{array}{ccc}
    s_1s_1 & = & s_2t\\
    s_1s_2 & = & ts_2\\
    s_1s_3 & = & ts_3\\
    s_1t   & = & tt\\
    s_2s_1 & = & ts_1\\
    s_2s_2 & = & ts_4;
    \end{array}\]
note that $s_is_j$ give the $jth$ source of the $ith$ source of
$\theta$.

For 0-opetopes we have in addition face maps
    \[x \lra u\]
and the relations on composites
    \[x \lra \theta\]
are generated by relations on composites
    \[x \lra \alpha_i\]
as well as by those on composites
    \[u \lra \theta.\]

For the former relations we are considering mates under graphs
$\alpha_i \in A\ope_0$, and for the latter, mates under the graph
$(A\phi_1) \bar{\theta} \in A\ope_0$.  So in fact we are
considering, in total, all objects connected in the composite
graph
    \[(A\phi_1) \bar{\theta} \circ(\alpha \tensordot \alpha_m) \in
    A\ope_1.\]
So we have
\[\begin{array}{ccccccccccc}
    ts_1s & = & s_2s_1s & = & s_2s_2t & = & ts_4t \\
    ts_1t  & = & s_2s_1t & = & s_2tt   & = & s_1s_1t & = & s_1s_2s & = &
    ts_2s\\
    ts_2t & = & s_1s_2t & = & s_1s_3s & = & ts_3s \\
    ts_3t & = & s_1s_3t & = & s_1tt & = & ttt \\
    ts_4s & = & s_2s_2s & = & s_2ts & = & s_1s_1s & = & s_1ts & = &
    tts
    \end{array}\]

Note that since
    \[(A\phi_1) \bar{\phi} \circ(\alpha_1 \tensordot \alpha_m) =
    \alpha\]
the 0-cell face maps for $\theta$ are precisely those of the form
$tf$ where $f$ is a 0-cell face map of $\alpha = t(\theta)$. This
reflects the fact that, when $2$-opetopes are composed along
$1$-opetopes, the composite is formed by `deleting' the boundary
1-opetopes, but no 0-cells are deleted.  This result generalises
to $k$-opetopes, but we do not prove this here.



\addcontentsline{toc}{section}{References}
\bibliography{bib0209}




\nocite{kl1}

\nocite{js1} 









\end{document}

pubsettings.tex

\input{macros1}
\input{macros2}
\input{opics}
\input{settings1}

%\mybibstyle

\bibliographystyle{plain}

settings1.tex
%%%%%%%%%%%%%%%%%%%%%%%%% use packages 


\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{amsmath}
%\usepackage{amsthm}
\usepackage{fancyheadings}
\usepackage{latexcad}



pub7.bbl
\begin{thebibliography}{1}

\bibitem{bd1}
John Baez and James Dolan.
\newblock Higher-dimensional algebra {I}{I}{I}: $n$-categories and the algebra
  of opetopes.
\newblock {\em Adv. Math.}, 135(2):145--206, 1998.
\newblock Also available via {\tt http://math.ucr.edu/home/baez}.

\bibitem{che9}
Eugenia Cheng.
\newblock The category of opetopes and the category of opetopic sets, October
  2002.
\newblock E-print {\tt math.CT/0304284}.


\bibitem{che12}
Eugenia Cheng.
\newblock A relationship between trees and {K}elly-{M}ac~{L}ane graphs, October 2002.
\newblock E-print {\tt math.CT/0304287}.


\bibitem{che7}
Eugenia Cheng.
\newblock Weak $n$-categories: opetopic and multitopic foundations, October
  2002.
\newblock E-print {\tt math.CT/0304277}.


\bibitem{js1}
Andr{\'e} Joyal and Ross Street.
\newblock Braided tensor categories.
\newblock {\em Advances in Mathematics}, 102:20--78, 1983.

\bibitem{kl1}
G.~Kelly and M.~Laplaza.
\newblock Coherence for compact closed categories.
\newblock {\em Journal of Pure and Applied Algebra}, 19:193--213, 1980.

\end{thebibliography}
