單子 (範疇論)

內函子範疇中的么半群物件

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

導論與定義

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

嚴格定義

本條目中, 皆表示某範疇 上的單子是函子 ,連同兩個自然變換,分別是單位 (其中  上的恆等函子)與乘法 (其中 是複合 ,亦是  的函子),且要滿足下列連貫條件英語coherence condition

  •  (左右皆為 的自然變換)。此處  水平複合而得。
  •  (兩者皆為 的自然變換)。此處 表示由函子 到自身的恆等自然變換。

以上兩式,亦可以下列交換圖複述:

 
            
 

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

                

定義中,若將 當成么半群的乘法,則第一條公理類似么半群英語monoid (category theory)乘法結合律,而第二條公理類似單位元的存在性(由 給出)。準確而言, 上的單子,可以等價地定義為 的內函子範疇 中的么半群英語monoid (category theory)。(該範疇的物件是 上的內函子,而態射是內函子間的自然變換,么半結構來自內函子的複合運算。)如此,單子不僅在形式上具有與么半群相似的公理,甚而單子就是么半群的特例。

冪集單子

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

 

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

兩個單子的複合,未必為單子。舉例,冪集單子 的二次疊代 ,無法配備單子結構。[2]

餘單子

取上節定義的範疇論對偶英語Dual (category theory),便是餘單子(或餘三元組)的定義。簡單複述,範疇 上的餘單子,是對偶範疇英語opposite category 上的單子。所以,餘單子是由  的某個函子 ,連同餘單位餘乘法(英語:counit and comultiplication)兩個自然變換,組成的整體,而三者所要滿足的公理,是將原定義中所有態射反轉方向而得。

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

歷史

單子的概念最早由羅傑·戈德芒英語Roger Godement於1958年提出[3],當時稱為「標準構造」(英語:standard construction)。實際上,該書用到的是餘單子,用作解決某個層餘調英語Sheaf cohomology問題。

其後,單子又出現於彼得·胡伯(Peter Huber)對範疇同倫的研究中。該論文包含由任意一對伴隨函子得出單子的證明。[4]

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

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

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

例子

伴隨的複合

若有伴隨關係

 

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

 

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

 

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

兩重對偶

給定 雙重對偶單子(英語:double dualisation monad)源自伴隨關係

 

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

偏序集的閉包算子

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

自由遺忘伴隨

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

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

 

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

 

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

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

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

餘密度單子

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

單子的代數

給定範疇 上的單子 ,可以考慮 中的 代數物件 在該些物件上的作用,與單子的單位與乘法相容。具體而言, 代數  中的物件 ,連同態射 (稱為該代數的結構映射),使得圖

   

皆可交換。

 代數間的態射  中的態射 ,且要使

 

可交換。於是, 代數及之間的態射組成範疇,稱為艾倫伯格-摩爾範疇(英語:Eilenberg–Moore category),記為 .

例子

自由群單子上的代數

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

分佈單子上的代數

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

 

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

對稱單子上的代數

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

 

  映到各階對稱張量英語symmetric tensor冪的直和

 

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

 

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

E環譜中的交換代數

對於可交換 代數英語Highly structured ring spectrum,亦有類似的構造,[13]:113對於可交換 代數 ,對應單子上的代數是可交換的 代數。若 表示 模的範疇,則可以考慮函子 ,定義為

 

其中

 

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

單子與伴隨

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

 

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

單子伴隨

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

 

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

貝克單子性定理

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

若滿足以下三項條件:

  •  保守函子英語conservative functor,換言之, 反映同構(英語:reflects isomorphisms),即對 中每一支態射,其為同構當且僅當在 作用下的像為 中的同構;
  •  餘等化子英語coequalizer
  •  餘等化子英語coequalizer

 為單子的。

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

餘單子的伴隨關係,首先有下列例子:

 

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

用途

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

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

推廣

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

參見

參考文獻

  1. ^ Barr, Michael; Wells, Charles. Toposes, Triples and Theories [拓撲斯、三元組與理論] (PDF). Grundlehren der mathematischen Wissenschaften 278 (Springer-Verlag). 1985: 82 and 120 [2021-09-17]. ISBN 0-387-96115-1. (原始內容存檔 (PDF)於2020-11-25). 
  2. ^ Klin; Salamanca. Iterated Covariant Powerset is not a Monad [共變冪集疊代後不是單子]. Electronic Notes in Theoretical Computer Science. 2018-12-01, 341: 261–276. doi:10.1016/j.entcs.2018.11.013  (英語). 
  3. ^ Godement, Roger. Topologie Algébrique et Théorie des Faisceaux [代數拓撲與層論]. Actualités Sci. Ind., Publ. Math. Univ. Strasbourg 1252. Paris: Hermann. 1958: viii+283 pp (法語).  |issue=被忽略 (幫助)
  4. ^ Huber, Peter J. Homotopy theory in general categories [一般範疇的同倫論]. Mathematische Annalen. 1961, 144 (5): 361–385 (英語). 
  5. ^ Kleisli, Heinrich. Every standard construction is induced by a pair of adjoint functors [每個標準構造皆由某對伴隨函子產生]. Proceedings of the American Mathematical Society. 1965, 16 (3): 544–546 (英語). 
  6. ^ Eilenberg, Samuel; Moore, John Coleman. Adjoint functors and triples [伴隨函子與三元組]. Am. J. Math. 1965, 9: 301–398 (英語). 
  7. ^ Linton, Fred E. J. Some aspects of equational theories [等式理論的若干方面]. Proc. Conf. on Categorical Algebra at La Jolla. 1966: 84–95 (英語).  參數|journal=與模板{{cite conference}}不匹配(建議改用{{cite journal}}|book-title=) (幫助)
  8. ^ Moggi, Eugenio. Notions on computation on monads [單子上的計算概念] (PDF). [2021-09-25]. (原始內容存檔 (PDF)於2011-03-22) (英語). 
  9. ^ Plotkin, Gordon; Power, John. Adequacy for Algebraic Effects [代數效果的適切性]. Proc. FOSSACS 2001. Lecture Notes in Computer Science 2030. 2001: 1–24. doi:10.1007/3-540-45315-6_1 (英語). 
  10. ^ Riehl (2017,162)
  11. ^ Świrszcz, T. Monadic functors and convexity [單子函子與凸性]. Bull. Acad. Polon. Sci. Sér. Sci. Math. Astron. Phys. 1974, 22: 39–42. MR 0390019 (英語). 
  12. ^ Jacobs, Bart. Convexity, Duality and Effects [凸性、對偶、作用]. Calude, C.S.; Sassone, V. (編). Theoretical Computer Science [理論電腦科學]. IFIP Advances in Information and Communication Technology 323. 2010: 1–19. ISBN 978-3-642-15239-9. doi:10.1007/978-3-642-15240-5_1  (英語). 
  13. ^ Basterra, M. André–Quillen cohomology of commutative S-algebras [交換S代數的André–Quillen上同調]. Journal of Pure and Applied Algebra. 1999-12-15, 144 (2): 111–143 [2021-09-18]. ISSN 0022-4049. doi:10.1016/S0022-4049(98)00051-6 . (原始內容存檔於2022-01-30) (英語). 
  14. ^ MacLane (1978)所用定義中,條件「等價」要再加強為「同構英語Isomorphism of categories」。
  15. ^ MacLane (1978,§§VI.3, VI.9)