\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*{functor} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{category_theory}{}\paragraph*{{Category theory}}\label{category_theory} [[!include category theory - contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definition}{Definition}\dotfill \pageref*{definition} \linebreak \noindent\hyperlink{external_definition}{External definition}\dotfill \pageref*{external_definition} \linebreak \noindent\hyperlink{InternalDefinition}{Internal definition}\dotfill \pageref*{InternalDefinition} \linebreak \noindent\hyperlink{enriched_definition}{Enriched definition}\dotfill \pageref*{enriched_definition} \linebreak \noindent\hyperlink{profunctors}{Profunctors}\dotfill \pageref*{profunctors} \linebreak \noindent\hyperlink{higher_categorical_functors}{Higher categorical functors}\dotfill \pageref*{higher_categorical_functors} \linebreak \noindent\hyperlink{special_properties_of_functors}{Special properties of functors}\dotfill \pageref*{special_properties_of_functors} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{morphisms_of_monoids_and_groups}{Morphisms of monoids and groups}\dotfill \pageref*{morphisms_of_monoids_and_groups} \linebreak \noindent\hyperlink{representations}{Representations}\dotfill \pageref*{representations} \linebreak \noindent\hyperlink{linear_maps}{Linear Maps}\dotfill \pageref*{linear_maps} \linebreak \noindent\hyperlink{left_inverses}{Left Inverses}\dotfill \pageref*{left_inverses} \linebreak \noindent\hyperlink{right_inverses}{Right Inverses}\dotfill \pageref*{right_inverses} \linebreak \noindent\hyperlink{presheaves}{Presheaves}\dotfill \pageref*{presheaves} \linebreak \noindent\hyperlink{OnGeneralizedElements}{Functors and generalized elements}\dotfill \pageref*{OnGeneralizedElements} \linebreak \noindent\hyperlink{related_concepts}{Related concepts}\dotfill \pageref*{related_concepts} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} \begin{itemize}% \item A functor is what goes between [[category|categories]]. \item A functor from $C$ to $D$ is an \emph{image of $C$ in $D$} (but the naive [[image]] need not be a [[subcategory]] of $D$). \item A functor between (small) categories is a morphism of the underlying [[quivers]] that respects the composition of edges. \end{itemize} So a functor $F : C \to D$ is a [[morphism]] between two [[category|categories]] that \begin{itemize}% \item consists of a map $F_0 : Obj(C) \to Obj(D)$ of the objects of the categories \item and a map $F_1 : Mor(C) \to Mor(D)$ of the morphisms of the categories \end{itemize} such that \begin{itemize}% \item it respects source and target: $F_1$ coincides with $F_0$ on source and target objects; \item it respects identities: $F(1_X) = 1_{F(X)}$; \item it respects composition: the image of the composite of two morphisms under $F$ is the composite of their images. \end{itemize} These last two properties are the decisive ones of a functor; they are called the \textbf{functoriality conditions}. They are a direct generalization of the notion of [[homomorphism]] (of [[monoids]], [[groups]], [[algebras]], etc.) to the case that there are more objects. As a slogan we have The notion of functor is a [[horizontal categorification]] of that of [[homomorphism]]. \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} \hypertarget{external_definition}{}\subsubsection*{{External definition}}\label{external_definition} A \textbf{functor} $F$ from a [[category]] $C$ to a category $D$ is a map sending each [[object]] $x \in C$ to an object $F(x) \in D$ and each [[morphism]] $f : x \to y$ in $C$ to morphism $F(f) : F(x) \to F(y)$ in $D$, such that \begin{itemize}% \item $F$ preserves [[composition]]: $F(g\circ f) = F(g)\circ F(f)$ whenever the left-hand side is well-defined, \item $F$ preserves [[identity morphisms]]: for each object $x \in X$, $F(1_x) = 1_{F(x)}$. \end{itemize} Or equivalently, since compositions $g f = g\circ f$ (commuting triangles) and identities $1_x$ (commuting loops) are both simple commuting diagrams, we can combine the above conditions to the single statement \begin{itemize}% \item $F$ preserves commuting diagrams. \end{itemize} Given morphisms $f:X\to Y$, $g:Y\to Z$, and $h:X\to Z$, declaring the triangle commutes amounts to declaring \begin{displaymath} h = g\circ f. \end{displaymath} In this case, for $F:C\to D$ to preserve the commutative triangle means \begin{displaymath} F(h) = F(g)\circ F(f) \end{displaymath} as depicted below Preserving commuting triangles means $F$ preserves compositions. Given morphisms $f:X\to Y$, $g:Y\to Z$, and $h:Z\to X$, declaring the loop commutes amounts to declaring \begin{displaymath} 1_X = h\circ g\circ f. \end{displaymath} In this case, for $F:C\to D$ to preserve the commutative loop means \begin{displaymath} F(1_X) = F(h)\circ F(g)\circ F(f) \end{displaymath} as depicted below However, it means more than that. Since any commutative loop is equal to the identity morphism, we must also have \begin{displaymath} 1_{F(X)} = F(h)\circ F(g)\circ F(f) \end{displaymath} implying \begin{displaymath} F(1_X) = 1_{F(X)}. \end{displaymath} Preserving commuting loops means $F$ preserves identity morphisms. Another equivalent way to say this is that a functor $F : C \to D$ is precisely a morphism of [[simplicial sets]] $N(F) : N(C) \to N(D)$ between the [[nerves]] of these categories \begin{itemize}% \item the [[objects]] of $C$ and $D$ are the 0-cells of $N(C)$ and $N(D)$, so $N(F)_0 : N(F)_0 \to N(F)_0$ maps objects of $C$ to objects of $D$; \item the [[morphisms]] of $C$ and $D$ are the 1-cells of $N(C)$ and $N(D)$, so $N(F)_1 : N(F)_1 \to N(F)_1$ maps morphisms of $C$ to objects of $D$; \item the identity morphisms of $C$ and $D$ are the degenerate 1-cells of $N(C)$ and $N(D)$, so the fact that $N(F)$ respects degeneracy maps means that $F$ respects identities; \item the commuting triangles of $C$ and $D$ are the 2-cells of $N(C)$ and $N(D)$, so the fact that $N(F)$ maps 2-cells to 2-cells means that it respects commuting triangles, hence that it respects composition. \end{itemize} See [[nerve]] for more details on this. The functors between two categories $C$ and $D$ form themselves a category, the [[functor category]] $[C,D]$, whose morphisms are [[natural transformations]]. Equipped with these functor categories as [[hom-objects]], we have a $2$-[[2-category|category]] [[Cat]] of categories, functors and natural transformations. In other words, functors are [[morphisms]] in $Cat$. \hypertarget{InternalDefinition}{}\subsubsection*{{Internal definition}}\label{InternalDefinition} If $C$ and $D$ are [[internal categories]] in some ambient category $A$, then an \textbf{internal functor} $F : C \to D$ is \begin{itemize}% \item a morphism of objects $F_0 : C_0 \to D_0$ in $A$; \item a morphisms of morphisms $F_1 : C_1 \to D_1$ in $A$; \item such that the following diagrams commute \begin{itemize}% \item respect for the source map: $\itexarray{ C_1 &\stackrel{f_1}{\to}& D_1 \\ \downarrow^s && \downarrow^s \\ C_0 &\stackrel{f_0}{\to}& D_0 }$; \item respect for the target map: $\itexarray{ C_1 &\stackrel{f_1}{\to}& D_1 \\ \downarrow^t && \downarrow^t \\ C_0 &\stackrel{f_0}{\to}& D_0 }$; \item respect for identities $\itexarray{ C_0 &\stackrel{f_0}{\to}& D_0 \\ \downarrow^i && \downarrow^i \\ C_1 &\stackrel{f_1}{\to}& D_1 }$; \item respect for composition $\itexarray{ C_1 \times_{t,s} C_1 &\stackrel{f_1\times_{t,s} f_1}{\to}& D_1 \times_{t,s} D_1 \\ \downarrow^{\circ} && \downarrow^{\circ} \\ C_1 &\stackrel{f_1}{\to}& D_1 }$. \end{itemize} \end{itemize} This reproduces the external definition of functors above for [[small categories]], which are categories [[internalization|internal to]] [[Set]] In many cases, this notion is too restrictive, and we should use internal [[anafunctors]] instead. \hypertarget{enriched_definition}{}\subsubsection*{{Enriched definition}}\label{enriched_definition} In [[enriched category theory]] a functor maps not [[hom-sets]] but the given [[hom-objects]] to each other, in a way that respects their composition. This is described at \begin{itemize}% \item [[enriched functor]]. \end{itemize} \hypertarget{profunctors}{}\subsubsection*{{Profunctors}}\label{profunctors} A generalization of the notion of [[enriched functor]] is the notion of [[profunctor]]. \hypertarget{higher_categorical_functors}{}\subsubsection*{{Higher categorical functors}}\label{higher_categorical_functors} In [[higher category theory]] there are corresponding higher notions of functor, such as \begin{itemize}% \item [[2-functor]] \begin{itemize}% \item [[strict 2-functor]] \item [[pseudofunctor]] \item [[lax functor]] \end{itemize} \item [[(∞,1)-functor]] \item See also an informal discussion about an [[experimental alternative definition of functor]]. \end{itemize} \hypertarget{special_properties_of_functors}{}\subsection*{{Special properties of functors}}\label{special_properties_of_functors} Functors with special properties are important in applications. See for instance \begin{itemize}% \item [[essentially surjective functor]] \item [[full functor]] \item [[faithful functor]] \item [[full and faithful functor]] \end{itemize} And for more background on this see [[stuff, structure, property]]. \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} \hypertarget{morphisms_of_monoids_and_groups}{}\subsubsection*{{Morphisms of monoids and groups}}\label{morphisms_of_monoids_and_groups} For $A,B$ [[monoids]] or $G, H$ [[groups]], let $\mathbf{B}A, \mathbf{B}B$, $\mathbf{B}G$, $\mathbf{B}H$ be the corresponding one-object [[category|categories]] (as described at [[delooping]]). Then functors \begin{displaymath} \mathbf{B}A \to \mathbf{B}B \end{displaymath} are canonically in bijection with monoid homomorphisms $A \to B$ and accordingly functors \begin{displaymath} \mathbf{B}G \to \mathbf{B}H \end{displaymath} are canonically in bijection with group homomorphisms $G \to H$. \hypertarget{representations}{}\subsubsection*{{Representations}}\label{representations} With $\mathbf{B}G$ as above, functors on $\mathbf{B}G$ with values in [[Vect]] are the same as linear [[representations]] of the [[group]] $G$. In fact, we have a canonical isomorphism of categories \begin{displaymath} Funct(\mathbf{B}G, Vect) \simeq Rep(G) \end{displaymath} of the [[functor category]] with the representation category. \hypertarget{linear_maps}{}\subsubsection*{{Linear Maps}}\label{linear_maps} Let $\mathbf{B} End(U)$ and $\mathbf{B} End(V)$ be one-object categories whose objects are each finite-dimensional vector space and whose morphisms are all of the linear [[endomorphisms]] on that space, i.e. one-object [[full subcategory|full subcategories]] of $Fin Vect$. \hypertarget{left_inverses}{}\paragraph*{{Left Inverses}}\label{left_inverses} If the linear map $F:U\to V$ has a left inverse, i.e. \begin{displaymath} F^*\circ F = 1_U, \end{displaymath} where $F^*$ is the [[preimage]], then we can construct a functor \begin{displaymath} F_*:\mathbf{B} End(U)\to\mathbf{B} End(V) \end{displaymath} by defining its action on objects by \begin{displaymath} F_*(U) = F_* U \end{displaymath} where $F_*$ on the right-hand side is the [[image]] and its action on endomorphisms by \begin{displaymath} F_*(f) = F f F^*. \end{displaymath} Composition follows immediately \begin{displaymath} F_*(f g) = F f g F^* = F f F^* F g F^* = F_*(f) F_*(g). \end{displaymath} Identity morphisms are preserved since for any vector $y$ in $F_*U\subset V$, then \begin{displaymath} y = F x \end{displaymath} for some vector $x$ in $U$ and we have \begin{displaymath} F_*(1_U)y = F\circ F^* y = F\circ F^*\circ F x = F x = y \end{displaymath} so that \begin{displaymath} F_*(1_U) = 1_{F_*(U)} \end{displaymath} as required. Hence, $F_*$ is a functor. \hypertarget{right_inverses}{}\paragraph*{{Right Inverses}}\label{right_inverses} If the linear map $F:U\to V$ has a right inverse, i.e. \begin{displaymath} F\circ F^* = 1_V, \end{displaymath} where $F^*$ is the preimage, then we can construct a functor \begin{displaymath} F^*:\mathbf{B} End(V)\to\mathbf{B} End(U) \end{displaymath} by defining its action on objects by \begin{displaymath} F^*(V) = F^*V \end{displaymath} where $F^*$ on the right-hand side is preimage, and its action on endomorphisms by \begin{displaymath} F^*(f) = F^* f F. \end{displaymath} Composition follows immediately \begin{displaymath} F^*(f g) = F^* f g F = F^* f F F^* g F = F^*(f) F^*(g). \end{displaymath} Identity morphisms are preserved since for any vector $x$ in $F^*V\subset U$, then \begin{displaymath} x = F^*y \end{displaymath} for some vector $y$ in $V$ and we have \begin{displaymath} F^*(1_V)x = F^*\circ F x = F^*\circ F \circ F^* y = F^* y = x \end{displaymath} so that \begin{displaymath} F^*(1_V) = 1_{F^*(V)} \end{displaymath} as required. Hence, $F^*$ is a functor. \hypertarget{presheaves}{}\subsubsection*{{Presheaves}}\label{presheaves} Functors $F : C \to Set$ with values in [[Set]] are also called [[presheaf|presheaves]]. As such one calls them presheaves on the [[opposite category]] $C^{op}$ of $C$. See [[presheaf]] for more on this. \hypertarget{OnGeneralizedElements}{}\subsubsection*{{Functors and generalized elements}}\label{OnGeneralizedElements} For $C$ a [[category]], and $X \in C$ an [[object]], and $U$ any other object, a [[morphism]] $x : U \to X$ may be regarded as a [[generalized element]] of $X$, written $x \in X$ (For this language applied to the category [[Set]] of sets see [[ETCS]]. For the general case see [[type theory]]). The \emph{[[set]]} of generalized elements of an object $X \in C$ is thus the union of [[hom-sets]] $\coprod_{U \in C} Hom_C(U,X)$. While a [[morphism]] $f : X \to Y$ in an arbitrary category $C$ need not at all come to us as a function of sets, it always induces a function of sets of \emph{generalized elements} : it sends the generalized element $x : U \to X$ of $X$ to the generalized element \begin{displaymath} f(x) : U \stackrel{x}{\to} X \stackrel{f}{\to} Y \end{displaymath} of $Y$, using the composition of the morphism $f$ with the morphism $x$ in $C$. In terms of this notation, the functoriality condition on a functor $F : C \to D$, which is \begin{displaymath} F(U \stackrel{x}{\to} X \stackrel{f}{\to} Y) = F(U) \stackrel{F(x)}{\to} F(X) \stackrel{F(f)}{\to} F(Y) \end{displaymath} appears as \begin{displaymath} F(f(x)) = F(f)(F(x)) \,. \end{displaymath} This can be illustrated in the following diagram which provides an alternative expression of the functoriality condition as simply a statement that commuting diagrams in $C$ map to commuting diagrams in $D$. \hypertarget{related_concepts}{}\subsection*{{Related concepts}}\label{related_concepts} \begin{itemize}% \item [[endofunctor]] \item [[bifunctor]] \item [[profunctor]] \item [[multifunctor]] \item [[function]] \item \textbf{functor} \begin{itemize}% \item [[endofunctor]] \item [[polynomial functor]] \end{itemize} \item [[2-functor]] / [[pseudofunctor]] \begin{itemize}% \item [[monoidal functor]] \end{itemize} \item [[n-functor]] \item [[(∞,1)-functor]] \item [[(∞,n)-functor]] \end{itemize} [[!redirects functors]] [[!redirects covariant functor]] [[!redirects covariant functors]] [[!redirects internal functor]] [[!redirects internal functors]] [[!redirects functorial]] \end{document}