2 KiB
The Agda formalization
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:
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), it is already very extensive, but some notions needed here are missing, so I contribute them to the library. So far the contributions are:
- Kleisli triples [merged]
Categories.Monad.Construction.Kleisli
- Distributive categories (and the relation to extensivity) [merged] [merged]
Categories.Category.Distributive
Categories.Category.Distributive.Properties
Categories.Category.Extensive.Bundle
Categories.Category.Extensive.Properties.Distributive
- Parametrized (or stable) natural numbers objects [merged]
Categories.Object.NaturalNumbers.Parametrized
Categories.Object.NaturalNumbers.Properties.F-Algebra
Categories.Object.NaturalNumbers.Properties.Parametrized
- Commutative monad [merged]
Categories.Monad.Commutative
Categories.Monad.Strong.Properties