Teoria kategorii dla informatyków/Wykład 8: Diagramy, granice i kogranice

Z Studia Informatyczne
Przejdź do nawigacjiPrzejdź do wyszukiwania

Podczas tego wykładu zobaczymy, że diagramy, które tak przecież promuje teoria kategorii, są również funktorami. Przekonamy się też, że obiekty i strzałki uniwersalne, które poznaliśmy do tej pory, np. produkt, pulbak, ekwalizator, koprodukt, pushout, itd. są szczególnymi przypadkami pojęć granicy i kogranicy.

Diagramy

Niech 𝐉 i 𝐂 będą kategoriami. Zastanówmy się, w jaki sposób interpretować dowolny funktor - niech nazywa się D - typu 𝐉𝐂. Wiemy - Definicja 5.1 - że funktor D:𝐉𝐂 jest operacją przypisującą obiektom 𝐉0 obiekty 𝐂0 i morfizmom 𝐉1 morfizmy 𝐂1. Innymi słowy, funktor D jest operacją, która indeksuje obiekty i morfizmy kategorii 𝐂 obiektami i morfizmami kategorii 𝐉. Aksjomaty, którym podlegają funktory, narzucają nam pewien porządek, styl indeksowania: po pierwsze - identyczności w 𝐂 mogą być indeksowane jedynie przez identyczności, po drugie - poindeksowane strzałki w 𝐂 składają się dokładnie wtedy, gdy są obrazem pewnego złożenia w 𝐉. Oto przykład: jeśli 𝐉 jest następującą kategorią:

(jak zwykle nie musimy rysować identyczności!), to jej obraz w kategorii 𝐂 wygląda tak:

(gdzie z premedytacją piszemy Di zamiast D(i), Dα zamiast D(α) itd.). Widzimy, że obraz kategorii𝐉 w kategorii 𝐂 jest... diagramem! Pamiętając to spostrzeżenie, bez większych wahań zaakceptujemy następującą definicję:


Definicja 8.1 [Diagram]

Niech 𝐉 i 𝐂 będą kategoriami. Diagramem typu 𝐉 w 𝐂 nazywamy funktor
D:𝐉𝐂

Mimo uderzającej prostoty powyższej definicji niektóre diagramy mogą mieć skomplikowany kształt:

Granice i kogranice

Stożek nad diagramem D składa się z obiektu X𝐂0 i rodziny strzałek

cj:XDj

po jednej dla każdego obiektu j𝐉0, takich że dla każdej strzałki α:ij𝐉1 diagram

komutuje. Powyższy rysunek, miejmy nadzieję, wyjaśnia nazwę stożek. Obiekt X nazywa się często wierzchołkiem stożka.

Ktoś spostrzegawczy zapewne zauważył już, że rodzina strzałek {cj}j𝐉0 nadaje się na komponenty pewnej transformacji naturalnej. Tak jest rzeczywiście: wystarczy potraktować c:ΔXD jako transformację z funktora stałego ΔX:𝐉𝐂:

ΔX(j):=X
ΔX(α):=1X

do funktora D. Komutowanie diagramu powyżej to nic innego, tylko odbicie naturalności transformacji c, nieprawdaż?

Stożek o wierzchołku X oznaczamy jako (X,cj) lub (X,c) lub

{cj:XDjj𝐉0}

Stożki również tworzą kategorię: morfizmem stożków f:(X,c)(Y,d) nazywamy strzałkę f:XY𝐂0 taką, że:

komutuje dla każdego j𝐉0, tzn. j𝐉0 djf=cj. Kategorię stożków nad diagramem D oznaczamy 𝐂𝐨𝐧𝐞(D).

Pewne stożki są uniwersalne. Nazywają się granicami (lub stożkami granicznymi):


Definicja 8.2 [granica diagramu]

Granicą (stożkiem granicznym) diagramu D:𝐉𝐂 nazywamy obiekt końcowy w 𝐂𝐨𝐧𝐞(D) i oznaczamy go jako lim𝐉D lub limjDj.


Innymi słowy, stożek (X,c) nad D:𝐉𝐂 jest granicą, jeśli dla dowolnego innego stożka (Y,d) istnieje dokładnie jedna strzałka g:YX, która jest morfizmem stożków, tzn. taka że poniższy diagram komutuje dla każdego j𝐉0:

Dualnie, kogranicą lub granicą odwrotną

D:𝐉𝐂

nazywamy obiekt początkowy w kategorii kostożków

𝐂𝐨𝐜𝐨𝐧𝐞(D)

. (Kostożek nad diagramem

D

składa się z obiektu

X𝐂0

i rodziny strzałek

cj:DjX

po jednej dla każdego obiektu

j𝐉0

, takich że dla każdej strzałki

α:ij𝐉1

mamy

cjDα=ci

.) Kogranicę oznaczymy jako

lim𝐉D

lub

limjDj

.

Przykłady:

  • Produkt jest granicą diagramu typu:

Ponieważ jest to pierwszy przykład tego typu, bardzo wnikliwie opiszemy go i dowiedziemy prawdziwości powyższego, przedstawionego w telegraficznym skrócie, stwierdzenia. A zatem bierzemy 𝐉={1,2} kategorię dyskretną z dwoma obiektami 1 i 2 i dwoma morfizmami (tzn. nie ma strzałek innych poza identycznościami) (rysunek jak wyżej). Diagramem D:𝐉𝐂 jest para obiektów D1,D2𝐂0. Stożkiem nad D jest obiekt X𝐂0 wraz z dwoma strzałkami c1:XD1 i c2:XD2, tzn.

Zgodnie z tym, co tłumaczyliśmy tuż pod Definicją 5.2, tenże (X,{c1,c2}) jest granicą D, jeśli dla dowolnego innego stożka

istnieje dokładnie jedna strzałka g:YX taka, że diagram

komutuje. Innymi słowy, (X,{c1,c2}) jest produktem:

lim𝐉(D)=X=D1×D2
  • Granicą diagramu D:𝟎𝐂, gdzie 𝟎 jest kategorią pustą, jest obiekt końcowy w 𝐂. Kogranicą D jest obiekt początkowy w 𝐂. Co więcej, 𝐂𝐨𝐧𝐞(D) jest kategorią izomorficzną z 𝐂 w 𝐂𝐚𝐭.
  • Ekwalizator jest granicą diagramu typu
  • Pulbak jest granicą diagramu typu
  • Pushout jest kogranicą diagramu typu

Uogólniając dwa pierwsze przykłady powyżej, jeśli I jest zbiorem (tj. kategorią dyskretną), zaś {XiiI} jest indeksowaną kolekcją obiektów z 𝐂, to ich produktem

ΠiIXiπiXi

nazywamy granicę diagramu I𝐂. Mówimy, że ten produkt ma moc równą mocy zbioru I. W ogólności, dla małej kategorii 𝐉, jej moc będziemy definiować jako moc kolekcji morfizmów 𝐉1. Wtedy mocą granicy diagramu 𝐉𝐂 nazwiemy moc kategorii 𝐉. Na przykład: małą granicą nazwiemy granicę diagramu małego typu.

Pokażmy następujące twierdzenie, które jest naturalnym uogólnieniem Wniosku 3.10:


Twierdzenie 8.3

Niech 𝐂 będzie kategorią, w której istnieją wszystkie ekwalizatory. Jeśli 𝐉 jest małą kategorią i w 𝐂 istnieją wszystkie produkty mocy mniejszej lub równej mocy 𝐉, to w 𝐂 istnieją wszystkie granice typu 𝐉.

Dowód

Niech D:𝐉𝐂 będzie diagramem. Połóżmy:
X:=Πi𝐉0Di
Y:=Πα𝐉1Dcod(α)

Niech f,g:XY będą jedynymi strzałkami, dla których poniższe diagramy komutują (dla każdego α):

Niech

będzie ekwalizatorem f i g. Zdefiniujmy:

cj:EeXπjDj

dla każdego j𝐉0. Te strzałki tworzą stożek nad D, ponieważ dla dowolnego α:ij𝐉1

Dαcj=Dαπie=παfe=παge=πje=cj

Co więcej, dla dowolnego innego stożka (Z,dj) mamy morfizm h:ZX z πjh=dj. Dlatego:

παfh=Dαπdom(α)h=Dαddom(α)=dcod(α)=παgh

dla dowolnego α𝐉1. A zatem fh=gh. Mamy więc następującą sytuację:

tzn. z faktu, że E jest ekwalizatorem wynika, że istnieje dokładnie jedna strzałka k:ZE, która spełnia ek=h. Tak więc:

dj=cjk=πjek=πjh

czyli h jest morfizmem stożków. To kończy dowód faktu, że (E,c) jest granicą D.


Wniosek 8.4

  1. Kategoria 𝐂 ma wszystkie granice danej mocy wtedy i tylko wtedy, gdy ma wszystkie produkty i ekwalizatory tej mocy.
  2. Kategoria 𝐂 ma wszystkie kogranice danej mocy wtedy i tylko wtedy, gdy ma koprodukty i koekwalizatory tejże mocy.
  3. Kategoria 𝐂 ma skończone granice wtedy i tylko wtedy, gdy ma skończone koprodukty i skończone koekwalizatory.
  4. Jeśli 𝐂 ma ekwalizatory i wszystkie małe produkty, to ma wszystkie małe granice.
  5. Jeśli 𝐂 ma obiekt końcowy i pulbaki, to ma wszystkie skończone granice.

Dowód

(1),(2),(4) to oczywiste wnioski. (3) wynika z (2), co też czyni go oczywistym wnioskiem. (5) Istnienie obiektu końcowego i pulbaków daje skończone produkty i ekwalizatory (Zadanie 3.4), więc (5) wynika teraz z (4).

Kategorie kartezjańsko zamknięte zdefiniowaliśmy już w Wykładzie 4., patrz Definicja 4.2. Uzupełnijmy naszą wiedzę o pojęcia pokrewne:


Definicja 8.5

Kategoria 𝐂 jest:
  • kartezjańska jeśli posiada wszystkie skończone granice;
  • właściwie kartezjańsko zamknięta jeśli jest lokalnie mała, posiada wszystkie skończone granice i eksponent.
  • (ko)zupełna jeśli posiada wszystkie małe (ko)granice.

Przykłady:

  • Kategoria zbiorów 𝐒𝐞𝐭 ma (ko)ekwalizatory i wszystkie małe (ko)produkty. Zgodnie z powyższym Wnioskiem 8.4, ma wszystkie małe (ko)granice, a zatem jest (ko)zupełna. Dla D:𝐉𝐒𝐞𝐭 mamy:
lim𝐉D={(xj)j𝐉0Πj𝐉0djα:ij  Dα(xi)=xj}

razem z projekcjami πj:lim𝐉Ddj, (xj)j𝐉0xj.

  • Poset (P,) jako kategoria jest zupełny wtedy i tylko wtedy, gdy jest zupełny w sensie teorii porządku, tj. gdy posiada wszystkie infima. Ten warunek jest równoważny (dowód Zadania 12.4 da się łatwo zmodyfikować, by wykazać tę równoważność) warunkowi, że P posiada dowolne suprema.
  • Uogólnieniem poprzedniego przykładu jest stwierdzenie: każda kategoria 𝐂, która jest małym preporządkiem jest zupełna wtedy i tylko wtedy, gdy jest kozupełna. To stwierdzenie nie pozostaje w mocy, gdy 𝐂 jest duża. Dalsze informacje zawiera Zadanie 8.2.

(Ko)granice w kategoriach funktorów

Jest znanym faktem, że jeśli L jest kratą zupełną, to zbiór wszystkich funkcji monotonicznych o kodziedzinie L, uporządkowany po współrzędnych, jest również kratą zupełną. Innymi słowy, przestrzenie funkcyjne zwykle dziedziczą' strukturę z kodziedziny. To zjawisko jest uniwersalne, co pokażemy poniżej.


Twierdzenie 8.6 [(Ko)granice w kategoriach funktorów]

Niech 𝐂 będzie lokalnie mała. Jeśli kategoria 𝐃 ma (ko)granice typu 𝐉, to kategoria funktorów [𝐂,𝐃] też.

Dowód

Zauważmy, że diagram D:𝐉[𝐂,𝐃] może być traktowany jako funktor

D:𝐉×𝐂𝐃. Z założenia, dla każdego X𝐂0 diagram:

D(,X):𝐉𝐃

ma pewną granicę, nazwijmy ją:

{cj,X:L(X)D(j,X)j𝐉0}

Dla dowolnej strzałki f:XX dostajemy zatem stożek nad D(,X):

{L(X)cj,XD(j,X)D(1j,f)D(j,X)j𝐉0}

który faktoryzuje się przez granicę diagramu D(,X), jak na rysunku:

Jedyność strzałki L(f) implikuje, że L(1X)=1L(X) oraz L(gf)=L(g)L(f). To znaczy, że L jest funktorem, L[𝐂,𝐃]0. Co więcej, powyższy rysunek pokazuje też, że cj,:LD(j) jest strzałką w [𝐂,𝐃]. Ponieważ każda kolekcja

{cj,Xj𝐉0}

jest stożkiem, dostajemy:

któryż to diagram komutuje dla każdego α:ij𝐉1. To znaczy, że

{cj:LD(j)j𝐉0}

jest stożkiem nad D.

Mając dany dowolny inny stożek

{dj:MD(j)j𝐉0}

nad D,

{dj,X:M(X)D(j,X)j𝐉0}

jest stożkiem nad D(,X), który w związku z tym faktoryzuje się przez stożek graniczny:

A zatem jedyność ϕX sprawia, że ϕ:ML jest transformacją naturalną i jedyną strzałką w [𝐂,𝐃], która sprawia, że poniższy diagram komutuje:

dla każdego j𝐉0. A zatem pokazaliśmy, że

{cj:LD(j)j𝐉0}
jest granicą diagramu D w [𝐂,𝐃].

W szczególności, kategoria [𝐂op,𝐒𝐞𝐭], o której mówiliśmy już wielokrotnie, jest zupełna i kozupełna (bo 𝐒𝐞𝐭 jest zupełna i kozupełna). Można również udowodnić - dowód jest nietrudny, ale nie przedstawimy go podczas naszego wykładu - że [𝐂op,𝐒𝐞𝐭] jest kartezjańsko zamknięta. W tym celu musielibyśmy w końcu dokładnie pokazać dowód istnienia naturalnego izomorfizmu:

[𝐂op,𝐒𝐞𝐭](A×B,C)[𝐂op,𝐒𝐞𝐭](A,[B,C])

dla A,B,C[𝐂op,𝐒𝐞𝐭]0, czego - niestety - nie podejmiemy się tutaj.

Innym wnioskiem wynikającym z dowodu powyższego twierdzenia jest:

Wniosek 8.7 [granice w kategoriach funktorów]

Dla dowolnej lokalnie małej kategorii 𝐂 i kategorii (ko)zupełnej 𝐃, granice w [𝐂,𝐃] są liczone po współrzędnych, tj. istnieje naturalny izomorfizm
(lim𝐉F)(X)lim𝐉F(X)
dla dowolnego funktora F:𝐂𝐃 i obiektu X𝐂0.