Mots clés : calcul des constructions
inductives .
Nous développons un système de traitement de
démonstrations appelé Coq et fondé sur le
Calcul des Constructions Inductives. Ce formalisme
permet de définir des algorithmes comme de simples fonctions,
il permet de définir des prédicats inductivement par un
ensemble de clauses. Il contient donc un langage de
programmation fonctionnel et un langage de programmation
logique comme sous-langages.
Ce formalisme articule raisonnement et calcul, en
particulier parce qu'un terme obtenu en appliquant une
fonction définie algorithmiquement à un argument se calcule
en un terme plus simple sans que l'égalité entre ces deux
termes doive être démontrée. Une autre originalité de ce
formalisme est que les démonstrations sont des objets à part
entière, au même titre que les nombres, les ensembles ou les
fonctions. Plus précisément, les démonstrations sont des
fonctions définies algorithmiquement dans la tradition de
Brouwer, Heyting et Kolmogorov.