單子 (範疇論)

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

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

**嚴格定義**
本條目中，皆表示某範疇。上的單子是函子，連同兩個自然變換，分別是單位（其中是上的恆等函子）與乘法（其中是複合，亦是到的函子），且要滿足下列coherence condition：- （左右皆為的自然變換）。此處與經水平複合而得。- （兩者皆為的自然變換）。此處表示由函子到自身的恆等自然變換。
以上兩式，亦可以下列交換圖複述：
記號與的含義，參見自然變換，又或考慮以下更具體的寫法，不用水平複合記號，並將各函子作用在任意物件上：
定義中，若將當成么半群的乘法，則第一條公理類似么半群的乘法結合律，而第二條公理類似單位元的存在性（由給出）。準確而言，上的單子，可以等價地定義為的內函子範疇中的么半群。（該範疇的物件是上的內函子，而態射是內函子間的自然變換，么半結構來自內函子的複合運算。）如此，單子不僅在形式上具有與么半群相似的公理，甚而單子就是么半群的特例。

**冪集單子**
冪集單子是集合範疇上的單子。其定義中，函子取為冪集運算，即為集合的冪集，而對於函數，將的子集映至其像集，即。對每個集合，有函數，對每個元素映至單元子集， 並有函數

將的若干個子集構成的族，映至該些子集的並集。以上是冪集單子的定義。
兩個單子的複合，未必為單子。舉例，冪集單子的二次疊代，無法配備單子結構。

**餘單子**
取上節定義的範疇論對偶，便是餘單子（或餘三元組）的定義。簡單複述，範疇上的餘單子，是opposite category上的單子。所以，餘單子是由到的某個函子，連同餘單位與餘乘法（counit and comultiplication）兩個自然變換，組成的整體，而三者所要滿足的公理，是將原定義中所有態射反轉方向而得。
單子之於么半群，如同餘單子之於餘么半群。每個集合皆是餘么半群，且僅有唯一一種方式，所以抽象代數中，較少考慮餘么半群。然而，在線性代數中，向量空間範疇（配備張量積）的餘么半群較為重要，以餘代數之名為人所知。

**歷史**
單子的概念最早由Roger Godement於1958年提出，當時稱為「標準構造」（standard construction）。實際上，該書用到的是餘單子，用作解決某個問題。
其後，單子又出現於彼得·胡伯（Peter Huber）對範疇同倫的研究中。該論文包含由任意一對伴隨函子得出單子的證明。
1965年，Heinrich Kleisli，及塞繆爾·艾倫伯格、John Coleman Moore二人分別獨立證明反向的結論，即每個單子皆可由某對伴隨函子產生。後一篇論文中，將單子稱為「三元組」。
1963年，William Lawvere提出泛代數的範疇論。1966年，弗雷德·林頓（Fred Linton）將該理論用單子的語言表達。單子本身來自拓撲方面的考量，事先似乎比洛維爾的理論更難處理，但已成為用範疇論語言闡述泛代數的方法中，較常見的一個。現今常用的英文名稱monad是1971年由桑德斯·麥克蘭恩在《Categories for the Working Mathematician》引入，以其類似單子論中的同名哲學概念，即某種能生出其他所有事物的實體。
1980年代，Eugenio Moggi在理論計算機科學中，利用單子，為電腦程式的若干方面建立模型，包括例外處理、邊界情況。此後，有多種函數式編程語言仔細實作此想法，作為一種基本規律，同樣稱為單子。2001年，若干數學家注意到，用單子研究程式標誌語意的方法，與洛維爾的理論，兩者之間有關聯。。此為代數與語義間的聯繫，是後來活躍的研究課題。

**例子**

**伴隨的複合**
若有伴隨關係

（即為的左伴隨，下同），則由此有上的單子。此普遍的構造，取內函子為複合

而單位自然變換來自伴隨的單位，乘法自然變換源自伴隨的餘單位：

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

**兩重對偶**
給定域，雙重對偶單子（double dualisation monad）源自伴隨關係

其中兩個函子皆將向量空間映至對偶空間，所以對應的單子將向量空間映至雙對偶。1970對此有更廣泛的討論。

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

**自由遺忘伴隨**
又舉例，設為群範疇至集合範疇的遺忘函子，將群映至其基集，又設為自由函子，由到，則是的左伴隨。此時，對應的單子的作用是，輸入一個集合，輸出自由群的基集，即字母取自，且無相鄰兩個字母互為逆元的字串的集合。
該單子的單位變換，由包含映射

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

是串接或「壓平」運算，將若干條字串組成的串，映至該串中所有字串前後連接而成的一條字串。至此描述完單子的兩個自然變換。
前述例子中，自由群可以推廣至其他種類的代數結構，即泛代數意義下的任意一簇代數。如此，每類代數定義了集合範疇上的一個單子。更重要的是，該類代數的範疇，可從單子找回，即單子的艾倫伯格－摩爾代數範疇，故單子可視為泛代數之簇的推廣。
另外，尚有一個單子源自伴隨關係。在向量空間範疇上，若表示將向量空間映至其張量代數的內函子，則相應有單位自然變換將嵌入到其張量代數，並有乘法自然變換，在處的分量是態射，將張量積之張量積展開化簡。

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

**單子的代數**
給定範疇上的單子，可以考慮中的代數物件。在該些物件上的作用，與單子的單位與乘法相容。具體而言，代數是中的物件，連同態射（稱為該代數的結構映射），使得圖
皆可交換。
代數間的態射是中的態射，且要使center可交換。於是，代數及之間的態射組成範疇，稱為艾倫伯格－摩爾範疇（Eilenberg–Moore category），記為.

**例子**

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

**分佈單子上的代數**
另一個例子是集合範疇上的分佈單子（distribution monad），其將集合映至其上所有有限支撐的概率分佈的集合。該等分佈，是函數，僅於有限多個元素處取值非零，而各元素處取值之和為。以符號表示，

可由定義證明，分佈單子上的代數，等同於凸集，即集合要配備二元運算（對每個），滿足的公理比照歐氏空間中，凸組合具備的性質。

**對稱單子上的代數**
另一個有用的單子，是交換環的模範疇上的對稱代數單子

將模映到各階symmetric tensor冪的直和

其中。例如，，左右兩邊作為模同構。如此，對稱代數單子上的代數，是交換代數。類似地，也有反對稱張量單子與全張量單子，相應的代數分別是反對稱代數與自由代數，故

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

**E∞環譜中的交換代數**
對於，亦有類似的構造，113對於可交換代數，對應單子上的代數是可交換的代數。若表示模的範疇，則可以考慮函子，定義為

其中

此函子是單子，而由該單子上的代數範疇，可以得到可交換代數的範疇。

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

其中，左伴隨將的物件映到自由代數，右伴隨則將代數遺忘掉，變回。然而，通常有多組不同的伴隨關係產生同樣的單子，該些伴隨關係組成範疇：物件是伴隨關係使得，而態射是在一側為恆等函子的伴隨關係態射。如此，艾倫伯格－摩爾範疇的自由－遺忘伴隨是的終物件，而始物件是Kleisli category，定義為中的自由代數組成的完全子範疇，即僅包含形如的代數，其中歷遍的物件。

**單子伴隨**
設有伴隨關係，對應單子為，則函子可分解為

其中是遺忘函子。換言之，對中任意物件，都能賦予自然的代數結構。若分解式中，首個函子給出與兩範疇間的等價，則形容該伴隨關係為單子的（monadic）。後亦引申用作形容函子，若函子有左伴隨，且該伴隨關係為單子的，則亦稱為單子的。例如，群範疇與集合範疇間的自由－遺忘伴隨是單子的，因為相應單子上的代數是群（見前文）。一般而言，若有伴隨關係為單子的，則單從的物件及其上的作用，已足以重組出的物件。

**貝克單子性定理**
貝克單子性定理給出伴隨關係在何種充要條件下為單子的。定理有以下簡化版：
若滿足以下三項條件：
*為conservative functor，換言之，反映同構（reflects isomorphisms），即對中每一支態射，其為同構當且僅當在作用下的像為中的同構；
*有coequalizer；
*保coequalizer；
則為單子的。
例如，由緊豪斯多夫空間範疇到集合範疇的遺忘函子是單子的。然而，由任意拓撲空間範疇到集合範疇的遺忘函子則並非單子的，而定理中，保守函子的條件不成立，因為有非緊或非豪斯多夫空間，之間存在連續雙射，但不為同胚。
貝克定理有對偶版本，刻劃餘單子伴隨關係，對拓撲斯論及有關下降的代數幾何課題有用。
餘單子的伴隨關係，首先有下列例子：

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

**用途**
函數式編程中，會使用單子表達某類（有時有副作用的）順序式計算，見單子 (函數式編程)。
範疇論邏輯中，藉閉包算子、內代數，以及兩者與S4模態邏輯、直覺主義邏輯的關係，能以單子餘單子理論類比模態邏輯。

**推廣**
亦可定義2-範疇中的單子。

**參見**
 Distributive law between monads- Lawvere theory- 單子 (函數式編程)- Polyad- Strong monad

**參考文獻**
 dead-url=no- language = en- language = en- ref = harv- cite book | editor1-last=Pedicchio | editor1-first=Maria Cristina | editor2-last=Tholen | editor2-first=Walter | title=Categorical Foundations. Special Topics in Order, Topology, Algebra, and Sheaf Theory |trans-title = 範疇基礎。序、拓撲、代數、層論特別專題| series=Encyclopedia of Mathematics and Its Applications | volume=97 | location=Cambridge | publisher=Cambridge University Press | year=2004 | isbn=0-521-83414-7 | zbl=1034.18001 |language = en - ref = harv- dead-url=no