• Aucun résultat trouvé

Définition de la classe de réécriture à intégrer

N/A
N/A
Protected

Academic year: 2021

Partager "Définition de la classe de réécriture à intégrer"

Copied!
8
0
0

Texte intégral

(1)

HAL Id: inria-00099930

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

Submitted on 11 Oct 2006

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.

Définition de la classe de réécriture à intégrer

Frédéric Blanqui

To cite this version:

Frédéric Blanqui. Définition de la classe de réécriture à intégrer. [Contrat] A04-R-487 || blanqui04c,

2004, 7 p. �inria-00099930�

(2)

inria-00099930, version 1 - 11 Oct 2006

Lot 5.1

Te hnologie de véri ation

Ajouter la réé riture au noyau de Coq

Dénition de la lasse de réé riture à

intégrer

Des ription: Nousdénissons lesobjetsquidoiventêtrerajoutésàCoqpourpouvoirdénir desfon tionsàl'aidederèglesderé riture,etdé rivonsles onditionsquidoivent être vériées pour que la orre tionde Coq soit préservée. Cela onstitue une sortede ahierdes harges pourlefutureprototype.

Auteur(s) : Frédéri Blanqui

Référen e : Averroes/Lot5.1/Fourniture1/V1.0 Date : 5février2004

Statut : validé Version: 1.0

Réseau Nationaldes Te hnologies Logi ielles

ProjetsubventionnéparleMinistèredelaRe her heetdesNouvellesTe hnologies

(3)

(AnalysisandVERi ationfortheReliabilityOfEmbeddedSystems)

Historique

8o tobre2003 V0.1 versionpréliminaire 5février2004 V1.0 mise auformataverroes

Table des matières

1 Contexte 3

2 Dis ussion préliminaire 3

3 Des ription des onditions 3

3.1 Symbolesdénissablesparré riture. . . 4

3.2 Théorieséquationnelles . . . 4

3.3 Argumentsstri tementpositifs etstatuts . . . 4

3.4 Règlesderé riture . . . 5

3.5 Conuen e . . . 5

3.6 Préservationdutypageparré riture . . . 5

3.7 Cohéren elogique . . . 6

3.8 Terminaison . . . 6

3.8.1 Positionspositivesetnégatives . . . 6

3.8.2 Conditionsdemonotonie . . . 6

3.8.3 Argumentsa essibles . . . 6

3.8.4 Ordresurlestermes . . . 7

3.8.5 Conditionsdeterminaison . . . 7

(4)

1 Contexte

Dans le système Coq, les fon tions et prédi ats ne peuvent être dénis que par indu tion, et deux propositions ne sont onsiderées équivalentes que si les dénitions indu tives (et la

β

-rédu tion) permettentde passerde l'une à l'autre.Cela est troprestri tif : ertainesdénitions indu tives,bienquevalides,nesontpasa eptéesparCoq;et ertaineségalités,pourtantmontrées demanièreindu tive,nesontpasutiliséesparlesystèmepouridentierdeuxpropositions.

Laré ritureestunemanièreplusgénéraleetplussouplededénirlesfon tionsetlesprédi ats qui englobent lesdénitions indu tives,et qui permet d'identierdavantagesde propositions, et don de s'aran hir dedavantagede détails purement al ulatoiresdans lespreuves.C'est don uneextension onservatri edeCoqdanslesensoùtoutthéorèmeprouvésansutiliserderé riture esttoujoursvalabledansCoqétenduave delaré riture.

Depuislespremierstravauxsurla ombinaisondu

λ

- al uletdelaré rituredeBreazu-Tannen et Gallier en 1988-1989,de nombreux her heurs ont ontribuéàson étude.Nous ne itons que quelquestravaux:[6,3,7,5℄.PourleprojetAverroes,nousnousappuieronssurlestravauxparmi lesplusré ents:[4,1,2℄.

2 Dis ussion préliminaire

Avantdedé rirelessystèmesderé riturequidevrontêtrea eptésdanslafutureextensionde Coq,il onvientdepré iser quelsobjetsdeCoqserontainsi dénis par es règlesde ré riture, arplusieursoptionsexistentqui onditionnentledéveloppementde etteextension.

Option 1: onsidérerdesrèglesderé rituredénissantdesaxiomesouparamètres.Pourprendre unexemple on ret,dans etteappro he,l'additionsurlesentiersnaturelspourraitêtredénie endé larantunparamètreplus :nat=>nat=>natetlesrèglesplus x O -> xetplus x (S y) -> S (plus x y).Cetteappro heest ellequi aété étudiéejusqu'àmaintenant.Ellepermet, pour e qui est des fon tions, de se passer de la notion de ré urseur. En fait, les ré urseurs eux-mêmessontdes asparti uliersdetellesdénitions.

Option 2: onsidérer des règles de ré riture issues d'égalités prouvées. Dans ette appro he, lesfon tions ontinueraientd'être déniesparindu tionmais,si uneégalitéprouvéepeutêtre orientéede façonàpréserverlaterminaisonet la onuen e,ellepourraitêtre utilisée omme règlede ré riture. Parexemple,une fois l'asso iativitéde l'addition prouvée, elle- i pourrait être utilisée omme règle de ré riture. Cette appro he ommen e à être étudiée par Ni olas OuryauLRI.

Nous avons hoisi l'option 1 ar 'est l'appro he lamieux omprise a tuellement et elle qui nousparaîtlaplusfa ileàmettreenoeuvre.Cependant, esdeux optionsnesontpasex lusives l'unedel'autreetpourraitàterme être ombinées.

Parallèlementà ela,il onvientdepré iser ommentlaré riturepeut ohabiterave lesystème demodules.Etantdonnéque elafaiten orel'objetdere her hes,nousavons hoisiderestreindre auminimuml'intera tionentreré ritureetmodules.Ainsi,onne hangerienausystèmede mod-ules.Iln'yadon pasdetypesdemodulepermettantdespé ierl'existen ederèglesderé riture, ettouteslesrèglesderé rituredé laréesdansunmodule(ouunfon teur)sontsystématiquement exportées.

3 Des ription des onditions Nousappellerons:

(5)

(Analysis andVERi ationfortheReliabilityOfEmbeddedSystems)

 symbole onstru teurtoutsymboledetype

(~x : ~

T

)C~v

telque

C

: (~z : ~

V

)s

estune onstante deprédi atet

|~v| = |~z|

.

Rappel: lasorted'un symboleou d'unevariable est letypede sontype(qui doitjustement êtreunesorte, 'est-à-dire,unélémentde

{Set, P rop, T ype}

).

3.1 Symboles dénissables par ré riture Un symbole

f

doitêtremuni:

d'untype

(~x : ~

T)U

.

del'ensembledesargumentsenlesquelles

f

doitêtremonotone(voirSe tion3.8.2).

del'ensembledesargumentsenlesquelles

f

doitêtreanti-monotone(voirSe tion3.8.2).

d'unethéorieéquationnelle(voirSe tion3.2).

d'unepré éden e.

d'un statut dé rivant omment, dans les appels ré ursifs des membres droits des règles, les argumentsde

f

doiventêtre omparés(voirSe tion3.3).

3.2 Théories équationnelles

Lesthéorieséquationnelles possiblespourunsymbole

f

sont:théorievide, asso iativité(A), ommutativité (C), ou asso iativité et ommutativité ensembles (AC). Pour que les équations soienttypables:

si

f

est ommutatifalorsletypede

f

doitêtredelaforme

T

⇒ T ⇒ U

.

si

f

estAouACalorsletypede

f

doitêtredelaforme

T

⇒ T ⇒ T

ave

T

une onstante.

Parailleurs:

• f

doitêtredesorte

Set

ou

P rop

. 1

Enthéorie, onpeut avoirdesthéories équationnellesunpeuplus omplexes.Parexemple,

f

detype

(~x : ~

T

)U

,

i < j

,

x

i

nonlibredans

T

j

et

f

(. . . x

i

. . . x

j

. . .) = f (. . . x

j

. . . x

i

. . .)

.

3.3 Arguments stri tement positifs et statuts Un statut est une séquen e

(m

1

, . . . , m

k

)

où haque

m

i

est un ensemble non vide d'entiers positifs inférieurs ou égaux à

|~x|

. La omparaison entre deux séquen es de termes

t

1

, . . . , t

n

et

u

1

, . . . , u

n

est faite de la manière suivante. Pour haque

i

≤ k

, on forme le multi-ensemble

M

i

(resp.

N

i

)des

t

j

(resp.

u

j

)tels que

j

appartientà

m

i

.Ensuite, on omparelexi ographiquement

(M

1

, . . . , M

k

)

et

(N

1

, . . . , N

k

)

.Les omparaisonslexi ographique

({1}, . . . , {n})

etmulti-ensemble

({1,. . . , n})

ensontdes asparti uliers.Nousdé rivonsl'ordreutilisésurlestermesdanslaSe tion 3.8.4.

Une onstantedeprédi at

C

eststri tementpositivesi

C

estuntypeindu tif 2

ousi,pourtoute onstantedeprédi at

D

: (~z : ~

V

)s

équivalenteà

C

,pourtoutsymbole onstru teur

f

: (~x : ~

T

)C~v

, pourtoute onstante deprédi at

E

équivalente à

C

,si

E

apparaîtdans

T

j

alors

T

j

= (~y : ~

U

)E ~

w

etau une onstantedeprédi at

F

équivalenteà

C

n'apparaît dans

~

U

oudans

w

~

.

Etantdonnéune onstantedeprédi at

C

: (~z : ~

V

)s

et uneséquen edetermes

~v

ave

|~v| = |~z|

, ondénotepar

~v|

C

lasous-séquen e

v

i

1

. . . v

i

n

telle que

i

1

< . . . < i

n

et

{i

1

, . . . , i

n

}

est l'ensemble des

i

telsque

z

i

estdesorte

T ype

.

Soitmaintenant unsymbole

f

: (~x : ~

T)U

de statut

(m

1

, . . . , m

k

)

. L'ensembledes arguments stri tementpositifs de

f

est dénidelamanièresuivante:

i

est unargumentstri tementpositif siet seulements'il existeunterme

T

i

f

= C~t

telque

C

est une onstante deprédi at stri tement positiveet,pourtout

j

∈ m

i

,

T

j

= C~u

et

~

u|

C

= ~t|

C

.

Maintenant: 1

Laré ritureauniveaudesuniversn'apasen oreétéétudiée. 2

Lestypesindu tifsdeCoqsonttousstri tementpositifs.

(6)

unsymboleCouACdoitavoirunstatutmulti-ensemble.

deuxsymboleséquivalents

f

et

g

doiventavoirlemêmestatut,lesmêmesargumentsstri tement positifset,pourtout

i

stri tementpositif,ondoitavoir

T

i

f

= T

g

i

.

3.4 Règles de ré riture Unerègleest donnéepar:

unepairedetermes

l

→ r

,

unenvironnementdetypage

Γ

pourlesvariableslibresde

r

,

unesubstitution

ρ

pourlesvariableslibresde

l

quinesontpasdans

Γ

.

Deplus:

• l

doitêtreuntermedelaforme

f~l

ave

f

: (~x : ~

T

)U

unsymboleet

~l

destermesalgébriquestels que

|~l| ≤ |~x|

,unterme algébrique étant soitune variable, soitunsymbole ouun onstru teur d'untypeindu tifappliquéàdestermes eux-mêmesalgébriques.

Laprésen ed'unesubstitution

ρ

peutparaîtreinhabituellemaispermetdelinéariser ertaines règlesqui,sionexigeaitqueleurmembregau hesoit bientypé,seraientnonlinéaires,sanspour autantremettreen auselapréservationdutypageparré riture(voirSe tion3.6). Parexemple, pour dénir la on aténation de listes polymorphes (type

list

: ⋆ ⇒ ⋆

ave les onstru teurs

nil

: (A : ⋆)listA

et

cons

: (A : ⋆)A ⇒ listA ⇒ listA

),

app

: (A : ⋆)listA ⇒ listA ⇒ listA

, on peutprendrelesrègles:

app A

(nil A) l → l

app A

(cons A x l) l

→ cons A x (app A l l

)

ave

Γ = A : ⋆, x : A, l : listA, l

: listA

et

ρ

= {A

7→ A}

.Sionexigeait quelesmembresgau hes soientbien typés,il faudraitprendre

A

= A

et don vérier,à haquefoisque l'onsouhaiterait appliquer es règles, que le 1er argument de

app

est identique au premier argument de

nil

ou

cons

, e qui serait oûteux et,dans l'état a tuel de nos onnaissan es,ne nous permettrait pas d'armer quelesystème est onuent(voirSe tion 3.5).Parailleurs,si

A

6= A

et uneinstan e d'unmembregau heestbien typéealors,d'aprèslesrèglesdetypage,

A

est onvertibleà

A

.On n'adon pasbesoin detesterque

A

et

A

sontégaux pourpouvoirappliquerlarègle, et elle- i préservebien letypage.

3.5 Conuen e

La onuen esigniequel'ordredes al uls n'apasd'importan e.Pour ela,onexige:

Pourtouterègle

l

→ r

,

l

doitêtrelinéaire: haquevariabledoitavoirauplusuneo urren e dans

l

.

L'ensemble des règlesdoit formerun système lo alement onuent modulo les théories équa-tionnelles.Celaestdé idable arlaré rituretermine(voirSe tion 3.8).

3.6 Préservation du typage par ré riture

Aprèsappli ationde

ρ

,lemembregau heestdetype

U γρ

ave

γ

= {~x 7→ ~l}

dans

Γ

:

Γ ⊢ lρ :

U γρ

.

Lemembredroit

r

doitaussiêtredetype

U γρ

dans

Γ

:

Γ ⊢ r : U γρ

.

Pourtoutedé laration

x

: T

dans

Γ

,

T

doitêtreuntypede

x

dérivéde

l

.Le typedérivéde

t

dusous-termede

t

àlaposition

p

est dénidelamanièresuivante:

(7)

(Analysis andVERi ationfortheReliabilityOfEmbeddedSystems)

Pour haquevariable

x

dansledomainede

ρ

,ilexisteunsous-termede

l

,disons

t

,telque:

 letypede

t

dérivéde

l

,noté

T

,estuntermealgébrique ontenantuneo urren ede

x

etque dessymboles onstants,



t

estdetype

T ρ

dans

Γ

.

3.7 Cohéren e logique

La ohéren elogiqueest assuréesi haquesymbole

f

satisfaitunedes onditionssuivantes : 3

• f

estunsymbole onstru teur.

letypede

f

est delaforme

(~x : ~

T

)T

i

.

3.8 Terminaison

Andedé rire les onditionsdeterminaison,nousdevonsd'abordintroduirequelques déni-tions.

3.8.1 Positionspositives etnégatives

Tout d'abord, la notion de positivité. Les positions 4

positiveset négatives d'un terme sont indu tivementdéniesdelamanièresuivante:



P os

δ

(s) = P os

δ

(x) = {ε | δ = +}



P os

δ

((x : U )V ) = 1.P os

−δ

(U ) ∪ 2.P os

δ

(V )



P os

δ

([x : U ]v) = 2.P os

δ

(v)



P os

δ

(tu) = 1.P os

δ

(t)

si

t

6= f~t



P os

δ

(f~t) = {1

|~

t|

| δ = +} ∪

S

{1

|~

t|−i

2.P os

εδ

(t

i

) | i ∈ M on

ε

(f ), ε ∈ {−, +}}

δ

∈ {−, +}

,

−+ = −

et

−− = +

(règleusuelledessignes).

3.8.2 Conditionsde monotonie

Nousdevonsvérierqu'unefon tiondontdesargumentsontétédé larés ommemonotoneou anti-monotone est ee tivement monotoneet anti-monotone parrapport à es arguments.Pour haquerègle

f~l

→ r

:

au unsymbolplusgrandque

f

n'apparaîtdans

r

,

si

i

est un argument monotone (resp. anti-monotone) alors

l

i

est une variable apparaissant seulementpositivement(resp.négativement)dans

r

.

Pourlessymboles onstants,les onditionsdemonotoniefontpartiedes onditions d'a essi-bilitédé riteenSe tion3.8.3.

3.8.3 Argumentsa essibles

Etantdonnéunsymbole

f

: (~x : ~

T

)U

,

j

estunargumenta essiblede

f

si: 

f

estunsymbole onstru teurde

U

= C~v

.

 toutsymboleéquivalentà

C

apparaîtseulementpositivementdans

U

j

.  au unsymboleplusgrandque

C

n'apparaîtdans

U

j

.

 toutevariabledesorte

T ype

libredans

U

j

doitêtreégalàun

v

i

.

 si

i

estargumentmonotone(resp.anti-monotone)de

C

alors

v

i

doitêtreunevariable apparais-santseulementpositivement(resp.négativement)dans

U

j

.

3

Ilexisteuneautre ondition,trèsgénérale,reposantsurla omplétudedesrèglesderé riture[4℄maissamise enoeuvrené essitedavantagedere her he.

4

Ils'agitdelanotionhabituelle deposition:

P os(s) = P os(f ) = P os(x) = ε

et

P os(uv) = P os((x : u)v) =

P os([x : u]v) = 1.P os(u) ∪ 2.P os(v)

.

(8)

3.8.4 Ordre sur lestermes

Etantdonnéune règle

(l → r, Γ, ρ)

,ondénit i-aprèsl'ordreutilisépour omparerlesappels ré ursifsde

r

ave

l

.

Un oupledetermes

(u, U )

esta essiblemodulounesubstitution

ρ

dansun oupledetermes

(t, T )

si

t

= f ~u

,

f

: (~y : ~

U

)C~v

,

|~u| = |~y|

,

u

= u

j

,

j

estunargumenta essiblede

f

,

γ

= {~y 7→ ~u}

,

T ρ

= C~vγρ

,

U ρ

= U

j

γρ

etau un

D

équivalentà

C

n'apparaîtdans

~

.

L'ordreutiliséest,pourlesargumentsnonstri tementpositifs,larelationd'a essibilité.Pour lesargumentsstri tementpositifs,

(t, T ) > (u, U )

si:



t

= f~t

,

f

: (~x : ~

T

)C~v

,

γ

= {~x 7→ ~t}

etau une onstantedeprédi atéquivalente àCn'apparaît dans

~vγρ

.



u

= x~u

ave

x

∈ dom(Γ)

.



(x, V )

esta essiblemodulo

ρ

dans

(t, T )

.



V ρ

= xΓ = (~y : ~

U

)C ~

w

,

δ

= {~y 7→ ~u}

,

U ρ

= C ~

etau une onstantedeprédi at équivalenteà

C

n'apparaîtdans

U δ

~

. 

~vγρ|

C

= ~

wδ|

C

.

3.8.5 Conditionsde terminaison

Pourtouterègle

(l → r, Γ, ρ)

ave

l

= f~l

,

f

: (~x : ~

T

)U

et

γ

= {~x 7→ ~l}

: 5

haquevariablede

Γ

esta essibledans

~l

.

dans le membre droit

r

, tousles appels ré ursifs sont faits sur des argumentsplus petits en utilisantlestatutde

f

(voirSe tion3.1et3.3)etl'ordresurlestermesdé ritenSe tion3.8.4.

larègleest sûre:

γρ

est uneinje tion del'ensemble desvariables libresde

T U

~

desorte

T ype

dansl'ensembledesvariablesde

Γ

desorte

T ype

.

si

f

estdesorte

T ype

alors:

 haquevariablelibrede

r

desorte

T ype

estégaleàun

l

i

, 

l

→ r

n'aau unepaire ritiqueave lesautresrègles.

Référen es

[1℄ F. Blanqui. Indu tive types in the Cal ulus of Algebrai Constru tions. In Pro eedings of the 6thInternationalConferen eonTypedLambda Cal uliandAppli ations, Le tureNotesin ComputerS ien e2701,2003.

[2℄ F.Blanqui. Rewritingmoduloin Dedu tionmodulo. InPro eedings ofthe 14thInternational Conferen e on Rewriting Te hniques and Appli ations, Le ture Notes in Computer S ien e 2706,2003.

[3℄ F. Blanqui. Théorie desTypes etRé riture. PhDthesis, UniversitéParisXI,Orsay,Fran e, 2001. Available inenglishas"TypeTheoryand Rewriting".

[4℄ F. Blanqui. Denitions by rewriting in the Cal ulus of Constru tions, 2003. To appear in Mathemati alStru turesinComputerS ien e.

[5℄ J. Chrz¡sz z. Implementation of a module system in Coq. PhD thesis, Université d'Orsay, Fran eandWarsawUniversity,Poland,2003. Inpreparation.

[6℄ M.Fernández. Modèles de al uls multiparadigmes fondés surla réé riture. PhDthesis, Uni-versitéParisXI,Orsay,Fran e,1993.

[7℄ D. Walukiewi z-Chrz¡sz z. Termination ofRewriting inthe Cal ulusof Constru tions. PhD thesis,WarsawUniversity,Polandand Universitéd'Orsay,Fran e,2003.

Références

Documents relatifs

Nouvelle estimation de la probabilité de chaque

Brève introduction aux origami Pliage dirigé d'un quadrilatère Pliages d'autres quadrilatères.. Classement particulier des

3) Quelle configuration est la plus probable : obtenir au moins un as en lançant six dés simultanément, ou obtenir au moins deux as avec douze dés, ou obtenir au moins trois as

Les seuls mouvements autorisés consistent à faire pivoter le dé le long d'une arête vers la case située soit immédiatement au-dessus soit immédiatement à droite de la

Rajain « Apprentissages du nombre et résolution de problèmes en maternelle et GS ». Page 76 « la maison des

Ainsi, le montant contenu dans le premier compte après le 19e mois est égal à. Soit environ 505 390 FCFA.. • Donnons

→ En utilisant le bloc fonction “Dessiner un carré”, tracez la rosace que vous pouvez voir dans la vidéo ci-contre.. Vous pourrez pour cela utiliser les

Pour placer un lutin au hasard sur la scène, il suffit de lui choisir une abscisse aléatoire entre -240 et +240 et une ordonnée entre -180 et +180.. → Utilisez les blocs