YSMull
<-- home

范畴论中的幺半群

一、幺半群(集合视角)

monoid (幺半群)是一个定义了二元运算的集合

  1. 有单位元 (mempty)
  2. 二元运算满足结合律 (mappend:A -> A -> A)

二、幺半群(范畴视角)

假设集合 A 是一个幺半群,我们可以立即得到一个 monoid category C,范畴 C 只有一个对象 A( one object category),那范畴 C 的态射是什么呢?注意到 mappend 的类型签名可以写成 A -> (A -> A),即对任意的 a 属于 A,我们都可以得到一个态射

\[\mathrm{f = mappend \ \ a}\]

由于 f 是 A -> A 的,所以 C 的态射 Mor(C) 定义为 {mappend a | a 属于 A} 即可,可以验证是满足范畴的定义的。

所以,即任何一个幺半群集合同时也可以看作范畴。

三、幺半群范畴里也有一个幺半群集合

任何一个 one object category 都自带了一个 Monoid,即 Hom-set C(A,A), Hom-set C(A, A) 是一个集合,里面的每个元素都是 A -> A 的 arrow 。

为什么 C(A,A) 是一个 monoid 呢?因为我们可以定义一个符合结合律的二元运算 comp(函数组合),对任意的f,g属于 C(A,A),f、g 一定可comp(因为domain/codomian兼容),且由于 C 是一个范畴,comp 所得的结果也属于 C(A,A),而且 comp 运算符合结合律。再定义幺元为 id(这样 id comp f = f comp id 满足了 monoid 集合单位元的定义)

所以,monoid set A 看做 monoid category 时,我们不仅得到了一个单元素范畴,这个单元素范畴的态射构成的集合又得到了一个 monoid set