-sheaf 的概念有點難解,這個定義是在模擬從小的opens(局部)往大的opens(整體)前進的時候,每個在整體上的定義都可以分成局部的定義,而局部的定義黏起來會得到整體的定義這樣的匹配性,而且局部之間的交疊必須匹配。對於具體的sheaf,可以參考這裡
從topological space的opens構成的locale抽象化到category之後,我們就從opens變成操作objects;coverings變成sieves;在open 上定義的某類函數抽象化成presheaf,因為我們想讓框架適用於所有類型的函數,而且我們發現函數並不是必要的條件,我們只需要這些東西在某個意義上表現的像函數,因此presheaf僅僅是說,對於object 會有一個對應的集合,並且在morphism上我們contravariant(以符合幾何的直覺)。-sheaf也因此等於在問,對於這樣抽象的 topology 與「函數」,什麽算是在交集處互相同意對方的值?
category中沒有交集的概念,sieve的composition closure確保了如果 ,那任何composable 有 ,這就取代了交集扮演的角色
我們把 -sheaf的定義攤開來變成圖:對每個 -covering sieve 的每個元素 (它指出了一個更小的object)來說,都可以指定一個在更小的objects上定義的「函數」 ,而「函數」再往更小的地方切分的時候也依然跟 互相協調,也就是條件 ,這樣我們就成功的用category的語言描述了局部函數在更細的切分下彼此吻合的概念
這張圖的下半部是 裡面的狀況 ,上半部是 裡面的狀況 。我用帶有圓圈的箭頭代表這些「函數定義在」object(open)上的概念
如果對每個滿足上述相容條件的family(即matching family),我們能夠確定整體上存在且只有唯一一個「函數」 滿足這點的話,我們就說 是一個 -sheaf。這就是條件 的意義