Information Engineering WS 2014/15 - LS1

Werbung
Logik
Gabriele Kern-Isberner
LS 1 – Information Engineering
TU Dortmund
Wintersemester 2014/15
WS 2014/15
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
1 / 234
Prädikatenlogik – Übersicht
Teil C
C – Prädikatenlogik (PL)
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
2 / 234
Prädikatenlogik – Übersicht
Übersicht Prädikatenlogik
8. Strukturen & Syntax
9. Modellierung und Normalformen
10. Erfüllbarkeit: Grundresolution
11. Prädikatenlogische Resolution
12. Logische Programmierung und Prolog
13. Weitere Ergebnisse
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
3 / 234
PL – Strukturen & Syntax
Übersicht Prädikatenlogik
8. Strukturen & Syntax
9. Modellierung und Normalformen
10. Erfüllbarkeit: Grundresolution
11. Prädikatenlogische Resolution
12. Logische Programmierung und Prolog
13. Weitere Ergebnisse
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
4 / 234
PL – Strukturen & Syntax
Teil C
C – Prädikatenlogik (PL)
Kapitel 8: Strukturen & Syntax
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
5 / 234
PL – Strukturen & Syntax
Einleitende Beispiele
Einleitende Beispiele (1/5)
Beispiel: Dreifärbungsproblem
Das Dreifärbungsproblem für die Landkarte der BRD konnten wir auf die
Erfüllbarkeit der folgenden aussagenlogischen Formel zurückführen:
=1
=1
=1
=1
=1
=1
=1
ϕ=1
NRW ∧ ϕBW ∧ ϕBY ∧ ϕRP ∧ ϕSR ∧ ϕHS ∧ ϕTH ∧ ϕSX ∧
=1
=1
=1
=1
=1
=1
=1
ϕNI ∧ ϕSA ∧ ϕBR ∧ ϕB ∧ ϕHH ∧ ϕHB ∧ ϕMV ∧ ϕ=1
SH ∧
6=
6=
6=
6=
6=
ϕNRW,HS ∧ ϕBW,BY ∧ ϕBW,RP ∧ ϕBW,HS ∧ ϕBY,HS ∧ ϕ6=
BY,TH ∧
6=
6=
6=
6=
6=
ϕ6=
BY,SX ∧ ϕSR,RP ∧ ϕRP,HS ∧ ϕRP,NRW ∧ ϕHS,TH ∧ ϕHS,NI ∧
6=
6=
6=
6=
6=
ϕ6=
TH,SX ∧ ϕTH,SA ∧ ϕTH,NI ∧ ϕSX,BR ∧ ϕSX,SA ∧ ϕNRW,NI ∧
6=
6=
6=
6=
6=
ϕ6=
NI,SH ∧ ϕNI,HB ∧ ϕNI,HH ∧ ϕNI,MV ∧ ϕNI,SA ∧ ϕNI,BR ∧
6=
6=
6=
ϕ6=
SA,BR ∧ ϕBR,R ∧ ϕSH,HH ∧ ϕSH,MV
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
6 / 234
PL – Strukturen & Syntax
Einleitende Beispiele
Einleitende Beispiele (2/5)
Beispiel: Dreifärbungsproblem (Forts.)
Dies ist eine Abkürzung für eine Formel der Länge > 1000:
(GNRW ∨ RNRW ∨ BNRW ) ∧ ¬(GNRW ∧ RNRW ) ∧ ¬(BNRW ∧ RNRW ) ∧
¬(BNRW ∧ GNRW ) ∧ . . .
. . . (GSH ∨ RSH ∨ BSH ) ∧ ¬(GSH ∧ RSH ) ∧ ¬(BSH ∧ RSH )
∧¬(BSH ∧ GSH )∧
¬(GNRW ∧ GHS ) ∧ ¬(RNRW ∧ RHS ) ∧ ¬(BNRW ∧ BHS ) . . .
. . . ¬(GSH ∧ GMV ) ∧ ¬(RSH ∧ RMV ) ∧ ¬(BSH ∧ BMV )
Wir werden jetzt eine elegantere Modellierung mittels Prädikatenlogik
betrachten.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
7 / 234
PL – Strukturen & Syntax
Einleitende Beispiele
Einleitende Beispiele (3/5)
Beispiel: Dreifärbungsproblem (Forts.)
• Die aussagenlogische Formel vermischt die „Daten“ und die
„Eigenschaften“, die gelten sollen
• Mit Hilfe der Prädikatenlogik können wir diese beiden Aspekte
trennen:
– Wir können die Informationen über Länder und ihre
Nachbarschaftsbeziehungen durch einen Graphen H = (V, E)
modellieren:
∗ Die Knotenmenge V enthält alle Länder: {NRW, BW, BY, . . . , SH}
∗ Die Kantenrelation E enthält alle Paare benachbarter Länder:
{(NRW, HS), (BW, BY), . . . , (SH, MV)}
– Färbungen der Länder lassen sich durch drei Mengen G, R, B
modellieren
– Eine Färbung ist zulässig, wenn sie die folgenden drei
prädikatenlogischen Formeln erfüllt:
∗ ∀x [G(x) ∨ R(x) ∨ B(x)]
∗ ∀x ¬[(G(x) ∧ R(x)) ∨ (G(x) ∧ B(x)) ∨ (R(x) ∧ B(x))]
∗ ∀x ∀y [E(x, y) → ¬((G(x) ∧ G(y)) ∨ (B(x) ∧ B(y)) ∨ (R(x) ∧ R(y)))]
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
8 / 234
PL – Strukturen & Syntax
Einleitende Beispiele
Einleitende Beispiele (4/5)
Beispiel: Speisende Philosophen
• Speisende Philosophen:
– Rund um einen Tisch sitzen n Philosophen
– Zwischen je zwei nebeneinander sitzenden Philosophen liegt ein
Essstäbchen
– Um essen zu können, braucht ein Philosoph zwei Stäbchen
– Da Philosophen kurze Arme haben, kann ein Philosoph nur die beiden
Stäbchen unmittelbar links und rechts von sich erreichen
∗ Während ein Philosoph isst, kann also keiner seiner beiden Nachbarn
essen
• Diese Situation könnten wir mit Hilfe aussagenlogischer Formeln
modellieren:
– Wir könnten Variablen A1 , . . . , An verwenden mit der Bedeutung
Ai ≡ „Philosoph i isst“
– Das Wissen über die Anordnung der Philosophen könnten wir
zusammen mit dem Wissen über ihre Essgewohnheiten in einer Formel
repräsentieren:
Vn−1
ϕn = ¬(A1 ∧ An ) ∧ i=1 ¬(Ai ∧ Ai+1 )
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
9 / 234
PL – Strukturen & Syntax
Einleitende Beispiele
Einleitende Beispiele (5/5)
Beispiel: Speisende Philosophen (Forts.)
• Auch hier können wir durch Verwendung der Prädikatenlogik von der
konkreten Situation abstrahieren und die auszudrückende Eigenschaft
unabhängig von den „Daten“ formulieren:
– Die Anordnung der Philosophen modellieren wir durch einen Graphen
G = (V, E):
∗ V = {1, . . . , n}
∗ E = {(1, 2), (2, 3), . . . , (n − 1, n), (n, 1)}
– Dass Philosoph j isst, drücken wir durch P (j) aus
– Die Essgewohnheiten können wir dann durch folgende Formel
beschreiben:
∀x ∀y E(x, y) → ¬(P (x) ∧ P (y))
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
10 / 234
PL – Strukturen & Syntax
Relationen und Funktionen
Repräsentation von Daten: Informatik vs.
Mathematik (1/2)
Informatiker beschäftigen sich (unter anderem) mit der geeigneten
Repräsentation von Daten/Informationen zur Verarbeitung durch
Computer.
Verschiedene Aspekte:
• Kodierung...:
– ...im Rechner: Bit-Folgen
– ...in Dateien: Daten lassen sich im Zweifelsfall als Strings/Textdateien
repräsentieren
• Datenstrukturen:
– Arrays, Pointerstrukturen, etc. bieten eine komfortablere
Repräsentation von Daten, die sich für die Manipulation „innerhalb von
Programmen“ eignen
• Datenbanken: „externe“ Speicherung von Informationen
• Daten im Web...
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
11 / 234
PL – Strukturen & Syntax
Relationen und Funktionen
Repräsentation von Daten: Informatik vs.
Mathematik (2/2)
Um die Bedeutung/Semantik der Informationen formal festlegen zu können,
müssen wir unsere „Daten“ durch mathematische Objekte modellieren.
Diese mathematischen Objekte, die wir zur Repräsentation von Daten
verwenden, nennen wir Strukturen.
Strukturen bestehen aus Relationen, Funktionen und Konstanten.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
12 / 234
PL – Strukturen & Syntax
Relationen und Funktionen
Relationen (1/2)
Definition 8.1 (Relation (Whlg.))
• Sei A eine Menge
• Teilmengen R von
über A
n Faktoren
An
z
}|
{
= A × · · · × A nennt man n-stellige Relationen
Beispiele
• Strikte Ordnung der natürlichen Zahlen:
– A=N
– R = {(m, n) ∈ N2 | m < n} = {(0, 1), (0, 2), (1, 2), (0, 3), . . .}
• Äquivalente Brüche:
– A = Z2
– R = {((z1 , n1 ), (z2 , n2 )) ∈ (Z2 )2 |z1 n2 = z2 n1 }
= {. . . , ((−2, 3), (−4, 6)), ((−2, 3), (−6, 9)), . . .}
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
13 / 234
PL – Strukturen & Syntax
Relationen und Funktionen
Relationen (2/2)
Beispiele
• Logik-Hörer:
– A = Menge aller Strings über {a, . . . , z},
– R = {(x, y) ∈ A2 | x ist Vorname, y ist Nachname
eines Hörers der Logik-Vorlesung}
• 0-stellige Relationen:
Über jeder Grundmenge A gibt es genau zwei 0-stellige Relationen:
– ∅ und {()}
G. Kern-Isberner (TU Dortmund)
(„()“ ist das 0-stellige Tupel)
Logik
WS 2014/15
14 / 234
PL – Strukturen & Syntax
Relationen und Funktionen
Funktionen und Konstanten (1/3)
n-stellige Funktionen über einer Grundmenge A sind Abbildungen
f : An → A
Beispiele
• Addition über den natürlichen Zahlen:
– f+ : N2 → N
– f+ (n, m) = n + m
• Verkettete Listen lassen sich als 1-stellige Funktionen repräsentieren:
f (x) = Element, auf das der Zeiger von x zeigt
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
15 / 234
PL – Strukturen & Syntax
Relationen und Funktionen
Funktionen und Konstanten (2/3)
Es besteht ein enger Zusammenhang zwischen Funktionen und Relationen:
• Der Graph einer n-stelligen Funktion f ist eine (n + 1)-stellige
Relation:
graph(f ) = {(a1 , . . . , an , a) | f (a1 , . . . , an ) = a}
Beispiel
graph(f+ ) = {(0, 0, 0), (0, 1, 1), . . . , (9, 16, 25), . . .}
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
16 / 234
PL – Strukturen & Syntax
Relationen und Funktionen
Funktionen und Konstanten (3/3)
Neben Relationen und Funktionen werden wir auch Konstanten c
verwenden.
• Konstanten können als 0-stellige Funktionen über der Grundmenge A
aufgefasst werden:
– Abbildung () 7→ c mit c ∈ A
Im Folgenden sind also unsere 0-stelligen Funktionen gerade die
Konstanten.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
17 / 234
PL – Strukturen & Syntax
Strukturen
Strukturen (1/2)
Für die meisten Modellierungen ist es vorteilhaft, mehr als eine Relation
oder Funktion zur Verfügung zu haben.
→ Wir verwenden Strukturen, die aus mehreren Relationen, Funktionen
und Konstanten bestehen dürfen.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
18 / 234
PL – Strukturen & Syntax
Strukturen
Strukturen (2/2)
Definition 8.2 (Struktur)
• Eine Struktur A besteht aus
–
–
–
–
einer Grundmenge A 6= ∅,
Relationen R1 , . . . , Rk über A
Funktionen f1 , . . . , fl über A
Konstanten c1 , . . . , cm aus A
• Wir schreiben A dann als (A, R1 , . . . , Rk , f1 , . . . , fl , c1 , . . . , cm )
Bemerkungen:
• Es ist auch k = 0, l = 0 oder m = 0 möglich
• Wir betrachten nur Strukturen mit endlich vielen Relationen und
Funktionen
• Wir betrachten nur Strukturen mit nichtleerer Grundmenge
• Statt „Grundmenge“ sagen wir manchmal auch „Universum“, die
Elemente der Grundmenge nennt man auch „Individuen“ oder
„Objekte“
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
19 / 234
PL – Strukturen & Syntax
Strukturen
Strukturen: Graphen
Eingabe-Instanzen für algorithmische
Probleme lassen sich auch durch mathematische Strukturen modellieren:
Beispiel: Gerichtete Graphen
G:
a
b
c
d
Beispiel: Erreichbarkeitsproblem
Beim Erreichbarkeitsproblem besteht
die Eingabe aus einem Graphen sowie
einem Start- und einem Zielknoten.
AG = (V, E), wobei
V = {a, b, c, d} und
E = {(a, b), (a, c), (c, b), (b, d), (d, c)}
G. Kern-Isberner (TU Dortmund)
Logik
Die Eingabe G, a, d lässt sich zum
Beispiel durch die Struktur
AG,a,d = (V, E, a, d) beschreiben,
mit V und E wie oben.
WS 2014/15
20 / 234
PL – Strukturen & Syntax
Strukturen
Strukturen: Algebraische Strukturen
In der Mathematik werden häufig Strukturen mit Funktionen betrachtet:
Beispiel
• Peano-Arithmetik: (natürliche Zahlen mit Addition und Multiplikation)
– Sie lässt sich durch die Struktur (N, +, ×, 0, 1) repräsentieren:
∗ N ist die Menge der natürlichen Zahlen
∗ +, × sind 2-stellige Funktionen
∗ 0 und 1 sind Konstanten
• Gruppen:
– Gruppen lassen sich durch Strukturen der Art (G, ◦, e) repräsentieren,
wobei
∗ G die Menge der Elemente ist,
∗ ◦ eine 2-stellige Funktion, die Gruppenverknüpfung, ist, und
∗ e eine Konstante ist, das neutrale Element
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
21 / 234
PL – Strukturen & Syntax
Strukturen
Strukturen: „Informatik-Strukturen“
Beispiele
• Zeichenketten:
– Der String s = bacabba lässt sich durch die Struktur (P, ≤, Qa , Qb , Qc )
repräsentieren, wobei
∗ P = {1, 2, 3, 4, 5, 6, 7} die Menge der Positionen von s ist,
∗ ≤ die übliche lineare Ordnung auf P ist,
∗ Qa = {2, 4, 7} die Menge der Positionen, an denen ein a steht, ist, und
entsprechend: Qb = {1, 5, 6}, Qc = {3}
• Relationale Datenbanken:
– D = (U, R1 , . . . , Rk )
– U : die Menge der in D vorkommenden Datenwerte
– R1 , . . . , Rk : Die Relationen über U
G. Kern-Isberner (TU Dortmund)
Logik
(„Tabellen“)
WS 2014/15
22 / 234
PL – Strukturen & Syntax
Strukturen
Strukturen: Transitionssysteme
Beispiel
• Transitionssysteme bestehen aus Zuständen, in denen Propositionen
gelten können und Transitionen zwischen den Zuständen:
B,C
A
A
1
2 B 3 A
¬o C ¬o
¬o
B,C
4
o
– Dieses Transitionssystem kann durch (Z, EA , EB , EC , Po , s)
repräsentiert werden, wobei
∗
∗
∗
∗
∗
∗
Z = {1, 2, 3, 4}
EA = {(1, 2), (2, 2), (3, 4)},
EB = {(1, 1), (2, 3), (3, 1)},
EC = {(1, 1), (2, 1), (3, 1)},
Po = {4}
s=1
G. Kern-Isberner (TU Dortmund)
Logik
(Zustände)
(„A-Transitionen“)
(„B-Transitionen“)
(„C-Transitionen“)
(Zustände mit Eigenschaft o)
(Anfangszustand)
WS 2014/15
23 / 234
PL – Strukturen & Syntax
Strukturen
Strukturen: Signaturen (1/3)
Beispiel
• Erreichbarkeitsproblem A:
1
2
3
4
– A = (V A , E A , cA , dA ), wobei
∗ V A = {1, 2, 3, 4} und
∗ E A = {(1, 2), (1, 3), (3, 2), (2, 4), (4, 3)}
∗ cA = 1, dA = 4
Formeln werden jeweils über Strukturen eines gewissen „Typs“ sprechen, also z.B.
über Erreichbarkeitsprobleme oder Strings.
Informell ist der „Typ“ einer Struktur durch die Menge ihrer Relationssymbole,
Funktionssymbole und Konstantensymbole gegeben, wobei die Relationssymbole
R und Funktionssymbole f eine feste Stelligkeit (engl. arity) haben, die wir mit
a(R) bzw. a(f ) bezeichnen.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
24 / 234
PL – Strukturen & Syntax
Strukturen
Strukturen: Signaturen (2/3)
• Eine Signatur ist eine Menge von Relations-, Funktions- und
Konstantensymbolen
• Die Signatur σ(A) einer Struktur A ist die Menge der Symbole zu den
in A vorkommenden Relationen, Funktionen und Konstanten
• Eine Struktur A ist passend zu einer Signatur S, wenn S ⊆ σ(A)
Beispiele
• Die Signatur von Erreichbarkeitsproblemen ist {E, c, d}, wobei E ein
2-stelliges Relationssymbol ist und c, d Konstantensymbole sind
• Die Signatur von Zeichenketten über dem Alphabet {a, b, c} ist
{≤, Qa , Qb , Qc }, wobei ≤ ein 2-stelliges Relationssymbol ist und
Qa , Qb , Qc jeweils 1-stellige Relationssymbole sind
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
25 / 234
PL – Strukturen & Syntax
Strukturen
Strukturen: Signaturen (3/3)
Wir müssen unterscheiden zwischen
• konkreten Relationen, Funktionen und Konstanten, die in konkreten
Strukturen vorkommen
• Relationssymbolen, Funktionssymbolen und Konstantensymbolen, die
in Signaturen (und in Formeln) vorkommen und für beliebige
Relationen, Funktionen und Konstanten stehen
Dieser Unterschied spiegelt sich in unserer Notation wider:
• Die konkrete Relation, die in einer Struktur A dem Relationssymbol R
zugeordnet ist, bezeichnen wir mit RA (entsprechend für Konstanten
und Funktionen)
• Da dies zu oft zu einer etwas überladenen Notation führt, lassen wir
das Superskript A weg, wenn aus dem Zusammenhang klar ist,
– dass eine konkrete Relation gemeint ist, und
– welche konkrete Struktur gemeint ist
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
26 / 234
PL – Strukturen & Syntax
Syntax der Prädikatenlogik
Syntax der Prädikatenlogik (1/2)
Sei PV eine abzählbare Menge prädikatenlogischer Variablen.
PV enthalte mindestens x, y, z sowie xi , yi , zi , für alle i ∈ N.
Definition 8.3 (Syntax prädikatenlogischer Terme)
• Sei σ eine Signatur
• Die Menge PT(σ) der prädikatenlogischen Terme über σ ist induktiv
wie folgt definiert:
– Jede Variable aus PV ist ein Term
– Jedes Konstantensymbol aus σ ist ein Term
– Ist f ein k-stelliges Funktionssymbol aus σ und sind t1 , . . . , tk Terme
über σ, so ist f (t1 , . . . , tk ) ein Term über σ
Terme, die keine Variablen verwenden, nennen wir Grundterme.
Beispiel
Terme über {R, f, c}, für 2-stelliges f , sind z.B.
c, x, y, f (c, c), f (c, x), f (y, f (x, x)), . . ..
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
27 / 234
PL – Strukturen & Syntax
Syntax der Prädikatenlogik
Syntax der Prädikatenlogik (2/2)
Definition 8.4 (Syntax
prädikatenlogischer Formeln)
Sei σ eine Signatur. Die Menge PL(σ)
der prädikatenlogischen Formeln über σ
ist induktiv wie folgt definiert:
(1) Ist R ein k-stelliges
Relationssymbol aus σ und sind
t1 , . . . , tk Terme über σ, so ist
R(t1 , . . . , tk ) in PL(σ)
(2) Sind ϕ, ϕ1 , ϕ2 in PL(σ), so auch
(a) ¬ϕ
(b) (ϕ1 ∧ ϕ2 )
(c) (ϕ1 ∨ ϕ2 )
(3) Ist x eine Variable und ϕ in PL(σ),
so sind auch
(a) ∃x ϕ und
(b) ∀x ϕ
in PL(σ)
G. Kern-Isberner (TU Dortmund)
• Zusätzliche Klammern in Formeln sind
erlaubt
• ∃ heißt Existenzquantor, ∀ heißt Allquantor
• Formeln vom Typ (1) heißen atomar
• Formeln, die nur durch (1) und (2) gebildet
werden können, heißen quantorenfrei
• Wenn σ durch den Zusammenhang klar ist
(oder unwichtig), schreiben wir einfach PL
statt PL(σ)
• Umgekehrt: die Signatur σ(ϕ) einer Formel
ϕ ist die Menge der in ϕ vorkommenden
Relations-, Funktions- und
Konstantensymbole
Wenn die Signatur nicht explizit angegeben ist,
gelten folgende Konventionen:
• Variablen sind kleine Buchstaben vom Ende
des Alphabets
• Konstantensymbole sind kleine Buchstaben
vom Anfang des Alphabets
• Funktionssymbole sind kleine Buchstaben
„aus der Mitte des Alphabets“ wie f, g, h
• Relationssymbole sind große Buchstaben
Logik
WS 2014/15
28 / 234
PL – Strukturen & Syntax
Syntax der Prädikatenlogik
Wirkungsbereich von Quantoren 1/2
Der Aufbau prädikatenlogischer Formeln lässt sich durch
Syntaxbäume illustrieren:
Beispiel
∀z P (x, g(z)) ∨ ∀y P (f (z), y)
hat den folgenden
Syntaxbaum:
∨
∀z
∀y
P (x, g(z))
P (f (z), y)
G. Kern-Isberner (TU Dortmund)
Wie weit reicht die „Wirkung“ von Quantoren?
• Bezieht sich ∀z noch auf P (f (z), y) oder
nicht mehr?
• Soll ∨ oder ∀z eine stärkere
Bindungsstärke haben?
Diese Frage haben wir implizit durch Definition
8.4 beantwortet.
Streng genommen müsste die Formel ein äußeres Klammerpaar (. . . ) haben.
In jedem Fall ist die „äußerste Operation“, durch
die die Formel entstanden ist, das „oder“, da
andernfalls P (x, g(z)) ∨ ∀y P (f (x), y) geklammert sein müsste.
→ Syntaxbaum
Logik
WS 2014/15
29 / 234
PL – Strukturen & Syntax
Syntax der Prädikatenlogik
Wirkungsbereich von Quantoren 2/2
• Ein Vorkommen einer Variablen x in einer Formel ϕ ist in ∃x ϕ im
Wirkungsbereich des Quantors ∃x (analog für Allquantoren)
• Jedes Vorkommen einer Variablen x in einer Formel im
Wirkungsbereich eines Quantors ∃x oder ∀x heißt gebunden (durch
die jeweiligen Quantoren)
• Jedes andere Vorkommen einer Variablen in einer Formel ist frei
• Die freien Variablen einer Formel sind alle Variablen, die mindestens
einmal frei vorkommen
• Eine Formel ist geschlossen, wenn sie keine freien Vorkommen von
Variablen enthält
• Die Schreibweise ϕ(x1 , . . . , xk ) soll implizit bedeuten, dass ϕ keine
anderen freien Variablen hat als die in x1 , . . . , xk genannten (aber
möglicherweise weniger)
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
30 / 234
PL – Strukturen & Syntax
Syntax der Prädikatenlogik
Freie und gebundene Variablen
Beispiel
• Sei ϕ1 = R(x) ∨ ∀z P (x, g(z)) ∨ ∀y P (f (x), y)
– Sämtliche Vorkommen von x in ϕ1 sind frei, die Vorkommen von y und
z sind gebunden
• In ϕ2 = P (x) ∨ ∃x R(x, y) kommt x sowohl frei als auch gebunden vor
– Die Menge der freien Variablen dieser Formel ist also {x, y}
• Sei ϕ3 = ∀x [∀y ∃x E(y, x) ∧ E(x, y)] ∧ E(x, x)
– frei: x in E(x, x) und y in E(x, y)
– gebunden: x in E(y, x) (durch ∃x) und x in E(x, y) (durch ∀x)
y in E(y, x) (durch ∀y)
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
31 / 234
PL – Strukturen & Syntax
Syntax der Prädikatenlogik
Relationen und Prädikate
Wir sprechen von Relationen und Relationssymbolen, genauso gut könnten
wir von Prädikaten und Prädikatssymbolen sprechen, Letzteres ist die
traditionellere Sprechweise (daher kommt ja auch der Name
“Prädikatenlogik”).
Jedenfalls bedeutet „R(x, y)“ in prädikatenlogischen Formeln, dass
„(x, y) ∈ RA “ wahr ist. Es ist also etwas intuitiver, von Relationen und
Relationssymbolen zu sprechen.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
32 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Prädikatenlogische Interpretationen (1/2)
Bei der Definition der Semantik der Prädikatenlogik ergibt sich folgendes
Problem:
Sei ϕ = ∀x ∃y E(x, y)
• Intuitiv drückt diese Formel (für einen Graphen) aus, dass jeder
Knoten eines Graphen eine ausgehende Kante hat
• Es ist intuitiv klar, dass ϕ in dem folgenden Graphen gilt:
a
b
c
d
Wir wollen die Semantik jetzt formal definieren.
Um die Semantik von ϕ induktiv (der Syntax folgend) zu definieren,
müssen wir jedoch zuerst die Semantik von E(x, y) in G definieren.
Das wirft die Frage auf, wie freie Variablen einer Formel interpretiert
werden sollen.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
33 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Prädikatenlogische Interpretationen (2/2)
Für die Semantik einer PL-Formel ϕ benötigen wir deshalb zweierlei:
• eine Struktur, in der die Relations-, Funktions- und
Konstantensymbole interpretiert werden, sowie
• eine Zuordnung von Werten zu den freien Variablen von ϕ
Definition 8.5 ((passende) Interpretationen)
• Eine Interpretation I = (A, β) besteht aus
– einer Struktur A mit Grundmenge A und
– einer partiellen Abbildung β : PV → A (der Belegung)
• Eine Interpretation (A, β) heißt passend für eine PL-Formel ϕ, falls
– A passend zur Signatur von ϕ ist und
– β(x) für jede freie Variable x von ϕ definiert ist
• Entsprechend sind zu einem Term passende Interpretationen definiert
• Notation: Ist β z.B. eine Belegung mit β(x) = 2, so schreiben wir
statt (A, β) auch (A, x 7→ 2).
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
34 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Präd.-logische Interpretationen: Beispiel (1/5)
Beispiel
• Kürzlich in der Logik-Übung gaben solche Studierende eine korrekte
Lösung ab, auf die eine der folgenden Aussagen zutraf:
(1) Der Studierende hat die Aufgaben verstanden
(2) Der Studierende kennt den besten Studierenden aus irgendeiner
Übungsgruppe
(3) Der beste Freund des Studierenden kennt alle Studierenden
• Modellierung:
– (1) - (3) machen jeweils eine Aussage über einen Studierenden
– Für diesen verwenden wir die Variable x
– Die Funktion f soll jedem Studierenden seine/n beste(n) Freund(in)
zuordnen
– g ordnet jedem Studierenden den besten Studierenden seiner
Übungsgruppe zu
– P (x, y) soll ausdrücken, dass der Studierende x den Studierenden y
kennt
– R(x) soll ausdrücken, dass x die Aufgaben verstanden hat
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
35 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Präd.-logische Interpretationen: Beispiel (2/5)
Beispiel
(1) Der Studierende x hat die
Aufgaben verstanden
(2) Der Studierende x kennt den
besten Studierenden aus
irgendeiner Übungsgruppe
(3) Der beste Freund des
Studierenden x kennt alle
Studierenden
• Ziel: Herleitung einer Formel ϕ(x), die
genau dann wahr wird, falls x einer
der in (1)-(3) beschriebenen
Studierenden ist
• Die drei Aussagen lassen sich wie
folgt ausdrücken:
(1) R(x)
(2) ∃z P (x, g(z))
(3) ∀y P (f (x), y)
• Die Gesamtformel ϕ ist dann also:
R(x) ∨ ∃z P (x, g(z)) ∨ ∀y P (f (x), y)
(in der nur x frei vorkommt)
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
36 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Präd.-logische Interpretationen: Beispiel (3/5)
Beispiel
• Seien Anton, Berta, Julius und Otto in einer ÜG (mit Julius als
Bestem)
• Seien Paula, Richard und Martha in einer anderen ÜG (mit Paula als
Bester)
• Anton kennt Julius, Otto kennt Anton, und Martha kennt Paula
• Für alle (bis auf Otto) ist Otto der beste Freund, Ottos bester Freund
ist Richard
• Außerdem habe Berta die Aufgaben verstanden
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
37 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Präd.-logische Interpretationen: Beispiel (4/5)
Beispiel
• Eine zu ϕ(x) = R(x) ∨ ∃z P (x, g(z)) ∨ ∀y P (f (x), y) passende
Interpretation (A, β), die die obige Situation repräsentiert, ist dann:
– Grundmenge:
( { Anton, Berta, Julius, Martha, Otto, Paula, Richard }
Richard für x = Otto
– f A (x) =
Otto
sonst
(
Julius für x = Anton, Berta, Julius oder Otto
– g A (x) =
Paula für x = Paula, Richard oder Martha
A
– P = { (Anton, Julius), (Otto, Anton), (Martha, Paula) }
– RA = {Berta}
– β(x) = Anton
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
38 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Präd.-logische Interpretationen: Beispiel (5/5)
Beispiel
• Eine andere zu ϕ(x) = R(x) ∨ ∃z P (x, g(z)) ∨ ∀y P (f (x), y) passende
Interpretation (A0 , β 0 ):
–
–
–
–
–
–
–
Grundmenge: R
0
f A sei die Sinus-Funktion
0
g A sei die Cosinus-Funktion
0
P A sei die ≤-Relation
0
RA = [3, ∞)
β 0 (x) = π/2
β 0 (y) = 1
G. Kern-Isberner (TU Dortmund)
0
(also: (p, q) ∈ P A , falls p ≤ q)
Logik
WS 2014/15
39 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Semantik der Prädikatenlogik (1/2)
Die Semantik der Prädikatenlogik ordnet jeder Formel ϕ und jeder
passenden Interpretation I einen Wahrheitswert [[ϕ]]I zu.
Sei a ∈ A. Ist β eine Belegung, so ist β[x/a] die Belegung, die aus β in der
folgenden Weise entsteht:
a,
wenn y = x
β[x/a](y) =
β(y), wenn y 6= x
Ist I = (A, β), so bezeichnet I[x/a] die Interpretation (A, β[x/a]).
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
40 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Semantik der Prädikatenlogik (2/2)
Definition 8.6 (Semantik prädikatenlogischer Formeln)
• Sei I = (A, β) eine Interpretation
• Der Wert [[t]]I eines (zu I passenden) Terms t ist induktiv wie folgt
definiert:
– [[x]]I =def β(x) für Variablen x ∈ PV
– [[c]]I =def cA für Konstantensymbole c
– [[f (t1 , . . . , tk )]]I =def f A ([[t1 ]]I , . . . , [[tk ]]I )
• Der Wahrheitswert [[ϕ]]I einer PL-Formel ϕ ist induktiv wie folgt
definiert:
(1) [[R(t1 , . . . , tk )]]I = 1 ⇔ ([[t1 ]]I , . . . , [[tk ]]I ) ∈ RA
(2) (a) [[¬ϕ]]I = 1 ⇔ [[ϕ]]I = 0
(3)
(b)
(c)
(a)
(b)
[[ϕ1 ∧ ϕ2 ]]I ⇔ [[ϕ1 ]]I = 1 und [[ϕ2 ]]I = 1
[[ϕ1 ∨ ϕ2 ]]I ⇔ [[ϕ1 ]]I = 1 oder [[ϕ2 ]]I = 1
[[∃xϕ]]I = 1 ⇔ es gibt ein a ∈ A mit [[ϕ]]I[x/a] = 1
[[∀xϕ]]I = 1 ⇔ für alle a ∈ A gilt [[ϕ]]I[x/a] = 1
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
41 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Semantik der Prädikatenlogik: Beispiel
Beispiel
Sei wieder ϕ = ϕ1 ∨ ϕ2 ∨ ϕ3 mit
• ϕ1 = R(x)
• ϕ2 = ∃z P (x, g(z))
• ϕ3 = ∀y P (f (x), y)
• [[R(x)]]I = 0
Sei I = (A, β) die Interpretation mit
• Grundmenge: { Anton, Berta, Julius, Martha,
Otto, Paula, Richard }
(
Richard für x = Otto
A
• f (x)
Otto
sonst
A
• g
( (x) =
Julius für x ∈ {Anton, Berta, Julius, Otto}
Paula für x ∈ {Paula, Richard, Martha}
• PA =
{(Anton, Julius), (Otto, Anton), (Martha, Paula)}
⇒ [[ϕ1 ]]I = 0
• Für a = Otto ist
[[g(z)]]I[z/a] = Julius
⇒ Es gibt a ∈ A mit
[[P (x, g(z))]]I[z/a] = 1
⇒ [[ϕ2 ]]I = 1
⇒ [[ϕ]]I = 1
• RA = {Berta}
• β(x) = Anton
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
42 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Prädikatenlogik mit Gleichheit
Für das 2-stellige Relationssymbol „=“ erlauben wir immer nur die
Interpretation {(a, a) | a ∈ A}
- Infix-Schreibweise: „t1 = t2 “ statt „= (t1 , t2 )“
Wenn wir die Verwendung von „=“ erlauben, sprechen wir von
Prädikatenlogik mit Gleichheit.
- Andernfalls: Prädikatenlogik ohne Gleichheit
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
43 / 234
PL – Strukturen & Syntax
Semantik der Prädikatenlogik
Zusammenfassung
Sie sollten die folgenden Themen und Techniken kennen und beherrschen:
• Bei der prädikatenlogischer Modellierung ist es - im Gegensatz zur
aussagenlogischen Modellierung - möglich, die Daten von den
Eigenschaften zu trennen
• Prädikatenlogische Formeln werden auf Strukturen ausgewertet, die
aus Relationen, Funktionen und Konstanten über einer Grundmenge
bestehen
• Syntax und Semantik der Prädikatenlogik sind sauber zu trennen, auf
der Syntaxebene spricht man über Symbole, auf der Semantikebene
über Individuen oder Objekte.
G. Kern-Isberner (TU Dortmund)
Logik
WS 2014/15
44 / 234
Herunterladen