• Aucun résultat trouvé

Automatisation de l'application de l'hypothèse de récurrence dans la preuve des formules implicatives

N/A
N/A
Protected

Academic year: 2021

Partager "Automatisation de l'application de l'hypothèse de récurrence dans la preuve des formules implicatives"

Copied!
11
0
0

Texte intégral

(1)

HAL Id: inria-00000070

https://hal.inria.fr/inria-00000070

Submitted on 26 May 2005

HAL is a multi-disciplinary open access archive for the deposit and dissemination of sci- entific research documents, whether they are pub- lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

Automatisation de l’application de l’hypothèse de récurrence dans la preuve des formules implicatives

Inès Mouakher, Francis Alexandre, Khaled Bsaïes

To cite this version:

Inès Mouakher, Francis Alexandre, Khaled Bsaïes. Automatisation de l’application de l’hypothèse de récurrence dans la preuve des formules implicatives. Premières Journées Francophones de Program- mation par Contraintes - JFPC’2005, CRIL - CNRS FRE 2499, Jun 2005, Lens/France, pp.179-188.

�inria-00000070�

(2)

Automatisation de l'appliation de l'hypothèse

de réurrene dans la preuve des formules

impliatives

I. Mouakher

1

F. Alexandre

2

K. Bsaïes

1 1

Faulté des Sienes de Tunis, DSI, Campus Universitaire2092 Tunis,Tunisie

2

LORIA BP 239, 54506 Vandoeuvre-lès-Nany , Frane

ines_ mouakheryahoo.fr alexandrloria.fr khaled.bsaiesfst.rnu.tn

Résumé

L'objetifgénéraldeetravailestdeprouverlespro-

priétés des programmes logiques (ensemble de lauses

de Horn).Ces propriétéssontdesformulesde laforme

∀x(¯∃y¯ Γ ← ∆) Γ etsont des onjontions

d'atomes. Nous disposons d'un ensemble de règles de

dédutionstelsquelepliage,ledépliageetlasimplia-

tion. Lapreuve onsisteàappliquerl'unedees règles

sur laformule àprouverjusqu'àaboutiràunensemble

de formulestriviales.Uneétape essentielledanslepro-

essus de la preuve est la réussite du pliage qui peut

êtrevueommel'appliationd'unehypothèsederéur-

rene dans une preuve indutive. Nous proposons des

stratégies pour automatiser partiellementle proessus

de preuve en nousbasant suruneanalysestatiquedes

formulesetdesprogrammes.

Abstrat

Theaimofthisstudyistoprovethepropertiesofthe

logialprograms(setofHornlauses).Theseproperties

aretheimpliativeformulasoftheform∀x(¯∃y¯Γ←∆)

whereΓandareonjuntionsofatoms.Weusededu-

tiveruleslikefold,unfoldandsimpliation.Theproof

onsistsinapplyingoneoftheserulesontheformulato

proveuntilwehaveaset oftrivialformulas.Animpor-

tantstepinanindutiveproofattemptistheappliation

ofindutionhypothesis.Wepropose somestrategiesto

automatepartiallytheproessofproofbyusingastati

analysisoftheformulasandprograms.

1 Introdution

Lapreuveparréurreneestunetehniquetrèspuis-

santepourraisonnersurdesstruturesréursives.Plu-

sieurssystèmesetapprohespourautomatiserlepro-

systèmess'intéressentàlapreuvedeertaineslasses

deformulesensebasantsurdeuxparadigmes :laré-

urreneexpliiteet laréurreneimpliite[5,4℄.

Nousonsidéronsleproblèmedelapreuvedespro-

priétés des programmeslogiques. Ces propriétés sont

desformulesdelalogiquedesprédiatsayantlaforme

suivante : ∀x(∃¯¯ y Γ ← ∆). Ces formules sont assez

partiulièrespuisque très peude systèmessesontin-

téressésàl'automatisationdeleurpreuveàausedes

variables existentielles. Ainsi, nous avons opté pour

unsystèmede preuveparpliageet dépliage[11, 3, 2℄

qui utilise l'indution non expliite pour prouveres

propriétés. Il a permis de prouverun grand nombre

deformulesimpliativesnontriviales,quepeudesys-

tèmessontapablesdetraiter.

Ce système se base sur des règles de dédution

tellesquelepliageet ledépliage. Cesrèglessontbien

onnuestantdans ledomainedeladémonstrationde

théorèmesquedanseluidelatransformationdepro-

grammesfontionnelsetlogiques.

L'un desproblèmesrenontré dansles systèmesde

preuveestl'explosionombinatoiredelapreuveetles

retoursarrièrequisonttrèsoûteux.Pouretteraison,

il est importantde disposer d'heuristiques et de ta-

tiquesand'automatisertotalementoupartiellement

leproessusdepreuve.

Prenonsl'exempledessystèmesClametnqthmqui

se basent sur la réurrene expliite. Une étape es-

sentiellepouraomplir unepreuveest lehoixde la

bonnerèglede réurreneet parlasuitele hoixdes

règlesàutiliserpourréussiràappliquerl'hypothèsede

réurrene.En eet,essystèmes eetuentune ana-

lyse de réursivité [4℄ pour hoisir la règle de réur-

(3)

telsqueleripplingpourClam.

Dans le système de preuve par pliage-dépliage, le

problème ruial est aussi lié à l'indéterminisme du

proessus de preuve. En d'autres termes,il onstruit

lespreuvespasàpaset néessitealors une fréquente

interventionde l'utilisateur.En eet, nousnousinté-

ressons dans e travailà la déouvertedes stratégies

permettant de réduire l'indéterminisme et de réussir

lapreuve. Une étape essentielle dans le proessus de

la preuve est la réussite du pliage qui peut être vue

omme l'appliation d'une hypothèse de réurrene

dansunepreuveindutive.

L'approhe proposée est basée sur l'analyse sta-

tiquedelaformule et duprogrammeonsidéré. Tout

d'abord, nous nous limitons à une lasse partiulière

deformulesetdeprogrammesetnousaratérisonsles

formulesàtraiterpar desshémas. Nousmenons en-

suiteuneétude,ennousbasantsuresshémas,surla

réussitedu pliage. Finalement, nous déterminonsdes

onditionsnéessairespourlaréussitedupliage.Cette

étudepermet dedéteter soitlaréussite del'applia-

tion du pliage en donnant d'une manière préise les

diérentes étapesàsuivre,soit de déteter l'éhede

leurappliation.

2 Préliminaires

Danse paragraphenousprésentonslesdénitions

et les notations utilisées dans la suite. Ces onepts

peuventêtretrouvésaveplusdedétailsdans[9℄.

Unprogrammelogique déniestunensemblede

lausesdénies.

Unelause réursivelinéaireest unelause dela

formeP(x)←∆, P(x),Γ, P(x)est unatome

et Γ etsont desonjontions d'atomes qui ne

ontiennentpasleprédiat P.

M(S) dénote le plus petit modèle de Herbrand

duprogrammelogiqueS.

Var(F)dénotel'ensembledesvariablesd'uneex-

pressionF.

Les formules impliatives onsidérées sont de la

forme ∀¯x(∃yΓ¯ ← ∆). On les note par Γ ← ∆

les variables universelles sont notées par des

lettres minusules et les variables existentielles

pardeslettresmajusules.

Une formule impliative triviale s'érit sous la

forme : ∆ ← f aux ou vrai ←Γ. Elle se réduit

trivialementàvrai.

Une variable est interne àun membre (respeti-

vementàuneonjontiond'atome)dansunefor-

mulesiettevariablen'apparaîtpasailleursdans

laformule.

Unesubstitutionθestunensemblenideouples

noté par {v1/t1, ..., vn/tn}, ∀i ∈ [1..n] vi est

unevariable, ti estuntermeetvi6=ti etsii6=j

alorsvi6=vj.

L'image et le domaine d'une substitution θ

sont respetivement : Im(θ) = {t1, ..., tn} et Dom(θ) ={v1, ..., vn}.

Unesubstitutionexistentielleestunesubstitution

tellequesondomaineestunensembledevariables

existentielles.

pgu(E,E')dénoteleplusgénéraluniateurdeE

et E'.

3 Systèmedepreuveparpliage/dépliage

3.1 Proessusde preuve

Lesystèmedepreuveparpliage/dépliageonsidéré

permetdeprouverqu'uneformuleimpliativeestune

propriétévalided'unprogramme.Autrementdit,Soit

S unprogramme dénit et π une formule, il permet

deprouverM(S)|=π.Lapreuveonsisteàappliquer

pasàpasl'une desrèglesdedédutionsurlaformule

à prouver.Ce qui génère un ensemble de formules à

démontrer et ainsi de suite jusqu'à aboutir à un en-

semble de formulestriviales don à une preuvede la

formuleinitiale.

Ce système utilise un ensemble de règle de dé-

dution : dépliagedroit(NFI),dépliage gauhe(DCI),

pliage droit (CUT_R), pliage gauhe(CUT_L), et

simpliation.

3.2 Règlesde dédution

Nous ommençons parprésenter lesdeux règlesde

dépliage droit(NFI) et gauhe(DCI) qui onsistent à

évaluerunatomed'uneformuleimpliative.

Dénition3.1 (Dépliage droit(NFI))

Soient S un programme déni, π : Γ ← ∆, A une

formule impliativeetc1,· · ·, ck leslausesde S de la

formecj:Bj←∆jtellesqu'ilexisteθj=pgu(Bj, A).

< π: Γ ← ∆, A >

NFI

< πj: (Γ ← ∆,∆jj >, j∈[1, k]

Lesnouvellesvariablesintroduitessontuniverselles.

Dénition3.2 (Dépliage gauhe(DCI))

Soient S un programme déni, π : Γ, A ← ∆ une

formule impliativeetc1,· · ·, ck leslausesde S de la

forme cj:Bj←∆j tellesqu'ilexiste unesubstitution existentielleθj=pgu(Bj, A).

< π: Γ, A ← ∆>

DCI

< πj: (Γ,∆jj ← ∆>, j∈[1, k]

(4)

Les nouvelles variables introduites sont existen-

tielles.

Remarque 3.1 Le dépliage d'un atome du membre

gauhe d'une formule est possible si seulement si les

arguments ontenant des variables universelles sont

susamment instaniés. Eneet, la substitution en-

gendréeparlesdépliagesgauhesdoitêtreexistentielle

et nedoitpasmodier lesvariables universelles.

Dénition 3.3 (Pliage droit (CUT_R))

Considérons la branhe de l'arbre de preuve sui-

vante :

< πi: Λ←Σ>

.

.

.

< πi+n: Γ←∆1,∆2>

CUT_R(πi)

< πi+n+1: Γ←Λθ,∆2>

( * :pliage de πi dansπi+n,n >0)

ave :

1. Σθ= ∆1,

2. θ substituelesvariablesinternesdeΣpardesva-

riables distintes,

3. les variablesqui substituent les variables in- ternes de Σ ne doivent apparaître ni dans Γ ni

dans2 et

4. laformuleπi+n estgénéréeàpartirdeπi parl'ap-

pliationd'unesuitederègles.Cettesuiteontient

aumoins undépliage droit.

Lesnouvellesvariablesintroduitessontuniverselles.

Dénition 3.4 (Pliage gauhe(CUT_L))

Considéronslabranhedel'arbredepreuvesuivante :

< πi: Λ←Σ>

.

.

.

< πi+n: Γ1Γ2←∆>

↓ CU T_L(πi)

< πi+n+1 : Σθ,Γ2←∆>

( * :pliage de πi dansπi+n,n >0)

ave :

1. Λθ= Γ1,

2. θ substituelesvariablesinternesdeΛpardesva-

riables distintes,

3. les variablesqui substituent les variables in- ternes de Λ ne doivent apparaître ni dans Γ2 ni

danset

4. laformuleπi+nestgénéréeàpartirdeπiparl'ap-

pliationd'unesuitederègles.Cettesuiteontient

aumoinsundépliage gauhe.

Les nouvelles variables introduites sont existen-

tielles.

Remarque 3.2 Les substitutions des dépliages du

membredroitdesvariablesquantiéesuniversellement

vontêtreaussiappliquéessurlemembregauhe. D'où

parfois la néessité de déplier les atomes du membre

droit ande réussirlepliage dumembregauhe.

3.3 Corretiondes règlesde dédution

Dénition3.5 (Règle valide et règle onserva-

tive)

Soient S un programme et une règle de dédution

qui génère Ei+1= (Ei\{π})S

{E},etterègle est :

Valide :siM(S)|=Ei+1 implique M(S)|=Ei.

Conservative : siM(S)|=Ei+1 est équivalent à

M(S)|=Ei.

Énonçonslespropriétés desrègles dedédution [8,

7, 6℄ :

La simpliation est valide, mais n'est générale-

mentpasonservative.

Larèglededépliagedroitestonservative.

La règle de dépliage gauhe est valide, mais en

généralellen'estpasonservative.

Les règles de pliage droit et gauhe ne sont pas

onservatives,ellespeuventêtrevalidessouser-

tainesonditions.

3.4 Arbre depreuve

Leproessusdepreuvepeutêtreshématiséparun

arbredepreuve

Dénition3.6 (Arbre de preuve)

SoientS unprogrammedénietφune formuleim-

pliative. Un arbre de preuvepour φ estun arbre qui

vérielesonditionssuivantes :

Laraine estétiquetées parφ.

Chaquen÷udontientune formuleetlarègle ap-

pliquéepourobtenirses desendants.

Si un no÷d ontient une formule Vrai ou

Faux,alors 'est une feuille.

Les desendants de haque n÷ud sont onstruits

àpartirdelatransformationquiluiestappliquée.

L'interprétation de l'arbre de preuve est omme

suit :

Sitouteslesfeuillesdel'arbredepreuvesontVrai

alorslaformuleàlarainedel'arbreestunthéo-

rème.

(5)

par Faux et toutesles transformationsutili-

séesentree n÷udet larainesontdestransfor-

mationsonservatives,alorslaformuleàlaraine

del'arbren'estpasunthéorème.

Sil'arbredepreuveontientunn÷udmarquépar

Faux et au moins une des transformations

utiliséesentre en÷udetlaraineest unetrans-

formationnononservative,alorsonnepeutrien

diresurφ.

3.5 Réussitedel'appliationdel'hypothèsederé-

urrene

Lesdeux règles de pliage droitet gauhe sont très

importantesdans leproessus de preuve,puisqu'elles

sontlependant del'appliationdel'hypothèsederé-

urrenedansunepreuveparréurrenelassique.En

eet,lepliageàdroite(respetivementgauhe)permet

deremplaerl'instaned'unmembredroit(respetive-

mentgauhe)d'uneformuleparl'instaneorrespon-

dante de son membre gauhe (respetivement droit),

donen généralla règle de pliage permet de rappro-

herlesdeuxmembresd'uneformule.

La réussite de l'appliation de es deux règles dé-

pend deplusieursonditionsetritères.Parexemple,

soit un membre(droit ou gauhe) à plier dans le

membre1 obtenu après l'appliationsurde er-

tainesrègles depreuvedontaumoins undépliage. Il

fautqu'ilexisteunesubstitution θtelleque :

Au moins un dépliage doit être eetué sur

avantd'obtenir1.

∆θ= ∆1qui dépend :

deladénitiondesdiérentsatomesde

del'instaniationdestermes :lestermesde1

doiventêtredesinstanesdestermesdean

delesltrer

desrelationsentre lestermes (-à-dles termes

qui ontdesvariablesommunes)dedoivent

être onservées pour les termes de1 an de

trouverunltrepourlesdeuxmembres.

Les variables qui substituent des variables in-

ternesdedoiventêtredeuxàdeuxdistinteset

ellesn'ontd'ourrenequedans1.

De plus, nous onstatons que les dépliages sur le

membredroit,dansertainsas,engendrentl'applia-

tion d'une substitution sur des variables universelles

dumembregauhe.Lasubstitutiondesdépliagesd'un

membregauheestexistentielleetn'aetequelesva-

riablesdeemembre.

En onséquene,pour étudierla réussite du pliage

d'un membre droit nous n'avons pas besoin des in-

formationssurle membregauhe. Parontre,les dé-

pliagesd'un membre droitd'uneformule inuent sur

gauhe.

4 Shémas et formules andidates

Les shémasont étéintroduits parF.Alexandre[1℄

dans le adre de transformation de programmes lo-

giquesparpliageetdépliage.R.Salem[12℄arepriset

aétendu l'utilisationdesshémas dansleadre dela

démonstrationdethéorèmesenutilisantlesystèmede

preuve par pliage et dépliage. Les shémas sont une

sorte de ompilation de l'information pertinente. En

eetl'informationpertinente dépend :

delalassedesformuleset programmesonsidé-

rée

du but de l'étude (exemple : réussite du pliage

d'unmembred'uneformule,ousimpliation).

En sebasantsures travaux,nous avonsdéniun

shémaassoiéàunelassedeformules(formulesan-

didates).Ces shémassont lesdonnées d'entréepour

l'étudestatiquedelaréussitedelasimpliationetdu

pliage.

Notation 4.1 Nous onsidérons deux types de

termes :

euxonstruitsavedesonstruteursunairestels

quelesentiersnaturelsdelaformes(s(...(s(x))...)

eux onstruits ave des onstruteurs binaires

telsque leslistesde la forme [a1|[a2...|[an|x]...].

Cestermes sontnotés par consa(x)ave :

x estunevariable de type listeouentier naturel

ons estleonstruteurdutypede x

aest lenombred'appliation duonstruteur.

Dans e qui suit, nous présentonsla lassede pro-

grammesonsidérée.Nousaratérisonsleslausesré-

ursivesdeesprogrammespardesshémas.

Dénition4.1 Les lauses des programmes traités

sont des lauses réursives linéaires de la forme :

p(T1,· · ·, Tk) ← ∆, p(t1,· · ·, tk),Θ haque ouple (Ti, ti)peutavoirl'unedesdeuxformessuivantes :

(Ti, ti) = (consk+r(x), consk(x))aver≥0.

(Ti, ti) = (consk(x), z),avez unevariable.

De plus, une variable apparaît toujours dans des

termes onstruitsavelemême onstruteurons.

Exemple 4.1 Soit (S) le programme logique sui-

vant :

S





(1) len([],0) ←

(2) len([x|y], s(z)) ←len(y, z) (3) app([], x, x) ←

(4) app([a|x], y,[a|z]) ←app(x, y, z)

(6)

Dénition 4.2 (Shéma d'une lause réursive

linéaire)

Soit une lause réursive linéaire de la forme

p(T1,· · ·, Tn) ← ∆p(t1,· · ·, tn. Le shéma de ette

lause est déni par le n_uplet (ζc(1),· · ·, ζc(n)) tel

queζc(i) = (Ti, ti).

Notation 4.2 Pour haque ouple (Ti, ti), les nota-

tionssuivantessont adoptées :

(consk(x), consk(x))est notéparιk,

(consk(x), w)est notéparωk,

(consk+r(x), consk(x)) estnotéparτk,r.

Exemple 4.2 Leshémadelalause4duprogramme

S est :0,1, ι0, τ0,1).

Dans e qui suit, nous présentons lesformules onsi-

déréesdans etteétudeet nousallonslesaratériser

pardesshémas.Cesshémassontdéduitsàpartirdes

lausesdénissantlesatomesdeesformules.

Dénition 4.3 (Formule impliative andidate)

Une formule impliative andidate est de la forme

φ: Γ←∆ et Γ sont desonjontions d'atomes

tellesque :

Pour toute variable x∈ Var(φ), x apparaît tou-

jours dans des termes onstruits ave le même

onstruteurons.

Pourhaqueatome pi(ti)deoudeΓ,ti estun

veteur de termes qui sont de la forme consk(x), k ≥ 0. Les atomes pi(ti) peuvent être non li-

néaires.

Pour haqueprédiatpi deoude Γ,lesdéni-

tionsde pi sont réursiveslinéaires.

Dénition 4.4 (Shéma d'un membre) Soit un

membre ∆ = p1(t1),· · ·, pk(tk) (est un membre

gauhe ou droit d'une formule à démontrer), si x est

une variable d'unterme tij de pi(ti1,· · ·, tij,· · ·, tini)

alors le shéma qui lui est assoié est : ψij =

ζpi(j)(tij). Le shéma deest déni par l'ensemble

desshémas de sesvariables.

Pour haquevariable interne àunmembre àla po-

sition jd'unatome pi telsque :

la dénition de pi de la forme :

pi(T1, ..., Tj, ...Tn)← pi(t1, ..., tj, ...tn),∆ ave

une onjontion d'atomes

une variable w∈ Var(tj)∩ Var(∆),

trouve sonshéma marquéparunplus.

Notation 4.3 Sileterme tij =consa(x),ψij senote

selon lesvaleursde ζpi(j) :

Si ζpi(j) = τk,r alors ψij = τk,r(consa(x)) ou

bien ψijk,r(xa).

Si ζpi(j) =ιk alors ψij = ιk(consa(x)) ou bien ψijk(xa).

Si ζpi(j) =ωk alors ψijk(consa(x)) ou bien ψijk(xa).

Dénition4.5 (Shéma d'une formuleimplia-

tive andidate) Soit une formule impliative an-

didate, l'ensemble des shémas de ses deux membres

droit et gauhedénit leshéma de la formule impli-

ativeandidate.

Notation4.4 Dans la suite, nous présentons les

shémas des formules impliatives andidates sous

forme de tableaux.

φ:app(x, y, Z)len(Z, t)←app(y, x, r)len(r, t)

Le shéma de ette formule est présenté par le

tableauqui suit :

Soitla formuleàprouver :







x y Z r t

1 app τ0,1(x) ι0(y) τ0,1(Z)

2 len τ0,1(Z) τ0,1(t)

3 app ι0(x) τ0,1(y) τ0,1(r)

4 len τ0,1(r) τ0,1(t)







Lapremièreolonnedutableauestforméedesnuméros

desatomes de la formule àprouver. Ladeuxième o-

lonne estforméedes symboles de prédiatsorrespon-

dantà esatomes. Lesautresolonnes orrespondent

aux variables ayant des ourrenes dans la formule.

Au point de la ligne pi et de la olonne x on trouve

l'ensemble desψij(x).

Les shémas du membre gauhe et du membre

droitsontreprésentésrespetivementparlespremières

lignesdutableauetlesdeuxièmeslignesetils sontsé-

parés par une ligne blanhe. Ainsi les atomes 1 et 2

sont lesatomes du membregauhe etles atomes 3et

4sonteuxdudroit.

Les variables internes à un membre sont

soulignées.

Dans e qui suit, nous dénissons le shémaélémen-

tairerelatifàunevariabled'unmembred'uneformule

qui est un sous ensemble du shéma d'une formule,

dans lebut de pouvoirparlasuite assoier ertaines

onditionsnéessairesàlaréussited'unpliage.

Dénition4.6 (Shéma élémentaire d'une va-

riable)

Soit un membre ∆ : p1(t1),· · ·, pk(tk) ave ti un

veteurdetermes(ti1,· · ·, tihi).Soitxunevariable de

quiarourrenes,l'ensemblei1j1,· · ·, ψirjr}est

unsous-ensembledeshémasdumembreontenant

les shémas des r ourrenes de x. C'est le shéma

élémentairedumembreparrapportàlavariable x.

Références

Documents relatifs

le Luxembourg, peut-être même sont-elles déjà entrées en territoire belge. » Messieurs, c'est une violation des règles de droit international... Le tort ne fut

Seul Adélard (et la tradition dite hajjâjienne) aurait conservé la structure originale et, aux deux substitutions de preuve relevées dans la tradition IsTh (et

D’abord, elles sont dans nos têtes : pour penser le monde, nous le conceptualisons, et pour le conceptualiser, nous le catégorisons.. Ensuite, elles sont dans

[30] … Les règles de preuve n’ont rien d’« immuable et n’ont pas été établies dans l’abstrait » (R. Elles s’inspirent plutôt de principes larges et souples,

Deux lignées, la HD15 et la HD16 se sont distinguées dans cet environnement, elles excédent significativement et positivement la valeur des deux parents et

En effet, dans les systè- mes de paiement en ligne, la preuve de la transaction se réalise en deux temps : d’une part, l’intégrité de la piste magnétique est contrôlée lors de

Introduction : c’est la recherche d’une alliance entre le discours de l’avocat, la collecte de la preuve (infraction déjà commise ou une infraction à commettre),

La thèse méthodologique – l’indication d’une recherche de la signification des concepts en droit à partir des règles dans lesquelles elles sont inscrites et