Coq Shell Makefile CSS M4 Python Other
Clone or download
spitters Merge pull request #942 from mikeshulman/pushouts
Give better types to pushout operations (hide construction as coeq)
Latest commit 6a382a4 Aug 2, 2018
Failed to load latest commit information.
contrib Merge pull request #910 from siddharthist/not-brck-A-impl-A Jul 25, 2018
coq-HoTT @ 9f4787b Drop support for Coq 8.7, have travis test 8.8 Jul 17, 2018
coq Make \/ mean hor, not sum. Use |_| if sum is intended. Jul 24, 2018
etc Drop support for Coq 8.7, have travis test 8.8 Jul 17, 2018
theories Merge pull request #942 from mikeshulman/pushouts Aug 2, 2018
.gitignore Use .v.d suffix for Coq dependency files. Jul 7, 2017
.gitmodules Set Coq version to master Oct 21, 2017
.mailmap Update .mailmap Jul 13, 2016
.travis.yml Drop support for Coq 8.7, have travis test 8.8 Jul 17, 2018
CREDITS.txt Update CREDITS.txt Aug 26, 2013 Merge pull request #930 from HoTT/spitters-patch-1 Jul 24, 2018
LICENSE.txt Added legaleze Oct 3, 2012 Timing files should be "foo.v.timing" to match coq_makefile May 18, 2018 mention hoqide in README Jun 8, 2018 consistent naming of non-dummy axioms Jun 20, 2017
UNICODE.txt Add unicode instructions Aug 26, 2014
_CoqProject Implement Escardo's bounded search Jul 23, 2018 [build] More robust location for bash interpreter. Oct 20, 2017 Add hoqchk and a validate target Jun 1, 2017 Add hoqchk and a validate target Jun 1, 2017
hoqc Strip -no-native-compiler Apr 19, 2016
hoqchk Add hoqchk and a validate target Jun 1, 2017
hoqdep Strip -no-native-compiler Apr 19, 2016
hoqide Strip -no-native-compiler Apr 19, 2016
hoqtop Strip -no-native-compiler Apr 19, 2016
hoqtop.byte Strip -no-native-compiler Apr 19, 2016

Build Status

Homotopy Type Theory is an interpretation of Martin-Löf’s intensional type theory into abstract homotopy theory. Propositional equality is interpreted as homotopy and type isomorphism as homotopy equivalence. Logical constructions in type theory then correspond to homotopy-invariant constructions on spaces, while theorems and even proofs in the logical system inherit a homotopical meaning. As the natural logic of homotopy, type theory is also related to higher category theory as it is used e.g. in the notion of a higher topos.

The HoTT library is a development of homotopy-theoretic ideas in the Coq proof assistant. It draws many ideas from Vladimir Voevodsky's Foundations library (which has since been incorporated into the UniMath library) and also cross-pollinates with the HoTT-Agda library. Recently, there are also the Lean library and the cubical type checker.

More information about this libary can be found in:

  • The HoTT Library: A formalization of homotopy type theory in Coq, Andrej Bauer, Jason Gross, Peter LeFanu Lumsdaine, Mike Shulman, Matthieu Sozeau, Bas Spitters, 2016 arxiv CPP17


Installation details are explained in the file


It is possible to use the HoTT library directly on the command line with the hoqtop script, but who does that?

It is probably better to use Proof General and Emacs. When Proof General asks you where to find the coqtop executable, just point it to the hoqtop script. If Emacs runs a coqtop without asking, you should probably customize set the variable proof-prog-name-ask to nil (in Emacs type C-h v proof-prog-name-ask RET to see what this is about).

There is also a script called hoqide that runs Coq's built-in GUI coqide with hoqtop as the underlying coqtop.


Contributions to the HoTT library are very welcome! For style guidelines and further information, see the file


The library is released under the permissive BSD 2-clause license, see the file LICENSE.txt for further information. In brief, this means you can do whatever you like with it, as long as you preserve the Copyright messages. And of course, no warranty!


More information can be found in the Wiki.