\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*{closed functor} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{category_theory}{}\paragraph*{{Category theory}}\label{category_theory} [[!include category theory - contents]] \hypertarget{monoidal_categories}{}\paragraph*{{Monoidal categories}}\label{monoidal_categories} [[!include monoidal categories - 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{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{related_concepts}{Related concepts}\dotfill \pageref*{related_concepts} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} Just as a [[functor]] is a [[homomorphism]] between [[categories]], so a \emph{closed functor} is a homomorphism between [[closed categories]]. Like [[monoidal functors]], closed functors come in varying levels of strictness and strength. \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} A \textbf{strict closed functor} is a [[functor]] $F : C \to D$ between [[closed categories]] that preserves all the structure on the nose. In particular, it must preserve the [[internal homs]] and the unit object: \begin{displaymath} F(I_C) = I_D , \end{displaymath} \begin{displaymath} F([X,Y]) = [F(X),F(Y)]. \end{displaymath} but it should also preserve all of the additional structure transformations. Strict closed functors are not common ``in nature'' (due to the problem of [[evil]]), but they are sometimes useful to consider in syntactic studies of closed categories, as for example in [[coherence theorem|coherence problems]]. More commonly occurring in nature are functors that preserve the closed structure merely up to a transformation, which may perhaps be invertible. Just as [[lax monoidal functors]] are often called simply ``monoidal functors,'' the ``lax'' sort of closed functor for which the transformation is not invertible are often called simply \emph{closed functors}, the ones where it is invertible being called \emph{strong}. To be precise: a \textbf{(lax) closed functor} between closed categories $C$ and $D$ is a functor $F\colon C\to D$ together with: \begin{itemize}% \item A [[natural transformation|transformation]] $\hat{F}\colon F([X,Y]_C) \to [F(X),F(Y)]_D$, natural in $X$ and $Y$. \item A morphism $F^0\colon I_D \to F(I_C)$. \end{itemize} which satisfy the following axioms. \begin{itemize}% \item The following [[diagram]] commutes for any $X$. \begin{displaymath} \itexarray{F(I_C) & \overset{F(j)}{\to} & F([X,X])\\ ^{\mathllap{F^0}}\uparrow && \downarrow^{\mathrlap{\hat{F}}}\\ I_D & \underset{j}{\to} & [F(X),F(X)]} \end{displaymath} \item The following diagram commutes for any $X$. \begin{displaymath} \itexarray{F([I,X]) & \overset{\hat{F}}{\to} & [F(I),F(X)]\\ ^{\mathllap{F(i^{-1})}}\downarrow && \downarrow^{\mathrlap{[F^0 ,1]}}\\ F(X) & \underset{i}{\to} & [I,F(X)]} \end{displaymath} \item The following diagram commutes for any $X,Y,Z$. \begin{displaymath} \itexarray{F([Y,Z]) & \overset{F(L)}{\to} & F([[X,Y],[X,Z]]) & \overset{\hat{F}}{\to} & [F([X,Y]),F([X,Z])]\\ ^{\mathllap{\hat{F}}}\downarrow &&&& \downarrow^{\mathrlap{[1,\hat{F}]}}\\ [F(Y),F(Z)] & \underset{L}{\to} & [[F(X),F(Y)],[F(X),F(Z)]] & \underset{[\hat{F},1]}{\to} & [F([X,Y]),[F(X),F(Z)]]} \end{displaymath} \end{itemize} A \textbf{strong closed functor} is a closed functor such that $\hat{F}$ and $F^0$ are [[isomorphisms]]. Together with [[closed natural transformations]], closed categories and closed functors form a [[2-category]]. \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} \begin{example} \label{}\hypertarget{}{} Suppose that $C$ and $D$ are [[closed monoidal categories]]. Then any [[lax monoidal functor]] $F\colon C\to D$ gives rise to a lax closed functor by defining $F^0$ to be the unit constraint of $F$, and $\hat{F}\colon F([X,Y]) \to [F(X),F(Y)]$ to be the [[adjunct]] under the [[internal-hom]] adjunction of the composite \begin{displaymath} F([X,Y]) \otimes F(X) \to F([X,Y] \otimes X) \to F(Y). \end{displaymath} Conversely, from a lax closed functor between closed monoidal categories we can recover a [[lax monoidal functor]], with multiplication constraint $F(X)\otimes F(Y) \to F(X\otimes Y)$ being adjunct to the composite \begin{displaymath} F(X) \to F([Y,X\otimes Y]) \to [F(Y), F(X\otimes Y)] \end{displaymath} where the map $X\to [Y,X\otimes Y]$ is adjunct to the identity of $X\otimes Y$. In this way, lax monoidal and lax closed functors between closed monoidal categories are in [[bijective]] correspondence. Note, however, that for such a functor to be \emph{[[strong monoidal functor|strong monoidal]]} or \emph{strong closed} are generally independent conditions. Since any lax (or strong) monoidal functor is automatically a lax closed functor, the term \textbf{closed monoidal functor} is usually used to mean one which is \emph{strong} closed (or at least for which $\hat{F}$ is an isomorphism). \end{example} \begin{example} \label{}\hypertarget{}{} The same idea works more generally for closed unital [[multicategories]], since arbitrary ``multifunctors'' between multicategories correspond to lax monoidal functors. \end{example} \begin{remark} \label{}\hypertarget{}{} However, there does not seem to be a natural notion of ``colax'' functor between closed categories. One could, of course, simply ask for transformations in the other direction, but such things do not seem to arise much in practice, and would not correspond to colax monoidal functors in the same way. \end{remark} \begin{example} \label{}\hypertarget{}{} If $C$ and $D$ are [[cartesian closed categories]], then any functor $F\colon C\to D$ is automatically colax monoidal, and it is strong (hence also lax) monoidal iff it preserves [[products]]. By the above argument, any product-preserving functor between cartesian closed categories is automatically a lax closed functor. If it is moreover a \emph{strong} closed functor, we call it a \textbf{[[cartesian closed functor]]}. (See also \emph{[[locally cartesian closed functor]]}.) \end{example} \begin{example} \label{}\hypertarget{}{} The [[inverse image]] [[base change]] in an [[etale geometric morphism]] between [[toposes]] is a [[cartesian closed functor]] (see there). \end{example} \begin{example} \label{}\hypertarget{}{} An [[adjoint triple]] of functors between [[symmetric monoidal category|symmetric]] [[closed monoidal categories]] is a ``[[Wirthmüller context]] of [[six operations]]'' when the middle functor is closed monoidal. \end{example} \begin{example} \label{}\hypertarget{}{} A class of examples of strong closed functors that are not strong monoidal comes from the inclusions of [[reflective subcategory|reflective]] [[exponential ideals]]. [[Day's reflection theorem]] implies that if $C$ is a closed monoidal category and $E\subseteq C$ is a reflective subcategory that is an exponential ideal in the monoidal sense (i.e. $x\in C$ and $y\in E$ imply $[x,y]\in E$), then $E$ is a closed monoidal category with the induced internal-hom and a \emph{reflected} tensor product $x\otimes_E y = R(x\otimes_C y)$ where $R$ is the reflector. Then the inclusion functor $E\hookrightarrow C$ preserves internal-homs but is only lax monoidal (in contrast to its left adjoint, the reflection, which is strong monoidal). It doesn't in general preserve the unit strongly, but there are cases when it does. For instance, let $C = P A$ be a [[presheaf category]] with a [[Day convolution]] monoidal structure induced by a monoidal structure on a small category $A$, and let $E$ be the subcategory of $\Phi$-[[continuous functor|continuous]] presheaves for some set $\Phi$ of colimits in $A$ that are preserved on both sides by the tensor product (e.g. if $A$ is itself closed). Then $E$ is a reflective exponential ideal, and contains the unit object since the latter is a [[representable presheaf]] (at the [[unit object]] of $A$) hence preserves all colimits. \end{example} \hypertarget{related_concepts}{}\subsection*{{Related concepts}}\label{related_concepts} \begin{itemize}% \item [[indexed closed monoidal category]] \item [[six operations]], [[dependent linear type theory]] \end{itemize} \hypertarget{references}{}\subsection*{{References}}\label{references} \begin{itemize}% \item [[Samuel Eilenberg]] and [[Max Kelly]], \emph{Closed categories.} Proc. Conf. Categorical Algebra (La Jolla, Calif., 1965). \end{itemize} [[!redirects closed functor]] [[!redirects closed functors]] [[!redirects closed monoidal functor]] [[!redirects closed monoidal functors]] [[!redirects lax closed functor]] [[!redirects lax closed functors]] [[!redirects strong closed functor]] [[!redirects strong closed functors]] \end{document}