\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*{Boolean algebra} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{category_theory}{}\paragraph*{{$(0,1)$-Category theory}}\label{category_theory} [[!include (0,1)-category theory - contents]] \hypertarget{boolean_algebras}{}\section*{{Boolean algebras}}\label{boolean_algebras} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definitions}{Definitions}\dotfill \pageref*{definitions} \linebreak \noindent\hyperlink{general}{General}\dotfill \pageref*{general} \linebreak \noindent\hyperlink{explicitly}{Explicitly}\dotfill \pageref*{explicitly} \linebreak \noindent\hyperlink{principle_of_duality}{Principle of duality}\dotfill \pageref*{principle_of_duality} \linebreak \noindent\hyperlink{boolean_rings}{Boolean rings}\dotfill \pageref*{boolean_rings} \linebreak \noindent\hyperlink{elements_of_stone_duality}{Elements of Stone duality}\dotfill \pageref*{elements_of_stone_duality} \linebreak \noindent\hyperlink{homomorphisms}{Homomorphisms}\dotfill \pageref*{homomorphisms} \linebreak \noindent\hyperlink{definition_via_lawvere_theories}{Definition via Lawvere theories}\dotfill \pageref*{definition_via_lawvere_theories} \linebreak \noindent\hyperlink{unbiased_boolean_algebras}{Unbiased Boolean algebras}\dotfill \pageref*{unbiased_boolean_algebras} \linebreak \noindent\hyperlink{PostAlg}{$k$-valued Post algebras}\dotfill \pageref*{PostAlg} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} A \emph{Boolean algebra} or \emph{Boolean [[lattice]]} is an algebraic structure which models classical [[propositional calculus]], roughly the fragment of the logical calculus which deals with the basic logical connectives ``and'', ``or'', ``implies'', and ``not''. \hypertarget{definitions}{}\subsection*{{Definitions}}\label{definitions} \hypertarget{general}{}\subsubsection*{{General}}\label{general} There are many known ways of defining a \textbf{Boolean algebra} or \textbf{Boolean lattice}. Here are just a few: \begin{itemize}% \item A Boolean algebra is a [[complement|complemented]] [[distributive lattice]]. \item A Boolean algebra is a [[Heyting algebra]] $H$ satisfying the [[law of excluded middle]], which means either \begin{displaymath} \neg \neg = id: H \to H \end{displaymath} or (equivalently) \begin{displaymath} \forall_{x \in H} x \vee \neg x = \top \end{displaymath} \item A Boolean algebra is a [[lattice]] $L$ equipped with a function $\neg: L \to L$ satisfying \begin{displaymath} a \wedge b \leq c \qquad iff \qquad a \leq \neg b \vee c \end{displaymath} \end{itemize} \hypertarget{explicitly}{}\subsubsection*{{Explicitly}}\label{explicitly} There are even two explicit definitions: [[order theory|order-theoretic]] and algebraic. A \textbf{Boolean lattice} is a [[poset]] such that: \begin{itemize}% \item there is an element $\top$ (a [[top element]]) such that $x \leq \top$ always holds; \item there is an element $\bot$ (a [[bottom element]]) such that $\bot \leq x$ always holds; \item given elements $a$ and $b$, there is an element $a \wedge b$ (a [[meet]] of $a$ and $b$) such that $x \leq a \wedge b$ holds iff $x \leq a$ and $x \leq b$; \item given elements $a$ and $b$, there is an element $a \vee b$ (a [[join]] of $a$ and $b$) such that $a \vee b \leq x$ holds iff $a \leq x$ and $b \leq x$; \item given an element $a$, there is an element $\neg{a}$ (a [[complement]] of $a$) such that $a \wedge \neg{a} \leq \bot$ and $\top \leq a \vee \neg{a}$; \item given elements $a$, $b$, and $c$, we have $a \wedge (b \vee c) \leq (a \wedge b) \vee (a \wedge c)$. \end{itemize} Although we don't say so, we can prove that $\top$, $\bot$, $a \wedge b$, $a \vee b$, and $\neg{a}$ are unique; this makes it more clear what the last two axioms actually mean. Notice that a poset carries at most one Boolean algebra structure, making it [[stuff, structure, property|property-like structure]]. (The same is true of [[Heyting algebra]] structure.) Alternatively, a \textbf{Boolean algebra} is a [[set]] equipped with elements $\top$ and $\bot$, binary operations $\wedge$ and $\vee$, and a unary operation $\neg$, satisfying these identities: \begin{enumerate}% \item $a \wedge \top = a$, \item $a \vee \bot = a$, \item $a \wedge (b \wedge c) = (a \wedge b) \wedge c$, \item $a \vee (b \vee c) = (a \vee b) \vee c$, \item $a \wedge b = b \wedge a$, \item $a \vee b = b \vee a$, \item $a \wedge (a \vee b) = a$, \item $a \vee (a \wedge b) = a$, \item $a \wedge (b \vee c) = (a \wedge b) \vee (a \wedge c)$, \item $a \vee (b \wedge c) = (a \vee b) \wedge (a \vee c)$, \item $a \wedge \neg{a} = \bot$, \item $a \vee \neg{a} = \top$. \end{enumerate} We can recover the poset structure: $a \leq b$ iff $a \wedge b = a$. There is a certain amount of redundancy or overkill in this axiom list; for example, it suffices to give just axioms 1, 2, 5, 6, 9, 10, 11, 12. A very distilled algebraic definition was conjectured by Herbert Robbins: any set equipped with a binary operation $\vee$ and a unary operation $\neg$ obeying \begin{enumerate}% \item associativity: $a\vee \left(b\vee c\right)=\left(a\vee b\right)\vee c$ \item commutativity: $a \vee b = b \vee a$ \item the Robbins equation: $\neg \left(\neg \left(a\vee b\right)\vee \neg \left(a\vee \neg b\right)\right)=a$ \end{enumerate} is a Boolean algebra. William McCune proved the conjecture in 1996, using the automated theorem prover EQP. A short proof was found by Allan Mann (see the references). \hypertarget{principle_of_duality}{}\paragraph*{{Principle of duality}}\label{principle_of_duality} However it is defined, the theory of Boolean algebras is \textbf{self-dual} in the sense that for any sentence stated in the language $(\leq, \wedge, \vee, \bot, \top, \neg)$, the sentence is a theorem in the theory of Boolean algebras iff the dual sentence, obtained by interchanging $\wedge$ and $\vee$, $\bot$ and $\top$, and replacing $\leq$ by the opposite relation $\leq^{op}$, is also a theorem. This incredibly useful result can be rephrased in several ways; for example, if a poset $B$ is a Boolean algebra, then so is its opposite $B^{op}$. \hypertarget{boolean_rings}{}\paragraph*{{Boolean rings}}\label{boolean_rings} A [[Boolean ring]] is a [[ring]] (with [[identity]]) for which every element is idempotent: $x^2 = x$. Notice that from \begin{displaymath} x^2 + 1 = x + 1 = (x + 1)^2 = x^2 + 2 x + 1 \end{displaymath} the equation $2 x = 0$ follows. Also notice that commutativity comes for free, since \begin{displaymath} x^2 + y^2 = x + y = (x + y)^2 = x^2 + x y + y x + y^2 \end{displaymath} whence $x y + y x = 0 = x y + x y$. Parallel to the way free commutative rings are polynomial rings, which are free $\mathbb{Z}$-modules generated from free commutative monoids, the free Boolean ring on $n$ generators may be constructed, \`a{} la Beck [[distributive law]]s, as the free $\mathbb{Z}_2$-vector space $\mathbb{Z}_2[M_n]$ generated from the commutative idempotent monoid $M_n$ on $n$ generators. The latter can be identified with the power set on an $n$-element set with multiplication given by intersection, and $\mathbb{Z}_2[M_n]$ therefore has $2^{2^n}$ elements. The theory of Boolean algebras is equivalent to the theory of Boolean rings in the sense that their categories of models are equivalent. Given a Boolean ring, we define the operation $\wedge$ to be multiplication, and the operation $\vee$ by $x \vee y = x + y + x y$, and the operation $\neg$ by $\neg x = 1 + x$. The relation $x \leq y$ may be defined by the condition $x y = x$. In the other direction, given a Boolean algebra, we may define addition by [[symmetric difference]]: $x + y = (x \vee y) \wedge \neg(x \wedge y)$. According to this equivalence, the free Boolean ring on $n$ generators may be identified with the Boolean algebra $P(2^n)$, the power set on a set with $2^n$ elements. \hypertarget{elements_of_stone_duality}{}\subsubsection*{{Elements of Stone duality}}\label{elements_of_stone_duality} The equivalence of Boolean rings and Boolean algebras was exploited by [[Marshall Stone]] to give his theory of [[Stone duality]], in which every Boolean algebra $B$ is a Boolean algebra of sets; more particularly the Boolean algebra of clopen (closed and open) sets of a topological space $Spec(B)$, the \textbf{Stone space} of $B$. The notation intentionally suggests that the Stone space is the underlying space of the [[spectrum (geometry)|spectrum]] of $B$ as Boolean ring, taking ``spectrum'' in the sense of algebraic geometry. A Stone space may be characterized abstractly as a [[topological space]] that is [[compact space|compact]], [[Hausdorff space|Hausdorff]], and [[totally disconnected space|totally disconnected]]. Stone duality asserts among other things that every such space is the [[prime spectrum]] of the Boolean algebra of its clopen subsets. \begin{lemma} \label{aremax}\hypertarget{aremax}{} All prime ideals in $B$ are kernels $\phi^{-1}(0)$ of homomorphisms $\phi: B \to \mathbf{2}$ (and thus are maximal ideals, in bijective correspondence with [[ultrafilters]] $\phi^{-1}(1)$ in $B$). \end{lemma} \begin{proof} If $p$ is a prime ideal in a Boolean ring, then $B/p$ is an integral domain in which every element $x$ is idempotent: $x(x-1) = 0$. Hence $B/p = \{0, 1\}$. \end{proof} (To be continued at some point.) \hypertarget{homomorphisms}{}\subsection*{{Homomorphisms}}\label{homomorphisms} Any [[lattice]] homomorphism automatically preserves $\neg$ and is therefore a Boolean algebra homomorphism. Boolean algebras and Boolean algebra homomorphisms form a [[concrete category]] [[BoolAlg]]. \hypertarget{definition_via_lawvere_theories}{}\subsection*{{Definition via Lawvere theories}}\label{definition_via_lawvere_theories} The concrete category $U: BoolAlg \to Set$ is [[monadic functor|monadic]]: the category of Boolean algebras is the [[Eilenberg-Moore category|category of algebras]] for a [[finitary monad]], or equivalently it is the category of algebras for a [[Lawvere theory]]. In this case the Lawvere theory is very easily described. The Lawvere theory is equivalent to the category opposite to the category of finitely generated free Boolean algebras, or of finitely generated free Boolean rings. As we observed earlier, the free Boolean algebra on $n$ elements is therefore isomorphic to $P(2^n)$, the [[power set]] of a $2^n$-element set. Applying a ``toy'' form of [[Stone duality]], the opposite of the category of finitely generated free Boolean algebras is equivalent to the category of finite sets of cardinality $2^n$. Hence the Lawvere theory is identified with the category $Fin_{2^n}$ of finite sets of cardinality $2^n$, and the category of Boolean algebras is equivalent to the category of product-preserving functors \begin{displaymath} Fin_{2^n} \to Set. \end{displaymath} \hypertarget{unbiased_boolean_algebras}{}\subsection*{{Unbiased Boolean algebras}}\label{unbiased_boolean_algebras} Observe that the [[Cauchy complete category|Cauchy completion]] of $Fin_{2^n}$ is $Fin_+$, the category of nonempty finite sets. (Indeed, every nonempty finite set is the retract of some set with $2^n$ elements.) \begin{uprop} Let $C$ be a category with finite products, and let $i: C \hookrightarrow \widebar{C}$ be its Cauchy completion. Then $\widebar{C}$ has finite products, and the category of product-preserving functors $\widebar{C} \to Set$ is equivalent to the category of product-preserving functors $C \to Set$, via restriction along $i$. \end{uprop} By this proposition, the category of Boolean algebras is equivalent to the category of product-preserving functors \begin{displaymath} Fin_+ \to Set \end{displaymath} We call a product-preserving functor $Fin_+ \to Set$ an \textbf{unbiased Boolean algebra}. The idea here is that the usual concrete way of viewing Boolean algebras is inherently biased towards sets of cardinality $2^n$. Passing to the Cauchy completion removes that bias. \hypertarget{PostAlg}{}\subsection*{{$k$-valued Post algebras}}\label{PostAlg} Alternatively, we could apply the previous proposition in reverse and view Boolean algebras as a concrete category in an entirely different way. For example, the Lawvere theory given by the category of finite sets of cardinality $3^n$ has the same Cauchy completion $Fin_+$. Therefore, the category of product-preserving functors \begin{displaymath} X: Fin_{3^n} \to Set \end{displaymath} is also equivalent to the category of Boolean algebras. Only here, the appropriate underlying set functor sends $X$ to $X(3)$, the value at the generator $3$. Similarly, for each fixed cardinality $k \gt 1$, there is a Lawvere theory $Fin_{k^n}$, and they all lead to Boolean algebras as the category of algebras for the theory. The difference is in the associated monadic functor, $U_k \colon Prod(Fin_{k^n}, Set) \to Set$. This concrete category is perhaps better known as the category of \textbf{$k$-valued Post algebras} (and is better known still when the letter $k$ is replaced by $n$). A curious phenomenon that holds for each $k \geq 3$ (but \textbf{not} for $k = 2$) is as follows. Let $Un_k$ be the Lawvere subtheory of $Fin_{k^n}$ generated by just the unary operations, so that the algebras of $Un_k$ are identified with sets equipped with actions of the monoid $M_k = \hom(k, k)$ (endofunctions of the $k$-element set under composition), aka $M_k$-sets. By restriction of operations, there is an evident forgetful functor \begin{displaymath} BoolAlg \simeq PostAlg_k \to M_k\text{-}Set \end{displaymath} \begin{uprop} For each $k \geq 3$, the forgetful functor from $BoolAlg \to$ $M_k$-$Set$ realizes $BoolAlg$ as a \emph{full} subcategory of $M_k$-Set. \end{uprop} \hypertarget{references}{}\subsection*{{References}}\label{references} \begin{itemize}% \item Allan Mann, A complete proof of the Robbins conjecture. (\href{http://math.colgate.edu/~amann/MA/robbins_complete.pdf}{pdf}) \end{itemize} [[!redirects Boolean algebra]] [[!redirects Boolean algebras]] [[!redirects boolean algebra]] [[!redirects boolean algebras]] [[!redirects Boolean lattice]] [[!redirects Boolean lattices]] [[!redirects boolean lattice]] [[!redirects boolean lattices]] \end{document}