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�
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¯ Γ ← ∆) où Γ et ∆ sont 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Γand∆areonjuntionsofatoms.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-
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),Γ,où P(x)est unatome
et Γ et ∆ sont 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 Γ ← ∆
où 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}, où ∀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: (Γ ← ∆,∆j)θj >, 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: (Γ,∆j)θj ← ∆>, j∈[1, k]
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 variables xθ qui substituent les variables in- ternes de Σ ne doivent apparaître ni dans Γ ni
dans∆2 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 variables xθ qui substituent les variables in- ternes de Λ ne doivent apparaître ni dans Γ2 ni
dans∆ et
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.
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
membre ∆1 obtenu après l'appliationsur ∆ de er-
tainesrègles depreuvedontaumoins undépliage. Il
fautqu'ilexisteunesubstitution θtelleque :
Au moins un dépliage doit être eetué sur ∆
avantd'obtenir∆1.
∆θ= ∆1qui dépend :
deladénitiondesdiérentsatomesde∆
del'instaniationdestermes :lestermesde∆1
doiventêtredesinstanesdestermesde∆an
delesltrer
desrelationsentre lestermes (-à-dles termes
qui ontdesvariablesommunes)de∆ doivent
être onservées pour les termes de ∆1 an de
trouverunltrepourlesdeuxmembres.
Les variables qui substituent des variables in-
ternesde∆doiventêtredeuxàdeuxdistinteset
ellesn'ontd'ourrenequedans∆1.
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),Θ où 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)
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
φ: Γ←∆ où∆ 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)de ∆oudeΓ,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 de ∆oude Γ,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 de ∆ est 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 ψij =τk,r(xa).
Si ζpi(j) =ιk alors ψij = ιk(consa(x)) ou bien ψij =ιk(xa).
Si ζpi(j) =ωk alors ψij =ωk(consa(x)) ou bien ψij=ωk(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'ensemble{ψi1j1,· · ·, ψirjr}est
unsous-ensembledeshémasdumembre∆ontenant
les shémas des r ourrenes de x. C'est le shéma
élémentairedumembre∆ parrapportàlavariable x.