Termersetzungsysteme SS 2014 Übungsblatt 5 Abgabe der Lösungen: 21.05.2014 Aufgabe 1 Polynomielle Interpretation (5 Punkte) Betrachten Sie das folgende TES über Σ = {o : 0 → 1, s : 1 → 1, + : 2 → 1, ∗ : 2 → 1}: o+x→ s(x) + y → o∗x→ s(x) ∗ y → x s(x + y) o y + (x ∗ y) 1. Beweisen Sie (SN) mittels einer polynomiellen Interpretation. 2. Beweisen Sie (SN) für das gleiche TES, nun mit der letzten Regel durch s(x)∗y → (x∗y)+y ersetzt. Hinweis: Den Begriff der Polynomiellen Interpretation“ darf man hier notfalls mit weiteren ” passenden mathematischen Funktionen wie z.B. Potenzierung erweitern, so lange die Funktionen weiterhin monoton sind und auf den natürlichen Zahlen bzw. einer geeigneten Teilmenge derselben leben. Aufgabe 2 Eigenschaften der rekursiven Pfadordnung (5 Punkte) Erinnern Sie sich an die folgenden Ableitungsregeln für die rekursive Pfadordnung: f (t1 , . . . , tn ) rpo ti (emb) ti rpo s (weak) f (t1 , . . . , tn ) rpo s t rpo u u rpo s (tran) rpo t s f g ∀i. f (t1 , . . . , tn ) rpo si (prec) f (t1 , . . . , tn ) rpo g(s1 , . . . , sm ) ∀i. f (t1 , . . . , tn ) rpo si ht1 , . . . , tn i rpo f hs1 , . . . , sn i f (t1 , . . . , tn ) rpo f (s1 , . . . , sn ) (rec) Wir sagen, dass f : n → 1 Multiset-Status hat, wenn hx1 , . . . , xn i >f hy1 , . . . , yn i g.d.w. {x1 , . . . , xn } >mul {y1 , . . . , yn }. Wir sagen, dass ein TES (Σ, R) rpo-terminierend ist, wenn s rpo t für alle (s → t) ∈ R. TES, SS 2014 1. Beweisen Sie, dass, wenn ein Funktionssymbol f : n → 1 Multiset-Status hat, man die Regel (rec) wie folgt vereinfachen kann, ohne die Bedeutung von rpo zu ändern: {t1 , . . . , tn } rpo mul {s1 , . . . , sn } (rec−mult) f (t1 , . . . , tn ) rpo f (s1 , . . . , sn ) 2. Sei (Σ, R) ein rpo-terminierendes TES. Beweisen Sie, dass das TES (Σ, R ∪ R0 ) auch rpoterminierend ist, sobald für alle (s → t) ∈ R0 gilt, dass s →+ emb t. Hier bedeutet s →emb t, dass s = C[D[r]] und t = C[r] für geeignete C, D und r. Aufgabe 3 Beweise mit der rekursiven Pfadordnung(5 Punkte) Lösen Sie Aufgabe 1 erneut, nun aber mittels der rekursiven Pfadordnung statt polynomieller Interpretationen. Danach ersetzen Sie die letzte Reduktionsregel durch s(x) ∗ y → y + (y ∗ x) und beweisen Sie (SN) für das so abgeänderte System. Aufgabe 4 Partielle Ableitungen in Maude (5 Punkte) Implementieren Sie den Kalkül partieller Ableitungen aus Aufgabe 1, Übungsblatt 1 in Maude. Sie können die folgende Vorlage als Einstiegspunkt dafür verwenden: 1 2 fmod DIFF is protecting NAT . --- eingebaute nat ü rliche Zahlen sort Var Term . subsort Nat < Term . subsort Var < Term . --- nat ü rliche Zahlen sind Terme --- D i f f e r e n z i e r u n g s v a r i a b l e n sind Terme 3 4 5 6 7 8 9 10 ops x y z : -> Var . --- drei fest kodierte Variablen --- zum Differenzieren op part__ : Var Term -> Term . --- D i f f e r e n z i e r u n g s o p e r a t o r 11 12 endfm Links [1] Maude System Website, http://maude.cs.uiuc.edu/. [2] Maude Manual (Version maude-manual.html. 2.5), http://maude.cs.uiuc.edu/maude2-manual/html/ [3] Maude Manual (Version 2.5): Running Maude, http://maude.cs.uiuc.edu/ maude2-manual/html/maude-manualch2.html#x13-240002.2 [4] Maude Manual (Version 2.5): Complete List of Maude Commands, http://maude.cs.uiuc. edu/maude2-manual/html/maude-manualch18.html#x96-25200018 2