- Coq (Software)
-
Coq Basisdaten Entwickler TypiCal Aktuelle Version 8.3pl2
(April 2011)Betriebssystem Plattformunabhängig Kategorie Maschinengestütztes Beweisen Lizenz LGPL (Freie Software) www.lix.polytechnique.fr/coq Coq ist ein Programm zum maschinengestützten Beweisen mathematischer Aussagen.
Inhaltsverzeichnis
Übersicht
In Coq formuliert man Datentypdefinitionen und ausführbare Programmteile sowie mathematische Aussagen und Beweise. Die getroffenen Aussagen beziehen sich gewöhnlich auf die definierten Funktionen. Coq überprüft die formale Richtigkeit von Beweisen mithilfe seines auch sonst benutzten Typprüfers.
Weiterhin unterstützt Coq die Suche nach Beweisen und erlaubt es, aus einer formalen Programmspezifikation samt Implementation und Korrektheitsbeweis beispielsweise ein ML-Programm zu extrahieren. Hierbei werden nicht-übersetzbare Typinformationen ignoriert. Aus (zwangsläufig konstruktiven) Beweisen von Existenzaussagen lässt sich ebenfalls Ziel-Code generieren.
Coq verwendet den Kalkül der induktiven Konstruktion, eine Form des Konstruktionskalküls. Coq ist kein vollautomatisches Beweissystem, kennt aber einige Beweistaktiken und Entscheidungsfindungsprozeduren.
Entwicklung
Coq wird in Frankreich im Projekt TypiCal (früher LogiCal) entwickelt, einem Gemeinschaftsprojekt von INRIA, École Polytechnique, Universität Paris-Süd und CNRS. Eine weitere Arbeitsgruppe bestand an der École normale supérieure de Lyon. Teamleiter ist Benjamin Werner.
Coq wird in der Objective CAML entwickelt, einer (im Wesentlichen) funktionalen Programmiersprache.
Name
Das französische Wort Coq bedeutet Gockel oder Hahn und steht in der französischen Tradition, wissenschaftliche Entwicklungswerkzeuge nach Tieren zu benennen. Außerdem erinnert es an Thierry Coquand, der gemeinsam mit Gérard Huet den Konstruktionskalkül entwickelte.
Vier-Farben-Satz
Georges Gonthier (von Microsoft Research, in Cambridge, England) und Benjamin Werner (von INRIA) erzeugten mit Hilfe von Coq einen überschaubaren Beweis des Vier-Farben-Satzes, der im September 2004 fertiggestellt wurde.[1]
Als Nebenergebnis dieser Arbeit entstand eine Erweiterung für Coq namens ssreflect ("small scale reflection"). Trotz des Namens sind die meisten Features der Erweiterung allgemein verwendbar, also nicht nur für reflexive Beweise. Die aktuelle Version ssreflect 1.2 ist freie Open-Source-Software (Lizenz CeCILL) und kompatibel zu Coq 8.2.[2]
Weblinks
-
Commons: Coq – Sammlung von Bildern, Videos und Audiodateien
- Offizielle Website (englisch)
- Ssreflect
- Certified Programming with Dependent Types – Online-Buch von Adam Chlipala
- Software Foundations - ein umfangreicher Einführungskurs von Benjamin C. Pierce et al.
Einzelnachweise
Kategorien:- Freie Mathematik-Software
- Mathematische Logik
-
Wikimedia Foundation.