Experience Implementing a Performant Category-Theory Library in Coq

Jason Gross, Adam Chlipala, David I. Spivak
1/29/2014
math.CTcs.LO

Official code: HoTT/Coq-HoTT (1,405 stars, last commit 2026-10-09).

Abstract

We describe our experience implementing a broad category-theory library in Coq. Category theory and computational performance are not usually mentioned in the same breath, but we have needed substantial engineering effort to teach Coq to cope with large categorical constructions without slowing proof script processing unacceptably. In this paper, we share the lessons we have learned about how to represent very abstract mathematical objects and arguments in Coq and how future proof assistants might be designed to better support such reasoning. One particular encoding trick to which we draw attention allows category-theoretic arguments involving duality to be internalized in Coq's logic with definitional equality. Ours may be the largest Coq development to date that uses the relatively new Coq version developed by homotopy type theorists, and we reflect on which new features were especially helpful.

View on arXivView PDF

Code Implementations(1)

HoTT/Coq-HoTTOfficial100%

A Coq library for Homotopy Type Theory

1,405205CSS, LuaMar 26, 20111 weeks agoNOASSERTION
homotopy-type-theorytype-theoryunivalent-foundations

Similar Papers

Cite this paper

@article{gross2014experience,
  title  = {Experience Implementing a Performant Category-Theory Library in Coq},
  author = {Jason Gross and Adam Chlipala and David I. Spivak},
  year   = {2014},
  eprint = {1401.7694},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/abs/1401.7694}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/1401.7694.svg)](https://codeofpaper.com/paper/1401.7694)

Discussion