簡體   English   中英

在分類理論中,兩個空集可以同構嗎?

[英]In Category theory, can two empty sets be isomorphic with each other?

我是Haskell的初學者,我想創建一個函數來確定兩個列表之間是否存在同構。 我認為如果它們的長度相同> 0,答案是肯定的。

但是空集呢? 空集之間可以有同構嗎?

謝謝。

當然,這取決於類別!

在標准類別SET中,其中的對象是集合,而箭頭A-> B是將B的元素與A的每個元素相關聯的函數,表示空集合的任何兩個對象之間肯定存在同構關系-實際上,它們是同一對象!

也可以想象一個類別,其中集合充實了附加的代數結構(以便從該類別到SET有一個明智的健忘函子),盡管健忘函子將兩個對象映射到兩個對象,但附加代數結構仍可以區分兩個對象空集,在這種情況下,它們之間可能沒有同構。

在Haskell中,我們通常將類型視為類別中的對象,而不是單個值。 除非我們定義列表是對象的“自定義”類別,否則詢問一個列表(一個值)是否與其他列表同構是沒有意義的。 在后一種情況下,答案取決於我們如何定義類別。

無論如何,在集合的類別中,給定任何集合A ,從空集合{}A恰好有一個函數(態射) f : {} -> A 這是具有空域的唯一功能,恰好與空集重合。 為了幫助理解這一點,請記住函數f : X -> Y是一組對

f = {(x0,y0),(x1,y1),....}
  with x0,x1,... in X, and y0,y1,... in Y

這樣

for any x in X there is a unique y in Y satisfying (x,y) in f

X = {} ,我們不能x0,x1,... in X選擇x0,x1,... in X ,因此唯一的選擇是讓f = {} ,即“空對對”。 f是一個函數,因為條件降低到

for any x in {} .......

這是一個虛無的事實,因為對空集的普遍量化始終是正確的。

因此,對於任何A ,只有一個函數f : {} -> A 即使A = {}也是如此,在這種情況下, f : {} -> {}也是同構的。 實際上,我們有f = id (因為沒有其他函數!)和f . f = f = id f . f = f = id (因為沒有其他函數!),因此f是其自身的逆。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM