Résumé
Coq est un assistant de preuve utilisant le langage Gallina, développé par l'équipe PI.R2 de l’Inria au sein du laboratoire PPS du CNRS et en partenariat avec l'École polytechnique, le CNAM, l'Université Paris Diderot et l'Université Paris-Sud (et antérieurement l'École normale supérieure de Lyon). Le nom du logiciel (initialement CoC) est particulièrement adéquat car : il est français ; il est fondé sur le calcul des constructions (CoC abrégé en anglais) introduit par Thierry Coquand. Dans la même veine, son langage est Gallina et Coq possède un wiki dédié, baptisé Cocorico!. En 2013, Coq a été récompensé du Programming Languages Software Award par l'ACM SIGPLAN. Coq a reçu en 2022 le premier prix science ouverte du logiciel libre de la recherche dans la catégorie « scientifique et technique ». Au début des années 80, Gérard Huet lance un projet de fabrication d’un démonstrateur interactif de théorème. Il s'agit d'un assistant de preuve. Thierry Coquand et Gérard Huet conçoivent la logique de Coq et le calcul des constructions. Christine Paulin-Mohring étend cette logique avec une nouvelle construction, les types inductifs et un mécanisme d’extraction qui permet d’obtenir automatiquement un programme zéro défaut à partir d’une preuve. Coq est fondé sur le calcul des constructions, une théorie des types d'ordre supérieur, et son langage de spécification est une forme de lambda-calcul typé. Le calcul des constructions utilisé dans Coq comprend directement les constructions inductives, d'où son nom de calcul des constructions inductives (CIC). Coq a été récemment doté de fonctionnalités d'automatisation croissantes. Citons notamment la tactique lia qui décide l'arithmétique de Presburger, les tactiques field et ring pour manipuler des expressions polynomiales et rationnelles. Plus particulièrement, Coq permet : de manipuler des assertions du calcul ; de vérifier mécaniquement des preuves de ces assertions ; d'aider à la recherche de preuves formelles ; de synthétiser des programmes certifiés à partir de preuves constructives de leurs spécifications.
À propos de ce résultat
Cette page est générée automatiquement et peut contenir des informations qui ne sont pas correctes, complètes, à jour ou pertinentes par rapport à votre recherche. Il en va de même pour toutes les autres pages de ce site. Veillez à vérifier les informations auprès des sources officielles de l'EPFL.