__Osnova__: Jan-Willem Buurlage - [Categories and Haskell](https://github.com/jwbuurlage/category-theory-programmers)
__Odporúčaný__: Bartosz Milewski - [Category Theory for Programmers](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface)
__Doplnkový__: Steve Awodey - [Category Theory](https://englishonlineclub.com/pdf/Category%20Teory%20[EnglishOnlineClub.com].pdf)
# Organizácia:
Piatok 13:30 v (TBD)
# Témy:
- 1. Úvod do kategorií, Funktory, Prirodzené transformácie
- _Lokálne malá_: pre všetky objekty $a, b \in C$ je $Hom_C(a, b)$ množina
- _Riedka (thin)_: pre všetky objekty $a, b \in C$ platí $|Hom(a, b)| \in \{0, 1\}$
- _Voľná (free)_: kategória generovaná z orientovaného grafu pomocou voľnej konštrukcie (doplnenie identít a zložením hrán - pre každú cestu z $u$ do $v$ existuje hrana reprezentujúca túto cestu)
Špeciálne objekty
- iniciálny objekt
- $a$ je iniciálny objekt $\iff \forall b \in O_C \ldotp\exists! m \in A_C \ldotp m: a \rightarrow b$
- do každého objektu kategórie vedie unikátna šípka
- v kategórii typov si môžeme predstaviť `void`, pretože pre každý iný typ `T` existuje funkcia `asburd : void -> T`
- unikátny až na unikátny izomorfizmus
- terminálny objekt
- $a$ je terminálny objekt $\iff \forall b \in O_C \ldotp\exists! m \in A_C \ldotp m : b \rightarrow a$
- z každého objektu kategórie vedie unikátna šípka
- v kategórii typov si môžeme predstaviť `unit`, pretože pre každý iný typ existuje funkcia `unit : T -> ()`
- unikátny až na unikátny izomorfizmus
Opačná kategória $C^{op}$ - morfizmy idú opačne, dáva možnosť pojednávať o duálnych pojmoch (terminálny objekt je iniciálny v opačnej kategórii)
Špeciálne morfizmy
- _monomorfizmus (mono)_
> $f : a \to b \in C$ je monomorfizmus $\iff$
> $\forall x \in C \ldotp \forall g, h : x \to a \in C \ldotp \{ f \circ g = f \circ h \implies g = h \}$
- _epimorfizmus (epi)_
> $f : a \to b \in C$ je epimorfizmus $\iff$
> $\forall x \in C \ldotp \forall g, h : b \to x \in C \ldotp \{ g \circ f = h \circ f \implies g = h \}$
- _izomorfizmus_
> $f : a \to b \in C$ je izomorfizmus $\iff$
> $\exists g : b \to a \in C \ldotp \{ g \circ f = id_a \land f \circ g = id_b \}$
- _endomorfizmus_
> $f : a \to a$
- _automorfizmus_
> endomorfizmus + izomorfizmus
Príklady kategórii:
- **0** - kategória bez prvkov a morfizmov
- **1** - kategória s práve jedným prvkom a jeho identitou
- **2** - kategória s práve dvoma prvkami, medzi ktorými sú morfizmy
- **Set** - kategória množín a funkcii
- **Grp** - kategória grúp s homomorfizmom grúp
- **Cat** - kategória malých kategórii a funktorov
- _Order_ - kategória usporiadania s $\le$
- _free construction_ - konštrukcia z orientovaného grafu
- _Monoid ako kategória_ - kategória s jedným objektom a endomorfizmami
- _Grupa ako kategória_ - kategória s jedným objektom a automorfizmami
- **Hask** - kategória typov v jazyku Haskell a funkcii
<p>Seminár prebieha každý piatok o 13:30 v (TBD). Každý člen semináru pripraví <em>aspoň</em> jednu prezentáciu, ktorá by mala odprezentovať zadanú téma. Téma a jej “prednášajúci” sa určí vždy dva týždne dopredu. V prípade, že máte seminár zapísaný sa zároveň očakáva, že sa semináru budete zúčastňovať <em>vždy</em>, keď to bude možné.</p>
<p>V prípade potreby môžete písať na mail <strong>kocicky@fi.muni.cz</strong> alebo na irc kanál <strong>#fimu-kocicky</strong>.</p>
<h2id="literátura">Literátura</h2>
<p><strong>Osnova</strong>: Jan-Willem Buurlage - <ahref="https://github.com/jwbuurlage/category-theory-programmers">Categories and Haskell</a></p>
<p><strong>Odporúčaný</strong>: Bartosz Milewski - <ahref="https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface">Category Theory for Programmers</a></p>
<p><strong>Doplnkový</strong>: Steve Awodey - <ahref="https://englishonlineclub.com/pdf/Category%20Teory%20%5BEnglishOnlineClub.com%5D.pdf">Category Theory</a></p>
<h2id="osnova-semináru">Osnova semináru</h2>
<p>25.02.2020 - Úvod to kategórii (<ahref="https://www.fi.muni.cz/~xkucerak/kocicky/rozdavek/sem_01.pdf">rozdavok</a>)</p>
<p>04.03.2020 - Funktory a prirodzené tranfsormácie</p>
Seminár prebieha každý piatok o 13:30 v (TBD). Každý člen semináru pripraví _aspoň_ jednu prezentáciu, ktorá by mala odprezentovať zadanú téma. Téma a jej "prednášajúci" sa určí vždy dva týždne dopredu. V prípade, že máte seminár zapísaný sa zároveň očakáva, že sa semináru budete zúčastňovať _vždy_, keď to bude možné.
V prípade potreby môžete písať na mail __kocicky@fi.muni.cz__ alebo na irc kanál __#fimu-kocicky__.
## Literátura
__Osnova__: Jan-Willem Buurlage - [Categories and Haskell](https://github.com/jwbuurlage/category-theory-programmers)
__Odporúčaný__: Bartosz Milewski - [Category Theory for Programmers](https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface)
__Doplnkový__: Steve Awodey - [Category Theory](https://englishonlineclub.com/pdf/Category%20Teory%20[EnglishOnlineClub.com].pdf)