2016-07-30 268 views
13

在閱讀Bartosz優秀的Category theory for Programmers時,我陷入了第二個練習中,該練習涉及到posets中的產品。給定一個poset,產品和副本產品

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

如何定義產品的分類意義?什麼是由兩個對象的產品分類的?那副產品呢?

回答

15

讓我們一起來看看產品的定義,第一:

對象ab的產品配備了態射p :: c -> aq :: c -> b存在,使得對任何其他對象c'(與對象c態射p' :: c' -> aq' :: c' -> b),存在態射m :: c' -> c,使得p' = p . mq' = q . m

請記住,poset中的態射主要描述關係「小於或等於」。

現在產物c對象和b之間的兩個a必須小於或等於兩個ab的對象。作爲一個例子,讓我們選擇aebg從圖表:

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

中平凡,想到的是小於或等於任何其他對象總是的第一個對象是最小的對象,在這種情況下,a

現在是a產品eg的有效候選人?讓我們來看看產品的定義:

是否有從ae?是的,這存在並且可以寫爲pₐ = ce . ac(讀作:「首先是從a到c的箭頭,然後是從c到e的箭頭」)。

是否有從ag的morhism?是的,這也存在,可以寫成qₐ = cg . ac

到目前爲止這麼好,唯一的問題就是這是否是「最好的」候選者,因爲沒有其他對象存在,因此我們可以在a和另一個候選者之間構造一個獨特的同構?

看圖中,我們可以看到對象c也符合要求的標準,其中p = ceq = cg

所有剩下要做的就是根據上面的定義對這兩個對象進行排序。我們看到存在從ac的態射。這意味着c必須是最好的候選人,因爲我們現在可以定義態射m = ac,使得pₐ = p . m = ce . acqₐ = q . m = cg . ac

因此,poset中兩個對象的乘積實際上是兩者都小於兩者(也稱爲最大下界)的最大對象。值得注意的是,在總排序中,這對應於函數min(a, b),因爲每個對象都必須與任何其他對象相關聯(Wolfram將其稱爲trichotomy law)。


模數轉換器產品定義時,副產物對應於最小對象大於或等於兩個ab。在總排序中,這對應於兩個對象的最大值。你可以爲自己工作。