Semantik der Prädikatenlogik

Werbung
Grundlagen der Programmierung (Vorlesung 8)
Ralf Möller, FH-Wedel
z Vorige Vorlesung
y Motivation der Prädikatenlogik
y Syntax der Prädikatenlogik
z Inhalt dieser Vorlesung
y Semantik der Prädikatenlogik
y Prädikatenlogische Entscheidungsprobleme
Struktur, passende Strukturen
Eine Struktur ist ein Paar A = (UA ; IA ) wobei UA eine beliebige
aber nicht leere Menge ist, die die Grundmenge von A (oder der
Grundbereich, der Individuenbereich, das Universum) genannt
wird. Ferner ist IA eine Abbildung, die
jedem k–stelligen Prädikatensymbol P (das im
Definitionsbereich von IA liegt) ein k–stelliges Prädikat über
UA zuordnet,
jedem k–stelligen Funktionssymbol f (das im
Definitionsbereich von IA liegt) eine k–stellige Funktion auf
UA zuordnet,
jeder Variablen x (sofern IA auf x definiert ist) ein Element
der Grundmenge UA zuordnet.
Sei F eine Formel und A = (UA ; IA ) eine Struktur. A heißt zu F
passend, falls IA für alle in F vorkommenden Prädikatsymbole,
Funktionssymbole und freien Variablen definiert ist.
45
Mit anderen Worten, der Definitionsbereich von I A ist eine
Teilmenge von fPik ; fik; xi ji = 1; 2; 3; : : : und k = 0; 1; 2:; : : : g, und
der Wertebereich von IA ist eine Teilmenge aller Prädikate und
Funktionen auf UA , sowie der Elemente von UA . Wir schreiben
abkürzend statt IA (P) einfach PA , statt IA ( f ) einfach f A und statt
IA (x) einfach xA .
46
Werte von Termen und Formeln in einer Struktur
Sei F eine Formel und A eine zu F passende Struktur. Für jeden
Term t, den man aus den Bestandteilen von F bilden kann (also
aus den Variablen und Funktionssymbolen), definieren wir nun
den Wert von t in der Struktur A , den wir mit A (t ) bezeichnen.
Die Definition ist wieder induktiv.
1. Falls t eine Variable ist (also t = x), so ist A (t ) = x A .
2. Falls t die Form hat t = f (t 1; : : : ; tk ) wobei t1 ; : : : ; tk Terme
und f ein k–stelliges Funktionssymbol ist, so ist
A (t ) = f A (A (t1 ); : : : ; A (tk )).
Der Fall 2 schließt auch die Möglichkeit ein, daß f nullstellig ist,
als t die Form hat t = a. In diesem Fall ist also A (t ) = a A .
47
Auf analoge Weise definieren wir (induktiv) den (Wahrheits–)
Wert der Formeln F unter der Struktur A , wobei wir ebenfalls die
Bezeichnung A (F ) verwenden.
Falls F die Form hat F = P(t 1 ; : : : ; tk ) mit den Termen
t1 ; : : : ; tk und k–stelligem Prädikatsymbol P, so ist
8
<1
A (F ) =
:0
;
;
Falls F die Form F
=
f alls (A (t1 ); : : : ; A (tk )) 2 PA
sonst
:G hat, so ist
8
<1
A (F ) =
:0
Falls F die Form F
= (G
8
<1
A (F ) =
:0
;
f alls A (G) = 0
;
sonst
^ H ) hat, so ist
;
f alls A (G) = 1 und A (H ) = 1
;
sonst
48
Falls F die Form F
= (G
8
<1
A (F ) =
:0
Falls F die Form F
8
<1
A (F ) =
:0
;
;
;
;
;
f alls A (G) = 1 oder A (H ) = 1
;
sonst
=
8xG hat, so ist
f alls f ür alle d 2 UA gilt : A[x=d ] (G) = 1
sonst
Falls F die Form F
8
<1
A (F ) =
:0
_ H ) hat, so ist
=
9xG hat, so ist
f alls es ein d 2 UA gibt mit : A[x=d ] (G) = 1
sonst
0
Hierbei bedeutet A[x=d ] diejenige Struktur A , die überall mit A
0
identisch ist, bis auf die Definition von x A . Es sei nämlich
xA = d, wobei d UA = UA — unabhängig davon, ob IA auf x
0
2
0
definiert ist oder nicht.
49
Beispiel
Es sei P ein zweistelliges Prädikatensymbol, Q ein
einstelliges Prädikatensymbol, a eine Konstante, f ein
einstelliges Funktionssymbol, und es seien x, y, z
Variablen. Eine Struktur, die diesen Symbolen Werte
zuordnet, ist gegeben durch A = (UA, IA) mit UA = {7, 8, 9}.
Die Interpretationsfunktion IA ist wie folgt definiert:
aA =
7
xA =
8
yA =
9
QA =
{7, 9}
PA =
{(7, 8), (7, 9), (8, 9)}
fA =
{(7, 8), (8, 9), (9, 7)}
Beispiel (2)
z Zu bestimmen ist der Wahrheitswert der
folgenden Formeln bezüglich A:
x 1.
(Q(a) Ÿ P(a, x)) Æ (Q(f(a)) ⁄ P(a, y))
x 2.
P(a, y) Ÿ $z P(z, a)
x 3.
"z (Q(z) ⁄ ÿP(a, z))
Modell, Gültigkeit, Erfüllbarkeit
Falls für eine Formel F und eine zu F passende Struktur A gilt
A (F ) = 1, so schreiben wir wieder A j= F.
Sprechweise: F gilt in A oder A ist Modell für F.
Falls jede zu F passende Struktur ein Modell für F ist, so
schreiben wir j= F, andernfalls 6j= F.
Sprechweise: F ist (allgemein–)gültig).
Falls es mindestens ein Modell für die Formel F gibt, so heißt F
erfüllbar, andernfalls unerfüllbar.
50
Aufgabe
G: Gültig
E: Erfüllbar, aber nicht gültig
U: Unerfüllbar
G E
8xP(a)
9x(:P(x) _ P(a))
P(a) ! 9xP(x)
P(x) ! 9xP(x)
8xP(x) ! 9xP(x)
8xP(x) ^:8yP(y)
8x(P(x x) ! 9x8yP(x y))
8x8y(x = y ! f (x) = f (y))
8x8y( f (x) = f (y) ! x = y
9x9y9z( f (x) = y ^ f (x) = z ^ y 6= z)
;
;
51
U
Zusammenfassung, Kernpunkte
❚ Prädikatenlogik
❙ Syntax, Formeln
❙ Semantik, Belegung, Modell
❙ Entscheidungsprobleme
❙ Äquivalente Transformation von Formeln
Was kommt beim nächsten Mal?
❚ Logik und die systematische Entwicklung von
Programmen
❚ Spezifikation und Programmverifikation
Herunterladen