Experience Implementing a Performant Category-Theory Library in Coq
@inproceedings{Gross2014ExperienceIA, title={Experience Implementing a Performant Category-Theory Library in Coq}, author={Jason Gross and Adam Chlipala and David I. Spivak}, booktitle={ITP}, year={2014} }
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…
18 Citations
Category theory in Coq 8.5: Extended version
- Computer Science
- 2016
This 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 and explains how the universe polymorphism of Coq 8.5 is used to represent smallness and largeness arguments.
The HoTT library: a formalization of homotopy type theory in Coq
- MathematicsCPP
- 2017
We report on the development of the HoTT library, a formalization of homotopy type theory in the Coq proof assistant. It formalizes most of basic homotopy type theory, including univalence, higher…
Proof-relevant Category Theory in Agda
- Computer ScienceArXiv
- 2020
The formalization revealed a number of potential design choices for Agda, and it is found that alternative definitions or alternative proofs from those found in standard textbooks can be advantageous, as well as "fit" Agda's type theory more smoothly.
Formalizing category theory in Agda
- Computer ScienceCPP
- 2021
The formalization of category theory in Agda revealed a number of potential design choices, and it is found that alternative definitions or alternative proofs from those found in standard textbooks can be advantageous, as well as "fit" Agda's type theory more smoothly.
Leveraging the Information Contained in Theory Presentations
- Computer ScienceCICM
- 2019
This work highlights specific redundancies in libraries of existing systems and describes a framework for generating derived concepts from theory definitions, demonstrating the usefulness of this framework on a test library of 227 theories.
Mac Lane’s Comparison Theorem for the Kleisli Construction Formalized in Coq
- MathematicsMath. Comput. Sci.
- 2020
This paper specifies the foundations of category theory in Coq and shows that the chosen representations are useful by certifying Mac Lane’s comparison theorem and its basic consequences and it is shown that the foundations used are equivalent to the foundations by Timany.
Elaboration in Dependent Type Theory
- Computer ScienceArXiv
- 2015
An elaboration algorithm for dependent type theory that has been implemented in the Lean theorem prover is described, which supports higher-order unification, type class inference, ad hoc overloading, insertion of coercions, and the computational reduction of terms.
Leveraging Category Theory in Model Based Enterprise
- Business
- 2020
A mathematical framework based on category theory is proposed to formally describe and explore procedures of modeling engineering products and processes that comprise operation of a model-based…
A dependently typed language with nontermination
- Computer Science
- 2015
It is proved type saftey for a large subset of the Zombie core language, including features such as computational irrelevance, CBV-reduction, and propositional equality with a heterogeneous, completely erased elimination form.
Towards Mac Lane's Comparison Theorem for the (co)Kleisli Construction in Coq
- MathematicsCICM Workshops
- 2018
This short paper summarizes an ongoing work on the formalization of Mac Lane’s comparison theorem for the (co)Kleisli construction in the Coq proof assistant. 1 Adjoint Functors and Monads Definition…
References
SHOWING 1-10 OF 60 REFERENCES
Verified computing in homological algebra
- Computer Science
- 2011
It is shown that Coq is not always up to its promises and that theoretical works will be necessary to understand how these limits can be relaxed.
Categorical semantics of programming languages ( in C OQ )
- Computer Science
- 2010
The first goal is to build a library of category theory in the proof assistent COQ, and the second is to apply this library to formalize a specific theory of programming languages.
Developing the Algebraic Hierarchy with Type Classes in Coq
- Computer ScienceITP
- 2010
We present a new formalization of the algebraic hierarchy in Coq, exploiting its new type class mechanism to make practical a solution formerly thought infeasible. Our approach addresses both…
CATEGORY THEORY as an extension of Martin-Lflf Type Theory
- Mathematics
- 2006
Category theory has tong been widely recognised as being conveniently formalisable In constructive mathematics. We describe a computer implementation of its basic concepts, as an extension of the…
Packaging Mathematical Structures
- Computer ScienceTPHOLs
- 2009
This paper proposes generic design patterns to define and combine algebraic structures, using dependent records, coercions and type inference, inside the Coq system, and presents a key lemma for characterising the discrete logarithm, and a matrix decomposition problem.
A taste of category theory for computer scientists
- Education
- 1988
Category theory is a field that impinges more and more frequently on the awareness of many computer scientists, especially those with an interest in programming languages and formal specifications.…
Univalent categories and the Rezk completion
- MathematicsMathematical Structures in Computer Science
- 2015
A definition of ‘category’ for which equality and equivalence of categories agree is proposed, and it is shown that any category is weakly equivalent to a univalent one in a universal way.
Category Theory
- Mathematics, Computer ScienceArch. Formal Proofs
- 2010
The main result that has been formalized is that the Yoneda functor is a full and faithful embedding of many sorted monadic equational logic.
The Implicit Calculus of Constructions
- Computer Science, MathematicsTLCA
- 2001
In this paper, we introduce a new type system, the Implicit Calculus of Constructions, which is a Curry-style variant of the Calculus of Constructions that we extend by adding an intersection type…
Towards Observational Type Theory
- Mathematics
- 2006
Observational Type Theory (OTT) combines beneficial aspects of Intensional and Extensional Type Theory (ITT/ETT). It separates definitional equality, decidable as in ITT, and a substitutive…