Vyvinul | INRIA , Paris Diderot University , Polytechnic School , Paris-Sud University , École normale supérieure de Lyon |
---|---|
První verze | 1984 |
Poslední verze | 8.13.1 (22. února 2021) |
Vklad | Kohout na GitHubu |
Stav projektu | V aktivním vývoji |
Napsáno | OCaml |
Operační systém | Multiplatformní |
životní prostředí | Cross-platform |
Jazyky | Angličtina |
Typ | Důkaz asistent |
Distribuční politika | Zdarma a otevřený zdroj |
Licence | GNU LGPL 2.1 |
webová stránka | http://coq.inria.fr |
Coq je důkazem, asistent pomocí gallina jazyk , vyvinutý PI.R2 týmem z INRIA v PPS laboratoře z CNRS a ve spolupráci s École Polytechnique je CNAM je Université Paris Diderot a Paris-Sud University (a dříve École Normale supérieure de Lyon ).
Název softwaru (původně CoC ) je zvláště vhodný, protože: je francouzský; je založen na výpočtu konstrukcí ( anglicky CoC zkráceně) zavedených Thierry Coquandem . Ve stejném duchu, jeho jazyk je Gallina a Coq má vyhrazený wiki, nazvaný Cocorico! .
Společnost Coq byla oceněna cenou ACM SIGPLAN Programming Languages Software 2013.
Na začátku 80. let zahájil Gérard Huet projekt výroby interaktivního demonstrátoru vět. Toto je asistent kontroly. Thierry Coquand a Gérard Huet chápou logiku Coq a výpočet konstrukcí. Christine Paulin-Mohring rozšiřuje tuto logiku o novou konstrukci, indukční typy a extrakční mechanismus, který automaticky získá program nulové poruchy z důkazu.
Kohout je založen na návrhu struktur , teorii typů vyššího řádu a jazyk jeho specifikace je formou zadaného počtu lambda kalkulu . Počet konstrukcí použitých v Coq přímo zahrnuje induktivní konstrukce, proto jeho název pro počet indukčních konstrukcí (CIC).
Coq nedávno dostal rostoucí automatizační funkce. Citujme zejména taktiku Omega, která rozhoduje o aritmetice Presburgera .
Coq konkrétněji umožňuje:
Je to bezplatný software distribuovaný za podmínek licence GNU LGPL .
Z velkých úspěchů Coq můžeme zmínit:
Kohout používá korespondenci Curry-Howard . Důkaz o návrhu je považován za program, jehož typem je tento návrh. Chcete-li definovat program nebo důkaz, musíte:
Je také možné použít SSReflect místo Ltac. Dříve vyvinutý samostatně, nyní je ve výchozím nastavení zahrnut do Coq.