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.
Das bedeutet, dass auch k Variablen aus {x 1 ,...,x n } nicht in {y 1 ,...,y n } auftreten.<br />
Diese Variablen seien x j1 ,...,x jk . Um ρ zu eine Variablenumbenennung δ zu erweitern,<br />
fügen wir nun die Variablen y i1 ,...,y ik dem Domain hinzu. Damit die entstehende Substitution<br />
injektiv wird, müssen wir diese Variablen auf solche Variablen abbilden, auf die<br />
bislang keine Variable aus dem Domain abgebildet wird. Daher werden die neuen Variablen<br />
y i1 ,...,y ik auf die Variablen x j1 ,...,x jk abgebildet. Die genaue Zuordnung von y il zu x jd<br />
ist unerheblich, solange jedes x jd genau einem y il zugeordnet wird. Wir definieren daher<br />
z.B.<br />
δ = ρ∪{y i1 /x j1 ,...,y ik /x jk } = {x 1 /y 1 ,...,x n /y n ,y i1 /x j1 ,...,y ik /x jk }.<br />
Um diese Konstruktion an einem Beispiel zu illustrieren, sei σ = {v/u,w/v} <strong>und</strong><br />
σ ′ = {u/v}. Es existieren Substitutionen ρ <strong>und</strong> ρ ′ mit σ ′ = σρ <strong>und</strong> σ = σ ′ ρ ′ , nämlich<br />
ρ = {u/v,v/w} <strong>und</strong> ρ ′ = {v/u,w/v}. Die Substitutionen ρ <strong>und</strong> ρ ′ sind aber nicht injektiv<br />
<strong>und</strong>daher keine Variablenumbenennungen. Beispielsweise gilt vρ = w = wρ<strong>und</strong>v ≠ w. Für<br />
die Substitution ρ existiert eine Variable y i1 (nämlich w), die zwar für eine andere Variable<br />
substituiert wird, aber selbst nicht in DOM(ρ) auftritt. Ebenso existiert daher auch eine<br />
Variable x j1 (nämlich u), die bisher nicht auf der rechten Seite eines Substitutionspaars von<br />
ρ auftritt. Wir bilden daher aus ρ die Variablenumbenennung δ, indem wir ρ um das Substitutionspaar<br />
w/u ergänzen. So ergibt sich die Variablenumbenennung δ = {u/v,v/w,w/u},<br />
für die weiterhin σ ′ = σδ gilt.<br />
In unserem Beweis müssen wir nun die folgenden Aussagen im allgemeinen Fall zeigen:<br />
σ ′ = σδ (5.3)<br />
xδ ∈ V für alle x ∈ V (5.4)<br />
Aus uδ = vδ folgt u = v für alle u,v ∈ V. (5.5)<br />
Die Aussage (5.3) ergibt sich, da für alle x ∈ VRAN(σ) immer xδ = xρ gilt. Der<br />
Gr<strong>und</strong> ist, dass sich δ von ρ nur auf den Variablen y i1 ,...,y ik unterscheidet. Es gilt jedoch<br />
y il ∉ VRAN(σ), denn ansonsten hätte man x il ρ = y il <strong>und</strong> y il ρ = y il im Widerspruch zur<br />
Injektivität von ρ auf VRAN(σ), vgl. (5.2).<br />
DieAussage (5.4)ergibt sich, daallex i <strong>und</strong>alley i Variablensind(nach(5.1)).DieInjektivität(Aussage5.5)zeigtmanwiefolgt:Fallsu,v<br />
∈ DOM(δ)sind,sofolgtdieAussagedaraus,<br />
dass die rechten Seiten der Substitutionspaare (d.h., die Variablen y 1 ,...,y n ,x j1 ,...,<br />
x jk ) paarweise verschieden sind. Falls u,v ∉ DOM(δ) sind, so folgt die Aussage trivialerweise.<br />
Falls nun u ∈ DOM(δ) <strong>und</strong> v ∉ DOM(δ) sind, so gilt nach der Definition von δ auch<br />
uδ ∈ DOM(δ) <strong>und</strong> vδ = v ∉ DOM(δ). Dann können aber uδ <strong>und</strong> vδ nicht gleich sein. Der<br />
Fall u ∉ DOM(δ) <strong>und</strong> v ∈ DOM(δ) ist analog.<br />
✷<br />
Im Beispiel gibt es tatsächlich eine Variablenumbenennung δ mit σ = σ 3 δ <strong>und</strong> σ 3 = σδ,<br />
nämlich δ = {x/z,z/x}.<br />
Es wird sich herausstellen, dass jedes lösbare Unifikationsproblem auch allgemeinste<br />
Unifikatoren besitzt. Mit einem allgemeinsten Unifikator σ kann man dann die (potentiell<br />
unendliche) Menge der Lösungen des Unifikationsproblems endlich repräsentieren. Die<br />
Unifikatoren sind gerade alle Spezialisierungen von σ, d.h., σ <strong>und</strong> alle Substitutionen, die<br />
weniger allgemein als σ sind.