research

Kartezijanski zatvorene kategorije

Abstract

U ovom diplomskom radu proučavamo teoriju kategorija s posebnim fokusom na kartezijanski zatvorene kategorije, jednostavno tipizirani λ\lambda-račun i opisujemo vezu između njih koja je poznata kao Curry-Howard-Lambekov izomorfizam. Dan je uvod u teoriju kategorija, te kroz brojne primjere definiramo osnovne pojmove nužne za razumijevanje Curry-Howard-Lambekov izomorfizma. Koristimo programski jezik Haskell za demonstraciju praktične primjene teorija kategorija i lakše razumijevanje nekih koncepata. Definirane su kartezijanski zatvorene kategorije, vrsta kategorije koja ima ekspresivnu moć jednaku tipiziranom λ\lambda-računu i pokazano je nekoliko primjera kartezijanski zatvorenih kategorija. Definirano je proširenje jednostavno tipiziranog λ\lambda-računa s pravilima dedukcije i osnovni pojmovi vezani za tipizirani λ\lambda-račun. U posljednjem poglavlju je opisana konstrukcija kojom se pokazala veza između tipiziranog λ\lambda-računa i kartezijanski zatvorenih kategorija. Rad završavamo s primjerom kojim se pokazuje razmjenjivost funkcija u λ\lambda--računu s projekcijama u kartezijanski zatvorenim kategorijama. Dajemo kratki ostvrt na prednosti kategorijskog pristupa u programiranju pozivajući se na nekoliko najčešće korištenih programskih paketa.In this master thesis we study category theory with special focus on Cartesian closed categories and simply typed λ\lambda-calculus. We describe the relationship between them, known as Curry-Howard-Lambek isomorphism. An introduction to the category theory and neccesary terms required for understanding the Curry-Howard-Lambek isomorphism are given. Programming language Haskell is used to demonstrate practical applications of category theory. We define Cartesian closed categories, type of category which has expressive power equivalent to the simply typed λ\lambda-calculus and demonstrate few examples of Cartesian closed categories. In the last chapter we define a construction that describes relationship between simply typed λ\lambda-calculus and Cartesian closed categories. Master thesis is finalized with an example which demonstrates interchangeability of functions in simply typed λ\lambda-caluclus with projections in Cartesian closed categories. A short overview with advantages of categorical approach to computation is given, demonstrating practicality with few well known programming libraries

    Similar works