bbf312f
# coq
bbf312f
bbf312f
Coq is a formal proof management system.  It provides a formal language to
bbf312f
write mathematical definitions, executable algorithms and theorems together
bbf312f
with an environment for semi-interactive development of machine-checked
bbf312f
proofs.  Typical applications include the
bbf312f
[certification of properties of programming languages](https://coq.inria.fr/cocorico/List%20of%20Coq%20PL%20Projects)
bbf312f
(e.g. the [CompCert])(https://compcert.org/) compiler certification project,
bbf312f
the [Verified Software Toolchain](https://vst.cs.princeton.edu/) for
bbf312f
verification of C programs, or the [Iris](https://iris-project.org/) framework
bbf312f
for concurrent separation logic), the
bbf312f
[formalization of mathematics](https://coq.inria.fr/cocorico/List%20of%20Coq%20Math%20Projects)
bbf312f
(e.g. the full formalization of the
bbf312f
[Feit-Thompson theorem](https://hal.inria.fr/hal-00816699), or
bbf312f
[homotopy type theory](https://homotopytypetheory.org/coq/)), and
bbf312f
[teaching](https://github.com/coq/coq/wiki/CoqInTheClassroom).
bbf312f
bbf312f
The [Reference Manual](https://coq.inria.fr/distrib/current/refman/) and the
bbf312f
[Standard Library documentation](https://coq.inria.fr/distrib/current/stdlib/)
bbf312f
are the primary documentation for Coq.  However, to learn about Coq, we
bbf312f
recommend starting with a tutorial or book, such as those listed on the
bbf312f
[documentation page](https://coq.inria.fr/documentation).