在阅读 Bartosz 为程序员编写的优秀类别理论时,我陷入了第二个练习,该练习处理的是 posets 中的产品。给定一个poset,
b e
↗ ⤭ ↘
a → c f → h
↘ ⤭ ↗
d g
如何在分类意义上定义产品?什么是按两个对象的乘积分类的?那么副产品呢?
在阅读 Bartosz 为程序员编写的优秀类别理论时,我陷入了第二个练习,该练习处理的是 posets 中的产品。给定一个poset,
b e
↗ ⤭ ↘
a → c f → h
↘ ⤭ ↗
d g
如何在分类意义上定义产品?什么是按两个对象的乘积分类的?那么副产品呢?
我们先来看看产品的定义:
对象的乘积
a
和b
是c
具有态射p :: c -> a
和q :: c -> b
存在的对象,使得对于任何其他对象c'
(具有态射p' :: c' -> a
和q' :: c' -> b
),存在m :: c' -> c
这样的态射p' = p . m
和q' = q . m
。
请记住,偏序集中的态射基本上描述了“小于或等于”的关系。
现在c
两个对象a
和之间的乘积b
必须是一个小于或等于a
和的对象b
。例如,让我们从图表中选择a
ase
和b
as :g
b e -- this one is a
↗ ⤭ ↘
a → c f → h
↘ ⤭ ↗
d g -- this one is b
平凡地,想到的第一个总是小于或等于任何其他对象的对象是最小的对象,在这种情况下a
。
现在是和a
的乘积的有效候选者?让我们检查一下产品的定义:e
g
a
从到有态射e
吗?是的,这存在并且可以写成pₐ = ce . ac
(读作:“首先是从 a 到 c 的箭头,然后是从 c 到 e 的箭头”)。
a
从到有 morhismg
吗?是的,这也存在,可以写成qₐ = cg . ac
.
到目前为止这么好,剩下的唯一问题是这是否是“最佳”候选者,因为不存在其他对象,因此我们可以在a
和另一个候选者之间构建唯一的同构?
查看图表,我们可以看到该对象c
也满足所需的条件,其中p = ce
和q = cg
。
剩下要做的就是根据上述定义对这两个对象进行排名。我们看到存在从a
到的态射c
。这意味着c
必须是最佳候选,因为我们现在可以定义态射和。m = ac
pₐ = p . m = ce . ac
qₐ = q . m = cg . ac
因此,一个poset中两个对象的乘积实际上是最大的对象,它都小于两者(也称为最大下界)。值得注意的是,在总排序中,这对应于函数min(a, b)
,因为每个对象都必须与任何其他对象相关(Wolfram 将此称为三分法)。
类似于乘积定义,联积对应于大于或等于两者的最小对象a
和b
。在总排序中,这对应于两个对象的最大值。你可以自己解决这个问题。