直接描述monad

我最近发现了一些有用的节目,而且我实际上找到了monad。 我认识到他们在节目中保留了什么,但我很想知道它们在数学上是什么。 任何人都可以澄清monad正在利用尽可能少的类别理论吗?

0
2019-05-04 19:49:58
资源 分享
答案: 3

Haskell中的Monads和类别理论中的monad显着相同:A 单子 包含一个仿函数$T: C \to C$以及2个全天然改编$\eta_X : X \to T(X)$(Haskell中的return)以及$\mu_X : T(T(X)) \to T(X)$(Haskell中的join)基于遵守法规

$\mu_X \circ T(\eta_X) = \mu_X \circ \eta_{T(X)} = 1_{T(X)}$(左侧和适当的设备规定)

$\mu_X \circ \mu_{T(X)} = \mu_X \circ T(\mu_X)$(关联性)

因此,与Haskell相比,monad是针对returnjoin以及fmap而不是return以及(>>=)指定的。 有关此内容的更多信息,请参阅Haskell wikibook

2个实例可能会使这个定义更明亮。

powerset仿函数

  • $\mathcal{P} = X \mapsto \mathcal{P}(X)$将准备好的地图映射到其部分集合。
  • 特征$f:X \to Y$是扩展因子 - 对$\mathcal{P}(f):\mathcal{P}(X) \to \mathcal{P}(Y)$很重要
  • $\eta_X : X \to \mathcal{P}(X)$是函数$x \mapsto \left\{x\right\}$
  • $\mu_X : \mathcal{P}(\mathcal{P}(X)) \to \mathcal{P}(X)$压缩部件的内部层:$\mu_X(A) = \left\{ b | a \in A, b \in a \right\}$。
  • 这类似于 清单monad 在哈斯克尔。

关闭 拓扑室$S$部分的程序也是monad。

  • 组$C$的内容是提供的拓扑空间$S$的部分。
  • 在$X$和$Y$之间有一个独一无二的箭头$X \to Y$,特别是当$X \subseteq Y$时。
  • monad由仿函数提供,该仿函数将每个对象$X$映射到其拓扑闭包$\bar X$,并将箭头$X \subseteq Y$映射到箭头$\bar{X}\subseteq \bar{Y}$。
  • 说白了,我们有$X \subseteq \bar X$; 这是$\eta_X$。
  • 另外,我们理解$\bar{\bar X} = \bar X$,特别是$\bar{\bar X} \subseteq \bar X$; 这是$\mu_X$。
0
2019-05-08 09:26:22
资源

让$C$成为一个组。 之后是一个单子 基于$C$ 是一个 在严格的幺半群中

$$\mathcal{End}(C)=\mathcal{Hom}_{Cat}(C,C),$$

其中全天然幺半群物品由内部均匀器组成,而幺半径器件也是识别函子。

monoidal组中的monoid指定为这里

如果您需要额外的描述,只需给我打个电话。

符号:仿函数组$C\to D$另外创建为$Fun(C,D)$,但此符号是非标准的。 典型的符号是$\mathcal{Hom}_{Cat}(C,D)$或仅仅是$Cat(C,D)$。

0
2019-05-08 09:11:47
资源

如果你想要避开太多的类别理论,你可以先阅读这个链接来识别哈斯克尔中monad的定义。 之后考虑维基教科书以获得额外的数学外观(非常感谢Jonathan Fischoff)。

我认识到有两个摘要。 第一个可以通过考虑Monad下的wiki或与Harry的精彩回顾取得联系来方便地找到。 在我看来,第二个是有趣的。

我肯定会认为你不认识幺半群活动的定义,如果你这样做,只需提前错过。

幺半群活动是一个从一个幺半群到一组endofunctors的仿函数,在一个令人满意的2个可理解性关系中。 这两个可理解性关系仅仅验证你的monoidal项目是否与目标中的化妆一致,识别对象与活动一起作用。 关系通常创建为布局,但没有乳胶工具,我不会在下面键入它们。

要获得幺半群活动的建议,请考虑团队活动,并通过创建两个公理作为布局,无条件地创建它。 当转换为幺半群语言时,这些布局特别是幺半群活动的布局。

目前最有效的组成部分是,只要你有幺半群活动,一组中的monad只是从不重要的幺半群到你的组的幺半群活动。 请记住,不重要的幺半群肯定是具有一个对象一个态射的幺半群,并且所有其他各种幺半群信息都是平凡的。 monadic可理解性关系完全没有你的monoidal活动可理解性关系。

那么,我直截了当的描述?

通过这种方式,我们可以创建monad,作为不重要的幺半群的“描绘”。

可以方便地显示两种解释重合。

0
2019-05-08 05:51:43
资源