# BSc Leon Vatthauer Here I am formalizing some notions of this paper [https://arxiv.org/pdf/2102.11828.pdf](https://arxiv.org/pdf/2102.11828.pdf) in agda. The whole project consists of literate agda files, where I add my documentation as markdown. A (mostly up to date) version can be found here: https://wwwcip.cs.fau.de/~hy84coky/bsc-thesis/ ## Usage The project requires a new version of agda-categories (newer than some package managers ship), so the easiest way to use this project is via the provided nix flake, which fetches my fork of agda-categories that is guaranteed to work with this project. To use the project you just have to open a development shell: ```sh nix develop . ``` (this will take 20 - 30 minutes the first time, because it has to typecheck the agda-categories library) There is also a Makefile for compiling every module and generating the html documentation. ``` make ``` ## Contributions to *agda-categories* This project uses the awesome category theory library for agda ([agda-categories](https://github.com/agda/agda-categories)), it is already very extensive, but some notions needed here are missing, so I contribute them to the library. So far the contributions are: 1. Kleisli triples [[merged](https://github.com/agda/agda-categories/pull/381)] - `Categories.Monad.Construction.Kleisli` 2. Distributive categories (and the relation to extensivity) [[merged](https://github.com/agda/agda-categories/pull/383)] [[merged](https://github.com/agda/agda-categories/pull/410)] - `Categories.Category.Distributive` - `Categories.Category.Distributive.Properties` - `Categories.Category.Extensive.Bundle` - `Categories.Category.Extensive.Properties.Distributive` 3. Parametrized (or stable) natural numbers objects [[merged](https://github.com/agda/agda-categories/pull/394)] - `Categories.Object.NaturalNumbers.Parametrized` - `Categories.Object.NaturalNumbers.Properties.F-Algebra` - `Categories.Object.NaturalNumbers.Properties.Parametrized` 4. Commutative monad [[merged](https://github.com/agda/agda-categories/pull/404)] - `Categories.Monad.Commutative` - `Categories.Monad.Strong.Properties`