产品和副产品在邮政

时间:2016-07-30 12:28:26

标签: product category-theory poset

阅读Bartosz'优秀的Category theory for Programmers,我陷入了第二个练习,这个练习处理的是posets中的产品。鉴于一个明信片,

    b   e
  ↗   ⤭   ↘
a → c   f → h
  ↘   ⤭   ↗
    d   g

如何在分类意义上定义产品?什么是两个对象的产品分类?那副产品呢?

1 个答案:

答案 0 :(得分:18)

让我们首先看一下产品的定义:

  

对象ab的产品是配置有态射cp :: c -> a的对象q :: c -> b,对于任何其他对象{{} 1}}(使用态射c'p' :: c' -> a),存在一个态射q' :: c' -> bm :: c' -> cp' = p . m

请记住,poset中的态射基本上描述的是"小于或等于"。

现在,两个对象q' = q . mc之间的产品a必须是小于或等于ba的对象。例如,我们从您的图表中选择baeb

g

琐碎的是,第一个想到始终小于或等于任何其他对象的对象是最小的对象,在本例中为 b e -- this one is a ↗ ⤭ ↘ a → c f → h ↘ ⤭ ↗ d g -- this one is b

现在aae产品的有效候选人吗?让我们检查一下产品的定义:

ga是否存在态射?是的,这是存在的,可以写成e(读作:"首先是箭头从a到c,然后是箭头从c到e")。

是否存在从pₐ = ce . aca的过敏症?是的,这也存在,可以写成g

到目前为止,唯一的问题是,这是否是最好的'候选人在某种意义上是否存在其他对象,以便我们可以在qₐ = cg . ac和另一个候选人之间构建一个独特的同构?

查看图表,我们可以看到对象a也符合cp = ce所需的条件。

剩下要做的就是根据上面的定义对这两个对象进行排名。我们看到存在从q = cga的态射。这意味着c必须是最佳候选者,因为我们现在可以定义态射c,使m = acpₐ = p . m = ce . ac

因此,poset中两个对象的乘积实际上是最大的对象,它既小于两者(也称为最大下界)。值得注意的是,在总排序中,这对应于函数qₐ = q . m = cg . ac,因为每个对象必须与任何其他对象相关(Wolfram称之为trichotomy law)。

与产品定义类似,副产品对应于大于或等于min(a, b)a的最小对象。在总排序中,这对应于两个对象的最大值。你可以自己解决这个问题。