偏序集中的积和副积

Products and coproducts in posets

在阅读 Bartosz 的优秀 Category theory for Programmers 时,我卡在了第二个练习中,该练习涉及 posets 中的产品。给定一个偏序集,

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

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

我们先来看看产品的定义:

A product of objects a and b is the object c equipped with morphisms p :: c -> a and q :: c -> b exist, such that for any other object c' (with morphisms p' :: c' -> a and q' :: c' -> b), there exists a morphism m :: c' -> c such that p' = p . m and q' = q . m.

请记住,偏序集中的态射基本上描述了关系 "less than or equal to"。

现在两个对象 ab 之间的乘积 c 必须是小于或等于 ab 的对象。例如,让我们从图表中选择 a 作为 eb 作为 g

    b   e -- this one is a
  ↗   ⤭   ↘
a → c   f → h
  ↘   ⤭   ↗
    d   g -- this one is b

通常,第一个想到 总是 小于或等于任何其他对象的对象是最小的对象,在本例中为 a

现在 aeg 乘积的有效候选者吗?让我们检查产品的定义:

是否存在从ae的态射?是的,这个存在,可以写成pₐ = ce . ac(读作:"first the arrow from a to c, then the arrow from c to e")。

ag有没有一个morhism?是的,这个也存在,可以写成qₐ = cg . ac.

到目前为止一切顺利,剩下的唯一问题是这是否是 'best' 候选对象,因为没有其他对象存在,我们可以在 a 和另一个对象之间构建唯一的同构候选人?

查看图表,我们可以看到对象 c 也满足要求的条件,p = ceq = cg

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

因此,偏序集中两个对象的乘积实际上是最大的对象,两者都小于两者(也称为最大下界)。值得注意的是,在总排序中,这对应于函数 min(a, b),因为每个对象都必须与任何其他对象相关(Wolfram 称之为 trichotomy law)。


类似于乘积定义,余积对应于大于或等于ab的最小对象。在总排序中,这对应于两个对象的最大值。你可以自己解决这个问题。