04.11.2014 Aufrufe

Grundlagen der Logik und Logikprogrammierung

Grundlagen der Logik und Logikprogrammierung

Grundlagen der Logik und Logikprogrammierung

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!