TT2-metoden en forbedring av TT1-metoden
7.2 Korrekthetsbevis for TT2- mpo -metoden
lik TT0-mpo), mens TT1 som vi har sett ikke var en ekte utvidelse av TT0. Med TT2-mpo kan man vise terminering av systemet i eksempel 6.15 med presedensen fsFfs0F aF b.
Følgende eksempel viser at TT2-mpokan vise terminering av et system som hverken TT0-mpo(en utypetmpo-analyse) eller TT1-mpokan vise terminerer:
Eksempel 7.1
Omskrivningssystemetterminerer, noe som på grunn av den første regelen ikke kan vises ved en utypet (TT0-) analyse.
Følgende må vises for speilingen R0: fs1(x) mpo fs2(gs1(x)) TT1-mpoikke kan vise terminering av eksemplet.
Bruker vi imidlertid TT2-mpogir for eksempel presedensen fsF fs1F fs11 F fs2 Fgs1FbFa
at de 4 reglene i speilingen gitt over er mpo-minskende samtidig som krav 7.1 er tilfredsstilt. Vi har dermed vist terminering av det typeordnede systemet.
7.2 Korrekthetsbevis for TT2- mpo -metoden
Jeg skal i dette avsnittet bevise at TT2-mpo-metoden er korrekt, dvs. at R virkelig ter-minerer dersom alle betingelsene til TT2-mpo-metoden i g. 7.1 er oppfylt. For å få til dette vil jeg vise at det ns en speiling hF;b c;R00i av et typeordnet systemh ;Ri som terminerer når TT2-mpo-betingelsene holder. Forskjellen fra TT1-speilingen er at F-like funksjonssymboler blir slått sammen i den nye speilingen R00, og at alle ekstraregler på formen fw(x1;:::;xn);!fw0(x1;:::;xn) fjernes dersom fwFfw0. Beviset vil innføre en ny termspeilingsfunksjon b c som bare brukes her. Bruken av TT-metodene vil som nevnt hele tiden basere seg på termspeilingsfunksjonenbcbeskrevet i forrige kapittel.
7.2.1 Speilingen
I dette avsnittet skal jeg denere en speiling hF;b c;R00i og vise at den virkelig er en speiling av et typeordnet systemh ;Ri.
Funksjonssymbolmengden
FDen utypede funksjonssymbolmengden F vil være den samme som beskrevet i avsnitt 6.3 for TT1-metoden.
Termspeilingsfunksjonen
bcJeg har tidligere vist at F indusert av en kvasiordning %F er en ekvivalensrelasjon og dermed danner ekvivalensklasser over F. Hovedidéen bak TT2-speilingen er at F-like fw;fw0;fw00;::: skal representeres i speilingen av ett (felles) funksjonssymbol, dvs. av ett element i F -ekvivalensklassen [fw]F. Dersom [fw]F er en ekvivalensklasse, så kan den imidlertid inneholde både f'er og andre funksjonssymboler fra , f. eks. g. De utypede symbolene fw og gw0 kan ha forskjellig aritet. Noen reduksjonsordninger, som bl. a.lpo, er generelt ikke denert for utypede systemer der et funksjonssymbol kan ha variabel aritet, så vi må være litt forsiktige med å slå sammen funksjonssymboler med forskjellig aritet til ett symbol. For å være på den sikre siden, og for å ha et mer generelt bevis, denerer jeg enkanonisk representant utifra funksjonssymboler i. Det betyr for at for enhver f 2 velger jeg en f-kanonisk representant, kalt f-crep([fw]F) i [fw]F.
For enhver ekvivalensklasse og hvert funksjonssymbol i (som er representert i ekviva-lensklassen) nnes altså en f-crep([fw]F) 2 F. Denne f-kanoniske representanten for [fw]F velger jeg å kalle fw. Dersom [fw]F bare inneholder ett element som stammer fra en f i , skriver jeg av og til bare fw for den éntydige fw1. For å sammenfatte disse nye begrepene er altså fw = f-crep([fw]F) et funksjonssymbol fw0 i F der fwFfw0 og der fw og fw0 har lik aritet.
Eksempel (forts. av eks. 7.1)
Ekvivalensklassen [fs2]F indusert av presedensen %F denert tidligere i eksempel 7.1 består av elementene fs2;gs1 og b. Her vil da f-crep([fs2]F) = fs2, g-crep([fs2]F) = gs1 og b-crep([fs2]F) vil være lik b. Tilsvarende kunne vi ha f-crep([fs11]F) = fs11 = fs1.La nå den nye termspeilingsfunksjonenb c :T(;X)!T(F;V ) være denert ved at btc er likbtcmed den forskjellen at ethvert symbol fw i t blir erstattet med symbolet fw. Mer formelt er en funksjonssymbolsmerkingsfunksjonbcF:S!F denert ved
bf;wcF= f-crep([bf;wcF]F)
derbcF er som denert i forrige kapittel. Funksjonen bc er på vanlig måte utvidelsen av
bcF til en termspeilingsfunksjon.
1Er man meget pirkete kanfta ulikt antall argumenter dersomf:s!sogf:s;s!ser to deklarasjoner i. Hvis nåfsFfs; svilfsta enten ett eller to argumenter. Dette kan bøtes på ved å denerefssom etF-symbol som tar ett argument ogfs; s som et annetF-symbol som tar to argumenter. Dette vil ikke forårsake problemer daF-sprang frafs tilfs0; s0 eller omvendt aldri kan forekomme.
7.2 Korrekthetsbevis for TT2-mpo-metoden
Eksempel (forts. av eks. 7.1)
Den eneste forskjellen mellom btc og btc ville være at enhver forekomst av fs11 ibtcville bli erstattet med fs1 ibtc. Eksempelvis erbf(b)c= fs11(b) mensbf(b)c= fs1(b).Regelmengden
R00Den speilende regelmengden R00 består som før av to mengder regler. De opprinnelige reglene blir som for TT1, dvs. for alle regler l;!r i R og for alle spesialiseringer for variablene i l erblc;!brc med i R00.
Ekstrareglene i R0beholdes også, unntatt de som i det tilfellet ville gitt en regel som ikke gjør noe som helst. Formalisert vil det si at mengden av ekstraregler i R00er gitt ved
R00=ffw(x1;:::;xn);!fw0(x1;:::;xn)jfw;fw0 2F ^s0< s^fw6= fw0g
R00er altså mengden av de opprinnelige reglene og ekstrareglene.
Eksempel (forts. av eks. 7.1)
Hvis vi denerer f-crep([fs1]F) = fs1 = fs1 = fs1 1 ville den speilende regelmengden R00 til systemet i eksempel 7.1 blitt som følger:fs1(x);!fs2(gs1(x))
fs1(x);!fs2(gs1(x)) (fordi fs11 = fs1) fs1(b);!fs1(a) (også fordi fs11= fs1) fs1(y);!b (tilsvarende her)
Disse er de jeg kaller de opprinnelige reglene i R00. Ekstrareglene er da fs(x);!fs1(x)
fs(x);!fs2(x)
Her kan man legge merke til at ekstraregelen fs1(x);!fs11(x) som vi ville hatt i en TT1-speiling forsvinner. Med presedensen %F gitt tidligere kan man med hjelp av mpoellerlpovise at regelmengden R00terminerer, noe jeg snart vil vise også impliserer terminering avR.
Dersom t er en utypet term, vil jeg skrive t for termen som fremkommer når alle funk-sjonssymboler fw i t erstattes med tilhørende f-kanoniske representanten fw.
Det må nå vises athF;bc;R00ivirkelig er en speiling av et typeordnet omskrivningssystem
h ;Ri.
Teorem 7.1
8t;t02T(;X)jt;R!t0=)btc;R+!0 0 bt0cBevis:
Beviset tar utgangspunkt i speilingenhF;bc;R0i vi brukte i TT1-beviset. Husk atbtc bare erbtc med alle funksjonssymboler fw byttet ut med fw. Vi hadde i beviset for teorem 6.15 en omskrivningssekvens
btc;op pR!0 t1;eksR!0 t2;eksR!0 tn=bt0c
der n 1, og der symbolet ;op pR!0 står for bruk av én av de opprinnelige reglene i R0 og;eksR!0 står for bruk av en ekstraregel. Siden vi i R00 ikke har fjernet noen av de opprinnelige reglene i R0 og fordi enhver fw i bådebtc og R0opp erstattes med en fw i
btc og R00opp gjelder
btc;op pR!00 t1
Det er opplagt at dersom ti;eksR!0 ti+1 så er enten ti;eksR!00 ti+1 eller ti = ti+1 for alle termer ti;ti+12T(F;V ). Dette kommer av vi bare har fjernet ekstraregler som ikke forandrer på noe som helst i R00. Dermed kan ovenstående sekvens bli til
btc;oppR!00 t1eks;R!0 0 t2 eks;R!00 tn =bt0c
Siden vi harbtc;op pR!00 t1 inneholder ovenstående sekvens minst ett omskrivningssteg og kan derfor skrives på den ønskede formen
btc;R+!0 0 bt0c
2
7.2.2 Terminering av
RSiden hF;b c;R00i er en speiling av h ;Ri er det tilstrekkelig å vise at R00 terminerer når TT2-mpo-betingelsene i g. 7.1 er oppfylt for å fastslå terminering R.
Følgende lemma, som såvidt er nevnt (uten bevis) i kapittel 2, vil vise seg være nyttig:
Lemma 7.2
8t2T(F;V )jtmpotBevis:
Beviset er ved induksjon på oppbygning av termen t.t
variabel:
Dersom t = x er også t = x og x%mpox følger av regel mpo-3 siden xF x og;%multimpo ; ved regelmulti-1.t
konstant eller sammensatt term:
Anta at t = f(t1;:::;tn) der n 0. Da er t = f(t1;:::;tn) og induksjonshypotesen gir oss timpoti for alle i. Der-som n > 0 gir multi-2 brukt n ganger at ft1;:::;tng%multimpo ft1;:::;tng og n nye tilfeller av multi-2 gir ft1;:::;tng%multimpo ft1;:::;tng. Hvis n = 0 er;%multimpo ;. Siden fFf gir regelmpo-3både f(x1;:::;xn)%mpof(t1;:::;tn) og f(t1;:::;tn)%mpof(t1;:::;tn) som gir ønskede tmpot.
2
Det er da trivielt å vise
Lemma 7.3
For alle termer t;t0 i T(F;V )gjelder tmpot0=)tmpot0hvor t er termen tder alle funksjonssymboler fw er erstattet medfw.
7.3 Generalisering av TT2
Bevis:
Følger trivielt av lemma 7.2 og egenskaper ved kvasiordninger siden tmpotmpot0mpot0.2Jeg kan nå vise korrekthet av TT2-mpo-metoden.
Teorem 7.4 (Korrekthet av TT2-
mpo)
Gitt en preregulær typeordnet signatur der ingen type har et uendelig antall typer under seg. Anta atR er et typeminskende omskriv-ningssystem iog atF ogbc er denert som i kapittel 6. La så %F være en kvasiordning overF slik at w0< w^fw;fw0 2F =)fw%Ffw0 og anta atblcmpo(%F)brc gjelder for alle regelspesialiseringerl;!ri R.Da terminererRdersom enten R ellerer endelig eller %F er velfundert.
Bevis:
Dersom R00 beskrevet tidligere i dette kapittel terminerer, gir teorem 6.5 at R terminerer.R00 består av en mengde opprinnelige regler
fblc;!brc j l;!r regelspesialisering i Rg og en mengde ekstraregler
ffw(x1;:::;xn);!fw0(x1;:::;xn) j w0 < w ^fw;fw0 2 F ^fw 6= fw0g. Kravet
blcmpo(%F)brc og lemma 7.3 gir blcmpo(%F)brc for alle opprinnelige reg-ler i R00 og kravene fw%F fw0 og fw6= fw0 gir fwFfw0 og følgelig
fw(x1;:::;xn)mpo(%F)fw0(x1;:::;xn) for alle ekstrareglene i R00. Alle reglene i R00 er dermed inneholdt i mpo(%F). Hviser endelig, er også F endelig og siden mpo(%F) er en forenklingsordning så terminerer R00. Når %F er velfundert er også mpo(%F)
velfundert og da terminerer også R00. I det siste tilfellet, nemlig at R er endelig, er enhver sekvens t1;R!0 0 t2;R!00 av grunntermer bygget opp av en endelig mengde funksjonssymboler2, slik at en uendelig sekvens av disse termene ville vært selvomslut-tende. Denne selvomsluttende sekvensen kan ikke nnes da;R!00 mpo(%F) .
I alle tre tilfellene terminerer R00og følgelig ogsåR.2
7.3 Generalisering av TT2
Metoden TT2-mpo kan generaliseres til å kunne brukes på alle utypede termineringsord-ninger, ved at man gir symbolene fw og fw0 lik vekt/verdi innenfor ordningen. Man må da huske på at alle F-funksjonssymbolene fw00 der w0 < w00 < w også blir tilordnet denne samme vekten. Når w0< w og symbolene fw og fw0 ikkehar samme vekt, må man også sikre at ekstraregelen fw(x1;:::;xn);!fw0(x1;:::;xn) er-minskende.
Det kan forøvrig bemerkes at forandringen fra TT1 til TT2 tok utgangspunkt i ulemper ved stiordningene. SpeilingenhF;bc;R00ier faktisk svakere enn TT1-speilingenhF;bc;R0i i termineringshenseende siden R0 alltid terminerer når R00 gjør det. For andre klasser av ordninger kan det derfor være aktuelt med andre forbedringer av TT1-speilingen, men TT2-metoden er alltid minst like sterk som TT0- og TT1-metodene for alle ordninger.
2noe som kan vises på samme måte som for TT1