4.2 Jetons forts et lture transitive
4.2.2 De la formule à l'automate
Nous montrons dans ette partie, omment onstruire indu tivement à partir d'uneformule
φ
dupremierordreave des lturestransitives, unautomateàjetons re onnaissant lelangagedéni parφ
.Pourle asnon-déterministeoùnous onsidéronsuneformuleFO
+pos
TC,nous reprenons i-dessous lapreuve de [19℄ quiest assez simple.Lemme 4.3 Pourtoute formule loseFO
+ pos
TCψ
, ilexiste unPTAk
quire on- naît le langage déni parψ
.Preuve.
Unevaluationdes variableslibresd'uneformuleFO
+ pos
TC estxée en posant unjetonparvariabledansl'arbredonné.Demanièreformelle,sion onsidèrelafor- muleφ(x1, · · · , xm)
,un arbret
etdes n÷udsu1, · · · , um
det
,l'automateàjetonsAφ
onstruit pourφ
doit vérier la propriété suivante : étant donné un arbret
où les n÷udsu1, · · · , um
sont marqués, ilexiste une exé ution deAφ
à partirde lara ine etde l'état initialseterminantà lara ine dansun état a eptant sietseulementsit |= φ(u1, · · · , um)
.Pour les formules atomiques, il est très fa ile de onstruire un automate déter- ministe
Aφ
. Par exemple, l'automate orrespondant à la formulex < y
ee tue un par oursen profondeurde l'arbret
donnépour her her len÷udmarqué orrespon- dant à la variabley
, remonte à partir de e n÷ud jusqu'à la ra ine et a epte s'il roiseau ours de ette remontée len÷ud marqué orrespondant àx
.Nouspro édons maintenantpar indu tion sur la formule.
Pour lanégationd'uneformuleatomique
φ
,ilsutde omplémenterl'automate déterministeAφ
en utilisant lethéorème 3.5.Pour l'unionet l'interse tiondeux formules FO
+ pos
TC, nous utilisons lapro- position2.3.Pour une quanti ation existentielle
∃x φ
, l'automate hoisit de manière non- déterministe un n÷ud de l'arbre orrespondant à la variablex
, le marque ave un jetonpuis simule l'automateAφ
.Pour une quanti ation universelle
∀x φ
, l'automate ee tue un par ours en profondeurdel'arbre,à haquefoisqu'ilvisiteunn÷udpourlapremièrefoisdans e par ours,ilposeunjetondessusetilsimulel'automateAφ
.SiAφ
a epte,l'automate qu'on onstruit lève le jeton et ontinue son par ours pour pouvoir tester le n÷ud suivant.Ilneresteplusqu'àmontrer omment onstruireunautomate
A
qui orrespondà laformuleTCx′,y′
x,y
φ(x, y, ~zm)
.Onrappellequelesn÷uds orrespondantauxvariables libresx
′, y′
et
~zm
sontmarqués.L'automateA
devineunesuitede n÷udspartantdex′
etutilise sesjetons pour vérierque
φ
estsatisfaite pour haque oupleden÷uds onsé utifsde ettesuitedelamanièresuivante.L'automateA
ommen epar poser sonjetonnx
surlen÷udu1
orrespondantàlavariablex
′
puisil hoisitunn÷ud
u2
etpose son jetonny
dessus.Lenuméro de jetonny
est telquenx
= ny+ 1
. Ensuite,A
simule l'automateAφ
obtenu d'aprèsφ
par indu tion et vérie ainsi sila formuleφ
est bien satisfaite par les n÷udsu1
etu2
qui sont marqués par les jetonsnx
etny
. Si e n'est pas le as, l'automateA
rejette et sinonA
retourne sur le n÷udu2
marqué par le jetonny
, lève les jetonsny
etnx
à partir du n÷udu2
et repose le jetonnx
sur len÷udu2
.Remarquons quelejetonnx
est levéàdistan e,l'automateA
onstruitest don unautomate àjetons dumodèle fort.Siu2
est len÷udmarqué qui orrespond à la variabley
′
, l'automate
A
lève le jetonnx
et a epte. Sinon,A
hoisitun nouveaun÷udu3
,posersonjetonny
dessusetvériesiφ
estsatisfaitepar lesn÷udsu2
etu3
.L'automateA
ontinuesonexé utionainsijusqu'à equ'ilrejette oubienqu'il hoisisselen÷ud orrespondantàlavariabley
′
,qu'ilposeson jeton
ny
dessusetqu'ilvériequeφ
est satisfaite par lesn÷udsmarquéspar lesjetonsnx
etny
. Dans e as, l'automateabien vérié qu'ilexiste une suitede n÷uds onsé utifs dun÷ud orrespondantàlavariablex
′
aun÷ud orrespondant àlavariable
y
′
telle que
φ
est satisfaite pour tout ouple de n÷uds onsé utifs de ette suite. La di ulté supplémentaire dans le as déterministe de [19℄ est de onstruire indu tivement des automates d'une part pour la négation et d'autre part pour la lture transitive déterministe d'une formule FO+DTC donnée. Nous allons voir que les résultats du hapitre 3 é artent es di ultés. D'après le lemme 3.5, nous pouvonseneet,étantdonnéunautomated'arbresàjetonsdéterministe,d'unepart onstruireunautomateàjetonsdéterministequire onnaîtle omplémentdulangage re onnu parA
et d'autre part onstruire un automate déterministe équivalent àA
quine bou le pas.Lemme 4.4 Pourtoute formule lose FO+DTC
ψ
, ilexiste unDPTAk
quire on- naît le langage déni parψ
.Preuve. Dansle asdéterministe,onraisonneen oreparindu tionsur laformule. On note d'abord queles automates onstruits pour lesprédi ats élémentaires dans lapreuve du lemme pré édent sont des automates déterministes.
et le omplément on utilise le théorème 3.5. Pour la quanti ation universelle, on pro ède ommedansle as non-déterministe: l'automate onstruit dansle as non- déterministe pour la formule
∀xφ
est déterministe si l'automate onstruit pour la formuleφ
est déterministe Pour une quanti ation existentielle du premier ordre∃xφ
, l'automate ee tue un par ours en profondeur de l'arbre, à haque fois qu'il visiteunn÷udpourlapremièrefoisdans epar ours,ilposeunjetondessus,simule l'automateAφ
onstruit par indu tion. D'après le théorème 3.5, on peut supposer que l'automate à jetons déterministeAφ
est à exé utions nies. Si l'automateAφ
rejette lorsde ette simulation,l'automate quenous onstruit pour laformule∀xφ
lève le jeton et ontinue son par ours en profondeur pour tester le pro hain n÷ud visité.Il ne reste plus qu'à onsidérer un opérateur de lture transitive déterministe. On her he don à onstruire
A
un automateà jetons déterministe orrespondant à laformuleDTCx′,y′
x,y
φ(x, y, ~zm)
oùφ
est un prédi atfon tionnelrelativementày
.On onsidère l'automateà jetons déterministe onstruit pour la formuleAφ
.D'après le théorème3.5,onpeutsupposerqueAφ
est àexé utionsnies.Contrairementau as non-déterministe,onne peut pas deviner le hemin du n÷ud orrespondant àx
′
au n÷ud orrespondant à
z
′
, onpro ède de manièresimilaire au as non-déterministe mais l'automate
A
doit tester toutes les possibilités à haque étape où il pose le jetonny
de la manière suivante. L'automateA
pose d'abord son jetonnx
sur le n÷udu1
orrespondant à la variablex
′
puis il ee tue un par ours en profondeur de l'arbre et à haque fois que
A
visite un n÷udv
pour la première fois dans e par ours il pose son jetonny
= nx
− 1
sur e n÷ud et simule l'automateAφ
à exé utionsniespourvériersiφ
est satisfaiteparu1
etv
.SiAφ
rejette,l'automateA
lève le jetonny
pour pouvoir le reposer sur le n÷ud qu'il visite juste après dans son par ours en profondeur. Si,pour tous les n÷uds de l'arbre qui sont visités parA
dans le par ours en profondeur,Aφ
rejète,A
rejette aussi. Dans le as ontraireAφ
a marqué ave son jetonny
l'unique n÷udu2
tel queφ
est satisfaite paru1
etu2
.A partirde e n÷udu2
,Aφ
lève lejetonny
puis lejetonnx
etrepose lejetonnx
sur le n÷udu2
. L'automateA
ontinue son exé ution ainsi jusqu'à e qu'il rejette ou bien qu'il pose son jetonny
sur le n÷ud orrespondant à la variabley
′
et qu'il vérie que
φ
est satisfaite par les n÷uds marqués par les jetonsnx
etny
. Dans e as, l'automate a bien vérié qu'il existe une suite de n÷uds onsé utifs du n÷ud orrespondantàlavariablex
′
aun÷ud orrespondantàlavaraible
y
′
telleque
φ
est satisfaite pour tout ouplede n÷uds onsé utifs de ette suite, la formule est donbien vériée et