Test Arka
Moduł: Teoria kategorii jako abstrakcyjna teoria funkcji
Teoria kategorii jako ogólny dział algebry wyrosła z prac Samuela Eilenberga i Saundersa MacLane'a: pionierską pracą jest tu General theory of natural equivalences, Transactions of the American Mathematical Society 58 (1945), pp. 231-294 -- autorzy wprowadzili tam pojęcie kategorii, funktora i naturalnej transformacji funktorów. Teoria kategorii szybko przekroczyła granice algebry i jej język okazał się uniwersalnym sposobem mówienia o innych teoriach matematycznych: logice, teorii zbiorów, topologii, teorii porządku, geometrii, analizie itd. Jak to możliwe? Treść tych wykładów stanowi jedną z odpowiedzi na to pytanie.
Przekształcenia i ich algebra
Zacznijmy od niegroźnego przeformułowania dwóch znanych pojęć z teorii mnogości.
Jak pamiętamy, funkcja jest bijekcją jeśli jest różnowartościową surjekcją, tj. Parser nie mógł rozpoznać (błąd składni): {\displaystyle \forall x,y\in A\ f(x)=f(y)\Rightarrow x=y} oraz
Zauważmy, że drugi warunek pozwala nam każdemu elementowi zbioru przyporządkować element zbioru , zaś warunek pierwszy mówi, że to przekształcenie (nazwijmy je ) jest funkcją (śmiało napiszmy więc ). W tym świetle z warunku drugiego wynika, że złożenie jest funkcją identycznościową na zbiorze , a stąd wynika , co w połączeniu z pierwszym warunkiem oznacza, że jest identycznością na zbiorze . Idąc dalej tym tropem (patrz Zadanie Uzupelnic mod1:zad1|) jesteśmy w stanie bez trudu pokazać, że:
Fakt [Uzupelnij]
taka, że oraz
.Sam wynik nie wygląda, być może, ekscytująco, ale w koniunkcji z kolejnymi przykładami pozwoli nam wyciągnąć ekscytujące wnioski.
Rozważmy zatem zbiór liczb naturalnych Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{nat}} . Teoria mnogości definiuje Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{nat}} jako najmniejszy zbiór zawierający liczbę zero i spełniający: Parser nie mógł rozpoznać (błąd składni): {\displaystyle n\in \mathrm\bf{nat} \Rightarrow \mathrm{succ}(n)\in \mathrm\bf{nat}} , gdzie Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm{succ}\colon \mathrm\bf{nat}\to \mathrm\bf{nat}} jest funkcją następnika (która jest injektywna i posiada tę właściwość, że dla dowolnego Parser nie mógł rozpoznać (błąd składni): {\displaystyle n\in \mathrm\bf{nat}} ). Okazuje się, że zbiór liczb naturalnych można wyróżnić spośród innych zbiorów w ten sposób (Zadanie Uzupelnic mod1:zad2|):
Fakt [Uzupelnij]
naturalnych Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{nat}} jest to zbiór zawierający liczbę zero oraz wyposażony w funkcję Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm{succ}\colon \mathrm\bf{nat}\to \mathrm\bf{nat}} taką, że: dla dowolnego zbioru
i elementu oraz funkcji istnieje dokładnie jedna funkcja Parser nie mógł rozpoznać (błąd składni): {\displaystyle f\colon \mathrm\bf{nat}\to X} spełniająca dwa warunki: oraz .Dwa powyższe przykłady wskazują na to, że definicje teorii mnogości można wyrażać operując jedynie pojęciem funkcji i złożenia funkcji (zauważmy, że elementy zbiorów można traktować jako funkcje, których dziedziną jest singleton). Postawmy więc śmiałe pytanie: czy można prezentować różnorodne teorie matematyczne badając jedynie własności przekształceń obiektów matematycznych będących przedmiotem zainteresowania danej teorii? A zatem pytamy czy: można prezentować teorię mnogości badając własności funkcji między zbiorami, teorię grup badając własności homomorfizmów grup, topologię badając własności funkcji ciągłych pomiędzy przestrzeniami topologicznymi? W ogólności zapytajmy więc jeszcze raz: czy można badać dowolne obiekty matematyczne z określoną strukturą za pomocą własności przekształceń, które tę strukturę zachowują?
Odpowiedź brzmi: tak -- i ta właśnie twierdząca odpowiedź powołuje do życia teorię kategorii. Teoria kategorii składa się bowiem z twierdzeń dotyczących uniwersalnych własności przekształceń, niezależnych od cech szczególnych danych teorii matematycznych. Tak więc, teoria kategorii bada wspólne, uniwersalne własnościami zbiorów, grup, przestrzeni topologicznych, przestrzeni wektorowych, częściowych porządków, i tak dalej, wszystko w języku przekształceń danej struktury.
Czy da się krótko, nieformalnie zebrać najważniejsze cechy przekształceń -- cechy niezależne od konkretnej teorii matematycznej? Spróbujmy! Zaczynamy od nazwy: przekształcenie nazywać będziemy również morfizmem (bo w przeróżnych teoriach matematycznych natykamy się na homomorfizmy, homeomorfizmy, endomorfizmy, itd.) lub po prostu strzałką (bo tak zwykle graficznie przedstawia się przekształcenia). Przekształcenie działa pomiędzy obiektami, np. funkcja to przekształcenie zbiorów, homomorfizm to przekształcenie grupy w grupę, funkcja ciągła to przekształcenie przestrzeni topologicznej w przestrzeń topologiczną, funkcja monotoniczna to przekształcenie posetu w poset, itd. (Załóżmy na początku dla prostoty, że w naszych przykładach nie bierzemy pod uwagę przekształceń obiektów pewnej klasy w obiekty innej klasy, na przykład wyznacznika, który przekształca macierz w liczbę. Takimi morfizmami zajmiemy się poźniej.) Każde przekształcenie działa na pewien jedyny obiekt, nazwijmy go dziedziną i oznaczmy Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\it{dom}(f)} , i przekształca go w inny jedyny obiekt nazywany przeciwdziedziną i oznaczany jako Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\it{cod}(f)} . Fakt, że morfizm ma dziedzinę i przeciwdziedzinę zapisujemy
{Tu wstawić brakujący rysunek o numerze 1.1}
lub po prostu . Nasza teoria nie może istnieć bez pojęcia złożenia przekształceń: zakładamy, że dwóm morfizmom takim, że (strzałki takie nazywamy składalnymi) przypisujemy morfizm zwany złożeniem, dla którego mamy i . Przykłady wskazują na to, że kolejność złożenia składalnych przekształceń nie powinna grać roli, czyli dla:
{Tu wstawić brakujący rysunek o numerze 1.2}
morfizm:
{Tu wstawić brakujący rysunek o numerze 1.3}
może powstać albo z:
{Tu wstawić brakujący rysunek o numerze 1.4}
albo, równoważnie, z:
{Tu wstawić brakujący rysunek o numerze 1.5}
W końcu, w naszej nieformalnej teorii przekształceń postulujemy istnienie przekształceń, które - jak to się potocznie mówi: nic nie zmieniają, tak zwanych identyczności:
{Tu wstawić brakujący rysunek o numerze 1.6}
To kończy nieformalny opis języka, w którym główną rolę grają przekształcenia. Zapiszmy to teraz formalnie.
Definicja kategorii
Definicja [Uzupelnij]
składa się z następujących danych:
- (D1): obiektów: ,
- (D2): morfizmów: ,
- (D3): dwóch operacji
przypisującej każdemu morfizmowi obiekty i ,
- (D4): operacji przypisującej każdemu obiektowi
morfizm nazywany identycznością,
- (D5): operacji przypisującej każdej parze
morfizmów takich, że morfizm nazywany złożeniem,
spełniających następujące aksjomaty:
- (A1): ;
; ,
- (A2): , gdzie
oraz ,
- (A3): jeśli są składalne oraz
są składalne, to .
Kolekcję obiektów kategorii będziemy w dalszym ciągu oznaczać jako , zaś kolekcję jej morfizmów jako .
{Tylko dla dociekliwych: Wiemy więc z czego składa się kategoria. Nie znamy jednak odpowiedzi na -- być może -- równie ważne pytanie: czym jest kategoria? W naszym wykładzie przyjmiemy po prostu, że kategorią będzie każda interpretacja aksjomatów przedstawionych w Definicji Uzupelnic mod1:def:kategria1| na gruncie teorii mnogości.}
Pokażmy, że o kategorii można też myśleć jako o specjalnym grafie skierowanym. Oto druga, równie dobra dla naszych potrzeb, definicja kategorii:
Definicja [Uzupelnij]
skierowanym nazywamy kolekcję obiektów (wierzchołków) , kolekcję strzałek (krawędzi) i dwie funkcje
{Tu wstawić brakujący rysunek o numerze 1.7}
W grafie, kolekcja składalnych par strzałek to zbiór nazywany produktem nad . O kategorii można myśleć jako o grafie skierowanym , który posiada dwie dodatkowe funkcje , oraz , takie, że spełnione są warunki (A1)--(A3) Definicji
Uzupelnic mod1:def:kategria1|.Poniżej pokażemy trzecią, równoważną, algebraiczną definicję kategorii (na podstawie książki: Peter J. Freyd, Andre Scedrov, Categories, Allegories, North Holland, 1989).
Definicja [Uzupelnij]
składa się z dwóch operacji unarnych i jednej częściowej operacji binarnej. Zmienne, na które działają te operacje nazywamy morfizmami (strzałkami). Wartości tych operacji są zapisywane i czytane jako:
{Tu wstawić brakujący rysunek o numerze 1.8}
Operacje podlegają następującym aksjomatom:
- (b1): jest zdefiniowane wtw, gdy ,
- (b2): oraz ,
- (b3): oraz ,
- (b4): oraz
- (b5): .
W tym wypadku równoważność definicji z dwiema pozostałymi (Definicje Uzupelnic mod1:def:kategria1| i Uzupelnic mod1:def:kategoria2|) nie jest oczywista. Aby ją wykazać, rozpocznijmy od lematu, który rzuci trochę światła na strukturę algebraiczną, którą przed chwilą opisaliśmy.
Lemat [Uzupelnij]
morfizmu następujące warunki są równoważne: istnieje taki, że ; istnieje taki, że ; ; ; dla każdego , (co oznacza, że jeśli złożenie jest zdefiniowane, to jest równe ), dla każdego , .
{Dowód} (1)(2) Dla mamy . (2)(3) . (3)(4) . (4)(5) Załóżmy, że jest zdefiniowane dla każdego ; to oznacza, że , czyli z (4), dla każdego . A zatem . (3)(1) Oczywiste. (4)(3) . (5)(4) Połóżmy . Mamy , czyli istnieje. Z (5) wynika, że . Ale (b3) implikuje, że , czyli . Dowód
równoważności (6) z (3) jest podobny do równoważności (5) z (4).Morfizm spełniający dowolny z powyższych warunków nazywamy identycznością.
A zatem równoważność trzeciej definicji kategorii z pierwszą uzyskujemy następująco (tak naprawdę, to pokażemy jedynie, że dane Definicji Uzupelnic mod1:def:kategoria3| wystarczą do zrekonstruowania Definicji Uzupelnic mod1:def:kategria1|: Identyczność to zmienna taka, że . Dziedziną jest , przeciwdziedziną . Złożenie to . Kolekcja obiektów Definicji Uzupelnic mod1:def:kategria1| pokrywa się z kolekcją morfizmów identycznościowych Definicji Uzupelnic mod1:def:kategoria3|. Zauważmy, że dla dowolnego , zarówno , jak i są obiektami (identycznościami), bo , , , .
Sprawdźmy aksjomaty: . Aby pokazać, że jest morfizmem, załóżmy, że (czyli ) oraz (czyli )). Wówczas , .
Załóżmy teraz, że . Wówczas . Ostatnia równość wynika z poprzedniego paragrafu. Podobnie, .
W końcu, przy odpowiednich założeniach.
Przykłady kategorii
- : Obiektami są zbiory, morfizmami funkcje.
Uwaga! W teorii mnogości funkcja jest zdefiniowana jako zbiór par uporządkowanych takich, że
Aby traktować funkcje jako morfizmy musimy precyzyjnie znać i . Na przykład funkcje oraz , które mają takie samo działanie na argumentach, będą traktowane jako dwa różne morfizmy. Formalnie, w języku teorii mnogości morfizmem będzie trójka taka, że spełnia powyższe równanie (Uzupelnic eq:funkcja|) wraz z poniższym:
Wtedy jest projekcją na pierwszą współrzędną , a projekcją na trzecią współrzędną.
- Kategoria zbiorów skończonych i funkcji , jak również wiele innych kategorii, w których obiektami
i morfizmami są ograniczone klasy zbiorów i funkcji, np. kategoria wszystkich zbiorów skończonych i injekcji.
- Kategorie, w których obiektami są zbiory z pewną dodatkową
stukturą algebraiczną, zaś morfizmami te funkcje, które tę strukturę zachowują.
- : Przestrzenie wektorowe i odwzorowania
liniowe
- : Grupy i homomorfizmy grup
- : Grupy abelowe i homomorfizmy grup
- : Monoidy i homomorfizmy monoidów
- : Częściowe porządki i funkcje monotoniczne
- : Przestrzenie topologiczne i funkcje ciągłe
- : Grafy i homomorfizmy grafów
- liczby naturalne Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{nat}} i wszystkie funkcje
obliczalne
- Mając dowolny częściowy porządek (poset)
definiujemy kategorię o tej samej nazwie jak następuje: jako obiekty bierzemy elementy , zaś dla dwóch obiektów przyjmujemy, że istnieje morfizm z do wtedy i tylko wtedy, gdy . Zauważmy, że wystarczy tu, by był preporządkiem, tzn. aby relacja była zaledwie zwrotna i przechodnia.
- : Obiektami tej kategorii są zbiory, zaś
morfizmami relacje binarne, tzn. wtedy i tylko wtedy, gdy . Wówczas rolę identyczności spełniają relacje identycznościowe: , zaś złożeniem morfizmów jest po prostu złożenie relacji znane z kursu teorii mnogości: mając dane oraz przyjmujemy: Parser nie mógł rozpoznać (błąd składni): {\displaystyle (a,c)\in S\circ R \Leftrightarrow \exists b\in B\ ((a,b)\in R\wedge (b,c)\in S)}
- Kategorie skończone: (skończoność dotyczy ilości istniejących
morfizmów, choć nazwy tych kategorii odnoszą się do ilości obiektów):
- : Ta kategoria ma jeden obiekt i jedną
strzałkę: identyczność.
{Tu wstawić brakujący rysunek o numerze 1.9}
- : Ta kategoria nie ma obiektów i nie ma
strzałek.
- : Kategoria ta ma dwa obiekty i jedną strzałkę
pomiędzy nimi (a także oczywiście dwie wymagane identyczności).
{Tu wstawić brakujący rysunek o numerze 1.10}
- : Kategoria ma trzy obiekty, trzy identyczności,
dokładnie jedną strzałkę z obiektu pierwszego do drugiego, dokładnie jedną strzałkę z obiektu drugiego do trzeciego i dokładnie jedną strzałkę z obiektu pierwszego do trzeciego (co oznacza, że ta ostatnia musi być złożeniem dwóch pozostałych nieidentycznościowych strzałek!)
{Tu wstawić brakujący rysunek o numerze 1.11}
- Inne kategorie skończone możemy tworzyć biorąc skończoną ilość
obiektów wraz z odpowiadającymi im identycznościami, a następnie dodając dowolną skończoną ilość morfizmów. W tym wypadku musimy jednak zadbać o to, aby - jeśli morfizmy będą tworzyły cykle - zadeklarować złożenia wszystkich morfizmów w cyklu jako równe odpowiednim identycznościom. W innym bowiem przypadku uzyskana kategoria nie musi już być skończona (może mieć nieskończenie wiele morfizmów odpowiadających wielokrotnościom cyklu).
- Kategorie dyskretne: są to takie kategorie, w których nie ma innych
morfizmów niż identyczności. Łatwo uzmysłowić sobie, że kategorie dyskretne możemy utożsamiać ze zbiorami, bo przecież obiekty możemy interpretować jako elementy zbioru.
{Tu wstawić brakujący rysunek o numerze 1.12}
- Niech będzie monoidem ( jest
jego jedynką). Wówczas biorąc jako jedyny obiekt, zaś elementy jako morfizmy (z dziedziną i kodziedziną ), a działanie jako złożenie morfizmów, otrzymujemy kategorię. Można łatwo pokazać również konstrukcję odwrotną, tj. przekonać się, że każda kategoria z jednym obiektem może być traktowana jako monoid. Mówiąc krótko: kategorie z jednym obiektem to monoidy. (Jak w takim razie traktować grupy? Odpowiedź znajdziemy jeszcze przed końcem wykładu...)
{Tu wstawić brakujący rysunek o numerze 1.13}
- Dla danego rachunku logicznego możemy stworzyć kategorię w ten
sposób, że obiektami są formuły: zaś morfizmem z do jest każda dedukcja (dowód) z założenia . Złożeniem morfizmów jest wtedy połączenie dowodów, które jest oczywiście łączne. Identyczność to dowód pusty, bowiem z aksjomatów logicznych zawsze wynika .
- Dla danego typowanego języka funkcyjnego tworzymy
kategorię w ten sposób, że obiektami są typy danych, zaś strzałkami są programy (procedury) języka . Złożenie dwóch programów jest program dany poprzez zaaplikowanie wyjścia programu na wejściu programu . Identycznością jest procedura, która nic nie robi.
Inne przykłady kategorii zamieścimy w Ćwiczeniach do tego wykładu.
Izomorfizmy
Definicja izomorfizmu jest pierwszą definicją teorii kategorii, definicją abstrakcyjną, niezależną od specyficznych wymagań konkretnej teorii matematycznej, definicją wyrażoną tylko w języku strzałek (czyli w języku teorii kategorii).
Definicja [Uzupelnij]
będzie dowolną kategorią. Morfizm jest izomorfizmem jeśli istnieje morfizm taki, że oraz . Morfizm nazywa się morfizmem odwrotnym do . Jeśli dla obiektów kategorii istnieje izomorfizm , to obiekty i
nazywamy izomorficznymi, co zapisujemy jako .Ponieważ dowolny morfizm posiada dokładnie jeden morfizm odwrotny (dowód?), będziemy go oznaczać jako . Można łatwo pokazać (dowód?), że morfizm odwrotny do izomorfizmu jest izomorfizmem.
Fakt Uzupelnic mod1:fact:bij| wyraża zatem myśl, że izomorfizmami w są dokładnie bijekcje. Ale uwaga: w kategoriach, których obiektami są zbiory z pewną strukturą, a morfizmami funkcje zachowujące tę strukturę (kategorie o takich własnościach nazywamy konkretnymi, patrz Definicja Uzupelnic mod5:def:konkret|, bijekcje nie zawsze są izomorfizmami. Prosty kontrprzykład stanowi tutaj kategoria (Zadanie Uzupelnic mod1:zad3|).
Podstawy teoriomnogościowe
Teoria mnogości uczy nas, że nie istnieje zbiór wszystkich zbiorów. Jeśli więc rozważamy kategorię , której obiektami są zbiory, to widzimy, że kolekcja wszystkich obiektów nie tworzy zbioru (jest zbyt duża!). Podobnie, kolekcja wszystkich morfizmów jest zbyt wielka, aby być zbiorem (zauważmy, że samych identyczności jest już tyle, ile obiektów). Kategoria nie jest taką jedyną. W związku z tym definiujemy:
Definicja [Uzupelnij]
nazywamy małą, jeśli kolekcja wszystkich obiektów i morfizmów kategorii są zbiorami. W przeciwnym
wypadku jest duża.A zatem , , są duże, zaś kategorie skończone są małe. Kategorie duże wyglądają na pierwszy rzut oka bardzo nieprzyjaźnie, część z nich posiada jednak bardzo często następującą cechę:
Definicja [Uzupelnij]
nazywamy lokalnie małą jeśli dla każdej pary obiektów z kolekcja jest zbiorem (o takim zbiorze mówimy w skrócie homset, podobnie jak o zbiorze częściowo uporządkowanym
przyjęło się mówić: poset).Większa część teorii kategorii, którą zaprezentujemy w dalszym toku wykładu dotyczy kategorii lokalnie małych (takich jak , , itd. czy wszystkie kategorie małe). Po dalsze wiadomości dotyczące podstaw teoriomnogościowych teorii kategorii odsyłamy do dyskusji tego tematu w podręczniku Categories for the Working Mathematician, Springer, 1997, Saundersa Mac Lane'a. Bardzo ciekawą dyskusję roli teorii kategorii w badaniach nad podstawami matematyki zaproponował Steven Awodey w artykule: An answer to Hellman's question: ``Does category theory provide a framework for mathematical structuralism?', Philosophia Mathematics (3) vol. 12 (2004), dostępnym również na stronie domowej autora pracy.
Ćwiczenia do Modułu 1
<span id=" Udowodnij, że dla dwóch funkcji oraz jeśli oraz , to funkcja jest bijekcją.
[Rozwiązanie:] Pokażemy najpierw, że jest funkcją różnowartościową. Przypuśćmy, że dla pewnych elementów . Wówczas . Ponadto, dla dowolnego element jest jedynym takim elementem, że , co w szczególności oznacza, że jest surjekcją. Wnioskujemy więc, że jest różnowartościową surjekcją, czyli bijekcją. " style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Udowodnij Fakt Uzupelnic mod1:fact:naturalne|.
[Wskazówka:] Fakt, że liczby naturalne posiadają wspomnianą w Fakcie Uzupelnic mod1:fact:naturalne| jest dokładnie twierdzeniem o rekursji. Pozostaje nam zatem udowodnienie implikacji przeciwnej.
[Rozwiązanie:] Załóżmy zatem, że jest pewnym zbiorem, który posiada wyróżniony element i funkcję spełniającą warunki zadania. Udowodnimy po kolei następujące zdania (znane jako aksjomaty Peano), które -- zgodnie z wykładnią teorii mnogości -- w sposób jednoznaczny determinują liczby naturalne spośród innych zbiorów, a co za tym idzie, potwierdzą, że zbiór jest zbiorem liczb naturalnych:
To wiemy z założenia.
To wiemy z założenia.
Przypuśćmy przeciwnie, że dla pewnego mamy . Wtedy kładąc oraz , z założenia istnieje funkcja taka, że oraz . A zatem , sprzeczność.
- jest injekcją.
Przypuśćmy, że dla pewnych . Kładąc (jest to podzbiór ) oraz , wiemy, że istnieje funkcja taka, że oraz . Taka funkcja jest tylko jedna, więc jej zawężenie do musi być równe funkcji , która spełnia warunki oraz dla . Dlatego założenie implikuje , co należało pokazać.
W tym punkcie przedstawimy najpierw rozumowanie teoriomnogościowe, a potem skorzystamy z okazji, aby ten sam dowód pokazać bardziej w duchu teorii kategorii (stopniowo ten drugi rodzaj dowodów będzie zastępował pierwszy).
Rozważmy zatem funkcję , która -- będąc obcięciem do -- spełnia warunek , gdzie jest inkluzją w . Zgodnie z założeniem zadania, dla funkcji istnieje dokładnie jedna funkcja taka, że oraz . Łącząc tą równość z poprzednią, dostajemy . Zwróćmy teraz uwagę na funkcję . Oczywiste spostrzeżenie, że pozwala nam stwierdzić, że jest jedyną funkcją typu , która spełnia ostatnią z równości. Skoro tak, to musi być równa identyczności na . Pokazaliśmy więc, że , a stąd -- jak łatwo pokazać wynika, że jest injekcją. A zatem , co należało wykazać.
Pokazaliśmy zatem, że aksjomaty Peano są spełnione dla zbioru , a zatem teoria mnogości uczy nas, że jest zbiorem liczb naturalnych Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{nat}} .
Dowód ostatniego z aksjomatów Peano prowadzony w duchu teorii kategorii, czyli teorii przekształceń, korzysta z dobrodziejstwa, jakim jest możliwość przedstawiania funkcji i ich złożeń na diagramach.
Po pierwsze, spróbujmy przedstawić graficznie (na diagramach) założenia, które mamy, tzn. zdanie: jest zbiorem, który posiada wyróżniony element oraz funkcję takie, że dla dowolnego innego zbioru i elementu oraz funkcji istnieje dokładnie jedna funkcja spełniająca warunki oraz .
Zauważmy więc, że element może być zawsze traktowany jako funkcja , gdzie jest dowolnym zbiorem jednoelementowym (zwróćmy uwagę, że w tej interpretacji aplikacja funkcji staje się złożeniem, np. staje się złożeniem ). Podobnie dla . Po drugie, wszelkie równości pomiędzy funkcjami przedstawiamy jako komutowanie odpowiedniego diagramu, np. równość zachodzi wtedy i tylko wtedy, gdy poniższy diagram komutuje:
{Tu wstawić brakujący rysunek o numerze 1.14}
Następnie umawiamy się, że jeśli funkcja w diagramie jest jedyną, która może znajdować się pomiędzy dwoma danymi obiektami, to zaznaczamy ją przerywaną linią, np. zdanie ... jest jedyną funkcją taką, że... odzwierciedla się graficznie jako:
{Tu wstawić brakujący rysunek o numerze 1.15}
Jeśli diagram jest bardziej skomplikowany, to umawiamy się, że odczytujemy wszystkie możliwe równania, przy czym umawiamy się, że nie musimy rysować identyczności. A zatem diagram:
{Tu wstawić brakujący rysunek o numerze 1.16}
komutuje wtedy i tylko wtedy, gdy , , , , (ten wniosek wynika z czterech pozostałych!) i jest jedyną taką funkcją, która spełnia wszystkie wymienione zależności. Tak więc powyższy diagram zawiera całą informację dostępną w założeniach zadania.
Przystąpmy więc do kategoryjnego dowodu ostatniego aksjomatu Peano. Oto on: skoro diagram
{Tu wstawić brakujący rysunek o numerze 1.17}
komutuje, co możemy przedstawić również w skrócie jako:
{Tu wstawić brakujący rysunek o numerze 1.18}
jak również komutuje diagram:
{Tu wstawić brakujący rysunek o numerze 1.19}
to z warunku jednoznaczności istnienia funkcji dostajemy . To jednak implikuje, że jest injekcją, czyli , co należało pokazać.
Jak zobaczymy w toku wykładu, dowody poprzez pokazanie komutujących diagramów (czyli de facto wyeksplikowanie pewnych równości między funkcjami -- czy też ogólniej: morfizmami) są bardzo często spotykane w teorii kategorii, a nawet zastępują wszelkie inne dowody.
" style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Znajdź przykład na to, że w kategorii Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{Pos}} bijekcje nie zawsze są izomorfizmami.
[Wskazówka:] Wystarczy rozważyć częściowe porządki dwuelementowe.
[Rozwiązanie:] Rozważmy dwa posety dwuelementowe , i funkcję , , jak na rysunku:
{Tu wstawić brakujący rysunek o numerze 1.20}
Funkcja jest oczywiście bijekcją, ale funkcja do niej odwrotna nie jest monotoniczna, a zatem nie jest morfizmem w Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{Pos}} . To oznacza, że nie może być izomorfizmem. " style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Pokaż, że każda grupa może być traktowana jako kategoria, w której każdy morfizm jest izomorfizmem.
[Rozwiązanie:] Niech będzie grupą. Podobnie jak w przypadku monoidów, deklarujemy jako jedyny obiekt pewnej kategorii, zaś elementy zbioru jako morfizmy tejże kategorii, działanie jako złożenie morfizmów, element traktując jako identyczność na obiekcie . Zauważmy, że każdy element posiada element odwrotny, czyli dla każdego istnieje tak, że . Te równania interpretowane w naszej kategorii czynią tenże dowolnie wybrany element izomorfizmem. " style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Dla dowolnej kategorii zaproponuj konstrukcję nowej kategorii, w której -- żądamy -- obiektami są morfizmy z .
[Wskazówka:] Niech będzie dowolną kategorią; dla dwóch jej dowolnych morfizmów oraz , musimy zaproponować taką operację, dla której jest dziedziną i jest kodziedziną. Gdyby przedstawić to graficznie, w postaci diagramu, łatwo przyjdzie nam na myśl definicja takiej operacji: będzie to para morfizmów z kategorii taka, że poniższy diagram komutuje:
{Tu wstawić brakujący rysunek o numerze 1.21}
Teraz już łatwo dopowiedzieć szczegóły konstrukcji.
[Rozwiązanie:] Zaproponujemy najpierw złożenie: dwa morfizmy oraz jak poniżej:
{Tu wstawić brakujący rysunek o numerze 1.22}
składają się tak:
{Tu wstawić brakujący rysunek o numerze 1.23}
albo formalnie: . Oczywiście Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\it{dom}((a\circ c, b\circ d)) = h} oraz Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\it{cod}((a\circ c, b\circ d)) = g} . W końcu, identycznościami w nowej kategorii, która często oznacza się jako są pary identyczności z kategorii . Wszelkie pozostałe czynności, które musimy wykonać, by sprawdzić, że jest kategorią, są trywialne. " style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Niech będzie kategorią, zaś Parser nie mógł rozpoznać (nieznana funkcja „\CC”): {\displaystyle A\in \CC_0} jej ustalonym obiektem. Zaproponuj konstrukcję nowej kategorii, której obiektami są wszystkie morfizmy z o kodziedzinie .
[Wskazówka:] Wykorzystaj Zadanie Uzupelnic mod1:zad5|.
[Rozwiązanie:] Tak jak w Zadaniu Uzupelnic mod1:zad5| morfizmami nowej kategorii, oznaczanej często i nazywanej -warstwą są komutujące diagramy: ponieważ wszystkie obiekty jako morfizmy mają wspólną kodziedzinę, więc możemy przyjąć, że morfizmami są komutujące trójkąty:
{Tu wstawić brakujący rysunek o numerze 1.24}
albo formalnie: jeśli oraz są obiektami , to morfizmem o dziedzinie i kodziedzinie jest morfizm z taki, że powyższy diagram komutuje. Sprawdzenie, że jest kategorią jest już trywialne. " style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Udowodnij, że złożenie izomorfizmów jest izomorfizmem, że morfizm odwrotny do izomorfizmu jest tylko jeden, a także, że identyczności w dowolnej kategorii są izomorfizmami.
[Rozwiązanie:] Pokażmy najpierw, że złożenie izomorfizmów jest izomorfizmem. Załóżmy, że oraz są izmorfizmami. Wówczas ich złożenie posiada morfizm odwrotny . Rzeczywiście, i podobnie pokazujemy drugie z równań dla izomorfizmu.
Rozwiążemy to samo zadanie graficznie: zauważmy, że fakt, że jest izomorfizmem z odwrotnością jest wyrażony przez fakt, że poniższy diagram komutuje:
{Tu wstawić brakujący rysunek o numerze 1.25}
(Przypomnijmy sobie umowę z Zadania Uzupelnic mod1:zad2|, że nie rysujemy identyczności.)
Podobnie, diagram:
{Tu wstawić brakujący rysunek o numerze 1.26}
komutuje, a co za tym idzie, złożenie tych dwóch diagramów komutuje:
{Tu wstawić brakujący rysunek o numerze 1.27}
To zaś kończy dowód faktu, że jest odwrotnością .
Po drugie, pokażmy, że morfizm odwrotny do izmorfizmu jest tylko jeden: załóżmy przeciwnie, że dla pewnego izomorfizmu istnieją dwie odwrotności . Wówczas , co należało pokazać.
Po trzecie, niech będzie dowolnym obiektem dowolnej kategorii. Identyczność spełnia oczywiście (z definicji kategorii) równanie , co świadczy o tym, że jest izomorfizmem. " style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Znajdź kategorię, która ma tę własność, że jeśli dwa obiekty są izomorficzne, to muszą być sobie równe.
[Wskazówka:] Można wziąć pod uwagę te szczególne kategorie, w których istnieje co najwyżej jedna strzałka pomiędzy dowolnymi dwoma obiektami.
[Rozwiązanie:] Niech będzie częściowym porządkiem. Traktowany jako kategoria, posiada tę własność, że pomiędzy dwoma jego obiektami (elementami) istnieje co najwyżej jeden morfizm (w przypadku, gdy elementy te są w częściowym porządku). Niech będą obiektami izomorficznymi. W języku częściowych porządków oznacza to, że i . Antysymetria relacji porządkującej daje nam , co należało pokazać. " style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Pokaż, że w kategorii Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{Mon}} izomorfizmy to dokładnie bijektywne homomorfizmy monoidów.
[Wskazówka:] Jedna z implikacji jest bardzo łatwa: jeśli jest izomorfizmem w Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{Mon}} , to w szczególności jest morfizmem, czyli homomorfizmem monoidów. Równania dla jako izomorfizmu implikują, że jest też bijekcją, w dokładnie ten sam sposób, w jaki pokazaliśmy dla funkcji między zbiorami (patrz dyskusja po Fakcie Uzupelnic mod1:fact:bij|). Wystarczy więc udowodnić implikację odwrotną.
[Rozwiązanie:] Załóżmy, że jest bijektywnym homomorfizmem z odwrotnością . Wystarczy pokazać, że jest homomorfizmem, tzn., że oraz dla dowolnych . Wykorzystując fakt, że -- jako homomorfizm -- zachowuje jedynkę, mamy: , czyli pierwszą z szukanych równości. Znów opierając się na własnościach mamy: , co należało pokazać. " style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Przekonaj się, że kategorie i funktory tworzą kategorię, którą oznaczamy Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{Cat}} . [Wskazówka:] Przeczytaj najpierw Definicję Uzupelnic mod5:def:funktor|, w której mówimy czym są funktory. [Rozwiązanie:] Najpierw definiujemy identyczności: dla dowolnej kategorii proponujemy przekształcenie jako dla dowolnych Parser nie mógł rozpoznać (nieznana funkcja „\CC”): {\displaystyle A\in \CC_0, f\in \CC_1} . Wtedy oczywiście jest funktorem. Złożenie funktorów definiujemy w sposób naturalny, tak jak złożenie funkcji w Parser nie mógł rozpoznać (błąd składni): {\displaystyle \mathrm\bf{Set}} . Niech , , będą funktorami. dla Parser nie mógł rozpoznać (nieznana funkcja „\CC”): {\displaystyle A\in \CC_0} i taki sam dowód działa dla morfizmów. Wnioskujemy więc, że Ponadto: gdzie oznacza miejsce, w które można wstawić obiekt lub morfizm z -- taka konwencja notacyjna będzie często używana w przyszłości. A zatem wnioskujemy, że złożenie funktorów jest łączne. " style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie
<span id=" Podaj dwa dalsze przykłady kategorii. [Wskazówka:] Najprościej zdefiniować nowe kategorie poprzez modyfikację istniejących przykładów (np. kategorię tworzą zbiory i funkcje częściowe). Nasz drugi przykład jest tego typu: jako język funkcyjny bierzemy -rachunek i tworzymy dla niego kategorię, tak jak opisaliśmy to w jednym z ostatnich przykładów podanych podczas wykładu.
[Rozwiązanie:]
- Automaty:: Niech będzie monoidem. Definiujemy
-automat jako parę składającą się ze zbioru stanów i funkcji przejścia tak, że: dla dowolnych , . Morfizmem -automatów , jest funkcja taka, że . Sprawdzenie, że taka struktura jest kategorią jest oczywiste, nieprawdaż?
- Rachunek lambda:: rozważamy prosty rachunek z
typami. (-rachunek jest formalizmem pozwalającym na wygodną manipulację funkcjami. Umożliwia opis funkcji bez podawania jej nazwy, np: funkcja jest w rachunku lambda zapisywana jako , zaś funkcja, której wartością jest również funkcja: zapisuje się jako .) Formalnie, -rachunek składa się z:
- typów:
- termów, w skład których wchodzą:
- dla każdego typu zmienne tego typu:
,
- stałe różnych typów: ,
- dla dowolnych , para: ,
- dla dowolnego , projekcja
,
- dla dowolnego , projekcja
,
- dla dowolnych , aplikacja
,
- dla dowolnych , abstrakcja .
- równań:
- ,
- ,
- ,
- ,
- , o ile nie występuje
w .
Definiujemy też relację na termach (nazywaną zwyczajowo -równoważnością), jako relację równoważności generowaną przez równania i zamianę nazwy zmiennych związanych: o ile nie występuje w , to
Kategorię definiujemy teraz jak następuje:
- obiekty: typy -rachunku,
- morfizm z do to termy domknięte
(identyfikowane ze sobą, jeśli ),
- identyczności: dla każdego
,
- złożenie: .
Sprawdźmy, że jest kategorią:
Parser nie mógł rozpoznać (nieznana funkcja „\aligned”): {\displaystyle \aligned c\circ (b\circ a) & = & \lambda x.c((b\circ a)x)\\ & = & \lambda x.c((\lambda y.b(ay))x)\\ & = & \lambda x.c(b(ax))\\ & = & \lambda x.\lambda y.c((by)(ax))\\ & = & \lambda x.(c\circ b)(ax)\\ & = & (c\circ b)\circ a. \endaligned}
Kategorii przyjrzymy się jeszcze uważniej w wykładach Uzupelnic wyklad3|, Uzupelnic wyklad4|.
" style="font-variant:small-caps; color: #1A6ABF;">Ćwiczenie