\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*{adjunction} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{2category_theory}{}\paragraph*{{2-Category theory}}\label{2category_theory} [[!include 2-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{direct_definition}{Direct definition}\dotfill \pageref*{direct_definition} \linebreak \noindent\hyperlink{in_terms_of_string_diagrams}{In terms of string diagrams}\dotfill \pageref*{in_terms_of_string_diagrams} \linebreak \noindent\hyperlink{properties}{Properties}\dotfill \pageref*{properties} \linebreak \noindent\hyperlink{relation_to_monads}{Relation to monads}\dotfill \pageref*{relation_to_monads} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{AdjointFunctors}{Adjoint functors}\dotfill \pageref*{AdjointFunctors} \linebreak \noindent\hyperlink{more_examples}{More examples}\dotfill \pageref*{more_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} Two [[morphisms]] $C \stackrel{L}{\to} D$ and $D \stackrel{R}{\to} C$ in a [[2-category]] $\mathcal{C}$ form an \textbf{adjunction} if they are \textbf{dual} to each other (\hyperlink{Lambek82}{Lambek 82}). There are two archetypical examples: \begin{itemize}% \item If $A$ is a [[monoidal category]] and $\mathcal{C} = \mathbf{B}A$ is the one-object 2-category incarnation of $A$ (the [[delooping]] of $A$), so that the morphisms in $\mathcal{C}$ correspond to the objects of $A$, then the notion of adjoint morphisms in $\mathcal{C}$ coincides precisely with the notion of [[dualizable object|dual objects]] in $A$. \item If $\mathcal{C}$ is the $2$-category [[Cat]], so that the morphisms in $\mathcal{C}$ are [[functors]], then the notion of adjoint morphisms in $\mathcal{C}$ coincides precisely with the notion of \emph{[[adjoint functors]]}. \end{itemize} The notion of adjunction may usefully be thought of as a weakened version of the notion of [[equivalence]] in a [[2-category]]: a morphism in an adjunction need not be invertible, but it has in some sense \emph{a left inverse from below} and \emph{a right inverse from above}. If the morphism in an adjunction does happen to be a genuine equivalence, then we speak of the adjunction being an [[adjoint equivalence]]. Essentially everything that makes category theory nontrivial and interesting beyond [[groupoid]] theory can be derived from the concept of adjoint functors. In particular [[universal constructions]] such as [[limit|limits and colimits]] are examples of certain adjunctions. Adjunctions are already interesting (but simpler) in [[2-posets]], such as the $2$-poset [[Pos]] of [[posets]]. \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} \hypertarget{direct_definition}{}\subsubsection*{{Direct definition}}\label{direct_definition} An \textbf{adjunction} in a [[2-category]] is a pair of [[objects]] $C,D$ together with [[morphisms]] $L: C \to D$, $R : D \to C$ and [[2-morphisms]] $\eta: 1_C \to R \circ L$, $\epsilon: L \circ R \to 1_D$ satisfying the equations \begin{displaymath} (R \epsilon) \cdot (\eta R) = 1_R \qquad \text{i.e.} \qquad R \stackrel{\eta \circ 1_R}{\to} R \circ L \circ R \stackrel{1_R \circ \epsilon}{\to} R = R \stackrel{1_R}{\to} R \qquad \text{i.e.} \qquad \itexarray{\arrayopts{ \padding{0} } &&&&1_C& \\ &&\cellopts{\colspan{5}} \\ D & \stackrel{R}{\to}& C & \stackrel{L}{\to}& D & \stackrel{R}{\to}& C \\ \cellopts{\colspan{4}} \\ &&1_D& } \quad = \quad D \stackrel{R}{\to} C \end{displaymath} and \begin{displaymath} (\epsilon L) \cdot (L \eta) = 1_L \qquad \text{i.e.} \qquad L \stackrel{1_L \circ \eta}{\to} L \circ R \circ L \stackrel{\epsilon \circ 1_L}{\to} L = L \stackrel{1_L}{\to} L \qquad \text{i.e.} \qquad \itexarray{\arrayopts{ \padding{0} } &&1_C& \\ \cellopts{\colspan{5}} \\ C & \stackrel{L}{\to}& D & \stackrel{R}{\to}& C & \stackrel{L}{\to}& D \\ &&\cellopts{\colspan{4}} \\ &&&&1_D& } \quad = \quad C \stackrel{L}{\to} D \end{displaymath} variously called the \emph{[[triangle identities]]} or the \emph{zig-zag identities}. We call $L$ the \textbf{[[left adjoint]]} (of $R$) and $R$ the \textbf{[[right adjoint]]} (of $L$). We call $\eta$ the [[unit of the adjunction]] and $\epsilon$ the [[counit of the adjunction]]. When interpreted in the prototypical 2-category [[Cat]], $C$ and $D$ are [[categories]], $L$ and $R$ are [[functors]], and $\eta$ and $\epsilon$ are [[natural transformations]]. In this case (which was of course the first to be defined) there are a number of equivalent definitions of an adjunction, which can be found on the page [[adjoint functor]]. Conversely, the definition in any 2-category can be obtained by [[internalization]] from the definition in $\Cat$. \hypertarget{in_terms_of_string_diagrams}{}\subsubsection*{{In terms of string diagrams}}\label{in_terms_of_string_diagrams} The definition of an adjunction may be nicely expressed using [[string diagrams]]. The data $L: C \to D$, $R : D \to C$ and 2-cells $\eta: 1_C \to R \circ L$, $\epsilon: L \circ R \to 1_D$ are depicted as [[adjunction-L.png:pic]] ~~~~~~~~ [[adjunction-R.png:pic]] ~~~~~~~~ [[adjunction-unit.png:pic]] ~~~~~~~~ [[adjunction-co-unit.png:pic]] (where 1-cells read from right to left and 2-cells from bottom to top), and the zigzag identities are expressed as ``pulling zigzags straight'' (hence the name): [[adjunction-up-string.png:pic]] ~~~~~~~~ [[adjunction-down-string.png:pic]] Often, arrows on strings are used to distinguish $L$ and $R$, and most or all other labels are left implicit; so the zigzag identities, for instance, become: [[adjunction-up-string-minimal.png:pic]] ~~~~~~~~ [[adjunction-down-string-minimal.png:pic]] \hypertarget{properties}{}\subsection*{{Properties}}\label{properties} \hypertarget{relation_to_monads}{}\subsubsection*{{Relation to monads}}\label{relation_to_monads} See at \emph{\href{monad#RelationToAdjunctionsAndMonadicity}{monad -- Relation to adjunctions}}. \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} \hypertarget{AdjointFunctors}{}\subsubsection*{{Adjoint functors}}\label{AdjointFunctors} An adjunction in [[Cat]] is a pair of [[adjoint functors]]. At the cost of some repetition (compare [[adjoint functor]]), we outline how one gets from the [[hom-functor]] formulation of adjunction in [[Cat]] to the elementary definition in terms of [[unit of an adjunction|units and counits]]. This will motivate the definition in the section that follows, which is elementary (definable in the first-order theory of categories) and portable to any 2-category. We start from a familiar example. Let $U: Grp \to Set$ from groups to sets be the usual forgetful functor. When we say ``$F(X)$ is the free group generated by a set $X$'', we mean there is a function $\eta_X: X \to U(F(X))$ which is universal among functions from $X$ to the underlying set of a group, which means in turn that given a function $f: X \to U(G)$, there is a unique group homomorphism $g: F(X) \to G$ such that \begin{displaymath} f = (X \stackrel{\eta_X}{\to} U(F(X)) \stackrel{U(g)}{\to} U(G)) \end{displaymath} Here $\eta_X$ is a component of what we call the [[unit of an adjunction|unit of the adjunction]] $F \dashv U$, and the equation above is a recipe for the relationship between the map $g: F(X) \to G$ and the map $f: X \to U(G)$ in terms of the unit. Now we work more generally. Suppose given functors $L: C \to D$, $R: D \to C$ and the structure of an adjunction in the form of a natural isomorphism \begin{displaymath} \Psi_{c, d}: \hom_D(L(c), d) \cong \hom_C(c, R(d)) \end{displaymath} Now the idea is that, in the spirit of the (proof of the) [[Yoneda lemma]], we would like $\Psi$ to be determined by what it does to identity maps. With that in mind, define the unit $\eta : 1_C \to R L$ by the formula $\eta_c = \Psi_{c, L(c)}(1_{L(c)})$. Dually, define the counit $\varepsilon : L R \to 1_D$ by the formula $\varepsilon_d = \Psi^{-1}_{R(d), d}(1_{R(d)})$. Then given $g: L(c) \to d$, the claim is that \begin{displaymath} \Psi_{c, d}(g) = (c \stackrel{\eta_c}{\to} R(L(c)) \stackrel{R(g)}{\to} R(d)). \end{displaymath} This may be left as an exercise in the yoga of the Yoneda lemma, applied to $\hom_D(L(c), -) \to \hom_C(c, R(-))$. By duality, given $f: c \to R(d)$, \begin{displaymath} \Psi^{-1}_{c, d}(f) = (L(c) \stackrel{L(f)}{\to} L(R(d)) \stackrel{\varepsilon_d}{\to} d). \end{displaymath} (In fact, we spell out the Yoneda-lemma proof of this dual form below.) Finally, these operations should obviously be mutually inverse, but that can again be entirely encapsulated Yoneda-wise in terms of the effect on identity maps. Thus, if $\eta_c \coloneqq \Psi_{c, L(c)}(1_{L(c)})$, via the recipe just given for $\Psi^{-1}$ we recover \begin{displaymath} 1_{L(c)} = (L(c) \stackrel{L(\eta_c)}{\to} L R L(c) \stackrel{\varepsilon_{L(c)}}{\to} L(c)) \end{displaymath} and this is one of the famous [[triangle identities]]: $1_L = (L \stackrel{L \eta}{\to} L R L \stackrel{\varepsilon L}{\to} L)$. Here, juxtaposition of functors and natural transformations denotes neither functor application, nor vertical composition, nor horizontal composition, but [[whiskering]]. By duality, we have the other [[triangle identity]] $1_R = (R \stackrel{\eta R}{\to} R L R \stackrel{R \varepsilon}{\to} R)$. These two triangular equations are enough to guarantee that the recipes for $\Psi$ and $\Psi^{-1}$ indeed yield mutual inverses. Thus, it is perfectly sufficient to define an adjoint pair of functors in $Cat$ as given by unit and counit transformations $\eta: 1_C \to R L$, $\varepsilon: L R \to 1_D$, satisfying the triangle identities above. The definition of adjunctions via units and counits is an ``elementary'' definition (so that by implication, the formulation in terms of hom-functors is not elementary) in the sense that while the hom-functor formulation relies some notion of hom-\_set\_, the formulation in terms of units and counits is purely in the first-order language of categories and makes no reference to a model of set theory. (Cf. [[first-order logic]] and [[second-order logic]].) The definition via (co)units therefore gives us a definition of adjunctions even if an assumption of [[locally small|local smallness]] is not made. \begin{proof} We claim that $\Psi^{-1}_{c, d}: \hom_C(c, R(d)) \to \hom_D(L(c), d)$ can be defined by the formula \begin{displaymath} \Psi^{-1}_{c, d}(f: c \to R(d)) = (L(c) \stackrel{L(f)}{\to} L(R(d)) \stackrel{\varepsilon_d}{\to} d) \end{displaymath} where $\varepsilon_d \coloneqq \Psi^{-1}_{R(d), d}(1_{R(d)})$. This is by appeal to the proof of the Yoneda lemma applied to the transformation \begin{displaymath} \Psi^{-1}_{-, d}: \hom_C(-, R(d)) \to \hom_D(L(-), d) \end{displaymath} For the naturality of $\Psi^{-1}$ in the argument $(-)$ would imply that given $f: c \to R(d)$, we have a commutative square \begin{displaymath} \itexarray{ \hom_C(R(d), R(d)) & \stackrel{\Psi^{-1}_{R(d), d}}{\to} & \hom_D(L(R(d)), d) \\ \hom_C(f, R(d)) \downarrow & & \downarrow \hom_D(L(f), d) \\ \hom_C(c, R(d)) & \underset{\Psi^{-1}_{c, d}}{\to} & \hom_D(L(c), d) } \end{displaymath} Chasing the element $1_{R(d)}$ down and then across, we get $f: c \to R(d)$ and then $\Psi^{-1}_{c, d}(f)$. Chasing across and then down, we get $\varepsilon_d$ and then $\varepsilon_d \circ L(f)$. This completes the verification of the claim. \end{proof} \hypertarget{more_examples}{}\subsubsection*{{More examples}}\label{more_examples} \begin{itemize}% \item For $A$ a [[monoidal category]] and $\mathbf{B}A$ its incarnation as a one-object [[2-category]] (its [[delooping]]), an adjunction in $\mathbf{B}A$ is a [[dualizable object|pair of dual objects]]. \item For $\mathcal{C}$ a [[2-groupoid]], an adjunction in $\mathcal{C}$ is an [[adjoint equivalence]]. \end{itemize} \hypertarget{related_concepts}{}\subsection*{{Related concepts}}\label{related_concepts} \begin{itemize}% \item [[left adjoint]], [[right adjoint]] \item [[duality]] \item [[adjunct]] \item [[dual adjunction]], [[Galois connection]] \item [[monoidal adjunction]] \item [[enriched adjunction]] \item [[adjoint monad]] \item [[heteromorphism]] \item [[adjoint string]] \begin{itemize}% \item [[adjoint triple]], [[adjoint quadruple]] \end{itemize} \item [[ambidextrous adjunction]] \item [[adjoint cylinder]] \item [[adjoint logic]] \end{itemize} \hypertarget{references}{}\subsection*{{References}}\label{references} For the basics, see any text on [[category theory]] (and see the references at \emph{[[adjoint functor]]}), for instance: \begin{itemize}% \item [[Francis Borceux]], Vol 1, Section 3 of \emph{[[Handbook of Categorical Algebra]]} \item \emph{[[geometry of physics -- categories and toposes]] -- \href{https://ncatlab.org/nlab/show/geometry+of+physics+--+categories+and+toposes#Adjunctions}{Adjunctions}} \end{itemize} For some early history and illustrative examples see \begin{itemize}% \item [[Joachim Lambek]], \emph{The Influence of Heraclitus on Modern Mathematics}, In \emph{Scientific Philosophy Today: Essays in Honor of Mario Bunge}, edited by Joseph Agassi and Robert S Cohen, 111--21. Boston: D. Reidel Publishing Co. (1982) (\href{https://link.springer.com/chapter/10.1007/978-94-009-8462-2_6}{doi:10.1007/978-94-009-8462-2\_6}) (more along these lines at \emph{[[objective logic]]}). \end{itemize} The fundamental role of adjunctions in [[logic]]/[[type theory]] originates with the observaiton that [[substitution]] forms an [[adjoint triple]] with [[existential quantification]] and [[universal quantification]]: \begin{itemize}% \item [[William Lawvere]], \emph{Adjointness in Foundations}, (\href{http://www.emis.de/journals/TAC/reprints/articles/16/tr16abs.html}{tac:16}), Dialectica 23 (1969), 281-296 \item [[William Lawvere]], \emph{Quantifiers and sheaves}, Actes, Congr\`e{}s intern, math., 1970. Tome 1, p. 329 \`a{} 334 (\href{http://www.mathunion.org/ICM/ICM1970.1/Main/icm1970.1.0329.0334.ocr.pdf}{pdf}) \end{itemize} Adjunctions in [[programming languages]]: \begin{itemize}% \item Ralf Hinze, \emph{Generic Programming with Adjunctions}, In: J. Gibbons (ed.) \emph{Generic and Indexed Programming} Lecture Notes in Computer Science, vol 7470. Springer 2012 (\href{http://www.cs.ox.ac.uk/ralf.hinze/LN.pdf}{pdf}, \href{http://www.cs.ox.ac.uk/ralf.hinze/SSGIP10/Slides.pdf}{slides} \href{https://doi.org/10.1007/978-3-642-32202-0_2}{doi:10.1007/978-3-642-32202-0\_2}) \item Jeremy Gibbons, Fritz Henglein, Ralf Hinze, Nicolas Wu, \emph{Relational Algebra by Way of Adjunctions}, Proceedings of the ACM on Programming Languages archive Volume 2 Issue ICFP, September 2018 Article No. 86 (\href{https://www.cs.ox.ac.uk/jeremy.gibbons/publications/reladj.pdf}{pdf}, \href{https://dl.acm.org/citation.cfm?doid=3243631.3236781}{doi:10.1145/3236781}) \end{itemize} See also \begin{itemize}% \item Wikipedia, \href{http://en.wikipedia.org/wiki/Adjoint_functors}{Adjoint Functors} \item Catsters, \emph{Adjunctions} (\href{http://www.youtube.com/watch?v=loOJxIOmShE&feature=channel_page}{YouTube}) \end{itemize} \vspace{.5em} \hrule \vspace{.5em} [[!redirects adjoint pair]] [[!redirects adjoint pairs]] [[!redirects adjunctions]] \end{document}