  
  [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 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-3 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-4 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-5 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.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
  
