Database Reference
In-Depth Information
Beispiel 9.22
Wir nehmen an, dass unsere Signatur (genau) die beiden Objekt-
konstanten a und b enthalt, und betrachten das logische Programm
P
0
:
P (x)
←
not
Q(x).
Q(a).
d.h., in ausgeschriebener Form gilt
P
0
:
P (a)
←
not
Q(a).
P (b)
←
not
Q(b).
Q(a).
Man sieht leicht, dass S =
{
Q(a),P(b)
}
ein stabiles Modell von
P
ist: Das Redukt
S
S
.
P
besteht aus den Regeln P (b)., Q(a)., und S ist minimal geschlossen unter
P
Wahrend klassische logische Programme genau ein stabiles Modell haben, ist
dies bei normalen logischen Programmen nicht mehr so: Tatsachlich konnen normale
logische Programme mehrere oder auch gar kein stabiles Modell haben. Zwar hat
jedes Redukt
S
genau ein stabiles Modell, aber die Wahl unterschiedlicher Mengen
S kann zu unterschiedlichen Modellen fuhren.
P
Selbsttestaufgabe 9.23 (stabile Modelle)
Zeigen Sie:
1. Das normale logische Programm
P
1
=
{
P (a)
←
not
P (a).
}
hat kein stabiles
Modell.
2. Das normale logische Programm
P
2
=
{
P (a)
←
not
Q(a)., Q(a)
←
not
P (a).
}
hat zwei stabile Modelle, namlich S
1
=
{
P (a)
}
und S
2
=
{
Q(a)
}
.
Da stabile Modelle S normaler logischer Programme lediglich Grundatome ent-
halten, gibt es fur jedes Grundatom A der Sprache nur zwei Moglichkeiten: Entweder
ist A
S. Im ersten Fall heißt A
wahr in
S, im zweiten Fall
falsch
in
S.IstA falsch in S, so sagt man - der zweiwertigen Tradition folgend -, dass
¬
∈
S,oderA/
∈
A wahr in S ist. Dies lasst sich in der gewohnten Weise auf Formeln fortsetzen.
So erhalten wir auf der Basis der stabilen Modelle eine skeptische Inferenzrelation
zwischen (normalen) logischen Programmen
P
und (pradikatenlogischen) Formeln
F :
=
stab
F
P|
gdw.
F ist wahr in allen stabilen Modellen von
P
=
stab
F gilt, so schreiben wir
=
stab
F . Beachten Sie aber, dass es
Wenn nicht
P|
P |
=
stab
F und
=
stab
einen Unterschied zwischen
P |
P|
¬
F gibt, und zwar auch schon
=
stab
P bedeutet, dass P nicht in allen stabilen Modellen von
fur Grundatome P .
P |
=
stab
P
P
enthalten ist. Da es mehrere stabile Modelle eines normalen logischen Programms
geben kann, ist dies nicht dasselbe.
enthalten ist, wahrend
P|
¬
P gilt, wenn P in keinem stabilen Modell von