Serveur d'exploration sur la recherche en informatique en Lorraine

Attention, ce site est en cours de développement !
Attention, site généré par des moyens informatiques à partir de corpus bruts.
Les informations ne sont donc pas validées.

Mécanisation du Raisonnement par Récurrence

Identifieur interne : 002210 ( Crin/Curation ); précédent : 002209; suivant : 002211

Mécanisation du Raisonnement par Récurrence

Auteurs : Adel Bouhoula

Source :

RBID : CRIN:bouhoula98a

English descriptors

Abstract

Je vais présente mes travaux sur la mécanisation du raisonnement par récurrence et ses applications à la preuve de spécifications, de programmes et de circuits : \noindent {\bf 1. Preuves dans les Théories Conditionnelles :} Il existe essentiellement deux approches pour automatiser le raisonnement par récurrence. La méthode classique demande un schéma de récurrence explicite. Cette méthode échoue souvent car les schémas de récurrence ne rendent pas compte assez fidèlement de la structure du modèle initial. D'autre part les récurrences mutuelles sont difficiles à gérer dans cette approche. De plus, cette méthode ne permet pas la réfutation des conjectures non valides. La seconde technique de preuve, appelée {\em récurrence implicite\/}, consiste à montrer que la conjecture est cohérente avec le modèle initial. La cohérence est détectée par une procédure de complétion. Bien que complète pour la réfutationdes conjectures fausses, elle échoue souvent à cause de la divergence des procédures de complétion. C'est pourquoi nous avons proposé de combiner les aspects positifs des deux techniques précédentes en se fondant sur la notion d'{\em ensemble test}, qui peut être considéré comme une description finie du modèle initial associé à la spécification. Nous avons généralisé cette méthode de preuves par récurrence avec ensemble test pour les théories paramétrées et les théories associatifs et commutatifs. La plupart des procédures et algorithmes issus de nos travaux sont implantés dans le système {\tt SPIKE} à l'aide du langage Objectif Caml. Les principales fonctionnalité de {\tt SPIKE} sont les preuves par récurrence et l'aide à la construction de spécifications correctes. {\tt SPIKE} a permis de prouver plusieurs problèmes difficiles voire inaccessibles pour les autres systèmes d'une manière totalement automatique (arithmétique élémentaire, correction de tris, invariants dans le calcul des situations, \ldots ) ou avec une interaction plus faible qu'avec d'autres systèmes de preuves automatiques comme {\tt NQTHM}, {\tt RRL}, {\tt LP} et {\tt PVS} (tour de carte de Gilbreath, théorème de Ramsey, théorème du binôme, correction de circuits digitaux, etc.). \noindent {\bf 2. Preuves dans les Théories avec Relation d'Appartenance :} La plupart des prouveurs existants considèrent uniquement des spécifications suffisamment complètes sur des constructeurs libres. Le prouveur automatique {\tt SPIKE} n'interdit pas l'utilisation des spécifications avec relations entre les constructeurs mais dans ce cas la complétude réfutationnelle de la procédure de preuves par récurrence n'est plus garantie et l'efficacité du prouveur est très limitée en pratique. Nous avons proposé, en collaboration avec Jean-Pierre Jouannaud (LRI, université Paris Sud), une nouvelle méthode de test de complètude suffisante et de preuves par récurrence dans le cadre de la logique des clauses de Horn avec égalité et relation d'appartenance. Nous avons testé cette méthode à l'aide de quelques exemples (inaccessibles pour les autres systèmes y compris pour {\tt SPIKE}). Ces exemples ont mis en évidence l'efficacité et la simplicitédes preuves obtenues. \noindent {\bf 3. Preuves dans les théories observationnelles :} Pour prouver la correction d'un programme par rapport à une spécification, il est souvent essentiel de faire abstraction de certains détails d'implantation et de considérer seulement le {\em comportement observable} du programme. Bien qu'un grand nombre de travaux aient été consacrés aux aspects sémantiques de l'observabilité, il existe peu d'études sur les techniques de preuves et encore moins d'implantations. Nous avons développé, en collaboration avec N. Berregeb et M. Rusinowitch (INRIA Lorraine), une nouvelle approche pour intégrer la méthode de {\em Context Induction} de Hennicker dans le cadre de la récurrence avec ensembles test. L'aspect le plus original de notre technique est la notion de contexte critique, analogue à celle d'ensemble test, qui permet de schématiser l'ensemble des contextes possibles d'un terme. Les premières expérimentations ont donné des résultats très prometteurs.

Links toward previous steps (curation, corpus...)


Links to Exploration step

CRIN:bouhoula98a

Le document en format XML

<record>
<TEI>
<teiHeader>
<fileDesc>
<titleStmt>
<title xml:lang="en" wicri:score="48">Mécanisation du Raisonnement par Récurrence</title>
</titleStmt>
<publicationStmt>
<idno type="RBID">CRIN:bouhoula98a</idno>
<date when="1998" year="1998">1998</date>
<idno type="wicri:Area/Crin/Corpus">002210</idno>
<idno type="wicri:Area/Crin/Curation">002210</idno>
<idno type="wicri:explorRef" wicri:stream="Crin" wicri:step="Curation">002210</idno>
</publicationStmt>
<sourceDesc>
<biblStruct>
<analytic>
<title xml:lang="en">Mécanisation du Raisonnement par Récurrence</title>
<author>
<name sortKey="Bouhoula, Adel" sort="Bouhoula, Adel" uniqKey="Bouhoula A" first="Adel" last="Bouhoula">Adel Bouhoula</name>
</author>
</analytic>
</biblStruct>
</sourceDesc>
</fileDesc>
<profileDesc>
<textClass>
<keywords scheme="KwdEn" xml:lang="en">
<term>Algebraic Specifications</term>
<term>Automated Reasoning</term>
<term>Mechanising Induction</term>
<term>Term Rewriting System</term>
</keywords>
</textClass>
</profileDesc>
</teiHeader>
<front>
<div type="abstract" xml:lang="fr" wicri:score="-10055">Je vais présente mes travaux sur la mécanisation du raisonnement par récurrence et ses applications à la preuve de spécifications, de programmes et de circuits : \noindent {\bf 1. Preuves dans les Théories Conditionnelles :} Il existe essentiellement deux approches pour automatiser le raisonnement par récurrence. La méthode classique demande un schéma de récurrence explicite. Cette méthode échoue souvent car les schémas de récurrence ne rendent pas compte assez fidèlement de la structure du modèle initial. D'autre part les récurrences mutuelles sont difficiles à gérer dans cette approche. De plus, cette méthode ne permet pas la réfutation des conjectures non valides. La seconde technique de preuve, appelée {\em récurrence implicite\/}, consiste à montrer que la conjecture est cohérente avec le modèle initial. La cohérence est détectée par une procédure de complétion. Bien que complète pour la réfutationdes conjectures fausses, elle échoue souvent à cause de la divergence des procédures de complétion. C'est pourquoi nous avons proposé de combiner les aspects positifs des deux techniques précédentes en se fondant sur la notion d'{\em ensemble test}, qui peut être considéré comme une description finie du modèle initial associé à la spécification. Nous avons généralisé cette méthode de preuves par récurrence avec ensemble test pour les théories paramétrées et les théories associatifs et commutatifs. La plupart des procédures et algorithmes issus de nos travaux sont implantés dans le système {\tt SPIKE} à l'aide du langage Objectif Caml. Les principales fonctionnalité de {\tt SPIKE} sont les preuves par récurrence et l'aide à la construction de spécifications correctes. {\tt SPIKE} a permis de prouver plusieurs problèmes difficiles voire inaccessibles pour les autres systèmes d'une manière totalement automatique (arithmétique élémentaire, correction de tris, invariants dans le calcul des situations, \ldots ) ou avec une interaction plus faible qu'avec d'autres systèmes de preuves automatiques comme {\tt NQTHM}, {\tt RRL}, {\tt LP} et {\tt PVS} (tour de carte de Gilbreath, théorème de Ramsey, théorème du binôme, correction de circuits digitaux, etc.). \noindent {\bf 2. Preuves dans les Théories avec Relation d'Appartenance :} La plupart des prouveurs existants considèrent uniquement des spécifications suffisamment complètes sur des constructeurs libres. Le prouveur automatique {\tt SPIKE} n'interdit pas l'utilisation des spécifications avec relations entre les constructeurs mais dans ce cas la complétude réfutationnelle de la procédure de preuves par récurrence n'est plus garantie et l'efficacité du prouveur est très limitée en pratique. Nous avons proposé, en collaboration avec Jean-Pierre Jouannaud (LRI, université Paris Sud), une nouvelle méthode de test de complètude suffisante et de preuves par récurrence dans le cadre de la logique des clauses de Horn avec égalité et relation d'appartenance. Nous avons testé cette méthode à l'aide de quelques exemples (inaccessibles pour les autres systèmes y compris pour {\tt SPIKE}). Ces exemples ont mis en évidence l'efficacité et la simplicitédes preuves obtenues. \noindent {\bf 3. Preuves dans les théories observationnelles :} Pour prouver la correction d'un programme par rapport à une spécification, il est souvent essentiel de faire abstraction de certains détails d'implantation et de considérer seulement le {\em comportement observable} du programme. Bien qu'un grand nombre de travaux aient été consacrés aux aspects sémantiques de l'observabilité, il existe peu d'études sur les techniques de preuves et encore moins d'implantations. Nous avons développé, en collaboration avec N. Berregeb et M. Rusinowitch (INRIA Lorraine), une nouvelle approche pour intégrer la méthode de {\em Context Induction} de Hennicker dans le cadre de la récurrence avec ensembles test. L'aspect le plus original de notre technique est la notion de contexte critique, analogue à celle d'ensemble test, qui permet de schématiser l'ensemble des contextes possibles d'un terme. Les premières expérimentations ont donné des résultats très prometteurs.</div>
</front>
</TEI>
<BibTex type="phdthesis">
<ref>bouhoula98a</ref>
<crinnumber>98-T-155</crinnumber>
<category>8</category>
<equipe>PROTHEO</equipe>
<author>
<e>Bouhoula, Adel</e>
</author>
<title>Mécanisation du Raisonnement par Récurrence</title>
<school>Université Henri Poincaré - Nancy I</school>
<year>1998</year>
<type>Habilitation à diriger des recherches</type>
<keywords>
<e>Automated Reasoning</e>
<e>Mechanising Induction</e>
<e>Term Rewriting System</e>
<e>Algebraic Specifications</e>
</keywords>
<abstract>Je vais présente mes travaux sur la mécanisation du raisonnement par récurrence et ses applications à la preuve de spécifications, de programmes et de circuits : \noindent {\bf 1. Preuves dans les Théories Conditionnelles :} Il existe essentiellement deux approches pour automatiser le raisonnement par récurrence. La méthode classique demande un schéma de récurrence explicite. Cette méthode échoue souvent car les schémas de récurrence ne rendent pas compte assez fidèlement de la structure du modèle initial. D'autre part les récurrences mutuelles sont difficiles à gérer dans cette approche. De plus, cette méthode ne permet pas la réfutation des conjectures non valides. La seconde technique de preuve, appelée {\em récurrence implicite\/}, consiste à montrer que la conjecture est cohérente avec le modèle initial. La cohérence est détectée par une procédure de complétion. Bien que complète pour la réfutationdes conjectures fausses, elle échoue souvent à cause de la divergence des procédures de complétion. C'est pourquoi nous avons proposé de combiner les aspects positifs des deux techniques précédentes en se fondant sur la notion d'{\em ensemble test}, qui peut être considéré comme une description finie du modèle initial associé à la spécification. Nous avons généralisé cette méthode de preuves par récurrence avec ensemble test pour les théories paramétrées et les théories associatifs et commutatifs. La plupart des procédures et algorithmes issus de nos travaux sont implantés dans le système {\tt SPIKE} à l'aide du langage Objectif Caml. Les principales fonctionnalité de {\tt SPIKE} sont les preuves par récurrence et l'aide à la construction de spécifications correctes. {\tt SPIKE} a permis de prouver plusieurs problèmes difficiles voire inaccessibles pour les autres systèmes d'une manière totalement automatique (arithmétique élémentaire, correction de tris, invariants dans le calcul des situations, \ldots ) ou avec une interaction plus faible qu'avec d'autres systèmes de preuves automatiques comme {\tt NQTHM}, {\tt RRL}, {\tt LP} et {\tt PVS} (tour de carte de Gilbreath, théorème de Ramsey, théorème du binôme, correction de circuits digitaux, etc.). \noindent {\bf 2. Preuves dans les Théories avec Relation d'Appartenance :} La plupart des prouveurs existants considèrent uniquement des spécifications suffisamment complètes sur des constructeurs libres. Le prouveur automatique {\tt SPIKE} n'interdit pas l'utilisation des spécifications avec relations entre les constructeurs mais dans ce cas la complétude réfutationnelle de la procédure de preuves par récurrence n'est plus garantie et l'efficacité du prouveur est très limitée en pratique. Nous avons proposé, en collaboration avec Jean-Pierre Jouannaud (LRI, université Paris Sud), une nouvelle méthode de test de complètude suffisante et de preuves par récurrence dans le cadre de la logique des clauses de Horn avec égalité et relation d'appartenance. Nous avons testé cette méthode à l'aide de quelques exemples (inaccessibles pour les autres systèmes y compris pour {\tt SPIKE}). Ces exemples ont mis en évidence l'efficacité et la simplicitédes preuves obtenues. \noindent {\bf 3. Preuves dans les théories observationnelles :} Pour prouver la correction d'un programme par rapport à une spécification, il est souvent essentiel de faire abstraction de certains détails d'implantation et de considérer seulement le {\em comportement observable} du programme. Bien qu'un grand nombre de travaux aient été consacrés aux aspects sémantiques de l'observabilité, il existe peu d'études sur les techniques de preuves et encore moins d'implantations. Nous avons développé, en collaboration avec N. Berregeb et M. Rusinowitch (INRIA Lorraine), une nouvelle approche pour intégrer la méthode de {\em Context Induction} de Hennicker dans le cadre de la récurrence avec ensembles test. L'aspect le plus original de notre technique est la notion de contexte critique, analogue à celle d'ensemble test, qui permet de schématiser l'ensemble des contextes possibles d'un terme. Les premières expérimentations ont donné des résultats très prometteurs.</abstract>
</BibTex>
</record>

Pour manipuler ce document sous Unix (Dilib)

EXPLOR_STEP=$WICRI_ROOT/Wicri/Lorraine/explor/InforLorV4/Data/Crin/Curation
HfdSelect -h $EXPLOR_STEP/biblio.hfd -nk 002210 | SxmlIndent | more

Ou

HfdSelect -h $EXPLOR_AREA/Data/Crin/Curation/biblio.hfd -nk 002210 | SxmlIndent | more

Pour mettre un lien sur cette page dans le réseau Wicri

{{Explor lien
   |wiki=    Wicri/Lorraine
   |area=    InforLorV4
   |flux=    Crin
   |étape=   Curation
   |type=    RBID
   |clé=     CRIN:bouhoula98a
   |texte=   Mécanisation du Raisonnement par Récurrence
}}

Wicri

This area was generated with Dilib version V0.6.33.
Data generation: Mon Jun 10 21:56:28 2019. Site generation: Fri Feb 25 15:29:27 2022