Sous-sections
Mots clés : déduction modulo,
procédures de décision, théories contraintes. .
Résumé :
Nous travaillons sur l'intégration de la déduction (au
premier ordre ou à l'ordre supérieur) avec des calculs, des
procédures de décision, des résolutions de contraintes.
Participants : Eric Deplagne,
Claude Kirchner.
En collaboration avec Gilles Dowek (projet COQ) et Thérèse
Hardin (LIP6 et projet Para), nous avons introduit en 1998
une nouvelle présentation de la logique du premier ordre
appelée déduction modulo qui met en valeur l'aspect déduction
modulo une congruence. L'une des originalités de l'approche
est que cette congruence est définie non seulement sur les
termes mais aussi sur les propositions.
Dans ce cadre, nous avons défini un calcul des séquents
modulo une telle congruence. Il est souvent naturel
d'interpréter cette congruence par un système de réécriture
équationnel confluent. A une telle présentation de la logique
du premier ordre, on peut associer une méthode de preuve
appelée ENAR et fondée sur une extension de la résolution
avec contrainte avec une règle de surréduction appropriée.
Nous avons montré que cette méthode de preuve est correcte et
complète à partir du moment où l'on sait éliminer les
coupures dans le calcul des séquents modulo. Des conditions
suffisantes sur la congruence ont été données par Gilles
Dowek et Benjamin Werner (projet COQ) pour assurer
l'élimination de coupures.
Parmi les théories considérées, la présentation au premier
ordre de la logique d'ordre supérieur en utilisant le calcul
des substitutions explicites satisfait l'élimination des
coupures. Cette présentation est intentionnellement
équivalente à la présentation traditionnelle de la logique
d'ordre supérieur utilisant le
-calcul, au sens où une proposition
peut être démontrée sans les axiomes d'extensionnalité dans
un système si et seulement si elle peut l'être dans l'autre.
En appliquant la méthode de preuve ENAR et les résultats que
nous avions obtenus pour l'unification d'ordre
supérieur [18], nous avons pu obtenir une simulation pas
à pas de la résolution d'ordre supérieur. Ainsi, exprimer la
logique d'ordre supérieur comme une théorie du premier ordre
et appliquer une méthode de recherche de démonstration au
premier ordre est au moins aussi efficace qu'une implantation
dédiée. De plus rester dans le formalisme de la logique du
premier ordre permet de bénéficier des optimisations connues
dans ce cadre. Enfin, cela a permis d'étendre simplement la
méthode à la résolution équationnelle d'ordre supérieur. Ces
résultats publiés à RTA'99 vont paraitre dans [19].
En formalisant l'axiome d'induction dans le cadre de
HOL
(exprimant la logique
d'ordre supérieur au premier ordre), nous avons pu montrer
que la preuve par induction d'une propriété équationnelle
peut être vue comme un processus de déduction modulo, dans
lequel on enrichit la congruence avec les différentes
hypothèses d'induction. Pour cela il a fallu étendre la
déduction modulo à des règles et équations conditionnelles,
ainsi qu'à des symboles «protecteurs» limitant l'action de la
congruence. On obtient ainsi une nouvelle vision des
mécanismes d'induction au premier ordre dits «induction sans
induction». Ceux qui procèdent par réécriture correspondent à
la réduction du but par la congruence et ceux qui procèdent
par complétion correspondent à la simplification de la
congruence. On obtient donc la possibilité de faire coopérer
dans un cadre formel unifié des techniques de démonstration
automatique avec des étapes de démonstration assistée. Nous
avons commencé à traduire ces résultats dans un système de
preuve permettant leur implantation en ELAN.
Par ailleurs, une reformulation des travaux de Patrick
Viry sur l'expression du calcul des séquents standard dans le
formalisme de la déduction modulo a conduit Eric Deplagne à
donner une présentation complète du calcul des séquents
standard maximisant le système confluent modulo lequel la
déduction est appliquée [37].
Jürgen Stuber a démontré que ENAR est complète par une
autre méthode basée sur la construction d'un modèle de
Herbrand, suite à son travail sur l'intégration des théories
dans les preuves par superposition. Par cette méthode on
gagne des notions fortes de redondance pour les clauses et
les inférences, ce qui est important pour trouver des preuves
en pratique. Mais on est obligé de construire un ordre
bien-fondé sur les propositions qui est compatible avec la
réécriture et possède d'autres propriétes plus techniques.
Nous avons démontré qu'un tel ordre existe pour un petit
fragment de la théorie des ensembles [49].
Participant : Hélène
Kirchner.
Dans les spécifications formelles de type algébriques, le
système de types est restreint à des sortes, sous-sortes et à
des types fonctionnels du premier ordre. Ce n'est pas le cas
des spécifications fondées sur les modèles qui autorisent des
types d'ordres supérieurs interprétés de façon ensembliste
comme des produits cartésiens, des espaces fonctionnels et
des parties d'ensembles.
Dans des travaux précédents, nous avions proposé
d'enrichir les spécifications algébriques avec des types
d'ordre supérieur, tout en restant dans le cadre de la
logique des clauses de Horn avec égalité. Ce travail avec
Peter Mosses (BRICS, Université de Aarhus) a été poursuivi
pour simplifier notre première approche. Nous avons fait le
lien avec les modèles ensemblistes classiques et travaillé
sur l'existence de modèles initiaux dans différentes classes
de modèles.
Ces travaux ont été présentés au cours d'un exposé invité
au Winter Workshop in Logics, Types and Rewriting, à
Edinburgh en février 2000 et sont soumis à un journal.
Participant : Sorin
Stratulat.
Dans sa thèse [12] Sorin Stratulat introduit le concept
d'ensemble couvrant contextuel
(ECC), qui généralise celui d'ensemble couvrant. Le principe
de preuve par récurrence avec ECC est décrit par un système
d'inférence abstrait. Ce système généralise la plupart des
procédures de récurrence basées sur les ensembles couvrants.
La thèse présente également des conditions d'applications des
ECC dans la construction de règles d'inférence. La thèse
aborde le problème de l'intégration correcte des techniques de raisonnement dans
le cadre des ECC. Les ECC élémentaires sont engendrés par des
modules, représentant des implantations de techniques de
raisonnement. Grâce à leurs propriétés de composition, on
peut engendrer de nouveaux ECC. Comme étude de cas, un
ensemble de modules de raisonnement est défini à partir d'un
ensemble de techniques de réécriture conditionnelle, comme la
réécriture inductive et la réécriture par cas. Puis sur cette
base le système d'inférence du démonstrateur SPIKE a pu être spécifié comme une instance
du système abstrait. Ceci permet une extension modulaire et
incrémentale de SPIKE. Sorin
Stratulat montre comment SPIKE,
étendu avec la technique de subsomption sémantique inductive
et intégrant une procédure de semi-décision pour
l'arithmétique linéaire, prouve la correction de l'algorithme
MJRTY [BM91] en utilisant une combinaison de
raisonnement inductif et arithmétique.
Ces travaux sont également décrit dans
l'article [23].
Participants : Michaël
Rusinowitch, Sorin Stratulat.
Nous avons poursuivi notre étude sur l'intégration des
procédures de décision dans un démonstrateur par réécriture
du type de SPIKE. Nous avons
défini des schémas de règles d'inférences assurant la
correction du démonstrateur [27]. Un prototype intégrant l'arithmétique
linéaire et la théorie de l'égalité a été développé et validé
sur des exemples.
Participants : Adel Bouhoula,
Florent Jacquemard.
Les structures de données telles qu'ensembles, listes
ordonnées, powerlists, peuvent
être spécifiées par des théories équationnelles avec
contraintes. Peu de travaux ont été consacrés à
l'automatisation des preuves par récurrence dans de telles
théories, car elles engendrent des schémas de récurrence très
complexes. Nous avons proposé une nouvelle approche fondée
sur la récurrence par ensembles test sur laquelle est bâti
par exemple le démonstrateur SPIKE, et sur les automates d'arbres à
contraintes.
L'idée principale est la construction d'un automate
d'arbres à contraintes qui caractérise le modèle initial de
la spécification considérée. Nous avons généralisé cette
construction, que l'on trouve dans la littérature pour un
système de réécriture quelconque, aux systèmes de réécriture
avec contraintes. L'automate obtenu est ensuite utilisé comme
moteur de récurrence au cours d'une preuve, pour générer de
nouveaux sous-buts lors d'une étape de récurrence. Ces
sous-buts sont alors simplifiés, puis à leur tour prouvés par
récurrence, ou invalidés dans le cas où un défaut de
cohérence est détecté. Ce test se ramène à des procédures de
décision du vide pour les automates d'arbres à
contraintes.
Nous avons prouvé que cette procédure est correcte et
réfutationellement complète, même en présence d'un système
d'axiomes constructeurs contraints, pas nécessairement
linéaire gauche, éventuellement non-terminant, mais
confluent. Les axiomes non-constructeurs peuvent être quant à
eux des équations conditionnelles et contraintes.
Participants : Laurent Vigneron,
Silvio Ranise, Michael Rusinowitch.
La clôture par congruence est une procédure dont le but
est de construire une représentation compacte d'une théorie
équationnelle. En collaboration avec L. Bachmair, I. V.
Ramakrishnan et A. Tiwari (Université de Stony Brook, NY),
nous avons utilisé cette technique pour définir des
procédures de décision efficaces fondées sur la normalisation
par réécriture, cadres indispensables pour développer des
environnements de preuve. Ces travaux permettent de mieux
comprendre de nombreux résultats dans ce domaine et de voir
les liens entre eux (Nelson et Oppen, Downey, Sethi et
Tarjan, Shostak). Une première partie de ces résultats a été
présentée à la conférence RTA'99 [BRRT99] ainsi qu'au workshop
FreGe'00 [30].
Ces résultats ont été étendus pour permettre de considérer
des opérateurs associatifs-commutatifs. La méthode utilisée
est fondée sur la combinaison d'algorithmes de complétion
pour des théories portant sur des signatures disjointes, afin
d'engendrer un système convergent sur une signature étendue.
Cette approche peut également être utilisée pour résoudre le
problème du mot pour des théories AC closes, sans utiliser
d'ordre de simplification AC.
Ce résultat a été présenté à la conférence
FroCoS'2000 [29], et un article pour un journal est en
préparation.
Nous étudions également comment obtenir de manière
uniforme des procédures de clôture par congruence pour des
théories utilisées en vérification en spécialisant des
systèmes de preuves par réécriture.
Participant : Michael
Rusinowitch.
Les contraintes d'ordres permettent d'écarter les
instances closes redondantes dans les preuves par résolution
ou paramodulation. Elles permettent aussi d'augmenter le
champ d'application des ordres tels que RPO, LPO, KBO. Nous
avons montré dans [45] que la théorie de l'ordre RPO est
décidable dans le cas d'une signature monadique totalement
ordonnée.
Participants : Hassen Kacem,
Claude Kirchner, Hélène Kirchner, Quang-Huy Nguyen.
Dans le cadre d'un projet avec France Telecom R&D,
nous nous intéressons à la coopération de différentes
techniques de preuve pour vérifier la conformité à des normes
dans les réseaux téléphoniques. Pour faire ce genre de
vérification, il faut pouvoir combiner l'efficacité de la
démonstration automatique avec la souplesse et la fiabilité
d'un assistant de preuve. Dans ce projet, nous étudions
comment faire coopérer deux systèmes : l'environnement
ELAN développé dans le projet PROTHEO,
qui permet d'effectuer automatiquement et très efficacement
des preuves par réécriture, et l'assistant de preuve
COQ développé à l'INRIA-Rocquencourt.
ELAN est utilisé pour trouver rapidement
des preuves particulières en utilisant la réécriture. Ces
preuves sont ensuite importées et internalisées par COQ. Cette coopération est décrite
dans [26] présenté au workshop Logical
Frameworks and Metalanguages affilié à la Conférence LICS
(Logic in Computer Science) en juillet 2000. Le stage de 4
mois de Hassen Kacem dans le projet PROTHEO [63] a
consisté à étudier cette démarche sur un algorithme
particulier. Il a programmé en ELAN un
test de satisfiabilité de formules propositionnelles, très
utilisé dans le domaine de la vérification de circuits,
l'algorithme de Stallmarck, ainsi qu'une variante. Le
compilateur ELAN génère une preuve et en
transmet la trace à CoQ.