偏序集中的积和副积
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"。
现在两个对象 a
和 b
之间的乘积 c
必须是小于或等于 a
和 b
的对象。例如,让我们从图表中选择 a
作为 e
和 b
作为 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
(读作:"first the arrow from a to c, then the arrow from c to e")。
从a
到g
有没有一个morhism?是的,这个也存在,可以写成qₐ = cg . ac
.
到目前为止一切顺利,剩下的唯一问题是这是否是 'best' 候选对象,因为没有其他对象存在,我们可以在 a
和另一个对象之间构建唯一的同构候选人?
查看图表,我们可以看到对象 c
也满足要求的条件,p = ce
和 q = cg
。
剩下要做的就是根据上述定义对这两个对象进行排序。我们看到存在从 a
到 c
的态射。这意味着 c
必须是最佳候选者,因为我们现在可以定义态射 m = ac
使得 pₐ = p . m = ce . ac
和 qₐ = q . m = cg . ac
.
因此,偏序集中两个对象的乘积实际上是最大的对象,两者都小于两者(也称为最大下界)。值得注意的是,在总排序中,这对应于函数 min(a, b)
,因为每个对象都必须与任何其他对象相关(Wolfram 称之为 trichotomy law)。
类似于乘积定义,余积对应于大于或等于a
和b
的最小对象。在总排序中,这对应于两个对象的最大值。你可以自己解决这个问题。
在阅读 Bartosz 的优秀 Category theory for Programmers 时,我卡在了第二个练习中,该练习涉及 posets 中的产品。给定一个偏序集,
b e
↗ ⤭ ↘
a → c f → h
↘ ⤭ ↗
d g
如何在分类意义上定义产品?根据两个对象的乘积分类什么?那么副产品呢?
我们先来看看产品的定义:
A product of objects
a
andb
is the objectc
equipped with morphismsp :: c -> a
andq :: c -> b
exist, such that for any other objectc'
(with morphismsp' :: c' -> a
andq' :: c' -> b
), there exists a morphismm :: c' -> c
such thatp' = p . m
andq' = q . m
.
请记住,偏序集中的态射基本上描述了关系 "less than or equal to"。
现在两个对象 a
和 b
之间的乘积 c
必须是小于或等于 a
和 b
的对象。例如,让我们从图表中选择 a
作为 e
和 b
作为 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
(读作:"first the arrow from a to c, then the arrow from c to e")。
从a
到g
有没有一个morhism?是的,这个也存在,可以写成qₐ = cg . ac
.
到目前为止一切顺利,剩下的唯一问题是这是否是 'best' 候选对象,因为没有其他对象存在,我们可以在 a
和另一个对象之间构建唯一的同构候选人?
查看图表,我们可以看到对象 c
也满足要求的条件,p = ce
和 q = cg
。
剩下要做的就是根据上述定义对这两个对象进行排序。我们看到存在从 a
到 c
的态射。这意味着 c
必须是最佳候选者,因为我们现在可以定义态射 m = ac
使得 pₐ = p . m = ce . ac
和 qₐ = q . m = cg . ac
.
因此,偏序集中两个对象的乘积实际上是最大的对象,两者都小于两者(也称为最大下界)。值得注意的是,在总排序中,这对应于函数 min(a, b)
,因为每个对象都必须与任何其他对象相关(Wolfram 称之为 trichotomy law)。
类似于乘积定义,余积对应于大于或等于a
和b
的最小对象。在总排序中,这对应于两个对象的最大值。你可以自己解决这个问题。