Précédent : Preuves de programmes
Remonter : Résultats nouveaux Suivant :
Contrats industriels
(nationaux, européens et
Participant : Judicaël Courant.
Mots clés : PTS, modules, modularité, bibliothèques de preuves, théories mathématiques .
J. Courant a continué son travail sur la mise au point d'un formalisme de modules pour les preuves, afin de permettre le développement de bibliothèques de preuves modulaires. Il a pu établir clairement que l'on pouvait prolonger la correspondance de Curry-Howard entre programmes et preuves à une correspondance entre théories mathématiques et modules dans les langages de programmation. Ses travaux ont permis de mieux comprendre la notion d'abstraction de type utilisée dans les langages de programmation. Après avoir soutenu sa thèse [[12]], J. Courant étudie maintenant l'implantation de ce système dans Coq.
Techniquement, J. Courant a montré qu'on pouvait obtenir une sémantique par réduction pour un système de modules au-dessus des systèmes de types purs dans lequel on pouvait définir des types abstraits. L'étude des réductions s'est avérée non triviale, la réduction n'étant en effet pas confluente sur les termes non typés. La propriété de confluence est cependant vraie sur les termes typés. Les techniques dues à Geuvers étant inapplicables, la démonstration de cette propriéte se fait simultanément avec celle de la normalisation forte, en adaptant des techniques dues d'une part à Gallier et Coquand et d'autre part à Goguen.
Mots clés : logique modale, substitutions explicites .
J. Goubault-Larrecq a poursuivi les travaux des années passées sur certaines interprétations à la Curry-Howard de la logique modale S4. Une traduction de la logique intuitionniste en S4 fournit un calcul du premier ordre, SKInT, qui a toutes les propriétés de terminaison, de confluence, de standardisation du lambda-calcul, et en plus dispose de métavariables; jusqu'alors, aucun calcul à substitutions explicites n'avait toutes ces propriétés. SKInT étant très proche du calcul SKIn proposé par Healfdene Goguen à TYPES'96, ce dernier et J. Goubault-Larrecq ont rédigé un article commun sur les deux calculs [[42]].
Mots clés : types, ensembles .
B. Werner a poursuivi son étude des liens entre théorie des ensembles et théorie des types. Avec Samuel Lacas, de l'université Paris 7, il a particulièrement étudié plusieurs variantes et traductions des constructions de Diaconescu, qui permettent de dériver le tiers-exclus de l'axiome du choix. Ils ont montré que ce phénomène pouvait également se produire en théorie des types. Ceci est bien sûr important dans des formalismes qui sont essentiellement constructifs. Ces travaux sont soumis à publication [[43]].
Mots clés : Théorie des types, définitions récursives, terminaison de programmes .
Dans le but de simplifier la formulation de la théorie de base de Coq et d'étendre son pouvoir expressif, E. Giménez a proposé un calcul qui permet de typer une classe de programmes récursifs plus large que celle admise dans la version courante de Coq. Ce calcul a l'avantage de permettre une représentation plus simple et directe des programmes, tout en gardant un nombre réduit de règles de déduction. Un article décrivant ce travail a été présenté à la conférence ICALP'98 [[24]].
Les principales propriétés meta-théoriques de ce nouveau formalisme (préservation du typage par réduction, irrelevance de l'ordre d'évaluation, terminaison de tout programme bien typé) ainsi qu'un algorithme de typage sont en cours d'étude. Une partie de ce travail est faite en collaboration avec B. Barras.
Parallèlement, une alternative au problème de l'élargissement de la classe de programmes récursifs acceptés par Coq a été proposée par E. Giménez. Cette solution --moins ambitieuse, mais permettant une implantation plus rapide dans la version courante de Coq-- consiste à étendre la condition syntaxique qui garantit la terminaison de tout programme récursif. Un prototype de Coq basé sur cette approche est actuellement en étape de test.
Participants : Gilles Dowek, Thérèse Hardin [Université
Pierre et Marie Curie, Paris 6], Claude Kirchner [Projet Protheo,
LORIA], Benjamin Werner.
Mots clés : calcul déduction, logique du premier ordre, théorie des types, théories des ensembles .
G. Dowek, Th. Hardin et
C. Kirchner [[32]] ont proposé une nouvelle
présentation de la logique du premier ordre dans laquelle les
étapes de calcul et les étapes de déduction sont clairement
distinguées. Formellement cela revient à définir une
théorie non pas simplement comme un ensemble d'axiomes,
mais comme un ensemble d'axiomes et une congruence
définie sur les propositions du langage et typiquement présentée
par un système de réécriture. Les propositions congruentes sont
identifiées. Ainsi si les propositions 2 + 2 = 4 et 4 = 4 sont
congruentes toute démonstration de l'une est une démonstration de
l'autre et le passage de l'une à l'autre qui est un simple calcul
n'apparait pas dans la démonstration. L'originalité de cette
définition est que la congruence sur les propositions peut
identifier des propositions atomiques avec des propositions non
atomiques. Par exemple, les propositions
a x b = 0 peut être identifiée avec la
proposition
a = 0 b = 0.
G. Dowek, Th. Hardin et C. Kirchner ont ensuite proposé une méthode de démonstration pour la déduction modulo. Cette méthode, la résolution modulo, est une extension de la résolution équationnelle, où une nouvelle règle permet de surréduire un littéral par une règle de réécriture transformant une proposition atomique en une proposition non atomique. Ils ont montré que cette méthode est complète pour toutes les congruences modulo pour lesquelles la déduction vérifie la propriété d'élimination des coupures.
G. Dowek, Th. Hardin et C. Kirchner [[40]] ont proposé une formulation de la théorie des types simples dans le cadre de la déduction modulo utilisant le calcul des substitutions explicites comme langage d'expression des fonctions. Ils ont montré que la résolution modulo appliquée à cette théorie simulait la résolution d'ordre supérieur étape par étape.
G. Dowek et B. Werner [[33]] ont montré que pour de nombreuses congruences, la déduction modulo avait la propriété d'élimination des coupures. C'est le cas en particulier de la théorie des types, ou lorsque la congruence est définie par un système de réécriture sans quantificateurs ou un système de réécriture positif.
Mots clés : polymorphisme, machine à environnement, modèle de compilation, modèle du calcul à base de jeux .
Glossaire :
langage polymorphe langage dans lequel on peut définir des fonctions qui travaillent uniformément quelque soit le type d'objet qu'elles manipulent (par exemple un algorithme de tri qui travaille à partir d'une fonction de comparaison abstraite)
arité nombre d'arguments qu'une fonction attend pour s'évaluer complétement.
machine à environnement modèle (standard) de compilation pour lequel le calcul s'effectue en évaluant le corps des fonctions dans un environnement qui associe aux paramètres formels des fonctions leur valeur effective.
modèle à base de jeux modèle du calcul qui interprète la réduction comme un dialogue entre 2 joueurs : la fonction d'une part, les arguments de l'autre.
H. Herbelin a analysé la réduction dans les langages polymorphes (langage ML pur, système de Girard-Reynolds, puis, Calcul des Constructions).
De cette analyse, il obtient une nouvelle sorte de machine à environnement, très concise, qui permet d'étendre le modèle de compilation du langage Pascal (par exemple) au cas d'un typage polymorphe à la ML. Ce modèle de compilation pourrait s'appliquer aussi à ML dans la mesure où on interdirait les effets de bords au cours d'une application partielle.
De cette analyse, il obtient aussi un modèle en terme de jeux de la réduction dans les calculs polymorphes. Ce modèle s'inscrit dans la droite ligne du programme de modélisation du calcul initié vers 1993 par les travaux de Abramsky-Jagadeesan-Malacaria, Coquand, Hyland-Ong et Nickau, et poursuivi depuis par une large communauté de chercheurs, spécialement en Grande-Bretagne.
L'extension de cette analyse au cas d'un calcul polymorphe avec types dépendants (spécialement le Calcul des Constructions) est en cours.
Mots clés : arguments implicites, systèmes de types purs, synthèse de types, métathéorie .
La richesse du formalisme de Coq se paye souvent par une certaine lourdeur de la syntaxe, ce qui oblige l'utilisateur à fournir des informations de typage qui pourraient être inférées automatiquement par le système.
Dans le cadre de son stage de DEA sous la direction de H. Herbelin, A. Miquel a formalisé une variante du Calcul des Constructions pour laquelle une partie de ces informations de typage ne figure pas dans la représentation interne des termes. Il poursuit à l'heure actuelle l'étude des propriétés de ce formalisme (notamment les problèmes de décidabilité du typage et de terminaison des calculs) dans le cadre de son travail de thèse.
De l'étude effectuée par A. Miquel, il ressort que le problème tel qu'il était posé à l'origine recouvre deux questions distinctes :