Categories Save

Categories parametrized by morphism equality, in Agda

Project README

This library is obsolete and does not work with newer versions of Agda. It sort-of works with 2.5.2, but less and less so afterwards. It is completely broken from 2.6 onwards.

Users should instead try https://github.com/agda/agda-categories. It is not completely compatible, but close. And it is supported.


One of the main goals of this library is to be as general as possible by abstracting over notions of equality between morphisms.

Another is to keep the definitions of categorical structures as simple as possible and then where possible to prove that the simple definition is equivalent to more interesting formulations. For example, we can define a monad as recording containing a functor and two natural transformations. Separately, we can show that a monoid object in the monoidal category of endofunctors is an equivalent definition, and that the composition of an adjoint pair of functors leads to monads, and so on.

The module structure is a mess, I realize. A lot of the parametrized modules should not be. Naming of things in general could also be made cleaner, but I've been more interested in definitions and proofs so far.

A lot of this is based on http://web.student.chalmers.se/~stevan/ctfp/html/README.html, but with some design changes that I thought were necessary. It's still very much a work in progress.

Other parts (mostly produts) are borrowed from Dan Doel

Open Source Agenda is not affiliated with "Categories" Project. README Source: copumpkin/categories
Stars
147
Open Issues
0
Last Commit
4 years ago

Open Source Agenda Badge

Open Source Agenda Rating