Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Skript (Fassung vom 4.4.2011) - Lehr- und Forschungsgebiet ...
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
• t| ǫ = t <strong>und</strong><br />
• f(t 1 ,...,t n )| iπ = t i | π .<br />
Für einen Term t mit π ∈ Occ(t) <strong>und</strong> einen Term r bezeichnet t[r] π den Term, der aus<br />
t durch Ersetzen von t| π durch r entsteht, d.h.<br />
• t[r] ǫ = r <strong>und</strong><br />
• f(t 1 ,...,t n )[r] iπ = f(t 1 ,...,t i [r] π ,...,t n ).<br />
Für zwei Stellen π 1 ,π 2 ∈ Occ(t) sagen wir dass π 1 unterhalb von π 2 ist (π 1 > IN ∗ π 2 )<br />
gdw. π 2 ein echtes Anfangsstück von π 1 ist, d.h. π 1 = π 2 π für ein π ∈ IN + . Zwei Stellen<br />
π 1 ,π 2 sind voneinander unabhängig (π 1 ⊥π 2 ) gdw. weder π 1 > IN ∗ π 2 noch π 2 > IN ∗ π 1 noch<br />
π 1 = π 2 gilt.<br />
Beispiel 3.1.6 Betrachten wir den Term t = plus(succ(plus(O,succ(O))),succ(O)). Dann<br />
haben wir<br />
Occ(t) = {ǫ,1,11,111,112,1121,2,21}<br />
<strong>und</strong><br />
Damit ergibt sich<br />
t| ǫ = plus(succ(plus(O,succ(O))),succ(O))<br />
t| 1 = succ(plus(O,succ(O)))<br />
t| 112 = succ(O)<br />
t| 21 = O<br />
t[times(O,O)] 112 = plus(succ(plus(O,times(O,O))),succ(O)).<br />
Wir haben 112 > IN ∗ 11 > IN ∗ 1 <strong>und</strong> 111⊥112.<br />
Ist eine Gleichung s ≡ t in einer Algebra A gültig, so gilt dies auch für jede Einbettung<br />
der Terme s <strong>und</strong> t in Kontexte, d.h., auch Gleichungen der Form q[s] π ≡ q[t] π sind dann<br />
gültig.Ebenso verhält essichmit derRelation≡ E ,d.h., ≡ E istnicht nur abgeschlossen unter<br />
Substitutionen, sondern auch abgeschlossen unter Kontexten. Solche Relationen bezeichnet<br />
man auch als monoton.<br />
Definition 3.1.7 (Monotonie) Eine Relation → über Termen heißt monoton, wenn für<br />
alle Terme t 1 ,t 2 ,q <strong>und</strong> alle π ∈ Occ(q) aus t 1 → t 2 folgt, dass auch q[t 1 ] π → q[t 2 ] π gilt.<br />
Ähnlich zur strukturellen Induktion über Terme kann man strukturelle Induktion auch<br />
über Stellen führen, denn die Datenstruktur der Stellen IN ∗ ist ebenfalls induktiv definiert.<br />
Wenn man eine Aussage ϕ(π) für alle Stellen zeigen will, so kann man wie folgt vorgehen:<br />
Im Induktionsanfang zeigt man, dass die Aussage für die oberste Stelle ǫ gilt. Im Induktionsschluss<br />
muss man beweisen, dass die Aussage für alle Positionen der Gestalt iπ ′ gilt. Als<br />
Induktionshypothese darf man nun jeweils voraussetzen, dass die Aussage für die “kürzere”<br />
Stelle π ′ gilt. Dieses Beweisprinzip ist korrekt, weil es direkt der Definition der Stellen IN ∗<br />
folgt, d.h., IN ∗ ist die kleinste Menge mit