coq

Coq is a formal proof management system. It provides a formal language to write mathematical definitions, executable algorithms and theorems together with an environment for semi-interactive development of machine-checked proofs. Typical applications include the certification of properties of programming languages (e.g. the [CompCert])(https://compcert.org/) compiler certification project, the Verified Software Toolchain for verification of C programs, or the Iris framework for concurrent separation logic), the formalization of mathematics (e.g. the full formalization of the Feit-Thompson theorem, or homotopy type theory), and teaching.

The Reference Manual and the Standard Library documentation are the primary documentation for Coq. However, to learn about Coq, we recommend starting with a tutorial or book, such as those listed on the documentation page.