Grundlagen der Logik und Logikprogrammierung
Grundlagen der Logik und Logikprogrammierung
Grundlagen der Logik und Logikprogrammierung
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Unifikatoren sind abgeschlossen über <strong>der</strong> Spezialisierung, d.h. eine Spezialisierung eines Unifikators ist<br />
selbst wie<strong>der</strong> ein Unifikator.<br />
σ P UnifpSq ñ στ P UnifpSq<br />
Dies können wir nutzen, um alle Unifikatoren einer Gleichung zu finden, wenn wir einen allgemeinsten<br />
Unifikator gef<strong>und</strong>en haben. Diesen allgemeinsten Unifikator müssen wir dann nur noch mit Spezialisierungen<br />
versehen, <strong>und</strong> erhalten daraus alle Unifikatoren.<br />
Definition: Allgemeine Unifikatoren<br />
σ 1 ist allgemeiner als σ 2 , wenn eine Substitution τ existiert mit σ 1 τ “ σ 2 , also wenn σ 2 durch eine<br />
Spezialisierung aus σ 1 hervorgeht.<br />
»σ ist <strong>der</strong> allgemeinste Unifikator von S« sei definiert als: @σ 1 P Unif(S): σ ist allgemeiner als σ 1 .<br />
Man schreibt: σ “ mgupSq („most general unifyer“).<br />
Lemma 6.<br />
σ “ mgupSq ñ UnifpSq “ tστ|τ Subst. u<br />
Kennt man den allgemeinsten Unifikator von S, so kann man durch Spezialisierungen alle an<strong>der</strong>en<br />
Unifikatoren bestimmen.<br />
Behauptung: Der mgu ist eindeutig bis auf eindeutige injektive Umbenennung von Variablen, d.h.<br />
σ, σ 1 sind mgu von S ñ es existiert τ : σ 1 “ στ mit den Eigenschaften:<br />
• τ ist eindeutig bestimmt auf V arspσq “ Ť xPV ars V arspσpxqq<br />
• τ ist injektiv auf V arspσq.<br />
TODO: den beweis nochmal durchchecken<br />
Beweis: Eindeutigkeit des mgu bis auf Umbenennung<br />
τ existiert, da σ ein mgu <strong>und</strong> σ 1 Unifikator, ebenso existiert τ 1 mit σ 1 τ 1 “ σ.<br />
(i) τ eindeutig auf x P V arspσpyqq, wenn auch σ 1 “ στ, dann<br />
σpyqτ “ σ 1 pyqτ, also notwendig τpxq “ τpxq<br />
(ii) τ injektiv auf V arspσq. Mit (i) insbeson<strong>der</strong>e<br />
στ 0 “ σ ñ τ 0 pxq “ x für alle x P V arspσq (2)<br />
Nach (2) folgt aus σττ 1 “ σ, dass τ 1 τpxq “ x für alle x P V arspxq, also falls τpxq “ τpyq für<br />
x, y P V arspσq, so gilt x “ ττ 1 pxq “ τ 1 τpyq “ y ̌<br />
Damit ist die Eindeutigkeit in <strong>der</strong> Semantik gezeigt, Umbenennung von Variablen ist aber trotzdem<br />
möglich.<br />
Beweis <strong>der</strong> Existenz eines mgu durch Angabe eines Algorithmus, <strong>der</strong> einen solchen mgu findet, z.B.<br />
Robinson:<br />
TODO: fix indentation and some formulas TODO: also the labels (1)-(3) are really overlookable<br />
20