  
  [1X4 [33X[0;0YCategory 2-Cells[133X[101X
  
  
  [1X4.1 [33X[0;0YAttributes for the Type of 2-Cells[133X[101X
  
  [1X4.1-1 Source[101X
  
  [33X[1;0Y[29X[2XSource[102X( [3Xc[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya morphism[133X
  
  [33X[0;0YThe  argument  is  a  [23X2[123X-cell  [23Xc: \alpha \rightarrow \beta[123X. The output is its
  source [23X\alpha[123X.[133X
  
  [1X4.1-2 Range[101X
  
  [33X[1;0Y[29X[2XRange[102X( [3Xc[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya morphism[133X
  
  [33X[0;0YThe  argument  is  a  [23X2[123X-cell  [23Xc: \alpha \rightarrow \beta[123X. The output is its
  range [23X\beta[123X.[133X
  
  
  [1X4.2 [33X[0;0YIdentity 2-Cell and Composition of 2-Cells[133X[101X
  
  [1X4.2-1 IdentityTwoCell[101X
  
  [33X[1;0Y[29X[2XIdentityTwoCell[102X( [3Xalpha[103X ) [32X attribute[133X
  [6XReturns:[106X  [33X[0;10Ya [23X2[123X-cell[133X
  
  [33X[0;0YThe  argument  is  a  morphism  [23X\alpha[123X.  The  output  is its identity [23X2[123X-cell
  [23X\mathrm{id}_{\alpha}: \alpha \rightarrow \alpha[123X.[133X
  
  [1X4.2-2 AddIdentityTwoCell[101X
  
  [33X[1;0Y[29X[2XAddIdentityTwoCell[102X( [3XC[103X, [3XF[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ynothing[133X
  
  [33X[0;0YThe  arguments  are  a category [23XC[123X and a function [23XF[123X. This operations adds the
  given function [23XF[123X to the category for the basic operation [10XIdentityTwoCell[110X. [23XF:
  \alpha \mapsto \mathrm{id}_{\alpha}[123X.[133X
  
  [1X4.2-3 HorizontalPreCompose[101X
  
  [33X[1;0Y[29X[2XHorizontalPreCompose[102X( [3Xc[103X, [3Xd[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya [23X2[123X-cell[133X
  
  [33X[0;0YThe  arguments  are  two  [23X2[123X-cells  [23Xc:  \alpha  \rightarrow  \beta[123X, [23Xd: \gamma
  \rightarrow  \delta[123X  between  morphisms  [23X\alpha,  \beta: a \rightarrow b[123X and
  [23X\gamma,  \delta: b \rightarrow c[123X. The output is their horizontal composition
  [23Xd \ast c: (\gamma \circ \alpha) \rightarrow (\delta \circ \beta)[123X.[133X
  
  [1X4.2-4 AddHorizontalPreCompose[101X
  
  [33X[1;0Y[29X[2XAddHorizontalPreCompose[102X( [3XC[103X, [3XF[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ynothing[133X
  
  [33X[0;0YThe  arguments  are  a category [23XC[123X and a function [23XF[123X. This operations adds the
  given    function    [23XF[123X   to   the   category   for   the   basic   operation
  [10XHorizontalPreCompose[110X. [23XF: (c,d) \mapsto d \ast c[123X.[133X
  
  [1X4.2-5 HorizontalPostCompose[101X
  
  [33X[1;0Y[29X[2XHorizontalPostCompose[102X( [3Xd[103X, [3Xc[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya [23X2[123X-cell[133X
  
  [33X[0;0YThe  arguments  are  two  [23X2[123X-cells  [23Xd:  \gamma  \rightarrow \delta[123X, [23Xc: \alpha
  \rightarrow  \beta[123X  between  morphisms  [23X\alpha,  \beta:  a \rightarrow b[123X and
  [23X\gamma,  \delta: b \rightarrow c[123X. The output is their horizontal composition
  [23Xd \ast c: (\gamma \circ \alpha) \rightarrow (\delta \circ \beta)[123X.[133X
  
  [1X4.2-6 AddHorizontalPostCompose[101X
  
  [33X[1;0Y[29X[2XAddHorizontalPostCompose[102X( [3XC[103X, [3XF[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ynothing[133X
  
  [33X[0;0YThe  arguments  are  a category [23XC[123X and a function [23XF[123X. This operations adds the
  given    function    [23XF[123X   to   the   category   for   the   basic   operation
  [10XHorizontalPostCompose[110X. [23XF: (d,c) \mapsto d \ast c[123X.[133X
  
  [1X4.2-7 VerticalPreCompose[101X
  
  [33X[1;0Y[29X[2XVerticalPreCompose[102X( [3Xc[103X, [3Xd[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya [23X2[123X-cell[133X
  
  [33X[0;0YThe  arguments  are  two  [23X2[123X-cells  [23Xc:  \alpha  \rightarrow  \beta[123X,  [23Xd: \beta
  \rightarrow \gamma[123X between morphisms [23X\alpha, \beta, \gamma: a \rightarrow b[123X.
  The  output  is  their  vertical  composition  [23Xd \circ c: \alpha \rightarrow
  \gamma[123X.[133X
  
  [1X4.2-8 AddVerticalPreCompose[101X
  
  [33X[1;0Y[29X[2XAddVerticalPreCompose[102X( [3XC[103X, [3XF[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ynothing[133X
  
  [33X[0;0YThe  arguments  are  a category [23XC[123X and a function [23XF[123X. This operations adds the
  given function [23XF[123X to the category for the basic operation [10XVerticalPreCompose[110X.
  [23XF: (c,d) \mapsto d \circ c[123X.[133X
  
  [1X4.2-9 VerticalPostCompose[101X
  
  [33X[1;0Y[29X[2XVerticalPostCompose[102X( [3Xd[103X, [3Xc[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya [23X2[123X-cell[133X
  
  [33X[0;0YThe  arguments  are  two  [23X2[123X-cells  [23Xd:  \beta  \rightarrow  \gamma[123X, [23Xc: \alpha
  \rightarrow  \beta[123X between morphisms [23X\alpha, \beta, \gamma: a \rightarrow b[123X.
  The  output  is  their  vertical  composition  [23Xd \circ c: \alpha \rightarrow
  \gamma[123X.[133X
  
  [1X4.2-10 AddVerticalPostCompose[101X
  
  [33X[1;0Y[29X[2XAddVerticalPostCompose[102X( [3XC[103X, [3XF[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ynothing[133X
  
  [33X[0;0YThe  arguments  are  a category [23XC[123X and a function [23XF[123X. This operations adds the
  given    function    [23XF[123X   to   the   category   for   the   basic   operation
  [10XVerticalPostCompose[110X. [23XF: (d,c) \mapsto d \circ c[123X.[133X
  
  
  [1X4.3 [33X[0;0YWell-Definedness for 2-Cells[133X[101X
  
  [1X4.3-1 IsWellDefinedForTwoCells[101X
  
  [33X[1;0Y[29X[2XIsWellDefinedForTwoCells[102X( [3Xc[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ya boolean[133X
  
  [33X[0;0YThe  argument  is  a  [23X2[123X-cell  [23Xc[123X.  The  output  is [10Xtrue[110X if [23Xc[123X is well-defined,
  otherwise the output is [10Xfalse[110X.[133X
  
  [1X4.3-2 AddIsWellDefinedForTwoCells[101X
  
  [33X[1;0Y[29X[2XAddIsWellDefinedForTwoCells[102X( [3XC[103X, [3XF[103X ) [32X operation[133X
  [6XReturns:[106X  [33X[0;10Ynothing[133X
  
  [33X[0;0YThe  arguments  are  a category [23XC[123X and a function [23XF[123X. This operations adds the
  given    function    [23XF[123X   to   the   category   for   the   basic   operation
  [10XIsWellDefinedForTwoCells[110X. [23XF: c \mapsto \mathtt{IsWellDefinedForMorphisms}( c
  )[123X.[133X
  
