*Guest post by Christina Vasilakopoulou*

In the eighth installment of the Kan Extension Seminar, we discuss
the paper “Elementary Observations on 2-Categorical Limits” by G.M. Kelly, published in 1989. Even though Kelly’s classic book Basic Concepts of Enriched Category Theory, which contains the abstract theory related to indexed (or weighted) limits for arbitrary $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$-categories, was available since 1982, the existence of the present article is well-justifiable.

On the one hand, it constitutes an independent account of the fundamental case $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$=$<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$, thus it motivates and exemplifies the more general framework through a more gentle, yet meaningful exposition of 2-categorical limits. The explicit construction of specific notable finite limits such as inserters, equifiers etc. promotes the comprehension of the definitions, via a hands-on description. Moreover, these finite limits and particular results concerning 2-categories rather than general enriched categories, such as the construction of the cotensor as a PIE limit, are central for the theory of 2-categories. Lastly, by introducing indexed lax and pseudo limits along with Street’s bilimits, and providing appropriate lax/ pseudo/ bicategorical completeness results, the paper serves also as an indespensable reference for the later “2-Dimensional Monad Theory” by Blackwell, Kelly and Power.

I would like to take this opportunity to thank Emily as well as all the other participants of the Kan Extension Seminar. This has been a unique experience of constant motivation and inspiration for me!

### Basic Machinery

Presently, our base of enrichment is the cartesian monoidal closed category $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$ of (small) categories, with the usual adjunction $<semantics>-\times \mathcal{A}\u22a3[\mathcal{A},-]<annotation\; encoding="application/x-tex">-\backslash times\backslash mathcal\{A\}\backslash dashv[\backslash mathcal\{A\},-]</annotation></semantics>$.
The very definition of an indexed limit requires a good command
of the basic $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$-categorical notions, as seen for example in
“Review of the Elements of 2-categories” by Kelly and Street. In particular, a 2-natural transformation $<semantics>\alpha :G\Rightarrow H<annotation\; encoding="application/x-tex">\backslash alpha:G\backslash Rightarrow\; H</annotation></semantics>$ between 2-functors consists of components which not only satisfy the usual naturality condition, but also the 2-naturality one expressing compatibility with 2-cells. Moreover, a modification between 2-natural transformations $<semantics>m:\alpha \Rrightarrow \beta <annotation\; encoding="application/x-tex">m:\backslash alpha\backslash Rrightarrow\backslash beta</annotation></semantics>$ has components families of 2-cells $<semantics>{m}_{A}:{\alpha}_{A}\Rightarrow {\beta}_{A}:\mathrm{GA}\to \mathrm{HA}<annotation\; encoding="application/x-tex">m\_A:\backslash alpha\_A\backslash Rightarrow\backslash beta\_A:GA\backslash to\; HA</annotation></semantics>$ compatible with the mapped 1-cells of the domain 2-category, i.e. $<semantics>{m}_{B}\cdot \mathrm{Gf}=\mathrm{Hf}\cdot {m}_{A}<annotation\; encoding="application/x-tex">m\_B\backslash cdot\; Gf=Hf\backslash cdot\; m\_A</annotation></semantics>$ (where $<semantics>\cdot <annotation\; encoding="application/x-tex">\backslash cdot</annotation></semantics>$ is whiskering).

A 2-functor $<semantics>F:\mathcal{K}\to \mathrm{Cat}<annotation\; encoding="application/x-tex">F:\backslash mathcal\{K\}\backslash to\backslash mathbf\{Cat\}</annotation></semantics>$ is called representable, when there exists a 2-natural isomorphism
$$<semantics>\alpha :\mathcal{K}(K,-)\stackrel{\phantom{\rule{1em}{0ex}}\sim \phantom{\rule{1em}{0ex}}}{\to}F.<annotation\; encoding="application/x-tex">\; \backslash alpha:\backslash mathcal\{K\}(K,-)\backslash xrightarrow\{\backslash quad\backslash sim\backslash quad\}F.\; </annotation></semantics>$$
The components of this isomorphism are $<semantics>{\alpha}_{A}:\mathcal{K}(K,A)\cong \mathrm{FA}<annotation\; encoding="application/x-tex">\backslash alpha\_A:\backslash mathcal\{K\}(K,A)\backslash cong\; FA</annotation></semantics>$ in $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$, and the unit of the representation is the corresponding `element’ $<semantics>1\to \mathrm{FK}<annotation\; encoding="application/x-tex">\backslash mathbf\{1\}\backslash to\; FK</annotation></semantics>$ via Yoneda.

For a general complete symmetric monoidal closed category $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$, the usual functor category $<semantics>[\mathcal{A},\mathcal{B}]<annotation\; encoding="application/x-tex">[\backslash mathcal\{A\},\backslash mathcal\{B\}]</annotation></semantics>$ for two $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$-categories is endowed with the structure of a $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$-category itself, with hom-objects ends
$$<semantics>[\mathcal{A},\mathcal{B}](T,S)={\int}_{A\in \mathcal{A}}\mathcal{B}(\mathrm{TA},\mathrm{SA})<annotation\; encoding="application/x-tex">\; [\backslash mathcal\{A\},\backslash mathcal\{B\}](T,S)=\backslash int\_\{A\backslash in\backslash mathcal\{A\}\}\; \backslash mathcal\{B\}(TA,SA)\; </annotation></semantics>$$
(which exist at least when $<semantics>\mathcal{A}<annotation\; encoding="application/x-tex">\backslash mathcal\{A\}</annotation></semantics>$ is small). In our context of $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$=$<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$ it is not necessary to employ ends and coends at all, and the hom-category $<semantics>[\mathcal{K},\mathcal{L}](G,H)<annotation\; encoding="application/x-tex">[\backslash mathcal\{K\},\backslash mathcal\{L\}](G,H)</annotation></semantics>$ of the functor 2-category is evidently the category of 2-natural transformations and modifications. However, we note that computations via (co)ends simplify and are essential for constructions and (co)completeness results for enrichment in general monoidal categories.

### The definition of weighted limits for 2-categories

To briefly motivate the definition of a weighted limit, recall that an ordinary limit of a ($<semantics>\mathrm{Set}<annotation\; encoding="application/x-tex">\backslash mathbf\{Set\}</annotation></semantics>$-) functor $<semantics>G:\mathcal{P}\to \mathcal{C}<annotation\; encoding="application/x-tex">G:\backslash mathcal\{P\}\backslash to\backslash mathcal\{C\}</annotation></semantics>$ is characterized by an isomorphism
$$<semantics>\mathcal{C}(C,\mathrm{limG})\cong [\mathcal{P},\mathcal{C}](\Delta C,G)<annotation\; encoding="application/x-tex">\; \backslash mathcal\{C\}(C,limG)\backslash cong[\backslash mathcal\{P\},\backslash mathcal\{C\}](\backslash Delta\; C,\; G)\; </annotation></semantics>$$
natural in $<semantics>C<annotation\; encoding="application/x-tex">C</annotation></semantics>$, where $<semantics>\Delta C:\mathcal{P}\to \mathcal{C}<annotation\; encoding="application/x-tex">\backslash Delta\; C:\backslash mathcal\{P\}\backslash to\backslash mathcal\{C\}</annotation></semantics>$ is the constant functor on the object $<semantics>C<annotation\; encoding="application/x-tex">C</annotation></semantics>$. In other words, the limit is the representing object of the presheaf
$$<semantics>[\mathcal{P},\mathcal{C}](\Delta -,G):{\mathcal{C}}^{op}\to \mathrm{Set}.<annotation\; encoding="application/x-tex">\; [\backslash mathcal\{P\},\backslash mathcal\{C\}](\backslash Delta\; -,G):\backslash mathcal\{C\}^\backslash op\backslash to\backslash mathbf\{Set\}.\; </annotation></semantics>$$
Since components of a natural transformation $<semantics>\Delta C\Rightarrow G<annotation\; encoding="application/x-tex">\backslash Delta\; C\backslash Rightarrow\; G</annotation></semantics>$ (i.e. cones) can be viewed as components of a natural
$<semantics>\Delta 1\Rightarrow \mathcal{C}(C,G-):\mathcal{C}\to \mathrm{Set}<annotation\; encoding="application/x-tex">\backslash Delta\backslash mathbf\{1\}\backslash Rightarrow\backslash mathcal\{C\}(C,G-):\backslash mathcal\{C\}\backslash to\backslash mathbf\{Set\}</annotation></semantics>$, the above defining isomorphism can be written as
$$<semantics>\mathcal{C}(C,\mathrm{lim}G)\cong [\mathcal{P},\mathrm{Set}](\Delta 1,\mathcal{C}(C,G-)).<annotation\; encoding="application/x-tex">\; \backslash mathcal\{C\}(C,\backslash mathrm\{lim\}G)\backslash cong[\backslash mathcal\{P\},\backslash mathbf\{Set\}](\backslash Delta\backslash mathbf\{1\},\backslash mathcal\{C\}(C,G-)).\; </annotation></semantics>$$
In this form, ordinary limits can be easily seen as particular examples of conical indexed limits for $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$=$<semantics>\mathrm{Set}<annotation\; encoding="application/x-tex">\backslash mathbf\{Set\}</annotation></semantics>$, and we are able to generalize the concept of a limit by replacing the functor $<semantics>\Delta 1<annotation\; encoding="application/x-tex">\backslash Delta\backslash mathbf\{1\}</annotation></semantics>$ by an arbitrary functor (weight) $<semantics>\mathcal{C}\to \mathrm{Set}<annotation\; encoding="application/x-tex">\backslash mathcal\{C\}\backslash to\backslash mathbf\{Set\}</annotation></semantics>$.

We may thus think of a 2-functor $<semantics>F:\mathcal{P}\to \mathrm{Cat}<annotation\; encoding="application/x-tex">F:\backslash mathcal\{P\}\backslash to\backslash mathbf\{Cat\}</annotation></semantics>$ as a (small) *indexing type* or *weight*, and a 2-functor $<semantics>G:\mathcal{P}\to \mathcal{K}<annotation\; encoding="application/x-tex">G:\backslash mathcal\{P\}\backslash to\backslash mathcal\{K\}</annotation></semantics>$ as a *diagram in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ of shape $<semantics>\mathcal{P}<annotation\; encoding="application/x-tex">\backslash mathcal\{P\}</annotation></semantics>$*:
$$<semantics>\begin{array}{cc}& \mathrm{Cat}\phantom{\rule{1em}{0ex}}\\ {}^{\mathrm{weight}}{\nearrow}_{F}& \\ \mathcal{P}& \stackrel{G}{\underset{\mathrm{diagram}}{\to}}& \mathcal{K}.\\ \end{array}<annotation\; encoding="application/x-tex">\; \backslash begin\{matrix\}\; \&\; \backslash mathbf\{Cat\}\backslash quad\; \backslash \backslash \; \{\}^\{weight\}\; \backslash nearrow\_\{F\}\; \&\; \backslash \backslash \; \backslash mathcal\{P\}\; \&\; \backslash overset\{G\}\backslash underset\{diagram\}\{\backslash rightarrow\}\; \&\; \backslash mathcal\{K\}.\; \backslash \backslash \; \backslash end\{matrix\}\; </annotation></semantics>$$
The 2-functor $<semantics>G<annotation\; encoding="application/x-tex">G</annotation></semantics>$ gives rise to a 2-functor
$$<semantics>{\int}_{p}[\mathrm{Fp},\mathcal{K}(-,\mathrm{Gp})]=[\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(-,G)):\phantom{\rule{thickmathspace}{0ex}}{\mathcal{K}}^{op}\u27f6\mathrm{Cat}<annotation\; encoding="application/x-tex">\; \backslash int\_p\; [Fp,\backslash mathcal\{K\}(-,Gp)]=[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(-,G)):\backslash ;\; \backslash mathcal\{K\}^\backslash op\backslash longrightarrow\backslash mathbf\{Cat\}\; </annotation></semantics>$$
which maps a 0-cell $<semantics>A<annotation\; encoding="application/x-tex">A</annotation></semantics>$ to the category $<semantics>[\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(A,G))<annotation\; encoding="application/x-tex">[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(A,G))</annotation></semantics>$. A representation of this contravariant 2-functor is an object $<semantics>\{F,K\}\in \mathcal{K}<annotation\; encoding="application/x-tex">\backslash \{F,K\backslash \}\backslash in\backslash mathcal\{K\}</annotation></semantics>$ along with 2-natural isomorphism
$$<semantics>\mathcal{K}(-,\{F,G\})\stackrel{\phantom{\rule{thickmathspace}{0ex}}\sim \phantom{\rule{thickmathspace}{0ex}}}{\to}[\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(-,G))<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}(-,\backslash \{F,G\backslash \})\backslash xrightarrow\{\backslash ;\backslash sim\backslash ;\}[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(-,G))\; </annotation></semantics>$$
with components isomorphisms between categories
$$<semantics>\mathcal{K}(A,\{F,G\})\cong [\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(A,G-)).<annotation\; encoding="application/x-tex">\; \backslash mathcal\{K\}(A,\backslash \{F,G\backslash \})\backslash cong[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(A,G-)).\; </annotation></semantics>$$
The unit of this representation is
$<semantics>1\to [\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(\{F,G\},G))<annotation\; encoding="application/x-tex">\backslash mathbf\{1\}\backslash to[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(\backslash \{F,G\backslash \},G))</annotation></semantics>$ which corresponds uniquely to a 2-natural transformation
$<semantics>\xi :F\Rightarrow \mathcal{K}(\{F,G\},G)<annotation\; encoding="application/x-tex">\backslash xi:F\backslash Rightarrow\backslash mathcal\{K\}(\backslash \{F,G\backslash \},G)</annotation></semantics>$.

Via this 2-natural isomorphism, the object $<semantics>\{F,G\}<annotation\; encoding="application/x-tex">\backslash \{F,G\backslash \}</annotation></semantics>$ in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ satisfies a universal property which can be expressed in two levels:

The 1-dimensional aspect of the universal property states that every natural transformation $<semantics>\rho <annotation\; encoding="application/x-tex">\backslash rho</annotation></semantics>$ factorizes as
$$<semantics>\begin{array}{cc}F\stackrel{\rho}{\to}& \mathcal{K}(A,G)\\ {}_{\xi}\searrow & {\uparrow}_{\mathcal{K}(h,1)}\\ & \mathcal{K}(\{F,G\},G)\\ \end{array}<annotation\; encoding="application/x-tex">\; \backslash begin\{matrix\}\; F\; \backslash xrightarrow\{\backslash rho\}\; \&\; \backslash mathcal\{K\}(A,G)\; \backslash \backslash \; \{\}\_\backslash xi\; \backslash searrow\; \&\; \backslash uparr\_\{\backslash mathcal\{K\}(h,1)\}\; \backslash \backslash \; \&\; \backslash mathcal\{K\}(\backslash \{F,G\backslash \},G)\; \backslash \backslash \; \backslash end\{matrix\}\; </annotation></semantics>$$
for a unique 1-cell $<semantics>h:A\to \{F,G\}<annotation\; encoding="application/x-tex">h:A\backslash to\backslash \{F,G\backslash \}</annotation></semantics>$ in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$, where the vertical arrow is just pre-composition with $<semantics>h<annotation\; encoding="application/x-tex">h</annotation></semantics>$.

The 2-dimensional aspect of the universal property states that every modification $<semantics>\theta :\rho \Rrightarrow \rho \prime <annotation\; encoding="application/x-tex">\backslash theta:\backslash rho\backslash Rrightarrow\backslash rho\text{\'}</annotation></semantics>$ factorizes as $<semantics>\mathcal{K}(\alpha ,1)\cdot \xi <annotation\; encoding="application/x-tex">\backslash mathcal\{K\}(\backslash alpha,1)\backslash cdot\; \backslash xi</annotation></semantics>$ for a unique 2-cell $<semantics>\alpha :h\Rightarrow h\prime <annotation\; encoding="application/x-tex">\backslash alpha:h\backslash Rightarrow\; h\text{\'}</annotation></semantics>$ in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$.

The fact that the 2-dimensional aspect (which asserts an isomorphism of categories) does not in general follow from the 1-dimensional aspect (which asserts a bijection between the hom-sets of the underlying categories) is a recurrent issue of the paper. In fact, things would be different if the *underlying category functor*
$$<semantics>\mathcal{V}(I,-)=(\phantom{\rule{thickmathspace}{0ex}}{)}_{0}:\mathcal{V}\text{-}\mathrm{Cat}\to \mathrm{Cat}<annotation\; encoding="application/x-tex">\; \backslash mathcal\{V\}(I,-)=(\backslash ;)\_0:\backslash mathcal\{V\}\backslash text\{-\}\backslash mathbf\{Cat\}\backslash to\backslash mathbf\{Cat\}\; </annotation></semantics>$$
were conservative, in which case the 2-dimensional universal property would always imply the 1-dimensional one. Certainly though, this is not the case for $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$=$<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$: the respective functor discards all the 2-cells and is not even faithful. However, if we know that a weighted limit exists, then the first level of the universal property suffices to detect it up to isomorphism.

### Completeness of 2-categories

A 2-category $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ is *complete* when all limits $<semantics>\{F,G\}<annotation\; encoding="application/x-tex">\backslash \{F,G\backslash \}</annotation></semantics>$ exist. The defining 2-natural isomorphism extends the mapping $<semantics>(F,G)\mapsto \{F,G\}<annotation\; encoding="application/x-tex">(F,G)\backslash mapsto\backslash \{F,G\backslash \}</annotation></semantics>$ into a functor of two variables (the *weighted limit functor*)
$$<semantics>\{-,-\}:[\mathcal{P},\mathrm{Cat}{]}^{\mathrm{op}}\times [\mathcal{P},\mathcal{K}]\u27f6\mathcal{K}<annotation\; encoding="application/x-tex">\; \backslash \{-,-\backslash \}:[\backslash mathcal\{P\},\backslash mathbf\{Cat\}]^\{op\}\backslash times[\backslash mathcal\{P\},\backslash mathcal\{K\}]\backslash longrightarrow\; \backslash mathcal\{K\}\; </annotation></semantics>$$
as the left parametrized adjoint (actually its opposite) of the functor $$<semantics>\mathcal{K}(-,?):{\mathcal{K}}^{\mathrm{op}}\times [\mathcal{P},\mathcal{K}]\to [\mathcal{P},\mathrm{Cat}]<annotation\; encoding="application/x-tex">\; \backslash mathcal\{K\}(-,?):\backslash mathcal\{K\}^\{op\}\backslash times[\backslash mathcal\{P\},\backslash mathcal\{K\}]\backslash to[\backslash mathcal\{P\},\backslash mathbf\{Cat\}]\; </annotation></semantics>$$
mapping an object $<semantics>A<annotation\; encoding="application/x-tex">A</annotation></semantics>$ and a functor $<semantics>G<annotation\; encoding="application/x-tex">G</annotation></semantics>$ to $<semantics>\mathcal{K}(A,G-)<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}(A,G-)</annotation></semantics>$.
A colimit in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ is a limit in $<semantics>{\mathcal{K}}^{\mathrm{op}}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}^op</annotation></semantics>$, and the *weighted colimit functor* is
$$<semantics>-*-:[{\mathcal{P}}^{\mathrm{op}},\mathrm{Cat}]\times [\mathcal{P},\mathcal{K}]\u27f6\mathcal{K}.<annotation\; encoding="application/x-tex">\; -\backslash ast-:[\backslash mathcal\{P\}^op,\backslash mathbf\{Cat\}]\backslash times[\backslash mathcal\{P\},\backslash mathcal\{K\}]\backslash longrightarrow\backslash mathcal\{K\}.\; </annotation></semantics>$$
Apart from the evident duality, we observe that often colimits are harder to compute than limits. This may partially be due to the fact that $<semantics>\{F,G\}<annotation\; encoding="application/x-tex">\backslash \{F,G\backslash \}</annotation></semantics>$ is determined by the representable $<semantics>\mathcal{K}(-,\{F,G\})<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}(-,\backslash \{F,G\backslash \})</annotation></semantics>$ which gives generalized elements of $<semantics>\{F,G\}<annotation\; encoding="application/x-tex">\backslash \{F,G\backslash \}</annotation></semantics>$, whereas the description of
$<semantics>\mathcal{K}(F*G,-)<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}(F\backslash ast\; G,-)</annotation></semantics>$ gives us arrows out of $<semantics>F*G<annotation\; encoding="application/x-tex">F\backslash ast\; G</annotation></semantics>$. For example, limits in $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$ are easy to compute via
$$<semantics>[\mathcal{A},\{F,G\}]\cong [\mathcal{P},\mathrm{Cat}](F,[\mathcal{A},G-])\cong [\mathcal{A},[\mathcal{P},\mathrm{Cat}](F,G)]<annotation\; encoding="application/x-tex">\; [\backslash mathcal\{A\},\backslash \{F,G\backslash \}]\backslash cong[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,[\backslash mathcal\{A\},G-])\backslash cong[\backslash mathcal\{A\},[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,G)]\; </annotation></semantics>$$
and in particular, taking $<semantics>\mathcal{A}=1<annotation\; encoding="application/x-tex">\backslash mathcal\{A\}=\backslash mathbf\{1\}</annotation></semantics>$ gives us the objects of the category $<semantics>\{F,G\}<annotation\; encoding="application/x-tex">\backslash \{F,G\backslash \}</annotation></semantics>$ and $<semantics>\mathcal{A}=2<annotation\; encoding="application/x-tex">\backslash mathcal\{A\}=\backslash mathbf\{2\}</annotation></semantics>$ gives us the morphisms. On the contrary, colimits in $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$ are not straightforward (except than their property $<semantics>F*G\cong G*F<annotation\; encoding="application/x-tex">F\backslash ast\; G\backslash cong\; G\backslash ast\; F</annotation></semantics>$).

Notice that like ordinary limits are defined, via representability, in terms of limits in $<semantics>\mathrm{Set}<annotation\; encoding="application/x-tex">\backslash mathbf\{Set\}</annotation></semantics>$, we can define weighted limits in terms of limits of representables in $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$:
$$<semantics>\mathcal{K}(A,\{F,G\})\cong \{F,\mathcal{K}(A,G-)\},\phantom{\rule{1em}{0ex}}\mathcal{K}(F*,G,A)\cong \{F,\mathcal{K}(G-,A)\}.<annotation\; encoding="application/x-tex">\; \backslash mathcal\{K\}(A,\backslash \{F,G\backslash \})\backslash cong\backslash \{F,\backslash mathcal\{K\}(A,G-)\backslash \},\backslash quad\backslash mathcal\{K\}(F\backslash ast\; ,G,A)\backslash cong\backslash \{F,\backslash mathcal\{K\}(G-,A)\backslash \}.\; </annotation></semantics>$$
On the other hand, if the weights are representables, via Yoneda lemma we get
$$<semantics>\{\mathcal{P}(P,-),G\}\cong \mathrm{GP},\phantom{\rule{2em}{0ex}}\mathcal{P}(-,P)*G\cong \mathrm{GP}.<annotation\; encoding="application/x-tex">\; \backslash \{\backslash mathcal\{P\}(P,-),G\backslash \}\backslash cong\; GP,\; \backslash qquad\; \backslash mathcal\{P\}(-,P)\backslash ast\; G\backslash cong\; GP.\; </annotation></semantics>$$

The main result for general $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$-completeness in Kelly’s book says that a $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$-enriched category is complete if and only if it admits all conical limits (equivalently, products and equalizers) and cotensor products. Explicitly, conical limits are those with weight the constant $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$-functor $<semantics>\Delta I<annotation\; encoding="application/x-tex">\backslash Delta\; I</annotation></semantics>$, whereas cotensors are those where the domain enriched category $<semantics>\mathcal{P}<annotation\; encoding="application/x-tex">\backslash mathcal\{P\}</annotation></semantics>$ is the unit category $<semantics>1<annotation\; encoding="application/x-tex">\; \backslash mathbf\{1\}</annotation></semantics>$, hence the weight and the diagram are determined by objects in $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$ and $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ respectively. Once again, for $<semantics>\mathcal{V}<annotation\; encoding="application/x-tex">\backslash mathcal\{V\}</annotation></semantics>$=$<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$ an elementary description of both limits is possible.

Notice that when a 2-category admits tensor products of the form $<semantics>2*A<annotation\; encoding="application/x-tex">\backslash mathbf\{2\}\backslash ast\; A</annotation></semantics>$, then the 2-dimensional universal property follows from the 1-dimensional for every limit, because of conservativity of the functor $<semantics>{\mathrm{Cat}}_{0}(2,-)<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}\_0(\backslash mathbf\{2\},-)</annotation></semantics>$ and the definition of tensors. Moreover, the former also implies that the category $<semantics>2<annotation\; encoding="application/x-tex">\backslash mathbf\{2\}</annotation></semantics>$ is a strong generator in $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$, hence the existence of only the cotensor $<semantics>\{2,B\}<annotation\; encoding="application/x-tex">\backslash \{\backslash mathbf\{2\},B\backslash \}</annotation></semantics>$ along with conical limits in a 2-category $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ is enough to deduce 2-completeness.

$<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$ itself has cotensor and tensor products, given by
$<semantics>\{\mathcal{A},\mathcal{B}\}=[\mathcal{A},\mathcal{B}]<annotation\; encoding="application/x-tex">\backslash \{\backslash mathcal\{A\},\backslash mathcal\{B\}\backslash \}=[\backslash mathcal\{A\},\backslash mathcal\{B\}]</annotation></semantics>$ and $<semantics>\mathcal{A}*\mathcal{B}=\mathcal{A}\times \mathcal{B}<annotation\; encoding="application/x-tex">\backslash mathcal\{A\}\backslash ast\backslash mathcal\{B\}=\backslash mathcal\{A\}\backslash times\backslash mathcal\{B\}</annotation></semantics>$. It is ultimately also cocomplete, all colimits being constructed from tensors and ordinary colimits in $<semantics>{\mathrm{Cat}}_{0}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}\_0</annotation></semantics>$ (which give the conical limits in $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$ by the existence of the cotensor $<semantics>[2,B]<annotation\; encoding="application/x-tex">[\backslash mathbf\{2\},B]</annotation></semantics>$).

If we were to make use of ends and coends, the explicit construction of an arbitrary 2-(co)limit in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ as the (co)equalizer of a pair of arrows between (co)products of (co)tensors coincides with
$$<semantics>\{F,G\}={\int}_{K}\{\mathrm{FK},\mathrm{GK}\},\phantom{\rule{2em}{0ex}}F*G={\int}^{K}\mathrm{FK}*\mathrm{GK}.<annotation\; encoding="application/x-tex">\; \backslash \{F,G\backslash \}=\backslash int\_K\; \backslash \{FK,GK\backslash \},\; \backslash qquad\; F\backslash ast\; G=\backslash int^K\; FK\backslash ast\; GK.\; </annotation></semantics>$$
Such an approach simplifies the proofs of many useful properties of limits and colimits, such as
$$<semantics>\{F,\{G,H\}\}\cong \{F*G,H\},\phantom{\rule{thickmathspace}{0ex}}\phantom{\rule{thickmathspace}{0ex}}(G*F)*H\cong F*(G*H)<annotation\; encoding="application/x-tex">\; \backslash \{F,\backslash \{G,H\backslash \}\backslash \}\backslash cong\backslash \{F\backslash ast\; G,H\backslash \},\backslash ;\backslash ;(G\backslash ast\; F)\backslash ast\; H\backslash cong\; F\backslash ast(G\backslash ast\; H)\; </annotation></semantics>$$
for appropriate 2-functors.

### Famous finite 2-limits

The paper provides the description of some important classes of limits in 2-categories, essentially by exhibiting the unit of the defining representation for each particular case. A table which summarizes the main examples included is the following:

Let’s briefly go through the explicit construction of an inserter in a 2-category $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$. The weight and diagram shape are as in the first line of the above table, and denote by $<semantics>B\stackrel{f}{\underset{g}{\rightrightarrows}}C<annotation\; encoding="application/x-tex">B\backslash overset\{f\}\backslash underset\{g\}\{\backslash rightrightarrows\}C</annotation></semantics>$ the image of the diagram in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$. The standard technique is to identify the form of objects and morphisms of the functor 2-category $<semantics>[\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(A,G-))<annotation\; encoding="application/x-tex">[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(A,G-))</annotation></semantics>$, and then state both aspects of the universal property.

An object is a 2-natural transformation $<semantics>\alpha :F\Rightarrow \mathcal{K}(A,G-)<annotation\; encoding="application/x-tex">\backslash alpha:F\backslash Rightarrow\backslash mathcal\{K\}(A,G-)</annotation></semantics>$ with components $<semantics>{\alpha}_{\u2022}:1\to \mathcal{K}(A,B)<annotation\; encoding="application/x-tex">\backslash alpha\_\backslash bullet:1\backslash to\backslash mathcal\{K\}(A,B)</annotation></semantics>$ and $<semantics>{\alpha}_{\star}:2\to \mathcal{K}(A,C)<annotation\; encoding="application/x-tex">\backslash alpha\_\backslash star:\backslash mathbf\{2\}\backslash to\backslash mathcal\{K\}(A,C)</annotation></semantics>$ satisfying the usual naturality condition
(2-naturality follows trivially, since $<semantics>\mathcal{P}<annotation\; encoding="application/x-tex">\backslash mathcal\{P\}</annotation></semantics>$ only has the identity 2-cell). This amounts to the following data:

an 1-cell $<semantics>A\stackrel{{\alpha}_{\u2022}}{\to}B<annotation\; encoding="application/x-tex">A\backslash xrightarrow\{\backslash alpha\_\backslash bullet\}B</annotation></semantics>$, i.e. the object in $<semantics>\mathcal{K}(A,B)<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}(A,B)</annotation></semantics>$ determined by the functor $<semantics>{\alpha}_{\u2022}<annotation\; encoding="application/x-tex">\backslash alpha\_\backslash bullet</annotation></semantics>$;

a 2-cell $<semantics>{\alpha}_{\star}0\stackrel{{\alpha}_{\star}}{\Rightarrow}{\alpha}_{\star}1<annotation\; encoding="application/x-tex">\{\backslash alpha\_\backslash star0\}\backslash overset\{\backslash alpha\_\backslash star\}\{\backslash Rightarrow\}\{\backslash alpha\_\backslash star1\}</annotation></semantics>$, i.e. the morphism in $<semantics>\mathcal{K}(A,C)<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}(A,C)</annotation></semantics>$ determined by the functor $<semantics>{\alpha}_{\star}<annotation\; encoding="application/x-tex">\backslash alpha\_\backslash star</annotation></semantics>$;

properties, which make the 1-cells $<semantics>{\alpha}_{\star}0,{\alpha}_{\star}1<annotation\; encoding="application/x-tex">\backslash alpha\_\backslash star0,\backslash alpha\_\backslash star1</annotation></semantics>$
factorize as $<semantics>{\alpha}_{\star}0=A\stackrel{{\alpha}_{\u2022}}{\to}B\stackrel{f}{\to}C<annotation\; encoding="application/x-tex">\backslash alpha\_\backslash star0=A\backslash xrightarrow\{\backslash alpha\_\backslash bullet\}B\backslash xrightarrow\{f\}C</annotation></semantics>$ and $<semantics>{\alpha}_{\star}1=A\stackrel{{\alpha}_{\u2022}}{\to}B\stackrel{g}{\to}C<annotation\; encoding="application/x-tex">\backslash alpha\_\backslash star1=A\backslash xrightarrow\{\backslash alpha\_\backslash bullet\}B\backslash xrightarrow\{g\}C</annotation></semantics>$.

We can encode the above data by a diagram
$$<semantics>\begin{array}{ccc}& B& \\ {}^{{\alpha}_{\u2022}}\nearrow & & {\searrow}^{f}\\ A\phantom{\rule{thickmathspace}{0ex}}& \Downarrow {\alpha}_{\star}& \phantom{\rule{1em}{0ex}}C.\\ {}_{{\alpha}_{\u2022}}\searrow & & {\nearrow}_{g}\\ & B& \\ \end{array}<annotation\; encoding="application/x-tex">\; \backslash begin\{matrix\}\; \&\; B\; \&\; \backslash \backslash \; \{\}^\{\backslash alpha\_\backslash bullet\}\; \backslash nearrow\; \&\&\; \{\backslash searrow\}^f\; \backslash \backslash \; A\backslash ;\; \&\; \backslash Downarrow\{\backslash alpha\_\backslash star\}\&\; \backslash quad\; C.\; \backslash \backslash \; \{\}\_\{\backslash alpha\_\backslash bullet\}\; \backslash searrow\; \&\&\; \backslash nearrow\_g\; \backslash \backslash \; \&\; B\; \&\; \backslash \backslash \; \backslash end\{matrix\}\; </annotation></semantics>$$
Now a morphism is a modification $<semantics>m:\alpha \Rrightarrow \beta <annotation\; encoding="application/x-tex">m:\backslash alpha\backslash Rrightarrow\backslash beta</annotation></semantics>$ between two objects as above. This has components

$<semantics>{m}_{\u2022}:{\alpha}_{\u2022}\Rightarrow {\beta}_{\u2022}<annotation\; encoding="application/x-tex">m\_\backslash bullet:\backslash alpha\_\backslash bullet\backslash Rightarrow\backslash beta\_\backslash bullet</annotation></semantics>$ in $<semantics>\mathcal{K}(A,B)<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}(A,B)</annotation></semantics>$;

$<semantics>{m}_{\star}:{\alpha}_{\star}\Rightarrow {\beta}_{\star}<annotation\; encoding="application/x-tex">m\_\backslash star:\backslash alpha\_\backslash star\backslash Rightarrow\backslash beta\_\backslash star</annotation></semantics>$ given by 2-cells
$<semantics>{m}_{\star}^{0}:{\alpha}_{\star}0\Rightarrow {\beta}_{\star}0<annotation\; encoding="application/x-tex">m\_\backslash star^0:\backslash alpha\_\backslash star0\backslash Rightarrow\{\backslash beta\_\backslash star0\}</annotation></semantics>$ and $<semantics>{m}_{\star}^{1}:{\alpha}_{\star}1\Rightarrow {\beta}_{\star}1<annotation\; encoding="application/x-tex">m\_\backslash star^1:\backslash alpha\_\backslash star1\backslash Rightarrow\backslash beta\_\backslash star1</annotation></semantics>$ in $<semantics>\mathcal{K}(A,C)<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}(A,C)</annotation></semantics>$
satisfying naturality $<semantics>{m}_{\star}^{1}\circ {\alpha}_{\star}={\beta}_{\star}\circ {m}_{\star}^{0}<annotation\; encoding="application/x-tex">m^1\_\backslash star\backslash circ\backslash alpha\_\backslash star=\backslash beta\_\backslash star\backslash circ\; m^0\_\backslash star</annotation></semantics>$.

The modification condition $<semantics>{m}_{\star}^{0}=f\cdot {m}_{\u2022}<annotation\; encoding="application/x-tex">m^0\_\backslash star=f\backslash cdot\; m\_\backslash bullet</annotation></semantics>$ and $<semantics>{m}_{\star}^{1}=g\cdot {m}_{\u2022}<annotation\; encoding="application/x-tex">m^1\_\backslash star=g\backslash cdot\; m\_\backslash bullet</annotation></semantics>$ gives the components of $<semantics>{m}_{\star}<annotation\; encoding="application/x-tex">m\_\backslash star</annotation></semantics>$ as whiskered composites of $<semantics>{m}_{\u2022}<annotation\; encoding="application/x-tex">m\_\backslash bullet</annotation></semantics>$. We can thus express such a modification as a 2-cell $<semantics>{m}_{\u2022}<annotation\; encoding="application/x-tex">m\_\backslash bullet</annotation></semantics>$ satisfying $<semantics>{\mathrm{gm}}_{\u2022}\circ {\alpha}_{\star}={\mathrm{fm}}_{\u2022}\circ {\beta}_{\star}<annotation\; encoding="application/x-tex">gm\_\backslash bullet\backslash circ\backslash alpha\_\backslash star=fm\_\backslash bullet\backslash circ\backslash beta\_\backslash star</annotation></semantics>$ (graphically expressed by pasting $<semantics>{m}_{\u2022}<annotation\; encoding="application/x-tex">m\_\backslash bullet</annotation></semantics>$ accordingly to the sides of $<semantics>{\alpha}_{\star},{\beta}_{\star}<annotation\; encoding="application/x-tex">\backslash alpha\_\backslash star,\backslash beta\_\backslash star</annotation></semantics>$).

This encoding simplifies the statement of the universal property for $<semantics>\{F,G\}<annotation\; encoding="application/x-tex">\backslash \{F,G\backslash \}</annotation></semantics>$, as the object of in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ through which any natural transformation and modification uniquely factorize in an appropriate way (in fact, through the unit $<semantics>\xi <annotation\; encoding="application/x-tex">\backslash xi</annotation></semantics>$). A very similar process can be followed for the identification of the other classes of limits. As an illustration, let’s consider some of these limits in the 2-category $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$.

The inserter of two functors $<semantics>F,G:\mathcal{B}\to \mathcal{C}<annotation\; encoding="application/x-tex">F,G:\backslash mathcal\{B\}\backslash to\backslash mathcal\{C\}</annotation></semantics>$ is a category $<semantics>\mathcal{A}<annotation\; encoding="application/x-tex">\backslash mathcal\{A\}</annotation></semantics>$ with objects pairs $<semantics>(B,h)<annotation\; encoding="application/x-tex">(B,h)</annotation></semantics>$ where $<semantics>B\in \mathcal{B}<annotation\; encoding="application/x-tex">B\backslash in\backslash mathcal\{B\}</annotation></semantics>$ and $<semantics>h:\mathrm{FB}\to \mathrm{GB}<annotation\; encoding="application/x-tex">h:FB\backslash to\; GB</annotation></semantics>$ in $<semantics>\mathcal{C}<annotation\; encoding="application/x-tex">\backslash mathcal\{C\}</annotation></semantics>$. A morphism $<semantics>(B,h)\to (B\prime ,h\prime )<annotation\; encoding="application/x-tex">(B,h)\backslash to(B\text{\'},h\text{\'})</annotation></semantics>$ is an arrow $<semantics>f:B\to B\prime <annotation\; encoding="application/x-tex">f:B\backslash to\; B\text{\'}</annotation></semantics>$ in $<semantics>\mathcal{B}<annotation\; encoding="application/x-tex">\backslash mathcal\{B\}</annotation></semantics>$ such that the following diagram commutes:
$$<semantics>\begin{array}{ccc}\mathrm{FB}& \stackrel{\mathrm{Ff}}{\u27f6}& \mathrm{FB}\prime \\ {}_{h}\downarrow & & {\downarrow}_{h\prime}\\ \mathrm{FB}& \underset{\mathrm{Gh}}{\u27f6}& \mathrm{GB}\prime .\\ \end{array}<annotation\; encoding="application/x-tex">\; \backslash begin\{matrix\}\; FB\; \&\; \backslash overset\{Ff\}\{\backslash longrightarrow\}\; \&\; FB\text{\'}\; \backslash \backslash \; \{\}\_h\backslash downarrow\; \&\&\; \backslash downarrow\_\{h\text{\'}\}\; \backslash \backslash \; FB\; \&\; \backslash underset\{Gh\}\{\backslash longrightarrow\}\; \&\; GB\text{\'}.\; \backslash \backslash \; \backslash end\{matrix\}\; </annotation></semantics>$$
The functor $<semantics>{\alpha}_{\u2022}=P:\mathcal{A}\to \mathcal{B}<annotation\; encoding="application/x-tex">\backslash alpha\_\backslash bullet=P:\backslash mathcal\{A\}\backslash to\backslash mathcal\{B\}</annotation></semantics>$ is just the forgetful functor, and the natural transformation is given by $<semantics>({\alpha}_{\star}{)}_{(B,h)}=h<annotation\; encoding="application/x-tex">(\backslash alpha\_\backslash star)\_\{(B,h)\}=h</annotation></semantics>$.

The comma-object of two functors $<semantics>F,G<annotation\; encoding="application/x-tex">F,G</annotation></semantics>$ is precisely the comma category. If the functors have also the same domain, their inserter is a subcategory of the comma category.

The equifier of two natural transformations $<semantics>{\varphi}^{1},{\varphi}^{2}:F\Rightarrow G:\mathcal{B}\to \mathcal{C}<annotation\; encoding="application/x-tex">\backslash phi^1,\backslash phi^2:F\backslash Rightarrow\; G:\backslash mathcal\{B\}\backslash to\backslash mathcal\{C\}</annotation></semantics>$ is the full subcategory $<semantics>\mathcal{A}<annotation\; encoding="application/x-tex">\backslash mathcal\{A\}</annotation></semantics>$ of $<semantics>\mathcal{B}<annotation\; encoding="application/x-tex">\backslash mathcal\{B\}</annotation></semantics>$ over all objects $<semantics>B<annotation\; encoding="application/x-tex">B</annotation></semantics>$ such that $<semantics>{\varphi}_{B}^{1}={\varphi}_{B}^{2}<annotation\; encoding="application/x-tex">\backslash phi^1\_B=\backslash phi^2\_B</annotation></semantics>$ in $<semantics>\mathcal{C}<annotation\; encoding="application/x-tex">\backslash mathcal\{C\}</annotation></semantics>$.

There is a variety of constructions of new classes of limits from given ones, coming down to the existence of endo-identifiers, inverters, iso-inserters, comma-objects, iso-comma-objects, lax/ oplax/pseudo limits of arrows and the cotensors $<semantics>\{2,K\}<annotation\; encoding="application/x-tex">\backslash \{\backslash mathbf\{2\},K\backslash \}</annotation></semantics>$, $<semantics>\{I,K\}<annotation\; encoding="application/x-tex">\backslash \{\backslash mathbf\{I\},K\backslash \}</annotation></semantics>$ out of inserters, equifiers and binary products in the 2-category $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$. Along with the substantial construction of arbitrary cotensors out of these three classes, P(roducts)I(nserters)E(quifiers) limits are established as essential tools, also relatively to categories of algebras for 2-monads. Notice that equalizers are `too tight’ to fit in certain 2-categories of importance such as $<semantics>\mathrm{Lex}<annotation\; encoding="application/x-tex">\backslash mathbf\{Lex\}</annotation></semantics>$.

### Weaker notions of limits in 2-categories

The concept of a weighted 2-limit strongly depends on the specific structure of the 2-category $<semantics>[\mathcal{P},\mathrm{Cat}]<annotation\; encoding="application/x-tex">[\backslash mathcal\{P\},\backslash mathbf\{Cat\}]</annotation></semantics>$ of 2-functors, 2-natural transformations and modifications, for the 2-categories $<semantics>\mathcal{P}<annotation\; encoding="application/x-tex">\backslash mathcal\{P\}</annotation></semantics>$ and $<semantics>\mathrm{Cat}<annotation\; encoding="application/x-tex">\backslash mathbf\{Cat\}</annotation></semantics>$. If we alter this structure by considering lax natural transformations or pseudonatural transformations, we obtain the definition of the *lax limit* $<semantics>\{F,G{\}}_{l}<annotation\; encoding="application/x-tex">\backslash \{F,G\backslash \}\_l</annotation></semantics>$ and *pseudo limit* $<semantics>\{F,G{\}}_{p}<annotation\; encoding="application/x-tex">\backslash \{F,G\backslash \}\_p</annotation></semantics>$ as the representing objects for the 2-functors
$$<semantics>\begin{array}{c}\mathrm{Lax}[\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(-,G)):{\mathcal{K}}^{op}\to \mathrm{Cat}\\ \mathrm{Psd}[\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(-,G)):{\mathcal{K}}^{op}\to \mathrm{Cat}.\end{array}<annotation\; encoding="application/x-tex">\; \backslash begin\{matrix\}\; Lax[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(-,G)):\backslash mathcal\{K\}^\backslash op\backslash to\backslash mathbf\{Cat\}\; \backslash \backslash \; Psd[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(-,G)):\backslash mathcal\{K\}^\backslash op\backslash to\backslash mathbf\{Cat\}.\; \backslash end\{matrix\}\; </annotation></semantics>$$
Notice that the functor categories $<semantics>\mathrm{Lax}[\mathcal{P},\mathcal{L}]<annotation\; encoding="application/x-tex">Lax[\backslash mathcal\{P\},\backslash mathcal\{L\}]</annotation></semantics>$ and $<semantics>\mathrm{Psd}[\mathcal{P},\mathcal{L}]<annotation\; encoding="application/x-tex">Psd[\backslash mathcal\{P\},\backslash mathcal\{L\}]</annotation></semantics>$ are 2-categories whenever $<semantics>\mathcal{L}<annotation\; encoding="application/x-tex">\backslash mathcal\{L\}</annotation></semantics>$ is a 2-category, hence the defining isomorphisms are again between categories as before.

An important remark is that any lax or pseudo limit in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ can be in fact expressed as a `strict’ weighted 2-limit. This is done by replacing the original weight with its image under the left adjoint of the incusion functors $<semantics>[\mathcal{P},\mathrm{Cat}]\hookrightarrow \mathrm{Lax}[\mathcal{P},\mathrm{Cat}]<annotation\; encoding="application/x-tex">[\backslash mathcal\{P\},\backslash mathbf\{Cat\}]\backslash hookrightarrow\; Lax[\backslash mathcal\{P\},\backslash mathbf\{Cat\}]</annotation></semantics>$, $<semantics>[\mathcal{P},\mathrm{Cat}]\hookrightarrow \mathrm{Psd}[\mathcal{P},\mathrm{Cat}]<annotation\; encoding="application/x-tex">[\backslash mathcal\{P\},\backslash mathbf\{Cat\}]\backslash hookrightarrow\; Psd[\backslash mathcal\{P\},\backslash mathbf\{Cat\}]</annotation></semantics>$. The opposite does not hold: for example, inserters and equifiers are neither lax not pseudo limits.

We can relax the notion of limits in 2-categories even further, and define the *bilimit* $<semantics>\{F,G{\}}_{b}<annotation\; encoding="application/x-tex">\backslash \{F,G\backslash \}\_b</annotation></semantics>$ of 2-functors $<semantics>F<annotation\; encoding="application/x-tex">F</annotation></semantics>$ and $<semantics>G<annotation\; encoding="application/x-tex">G</annotation></semantics>$ as the representing object *up to equivalence*:
$$<semantics>\mathcal{K}(A,\{F,G{\}}_{b})\simeq \mathrm{Psd}[\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(A,G)).<annotation\; encoding="application/x-tex">\; \backslash mathcal\{K\}(A,\backslash \{F,G\backslash \}\_b)\backslash simeq\; Psd[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(A,G)).\; </annotation></semantics>$$
This is of course a particular case of general bilimits in bicategories, for which $<semantics>\mathcal{P}<annotation\; encoding="application/x-tex">\backslash mathcal\{P\}</annotation></semantics>$ and $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$ are requested to be bicategories and $<semantics>F<annotation\; encoding="application/x-tex">F</annotation></semantics>$ and $<semantics>G<annotation\; encoding="application/x-tex">G</annotation></semantics>$ homomorphism of bicategories. The above equivalence of categories expresses a birepresentation of the homomorphism $<semantics>\mathrm{Hom}[\mathcal{P},\mathrm{Cat}](F,\mathcal{K}(-,G)):{\mathcal{K}}^{\mathrm{op}}\to \mathrm{Cat}<annotation\; encoding="application/x-tex">Hom[\backslash mathcal\{P\},\backslash mathbf\{Cat\}](F,\backslash mathcal\{K\}(-,G)):\backslash mathcal\{K\}^op\backslash to\backslash mathbf\{Cat\}</annotation></semantics>$.

Evidently, bilimits (firstly introduced by Ross Street) may exist even when pseudo limits do not, since they require an equivalence rather than isomorphism of hom-categories. The following two results sum up the conditions ensuring whether a 2-category has all lax, pseudo and bilimits.

A 2-category with products, inserters and equifiers has all lax and pseudo limits (whereas it may not have all strict 2-limits).

A 2-category with biproducts, biequalizers and bicotensors is *bicategorically complete*. Equivalently, it admits all bilimits if and only if for all 2-functors $<semantics>F:\mathcal{P}\to \mathrm{Cat}<annotation\; encoding="application/x-tex">F:\backslash mathcal\{P\}\backslash to\backslash mathbf\{Cat\}</annotation></semantics>$, $<semantics>G:\mathcal{P}\to \mathcal{K}<annotation\; encoding="application/x-tex">G:\backslash mathcal\{P\}\backslash to\backslash mathcal\{K\}</annotation></semantics>$ from a small ordinary category $<semantics>\mathcal{P}<annotation\; encoding="application/x-tex">\backslash mathcal\{P\}</annotation></semantics>$, the above mentioned birepresentation exists.

Street’s construction of an arbitrary bilimit requires a descent object of a 3-truncated bicosimplicial object in $<semantics>\mathcal{K}<annotation\; encoding="application/x-tex">\backslash mathcal\{K\}</annotation></semantics>$. An appropriate modification of the arguments exhibits lax and pseudo limits as PIE limits.

These weaker forms of limits in 2-categories are fundamental for the theory of 2-categories and bicategories. Many important constructions such as the Eilenberg-Moore object as well as the Grothendieck construction on a fibration, arise as lax/oplax limits. They are also crucial in 2-monad theory, for example when studying categories of (strict) algebras with non-strict (pseudo or even lax/oplax) morphisms, which are more common in nature.