Generated by GPT-5-mini| Coq (proof assistant) | |
|---|---|
![]() | |
| Name | Coq |
| Developed by | INRIA |
| Initial release | 1989 |
| Programming language | OCaml |
| Operating system | Cross-platform |
| License | Open source (LGPL) |
| Website | coq.inria.fr |
Coq (proof assistant) Coq is an interactive formal proof management system developed to express mathematical assertions, mechanically check proofs, and extract certified programs. Coq integrates a dependently typed functional programming language, a tactic-based proof engine, and a growing ecosystem of libraries for formalized mathematics and verified software. Its development has involved research groups and institutes such as INRIA, CNRS, École Normale Supérieure de Lyon, University of Paris-Saclay, and has influenced projects at Microsoft Research, Google, Amazon, and MIT.
Coq originated from work on the calculus of constructions by researchers linked to INRIA, Pierre-Louis Curien, Thierry Coquand, Gérard Huet, and later contributors at ENS Lyon and École Polytechnique. The system evolved through milestones connected to the calculus of constructions, the lambda calculus, and the development of proof theory at institutes such as University of Cambridge and University of Edinburgh where dependent type theory research flourished. Releases and development cycles have been coordinated with organizations like Microsoft Research and projects funded by the European Research Council and national research agencies, leading to integrations with toolchains used by ARM, Intel, NASA, and NATO research collaborations.
Coq's core implements the Calculus of Inductive Constructions and is written primarily in OCaml by teams at INRIA, LRI, and contributors across CNRS laboratories. The implementation adopts a kernel-and-tactics architecture echoing ideas from the Automath project and influenced by implementations at Harvard University and Princeton University. Its module and plugin system interfaces with external tools developed at Microsoft Research, IBM Research, and Google Research, and compilation, extraction, and proof-checking pipelines have been adapted for use with Xen Project, Linux Foundation distributions, and high-assurance effort by Semantic Designs collaborators.
Coq's language includes dependent types, inductive and coinductive types, higher-order functions, and pattern matching, drawing on theoretical work from Per Martin-Löf, Jean-Yves Girard, Henk Barendregt, Gérard Berry, and Robin Milner. It supports program extraction to languages used at Red Hat, Canonical, Apple, and Google such as OCaml, Haskell, and Scheme, and includes features inspired by systems like Isabelle, Agda, Lean, HOL Light, and Twelf. The system's proof terms, conversion rules, and universe polymorphism reflect results from conferences like LICS, ICFP, POPL, and CADE.
Proof development in Coq uses a tactic language influenced by work at École Normale Supérieure, University of Cambridge, and INRIA labs, and features interactive shells and IDE integrations developed alongside Proof General, CoqIDE, and editors supported by Microsoft and JetBrains. Tactics and automation leverage research from Gordon Plotkin, Robin Milner, John McCarthy, and techniques presented at ICLR and NeurIPS for decision procedures and SMT integration; users often connect Coq with solvers and tools from Z3, CVC4, and SMT-LIB ecosystems. The proof scripting language and tactic combinators enable reproducible developments used by teams at Cambridge University Press and Oxford University Press in formalization projects.
Coq hosts extensive libraries such as the Mathematical Components library, contributions from INRIA and CNRS labs, numeric and real analysis libraries drawing on work from Princeton University and University of Chicago, and domain-specific collections used by NASA, ESA, ARM and Intel. Integration libraries connect Coq to build systems and continuous integration services used by GitHub, GitLab, Travis CI, and Jenkins, and academic libraries interface with repositories backed by arXiv, DBLP, and project pages at University of Cambridge and University of Oxford.
Coq has been used in major verified-software efforts including the CompCert verified C compiler developed with teams at INRIA and ENS Lyon, the seL4 microkernel verification by researchers associated with NICTA and University of New South Wales, and proofs of correctness of cryptographic primitives used in projects at Microsoft Research, Google, and Cloudflare. Other notable case studies include formalizations of mathematical results contributed by teams at University of Pennsylvania, Princeton University, Harvard University, and University of Cambridge and industry certification efforts involving Airbus, Boeing, Rolls-Royce, and Thales.
Coq is often compared with systems such as Isabelle, Agda, Lean, HOL Light, PVS, and Twelf; differences revolve around foundational choices like dependent type theory versus higher-order logic, proof automation strategies associated with Sledgehammer from Isabelle or tactics from Lean’s community, and extraction and code generation facilities used by CompCert versus CakeML projects. Interoperability efforts have involved exchanges between teams at INRIA, University of Cambridge, Microsoft Research, and the Carnegie Mellon University community, and collaborative projects have been presented at venues including ICFP, POPL, CADE, and TYPES.
Category:Proof assistants