Variablen-Umbenennungen
Ziel: Beschreibung der Wahlfreiheit f ¨ur allgemeinste Unifikatoren Gezeigt: Ein allgemeinster Unifikator kann gefunden werden.
Frage: Wie sehen die anderen aus?
Definition 1. EineVariablen-Umbenennungist eine Substitution der FormΘ = {x1/y1,. . .,xn/yn}, wobeiy1,. . .,ynVariablen sind.
Satz 1(Eindeutigkeit des allgemeinsten Unifikators). F ¨ur jede Literalmenge gibt es bis auf Variablen-Umbenennungen nur einen allgemeinsten Unifikator. Das heißt:
SindΘ1undΘ2 allgemeinste Unifikatoren einer LiteralmengeM, dann gibt es eine Variablen-UmbenennungΘ˜ mitΘ2=Θ1Θ˜.
Beweis. Es seienΘ1undΘ2allgemeinste Unifikatoren der LiteralmengeM.
• Nach der Definition allgemeinster Unifikatoren gibt es dann Substitutio- nen ˜Θ1und ˜Θ2mitΘ1=Θ2Θ˜2undΘ2=Θ1Θ˜1. Damit gilt also auch
Θ1=Θ2Θ˜2=Θ1Θ˜1Θ˜2 (∗)
• Es seiV1=S
xVariableV(xΘ1), also die Menge der Variablen, die im Bild vonΘ1vorkommen. Gleichung (∗) impliziert, dassxΘ˜1Θ˜2 =xf ¨ur jedes x∈V1. Insbesondere istxΘ˜1eine Variable f ¨ur jedesx∈V1.
• Wir definieren:
xΘ˜ =
xΘ˜1 fallsx∈V1
x sonst
Man beachte, dass dann ˜Θeine Variablen-Umbenennung ist. Außerdem stimmtT heta˜ mit ˜Θ1auf allen Variablen inV1 ¨uberein. Deshalb gilt:
Θ1Θ˜ =Θ1Θ˜1=Θ2.
Pr¨adikatenlogische Resolution
Ziel Verallgemeinerun aussagenlogischer Resolution auf Pr¨adikatenlogik.
Naiver Ansatz Aussagenlogische Resolution f ¨ur Herbrand-Expansion durchf ¨uhren.
Nachteil dabei Erfordert Raten der richtigen Grundsubstitution am Anfang.
Pr¨adikatenlogische Resolution arbeitet daher direkt mit Klauseln, die noch Variablen enthalten.
1
Definition 2(Pr¨adikatenlogische Resolvente). Es seienK1,K2pr¨adikatenlogische Klauseln undΘ1,Θ2Variablen-Umbenennungen, so dassK1Θ1undK2Θ2disjunkte Variablenmengen haben.
Falls es LiteraleL1,. . .,Lm∈K1Θ1undL10,. . .,Ln0 ∈K2Θ2gibt, so dass {L1,. . .,Lm,L10,. . .,Ln0}
unifizierbar ist mit allgemeinstem UnifikatorΘ, dann heißt
R:= (K1Θ1\ {L1,. . .,Lm})∪(K2Θ2\ {L10,. . .,Ln0}) Θ
pr¨adikatenlogische Resolvente vonK1undK2. Beispiel:
{p(f(x)),¬q(z),p(z)} {¬p(x),r(g(x),a)}
{x/y}
{¬p(y),r(g(y),a)}
{z/f(x),y/f(x)}
{¬q(f(x)),r(g(f(x)),a)} In diesem Fall ist
K1={p(f(x)),¬q(z),p(z)}, K2={¬p(x),r(g(x),a)}, Θ1={},
Θ2={x/y},
Θ={z/f(x),y/f(x)},
R={¬q(f(x)),r(g(f(x)),a)}.
Definition 3(Herleitung). Es seienΣeine Menge von Klauseln undKeine Klausel.
Eine FolgeK1,. . .,Knvon Klauseln mitKn ≡Kist eineHerleitung vonKausΣ, in ZeichenΣ`ResK, falls f ¨ur16k6n:
(i) Kk∈Σoder
(ii) es gibti,j < k, so dassKkpr¨adikatenlogische Resolvente vonKiundKjist.
Satz 2(Korrektheit und Widerlegungsvollst¨andigkeit, Robinson). Es seiA ≡
∀x1· · · ∀xnBgeschlossen und in Skolemform, wobeiBin KNF ist. Dann istAun- erf ¨ullbar genau dann, wennB`Rest.
Bemerkungen zum Satz:
Korrektheit Ahnlich zum aussagenlogischen Fall¨
2
Widerlegungsvollst¨andigkeit Zu einer HerleitungK10,. . .,Kn0 aus Klauseln von Formeln inE(A)mittels aussagenlogischer Resolution konstruiere Her- leitungK1,. . .,Knmittels pr¨adikatenlogischer Resolution, so dassKi0ei- ne Grundinstanz vonKiist f ¨ur16i6n. Beweis in der ¨Ubung.
Die Konstruktion verwendet folgendes Lemma:
Lemma 1(Lifting-Lemma). Es seienK1,K2pr¨adikatenlogische Klauseln undK10, K20 Grundinstanzen vonK1,K2mit aussagenlogischer ResolventeR0. Dann gibt es eine pr¨adikatenlogische ResolventeRvonK1,K2, so dassR0Grundinstanz vonRist.
Als Bild:
K1
K2
K10 R
K20
R0
Hier steht wieder ein Pfeil f ¨ur eine Substitution und gerade Linen ohne Pfeil- spitze f ¨ur einen Resolutionsschritt.
Beweis. • Wir f ¨uhren den Beweis f ¨ur den Fall, dassK1 undK2 variablen- disjunkt sind. Der allgemeine Fall wird in der ¨Ubung besprochen.
• DaKi0Grundinstanz vonKiist, gibt es eine SubstitutionΘimitKi0=KiΘi f ¨uri=1,2.
• DaK1undK2variablendisjunkt sind, k ¨onnen wir die SubstitutionΘ = Θ1∪Θ2bilden, die sich auf den Variablen vonK1so verh¨alt wieΘ1und auf denen vonK2so verh¨alt wieΘ2.
• R0ist Resolvente vonK10 undK20, also gibt es ein LiteralLmitL∈K10 und L∈K20 undR0=K10\ {L} ∪ K20 \ {L}
• Es seienL1,. . .,LmundL10,. . .,Ln0 die Literale, f ¨ur die {L1,. . .,Lm}={M∈K1|MΘ1=L}, {L10,. . .,Ln0}={M∈K2|MΘ2=L}.
• Dann gilt
LiΘ=LiΘ1=L f ¨ur16i6m, Li0Θ=Li0Θ2=L f ¨ur16i6n.
Also istΘUnifikator von
{L1,. . .,Lm,L10,. . .,Ln0}.
3
Es seiΘ0 ein allgemeinster Unifikator dieser Menge. Dann gibt es eine Substitution ˜ΘmitΘ=Θ0Θ.˜
• Definiere
R= (K1\ {L1,. . .,Lm})∪(K2\ {L10,. . .,Ln0}) Θ0. Dann istRResolvente vonK1undK2. Außerdem gilt:
RΘ˜ = (K1\ {L1,. . .,Lm})∪(K2\ {L10,. . .,Ln0}) Θ0Θ˜
= (K1\ {L1,. . .,Lm})∪(K2\ {L10,. . .,Ln0}) Θ
=K10\ {L} ∪ K20 \ {L}
=R0.
• Damit istR0Grundinstanz vonR.
4