數學的分支範疇論中，單子（英語：monad），又稱三元組（triple, triad）、標準構造（standard construction）、基本構造（fundamental construction），是一個內函子（即由某範疇映到自身的函子），連同滿足特定連貫條件的兩個自然變換，三者構成的整體。單子用於研究互為伴隨的函子對，並將偏序集上的閉包算子推廣到任意範疇。



導論與定義

單子是一類內函子（連同其他資訊）。例如，若 $F$ 和 $G$ 為一對伴隨函子， $F$ 為 $G$ 的左伴隨，則複合 $G\circ F$ 是單子。若 $F$ 與 $G$ 互為逆函子，則對應的單子是恆等函子。一般而言，伴隨關係並不等同範疇的等價，而可以聯繫不同性質的範疇。為了探討伴隨關係所「保持」的性質，數學家研究單子論。理論的另一半，即藉考慮 $F\circ G$ ，以研究伴隨關係，是單子論的對偶理論。該類函子稱為餘單子（英語：comonad）。

嚴格定義

本條目中， ${\mathcal {C}}$ 皆表示某範疇。 ${\mathcal {C}}$ 上的單子是函子 $T:{\mathcal {C}}\to {\mathcal {C}}$ ，連同兩個自然變換，分別是單位 $\eta :1_{\mathcal {C}}\to T$ （其中 $1_{\mathcal {C}}$ 是 ${\mathcal {C}}$ 上的恆等函子）與乘法 $\mu :T^{2}\to T$ （其中 $T^{2}$ 是複合 $T\circ T$ ，亦是 ${\mathcal {C}}$ 到 ${\mathcal {C}}$ 的函子），且要滿足下列連貫條件：

 
* $\mu \circ T\mu =\mu \circ \mu T$ （左右皆為 $T^{3}\to T$ 的自然變換）。此處 $T\mu $ 與 $\mu T$ 經水平複合而得。

* $\mu \circ T\eta =\mu \circ \eta T=1_{T}$ （兩者皆為 $T\to T$ 的自然變換）。此處 $1_{T}$ 表示由函子 $T$ 到自身的恆等自然變換。

以上兩式，亦可以下列交換圖複述：

記號 $T\mu $ 與 $\mu T$ 的含義，參見自然變換，又或考慮以下更具體的寫法，不用水平複合記號，並將各函子作用在任意物件 $X$ 上：

定義中，若將 $\mu $ 當成么半群的乘法，則第一條公理類似么半群的乘法結合律，而第二條公理類似單位元的存在性（由 $\eta $ 給出）。準確而言， ${\mathcal {C}}$ 上的單子，可以等價地定義為 ${\mathcal {C}}$ 的內函子範疇 $\mathbf {End} _{\mathcal {C}}$ 中的么半群。（該範疇的物件是 $C$ 上的內函子，而態射是內函子間的自然變換，么半結構來自內函子的複合運算。）如此，單子不僅在形式上具有與么半群相似的公理，甚而單子就是么半群的特例。

冪集單子

冪集單子 ${\mathcal {P}}$ 是集合範疇 $\mathbf {Set} $ 上的單子。其定義中，函子 $T$ 取為冪集運算，即 $T(A)$ 為集合 $A$ 的冪集，而對於函數 $f:A\to B$ ， $T(f)$ 將 $A$ 的子集映至其像集，即 $T(f)(A')=f[A']$ 。對每個集合 $A$ ，有函數 $\eta _{A}:A\to T(A)$ ，對每個元素 $a\in A$ 映至單元子集 $\{a\}$ ， 並有函數

　
: $\mu _{A}\colon T(T(A))\to T(A),$

將 $A$ 的若干個子集構成的族，映至該些子集的並集。以上是冪集單子的定義。

兩個單子的複合，未必為單子。舉例，冪集單子 ${\mathcal {P}}$ 的二次疊代 ${\mathcal {P}}\circ {\mathcal {P}}$ ，無法配備單子結構。

餘單子

取上節定義的範疇論對偶，便是餘單子（或餘三元組）的定義。簡單複述，範疇 ${\mathcal {C}}$ 上的餘單子，是對偶範疇 $C^{\mathrm {op} }$ 上的單子。所以，餘單子是由 ${\mathcal {C}}$ 到 ${\mathcal {C}}$ 的某個函子 $U$ ，連同餘單位與餘乘法（英語：counit and comultiplication）兩個自然變換，組成的整體，而三者所要滿足的公理，是將原定義中所有態射反轉方向而得。

單子之於么半群，如同餘單子之於餘么半群。每個集合皆是餘么半群，且僅有唯一一種方式，所以抽象代數中，較少考慮餘么半群。然而，在線性代數中，向量空間範疇（配備張量積）的餘么半群較為重要，以餘代數之名為人所知。

歷史

單子的概念最早由羅傑・戈德芒於 1958 年提出，當時稱為「標準構造」（英語：standard construction）。實際上，該書用到的是餘單子，用作解決某個層餘調問題。

其後，單子又出現於彼得・胡伯（Peter Huber）對範疇同倫的研究中。該論文包含由任意一對伴隨函子得出單子的證明。

1965 年，海因里希・克萊斯利，及塞繆爾・艾倫伯格、約翰・柯曼・摩爾二人分別獨立證明反向的結論，即每個單子皆可由某對伴隨函子產生。後一篇論文中，將單子稱為「三元組」。

1963 年，威廉・洛維爾提出泛代數的範疇論。1966 年，弗雷德・林頓（Fred Linton）將該理論用單子的語言表達。單子本身來自拓撲方面的考量，事先似乎比洛維爾的理論更難處理，但已成為用範疇論語言闡述泛代數的方法中，較常見的一個。現今常用的英文名稱 monad 是 1971 年由桑德斯・麥克蘭恩在《現職數學家用的範疇》引入，以其類似單子論中的同名哲學概念，即某種能生出其他所有事物的實體。

1980 年代，歐金尼奧・莫吉在理論計算機科學中，利用單子，為電腦程式的若干方面建立模型，包括例外處理、邊界情況。此後，有多種函數式編程語言仔細實作此想法，作為一種基本規律，同樣稱為單子。2001 年，若干數學家注意到，用單子研究程式標誌語意的方法，與洛維爾的理論，兩者之間有關聯。。此為代數與語義間的聯繫，是後來活躍的研究課題。



例子

伴隨的複合

若有伴隨關係

　
: $F:{\mathcal {C}}\rightleftarrows {\mathcal {D}}:G$

（即 $F$ 為 $G$ 的左伴隨，下同），則由此有 ${\mathcal {C}}$ 上的單子。此普遍的構造，取內函子為複合

　
: $T=G\circ F,$

而單位自然變換來自伴隨的單位 $\eta :\operatorname {id} _{\mathcal {C}}\to G\circ F$ ，乘法自然變換源自伴隨的餘單位 $\varepsilon $ ：

　
: $T^{2}=G\circ F\circ G\circ F\xrightarrow {G\circ \varepsilon \circ F} G\circ F=T.$

反之，給定單子，可以明確找回一對伴隨函子，使單子為該對伴隨函子的複合。此構造用到下節定義的 $T$ 代數的艾倫伯格－摩爾範疇 $C^{T}$ 。

兩重對偶

給定域 $k$ ，雙重對偶單子（英語：double dualisation monad）源自伴隨關係

　
: $(-)^{*}:\mathbf {Vect} _{k}\rightleftarrows \mathbf {Vect} _{k}^{\mathrm {op} }:(-)^{*},$

其中兩個函子 $(-)^{*}$ 皆將 $k$ 向量空間 $V$ 映至對偶空間 $V^{*}:=\operatorname {Hom} (V,k)$ ，所以對應的單子將向量空間 $V$ 映至雙對偶 $V^{}$ 。Kock (1970) 對此有更廣泛的討論。

偏序集的閉包算子

偏序集 $(P,\leq )$ 可以視為特殊的範疇，任意兩件物件之間有最多一支態射，且 $x$ 到 $y$ 有態射若且唯若偏序中 $x\leq y$ 。於是，偏序集之間的函子，即是保序映射，而伴隨函子對，則組成兩偏序集間的伽羅瓦連接，相應的單子是伽羅華連接的閉包算子。

自由遺忘伴隨

又舉例，設 $G$ 為群範疇 $\mathbf {Grp} $ 至集合範疇 $\mathbf {Set} $ 的遺忘函子，將群映至其基集，又設 $F$ 為自由函子，由 $\mathbf {Set} $ 到 $\mathbf {Grp} $ ，則 $F$ 是 $G$ 的左伴隨。此時，對應的單子 $T=G\circ F$ 的作用是，輸入一個集合 $X$ ，輸出自由群 $F(X)$ 的基集，即字母取自 $\{x,x^{-1}:x\in X\}$ ，且無相鄰兩個字母互為逆元的字串的集合。

該單子的單位變換，由包含映射

　
: $\eta _{X}:X\rightarrow T(X)$

給出，該包含映射將 $X$ 的任意元素，看成僅得一個字元的字串，從而是 $T(X)$ 的元素。最後，單子的乘法

　
: $\mu _{X}:T(T(X))\rightarrow T(X)$

是串接或「壓平」運算，將若干條字串組成的串，映至該串中所有字串前後連接而成的一條字串。至此描述完單子的兩個自然變換。

前述例子中，自由群可以推廣至其他種類的代數結構，即泛代數意義下的任意一簇代數。如此，每類代數定義了集合範疇上的一個單子。更重要的是，該類代數的範疇，可從單子找回，即單子的艾倫伯格－摩爾代數範疇，故單子可視為泛代數之簇的推廣。

另外，尚有一個單子源自伴隨關係。在向量空間範疇 $\mathbf {Vect} $ 上，若 $T$ 表示將向量空間 $V$ 映至其張量代數 $T(V)$ 的內函子，則相應有單位自然變換將 $V$ 嵌入到其張量代數，並有乘法自然變換，在 $V$ 處的分量是態射 $T(T(V))\to T(V)$ ，將張量積之張量積展開化簡。

餘密度單子

只要滿足某些不強的條件，無左伴隨的函子也可以產生單子，稱為餘密度單子。例如，從有限集合範疇 $\mathbf {FinSet} $ 到集合範疇 $\mathbf {Set} $ 的包含函子無法配備左伴隨，但其餘密度單子定義在 $\mathbf {Set} $ 上，將任意集合 $X$ 映至其上所有超濾子的集合 $\beta X$ 。 類似例子見於 Leinster (2013)。



單子的代數

給定範疇 ${\mathcal {C}}$ 上的單子 $(T,\eta ,\mu )$ ，可以考慮 ${\mathcal {C}}$ 中的 ${\boldsymbol {T}}$ 代數物件。 $T$ 在該些物件上的作用，與單子的單位與乘法相容。具體而言， ${\boldsymbol {T}}$ 代數 $(x,h)$ 是 ${\mathcal {C}}$ 中的物件 $x$ ，連同態射 $h:Tx\to x$ （稱為該代數的結構映射），使得圖

皆可交換。

 $T$ 代數間的態射 $f:(x,h)\to (x',h')$ 是 ${\mathcal {C}}$ 中的態射 $f:x\to x'$ ，且要使

可交換。於是， $T$ 代數及之間的態射組成範疇，稱為艾倫伯格－摩爾範疇（英語：Eilenberg–Moore category），記為 ${\mathcal {C}}^{T}$ .

例子

自由群單子上的代數

若 $T$ 為前述自由群單子，則 $T$ 代數是集合 $X$ ，連同由 $X$ 生成的自由群 $F(X)$ 到 $X$ 的映射（求值，evaluation），且該映射要滿足結合律與單位元的公理。換言之， $X$ 本身就具有群結構，而 $F(X)$ 至 $X$ 的映射，是將字串按 $X$ 的群乘法，計算所得的結果

分佈單子上的代數

另一個例子是集合範疇上的分佈單子（英語：distribution monad） ${\mathcal {D}}$ ，其將集合 $X$ 映至其上所有有限支撐的概率分佈的集合。該等分佈，是函數 $f:X\to [0,1]$ ，僅於有限多個元素 $x\in X$ 處取值非零，而各元素處取值之和為 $1$ 。以符號表示，

　
: ${\mathcal {D}}(X)=\left\{f:X\to [0,1]:{\begin{matrix}\#{\text{supp}}(f)<+\infty ,\\\sum _{x\in X}f(x)=1\end{matrix}}\right\}.$

可由定義證明，分佈單子上的代數，等同於凸集，即集合要配備二元運算 $+_{r}$ （對每個 $r\in [0,1]$ ），滿足的公理比照歐氏空間中，凸組合 $(x,y)\mapsto rx+(1-r)y$ 具備的性質。

對稱單子上的代數

另一個有用的單子，是交換環 $R$ 的模範疇 $\mathbf {Mod} _{R}$ 上的對稱代數單子

　
: ${\text{Sym}}^{\bullet }(-):\mathbf {Mod} _{R}\to \mathbf {Mod} _{R}$

將 $R$ 模 $M$ 映到各階對稱張量冪的直和

　
: ${\text{Sym}}^{\bullet }(M)=\bigoplus _{k=0}^{\infty }{\text{Sym}}^{k}(M)$

其中 ${\text{Sym}}^{0}(M)=R$ 。例如， ${\text{Sym}}^{\bullet }(R^{\oplus n})\cong R[x_{1},\ldots ,x_{n}]$ ，左右兩邊作為 $R$ 模同構。如此，對稱代數單子上的代數，是交換 $R$ 代數。類似地，也有反對稱張量單子 ${\text{Alt}}^{\bullet }(-)$ 與全張量單子 $T^{\bullet }(-)$ ，相應的代數分別是反對稱 $R$ 代數與自由 $R$ 代數，故

　
: ${\begin{aligned}{\text{Alt}}^{\bullet }(R^{\oplus n})&=R(x_{1},\ldots ,x_{n}),\\{\text{T}}^{\bullet }(R^{\oplus n})&=R\langle x_{1},\ldots ,x_{n}\rangle ,\end{aligned}}$

前者是 $R$ 上添加 $n$ 個生成元的自由反對稱代數，而後者則是 $n$ 個生成元的自由代數。

E∞環譜中的交換代數

對於可交換 $\mathbb {S} $ 代數，亦有類似的構造，對於可交換 $\mathbb {S} $ 代數 $A$ ，對應單子上的代數是可交換的 $A$ 代數。若 $\mathbf {Mod} _{A}$ 表示 $A$ 模的範疇，則可以考慮函子 $\mathbb {P} :\mathbf {Mod} _{A}\to \mathbf {Mod} _{A}$ ，定義為

　
: $\mathbb {P} (M)=\bigvee _{j\geq 0}M^{j}/\Sigma _{j},$

其中

　
: $M^{j}=\underbrace {M\wedge _{A}\cdots \wedge _{A}M} _{j}.$

此函子是單子，而由該單子上的代數範疇，可以得到可交換 $A$ 代數的範疇 ${\mathcal {C}}_{A}$ 。



單子與伴隨

如前文所述，任何伴隨關係皆產生單子。反之，每個單子 $T$ 皆可由某個伴隨關係產生，即原範疇與 $T$ 代數的艾倫伯格－摩爾範疇之間的自由－遺忘伴隨

　
: $T(-):{\mathcal {C}}\rightleftarrows {\mathcal {C}}^{T}:F.$

其中，左伴隨 $T(-)$ 將 ${\mathcal {C}}$ 的物件 $x$ 映到自由 $T$ 代數 $T(x)$ ，右伴隨 $F$ 則將 $T$ 代數 $(x,h)$ 遺忘掉 $h$ ，變回 $x$ 。然而，通常有多組不同的伴隨關係產生同樣的單子，該些伴隨關係組成範疇 $\mathbf {Adj} ({\mathcal {C}},T)$ ：物件是伴隨關係 $(F,G,\eta ,\varepsilon )$ 使得 $(GF,\eta ,G\varepsilon F)=(T,\eta ,\mu )$ ，而態射是在 ${\mathcal {C}}$ 一側為恆等函子的伴隨關係態射。如此，艾倫伯格－摩爾範疇的自由－遺忘伴隨 ${\mathcal {C}}^{T}$ 是 $\mathbf {Adj} ({\mathcal {C}},T)$ 的終物件，而始物件是克萊斯利範疇 ${\mathcal {C}}_{T}$ ，定義為 ${\mathcal {C}}^{T}$ 中的自由 $T$ 代數組成的完全子範疇，即僅包含形如 $T(x)$ 的 $T$ 代數，其中 $x$ 歷遍 ${\mathcal {\mathcal {C}}}$ 的物件。

單子伴隨

設有伴隨關係 $(F:{\mathcal {C}}\to {\mathcal {D}},G:{\mathcal {D}}\to {\mathcal {C}},\eta ,\varepsilon )$ ，對應單子為 $T$ ，則函子 $G$ 可分解為

　
: ${\mathcal {D}}\xrightarrow {\tilde {G}} {\mathcal {C}}^{T}\xrightarrow {F} {\mathcal {C}},$

其中 $F$ 是遺忘函子。換言之，對 ${\mathcal {D}}$ 中任意物件 $Y$ ，都能賦予 $G(Y)$ 自然的 $T$ 代數結構。若分解式中，首個函子 ${\tilde {G}}$ 給出 ${\mathcal {D}}$ 與 $C^{T}$ 兩範疇間的等價，則形容該伴隨關係為單子的（英語：monadic）。後亦引申用作形容函子，若函子 $G:{\mathcal {D}}\to {\mathcal {C}}$ 有左伴隨 $F$ ，且該伴隨關係為單子的，則 $G$ 亦稱為單子的。例如，群範疇與集合範疇間的自由－遺忘伴隨是單子的，因為相應單子 $T$ 上的 $T$ 代數是群（見前文）。一般而言，若有伴隨關係 $(F:{\mathcal {C}}\to {\mathcal {D}},G:{\mathcal {D}}\to {\mathcal {C}},\eta ,\varepsilon )$ 為單子的，則單從 ${\mathcal {C}}$ 的物件及其上的 $T$ 作用，已足以重組出 ${\mathcal {D}}$ 的物件。

貝克單子性定理

貝克單子性定理給出伴隨關係在何種充要條件下為單子的。定理有以下簡化版：

> 
> 若滿足以下三項條件：
> 
>  
* $G$ 為保守函子，換言之， $G$ 反映同構（英語：reflects isomorphisms），即對 ${\mathcal {D}}$ 中每一支態射，其為同構當且僅當在 $G$ 作用下的像為 ${\mathcal {C}}$ 中的同構；
> 
* ${\mathcal {C}}$ 有餘等化子；
> 
* $G$ 保餘等化子；
> 
> 則 $G$ 為單子的。
> 
> 

例如，由緊豪斯多夫空間範疇 $\mathbf {CHaus} $ 到集合範疇 $\mathbf {Set} $ 的遺忘函子是單子的。然而，由任意拓撲空間範疇 $\mathbf {Top} $ 到集合範疇 $\mathbf {Set} $ 的遺忘函子則並非單子的，而定理中，保守函子的條件不成立，因為有非緊或非豪斯多夫空間，之間存在連續雙射，但不為同胚。
貝克定理有對偶版本，刻劃餘單子伴隨關係，對拓撲斯論及有關下降的代數幾何課題有用。

餘單子的伴隨關係，首先有下列例子：

　
: $-\otimes _{A}B:\mathbf {Mod} _{A}\rightleftarrows \mathbf {Mod} _{B}:F,$

其中 $A,B$ 皆為交換環，左伴隨用到的張量積 $\otimes _{A}$ 的定義中，選定了環同態 $A\to B$ ，而右伴隨 $F$ 是遺忘函子。根據貝克定理，當且僅當 $B$ 為忠實平坦 $A$ 模時，該伴隨為餘單子的。所以，可將配備下降數據（英語：descent datum，即源自伴隨關係的餘單子的作用）的 $B$ 模，降成 $A$ 模。所得的忠實平坦下降理論，廣泛應用於代數幾何。



用途

函數式編程中，會使用單子表達某類（有時有副作用的）順序式計算，見單子 (函數式編程)。

範疇論邏輯中，藉閉包算子、內代數，以及兩者與 S4 模態邏輯、直覺主義邏輯的關係，能以單子餘單子理論類比模態邏輯。



推廣

亦可定義 2 - 範疇 ${\mathcal {C}}$ 中的單子。



參見


* 單子間的分配律

* 洛維爾理論

* 單子 (函數式編程)—— 函數式編程中，用作構造通用類型的設計模式

* 多子 (範疇論)

* 強單子



參考文獻


* Barr, Michael; Wells, Charles. Category Theory for Computing Science [電腦科學用的範疇論] (PDF). 1999 [2021-09-24]. （原始內容存檔 (PDF) 於 2021-12-30） （英語）.

* Kock, Anders. On Double Dualization Monads [論雙重對偶單子]. Mathematica Scandinavica. 1970, 27: 151. doi:10.7146/math.scand.a-10995  （英語）.

* Leinster, Tom. Codensity and the ultrafilter monad [餘密度與超濾子單子]. Theory and Applications of Categories. 2013, 28: 332–370. Bibcode:2012arXiv1209.3606L. arXiv:1209.3606  （英語）.

* MacLane, Saunders. Categories for the Working Mathematician [現職數學家用的範疇]. Graduate Texts in Mathematics 5. 1978. ISBN 978-1-4419-3123-8. doi:10.1007/978-1-4757-4721-8  （英語）.

* Pedicchio, Maria Cristina; Tholen, Walter (編). Categorical Foundations. Special Topics in Order, Topology, Algebra, and Sheaf Theory [範疇基礎。序、拓撲、代數、層論特別專題]. Encyclopedia of Mathematics and Its Applications 97. Cambridge: Cambridge University Press. 2004. ISBN 0-521-83414-7. Zbl 1034.18001 （英語）.

* Riehl, Emily. Category Theory in Context [脈絡中的範疇論] (PDF). 2017. ISBN9780486820804. （原始內容存檔 (PDF) 於 5 Apr 2021） （英語）.

* Turi, Daniele. Category Theory Lecture Notes [範疇論講義] (PDF). 1996–2001 [2021-09-24]. （原始內容存檔 (PDF) 於 2022-02-21） （英語）.