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�
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
(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
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:
(Analysis andVERi ationfortheReliabilityOfEmbeddedSystems)
symbole onstru teurtoutsymboledetype
(~x : ~
T
)C~v
telqueC
: (~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'ensembledesargumentsenlesquellesf
doitêtremonotone(voirSe tion3.8.2).•
del'ensembledesargumentsenlesquellesf
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 argumentsdef
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:•
sif
est ommutatifalorsletypedef
doitêtredelaformeT
⇒ T ⇒ U
.•
sif
estAouACalorsletypedef
doitêtredelaformeT
⇒ T ⇒ T
aveT
une onstante.Parailleurs:
• f
doitêtredesorteSet
ouP rop
. 1Enthéorie, onpeut avoirdesthéories équationnellesunpeuplus omplexes.Parexemple,
f
detype(~x : ~
T
)U
,i < j
,x
i
nonlibredansT
j
etf
(. . . 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ù haquem
i
est un ensemble non vide d'entiers positifs inférieurs ou égaux à|~x|
. La omparaison entre deux séquen es de termest
1
, . . . , t
n
etu
1
, . . . , u
n
est faite de la manière suivante. Pour haquei
≤ k
, on forme le multi-ensembleM
i
(resp.N
i
)dest
j
(resp.u
j
)tels quej
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 tementpositivesiC
estuntypeindu tif 2ousi,pourtoute onstantedeprédi at
D
: (~z : ~
V
)s
équivalenteàC
,pourtoutsymbole onstru teurf
: (~x : ~
T
)C~v
, pourtoute onstante deprédi atE
équivalente àC
,siE
apparaîtdansT
j
alorsT
j
= (~y : ~
U
)E ~
w
etau une onstantedeprédi atF
équivalenteàC
n'apparaît dans~
U
oudansw
~
.Etantdonnéune onstantedeprédi at
C
: (~z : ~
V
)s
et uneséquen edetermes~v
ave|~v| = |~z|
, ondénotepar~v|
C
lasous-séquen ev
i
1
. . . v
i
n
telle quei
1
< . . . < i
n
et{i
1
, . . . , i
n
}
est l'ensemble desi
telsquez
i
estdesorteT ype
.Soitmaintenant unsymbole
f
: (~x : ~
T)U
de statut(m
1
, . . . , m
k
)
. L'ensembledes arguments stri tementpositifs def
est dénidelamanièresuivante:i
est unargumentstri tementpositif siet seulements'il existeuntermeT
i
f
= C~t
telqueC
est une onstante deprédi at stri tement positiveet,pourtoutj
∈ m
i
,T
j
= C~u
et~
u|
C
= ~t|
C
.Maintenant: 1
Laré ritureauniveaudesuniversn'apasen oreétéétudiée. 2
Lestypesindu tifsdeCoqsonttousstri tementpositifs.
•
unsymboleCouACdoitavoirunstatutmulti-ensemble.•
deuxsymboleséquivalentsf
etg
doiventavoirlemêmestatut,lesmêmesargumentsstri tement positifset,pourtouti
stri tementpositif,ondoitavoirT
i
f
= T
g
i
.3.4 Règles de ré riture Unerègleest donnéepar:
•
unepairedetermesl
→ r
,•
unenvironnementdetypageΓ
pourlesvariableslibresder
,•
unesubstitutionρ
pourlesvariableslibresdel
quinesontpasdansΓ
.Deplus:
• l
doitêtreuntermedelaformef~l
avef
: (~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 (typelist
: ⋆ ⇒ ⋆
ave les onstru teursnil
: (A : ⋆)listA
etcons
: (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 denil
oucons
, 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,siA
6= A
′
et uneinstan e d'unmembregau heestbien typéealors,d'aprèslesrèglesdetypage,
A
′
est onvertibleà
A
.On n'adon pasbesoin detesterqueA
etA
′
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èglel
→ r
,l
doitêtrelinéaire: haquevariabledoitavoirauplusuneo urren e dansl
.•
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 heestdetypeU γρ
aveγ
= {~x 7→ ~l}
dansΓ
:Γ ⊢ lρ :
U γρ
.•
Lemembredroitr
doitaussiêtredetypeU γρ
dansΓ
:Γ ⊢ r : U γρ
.•
Pourtoutedé larationx
: T
dansΓ
,T
doitêtreuntypedex
dérivédel
.Le typedérivédet
dusous-termedet
àlapositionp
est dénidelamanièresuivante:(Analysis andVERi ationfortheReliabilityOfEmbeddedSystems)
•
Pour haquevariablex
dansledomainedeρ
,ilexisteunsous-termedel
,disonst
,telque:letypede
t
dérivédel
,notéT
,estuntermealgébrique ontenantuneo urren edex
etque dessymboles onstants,
t
estdetypeT ρ
dansΓ
.3.7 Cohéren e logique
La ohéren elogiqueest assuréesi haquesymbole
f
satisfaitunedes onditionssuivantes : 3• f
estunsymbole onstru teur.•
letypedef
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)
sit
6= f~t
P os
δ
(f~t) = {1
|~
t|
| δ = +} ∪
S
{1
|~
t|−i
2.P os
εδ
(t
i
) | i ∈ M on
ε
(f ), ε ∈ {−, +}}
où
δ
∈ {−, +}
,−+ = −
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 unsymbolplusgrandquef
n'apparaîtdansr
,•
sii
est un argument monotone (resp. anti-monotone) alorsl
i
est une variable apparaissant seulementpositivement(resp.négativement)dansr
.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 essibledef
si:f
estunsymbole onstru teurdeU
= C~v
.toutsymboleéquivalentà
C
apparaîtseulementpositivementdansU
j
. au unsymboleplusgrandqueC
n'apparaîtdansU
j
.toutevariabledesorte
T ype
libredansU
j
doitêtreégalàunv
i
.si
i
estargumentmonotone(resp.anti-monotone)deC
alorsv
i
doitêtreunevariable apparais-santseulementpositivement(resp.négativement)dansU
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) = ε
etP os(uv) = P os((x : u)v) =
P os([x : u]v) = 1.P os(u) ∪ 2.P os(v)
.3.8.4 Ordre sur lestermes
Etantdonnéune règle
(l → r, Γ, ρ)
,ondénit i-aprèsl'ordreutilisépour omparerlesappels ré ursifsder
avel
.Un oupledetermes
(u, U )
esta essiblemodulounesubstitutionρ
dansun oupledetermes(t, T )
sit
= f ~u
,f
: (~y : ~
U
)C~v
,|~u| = |~y|
,u
= u
j
,j
estunargumenta essibledef
,γ
= {~y 7→ ~u}
,T ρ
= C~vγρ
,U ρ
= U
j
γρ
etau unD
équivalentàC
n'apparaîtdans~
uρ
.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
avex
∈ dom(Γ)
.
(x, V )
esta essiblemoduloρ
dans(t, T )
.
V ρ
= xΓ = (~y : ~
U
)C ~
w
,δ
= {~y 7→ ~u}
,U ρ
= C ~
wδ
etau une onstantedeprédi at équivalenteàC
n'apparaîtdansU δ
~
.~vγρ|
C
= ~
wδ|
C
.3.8.5 Conditionsde terminaison
Pourtouterègle
(l → r, Γ, ρ)
avel
= f~l
,f
: (~x : ~
T
)U
etγ
= {~x 7→ ~l}
: 5•
haquevariabledeΓ
esta essibledans~l
.•
dans le membre droitr
, tousles appels ré ursifs sont faits sur des argumentsplus petits en utilisantlestatutdef
(voirSe tion3.1et3.3)etl'ordresurlestermesdé ritenSe tion3.8.4.•
larègleest sûre:γρ
est uneinje tion del'ensemble desvariables libresdeT U
~
desorteT ype
dansl'ensembledesvariablesdeΓ
desorteT ype
.•
sif
estdesorteT ype
alors:haquevariablelibrede
r
desorteT ype
estégaleàunl
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.