在閱讀Bartosz優秀的Category theory for Programmers時,我陷入了第二個練習中,該練習涉及到posets中的產品。給定一個poset,產品和副本產品
b e
↗ ⤭ ↘
a → c f → h
↘ ⤭ ↗
d g
如何定義產品的分類意義?什麼是由兩個對象的產品分類的?那副產品呢?
在閱讀Bartosz優秀的Category theory for Programmers時,我陷入了第二個練習中,該練習涉及到posets中的產品。給定一個poset,產品和副本產品
b e
↗ ⤭ ↘
a → c f → h
↘ ⤭ ↗
d g
如何定義產品的分類意義?什麼是由兩個對象的產品分類的?那副產品呢?
讓我們一起來看看產品的定義,第一:
對象
a
和b
的產品配備了態射p :: c -> a
和q :: c -> b
存在,使得對任何其他對象c'
(與對象c
態射p' :: c' -> a
和q' :: c' -> b
),存在態射m :: c' -> c
,使得p' = p . m
和q' = q . m
。
請記住,poset中的態射主要描述關係「小於或等於」。
現在產物c
對象和b
之間的兩個a
必須小於或等於兩個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
(讀作:「首先是從a到c的箭頭,然後是從c到e的箭頭」)。
是否有從a
到g
的morhism?是的,這也存在,可以寫成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將其稱爲trichotomy law)。
模數轉換器產品定義時,副產物對應於最小對象大於或等於兩個a
和b
。在總排序中,這對應於兩個對象的最大值。你可以爲自己工作。