n实验室单子

目录

这个条目是关于单子在里面范畴理论范畴代数有关其他概念,请参见单音(消歧).


目录

想法

范畴理论,概念单子(早期:“标准结构“或”三元组“)是一种分类幺半群:在默认的化身中,单子是内函子在一些类别配备有单作的 相联的 二进制运算在下面作文。更一般地说,这个概念对内幕- 1-形态在任何对象在任何2类超过:单子幺半群对象 内部到 内幕-家庭类别.

连同附加词(伴随函子)它们对应的(参见在下面)单子体是范畴理论(它们构成了绝对的泛代数人们从哪里谈起单子上的代数)和中数学更普遍地(当然是在像这样的领域代数拓扑,层与拓扑理论同调代数,概念以“规范分辨率”).

最后,单子在形式逻辑(参见。模态逻辑模态类型理论)和在计算机科学,在理解它们的地方(参见“计算三部曲)作为编码“计算概念”与“计算效果”的框架函数式编程:请参阅计算机科学中的单子.

词源学

术语“monad”于年引入贝纳布1967年,第5.4.1条,其中,在观察到(实验5.4.1)单体在1对象2类别中(的deloopings 单体范畴)是幺半群:

它在脚注中写道:

(来自贝纳布1967年,第40页)

除了这个脚注之外,似乎存在术语起源的唯一当代解释,巴尔2009,回顾了以下交流,当时人们普遍对早期的术语“标准结构”和“三重结构”感到不满:

1966年夏天(或者可能是晚春,Oberwohlfach记录将显示这一点),那里举行了一次类别会议。[……]有一天,在午餐或晚餐时,我碰巧坐在让·贝纳博旁边,他转向我说,“‘单子’怎么样?”当然,它是函子范畴中的幺半群。

2023年关于这一问题的进一步讨论杰里·阿达梅克回忆比尔·劳弗尔在以下范围内:

萨米是在奥伯沃法赫古堡的公共休息室里[塞缪尔·艾伦伯格]从钢琴后面出来,宣布了改变。

但是巴尔澄清如下:

我非常愿意相信,是坐在我旁边的贝纳博推荐了蒙娜德。完全有可能是萨米下台并宣布其为“官方”。当然是在那座古老的城堡里。

有趣的是贝纳博的脚注在上面给出了“monad”的第二个动机:

令人惊讶的是Bénabou 1967年,定义5.4.1 定义一个单子lax 2-函子来自终端类别 112-类别类别(更普遍地说,无论环境如何2类S公司̲\下划线{S}“),然后继续展开此定义与传统定义的等效性:

莫纳兹(S公司̲){1松弛S公司̲}.单数(下划线{S})\;\;\;\西马克\;\;\;\大\{1\xrightarrow{\;lax\;}\下划线{S}\大\}\,.

在这个意义上,单子是点状元素在一个2范畴理论感觉(在2-地形 ),这与欧几里德的古代单子概念作为不可分割的构建块。事实上,正如上面所讨论的,“monad”(在古希腊语和现代希腊语中都是如此)只是指单位意义上的“单位”自然数 11、和贝纳布1967年,第5.4.1条字面上用(lax)单位标识单子1S公司̲1到下划线{S}在环境2类中。

在这种情况的推广中,可以考虑来自的lax函子共离散群胚 CoDisc公司(1 n个)CoDisc(1^{\sqcup_n})n个n个对象,其中贝纳布1967年,Def.5.5电话多价体:

Polyads公司(S公司̲){CoDisc公司(1 n个)松弛S公司̲}.多边形(\下划线{S})\;\;\;\西马克\;\;\;\大\{CoDisc(1^{\sqcup_n})\xrightarrow{\;松弛\;}\下划线{S}\大\}\,.

另一方面(可能在巴尔2009)就在几年前单子术语已于年被采纳非标准分析作为术语无限小街区(罗宾逊1966年,第57页卢森堡1966,也比较Keisler 1976年,定义1.2,库塔特拉泽2011和,说话合成的,综合的:科克1980).

现在,事情就这样发生了——在拓扑理论制定无穷小通过差异凝聚力-建造无限小街区 (请参见在这里)在意义上的单子范畴理论! – 左边 伴随单子喷气式comonad(Khavkine&Schreiber 2017年,第23页).

定义

莫纳兹

A类单子在一个二分类 K(K)K(K)由提供

  1. 一个对象 在里面K(K)K(K)

  2. 一个自同态 t吨:t \冒号a \到a在里面K(K)K(K)

  3. 2-同构 η:1 t吨\;\eta\colon 1_a\至t在里面K(K)K(K)

    (该单元返回操作)

  4. 2-同构 μ:t吨t吨t吨\mu\冒号t\circ t\to t

    (该乘法参加操作)

这样的图表 通勤(如果确定一致性 同构s已被省略)。

“单子体”的名称和术语“单位”、“乘法”和“结合性”与幺半群(另请参阅单音(消歧)). 实际上,可以在对象上定义monad二分类 K(K)K(K)作为一个幺半对象在自同态范畴中K(K)(,)K(a,a)或者,单子可以被视为更基本的幺半群范畴中的幺半群 CC可以在中定义为单子B类C\矩阵{B}C,对应的一个对象双类别CC.

第三个不太明显的定义是K(K)K(K)是一个lax 2-函子来自终端二类11K(K)K(K):唯一对象*\上一次属于11发送到对象,态射1 1_a个成为t吨t吨、和η\埃塔μ\亩由表达松弛功能的相干2细胞产生。这反过来相当于说monad是在双范畴中丰富的范畴具有单个对象和单个态射。在更高类别的理论家中,很容易认为这是最基本的定义,也是单子普遍存在和重要性的最基本原因。然而,尽管如此,早期更基本的定义在实践和教学上都是至关重要的。

最后,单子可以用“Kleisli操作”来定义,该操作使用任何映射T型b条a至T b到地图T型T型b条T a至T b看见扩展系统.

我们可以想象一个单子K(K)K(K)作为第三东方人在里面K(K)K(K)。请参阅上的备注单体范畴.

单体的数据和公理可以用图形表示为字符串关系图.书写T型:CC,η,μT\冒号C\到C,\eta,\mu对于所讨论的单子(当K(K)=K=类别),这些数据可以表示为

monad数据的字符串图(用于“monad”)

由于形状独特,人们通常可以省略标签:

单子数据的字符串图,未标记(用于“单子”)

然后公理显示为:

单子公理的字符串图,未标记(用于“单子”)

单子的2类

给定a中monad之间的等价性2类 K(K)K(K)松弛函子 1K(K)1\至K[贝纳布1967年,第39页]定义2类 Mnd公司(K(K))锰(K)中的单子K(K)K(K)成为松弛 函子范畴 [1,K(K)] [1,K]_\ell,包括松弛函子,lax变换和他们的修改.

拼写出来[马兰达1966,马兰达1968,弗雷1969年,第269页,Pumplun 1970第330和334页,科佩1970,1972年街道,第150-151页,在中查看Leinster 2004年,第148页]:

定义

(2类单子)
K(K)K(K)成为2类.

  1. 对象在里面Mnd公司(K(K))锰(K)是一个单子(,t吨,η,μ)(a,t,\eta,\mu)在里面K(K)K(K);

  2. 1-态射 (,t吨)(b条,)(a,t)至(b,s)在里面Mnd公司(K(K))锰(K)(“单函子”或“单子变换”)

    由提供

    1. 1-态射 x个:b条x\冒号a\至b在里面K(K)K(K)

    2. 2-形 λ:x个x个t吨\λ\冒号s x \到x t在里面K(K)K(K)

    进行以下操作图表通勤:

    x个 η x个 x个 x个η t吨 λ x个t吨 1 x个t吨x个 λ x个t吨 λt吨 x个t吨t吨 μ x个 x个μ t吨 x个 λ x个t吨\阵列{x&\stackrel{\ta^sx}{\to}&sx\\\数学运算\大\向下箭头& & \大\向下箭头\马特拉普{\lambda}\\x吨&\覆盖{1}{\longrightarrow}&x吨}\qquad\qquad\阵列{秒x& \覆盖{s\lambda}{\to}&s x t和\覆盖{\lambda t}{\longrightarrow}&x吨\\\金属圈{\mu^s x}\大\向下箭头& & & & \大\向下箭头\马特拉普{x\mu^t}\\秒x& & \覆盖{\lambda}{\longrightarrow}& & x吨}
  3. 2-同构 (x个,λ)(,κ)(x,\lambda)\右箭头(y,\kappa)在里面Mnd公司(K(K))锰(K)由提供

    • 2-同构 :x个m\冒号x\右箭头y在里面K(K)K(K)

    进行以下操作图表通勤

    x个 λ κ x个t吨 t吨 t吨\阵列{sx&\stackrel{sm}{\to}&sy\\\mathrlap{\lambda}\向下箭头&&\向下箭头\ mathrlap{\ kappa}\\xt&\stackrel{mt}{\to}&y t}

备注

(潜在自然转化的利手性)
小心λ定义中。与预期相反。这不一定是这样,但可能是一种选择,请参阅Pumplun 1970第334页,街道1972第158页.

一个问题是Kleisli类别由单子态射诱导的方向是相反的属于λ如上所述(通常用于标量的推广属于模块对象沿a同态属于幺半群),因此对于采用与上述约定相反的方法的作者(例如弗雷1969年,第269页,Pumplun 1970第330页,Barr&Wells 1985§6.1在我们的实验中。单子态射与Kleisli范畴之间函子的关联是反变的(例如。Frei 1969年,Thm。2,Barr&Wells 1985厚度。6.3).

例子

(固定范畴上单子的变换)
这个例子是一般Def的简单但重要的特例。其中单子都作用于同一固定对象,尤其是同一类别,如果K(K)=K=类别(如本表中所述Barr&Wells 1985§6.1),尤其与计算机科学中的单子(此处为Moggi 1989年定义4.0.11)它们通常都作用于同一类别的数据 类型:

对于一对单子(,ret(雷特) ,参加 )(\mathcal{E},ret ^{\mathcal{E}},连接^{\mathcal{E}}),(,ret(雷特) ,参加 )(\mathcal{E}',ret ^{\mathcal{E}'},连接^{\mathcal{E}'})关于固定类别C\矩阵{C}:

,:CC,\数学{E},\mathcal{E}'\;\冒号\;\mathbf{C}\longrightarrow\mathbf{C}\,,

它们之间的态射是

  • 自然转化 反式 :trans ^{\mathcal{E}\ to \mathcal{E}'}\,\colon\,\mathcali{E}\ to \mathcal{E}'潜在的 仿函数

显然,它尊重单子单位

和连接:

因为它制造了这些广场通勤.

备注

单子变换,如Exp。 相反地诱导函子属于Eilenberg-Moore类别属于模型通过标量的推广[Frei 1969年,Thm。2,巴尔和威尔斯1985 thm。6.3]:

从那以后标量的推广身份在上吗潜在的 物体,它通常不能限制为上的函子Kleisli类别.

然而,当单子变换 信托收据:tr\,\colon\,\mathcal{E}\ to \mathcal{E}'是一个同构然后信托收据 *tr^\ast(上一个)确实需要自由模型将模型释放到同构从下图中可以看出:

(D类) (信托收据 D类) (D类) 反式 (D类) (D类) 参加 D类 反式 *参加 D类 参加 D类 (D类) 反式 D类 (D类) = (D类)\阵列{\数学{E}\数学{E}(D)&\重叠{\数学{E}(tr_D)}{\右箭头}&\数学{E}\数学{E}'(D)&\过度设置{反式^{\mathcal{E}\to\mathcal{E}'}_{\mathcal{E}'(D)}}{\longrightarrow}(右箭头)&\数学{E}'\数学{E}'(D)\\\大\下箭头\mathrlap{{}^{加入^{\mathcal{E}}_D} } &&\大\下箭头\mathrlap{{}^{转换^\ast联接^{\mathcal{E}'}_D} } &&\大\下箭头\mathrlap{{}^{join^{\mathcal{E}'}_D}}\\\数学{E}(D)&\低于{\;\; 转换^{\mathcal{E}\到\mathcal{E}'}_D\;\;}{\右箭头}&\数学{E}'(D)&=&\数学{E}'(D)}

在这里,中间垂直态射是沿着右边自由模型的延伸下的标称图像反式 转换^{\mathcal{E}\到\mathcal{E}'},但左边的正方形,通过假设反式 转换^{\mathcal{E}\到\mathcal{E}'},显示了从中间模型到\数学{E}-左边的自由模型。

备注

(单体变异体)
当单体用于建模时计算效果在里面函数式编程,一个共同关心的问题是结合不同的效果,例如先前的效果被归入新的组合效果中。这通过“单极变压器“这是单体的形态系统,如Exp。,形成指向内函子关于范畴Mnd公司在所有单子中。

例子

这个初始对象在固定范畴上的单子范畴中C\矩阵{C}(支出。)是身份单体。

证明

我们需要为每一个单子展示这一点\数学{E}C\矩阵{C}这是一个自然的转变反式 身份证件:身份证件trans ^{Id\ to \mathcal{E}}\,\colon\,Id\ to \ mathcal首先,这使得这一平方通勤:

这已经将转换修复为单子单元属于\数学{E}如图所示,第二,该广场通勤:

根据统一性条款\数学{E},如图所示。


单子上的代数/模

考虑到双类别中的单子\数学{B}只不过是一个幺半对象在家里(,)\数学{B}(a,a),考虑模块在这个幺半群上:a单体的模。此模块概念比单体范畴但是,因为它不需要住在(,)\数学{B}(a,a)但可以加入(b条,)\数学{B}(B,a)(用于左侧模块)或(,c(c))\数学{B}(a,c)(适用于右侧模块)。

-喜欢二分类,monad上的左模通常称为单子上的代数从单子作为幺半群的观点来看,这个术语令人困惑,但它是合理的,因为在本身,这样的带域的代数1只是经典意义上单子的代数。这样的代数是编码一般代数结构的有力工具;这是一个主题泛代数单子上的代数构成它的Eilenberg-Moore类别,其特征是通用属性.

一些单子体起源于操作的s、 在这种情况下,单子的代数与操作数的代数相同。A类劳弗尔理论是另一种特殊的单子.

属性

附加词与单数的关系

两者之间有着密切的关系附加词(伴随函子)和单子:

附加引起的单子

附加 (R(右))(L \dashv R)诱导单子 R(右)循环L和a余单子 R(右)回路R.

(Huber 1961,§4参见e。MacLane 1971,§VI.1(第134页);Borceux 1994,第2卷,道具。4.2.1).

具体如下:

命题

(𝒞,𝒟,F类,U型,η,ϵ)(\mathcal{C},\mathcal{D},F,U,\eta,\epsilon)是一对伴随函子F类U型F\dashv U型是伴随函子,其中F类:𝒞𝒟F\colon\mathcal{C}\rightarrow\mathcal{D},U型:𝒟𝒞U\colon\mathcal{D}\rightarrow\mathcal{C},η A类:A类U型(F类(A类))\eta_{A}:A\右箭头U(F(A))单元ϵ B类:F类(U型(B类))B类\epsilon_{B}\冒号F(U(B))\右箭头B科尼特然后:

  • U型F类U \圈F是一个单子𝒞\数学{C},带有单元 η\埃塔和乘法U型(ϵ F类(A类)):U型(F类(U型(F类(A类))))U型(F类(A类))U(\epsilon_{F(A)}):U(F(U(F)(A))).

  • F类U型圆圈U是一个余单子𝒟\数学{D},带有科尼特 ϵ和复制F类(η U型(B类)):F类(U型(B类))F类(U型(F类(U型(B类))))F(\eta_{U(B)}):F(U(B.

证明

我们验证了我们得到了一个单声道,comonad的参数是形式上双重的.

(1)我们知道这张图可以相互转换:

通过应用U型U型,我们得到单子的单位y的第一部分:

(2)我们知道这张图可以相互转换: 通过放置B类=F类(A类)B=F(A),我们得到单子的单位性的第二部分:

(3)自然ϵ为每一个(f):B类B类f: B\右箭头B':

我们将其应用于(f)=ϵ F类(A类)f=\epsilon_{f(A)}它给出了:

最后申请U型U型以获得:

这就是单子乘法的结合性。

(4)乘法的自然性U型(ϵ F类(A类)):U型(F类(U型(F类(A类))))U型(F类(A类))U(\epsilon_{F(A)}):U(F(U(F)(A)))由2获得晶须国家的ϵ B类:U型(F类(B类))B类\epsilon_{B}:U(F(B))\右箭头B.

单子体的附加解析类别

诱导单子的附加词T型T型(作为在上面)也称为的分辨率T型T型.

通常有不止一个这样的决议,实际上有一个类别一个给定单子的附加词,其形态为“比较函子“(例如。MacLane 1971,§VI.3).

在此类别中:

(例如。Borceux 1994,第2卷,道具。4.2.2)

语义结构附加

以上文章来自附加词单子然后回到他们的单数附加词构成自身附加,有时称为语义结构附加.

示例

Monads开设置设置

许多单子也有标准用法,如计算机科学中的单子.

例子

自由健忘者附加之间点集诱导内函子 () *:设置设置(-)_*:设置\为设置这增加了一个新的不相交点。这称为也许是单子在计算机科学中。

例子

自由健忘者附加之间幺半群诱导内函子 T型:设置设置T:设置\设置由定义

助教:= n个0A类 n个TA:=\bigsqup_{n\ge 0}A^n

给予自由单体。这也是名字列表单子Kleene-Star公司在计算机科学中。装置的组件η A类:A类T型A类\eta_A:A\至TA给包含发送每个元素A类A类到相应的单例列表。乘法运算的组成部分μ A类:T型 2A类T型A类\mu_A:T^2 A至T A是连接函数,将列表列表发送到相应的列表(在计算机科学中称为扁平化)。这个monad可以定义为单体范畴具有副产品分布在单体产物上。

例子

对于一组固定的“状态”S公司S公司,的(S公司×() S公司S\times-\dashv(-)^S)-附加导致单子(S公司×) S公司(S\次-)^S设置设置调用了状态单体这是计算机科学中常用的单子函数。在Haskell等函数式编程语言中,状态可以用于模拟计算的“副作用”。

例子

逆变动力装置-函子是它自己的右伴随,给予设置(A类,B类)设置(B类,A类)\集合(A,P B)\cong\集合(B,P A)。请注意霍姆(A类,B类)=霍姆(A类,霍姆(B类,Ω))霍姆(A类×B类,Ω)=(A类×B类)\hom(A,PB)=hom(B,Omega))诱发双功率单体拿一套A类A类 2A类P^2安。的组件单元主超滤器功能η A类:A类 2A类\eta_A\冒号A\到P^2 A发送元素的到的子集集A类A类包含.乘法的组成部分μ A类\mu_A反像地图的函数η A类:A类 A类\eta_{PA}\冒号PA\到P^3A可以痛苦地表述为:将一组子集集转换为A类A类具有以下属性:子集集的其中一个集是A类A类其包括该特定子集作为元素。

更换两个元件电源对象 Ω\欧米茄与任何其他集合一起给出类似的monad。计算机科学背景这些被称为延续单子这种结构也可以推广到任何其他双闭单体范畴例如,有一个类似的双双单子 兽医 k个 \兽医(_k) .

例子

函数单子(也是“读卡器单子“,参见。取芯器共鸣)

例子

可能性

例子

选择单子

代数

例子

自由健忘者附加之间和类别R(右)R(右)-模块。这会导致自由的R(右)R(右)-模单子 R(右)[]:设置设置R[-]:设置\为设置. The自由阿贝尔群单子自由向量空间单子是特殊情况。

例子

自由健忘者附加之间和类别提供了自由基单子 F类:设置设置F:设置\设置发送A类A类到集合F类(A类)F(A)字母中的有限单词A类a \在a中加上倒数 1^{-1}.

拓扑结构

例子

有一个遗忘函子 U型:顶部设置U:\顶部\至\设置服用拓扑空间至其基础设置它是离散空间函子的右伴随D类:设置顶部D: \设置\为\顶部把一套带到它的离散拓扑。还有一个伴随对βU型\beta\dashv U’在类别之间契约 Hausdorff拓扑空间和类别拓扑空间,其中β石灰岩压实这两个伴随对的组合构成一个单子β:设置设置\测试版:\设置\到\设置将一个集发送到其离散空间的Stone-Cech紧化的基础集。它也被称为超滤器单子作为β可以认为是一个函子,它把一个集合带到它的一组超滤子上。

猫身上的单子

单子通常被视为2类它们是由内函子上面有一个幺半结构。特别是单子在里面 设置等价于泛代数中研究的方程理论。在这种情况下,monad抽象了代数理论(例如“组”或“环”),给出了额外结构在一个类别的对象上。

典型地,如果T型\矩阵{T}是代数理论(例如群理论)T型\矩阵{T}-布景上的结构告诉我们如何解读各种条款(例如。(c(c))(a \cdot c))由集合的元素构成,受某些公理(例如。((b条c(c)))=((b条)c(c))(a \ cdot(b \ cdot c))=((a \ cdot b)\ cdot c)). 一个单子将此集合为一个函子T型T型。对于集合XX,T型XT X(T X)是理论中所有术语的集合,由XX,如果公理强制它们相等,则确定术语。对于组,T型XT X(T X)因此是(的基础集)自由群正式词汇的b条a\cdot b\cdot\cdots\cdot sXX事实上T型T型给予自由的结构原来是典型的.

为了充分理解这个理论,我们需要包含更多的数据:自然地图η X:XT型X\eta_X:X\至T X记录每个XX中的\给出了一个微不足道的术语,和地图μ X:T型T型XT型X\mu_X:T T X至T X记录根据术语构建的其他术语如何作为术语出现在中T型XT X(T X).

给一个单子关于一个范畴CC,总是可以生成标准分辨率任何对象的CC.

其他示例

高等范畴理论中的单数

有一个垂直分类单子到(∞,1)-类别。请参阅(∞,1)-单子.

在里面第3节属于

工具书类

概念(有限公司)单子体是以“标准结构”(即现在所认为的诱导结构)的名义引入的标准分辨率)英寸:

以下内容:

  • 罗杰·戈德门特,附录:拓扑algébrique et theorie des faisceaux《科学现状》。印度。1252赫尔曼,巴黎(1958)[网页,pdf格式]

    (其中单子定律出现在第272页上,作为诱导结构的一部分标准分辨率,称之为“基本结构”)。

在早期范畴理论-文学单体被称为三元组,指的是(正如幺半群)他们的数据-结构是的吗三元组包括:(1.)潜在的 类别,(2.)a二进制运算和(3.)a机组运行:

现代术语“monad”(以及任何二分类)是(参见。巴尔2009)由于:

进一步的历史评论:

其他原始文本:

更多教科书说明:

曝光:

更多关于与泛代数:

无穷大等价性的初等证明Lawvere理论单子集合的类别的附录A中给出

高等范畴理论:

上次修订时间:2024年1月22日07:13:03。请参阅历史获取所有贡献的列表。