Coq

Coq
Coq
Coq logo.png
Paradigm(s) Functional
Stable release 8.3 (October 2010; 12 months ago (2010-10))
Typing discipline static, strong
Influenced by ML and Standard ML
Influenced Agda
OS Cross-platform
License LGPL 2.1
Usual filename extensions .v
Website Coq website
An interactive proof session in CoqIDE, showing the proof script on the left and the proof state on the right.

In computer science, Coq is an interactive theorem prover. It allows the expression of mathematical assertions, mechanically checks proofs of these assertions, helps to find formal proofs, and extracts a certified program from the constructive proof of its formal specification. Coq works within the theory of the calculus of inductive constructions, a derivative of the calculus of constructions. Coq is not an automated theorem prover but includes automatic theorem proving tactics and various decision procedures.

Coq implements a dependently typed functional programming language.[1]

It is developed in France, in the TypiCal (ex-LogiCal) project, jointly operated by INRIA, École Polytechnique, Paris-Sud 11 University and CNRS. There was also formerly a group at École Normale Supérieure de Lyon. The team leader is Senior Scientist Benjamin Werner. Coq is implemented in Objective Caml.

The word coq means "cock" (rooster) in French, and stems from a tradition of naming French research development tools with animal names. It is also a reference to Thierry Coquand, who developed the aforementioned calculus of constructions along with Gérard Huet. Also, at first it was simply called Coc, the acronym of calculus of construction.

Contents

Four color theorem and ssreflect extension

Georges Gonthier (of Microsoft Research, in Cambridge, England) and Benjamin Werner (of INRIA) used Coq to create a surveyable proof of the four color theorem, which was completed in September 2004.[2]

Based on this work, a significant extension to Coq was developed called Ssreflect (which stands for "small scale reflection"). Despite the name, most of the new features added to Coq by Ssreflect are general purpose features, useful not merely for the computational reflection style of proof. These include:

  • Additional convenient notations for irrefutable and refutable pattern matching, on inductive types with one or two constructors
  • Implicit arguments for functions applied to zero arguments - which is useful when programming with higher-order functions
  • Concise anonymous arguments
  • An improved set tactic with more powerful matching
  • Support for reflection

Ssreflect 1.2 is freely available under the open source CeCill-B or Cecill-2.0 license (your choice), and is compatible with Coq 8.2pl1.[3]

See also

References

External links

Textbooks
Tutorials

Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • coq — coq …   Dictionnaire des rimes

  • coq — 1. (kok ; le q se fait toujours entendre, excepté dans coq d Inde qui se prononce : ko din d ; dans plusieurs provinces, au pluriel, on prononce non pas des kok, mais des kô, qui est une prononciation ancienne) s. m. 1°   Le mâle de la poule.… …   Dictionnaire de la Langue Française d'Émile Littré

  • Coq — (фр. coq  петух)  интерактивное программное средство доказательства теорем, использующее собственный язык функционального программирования (Gallina) с зависимыми типами. Позволяет записывать математические теоремы и их… …   Википедия

  • coq — COQ. s. m. (On pron. le Q.) Sorte d oiseau domestique qui est le mâle de la poule. Bon coq. Un jeune coq. Un vieux coq. Crête de coq. Faire battre, faire jouter des coqs. Un combat de coqs. Le chant du coq. Au premier chant du coq. Plumes de coq …   Dictionnaire de l'Académie Française 1798

  • Coq — steht für: A. Le Coq, estnische Brauerei Coq (Software), ein mathematisches Beweisführungsprogramm Le Coq Sportif, Sportartikelhersteller Le Coq ist in der Geographie: der französische Name des belgischen Ortes De Haan Coq, Le Coq ist der… …   Deutsch Wikipedia

  • coq — COQ. s. m. Sorte d oiseau domestique qui est le masle de la poule. Bon coq. un jeune coq. un vieux coq. creste de coq. faire battre, faire jouster des coqs. le chant du coq. au premier chant du coq. un peu avant le point du jour on entend le coq… …   Dictionnaire de l'Académie française

  • coq — {{t=g}}kottos,{{/t}} Graece, gallus est gallinaceus, Hinc forte Coq dicimus, pro Cot, Cotte, huius cottes, et Cottis, huius cottidis, caput significat: vnde {{t=g}}kottoi,{{/t}} gallinacei dicti sunt, ob cristam quam in capite ferunt. Il estoit… …   Thresor de la langue françoyse

  • Coq — Saltar a navegación, búsqueda Coq (gallo en francés) es un sistema de ayuda para la demostración de teoremas que maneja aserciones matemáticas, verifica mecánicamente las pruebas de aserciones, ayuda a encontrar pruebas para esas aserciones y… …   Wikipedia Español

  • Coq — (gallo en francés) es un sistema de ayuda a la demostración de teoremas que maneja aserciones matemáticas, verifica mecánicamente las pruebas de aserciones, ayuda a encontrar prubas para esas aserciones y extrae programas certificados (correctos) …   Enciclopedia Universal

  • coq — COQ: Un homme maigre doit toujours dire qu un bon coq n est jamais gras …   Dictionnaire des idées reçues

  • Coq. — Coq. (Med.), Abbreviatur auf Recepten für: Coque, koche …   Pierer's Universal-Lexikon

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”