\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{limit} \begin{quote}% This entry is about the notion of ``limit'' in [[category theory]]. For the notion of the same name in [[analysis]] and [[topology]] see at \emph{[[limit of a sequence]]}. \end{quote} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{category_theory}{}\paragraph*{{Category theory}}\label{category_theory} [[!include category theory - contents]] \hypertarget{limits_and_colimits}{}\paragraph*{{Limits and colimits}}\label{limits_and_colimits} [[!include infinity-limits - contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{global_versus_local}{Global versus local}\dotfill \pageref*{global_versus_local} \linebreak \noindent\hyperlink{terminology_and_notation}{Terminology and notation}\dotfill \pageref*{terminology_and_notation} \linebreak \noindent\hyperlink{definition}{Definition}\dotfill \pageref*{definition} \linebreak \noindent\hyperlink{local_definition_in_terms_of_representable_functors}{Local definition in terms of representable functors}\dotfill \pageref*{local_definition_in_terms_of_representable_functors} \linebreak \noindent\hyperlink{limit_of_a_setvalued_functor}{Limit of a Set-valued functor}\dotfill \pageref*{limit_of_a_setvalued_functor} \linebreak \noindent\hyperlink{limit_of_a_functor_with_values_in_an_arbitrary_category}{Limit of a functor with values in an arbitrary category}\dotfill \pageref*{limit_of_a_functor_with_values_in_an_arbitrary_category} \linebreak \noindent\hyperlink{generalization_to_weighted_limits}{Generalization to weighted limits}\dotfill \pageref*{generalization_to_weighted_limits} \linebreak \noindent\hyperlink{relation_to_continuous_functors}{Relation to continuous functors}\dotfill \pageref*{relation_to_continuous_functors} \linebreak \noindent\hyperlink{definition_in_terms_of_universal_cones}{Definition in terms of universal cones}\dotfill \pageref*{definition_in_terms_of_universal_cones} \linebreak \noindent\hyperlink{unwrapping}{Unwrapping}\dotfill \pageref*{unwrapping} \linebreak \noindent\hyperlink{global_definition_in_terms_of_adjoint_of_the_constant_diagram_functor}{Global Definition in terms of adjoint of the constant diagram functor}\dotfill \pageref*{global_definition_in_terms_of_adjoint_of_the_constant_diagram_functor} \linebreak \noindent\hyperlink{generalizations}{Generalizations}\dotfill \pageref*{generalizations} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{general}{General}\dotfill \pageref*{general} \linebreak \noindent\hyperlink{limits_in_analysis}{Limits in analysis}\dotfill \pageref*{limits_in_analysis} \linebreak \noindent\hyperlink{properties}{Properties}\dotfill \pageref*{properties} \linebreak \noindent\hyperlink{ConstructionFromProductsAndEqualizers}{Existence: construction from products and equalizers}\dotfill \pageref*{ConstructionFromProductsAndEqualizers} \linebreak \noindent\hyperlink{interaction_with_functor}{Interaction with $Hom$-functor}\dotfill \pageref*{interaction_with_functor} \linebreak \noindent\hyperlink{in_}{In $Set$}\dotfill \pageref*{in_} \linebreak \noindent\hyperlink{in_functor_categories}{In functor categories}\dotfill \pageref*{in_functor_categories} \linebreak \noindent\hyperlink{CompatibilityAmongUniversalConstructions}{Compatibility with universal constructions}\dotfill \pageref*{CompatibilityAmongUniversalConstructions} \linebreak \noindent\hyperlink{related_concepts}{Related concepts}\dotfill \pageref*{related_concepts} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} In [[category theory]] a limit of a [[diagram]] $F : D \to C$ in a [[category]] $C$ is an [[object]] $lim F$ of $C$ equipped with morphisms to the objects $F(d)$ for all $d \in D$, such that everything in sight commutes. Moreover, the limit $lim F$ is the \emph{universal} object with this property, i.e. the ``most optimized solution'' to the problem of finding such an object. The limit construction has a wealth of applications throughout category theory and mathematics in general. In practice, it is possibly best thought of in the context of [[representable functor]]s as a [[classifying space]] for maps into a diagram. So in some sense the limit object $lim F$ ``subsumes'' the entire diagram $F(D)$ into a single object, as far as morphisms \emph{into} it are concerned. The corresponding universal object for morphisms \emph{out} of the diagram is the [[colimit]]. An intuitive general idea is that a limit of a diagram is the locus or solution set of a bunch of equations, where each of the coordinates is parametrized by one of the objects of the diagram, and where the equations are prescribed by the morphisms of the diagram. This idea is explained more formally \href{http://ncatlab.org/nlab/show/limits+and+colimits+by+example#limitsintermsofotherops}{here}. Often, the general theory of limits (but not colimits!) works better if the source of $F$ is taken to be the [[opposite category]] $D^op$ (or equivalently, if $F$ is taken to be a [[contravariant functor]]). This is what we do below. In any given situation, of course, you use whatever categories and functors you're interested in. In some cases the category-theoretic notion of limit does reproduce notions of limit as known from analysis. See the examples below. \hypertarget{global_versus_local}{}\subsubsection*{{Global versus local}}\label{global_versus_local} In correspondence to the \emph{local} definition of [[adjoint functor]]s (as discussed there), there is a \emph{local} definition of limits (in terms of cones), that defines a limit (if it exists) for each individual diagram, and there is a \emph{global} definition, which defines the limit for \emph{all} diagrams (in terms of an [[adjoint functor|adjoint]]). If all limits over the given shape of diagrams exist in a category, then both definitions are equivalent. See also the analogous discussion at [[homotopy limit]]. \hypertarget{terminology_and_notation}{}\subsection*{{Terminology and notation}}\label{terminology_and_notation} A limit is taken over a [[functor]] $F : D^{op} \to C$ and since the functor comes equipped with the information about what its domain is, one can just write $\lim F$ for its limit. But often it is helpful to indicate how the functor is evaluated on objects, in which case the limit is written $\lim_{d \in D} F(d)$; this is used particularly when $F$ is given by a formula (as with other notation with bound variables.) In some schools of mathematics, limits are called \emph{projective limits}, while colimits are called \emph{inductive limits}. Also seen are (respectively) \emph{inverse limits} and \emph{direct limits}. Both these systems of terminology are alternatives to using `co-' when distinguishing limits and colimits. The first system also appears in [[pro-object]] and [[ind-object]]. Correspondingly, the symbols $\underset{\leftarrow}lim$ and $\underset{\rightarrow}\lim$ are used instead of $\lim$ and $\colim$. Confusingly, many authors restrict the meanings of these alternative terms to (co)limits whose sources are [[direction|directed set]]s; see [[directed limit]]. In fact, this is the original meaning; projective and inductive limits in this sense were studied in algebra before the general category-theoretic notion of (co)limit. \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} \hypertarget{local_definition_in_terms_of_representable_functors}{}\subsubsection*{{Local definition in terms of representable functors}}\label{local_definition_in_terms_of_representable_functors} There is a general abstract definition of limits in terms of representable functors, which we describe now. This reproduces the more concrete and maybe more familiar description in terms of universal cones, which is described further below. Let in the following $D$ be a [[small category]] and [[Set]] the category of sets (possibly realized as the category $U Set$ of $U$-small sets with respect to a given [[Grothendieck universe]].) \hypertarget{limit_of_a_setvalued_functor}{}\paragraph*{{Limit of a Set-valued functor}}\label{limit_of_a_setvalued_functor} The \textbf{limit of a Set-valued functor} $F : D^{op} \to Set$ is the [[hom-set]] \begin{displaymath} lim F \coloneqq Hom_{[D^{op}, Set]}(pt, F) \in Set \end{displaymath} in the [[functor category]] $[D^{op}, Set]$ (the [[presheaf]] category), where \begin{displaymath} pt : D^{op} \to Set \end{displaymath} \begin{displaymath} pt : d \mapsto \{*\} \end{displaymath} is the functor constant on the [[point]], i.e. the [[terminal object|terminal]] diagram. The set $lim F$ is equivalently called \begin{itemize}% \item the set of \emph{global sections} of $F$; \item the set of [[generalized element]]s of $F$. \end{itemize} The set $lim F$ can be equivalently expressed as an [[equalizer]] of a [[product]], explicitly: \begin{displaymath} lim F \simeq \left\lbrace (x_d)_{d \in D} \in \prod_{d \in D} F(d) | \forall (d_i \stackrel{\alpha}{\to} d_j) \in D : F(\alpha)(x_{d_j}) = x_{d_i} \right\rbrace \end{displaymath} In particular, the limit of a set-valued functor always exists. Notice the important triviality that the covariant [[hom-functor]] commutes with set-valued limits: for every set $S$ we have a bijection of sets \begin{displaymath} Hom_{Set}(S, lim F) \simeq \lim Hom_{Set}(S, F(-)) \,, \end{displaymath} where $Hom(S, F(-)) : D^{op} \to Set$. \hypertarget{limit_of_a_functor_with_values_in_an_arbitrary_category}{}\paragraph*{{Limit of a functor with values in an arbitrary category}}\label{limit_of_a_functor_with_values_in_an_arbitrary_category} The above formula generalizes straightforwardly to a notion of limit for functors $F : D^{op} \to C$ for $C$ an arbitrary category if we construct a certain [[presheaf]] on $C$ which we will call $\hat \lim F$. The actual limit $lim F$ is then, if it exists, the object of $C$ [[representable functor|representing]] this presheaf. More precisely, using the [[Yoneda embedding]] $y: C \to [C^{op}, Set]$ define for $F : D^{op} \to C$ the [[presheaf]] $\hat \lim F \in [C^{op}, Set]$ by \begin{displaymath} (\hat \lim F)(c)\coloneqq Hom_{Set^{D^{op}}}(pt,Hom_C(c,F(-))) \end{displaymath} for all $c \in C$, or suppressing the subscripts for readability: \begin{displaymath} (\hat lim F)(c) = Hom(pt , Hom(c,F(-))) \,. \end{displaymath} The [[presheaf]]-valued limit always exists; iff this presheaf is [[representable functor|representable]] by an object $\lim F$ of $F$, then this is the \textbf{limit} of $F$: \begin{displaymath} Hom(c, \lim F) \simeq Hom(pt, Hom(c,F(-))) \,. \end{displaymath} \hypertarget{generalization_to_weighted_limits}{}\paragraph*{{Generalization to weighted limits}}\label{generalization_to_weighted_limits} In the above formulation, there is an evident generalization to [[weighted limit]]s: replace in the above the constant terminal functor $pt : D^{op} \to Set$ with \emph{any} functor $W : D^{op} \to Set$ -- then called the \emph{weight} --, then the $W$-weighted limit of $F$ \begin{displaymath} \lim_W F \end{displaymath} often written \begin{displaymath} \{W,F\} \end{displaymath} is, if it exists, the object representing the presheaf \begin{displaymath} c \mapsto Hom_{[D^{op}, Set]}(W , Hom_C(c,F(-))) \,, \end{displaymath} i.e. such that \begin{displaymath} Hom(c, \lim_W F) \simeq Hom(W, Hom(c,F(-))) \, \end{displaymath} naturally in $c \in C$. \hypertarget{relation_to_continuous_functors}{}\paragraph*{{Relation to continuous functors}}\label{relation_to_continuous_functors} The very definition of limit as above asserts that the covariant [[hom-functor]] $Hom(c,-) : C \to Set$ commutes with forming limits. Indeed, the definition is equivalent to saying that the [[hom-functor]] is a [[continuous functor]]. \hypertarget{definition_in_terms_of_universal_cones}{}\subsubsection*{{Definition in terms of universal cones}}\label{definition_in_terms_of_universal_cones} Unwrapping the above abstract definition of limits yields the following more hands-on description in terms of universal cones. \hypertarget{unwrapping}{}\paragraph*{{Unwrapping}}\label{unwrapping} Let $F : D^{op} \to C$ be a functor. Notice that for every object $c \in C$ an element \begin{displaymath} * \to Hom(pt, Hom(c, F(-))) \end{displaymath} is to be identified with a collection of morphisms \begin{displaymath} c \to F(d) \end{displaymath} for all $d \in D$, such that all triangles \begin{displaymath} \itexarray{ && c \\ & \swarrow && \searrow \\ F(d_i) && \stackrel{F(f)}{\to} && F(d_j) } \end{displaymath} commute. Such a collection of morphisms is called a \textbf{cone} over $F$, for the obvious reason. If the limit $\lim F \in C$ of $F$ exist, then it singles out a special cone given by the composite morphism \begin{displaymath} * \stackrel{* \mapsto Id_{\lim F}}{\to} Hom_C(\lim F, \lim F) \stackrel{\simeq}{\to} Hom(pt, Hom(\lim F, F(-))) \,, \end{displaymath} where the first morphism picks the [[identity morphism]] on $\lim F$ and the second one is the defining bijection of a limit as above. The cone \begin{displaymath} \itexarray{ && \lim F \\ & \swarrow && \searrow \\ F(d_i) && \stackrel{F(f)}{\to} && F(d_j) } \end{displaymath} is called the \textbf{universal cone} over $F$, because, again by the defining property of limit as above, every other cone $\{c \to F(d)\}_{d \in D}$ as above is bijectively related to a morphism $c \to \lim F$ \begin{displaymath} * \stackrel{\{c \to F(d)\}_{d \in D}}{\to} Hom(pt, Hom(c, F(-))) \stackrel{\simeq}{\to} Hom(c, \lim F) \,. \end{displaymath} By inspection one finds that, indeed, the morphism $c \to \lim F$ is the morphism which exhibits the factorization of the cone $\{c \to F(d)\}_{d \in D}$ through the universal limit cone \begin{displaymath} \itexarray{ && c \\ & \swarrow && \searrow \\ F(d_i) && \stackrel{F(f)}{\to} && F(d_j) } = \itexarray{ && c \\ && \downarrow \\ && \lim F \\ & \swarrow && \searrow \\ F(d_i) && \stackrel{F(f)}{\to} && F(d_j) } \,. \end{displaymath} An illustrative example is the following: a limit of the [[identity functor]] $Id_c:C\to C$ is, if it exists, an [[initial object]] of $C$. \hypertarget{global_definition_in_terms_of_adjoint_of_the_constant_diagram_functor}{}\subsubsection*{{Global Definition in terms of adjoint of the constant diagram functor}}\label{global_definition_in_terms_of_adjoint_of_the_constant_diagram_functor} Given categories $D$ and $C$, limits over functors $D^{op} \to C$ may exist for some functors, but not for all. If it does exist for all functors, then the above \emph{local definition} of limits is equivalent to the following \emph{global definition}. For $D$ a [[small category]] and $C$ any category, the [[functor category]] $[D^{op},C]$ is the category of $D$-[[diagram]]s in $C$. Pullback along the functor $D^{op} \to pt$ to the [[terminal object|terminal]] category $pt = \{\bullet\}$ induces a functor \begin{displaymath} const : C \to [D^{op},C] \end{displaymath} which sends every object of $C$ to the diagram functor constant on this object. The [[adjoint functor|left adjoint]] \begin{displaymath} colim_D : [D^{op},C] \to C \end{displaymath} of this functor is, if it exists, the functor which sends every diagram to its [[colimit]] and the [[adjoint functor|right adjoint]] is, if it exists, the functor \begin{displaymath} lim_D : [D^{op},C] \to C \end{displaymath} which sends every diagram to its [[limit]]. The Hom-isomorphisms of these [[adjunction]]s state precisely the universal property of [[limit]] and [[colimit]] given above. Concretely this means that for all $c \in C$ we have a bijection \begin{displaymath} Hom_C(c, \lim F) \simeq Hom_{[D^{op},C]}(const_c, F) \,. \end{displaymath} From this perspective, a limit is a special case of a [[Kan extension]], as described there, namely a Kan extension to the [[point]]. \hypertarget{generalizations}{}\subsubsection*{{Generalizations}}\label{generalizations} The notion of limit, being fundamental to [[category theory]], generalizes to many other situations. Examples include the following. \begin{itemize}% \item In [[enriched category theory]] one has the notion of [[weighted limit]]. This makes sense in ordinary category theory as well, but it turns out that in that case all weighted limits reduce to ordinary ``conical'' ones. \item Weighted limits generalize further to the notion of limit in a [[2-category equipped with proarrows]], or to a [[Yoneda structure]]. \item In [[2-category theory]] one has the notion of a [[2-limit]]. \item Similarly, in [[(infinity,1)-category]] theory there is a notion of a limit. Using quasicategories as a model for $(\infty,1)$-categories, the definition is a straightforward extension of the one as a terminal cone: it is simply a [[terminal object in a quasi-category|quasi-categorical terminal object]] in the quasicategory of cones. See [[limit in quasi-categories]]. \item One expects that similarly, all sorts of [[higher categories]] have their own appropriate notions of limit and colimit. \end{itemize} \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} The central point about examples of limits is: \emph{Categorical limits are ubiquitous}. To a fair extent, [[category theory]] is all about limits and the other [[universal construction]]s: [[Kan extension]]s, [[adjoint functor]]s, [[representable functor]]s, which are all special cases of limits -- and limits are special cases of these. Listing examples of limits in [[category theory]] is much like listing examples of [[integral]]s in [[analysis]]: one can and does fill books with these. (In fact, that analogy has more to it than meets the casual eye: see [[coend]] for more). Keeping that in mind, we do list some special cases and special classes of examples that are useful to know. But any list is necessarily wildly incomplete. \hypertarget{general}{}\subsubsection*{{General}}\label{general} \begin{itemize}% \item For a pedagogical list of examples see [[limits and colimits by example]]. \end{itemize} Here are some important examples of limits, classified by the shape of the [[diagram]]: \begin{itemize}% \item A limit of the [[empty set|empty diagram]] is a [[terminal object]]. \item A limit of a diagram consisting of two (or more) objects and no nontrivial morphisms is their [[product]]. \item A limit of a [[cospan]] is a [[pullback]]. \item A limit of a pair (or more) of [[parallel morphisms]] is an [[equalizer]]. \item A limit over a [[finite category]] is a [[finite limit]]. \item Another important ``shape'' of limits are those that give rise to [[end]]s. \end{itemize} \hypertarget{limits_in_analysis}{}\subsubsection*{{Limits in analysis}}\label{limits_in_analysis} The concept of [[limit of a sequence]] in [[topological spaces]] is a special case of category theoretic limits, see \href{limit+of+a+sequence#RelationToLimitsInCategoryTheory}{there}. \hypertarget{properties}{}\subsection*{{Properties}}\label{properties} \hypertarget{ConstructionFromProductsAndEqualizers}{}\subsubsection*{{Existence: construction from products and equalizers}}\label{ConstructionFromProductsAndEqualizers} Frequently some limits can be computed in terms of other limits. This makes things easier since we only have to assume that categories have, or functors preserve, some easier-to-verify class of limits in order to obtain results about a larger one. The most common example of this is the computation of limits in terms of products and equalizers. Specifically, if the limit of $F : D^{op} \to C$ and the [[products]] $\prod_{d\in Obj(D)} F(d)$ and $\prod_{f\in Mor{d}} F(s(f))$ all exist, then $lim F$ is a [[subobject]] of $\prod_{d\in Obj(D)} F(d)$, namely the [[equalizer]] of \begin{displaymath} \prod_{d \in Obj(D)} F(d) \stackrel{\prod_{f \in Mor(d)} (F(f) \circ p_{t(f)}) }{\to} \prod_{f \in Mor(D)} F(s(f)) \end{displaymath} and \begin{displaymath} \prod_{d \in Obj(D)} F(d) \stackrel{\prod_{f \in Mor(d)} (p_{s(f)}) }{\to} \prod_{f \in Mor(D)} F(s(f)) \,. \end{displaymath} Conversely, if both of these products exist and so does the equalizer of this pair of maps, then that equalizer is a limit of $F$. In particular, therefore, a category has all limits as soon as it has all products and equalizers, and a functor defined on such a category [[preserved limit|preserves]] all limits as soon as it preserves products and equalizers. Another example is that all [[finite limits]] can be computed in terms of [[pullbacks]] and a [[terminal object]]. \hypertarget{interaction_with_functor}{}\subsubsection*{{Interaction with $Hom$-functor}}\label{interaction_with_functor} \begin{prop} \label{}\hypertarget{}{} \textbf{([[hom-functor preserves limits]])} For $C$ a [[locally small]] category, for $F : D^{op} \to C$ a functor and writing $C(c, F(-)) : D^{op} \to Set$, we have \begin{displaymath} C(c, lim F) \simeq lim C(c, F(-)) \,. \end{displaymath} \end{prop} Depending on how one introduces limits this holds by definition or is an easy consequence. \hypertarget{in_}{}\subsubsection*{{In $Set$}}\label{in_} \hypertarget{limits_in_set_are_homsets}{}\paragraph*{{Limits in Set are hom-sets}}\label{limits_in_set_are_homsets} For $F : D^{op} \to Set$ any functor and $const_{*} : D^{op} \to Set$ the functor constant on the [[point]], the limit of $F$ is the [[hom-set]] \begin{displaymath} lim F \simeq [D^{op}, Set](const_{*}, F) \end{displaymath} in the [[functor category]], i.e. the set of [[natural transformation]]s from the constant functor into $F$. \hypertarget{in_functor_categories}{}\subsubsection*{{In functor categories}}\label{in_functor_categories} \begin{uprop} Let $D$ be a small category and let $D'$ be any category. Let $C$ be a category which admits limits of shape $D$. Write $[D',C]$ for the [[functor category]]. Then * $[D',C]$ admits $D$-shaped limits; * these limits are computed objectwise (``pointwise'') in $C$: for $F : D^{op} \to [D',C]$ a functor we have for all $d' \in D'$ that $(lim F)(d') \simeq lim (F(-)(d'))$. Here the limit on the right is in $C$. \end{uprop} \hypertarget{CompatibilityAmongUniversalConstructions}{}\subsubsection*{{Compatibility with universal constructions}}\label{CompatibilityAmongUniversalConstructions} \begin{prop} \label{RightAdjointsPreserveLimits}\hypertarget{RightAdjointsPreserveLimits}{} \textbf{([[right adjoints preserve limits]])} Let $R \;\colon\; C \to C'$ be a [[functor]] that is [[right adjoint]] to some functor $L : C' \to C$. Let $D$ be a [[small category]] such that $C$ admits [[limits]] of shape $D$. Then $R$ [[preserved limit|commutes with]] $D$-shaped limits in $C$ in that for $F : D^{op} \to C$ some diagram, we have \begin{displaymath} R(lim F) \simeq lim (R \circ F) \,. \end{displaymath} \end{prop} \begin{proof} Using the adjunction isomorphism and the above fact that [[hom-functor preserves limits]], one obtains for every $c' \in C'$ \begin{displaymath} \begin{aligned} C'(c', R (lim F)) & \simeq C(L(c'), lim F) \\ & \simeq lim C(L(c'), F) \\ & \simeq lim C'(c', R\circ F) \\ & \simeq C'(c', lim (R \circ F)) \,. \end{aligned} \,. \end{displaymath} Since this holds naturally for every $c'$, the [[Yoneda lemma|Yoneda lemma, corollary II]] on uniqueness of representing objects implies that $R (lim F) \simeq lim (G \circ F)$. \end{proof} \begin{prop} \label{LimitsCommuteWithLimits}\hypertarget{LimitsCommuteWithLimits}{} \textbf{([[limits commute with limits]])} Let $D$ and $D'$ be [[small categories]] and let $C$ be a category which admits [[limits]] of shape $D$ as well as [[limits]] of shape $D'$. Then these limits commute with each other, in that for $F : D^{op} \times {D'}^{op} \to C$ a [[functor]] , with corresponding induced functors $F_D : {D'}^{op} \to [D^{op},C]$ and $F_{D'} : {D}^{op} \to [{D'}^{op},C]$, then the canonical comparison morphism \begin{equation} lim F \simeq lim_{D} (lim_{D'} F_D ) \simeq lim_{D'} (lim_{D} F_{D'} ) \label{ComparisonMorphismForCommutingLimits}\end{equation} is an [[isomorphism]]. \end{prop} \begin{proof} Since the [[limit]]-construction is the [[right adjoint]] functor to the [[constant functor|constant]] [[diagram]]-functor, this is a special case of \emph{[[right adjoints preserve limits]]} (Prop. \ref{RightAdjointsPreserveLimits}). \end{proof} See [[limits and colimits by example]] for what formula \eqref{ComparisonMorphismForCommutingLimits} says for instance for the special case $C =$ [[Set]]. \begin{remark} \label{}\hypertarget{}{} \textbf{(general non-commutativity of limits with colimits)} In general limits do \emph{not} commute with [[colimits]]. But under a number of special conditions of interest they do. Special cases and concrete examples are discussed at \emph{[[commutativity of limits and colimits]]}. \end{remark} \hypertarget{related_concepts}{}\subsection*{{Related concepts}}\label{related_concepts} \begin{itemize}% \item \textbf{limit} \begin{itemize}% \item [[internal limit]] \item [[colimit]], [[universal construction]], [[Kan extension]], [[end]], [[coend]] \end{itemize} \item [[2-limit]] \item [[(∞,1)-limit]] \begin{itemize}% \item [[homotopy limit]] \item [[lim{\tt \symbol{94}}1 and Milnor sequences]] \end{itemize} \end{itemize} [[!redirects limits]] \end{document}