Terminatie van Termherschrijven

advertisement
DRAFT
.
Terminatie van Termherschrijven
Vincent van Oostrom
February 13, 2001
Abstract
Dit is een samenvatting van de colleges van week 4 en 5 van het college computationele methoden in de typentheorie, februari 2001. Deze
notities geven een introductie op het bewijzen van terminatie van termherschrijfsystemen, en in het bijzonder op de methode van recursieve
pad ordeningen.
1
Introductie
Definitie 1 Een termherschrijfsysteem (TRS) R is een paar bestaande uit een
signatuur Σ en een verzameling R van herschrijfregels.
• Een signatuur is een verzameling van functiesymbolen met ariteiten.
• Een herschrijfregel is een paar (l, r) van open termen, de linkerkant l en
rechterkant r. Een open term is een term over Σ uitgebreid met variabelen
X (met ariteit 0). We noteren zo’n regel meestal als l → r.
De herschrijfrelatie →R gegenereerd (geı̈nduceerd) door de TRS R is de relatie (de ARS) op open termen bestaande uit alle paren (C[lσ ], C[rσ ]), voor een
willekeurige context C, een willekeurige regel l → r in R en een willekeurige substitutie σ. Een (voorkomen van een) term van de vorm lσ voor zekere linkerkant
l van een regel, en substitutie σ wordt een redex (van reduceerbare expressie)
genoemd.
We zeggen dat een TRS een bepaalde eigenschap heeft als de gegenereerde ARS
die eigenschap heeft. B.v. een TRS R is terminerend als →R dat is. Als de
TRS duidelijk is dan zullen we deze vaak weglaten als subscript van →.
Waarschuwing 1 De bovenstaande conventie kan verwarring veroorzaken tussen de regels van een TRS en de door die regels gegeneerde herschrijfrelatie:
beide worden met hetzelfde symbool (→) aangeduid.
Voorbeeld 1 Beschouw de TRS R met signatuur Σ en herschrijfregels R gedefinieerd door:
.
February 13, 2001 4:26 PM
DRAFT
1
DRAFT
.
• Σ bestaat uit twee functie-symbolen O en A met ariteiten 0 en 2 respectievelijk.
• R bestaat uit de regel A(O, x) → x. Hier is impliciet dat x een variabele
is, want x is geen element van de signatuur Σ.
De herschrijfrelatie →a trs is een oneindige verzameling paren:
{(A(O, O), O), (A(O, x), x), (A(O, y), y), . . . , (A(O, A(O, O)), A(O, O)), . . . ,
(A(y, A(O, z)), A(y, z)), . . . . . .}
B.v. dat het laatst getoonde element in de herschrijfrelatie staat kan aangetoond
worden door als context C = A(y, [ ]), als regel A(O, x) → O en als substitutie
σ(x) = z te nemen. R is terminerend (want als s → t dan is het aantal symbolen
in t kleiner dan in s, bijvoorbeeld).
In deze notitie zullen we ons aan de hand van enige voorbeelden concentreren
op het bewijzen van terminatie van TRSen.
2
Rekenen
We presenteren een eenvoudig termherschrijfsysteem om te rekenen.
Definitie 2 rekenkundige expressies zijn inductief gedefinieerd door:
• O is een rekenkundige expressie.
• als e een rekenkundige expressie is, dan is S(e) dat ook.
• als e en f rekenkundige expressies zijn, dan zijn A(e, f ) en M (e, f ) dat
ook.
De unaire getallen zijn de rekenkundige expressies opgebouwd zonder gebruikmaking van de derde clausule. Het reken herschrijfsysteem REK bestaat uit de
volgende regels:
A(O, x)
A(S(x), y)
M (O, x)
M (S(x), y)
→
→
→
→
x
S(A(x, y))
O
A(M (x, y), y)
Eerst laten we zien dat rekenen effectief is, d.w.z. dat herhaald toepassen van
de herschrijfregels termineert.
Lemma 1 REK is terminerend.
Bewijs (Poging 1) We moeten bewijzen dat iedere term termineert. De volgende naı̈eve bewijspoging is gebaseerd op een gevalsonderscheiding voor het
kopsymbool van de term. Ieder van de gevallen op zich pogen we te bewijzen
op ad hockige wijze.
.
February 13, 2001 4:26 PM
DRAFT
2
DRAFT
.
• O is terminerend. Het is zelfs een normaalvorm.
• Stel t is terminerend. Te bewijzen is dat S(t) termineert. Merk op dat als
S(t) → s, dan moet s van de vorm S(s0 ) zijn zodanig dat t → s0 , want er is
geen regel die S als kopsymbool van de linkerkant heeft. Dus een oneindige
reductie vanuit S(t) geeft een oneindige rij vanuit t, in tegenspraak met
de aanname dat t terminerend is.
• Stel s en t zijn terminerend. Te bewijzen is dat A(s, t) termineert. Vanwege de aanname dat s en t terminerend zijn moet een hypothetische
oneindige reductie vanuit A(s, t) uiteindelijk een regel op het kopsymbool
toepassen. D.w.z. een oneindige reductie is ofwel van de vorm:
A(s, t) A(O, t0 ) → t0 . . .
wat leidt tot een tegenspraak met de aanname dat t termineert, ofwel zij
is van de vorm:
A(s, t) A(S(s0 ), t0 ) → S(A(s0 , t0 )) . . .
Om dit tot een tegenspraak te herleiden volstaat het om aan te tonen
dat vanuit A(s0 , t0 ) geen oneindige reductie mogelijk is. Dit is echter niet
direct duidelijk, want s0 hoeft niet een subterm van s0 te zijn (er kunnen
allerlei reducties in plaats gevonden hebben!).
Kortom de bewijspoging faalt miserabelig. . .
Als we kijken wat er misgaat in het bewijs dan zien we dat s0 in het laatste
onderdeel weliswaar niet structureel kleiner is dan s, maar dat het wel een
subterm is van een reduct van s: s S(s0 ) ⊃ s0 . Aangezien we weten dat →
termineert op s (aanname) kunnen we wel-gefundeerde inductie doen waarbij we
als ordening de relatie →∪⊃ nemen, d.w.z. de vereniging van de herschrijfrelatie
(→) en de superterm relatie (⊃). We noemen deze relatie de supstap relatie en
noteren haar met . De substap relatie is terminerend dan en slechts dan als
de herschrijfrelatie dat is:
Propositie 1 Een term t is →R -terminerend dan en slechts dan als t ook →R
∪⊃ terminerend is.
Bewijs De ‘dan als’-richting is triviaal. Voor de ‘slechts dan als’-richting
merken we eerst op dat als s ⊃ t → u, dan is er een t0 zodanig dat s → t0 ⊃ u.
Dus in een hypothetische oneindige rij van supstappen kunnen ⊃-stappen altijd
uitgesteld worden tot na →-stappen. Aangezien →-stappen terminerend zijn per
aanname, moet de oneindige rij op een gegeven moment uit alleen ⊃-stappen
bestaan. Tegenspraak met eindigheid van termen.
2
Teminatie en wel-gefundeerdheid zijn nauw verwant:
Propositie 2 Een relatie R is terminerend dan en slechts dan als R+ , de transitieve afsluiting van R, een wel-gefundeerde ordening is.
.
February 13, 2001 4:26 PM
DRAFT
3
DRAFT
.
We zullen par abuse Sprache no terminatie en wel-gefundeerdheid in het vervolg
door elkaar gebruiken.
Opgave 1 Werk het bewijs van de proposities uit.
Bewijs (Poging 2) We passen het bewijs van de eerste poging aan door in
ieder van de gevallen, induktie te doen gebaseerd op de supstap ordening in
plaats van de eerdere ad hoc aanpak.
• O is nog steeds een normaalvorm, dus terminerend.
• We bewijzen dat S(t) termineert, als t termineert, met inductie naar t
geordend door de supstap relatie. Het volstaat om aan te tonen dat iedere
term die bereikt kan worden in één stap termineert. Nog steeds geldt dat
als S(t) → s, dan moet s van de vorm S(s0 ) zijn zodanig dat t → s0 . We
concluderen onmiddellijk terminatie van S(t), want S(s0 ) is terminerend
volgens de inductie hypothese (want t s0 ).
• We bewijzen dat A(s, t) termineert, als s en t termineren, met inductie
naar het paar s,t geordend door de supstap relatie.
– als we een stap in s of t doen, dan volgt terminatie uit de inductiehypothese, want ofwel s ofwel t wordt kleiner in de supstap relatie.
– als we een stap A(O, t) → t doen, dan volgt terminatie uit de aanname dat t termineert.
– als we een stap A(S(s0 ), t) → S(A(s0 , t)) doen, dan volgt terminatie
in twee stappen:
1. dat A(s0 , t) termineert volgt uit de inductiehypothese, omdat
s s0 (s0 is een subterm van s)
2. dat S(A(s0 , t)) termineert, volgt uit terminatie van A(s0 , t) en
het S-geval.
• We bewijzen dat M (s, t) termineert, als s en t termineren, met inductie
naar het paar s,t geordend door de supstap relatie. De gevalsonderscheiding is als voor A. Het enige lastige geval is de tweede regel voor M :
– als we een stap M (S(s0 ), t) → A(M (s0 , t), t) doen dan volgt terminatie in twee stappen.
1. dat M (s0 , t) termineert volgt uit de inductiehypothese, omdat
s s0 .
2. dat A(M (s0 , t), t) termineert, volgt uit terminatie van M (s0 , t)
en t en het A-geval.
Klaar.
2
Merk op dat er een natuurlijke ordening op de 4 gevallen is: het geval M
gebruikt het geval A1 , en het geval A gebruikt op zijn beurt het geval S. Het
1 en
ook geval O maar dat hebben we niet laten zien
.
February 13, 2001 4:26 PM
DRAFT
4
DRAFT
.
bewijs zou niet werken als er een cyclische afhankelijkheid zou zijn, b.v. als het
geval A ook gebruik zou maken van het geval M .
De normaalvorm van een rekenkundige expressie is uniek. Dit zullen we later
bewijzen. In de volgende sectie zullen we een generalisatie van het terminatie
bewijs introduceren. Hier zullen we nog bewijzen we dat de normaalvormen van
de rekenkundige expressies precies de unaire getallen zijn.
Stelling 1 De unaire getallen zijn precies de rekenkundige expressies in REKnormaalvorm.
Bewijs
Dat ieder unaire getal in REK-normaalvorm is, volgt met behulp van een
triviale inductie:
• O is een normaalvorm.
• Als e een normaalvorm is, dan S(e) ook want er is geen regel in REK
die S als kopsymbool heeft.
Om aan te tonen dat een rekenkundige expressie in REK-normaalvorm
een unair getal is, volstaat het om aan te tonen dat ze geen A of M
kan bevatten. Voor een bewijs uit het ongerijmde stel dat e een REKnormaalvorm is die wel een A of een M bevat. Omdat e een eindige
expressie is, bevat e een minimal subexpressie die een A of een M bevat
(het zouden er meerdere kunnen zijn). Noem deze minimale subexpressie
s. Per minimaliteitsaanname is s van de vorm A(f1 , f2 ) of M (f1 , f2 )
zodanig dat f1 en f2 geen A of M bevatten. Maar dan is f1 van de vorm
O of S(f 0 ), en dus zou s herschreven kunnen worden met behulp van één
van de vier reken regels. Tegenspraak.
2
3
Recursieve Pad Ordeningen
We generaliseren het inductieve terminatie bewijs van de vorige sectie tot een
algemene terminatie bewijsmethode RPO geheten (RPO staat voor recursieve
pad ordening). De methode is gebaseerd op een wel-gefundeerde ordening op
de functiesymbolen. Zo’n ordening heet een precedentie. Voor de TRS REK
van de voorgaande sectie is de precedentie M A S O. Het idee is dat een
term f (t1 , . . . , tn ) die een ‘groot’ functiesymbool f als kopsymbool heeft groter
is dan een willekeurige term C[ti1 , . . . , tik ] waarbij C een context is bestaande uit
‘kleine’ functiesymbolen (kleiner dan f ) en 1 ≤ ij ≤ n, voor alle 1 ≤ j ≤ k. Merk
op dat argumenten van f gedupliceerd mogen worden, d.w.z. ti mag meerdere
keren (of juist helemaal niet) voorkomen tussen de tij .
Het idee van de nu volgende definitie is dat als voor iedere herschrijfregel
l → r in een TRS, de linkerkant l in een (positief) aantal RPO-stappen naar r
reduceert dan is de de hele TRS terminerend, want RPO-stappen zijn dat.
.
February 13, 2001 4:26 PM
DRAFT
5
DRAFT
.
Definitie 3 De RPO herschrijfrelatie ⇒ wordt gegenereerd door de volgende
herschrijfregels.
f (~x) ⇒put
f ∗ (~x) ⇒select
f ∗ (~x) ⇒copy
f ∗ (x1 , . . . , g(~y ), . . . , xn ) ⇒down
f ∗ (~x)
xi
, voor 1 ≤ i ≤ n
∗
g(f (~x), . . . , f ∗ (~x))
, als f g
∗
f (x1 , . . . , g (~y ), . . . , xn )
waarin ~x en ~y staan voor x1 , . . . , xn en y1 , . . . , ym respectievelijk, en waar van
ieder oorspronkelijk functiesymbool f ook een ‘gesterde’ variant f ∗ is. We zeggen
dat een termherschrijfsysteem R RPO-terminerend is (met precedentie ) als
voor iedere herschrijfregel l → r van de TRS geldt dat l ⇒+ r.
Aan het plaatsen van een ster op een functiesymbool (met behulp van de ⇒put )
kan gedacht worden als het aangaan van de verplichting om dat functiesymbool/die term kleiner te maken. Het kleiner maken gebeurt dan met behulp
van de overige regels. ⇒select maakt een term kleiner door een argument te
selecteren. ⇒copy maakt de term kleiner door het kopsymbool kleiner te maken
(volgens de precedentie ). ⇒down maakt de term kleiner door één van de
argumenten kleiner te maken (het sterretje wordt naar beneden geduwd).
Ter illustratie laten we zien dat REK RPO-terminerend is.
Lemma 2 REK is RPO-terminerend.
Bewijs We bewijzen RPO-terminatie van REK met behulp van de (welgefundeerde) ordening M A S O. Daartoe dienen we na te gaan dat
l ⇒+ r voor iedere herschrijfregel l → r van REK, met behulp van de sterretjesmethode.
• A(O, x) ⇒put A∗ (O, x) ⇒select x.
• A(S(x), y) ⇒put A∗ (S(x), y) ⇒copy S(A∗ (S(x), y)) ⇒down
S(A(S ∗ (x), y)) ⇒select S(A(x, y)).
• M (O, x) ⇒put M ∗ (O, x) ⇒select O.
• M (S(x), y) ⇒put M ∗ (S(x), y) ⇒copy A(M ∗ (S(x), y), M ∗ (S(x), y)) ⇒down
A(M (S ∗ (x), y), M ∗ (S(x), y)) ⇒select A(M (x, y), y).
Het is essentieel dat de precedentie daardwerkelijk wel-gefundeerd is, anders valt niets te concluderen over het terminatie gedrag van de TRS:
Voorbeeld 2 Beschouw het termherschrijfsysteem R met regels ak → ak+1 ,
voor alle k ∈ N. Neem als ‘precedentie’ ak ak+1 . Dan geldt ak ⇒put a∗k ⇒copy
ak+1 , voor alle k ∈ N, maar toch is R niet terminerend. De ‘oorzaak’ is dat niet wel-gefundeerd is:
ao a1 a2 . . .
Soortgelijke problemen treden op als cyclisch in plaats van oneindig dalend
zoals in dit voorbeeld.
.
February 13, 2001 4:26 PM
DRAFT
6
DRAFT
.
Maar als de precedentie wel-gefundeerd is, dan garandeert RPO-terminatie ook
terminatie.
Stelling 2 Iedere RPO-terminerend termherschrijfsysteem is terminerend.
Bewijs
Merk allereerst op dat ⇒ zelf niet terminerend is:
a ⇒ a∗ ⇒ f (a∗ ) ⇒ f (f (a∗ )) ⇒ . . .
als a f . We kunnen ⇒ wel terminerend maken door op te merken dat we in
de toepassing, het bewijs dat l ⇒+ r voor een regel l → r, zowel l als r termen
zonder sterretjes zijn. Dus kunnen we hoe vaak een kopie van een ‘gesterd’
funktiesymbool gemaakt moet worden van te voren gokken, en dus begrenzen
en dus de bovenstaande oneindige reduktie uitsluiten. Formeler, beschouw het
termherschrijfsysteem met regels, voor alle k, k 0 ∈ N:
f (~x) ⇒put
f k (~x) ⇒select
k+1
f
(~x) ⇒copy
f k (x1 , . . . , g(~y ), . . . , xn )
⇒down
f k (~x)
xi
, voor 1 ≤ i ≤ n
g(f k (~x), . . . , f k (~x))
, als f g
0
f (x1 , . . . , g k (~y ), . . . , xn )
waarbij we functiesymbolen mogen labellen met natuurlijke getallen in plaats
van met sterretjes. Eenvoudig is te zien dat de herschrijfrelatie ⇒+ op termen uit de oorspronkelijke signatuur hetzelfde is gebleven. We bewijzen nu
dat de nieuwe relatie, die we verwarrenderwijs ook met ⇒ zullen aanduiden,
terminerend is. We bewijzen dat iedere term F (t1 , . . . , tn ) terminerend is in
de RPO-ordening, als t1 , . . . , tn dat zijn, waarbij F zowel een gewoon als een
gelabeld functiesymbool kan zijn. We bewijzen dit met inductie naar het tripel
(F, (t1 , . . . , tn ), l) geordend door het lexicografisch produkt van , de n-voudige
produktordening van ⇒,2 en de natuurlijke ordening > op ordinalen. Hierbij is
l het label van F , of ω als F geen label heeft (met ω > k, voor alle k ∈ N). Het
volstaat om te bewijzen dat alle termen die in één RPO-stap bereikbaar zijn
vanuit F (t1 , . . . , tn ) termineren.
• als de stap heeft plaatsgevonden in een zekere ti dan volgt terminatie uit
de inductiehypothese, want die ti is kleiner geworden.
• als de stap van de vorm f (t1 , . . . , tn ) ⇒put f k (t1 , . . . , tn ) is voor zekere
k ∈ N, dan volgt terminatie uit de inductie-hypothese want ω > k.
• als de stap van de vorm f k (t1 , . . . , tn ) ⇒select ti is voor zekere 1 ≤ i ≤ n,
dan volgt terminatie uit de aanname dat ti terminerend is.
• uit f k+1 (t1 , . . . , tn ) ⇒copy g(f k (t1 , . . . , tn ), . . . , f k (t1 , . . . , tn )) voor zekere
k ∈ N, volgt terminatie in twee stappen. Terminatie van ieder van de
f k (t1 , . . . , tn ) volgt uit de induktiehypothese want k + 1 > k. Vervolgens
volgt terminatie van de gehele term uit de inductiehypothese volgens de
aanname f g em de zojuist bewezen terminatie van de argumenten.
2n
hangt natuurlijk van F af
.
February 13, 2001 4:26 PM
DRAFT
7
DRAFT
.
• tenslotte, als de stap van de vorm f k (t1 , . . . , g(s1 , . . . , sm ), . . . , tn ) ⇒down
0
f (t1 , . . . , g k (s1 , . . . , sm ), . . . , sn ) is voor zekere k, k 0 ∈ N, dan volgt termi0
natie uit de inductiehypothese, want g(s1 , . . . , sm ) ⇒ g k (s1 , . . . , sm ).
Klaar.
2
Gevolg 1 REK is terminerend.
Bewijs We hadden al aangetoond dat REK RPO-terminerend is. Terminatie
volgt dus uit Stelling 2.
2
Opgave 2 Laat R = hΣ, Ri een TRS zijn.
gedefinieerd door:
De onderlijning R van R is
• de signatuur bestaat uit de functiesymbolen f en f voor ieder functiesymbool f ∈ Σ, beide met dezelfde aritiet als f .
• er is een herschrijfregel f (l1 , . . . , ln ) → r voor iedere regel f (l1 , . . . , ln ) → r
in R.
Een voorbeeld van een reductie in REK is
A(S(O), A(O, S(O))) → A(S(O), S(O)) → S(A(O, S(O)))
Merk op dat de laatste term in normaalvorm is, want hij bevat geen onderlijnde
symbolen meer, dus geen redexen. Bewijs dat R terminerend is.
De reducties in R die we kunnen verkrijgen door in een reductie uit R de
onderlijningen ‘weg te laten’ worden ook wel ontwikkelingen genoemd. Om
die reden staat het resultaat van de opgave ook wel bekend als eindigheid van
ontwikkelingen.
Merk op dat niet ieder termherschrijfsysteem dat terminerend is ook RPOterminerend is.
Voorbeeld 3 Het termherschrijfsysteem f (f (x)) → f (g(f (x))) is terminerend,
maar niet RPO-terminerend.
Opgave 3 Bewijs dit.
Hint: toon aan dat f (g(f (x))) ⇒+ f (f (x)).
4
Conjunctieve normaalvormen
Van het college formele talen & resolutie weten we dat iedere formule naar
een conjunctieve normaalvorm getransformeerd kan worden. We zullen deze
transformatie nu beschrijven met behulp van een termherschrijfsysteem en de
gewenste eigenschappen van de transformatie voor deze beschrijving bewijzen.
Definitie 4 Een (propositie-logische) formule is:
• een atoom p, q, . . . , of
.
February 13, 2001 4:26 PM
DRAFT
8
DRAFT
.
• de negatie ¬φ van een formule φ,
• de disjunctie φ ∨ ψ van formules φ en ψ,
• de conjunctie φ ∧ ψ van formules φ en ψ.
De conjunctieve normaalvormen vormen een deelverzameling van de verzameling
van formules.
Definitie 5
clausen.
• Een conjunctieve normaalvorm (CNF) is een conjunctie van
• Een clause is een disjunctie van literals.
• Een literal is een atoom of de negatie van een atoom.
Iedere formule kan naar conjunctieve normaalvorm getransformeerd worden met
behulp van de volgende termherschrijfregels.
Definitie 6 De herschrijfregels van de TRS CN F zijn:
¬(¬x)
¬(x ∨ y)
¬(x ∧ y)
x ∨ (y ∧ z)
(y ∧ z) ∨ x
→
→
→
→
→
x
(¬x) ∧ (¬y)
(¬x) ∨ (¬y)
(x ∨ y) ∧ (x ∨ z)
(y ∨ x) ∧ (z ∨ x)
We tonen eerst aan dat het toepassen van de regels van CN F, op een willekeurige
manier, altijd termineert.
Lemma 3 CN F is terminerend.
Bewijs We bewijzen dat CN F termineert mbv de RPO-methode met de
ordening ¬ ∨ ∧. Daartoe dienen we na te gaan dat l ⇒+ r voor iedere
herschrijfregel l → r van CN F, met behulp van de sterretjes-methode.
• ¬(¬x) ⇒put ¬∗ (¬x) ⇒select ¬x ⇒put ¬∗ x ⇒select x.
• ¬(x ∨ y) ⇒put ¬∗ (x ∨ y) ⇒copy ¬∗ (x ∨ y) ∧ ¬∗ (x ∨ y) ⇒down ¬(x ∨∗ y) ∧
¬(x ∨∗ y) ⇒select (¬x) ∧ (¬y).
• ¬(x ∧ y) ⇒put ¬∗ (x ∧ y) ⇒copy ¬∗ (x ∧ y) ∨ ¬∗ (x ∧ y) ⇒down ¬(x ∧∗ y) ∨
¬(x ∧∗ y) ⇒select (¬x) ∨ (¬y).
• x ∨ (y ∧ z) ⇒put x(y ∧ z) ⇒copy (x(y ∧ z)) ∧ (x(y ∧ z)) ⇒down (x ∨ (yz)) ∧
(x ∨ (yz)) ⇒select (x ∨ y) ∧ (x ∨ z).
• (y ∧ z) ∨ x ⇒put (y ∧ z)x ⇒copy ((y ∧ z)x) ∧ ((y ∧ z)x) ⇒down ((yz) ∨ x) ∧
((yz) ∨ x) ⇒select (y ∨ x) ∧ (z ∨ x).
.
February 13, 2001 4:26 PM
DRAFT
9
DRAFT
.
Met behulp van Stelling 2 volgt dat CN F terminerend is.
2 Merk op
dat CN F, in tegenstelling tot REK niet confluent is. De term (p ∧ q) ∨ (r ∧ s)
heeft twee verschillende normaalvormen.
Opgave 4 Welke?
Opmerking 1 We kunnen eventueel nog een ordening op propositie symbolen
aanbrengen en de literals in een clause sorteren volgens deze ordening en ook
herhalingen verwijderen met behulp van regels zoals:
x∧x → x
x∨x → x
Dit is irrelevant voor het volgende. Merk op dat deze regels toegevoegd kunnen
worden aan CN F met behoud van terminatie. Dit geldt natuurlijk niet voor
regels die commutativiteit van conjunctie en disjunctie uitdrukken:
x∧y
x∨y
→ y∧x
→ y∨x
Opgave 5 Waarom niet?
We zullen nu bewijzen dat de verzameling van conjunctieve normaalvormen
precies overeenkomt met de verzameling van formules die in normaalvorm zijn
ten opzichte van CN F. Één kant is meestal makkelijk, en zo ook nu.
Lemma 4 Iedere conjunctieve normaalvorm is een CN F-normaalvorm.
Bewijs We bewijzen dat alle formules in ieder van de syntactische categorieën
van Definitie 5 in CN F-normaalvorm zijn.
• atomen zijn in CN F-normaalvorm, want er zijn geen regels voor.
• negaties van atomen zijn in CN F-normaalvorm, want de regels met ¬ als
kopsymbool mogen geen atoom daar onder hebben.
• clauses zijn in CN F-normaalvorm, want als voor zowel φ als ψ in φ ∨ ψ
geldt dat het een literal of een clause in CN F-normaalvorm is, dan is er
geen regel op de term van toepassing op het kopsymbool.
• conjunctieve normaalvormen zijn in CN F-normaalvorm, want als voor
zowel φ als ψ in φ ∧ ψ geldt dat het een clause of een conjunctieve normaalvorm in CN F-normaalvorm is, dan is er geen regel op de term van
toepassing op het kopsymbool.
2
Lemma 5 Een formule in CN F-normaalvorm is in conjunctieve normaalvorm.
Bewijs
• Het is duidelijk dat atomen in conjunctieve normaalvorm zijn.
.
February 13, 2001 4:26 PM
DRAFT
10
DRAFT
.
• Stel ¬φ is in CN F-normaalvorm met φ in CN F- en conjunctieve normaalvorm. Dan moet φ een atoom zijn, anders zou er een herschrijfregel
toegepast kunnen worden in tegenspraak met de aanname dat ¬φ in CN Fnormaalvorm is. Dus ¬φ is een literal.
• Stel φ ∨ ψ is in CN F-normaalvorm met φ en ψ in CN F- en conjunctieve
normaalvorm. Dan moeten zowel φ als ψ een clause zijn, anders zou één
van de distributie regels toegepast kunnen worden. Dus φ ∨ ψ is wederom
een clause.
• Stel φ ∧ ψ is in CN F-normaalvorm met φ en ψ in CN F- en conjunctieve
normaalvorm. Dan is φ ∧ ψ weer een conjunctieve normaalvorm.
2
Gevolg 2 De conjunctieve normaalvormen zijn precies de formules in CN Fnormaalvorm.
5
Modellen voor herschrijven
Herschrijfregels manipuleren syntax. Die syntax kan gerelateerd worden aan
andere dingen met behulp van semantiek. Daartoe interpreteren we termen in
zogenaamde algebra’s. Sommige algebra’s zullen de regels van het herschrijfsysteem waar maken, d.w.z. de interpretatie van de linker- en rechterkant van
iedere regel is hetzelfde, deze zullen we modellen noemen.
Definitie 7 Laat Σ een signatuur zijn. Een Σ-algebra A bestaat uit een drager
A en een afbeelding die aan ieder n-air functie symbool f uit Σ een functie
f A : An →A toekent. De interpretatie sA van een term s over Σ is dan inductief
gedefinieerd door:
A
• f (t1 , . . . , tn )A = f A (tA
1 , . . . , tn ).
We geven eerst de natuurlijke semantieke voor formules en rekenkundige expressies.
Voorbeeld 4
• De signatuur voor formules bestaat uit de unaire negatie ¬
en binaire connectieven ∨ en ∧ (we identificeren propositie symbolen met
variabelen). De algebra B heeft drager {0, 1} en de volgende interpretaties
van de functiesymbolen:
x ¬B (x)
0 1
1 0
x y
0 0
0 1
1 0
1 1
∨B (x, y)
0
1
1
1
x y
0 0
0 1
1 0
1 1
∧B (x, y)
0
0
0
1
• De signatuur voor rekenkundige expressies bestaat uit de nullaire O, de
unaire S, en de binaire operatoren A en M . De algebra N heeft drager N
en operaties:
.
February 13, 2001 4:26 PM
DRAFT
11
DRAFT
.
– ON () = 0,
– S N (n) = n + 1,
– AN (m, n) = m + n,
– M N (m, n) = m × n.
De interpretatie van open termen, d.w.z. termen met variabelen wordt nog niet
volledig bepaald door een Σ-algebra: de interpretatie van de variabelen is nog
open.
Definitie 8 Laat Σ een signatuur, A een Σ-algebra, en X een verzameling
variabelen disjunct van Σ zijn. Een bedeling α is een afbeelding van variabelen
van X naar de drager A van A. De bedeling induceert natuurlijk de Σ ∪ Xalgebra A ∪ α. De algebra A is een model van een paar (s, t) open termen als
sA∪α = tA∪α voor iedere bedeling α.
D.w.z. een algebra is een model voor een regel als de linkerkant en rechterkant
van de regel dezelfde interpretatie hebben voor iedere bedeling. Modellen breiden op voor de hand liggende wijze uit van herschrijfregels naar herschrijfsystemen. We schrijven R |= s = t als ieder model van R een model van het paar
(s, t) is.
Voorbeeld 5 De algebra B is een model voor het herschrijfsysteem CN F. We
dienen daartoe te checken dat voor een willekeurige regel l → r in CN F en een
willekeurige bedeling α geldt dat lB∪α = rB∪α . B.v. voor de 3de regel, ¬(x∧y) →
(¬x) ∨ (¬y), checken we dit als volgt:
x y
0 0
0 1
1 0
1 1
x∧y
0
0
0
1
¬(x ∧ y) ¬x ¬y
1
1
1
1
1
0
1
0
1
0
0
0
(¬x) ∨ (¬y)
1
1
1
0
De andere regels zijn net zo makkelijk.
Opgave 6 Maak het voorbeeld af.
Opgave 7 Ga na dat N een model is voor het herschrijfsysteem REK.
Behalve de natuurlijke semantiek zijn er natuurlijke nog vele andere semantieken mogelijk.
Voorbeeld 6
• Een triviaal voorbeeld is in beide gevallen om een drager
bestaande uit precies één element, zeg ∗, te nemen. De functie symbolen
worden allemaal als de constante-∗ functie geı̈nterpreteerd.
Duidelijk is dat deze constructie een model oplevert voor een willekeurig
termherschrijfsysteem omdat alle termen, dus ook de linker- en rechterkant
van iedere regel, als ∗ geı̈nterpreteerd worden.
.
February 13, 2001 4:26 PM
DRAFT
12
DRAFT
.
• Syntax is semantiek: termen kunnen als ‘zichzelf ’ geı̈nterpreteerd worden
in zogenaamde term algebra’s.3 . Preciezer, de drager van de term algebra
T voor REK bestaat uit alle rekenkundige expressies en de interpretatie
van een n-air functie symbool f is:
f (t1 , . . . , tn )T = f (t1 , . . . , tn )
Duidelijk is dat een term algebra zelden een model is voor een termherschrijfsysteem: zodra er een regel is met een linkerkant die verschilt van
de rechterkant, is de term algebra geen model, want ze worden als zichzelf,
dus verschillend, geı̈nterpreteerd.
6
Birkhoff ’s Stelling
Gegeven een termherschrijfsysteem R zullen we laten zien dat s ↔∗ t dan en
slechts dan als R |= s = t in alle modellen van R. Dit is een variant van een
stelling uit de universele algebra die bekend staat als Birkhoff’s stelling. De
stelling geeft een directe koppeling tussen syntax (herschrijven) en semantiek
(modellen). Zij is, vanuit een semantisch perspectief, een rechtvaardiging van
het gebruik van herschrijven.
Zoals gebruikelijk is het gemakkelijk om gezondheid te bewijzen, d.w.z. om
te bewijzen dat herschrijven semantisch juist is.
Lemma 6 (Gezondheid) Als s ↔∗ t dan |= s = t.
Bewijs Makkelijk is in te zien dat R |= s = s, dat R |= s = t als R |= t = s,
en dat als R |= s = t en R |= t = u, dan R |= s = u (wat moet er nagegaan
worden?). Daarom volstaat het om aan te tonen dat als s → t dan |= s = t.
Stel dus dat s = C[lσ ] → C[rσ ] = t, voor zekere context C, regel l → r in R en
substitutie σ. Uit Lemma 7 volgt:
(lσ )A∪α = lA∪ασ =aanname rA∪ασ = (rσ )A∪α
voor zekere ασ , waarna het gestelde volgt met inductie naar de opbouw van de
context C.
2
Lemma 7 (Substitutie) Als A een Σ-algebra is, α een bedeling, s een term,
en σ een substitutie, dan (sσ )A∪α = sA∪ασ , waarin ασ (x) = xA∪α .
Bewijs
Met inductie naar de opbouw van de term s.
• Als s een variabele is, dan volgt het gestelde uit de aanname dat Σ disjunct
is van de verzameling variabelen.
• Als s een functie symbool als kopsymbool heeft dan volgt het gestelde uit
de inductiehypothese.
2
3 Denk
aan het Herbrand-universum gebruikt in resolutie.
.
February 13, 2001 4:26 PM
DRAFT
13
DRAFT
.
Volledigheid, de andere richting, bewijzen we in twee stappen. We introduceren eerst een notie van congruentie-model en bewijzen gezond- en volledigeheid
van herschrijven ten opzichte van congruentie-modellen. Daarna laten we zien
dat ieder congruentie-model een model induceert.
Definitie 9 Een congruentie-algebra is een algebra A voorzien van een congruentie relatie, d.w.z. een reflexieve, symmetrische, transitieve relatie ∼
= die voldoet
aan de substitutie regel, voor ieder n-air functie symbool f uit de signatuur:
f A (a1 , . . . , an ) ∼
= f A (b1 , . . . , bn )
als ai ∼
= bi voor alle 1 ≤ i ≤ n. Door gelijkheid (=) in de notie van model te
vervangen door congruentie (∼
=) verkrijgen we congruentie modellen.
Opgave 8 Laat zien dat herschrijven gezond is voor congruentie-modellen door
te laten zien dat de enige eigenschappen van gelijkheid die gebruikt zijn in het
bewijs van Lemma 6 de congruentie-eigenschappen zijn.
Lemma 8 (Volledigheid) Als |= s ∼
= t, dan s ↔∗ t.
Bewijs Laat R een termherschrijfsysteem zijn. Stel |= s ∼
= t. Per definitie is
dan s ∼
= t waar voor iedere congruentie-algebra voor R. Als we kunnen laten
zien dat de term algebra T met als relatie ↔∗ een congruentie-algebra is, dan
zijn we klaar want dan geldt s ↔∗ t. We hebben al gezien dat T een algebra is,
resteert nog te laten zien dat ↔∗ een congruentie relatie is, en dat voor iedere
regel l → r in R geldt dat l ↔∗ r.
• Per definitie is ↔∗ een equivalentie relatie. Dat het een congruentie relatie
is volgt eenvoudig uit geslotenheid van herschrijven onder contexten en
transitiviteit.
• Als s → t dan s ↔∗ t want ↔∗ is de reflexief-symmetrisch-transitieve
afsluiting van → en deze operaties zijn monotoon.
2
Uit het bovenstaande volgt direkt:
Gevolg 3 Herschrijven is gezond en volledig voor congruentie-modellen.
We zijn echter uit op gezond- en volledigheid voor modellen. Dit kan verkregen
worden door de congruentie-relatie van congruentie-modellen uit te delen. Iets
preciezer: als je een congruentie-model met congruentie relatie ∼
= hebt kun
je elementen die door ∼
aan
elkaar
gerelateerd
worden
identificeren
en dan een
=
model maken. Dit kunnen we iets algemener doen voor iedere congruentie relatie
' die bevat is in ∼
=.
Definitie 10 Laat A een congruentie model zijn met drager A en congruentie
∼
=. Als ' een congruentie relatie is die bevat is in ∼
=, dan is de quotient algebra
A/' gedefinieerd door:
• De drager is A/' = {a/' | a ∈ A}, waar voor ieder element a in A,
a/' = {b ∈ A | a ' b} de '-equivalentie klasse van a is.
.
February 13, 2001 4:26 PM
DRAFT
14
DRAFT
.
• De interpretatie van een n-air functie symbool f is gedefinieerd door:
f A/' (a1 /', . . . , an /') = f A (a1 , . . . , an )/'
• De congruentie is ∼
=/', gedefinieerd door a/' ∼
=/' b/' als a '; ∼
=; ' b,4
voor a, b ∈ A.
Opgave 9
• Verifieer dat de quotient algebra wel-gedefinieerd is. In het bijzonder, verifieer dat de interpretatie van de functie symbolen niet afhangt
van de gekozen representant van de equivalentie klassen ai /'.
∼ de identiteitsrelatie is (op ∼
• Laat zien dat ∼
=-equivalentie klassen).
=/=
Propositie 3 Onder de voorwaarden van Definitie 10 is A/' een congruentie
model.
Bewijs We moeten checken dat als ' een congruentie relatie is die bevat is
in de congruentie relatie ∼
= van het model, dan is ∼
=/' weer een congruentie
relatie. Eenvoudig is na te gaan dat elk van de eigenschappen (reflexiviteit,
symmetrie, transitiviteit, en de substitutie eigenschap) van ∼
=/' volgt uit de
corresponderende eigenschap voor ∼
=. Tenslotte volgt sA/'∪α/' = sA∪α /' =
tA∪α /' = tA/'∪α/' waarbij α een element kiest voor iedere equivalentie klasse
uit sA/'∪α/' = sA∪α /', voor iedere term s, met inductie naar de opbouw van
s.
2
Gevolg 4 (Gezond- en Volledigheid) Herschrijven is gezond en volledig.
Bewijs Gezondheid hadden we al geconcludeerd. Blijft volledigheid over.
Stel R |= s = t. D.w.z. ieder model van R is een model van het paar (s, t).
Maar dan geldt dat ook voor het quotient model van het term model T met
congruentie ↔∗ , dus s ↔∗ t.
2
Volledigheid kan gebruikt worden om aan te tonen dat bepaalde termen niet
convertibel zijn. B.v. O ↔∗ S(O) is niet af te leiden in REK, want O en S(O)
worden in het standaard model N op 0 en 1 afgebeeld. Kortom, volledigheid
kan gebruikt worden om non-convertibiliteit van termen s en t te bewijzen via
modellen. Zo’n model wordt een tegenmodel voor de gelijkheid s = t genoemd.
Opmerking 2 In congruentie modellen worden herschrijfregels als congruenties, dus i.h.b. als equivalentie relaties, geı̈nterpreteerd. Het is echter niet
noodzakelijk om symmetrie te eisen. Alles gaat door als we in onze noties systematisch de symmetrie eis weglaten. De quotient constructie dient aangepast te
worden omdat je niet zomaar een quotient t.o.v. een relatie die geen equivalentie
relatie is kunt nemen. De oplossing om een quotient te nemen t.o.v. de grootste
congruentie relatie die in de relatie bevat is (die bestaat). We krijgen dan een
gezond- en volledigheids resultaat voor herschrijven m.b.t. herschrijfmodellen,
waarbij in plaats van gelijkheid de modellen voorzien zijn van partiële ordeningen die de substitutie eigenschap hebben. We schrijven R |= s ≥ t als ieder
herschrijfmodel van R een model van het paar (s, t) is.
4;
is relatie compositie, d.w.z. a R; S c als a R b en b S c, voor relaties R en S.
.
February 13, 2001 4:26 PM
DRAFT
15
DRAFT
.
Opgave 10 Werk de opmerking uit.
7
Terminatie door (semantisch) labellen
Vaak zit je in de situatie dat je wel kunt zien dat een herschrijfsysteem terminerend is met behulp van een ‘semantisch’ argument, maar dat je terminatie
niet kunt bewijzen met behulp van recursieve pad ordeningen.
Voorbeeld 7 Beschouw het termherschrijfsysteem DEEL met regels:
M (x, O)
M (S(x), S(y))
D(O, x)
D(S(x), S(y))
→
→
→
→
x
M (x, y)
O
S(D(M (x, y), S(y)))
Eenvoudig is na te gaan dat dit herschrijfsysteem niet terminerend is te bewijzen
met behulp van RPO. De eerste drie regels leveren natuurlijk geen probleem op,
maar de laatste wel:
• D(S(x), S(y)) ⇒put D∗ (S(x), S(y)) ⇒copy S(D∗ (S(x), S(y))) ⇒ . . .?
Het probleem is dat de argumenten van het voorkomen van D in de rechterkant
van de regel, geen van beide ‘syntactisch kleiner’ zijn dan de argumenten van
het voorkomen van D in de linkerkant.
De intuı̈tieve reden waarom het deel-herschrijfsysteem toch termineert is dat het
eerste argument van D steeds kleiner wordt, in de standaard interpretatie (de
natuurlijke getallen). Deze semantische informatie zouden we graag toevoegen
aan ons herschrijfsysteem. Dit kan m.b.v. zogenaamd semantisch labellen. In
semantisch labellen wordt ieder functiesymbool in een term gelabeld met een
functie van de waarde van z’n argumenten in een, vrij te kiezen, model van het
herschrijfsysteem.
Een model voor het voorbeeld wordt gevormd door de algebra N waarbij we
M en D als aftrekken (−) en delen (/) interpreteren. We besluiten nu om in
het herschrijfsysteem het symbool D semantisch te labellen met de waarde van
diens eerste argument in N . Dit levert een termherschrijfsysteem met regels:5
M (x, O)
M (S(x), S(y))
D0 (O, x)
Dn+1 (S(x), S(y))
→
→
→
→
x
M (x, y)
O
S(Dn−m (M (x, y), S(y)))
Voor alle natuurlijke getallen m, n ∈ N. Nu is het systeem makkelijk met RPO
terminerend te bewijzen: orden Dn+1 Dn voor alle n. Dit is duidelijk een
5 Merk
op dat alleen het symbool D gelabeld is.
.
February 13, 2001 4:26 PM
DRAFT
16
DRAFT
.
wel-gefundeerde ordening en terminatie van het gelabelde systeem volgt uit de
RPO stelling.
We moeten natuurlijk nog wel bewijzen dat uit terminatie van het gelabelde
systeem ook terminatie van het oorspronkelijke systeem volgt.
Stelling 3 Als het gelabelde deel-herschrijfsysteem termineert, dan ook het oorspronkelijke.
Bewijs Het volstaat om te bewijzen dat als s → t een stap in de ongelabelde
TRS is, dat dan l(s) → l(t), een stap in de gelabelde TRS is, waarbij l de
labelling-functie is. Dit is eenvoudig in te zien.
2
Merk op dat het cruciaal is dat de labelling van een functie-symbool invariant
is onder het herschrijven in argumenten. Als b.v. het label van f in de term
f (t) groter zou kunnen worden als we t herschrijven tot t0 dan loopt de hele
methode in de soep.
Opgave 11 Bewijs dat de TRS met als enige regel de associativiteits regel voor
A: A(A(x, y), z) → A(x, A(y, z)) terminerend is.
Hint: merk op dat het aantal haakjes in een term invariant is, d.w.z. niet veranderd door het toepassen van de regel. Maak dit formeel door een corresponderend
model te geven. Label A met het aantal haakjes in diens linker argument en bewijs dat het gelabelde systeem RPO-terminerend is.
Opgave 12 Bewijs de TRS PA terminerend is, waarbij PA gedefinieerd is
door:
xky
(x + y) L z
a(x) L y
→ (x L y) + (y L x)
→ (x L z) + (y L z)
→ a(x k y)
voor alle acties a
De standaard interpretatie van PA heeft als drager de verzameling van processen (PA staat voor process algebra). p + q is een proces dat ofwel p ofwel
q kan doen. p k q is een proces dat p en q beide doet. p L q is als p k q met de
restrictie dat de eerste actie van p moet zijn. a(p) is het proces dat eerst actie
a doet gevolgd door p.
Het probleem om terminatie van PA te bewijzen is dat de k en L mutueel
recursief zijn: de eerste regel definieert k in termen van L en de derde regel
definieert L in termen van k. Om deze cyclische afhankelijkheid te doorbreken
merken we op dat het linker argument a(x) van L in de derde regel groter is
dan het linker argument x van k. Het idee is om deze informatie als semantisch
label te gebruiken. Daartoe maken we eerst het volgende model A van PA.
• De drager van A is N, de verzameling natuurlijke getallen.
• De interpretatie van de functiesymbolen is gegeven door:
kA
LA
+A
aA
.
February 13, 2001 4:26 PM
= +
= +
= max
= (+1)
voor alle acties a
DRAFT
17
DRAFT
.
Ga na dat dit inderdaad een model van PA is en bewijs dat de semantisch
gelabelde TRS, voor m, m1 , m2 , n ∈ N:
x km+n y
(x + y) Lmax(m1 ,m2 )+n z
a(x) Lm+1+n y
→ (x Lm+n y) + (y Lm+n x)
→ (x Lm1 +n z) + (y Lm2 +n z)
→ a(x km+n y)
voor alle acties a
RPO-terminerend is. Hierin zijn k en L semantisch gelabeld met de som van
waarden van hun argument in het model. D.w.z. definieer een geschikte precedentie op de gelabelde functiesymbolen.
.
February 13, 2001 4:26 PM
DRAFT
18
Download