Category Theory in Coq 8.5


Amin Timany and Bart Jacobs: Category Theory in Coq 8.5. In 1st International Conference on Formal Structures for Computation and Deduction, FSCD 2016, June 2016. https://doi.org/10.4230/LIPIcs.FSCD.2016.30
Conference Paper
Keywords: Category Theory, Coq 8.5, Universe Polymorphism, Homotopy Type Theory
Abstract.

We report on our experience implementing category theory in Coq 8.5. Our work formalizes most of basic category theory, including concepts not covered by existing formalizations, in a library that is fit to be used as a general-purpose category-theoretical foundation.

Our development particularly takes advantage of two features new to Coq 8.5: primitive projections for records and universe polymorphism. Primitive projections allow for well-behaved dualities while universe polymorphism provides a relative notion of largeness and smallness. The latter is one of the main contributions of this paper. It pushes the limits of the new universe polymorphism and constraint inference algorithm of Coq 8.5.

In this paper we present in detail smallness and largeness in categories and the foundation they are built on top of. We furthermore explain how we have used the universe polymorphism of Coq 8.5 to represent smallness and largeness arguments by simply ignoring them and entrusting them to the universe inference algorithm of Coq 8.5. We also briefly discuss our experience throughout this implementation, discuss concepts formalized in this development and give a comparison with a few other developments of similar extent.

The bibtex source for this publication:
@inproceedings{DBLP:conf/rta/Timany016,
 author    = {Amin Timany and
               Bart Jacobs},
  title     = {Category Theory in Coq 8.5},
  booktitle = {1st International Conference on Formal Structures for Computation
               and Deduction, {FSCD} 2016, June 22-26, 2016, Porto, Portugal},
  pages     = {30:1--30:18},
  year      = {2016},
  url       = {https://doi.org/10.4230/LIPIcs.FSCD.2016.30},
  doi       = {10.4230/LIPIcs.FSCD.2016.30},
  timestamp = {Tue, 23 May 2017 01:10:28 +0200},
  biburl    = {http://dblp.org/rec/bib/conf/rta/Timany016},
  bibsource = {dblp computer science bibliography, http://dblp.org}
}