{"title":"30 years of research and development around Coq","authors":"G. Huet, Hugo Herbelin","doi":"10.1145/2578855.2537848","DOIUrl":null,"url":null,"abstract":"The Coq Proof Assistant is an interactive software system based on higher-order type theory, designed and implemented by a team of French researchers as a continuous effort over the last 30 years. It implements a logical framework, called the Calculus of Inductive Constructions, endowed with notational facilities and a modular structure, allowing its use as a high-level language fit for the development of compositional mathematical components. Explicit potential proof structures are built by execution of ML tactics and tacticals, along a choice of proof schemes combinators. This allows a wide spectrum of inference granularity, from step-by-step inference, to full decision procedures and reflection principles. The validity of such a potential proof is verified by an independent core proof checker, whose meta-theory has been itself formally justified. Coq proofs may be seen as programs in a high-level functional notation, decorated by correctness assertions, and translators into existing programming languages such as OCaml and Haskell are available. Conversely, specialized subsystems allow the development of algorithms with logical assertions, whose validity is checked by Coq. The Coq Proof Assistant, an open-source software development, is in use by a large community of users. Some notable successes have been achieved, in formalized mathematics (4 color theorem, odd order theorem), as well as in software certification (Java Card processing environment, CompCert verification of C compiling).","PeriodicalId":20683,"journal":{"name":"Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","volume":"75 1 1","pages":""},"PeriodicalIF":0.0000,"publicationDate":"2014-01-08","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"11","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 41st ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2578855.2537848","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 11
Abstract
The Coq Proof Assistant is an interactive software system based on higher-order type theory, designed and implemented by a team of French researchers as a continuous effort over the last 30 years. It implements a logical framework, called the Calculus of Inductive Constructions, endowed with notational facilities and a modular structure, allowing its use as a high-level language fit for the development of compositional mathematical components. Explicit potential proof structures are built by execution of ML tactics and tacticals, along a choice of proof schemes combinators. This allows a wide spectrum of inference granularity, from step-by-step inference, to full decision procedures and reflection principles. The validity of such a potential proof is verified by an independent core proof checker, whose meta-theory has been itself formally justified. Coq proofs may be seen as programs in a high-level functional notation, decorated by correctness assertions, and translators into existing programming languages such as OCaml and Haskell are available. Conversely, specialized subsystems allow the development of algorithms with logical assertions, whose validity is checked by Coq. The Coq Proof Assistant, an open-source software development, is in use by a large community of users. Some notable successes have been achieved, in formalized mathematics (4 color theorem, odd order theorem), as well as in software certification (Java Card processing environment, CompCert verification of C compiling).