Category Theory in Coq 8.5: Extended Version


Amin Timany and Bart Jacobs: Category Theory in Coq 8.5: Extended Version. Hosted on KU Leuven Library (lirias), April 2016.
Technical Report
Keywords: input/output, modular program verification, module specifications, separation logic
Abstract.

We report on our experience implementing category theory in Coq 8.5. Our work formalizes most of basic category theory, includ- ing 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 poly- morphism. 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 cat- egories 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 discuss our experience throughout this implementation, discuss concepts formalized in this development and give a comparison with a few other developments of similar extent. Furthermore, we discuss (future) works on top of or related to this development including our experience regarding our ongoing effort of porting a version of this development on top of the HoTT library.

The bibtex source for this publication:
@techreport{KULeuven-540270,
  author = {Timany, Amin and Jacobs, Bart},
  title = {{Category Theory in Coq 8.5: Extended Version}},
  year = 2016,
  month = {April},
  number = {CW697},
  url = {https://lirias.kuleuven.be/handle/123456789/540270},
  institution = {Department of Computer Science, KU Leuven},
  type = {CW Reports}
 }