Experience Implementing a Performant Category-Theory Library in Coq
Name
Chlipala_Experience implementing.pdf
Size
317.11 KB
Format
Adobe PDF
Checksum (MD5)
3bcf86b9a0b922210dad8afa07467014
Author(s) • •
Chlipala, Adam
Spivak, David I.
Gross, Jason S.
Date Issued
2014
Journal
Interactive Theorem Proving
Publisher
Springer-Verlag
Citation
Gross, Jason, Adam Chlipala, and David I. Spivak. “Experience Implementing a Performant Category-Theory Library in Coq.” Lecture Notes in Computer Science (2014): 275–291.
Version
Author's final manuscript
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.
MIT Department
Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science
Massachusetts Institute of Technology. Department of Mathematics
Terms of Use
Creative Commons Attribution-Noncommercial-Share Alike
Persistent DSpace Link
DOI of Published Version
https://doi.org/10.1007/978-3-319-08970-6_18