No description
Find a file
2023-11-09 11:41:35 +00:00
src Work on kleene 2023-11-07 19:29:58 +01:00
.envrc ❄ added nix devshell 2023-10-28 12:34:15 +02:00
.gitignore Work on commutativity 2023-10-31 14:16:47 +01:00
Agda.css Add CSS, small fixes, rewrite delay monad documentation 2023-09-16 00:02:51 +02:00
bsc.agda-lib minor fixes 2023-08-19 12:37:03 +02:00
flake.lock ❄ added nix devshell 2023-10-28 12:34:15 +02:00
flake.nix ❄ added nix devshell 2023-10-28 12:34:15 +02:00
index.lagda.md 🎨 Tidy up proof that K is strong, add explanations 2023-10-28 13:59:23 +02:00
Literature.md Add "delay monad in agda" slides 2023-11-09 11:41:35 +00:00
Makefile Added index with some nice text 2023-10-12 21:39:36 +02:00
README.md Added usage notes 2023-10-28 10:44:52 +00:00
shell.nix ❄ added nix devshell 2023-10-28 12:34:15 +02:00

BSc Leon Vatthauer

Here I am formalizing some notions of this paper 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/

Running the project

TODO

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:

  1. Kleisli triples [merged]
    • Categories.Monad.Construction.Kleisli
  2. Distributive categories (and the relation to extensivity) [merged]
    • Categories.Category.Distributive
    • Categories.Category.Extensive.Bundle
    • Categories.Category.Extensive.Properties.Distributive
  3. Parametrized (or stable) natural numbers objects [merged]
    • Categories.Object.NaturalNumbers.Parametrized
    • Categories.Object.NaturalNumbers.Properties.F-Algebra
    • Categories.Object.NaturalNumbers.Properties.Parametrized
  4. Commutative monad [TODO]

TODO

TODOs are found inside the literate agda files!

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