Teorija kategorija Flashcards
Sta je kategorija
Kategorija je monograf sa sledecim osobinama:
- Identitet -dodeljuje strelicu samom sebi id.f = f
- Kompozicija - Dodeljuje strelicu g . f svakom paru f i g dom g = cod f. Kompozicija mora biti asocijativna
Funktor
Funtor izmedju kategorija C i D je mapiranje objekta na objekte i strelice na strelice koje zadovoljavaju sledeca pravila.
1. F(f): F(dom f) –> F(cod f)
2.F(g.f) = F(g)F(f)
3.F(1_a) = 1_F(a)
Sta je lifting ?
Zamislimo da imamo jednu kutiju u kojoj se nalazi broj n. Zelimo da preslikamo broj n nekom unarnom funkcijom f u broj m ( f(n) = m ) UNUTAR KUTIJE. Da bismo uradili potrebno je “otvoriti” kutiju i uzeti n, preslikati taj broj funkcijom f u broj m. Na kraju, broj koji smo dobili zatvaramo u kutiju. Ovaj proces unwrap-and-wrap naziva se lifting
Fmap
fmap:: ( a–>b) –> f a –> f b
Monada
Monada M (<M,return,join>) nad kategorijom C se sastoji od endofunktora M: C->C i dve transfromcaije return : C->M(C) i operacija join: M(M(C)) ->M(C) koje zadovoljavaju sledece
- levi identitet - return a»_space;= f = fa
- desni identitet -m»_space;= return m
- asocijativnost (m»_space;= f)»_space;= g ==m»_space;= (\x -> fx»_space;= g)
> > = je kompozicija join i fmap i naziva se bind funkcija
Sta ovo znaci?
Mi uzimamo neku funkciju i primenjujemo je na vrednost koja se nalazi u kontekstu. Funkcija se primeni na vrednost i ona se ponovo vraca u taj kontekst