Experience Implementing a Performant Category-Theory Library in Coq

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 proo...

Full description

Bibliographic Details
Main Authors: Chlipala, Adam (Contributor), Spivak, David I. (Contributor), Gross, Jason S. (Contributor)
Other Authors: Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science (Contributor), Massachusetts Institute of Technology. Department of Mathematics (Contributor)
Format: Article
Language:English
Published: Springer-Verlag, 2015-11-13T16:55:46Z.
Subjects:
Online Access:Get fulltext
LEADER 02145 am a22002773u 4500
001 99929
042 |a dc 
100 1 0 |a Chlipala, Adam  |e author 
100 1 0 |a Massachusetts Institute of Technology. Department of Electrical Engineering and Computer Science  |e contributor 
100 1 0 |a Massachusetts Institute of Technology. Department of Mathematics  |e contributor 
100 1 0 |a Gross, Jason S.  |e contributor 
100 1 0 |a Chlipala, Adam  |e contributor 
100 1 0 |a Spivak, David I.  |e contributor 
700 1 0 |a Spivak, David I.  |e author 
700 1 0 |a Gross, Jason S.  |e author 
245 0 0 |a Experience Implementing a Performant Category-Theory Library in Coq 
260 |b Springer-Verlag,   |c 2015-11-13T16:55:46Z. 
856 |z Get fulltext  |u http://hdl.handle.net/1721.1/99929 
520 |a 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. 
520 |a Massachusetts Institute of Technology. Computer Science and Artificial Intelligence Laboratory (Big-Data@CSAIL Initiative) 
520 |a National Science Foundation (U.S.) (Grant CCF-1253229) 
520 |a United States. Office of Naval Research (Grant N000141310260) 
520 |a United States. Air Force Office of Scientific Research (Grant FA9550-14-1-0031) 
546 |a en_US 
655 7 |a Article 
773 |t Interactive Theorem Proving