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 ...
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Definition 3.1.1 (Substitution <strong>und</strong> Matching) Eine Abbildung σ : V → T(Σ,V)<br />
heißt Substitution gdw. σ(x) ≠ x nur für endlich viele x ∈ V gilt. SUB(Σ,V) bezeichnet<br />
die Menge aller Substitutionen über Σ <strong>und</strong> V <strong>und</strong> id ∈ SUB(Σ,V) ist die identische<br />
Substitution (d.h., id(x) = x für alle Variablen x ∈ V).<br />
DOM(σ) = {x ∈ V |σ(x) ≠ x} heißt der Domain von σ. Da DOM(σ) endlich ist, ist<br />
die Substitution σ als die endliche Menge von Paaren {x/σ(x)|x ∈ DOM(σ)} darstellbar.<br />
Die Substitution σ ist eine Gr<strong>und</strong>substitution gdw. σ(x) ∈ T(Σ) für alle x ∈ DOM(σ).<br />
Substitutionen werden homomorph zu Abbildungen σ : T (Σ,V) → T(Σ,V) erweitert,<br />
d.h. σ(f(t 1 ,...,t n )) = f(σ(t 1 ),...,σ(t n )).<br />
Für zwei Terme s,t sagen wir, dass der Term s den Term t matcht, falls es eine Substitution<br />
σ gibt mit σ(s) = t. Die Substitution σ heißt dann ein Matcher von s <strong>und</strong> t.<br />
Für x ∗ = x 1 ...x n ∈ V ∗ mit x i ≠ x j für i ≠ j <strong>und</strong> t ∗ = t 1 ...t n ∈ T (Σ,V) ∗ schreiben wir<br />
oft {x ∗ /t ∗ } als Kurzschreibweise für die Substitution {x 1 /t 1 ,...,x n /t n }. Weiterhin schreibt<br />
man Substitutionen auch oft hinter den Term, auf den sie angewendet werden, d.h., tσ<br />
steht für σ(t).<br />
Beispiel 3.1.2 Wir betrachten wieder die Signatur von Bsp. 2.1.2. Ein Beispiel für eine<br />
Substitution ist σ = {x/plus(x,y),y/O,z/succ(z)}. Man erhält dann<br />
σ(plus(x,y)) = plus(x,y)σ = plus(plus(x,y),O).<br />
Der Term plus(x,y) matcht daher den Term plus(plus(x,y),O) <strong>und</strong> die Substitution σ ist<br />
ein Matcher.<br />
Ist eine Gleichung s ≡ t in einer Algebra A gültig, so gilt dies auch für jede Instanz<br />
sσ ≡ tσ der Gleichung. Die Gleichung gilt also unabhängig davon, welche Elemente des<br />
Trägers den Variablen zugewiesen werden. Die Variablen in s <strong>und</strong> t sind daher implizit<br />
allquantifiziert. Damit bleibt die Gültigkeit einer Gleichung erhalten, wenn Variablen durch<br />
beliebige Terme ersetzt werden. Ebenso verhält es sich mit der Relation ≡ E , d.h., ≡ E ist<br />
abgeschlossen oder stabil unter Substitutionen.<br />
Definition 3.1.3 (Stabilität) Eine Relation → über Termen (d.h., →⊆ T (Σ,V)×T (Σ,<br />
V) heißt stabil oder abgeschlossen unter Substitutionen, wenn für alle Terme t 1 ,t 2 <strong>und</strong> alle<br />
Substitutionen σ aus t 1 → t 2 folgt, dass auch t 1 σ → t 2 σ gilt.<br />
DasfolgendeLemma beschreibt dieobengenanntenZusammenhänge zwischen demsyntaktischen<br />
Begriff “Substitution” <strong>und</strong> dem semantischen Begriff “Variablenbelegung”. Zum<br />
Beweis verwenden wir eine strukturelle Induktion über Terme. Diesist möglich aufgr<strong>und</strong>der<br />
induktiven Definition von Termen (Def. 2.1.3). Wenn man eine Aussage ϕ(t) für alle Terme<br />
t ∈ T(Σ,V) zeigen will, so kann man wie folgt vorgehen: Im Induktionsanfang zeigt man,<br />
dass die Aussage für alle Variablen gilt (d.h. ϕ(x) muss für alle x ∈ V bewiesen werden)<br />
<strong>und</strong> dass die Aussage auch für alle Konstanten gilt (d.h. ϕ(c) muss für alle c ∈ Σ 0 gelten).<br />
Im Induktionsschluss muss man beweisen, dass die Aussage für alle Terme der Gestalt<br />
f(t 1 ,...,t n ) (für alle Funktionssymbole f ∈ Σ n mit n > 0 <strong>und</strong> alle t 1 ,...,t n ∈ T(Σ,V))