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