\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*{cocompleteness of varieties of algebras} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{algebra}{}\paragraph*{{Algebra}}\label{algebra} [[!include higher algebra - contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{notation}{Notation}\dotfill \pageref*{notation} \linebreak \noindent\hyperlink{cocompleteness_of_}{Cocompleteness of $\langle\Omega,E\rangle-\mathbf{Alg}$}\dotfill \pageref*{cocompleteness_of_} \linebreak \noindent\hyperlink{cocompleteness_of_algebras_of_monads_over_}{Cocompleteness of algebras of monads over $Set$}\dotfill \pageref*{cocompleteness_of_algebras_of_monads_over_} \linebreak \noindent\hyperlink{over_a_cocomplete_cartesian_closed_category}{Over a cocomplete cartesian closed category}\dotfill \pageref*{over_a_cocomplete_cartesian_closed_category} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} The purpose of this summary is to show that the category $\langle \Omega,E\rangle-\mathbf{Alg}$ (a [[variety of algebras]]) is cocomplete, using the general [[adjoint functor theorem]]. For a different proof in the context of Lawvere theories, see [[algebra over a Lawvere theory|here]]. \hypertarget{notation}{}\subsection*{{Notation}}\label{notation} Let us first fix some notation and recall the required facts on varieties of algebras. We assume the foundations of [[Categories Work]] (ZFC plus one fixed universe). Let $\Omega$ be a small signature consisting only of function symbols (this set is assumed to be equipped with an arity function $\Omega\to \mathbb{N}$), let $\Lambda$ be the set of $\Omega$-terms (also called derived operators), and let $E\subset \Lambda^2$ be a set of identities. Recall that a $\langle\Omega,E\rangle$-algebra is just an $\Omega$-structure (that is, a pair $\langle S,A\rangle$ where $S$ is a set and $A$ is a function $A\colon \Omega\to\bigcup_n S^{S^n}$ which assigns to each operator $\omega$ of arity $n$ a function $\omega_A\colon S^n\to S$) that is a model for $\mu=\lambda$ for any possible interpretation of the variables, for all $\langle\mu,\lambda \rangle\in E$. A morphism $f\colon\langle S,A\rangle\to \langle S',A'\rangle$ is a function $f:S\to S'$ that satisfies $f\circ \omega_A = \omega_{A'}\circ f^n$ for all $n$ and all $\omega\in \Omega$ of arity $n$. The category $\langle \Omega,E\rangle-\mathbf{Alg}$ consists of all small $\langle\Omega,E\rangle$-algebras with the above morphisms as arrows. There is an obvious forgetful functor $G:\langle\Omega,E\rangle-\mathbf{Alg}\to \mathbf{Set}$, and it can be verified directly that this functor creates small limits (in fact, this functor is monadic and hence creates \emph{all} limits). Consequently $\langle \Omega,E\rangle-\mathbf{Alg}$ is small complete. \hypertarget{cocompleteness_of_}{}\subsection*{{Cocompleteness of $\langle\Omega,E\rangle-\mathbf{Alg}$}}\label{cocompleteness_of_} Before proving cocompleteness, some preparations are required. Let us write $C:=\langle\Omega,E\rangle-\mathbf{Alg}$ for short. Let $J$ be a small category. To prove cocompleteness, we will use the general [[adjoint functor theorem]] to construct a left adjoint for the [[diagonal functor]] $\Delta\colon C\to C^J$.\newline Since $C$ is locally small and small-complete and $\Delta$ is continuous (as any diagonal functor), all that is required is a solution set for each $F\in \operatorname{obj}(C^J)$. Recall that given a functor $T\colon C\to X$ and an object $c$ of $C$, an arrow $f\colon x\to T c$ of $X$ is said to \emph{span} $c$ when, for all monic $i\colon c'\to c$, if $f$ factors through $T i\colon T c'\to T c$, then $i$ is an isomorphism. In our current context, we will replace `'monic'` in the above definition by a stricter notion: the underlying function in $\mathbf{Set}$ is injective. \begin{lemma} \label{cwm}\hypertarget{cwm}{} \textbf{(CWM, p. 127)}. In a category $C$, suppose that every set of subobjects of an object $c\in C$ has a pullback. Then if $T\colon C\to X$ preserves all these pullbacks, every arrow $h\colon x\to Tc$ factors as $Tg\circ f$ for some arrow $f\colon x\to Tc'$ which spans $c'$ and some $g\colon c'\to c$. \end{lemma} It can be verified that this lemma still holds (in our context) if, in the definition of subobject and spanning arrow, `'monic'` is replaced by `'the underlying function is injective.'` \begin{lemma} \label{spans}\hypertarget{spans}{} If a cone $\tau\colon F\stackrel{\cdot}{\to}\Delta\langle S,A\rangle$ spans $\langle S,A\rangle$, then $\langle S,A\rangle$ is generated by $\bigcup_j\tau_j(F_j)$. \end{lemma} \begin{proof} Let $\langle S',A'\rangle$ be the subalgebra of $\langle S,A\rangle$ generated by $\bigcup_j\tau_j(F_j)$, and let $i:\langle S',A'\rangle\to\langle S,A\rangle$ be the inclusion. Then we have the cone $\tilde{\tau}\colon F\to\Delta\langle S',A'\rangle$ obtained by restricting the codomains of the $\tau_j$, and $\tau$ splits as $\Delta(i)\circ\tau'$. So $i$ is an isomorphism, and therefore must be the identity. \end{proof} We can now finally prove \begin{uprop} $\langle\Omega,E\rangle-\mathbf{Alg}$ is small cocomplete. \end{uprop} \begin{proof} Let us fix some $F\in C^J$. Define \begin{displaymath} \mathcal{S}:= \{\langle S,A\rangle\in \operatorname{obj}(C)|\exists \tau\colon F\stackrel{\cdot}{\to}\Delta\langle S,A\rangle(\tau \text{ spans }\langle S,A\rangle)\}. \end{displaymath} We note that if $\langle S, A\rangle\in \mathcal{S}$, then by Lemma 2, $|S|\leq|\mathbb{N}\cup X_{S,\tau}\cup \Omega|\leq |\mathbb{N}\cup X\cup \Omega|$, where\newline $X_{S,\tau}:=\bigcup_j\tau_j(F_j)$ for some $\tau:F\stackrel{\cdot}{\to}\Delta\langle S,A\rangle$ that spans $\langle S,A\rangle$, and $X:=\bigsqcup_j F_j$. Since $J$ is small and each $F_j$ is small, so is $X$ (in detail, $X$ may be written as $\cup\operatorname{Im}(j\mapsto\{j\}\times F_j)$, and the image of a function from a $U$-small set into the universe $U$ is $U$-small). Now, as $X$ and $\Omega$ are small, so is $\mathbb{N}\cup X\cup \Omega$, and therefore we see that the underlying sets of all members of $\mathcal{S}$ have cardinal numbers smaller than that of some fixed small set $X'$. It follows that there exists a \emph{small} set $\mathcal{S}'\subseteq \mathcal{S}$ including one element from each isomorphism class of $\mathcal{S}$ (for example, since $\mathcal{S}$ is closed under isomorphisms, each isomorphism class includes an algebra whose underlying set is a subset of $X'$). Now define \begin{displaymath} \mathcal{F}:=\left\{\tau\in\operatorname{arr}(C^J)|\operatorname{dom}(\tau)=F\text{ and }\exists\langle S,A\rangle\in \mathcal{S}'(\operatorname{cod}(\tau)=\Delta\langle S,A\rangle)\right\} \end{displaymath} (the set of all arrows $\tau\colon F\stackrel{\cdot}{\to}\Delta\langle S,A\rangle$ for some $\langle S,A\rangle\in\mathcal{S}'$). To see that $\mathcal{F}$ is small, note that each $\tau\in\mathcal{F}$ is in particular a function $\operatorname{obj}(J)\to\bigcup_{j\in J,\langle S,A\rangle\in\mathcal{S}'}\operatorname{hom}(F_j,\langle S,A\rangle)$, and the set of all such functions is small (as any set of functions between two small sets). Clearly, if for all $\langle S,A\rangle\in C$ the set of subobjects is small-indexed, then it follows from Lemma 1 that $\mathcal{F}$ is the required solution set (since $C$ is small complete and $\Delta$ is continuous), and we are done . But two injections $f,g$ with codomain $\langle S,A\rangle$ are equivalent iff they have the same image in $S$, and hence there is a bijection between the subobjects of $\langle S, A\rangle$ and the subalgebras of $\langle S, A\rangle$, as required (recall that we replaced `'monic'` by `'injective as a function'` in the definition of subobject). \end{proof} \hypertarget{cocompleteness_of_algebras_of_monads_over_}{}\subsection*{{Cocompleteness of algebras of monads over $Set$}}\label{cocompleteness_of_algebras_of_monads_over_} First, the category of algebras of a monad $T$ on $Set$ has coequalizers; see the proof of proposition 3.4 (page 278 of 303) of \href{http://www.case.edu/artsci/math/wells/pub/pdf/ttt.pdf}{Toposes, Triples, and Theories} by Barr and Wells. So we have only to prove the following. \begin{uprop} The algebra category $Set^T$ has coproducts. \end{uprop} \begin{proof} Let $U: Alg_T \to Set$ be the underlying functor, with left adjoint $F$. Given a family of $T$-algebras $\{A_i\}$, there are canonical coequalizers \begin{displaymath} F U F U A_i \stackrel{\overset{\varepsilon F U A_i}{\to}}{\underset{F U \varepsilon A_i}{\to}} F U A_i \to A_i \end{displaymath} and since $F(\sum_i U A_i)$ is the coproduct $\sum_i F U A_i$ in the category of algebras, i.e., since coproducts of free algebras exist, the coproduct of the $A_i$ is constructed as a coequalizer of the pair \begin{displaymath} (\sum_i \varepsilon F U A_i, \sum_i F U \varepsilon A_i): \sum_i F U F U A_i \stackrel{\to}{\to} \sum_i F U A_i \end{displaymath} obtained by summing over $i$ each of the parallel pairs. \end{proof} \hypertarget{over_a_cocomplete_cartesian_closed_category}{}\subsection*{{Over a cocomplete cartesian closed category}}\label{over_a_cocomplete_cartesian_closed_category} If $T$ is a [[finitary monad]] defined on a cocomplete cartesian closed category $X$, then $T$ preserves [[reflexive coequalizer]]s (see the argument \href{http://nlab.mathforge.org/nlab/show/reflexive+coequalizer#applications_4}{here}), and therefore the underlying functor \begin{displaymath} U: X^T \to X \end{displaymath} reflects reflexive coequalizers (since the underlying functor reflects classes of colimits preserved by the monad). Since the parallel pairs in the proof of the preceding proposition are reflexive, we see by adapting that proof that $X^T$ has coproducts. It remains only to prove the following. \begin{ulem} If a category has finite coproducts and reflexive coequalizers, then it has general coequalizers. \end{ulem} \begin{proof} Given a parallel pair $f, g: A \stackrel{\to}{\to} B$, there is a reflexive parallel pair \begin{displaymath} (f, 1_B), (g, 1_B): A + B \stackrel{\to}{\to} B \end{displaymath} whose coequalizer is the coequalizer of the pair $f, g$. \end{proof} See also [[cocompleteness of categories of algebras]]. \end{document}