• Keine Ergebnisse gefunden

Ubungen ¨ Termersetzungssysteme – Blatt 9

N/A
N/A
Protected

Academic year: 2021

Aktie "Ubungen ¨ Termersetzungssysteme – Blatt 9"

Copied!
3
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

RHEINISCH- WESTF¨ALISCHE TECHNISCHE HOCHSCHULE AACHEN

LEHR- UND FORSCHUNGSGEBIET INFORMATIK II

RWTH Aachen·D-52056 Aachen·GERMANY http://www-i2.informatik.rwth-aachen.de/lufgi2

LuFG Informatik II

Prof. Dr. J¨urgen Giesl Ren´e Thiemann

Ubungen ¨ Termersetzungssysteme – Blatt 9

Abgabe am Mittwoch, den 30.6.2004, zu Beginn der ¨Ubung.

Aufgabe 1

(4+4,5 Punkte)

Eine Erweiterung der LPO ist die LPOS (LPO mit Status), bei der man zus¨atzlich zur Pr¨azendenz A einen Status τ angibt, der jedem n-stelligen Funktionssymbol f eine Permutation πf ¨uber {1, . . . , n} zuordnet. Also gilt τ(f) = πf = hj1, . . . , jni mit {j1, . . . , jn} = {1, . . . , n}. In der LPOS werden dann die Argumente von f im Fall 3) nicht wie bei der LPO immer von links nach rechts, sondern in der von πf festgelegten Reihenfolge verglichen.

Sei nunAeine Pr¨azedenz undτ ein Status. Dann gilts lpos tgdw.s=f(s1, . . . , sn), τ(f) =hj1, . . . , jniund eine der folgenden Aussagen zutrifft.

1) si lpos t f¨ur eini∈ {1, . . . , n}

2) t=g(t1, . . . , tm), f Ag und slpos ti f¨ur allei∈ {1, . . . , m}

3) t=f(t1, . . . , tn) und es ex. ein i∈ {1, . . . , n}, so dass sj1 =tj1, . . . , sji

1 =tji

1, sji lpos tji, slpos tji+1, . . . , slpos tjn

Wie ¨ublich bezeichnet lpos den reflexiven Abschluss von lpos.

a) Beweisen Sie die Transitivit¨at von lpos. Hinweise: Zeigen Sie zun¨achst, dass wenn s lpos t = g(t1, . . . , tm) wegen Fall 2) oder 3) gilt, dann auch s lpos ti f¨ur alle i ∈ {1, . . . , m} gilt. Benutzen Sie dann Induktion ¨uber B3lex f¨ur die eigentliche Aussage.

b) Beweisen Sie die Terminierung der folgenden zwei TES. Nutzen Sie, wenn m¨oglich, die LPO, sonst die LPOS.

Zusatzpunkte f¨ur die Transitivit¨at

(2)

ack(0, y) → s(y)

ack(s(x),0) → ack(x,s(0))

ack(s(x),s(y)) → ack(x,ack(s(x), y))

plus(x,0) → x

plus(x,s(y)) → plus(s(x), y) times(x, y) → t(x,0, y)

t(0, y, z) → y t(x, y,0) → y

t(s(x), y, z) → t(x,plus(y, z), z) t(x, y,s(z)) → t(x,plus(x, y), z)

Aufgabe 2

(3+5,5 Punkte)

Eine andere Erweiterung der LPO ist die QLPO, in der Quasi-Pr¨azedenzen erlaubt werden. Die Idee dabei ist es, manche Funktionssymbole als gleichwertig in ihrer Pr¨azedenz zu behandeln. Formal ist eine Quasi-Pr¨azendenz w eine reflexive und transitive Relation ¨uber den Funktionssymbolen. Die strikte Relation A ist dann definiert als f Ag gdw. f wg und g 6wf gilt. Zwei Funktionssymbole f und g sind

¨aquivalent (f ≡ g) gdw. f w g und g wf gilt. Wir erlauben hier nur ¨Aquivalenzen zwischen Symbolen gleicher Stelligkeit.

Zur Repr¨asentation einer Quasi-Pr¨azedenz eignet sich eher die Sichtweise einer (nicht- quasi) Pr¨azedenz A ¨uber ≡- ¨Aquivalenzklassen der Signatur. Dann w¨urde z.B. die Quasi-Pr¨azendenz {f1 ≡ f2} A {g1 ≡ g2 ≡ g3} A {h} bedeuten, dass alle fi zu- einander ¨aquivalent sind, also in ≡-Beziehung stehen, genauso wie alle gj Symbole

¨aquivalent sind. Desweiteren gilt die strikte Beziehung fi A gj A h f¨ur beliebige i und j.

Um nun die QLPO zu definieren ben¨otigen wir zun¨achst eine ¨Aquivalenzrelation ∼

¨uber Termen. Es gilt s∼t gdw.

• s=t oder

• s=f(s1, . . . , sn), t=g(t1, . . . , tn), f ≡g und si ∼ti f¨ur allei∈ {1, . . . , n}

F¨ur zwei Terme s und t bedeutet s ∼ t also, dass sich s von t nur dadurch unter- scheidet, dass man manche Funktionssymbole f durch andere Funktionssymbole g mit f ≡g ersetzt hat.

Sei nun w eine beliebige, aber feste Quasi-Pr¨azedenz. Dann gilt s qlpo t gdw. s = f(s1, . . . , sn) und eine der folgenden Aussagen zutrifft.

(3)

1) si %qlpot f¨ur eini∈ {1, . . . , n}

2) t=g(t1, . . . , tm), f Ag und sqlpoti f¨ur allei∈ {1, . . . , m}

3) t=g(t1, . . . , tn), f ≡g und es ex. ein i∈ {1, . . . , n}, so dass s1 ∼t1, . . . , si1 ∼ti1, si qlpoti, sqlpoti+1, . . . , sqlpotn

Hierbei bezeichnet %qlpo = qlpo ∪ ∼.

a) Beweisen Sie die Monotonie von qlpo.

b) Beweisen Sie die Terminierung der folgenden zwei TES. Nutzen Sie, wenn m¨oglich, die LPO, sonst die QLPO.

plus(x,s(y)) → s(add(x, y)) plus(x,0) → x

add(s(x), y) → plus(x,s(y)) add(0, y) → y

not(true) → false not(false) → true

even(s(x)) → not(odd(x)) even(0) → true

odd(s(x)) → not(even(x)) odd(0) → false

Aufgabe 3

(3+4 Punkte)

Geben Sie eine sinnvolle Definition der QLPOS an, die auf einer Quasi-Pr¨azedenz und einem Status basiert, die also beide Erweiterungen aus Aufgabe 1 und 2 vereinigt.

Beweisen Sie dann die Terminierung des folgenden TES mitqlpos.

plus(s(x), y) → s(plus(x, y)) plus(0, y) → y

add(x,0) → x

add(x,s(y)) → add(s(x), y) plus(x,s(y)) → add(y, x)

add(s(x), y) → plus(y, x)

plus(add(x, y), z) → add(plus(x, z), y)

Referenzen

ÄHNLICHE DOKUMENTE

Eine weitere n¨utzliche Klasse von Reduktionsordnungen f¨ur den automatischen Ter- minierungsbeweis ist die Klasse der Polynomordnungen. Betrachten wir die erste Regel des TES

Ein Matching-Problem M ist in gel¨ oster Form gdw. Die Regeln sollten nicht nur - wie bei der Unifikation - auf Mengen operieren, sondern sie k¨onnen auch zum Ergebnis ⊥ f¨uhren,

c) Wahrscheinlich ist Ihre Konstruktion aus Teil a) ungeeignet, um die Unent- scheidbarkeit der Terminierung eines TES zu beweisen. Der Grund ist, dass auch

Bei der innermost-Auswertung sind kritische Paare nur an der Wurzelposition interessant, da jeder Term, der einen Redex als echten Teilterm hat, nicht an der Wurzel reduziert

• Auch mit der obigen Einschr¨ankung m¨ussen immerhin 16 kritische Paare ge- bildet werden (insgesamt sind

RHEINISCH- WESTF¨ ALISCHE TECHNISCHE HOCHSCHULE AACHEN. LEHR- UND FORSCHUNGSGEBIET

Erg¨anzen Sie dazu die rechten Seiten der folgenden Regeln f¨ ur den Ableitungsoperator D. D ( X

RHEINISCH- WESTF¨ ALISCHE TECHNISCHE HOCHSCHULE AACHEN. LEHR- UND FORSCHUNGSGEBIET