Commit 244a14b3 authored by Filip Kučerák's avatar Filip Kučerák
Browse files

Add web

parent be61d796
Loading
Loading
Loading
Loading
+17 −1
Original line number Diff line number Diff line
# kocicky
# Seminár teórie kategorii pre informatikov

# Zdroje: 

__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
- 2. Produkty, Koprodukty

TBD

sem_01/rozdavek_01.pst

0 → 100644
+77 −0
Original line number Diff line number Diff line
# Úvod do teórie kategórii

Kategória - $C(O, A, \circ)$:

- $O$ - kolekcia objektov
- $A$ - kolekcia _arrows_ - morfizmy medzi objektami z $O$
- $\circ$ - binárne skladanie morfizmov 
    - musí platiť asociativita - $(h \circ g) \circ f = h \circ (g \circ f) = h \circ g \circ f$
    - identita $id$ je voči operátoru neutrálna aj zľava aj sprava, nech $f : a \to b$ potom $f \circ id_a = id_b \circ f = f$
- $id$ / $1$ - identické morfizmy pre všetky objekty ($id_a$ - identický morfizmus $a \in O$)
- $Hom(a, b)$ - kolekcia morfizmov **z** $a$ **do** $b$

Kategórie

- _Malá_: aj $O$ aj $A$ sú množiny
- _Veľká_: nie malá
- _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

web/kocicky.css

0 → 100644
+17 −0
Original line number Diff line number Diff line
body {
    width: 60%;
    margin: auto;
    max-width: 800px;
}

@media screen and (max-width: 540px) {
    body {
        width: 90%;
    }
}

@media screen and (min-width: 540px) and (max-width: 780px) {
    body {
        width: 80%;
    }
}

web/kocicky.html

0 → 100644
+49 −0
Original line number Diff line number Diff line
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" lang xml:lang>
<head>
  <meta charset="utf-8" />
  <meta name="generator" content="pandoc" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
  <title>Seminár teórie kategórii</title>
  <style type="text/css">
      code{white-space: pre-wrap;}
      span.smallcaps{font-variant: small-caps;}
      span.underline{text-decoration: underline;}
      div.column{display: inline-block; vertical-align: top; width: 50%;}
  </style>
  <style type="text/css">body {
width: 60%;
margin: auto;
max-width: 800px;
}
@media screen and (max-width: 540px) {
body {
width: 90%;
}
}
@media screen and (min-width: 540px) and (max-width: 780px) {
body {
width: 80%;
}
}
</style>
</head>
<body>
<header id="title-block-header">
<h1 class="title">Seminár teórie kategórii</h1>
</header>
<h2 id="organizácia">Organizácia</h2>
<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>
<h2 id="literátura">Literátura</h2>
<p><strong>Osnova</strong>: Jan-Willem Buurlage - <a href="https://github.com/jwbuurlage/category-theory-programmers">Categories and Haskell</a></p>
<p><strong>Odporúčaný</strong>: Bartosz Milewski - <a href="https://bartoszmilewski.com/2014/10/28/category-theory-for-programmers-the-preface">Category Theory for Programmers</a></p>
<p><strong>Doplnkový</strong>: Steve Awodey - <a href="https://englishonlineclub.com/pdf/Category%20Teory%20%5BEnglishOnlineClub.com%5D.pdf">Category Theory</a></p>
<h2 id="osnova-semináru">Osnova semináru</h2>
<p>25.02.2020 - Úvod to kategórii (<a href="https://www.fi.muni.cz/~xkucerak/kocicky/rozdavek/sem_01.pdf">rozdavok</a>)</p>
<p>04.03.2020 - Funktory a prirodzené tranfsormácie</p>
<p>11.03.2020 - Produkty a koprodukty</p>
<p>18.03.2020 - Yoneda lemma</p>
<p>TBD</p>
</body>
</html>

web/kocicky.md

0 → 100644
+30 −0
Original line number Diff line number Diff line
---
title: Seminár teórie kategórii
---

## Organizácia

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)

## Osnova semináru 

25.02.2020 - Úvod to kategórii 
([rozdavok](https://www.fi.muni.cz/~xkucerak/kocicky/rozdavek/sem_01.pdf))

04.03.2020 - Funktory a prirodzené tranfsormácie

11.03.2020 - Produkty a koprodukty 

18.03.2020 - Yoneda lemma

TBD