\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*{ultrafilter} \hypertarget{ultrafilters}{}\section*{{Ultrafilters}}\label{ultrafilters} \noindent\hyperlink{definitions}{Definitions}\dotfill \pageref*{definitions} \linebreak \noindent\hyperlink{categorytheoretic_interpretations}{Category-theoretic interpretations}\dotfill \pageref*{categorytheoretic_interpretations} \linebreak \noindent\hyperlink{ultrafilters_form_a_monad}{Ultrafilters form a monad}\dotfill \pageref*{ultrafilters_form_a_monad} \linebreak \noindent\hyperlink{ultrafilters_and_coproducts}{Ultrafilters and coproducts}\dotfill \pageref*{ultrafilters_and_coproducts} \linebreak \noindent\hyperlink{ultrafilters_and_presheaves}{Ultrafilters and presheaves}\dotfill \pageref*{ultrafilters_and_presheaves} \linebreak \noindent\hyperlink{ultrafilters_and_codensity}{Ultrafilters and codensity}\dotfill \pageref*{ultrafilters_and_codensity} \linebreak \noindent\hyperlink{ultrafilters_and_unbiased_boolean_algebras}{Ultrafilters and unbiased Boolean algebras}\dotfill \pageref*{ultrafilters_and_unbiased_boolean_algebras} \linebreak \noindent\hyperlink{ultrafilters_via_other_algebraic_theories}{Ultrafilters via other algebraic theories}\dotfill \pageref*{ultrafilters_via_other_algebraic_theories} \linebreak \noindent\hyperlink{comphaus}{Algebras of the ultrafilter monad}\dotfill \pageref*{comphaus} \linebreak \noindent\hyperlink{number_of_ultrafilters}{Number of ultrafilters}\dotfill \pageref*{number_of_ultrafilters} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{definitions}{}\subsection*{{Definitions}}\label{definitions} An \textbf{ultrafilter} on a set $S$ is a collection $F$ of [[subset]]s of $S$ satisfying the axiom \begin{displaymath} A \in F \;\Leftrightarrow\; \forall (B_1, \ldots, B_n \in F),\; \exists (x \in A \cap B_1 \cap \cdots \cap B_n) . \end{displaymath} This is the only axiom necessary; from this, you can prove that $F$ is a [[filter]]. Alternatively, if we start by requiring $F$ to be a filter, then we need add only the axiom \begin{displaymath} A \in F \;\Leftrightarrow\; \forall B \in F,\; \exists x \in A \cap B . \end{displaymath} Or if we start by requiring $F$ to be a [[proper filter]], then we need only the $\Leftarrow$ half of this latter axiom. We may also define an ultrafilter to be [[maximal element|maximal]] among the proper filters. This definition generalises from the [[power set]] of $S$ to any [[poset]] $L$; notice that we speak of an ultrafilter \emph{on} $S$ but an ultrafilter \emph{in} $L$. In a distributive [[lattice]], every ultrafilter is [[prime filter|prime]]; the converse holds in a [[Boolean algebra]]. Using [[excluded middle]], it is equivalent to say that a filter $F$ on $S$ is an ultrafilter if, given any subset $A$ of $S$, either $A$ or its complement belongs to $F$; this version generalises to any [[Boolean algebra]]. Another way to define an ultrafilter in a Boolean algebra $L$ is as a Boolean-algebra homomorphism from $L$ to the set $\{\bot,\top\}$ of Boolean [[truth value]]s. Given an element $x$ of a set $S$, the \textbf{principal ultrafilter} (on $S$) at $x$ consists of every [[subset]] of $S$ to which $x$ belongs. An ultrafilter $F$ is \textbf{fixed} if the [[intersection]] of its elements is [[inhabited subset|inhabited]], in which case that intersection must be a [[singleton]] $\{x\}$ and $F$ is the principal ultrafilter at $x$. In contrast, if this intersection [[empty set|empty]], then we call $F$ a \textbf{free ultrafilter}. It is possible, if one denies the [[axiom of choice]], that every ultrafilter of subsets is fixed. In contrast, the [[ultrafilter principle]] (a weak form of the [[axiom of choice]]) states that any proper filter (in any Boolean lattice) may be extended to an ultrafilter. Then any [[infinite set]] has a free proper filter (such as the filter of [[cofinite subset]]s) and so a free ultrafilter. Free ultrafilters are important in [[nonstandard analysis]] and [[model theory]], where the ultrafilter principle seems to be a necessity. \hypertarget{categorytheoretic_interpretations}{}\subsection*{{Category-theoretic interpretations}}\label{categorytheoretic_interpretations} There are in fact many interrelated ways of defining ultrafilters. We present a few here. \hypertarget{ultrafilters_form_a_monad}{}\subsubsection*{{Ultrafilters form a monad}}\label{ultrafilters_form_a_monad} For any set $X$, let $U X$ be the set of ultrafilters on $X$. Principal ultrafilters provide an inclusion $\eta\colon X\to U X$, which turns out to be the unit of a [[monad]] on $Set$, as briefly touched upon above. The multiplication can be described fairly explicitly. First of all, if $A\subseteq X$, define $[A]\subseteq U X$ to be the set of all ultrafilters containing $A$. Then given $\mathcal{F} \in U U X$, i.e. an ultrafilter of ultrafilters, we let $\mu(\mathcal{F}) = \{ A | [A] \in \mathcal{F} \}$; one can verify that this is an ultrafilter and makes $U$ into a monad. This monad is traditionally denoted $\beta$. The ultrafilter monad can also be described as follows. The 2-element set carries a unique structure of [[Boolean algebra]] internal to the category of sets. When thus cast in the role of [[dualizing object]], it induces an adjoint pair of functors \begin{displaymath} (Set \stackrel{P = Set(-, \mathbf{2})^{op}}{\to} Bool^{op}) \; \; \dashv \; \; (Bool^{op} \stackrel{Bool(-, \mathbf{2})}{\to} Set) \end{displaymath} whose corresponding monad $Bool(P -, \mathbf{2})$ is canonically identified with the ultrafilter monad $\beta$. Another description (due to Kennison and Gildenhuys) is that it is the [[codensity monad]] induced from the full embedding $Fin \hookrightarrow Set$ of finite sets into $Set$. See \href{http://www.tac.mta.ca/tac/volumes/28/13/28-13.pdf}{Leinster} for a full account, and some extensions. \hypertarget{ultrafilters_and_coproducts}{}\subsubsection*{{Ultrafilters and coproducts}}\label{ultrafilters_and_coproducts} Observe that the canonical map \begin{displaymath} \beta(X) + \beta(Y) \to \beta(X + Y) \end{displaymath} is an isomorphism (for, each ultrafilter $U$ on $X + Y$ must contain exactly one of $X, Y$; if it contains $X$, then it is generated by the ultrafilter on $X$ given by $\{X \cap A: A \in U\}$). \begin{utheorem} The endofunctor $\beta$ is terminal among endofunctors $Set \to Set$ that preserve finite coproducts. \end{utheorem} A topological proof of this fact has been given by Richter (see references). This gives one universal characterization of the ultrafilter endofunctor. This theorem implies that there is precisely one [[monad]] structure on $\beta$, and that if $F\colon Set \to Set$ is a monad which preserves finite coproducts, then the unique transformation $F \to \beta$ is a morphism of monads. \hypertarget{ultrafilters_and_presheaves}{}\subsubsection*{{Ultrafilters and presheaves}}\label{ultrafilters_and_presheaves} $\backslash$begin\{theorem\} (Garner, 2018, \cite{Garner}.) The category of [[endofunctors]] $Set \to Set$ that preserve [[finite coproducts]] is equivalent to the category of [[presheaves of sets]] on the Blass category $UF$ of ultrafilters. The ultrapower functor with respect to an ultrafilter $U$ corresponds to the representable functor of $U$. $\backslash$end\{theorem\} \hypertarget{ultrafilters_and_codensity}{}\subsubsection*{{Ultrafilters and codensity}}\label{ultrafilters_and_codensity} Another known universal characterization of the ultrafilter monad is via the concept of [[codensity monads]]. (This fact was recently (June 2011) mentioned by [[Tom Leinster]] at the categories list, but it also appears sparsely in the literature; see for instance \emph{Algebraic Theories}, exercise 3.2.12(e).) Let $i: Fin \to Set$ be the usual full inclusion of [[finite sets]] into sets. The restricted [[Yoneda embedding]] \begin{displaymath} Set \stackrel{y^{op}}{\to} (Set^{Set})^{op} \stackrel{(Set^i)^{op}}{\to} (Set^{Fin})^{op}, \end{displaymath} taking a set $X$ contravariantly to the functor $Set(X, i-)$, has a [[right adjoint]] \begin{displaymath} Set^{Fin}(-, i): (Set^{Fin})^{op} \to Set \end{displaymath} (Note: this construction is dual to the familiar [[Kan construction]], which takes as input a functor $F: A \to C$ from a small category to a cocomplete category, and produces as output an adjoint pair whose right adjoint is a functor $C \to Set^{A^{op}}$; see for instance [[nerve and realization]].) The composite of these functors gives a monad $Set \to Set$ which in fact is just the ultrafilter monad: \begin{displaymath} \beta \cong Set^{Fin}(Set(X, i-), Set(1, i-)) \end{displaymath} One way of considering the codensity monad formulation is that the ultrafilter functor is terminal among endofunctors whose restriction to the category of finite sets is the identity functor. This likewise gives the uniqueness of the monad structure, as well as the fact that $\beta$ is the terminal monad that restricts to $1_{Fin}$. \hypertarget{ultrafilters_and_unbiased_boolean_algebras}{}\subsubsection*{{Ultrafilters and unbiased Boolean algebras}}\label{ultrafilters_and_unbiased_boolean_algebras} The codensity monad description is related to the traditional description in terms of Boolean algebras; to see this more clearly, it helps to pass to [[Boolean algebra|unbiased Boolean algebras]], which are equivalent to Boolean algebras. Recall that an unbiased Boolean algebra is a product-preserving functor \begin{displaymath} Fin_+ \to Set \end{displaymath} where $Fin_+$ is the category of [[inhabited set|inhabited]] [[finite set|finite]] [[sets]]. If $X$ is any set, there is an unbiased Boolean algebra \begin{displaymath} Set(X, i_+ -): Fin_+ \to Set \end{displaymath} which may be called the \emph{unbiased power set}. (Here $i_+: Fin_+ \to Set$ denotes the standard inclusion.) We may denote this by $(-)^X$ for short. The inclusion functor $i_+$ is identified with $(-)^1$, and corresponds to the Boolean algebra $2$. \begin{defn} \label{}\hypertarget{}{} An \emph{ultrafilter on} $X$ is a [[natural transformation]] $(-)^X \to (-)^1$ in the category $Prod(Fin_+, Set)$. \end{defn} Of course this is the same as a natural transformation $(-)^X \to (-)^1$ in the usual [[functor category]] $Set^{Fin_+}$. Such transformations are in bijection with transformations \begin{displaymath} Set(X, i-) \to Set(1, i-) \end{displaymath} in $Set^{Fin}$ used in the codensity monad description of ultrafilters. \hypertarget{ultrafilters_via_other_algebraic_theories}{}\subsubsection*{{Ultrafilters via other algebraic theories}}\label{ultrafilters_via_other_algebraic_theories} There are other descriptions of ultrafilters, based on \href{Boolean+algebra#PostAlg}{$k$-valued Post algebras}. Recall the proposition there: \begin{itemize}% \item Let $M_k$ be the monoid of [[endofunctions]] on a $k$-element set, for a finite set of cardinality $k \geq 3$. The forgetful functor $U_k: BoolAlg \to M_k\text{-}Set$ is full and faithful. \end{itemize} Let us take for example $k = 3$. Given a set $X$, the functor $U_3$ takes the unbiased Boolean algebra $Set(X, i_+ -)$ to the set $Set(X, 3) = 3^X$, regarded as a set equipped with the canonical (pointwise) action of $Set(3, 3) = M_3$. It takes an ultrafilter on $X$, i.e., an unbiased Boolean algebra map \begin{displaymath} Set(X, i_+ -) \to Set(1, i_+ -), \end{displaymath} to a morphism of $M_3$-sets \begin{displaymath} Set(X, 3) \to 3. \end{displaymath} The proposition implies that the mapping \begin{displaymath} \beta(X) \to M_3\text{-}Set(3^X, 3) \end{displaymath} is a natural bijection, giving us another way of viewing ultrafilters on $X$, this time involving only \emph{unary} operations. This is of course another codensity monad description in disguise; this time the codensity monad is induced by the full inclusion \begin{displaymath} B M_3 \to Set \end{displaymath} of the category of endofunctions on the 3-element set into the category of sets. The results of this section say that the ultrafilter monad is the codensity monad for this particular inclusion. In a post to the categories list (see references), [[Bill Lawvere]] remarks that large cardinal hypotheses can be formulated as obstructions to similar codensity monads being isomorphic to the identity. For example, the existence of [[infinite sets]] is equivalent (assuming the [[ultrafilter principle]]) to the fact that $\beta$ is not isomorphic to the identity. Or, for the full inclusion \begin{displaymath} M_{\mathbb{N}} \to Set \end{displaymath} the existence of an uncountable [[measurable cardinal]] is equivalent (in ZFC) to the fact that the induced codensity monad is not isomorphic to the identity (i.e., the first uncountable measurable cardinal is where the first ``jump'' takes place). Lawvere gives a couple more examples of a more geometric nature. \hypertarget{comphaus}{}\subsection*{{Algebras of the ultrafilter monad}}\label{comphaus} A theorem due to [[Ernest Manes]] is that the [[Eilenberg-Moore category]] of ultrafilter monad is the category of [[compact Hausdorff spaces]] with its obvious forgetful functor to $Set$. \begin{itemize}% \item In one direction, if $X$ is a compact Hausdorff space, then the corresponding algebra structure \begin{displaymath} \xi: \beta X \to X \end{displaymath} sends an ultrafilter $F$ on $X$ to the unique point in $X$ to which $F$ converges. ($F$ \textbf{converges to} $x$ if the filter of neighborhoods of $x$ is contained in $F$; see [[convergence space]].) \item In the other direction, given an algebra structure $\xi\colon \beta X \to X$, we define a topology by defining a set $U \subseteq X$ to be [[open subset|open]] if \begin{displaymath} \forall_{x \in X} \forall_{F \in \beta X} (x \in U \: and \: \xi(F) = x) \Rightarrow U \in F \end{displaymath} The sense of this is that a set is open if it is a neighborhood of each of its points, and the neighborhood filter of $x$ is the intersection of all ultrafilters that converge to $x$. (The unit condition is that \begin{displaymath} \xi (prin(x)) = x \end{displaymath} so that the neighborhood filter of $x$ is contained in $prin(x)$, i.e., each neighborhood of $x$ contains $x$.) It is not hard to verify that this condition indeed defines a topology. In fact, the topology is compact Hausdorff, essentially because [[compact space|compactness]] is equivalent to having every ultrafilter converge to some point, and [[Hausdorff space|Hausdorffness]] to having that point be unique. \end{itemize} In particular, $\beta X$ can be equipped with a compact Hausdorff topology which is the [[free object|free]] compact Hausdorff space generated by $X$, or equivalently the [[Stone-∞ech compactification]] of the [[discrete topology]] on $X$. The monad $\beta$ also extends to the [[bicategory]] $Rel$ of sets and binary [[relations]]. It was observed by Barr that the [[generalized multicategories]] defined relative to this extension can be identified with arbitrary [[topological spaces]]; see [[relational beta-module]]. Thus, compact Hausdorff spaces are to topological spaces as [[monoidal categories]] are to [[multicategories]]. By exploiting the connection between monads and [[algebraic theory|algebraic theories]], it is possible to define a \textbf{compact Hausdorff object} in any category $C$ with small products, as a product-preserving functor \begin{displaymath} Kl(\beta)^{op} \to C \end{displaymath} where $Kl(\beta)$ is the [[Kleisli category]] (or the full category of compact Hausdorff spaces whose objects are of the form $\beta S$). \hypertarget{number_of_ultrafilters}{}\subsection*{{Number of ultrafilters}}\label{number_of_ultrafilters} If $X$ is a [[finite set]], then all ultrafilters on $X$ are principal and the number of them is the cardinality of $X$. If $X$ is an [[infinite set]] of cardinality $\kappa$, then the number of ultrafilters on $X$ is $2^{2^\kappa}$. A proof may be found at [[independent family of sets]]. \hypertarget{references}{}\subsection*{{References}}\label{references} \begin{itemize}% \item R. B\"o{}rger, \emph{Coproducts and Ultrafilters} , JPAA \textbf{46} (1987) pp.35-47. \item E. Manes, \emph{Algebraic Theories} , Graduate Texts in Mathematics \textbf{26}, Springer-Verlag, 1976. \item G. Richter, Axiomatizing the Category of Compact Hausdorff Spaces, Categories at Work (ed. Herrlich and Porst), Heldermann-Verlag (1991), 199-215. \href{http://www.heldermann.de/R&E/RAE18/ctw12.pdf}{(link)} \item [[Tom Leinster]], \emph{Post to the categories list} . \href{http://permalink.gmane.org/gmane.science.mathematics.categories/6703}{(link)} \item [[Todd Trimble]], \emph{Post to A Dialogue on Infinity} . \href{http://dialinf.wordpress.com/2009/01/21/ultraproducts-the-category-theoretic-way/#comment-219}{(link)} \item [[Bill Lawvere]], \emph{Post to the categories list} . \href{http://facultypages.ecc.edu/alsani/ct99-00%288-12%29/msg00128.html}{(link)} \item [[Tom Leinster]], \emph{Definition of ultrafilter} .(\href{http://golem.ph.utexas.edu/category/2011/07/definitions_of_ultrafilter.html}{blog post}) \item H. Volger, \emph{Ultrafilters, ultrapowers and finiteness in a topos} , JPAA \textbf{6} (1975) pp.345-356. \end{itemize} $\backslash$bibitem\{Garner\} Richard Garner, \emph{Ultrafilters, finite coproducts and locally connected classifying toposes}, \href{https://arxiv.org/abs/1808.08687}{arXiv:1808.08687}. [[!redirects ultrafilter]] [[!redirects ultrafilters]] [[!redirects principal ultrafilter]] [[!redirects principal ultrafilters]] [[!redirects fixed ultrafilter]] [[!redirects fixed ultrafilters]] [[!redirects free ultrafilter]] [[!redirects free ultrafilters]] [[!redirects ultrafilter monad]] [[!redirects ultrafilter monads]] [[!redirects compact Hausdorff object]] [[!redirects compact Hausdorff objects]] [[!redirects compact hausdorff object]] [[!redirects compact hausdorff objects]] [[!redirects compact Hausdorff space object]] [[!redirects compact Hausdorff space objects]] [[!redirects compact hausdorff space object]] [[!redirects compact hausdorff space objects]] [[!redirects compactum object]] [[!redirects compactum objects]] \end{document}