logik quantoren

Werbung
Vorlesung
Logik für Informatiker
9. Prädikatenlogik
– Syntax und Semantik der Prädikatenlogik –
Bernhard Beckert
Universität Koblenz-Landau
Sommersemester 2006
Logik für Informatiker, SS ’06 – p.1
Syntax der Prädikatenlogik: Logische Zeichen
Wie in der Aussagenlogik
1 Symbol für den Wahrheitswert „wahr“
0 Symbol für den Wahrheitswert „falsch“
¬ Negationssymbol („nicht“)
∧ Konjunktionssymbol („und“)
∨ Disjunktionssymbol („oder“)
→ Implikationssymbol („wenn . . . dann“)
↔ Symbol für Äquivalenz („genau dann, wenn“)
( ) die beiden Klammern
Logik für Informatiker, SS ’06 – p.2
Syntax der Prädikatenlogik: Logische Zeichen
Wie in der Aussagenlogik
1 Symbol für den Wahrheitswert „wahr“
0 Symbol für den Wahrheitswert „falsch“
¬ Negationssymbol („nicht“)
∧ Konjunktionssymbol („und“)
∨ Disjunktionssymbol („oder“)
→ Implikationssymbol („wenn . . . dann“)
↔ Symbol für Äquivalenz („genau dann, wenn“)
( ) die beiden Klammern
Quantoren
∀ Allquantor („für alle“)
∃ Existenzquantor („es gibt“)
Logik für Informatiker, SS ’06 – p.2
Syntax der Prädikatenlogik: Vokabular
Definition: Variablenmenge Var
Abzählbare Menge von Variablensymbolen
z.B.:
x, y, a, b, . . .
Logik für Informatiker, SS ’06 – p.3
Syntax der Prädikatenlogik: Vokabular
Definition: Variablenmenge Var
Abzählbare Menge von Variablensymbolen
z.B.:
x, y, a, b, . . .
Definition: Prädikatenlogische Signatur Σ
Paar Σ = h P, F i mit
Logik für Informatiker, SS ’06 – p.3
Syntax der Prädikatenlogik: Vokabular
Definition: Variablenmenge Var
Abzählbare Menge von Variablensymbolen
z.B.:
x, y, a, b, . . .
Definition: Prädikatenlogische Signatur Σ
Paar Σ = h P, F i mit
P: Prädikatensymbole z.B. bruderVon , >, =, . . .
F : Funktionssymbole z.B. 2, koblenz , c, sqrt , leftLegOf , . . .
Logik für Informatiker, SS ’06 – p.3
Syntax der Prädikatenlogik: Vokabular
Definition: Variablenmenge Var
Abzählbare Menge von Variablensymbolen
z.B.:
x, y, a, b, . . .
Definition: Prädikatenlogische Signatur Σ
Paar Σ = h P, F i mit
P: Prädikatensymbole z.B. bruderVon , >, =, . . .
F : Funktionssymbole z.B. 2, koblenz , c, sqrt , leftLegOf , . . .
Bemerkung
Das Gleichheitsprädikat kann enthalten sein
Es wird infix notiert
Logik für Informatiker, SS ’06 – p.3
Syntax der Prädikatenlogik: Vokabular
Bemerkung
Funktions- und Prädikatensymbole haben ein Stelligkeit n ≥ 0
Logik für Informatiker, SS ’06 – p.4
Syntax der Prädikatenlogik: Vokabular
Bemerkung
Funktions- und Prädikatensymbole haben ein Stelligkeit n ≥ 0
Definition: Konstante
Funktionsssymbole mit Stelligkeit n = 0 heißen Konstante
z.B. 2, koblenz , c
Logik für Informatiker, SS ’06 – p.4
Syntax der Prädikatenlogik: Terme
– Σ = h P, F i eine prädikatenlogische Signatur
– Var eine Menge von Variablen
Definition: Menge Term Σ der Terme über Σ
Logik für Informatiker, SS ’06 – p.5
Syntax der Prädikatenlogik: Terme
– Σ = h P, F i eine prädikatenlogische Signatur
– Var eine Menge von Variablen
Definition: Menge Term Σ der Terme über Σ
Die kleinste Menge mit:
• Var ⊆ Term Σ
• Wenn
–
–
–
f∈F
n die Stelligkeit von f
t1 , . . . , tn ∈ Term Σ
dann
f (t1 , . . . , tn ) ∈ Term Σ
Logik für Informatiker, SS ’06 – p.5
Syntax der Prädikatenlogik: Terme
Bemerkungen
• (Insbesondere) alle Konstanten in Term Σ
Logik für Informatiker, SS ’06 – p.6
Syntax der Prädikatenlogik: Terme
Bemerkungen
• (Insbesondere) alle Konstanten in Term Σ
• Terme bezeichnen Elemente
Logik für Informatiker, SS ’06 – p.6
Syntax der Prädikatenlogik: Atomare Formeln
– Σ = h P, F i eine prädikatenlogische Signatur
– Var eine Menge von Variablen
Definition: Menge Atom Σ der Atome über Σ
Logik für Informatiker, SS ’06 – p.7
Syntax der Prädikatenlogik: Atomare Formeln
– Σ = h P, F i eine prädikatenlogische Signatur
– Var eine Menge von Variablen
Definition: Menge Atom Σ der Atome über Σ
Wenn
–
–
–
p∈P
n die Stelligkeit von p
t1 , . . . , tn ∈ Term Σ
dann
p(t1 , . . . , tn ) ∈ Atom Σ
Logik für Informatiker, SS ’06 – p.7
Syntax der Prädikatenlogik: Atomare Formeln
– Σ = h P, F i eine prädikatenlogische Signatur
– Var eine Menge von Variablen
Definition: Menge Atom Σ der Atome über Σ
Wenn
–
–
–
p∈P
n die Stelligkeit von p
t1 , . . . , tn ∈ Term Σ
dann
p(t1 , . . . , tn ) ∈ Atom Σ
Bemerkung
Atome haben Wahrheitswerte (im Unterschied zu Termen)
Logik für Informatiker, SS ’06 – p.7
Syntax der Prädikatenlogik: Atomare Formeln
Beispiele
bruder ( kingJohn , richardTheLionheart )
Logik für Informatiker, SS ’06 – p.8
Syntax der Prädikatenlogik: Atomare Formeln
Beispiele
bruder ( kingJohn , richardTheLionheart )
| {z } | {z } |
{z
}
Prädikat
Konstante
Konstante
Logik für Informatiker, SS ’06 – p.8
Syntax der Prädikatenlogik: Atomare Formeln
Beispiele
bruder ( kingJohn , richardTheLionheart )
| {z } | {z } |
{z
}
Konstante
Konstante
Prädikat
| {z } |
{z
}
Term
Term
Logik für Informatiker, SS ’06 – p.8
Syntax der Prädikatenlogik: Atomare Formeln
Beispiele
bruder ( kingJohn ,
| {z } | {z }
Konstante
Prädikat
| {z }
Term
|
richardTheLionheart )
|
{z
}
Konstante
|
{z
}
Term
{z
}
Atom
Logik für Informatiker, SS ’06 – p.8
Syntax der Prädikatenlogik: Atomare Formeln
Beispiel
> ( laenge (linkesBein (richard )), laenge (linkesBein (kingJohn )) )
Logik für Informatiker, SS ’06 – p.9
Syntax der Prädikatenlogik: Atomare Formeln
Beispiel
> ( laenge (linkesBein (richard )), laenge (linkesBein (kingJohn )) )
| {z } | {z } |
{z
} | {z } | {z } |
{z
} | {z }
Prädikat
Funktion
Funktion
Konstante
Funktion
Funktion
Konstante
Logik für Informatiker, SS ’06 – p.9
Syntax der Prädikatenlogik: Atomare Formeln
Beispiel
> ( laenge (linkesBein (richard )), laenge (linkesBein (kingJohn )) )
|{z} | {z } |
{z
} | {z } | {z } |
{z
} | {z }
Konstante
Konstante
Prädikat Funktion
Funktion
Funktion
Funktion
|
{z
} |
{z
}
Term
Term
Logik für Informatiker, SS ’06 – p.9
Syntax der Prädikatenlogik: Atomare Formeln
Beispiel
> ( laenge (linkesBein (richard )), laenge (linkesBein (kingJohn )) )
|{z} | {z } |
{z
} | {z } | {z } |
{z
} | {z }
Konstante
Konstante
Prädikat Funktion
Funktion
Funktion
Funktion
|
{z
} |
{z
}
Term
Term
|
{z
}
Atom
Logik für Informatiker, SS ’06 – p.9
Syntax der Prädikatenlogik: Komplexe Formeln
– Σ = h P, F i eine prädikatenlogische Signatur
– Var eine Menge von Variablen
Definition: Menge For Σ der Formeln über Σ
Logik für Informatiker, SS ’06 – p.10
Syntax der Prädikatenlogik: Komplexe Formeln
– Σ = h P, F i eine prädikatenlogische Signatur
– Var eine Menge von Variablen
Definition: Menge For Σ der Formeln über Σ
Die kleinste Menge mit:
• Atom Σ ⊆ For Σ
• 1 ∈ ForΣ
und
0 ∈ ForΣ
• Wenn A, B ∈ ForΣ , dann auch
¬ A,
(A ∧ B),
(A ∨ B),
(A → B),
(A ↔ B)
in For Σ
Logik für Informatiker, SS ’06 – p.10
Syntax der Prädikatenlogik: Komplexe Formeln
– Σ = h P, F i eine prädikatenlogische Signatur
– Var eine Menge von Variablen
Definition: Menge For Σ der Formeln über Σ
Die kleinste Menge mit:
• Atom Σ ⊆ For Σ
• 1 ∈ ForΣ
und
0 ∈ ForΣ
• Wenn A, B ∈ ForΣ , dann auch
¬ A,
(A ∧ B),
(A ∨ B),
(A → B),
(A ↔ B)
in For Σ
• Wenn A ∈ ForΣ und x ∈ Var , dann
∀xA, ∃xA in ForΣ
Logik für Informatiker, SS ’06 – p.10
Syntax der Prädikatenlogik: Komplexe Formeln
Beispiel
Logik für Informatiker, SS ’06 – p.11
Syntax der Prädikatenlogik: Komplexe Formeln
Beispiel
bruder ( kingJohn , richard )
→
bruder ( richard , kingJohn )
Logik für Informatiker, SS ’06 – p.11
Syntax der Prädikatenlogik: Komplexe Formeln
Beispiel
bruder ( kingJohn , richard )
| {z } | {z } | {z }
Prädikat
Term
Term
→
bruder ( richard , kingJohn )
| {z } | {z } | {z }
Prädikat
Term
Term
Logik für Informatiker, SS ’06 – p.11
Syntax der Prädikatenlogik: Komplexe Formeln
Beispiel
bruder ( kingJohn , richard )
| {z } | {z } | {z }
Term
Term
Prädikat
|
{z
}
Atom
→
bruder ( richard , kingJohn )
| {z } | {z } | {z }
Term
Term
Prädikat
|
{z
}
Atom
Logik für Informatiker, SS ’06 – p.11
Syntax der Prädikatenlogik: Komplexe Formeln
Beispiel
bruder ( kingJohn , richard )
| {z } | {z } | {z }
Term
Term
Prädikat
|
{z
}
Atom
|
→
{z
bruder ( richard , kingJohn )
| {z } | {z } | {z }
Term
Term
Prädikat
|
{z
}
Atom
}
Komplexe Formel
Logik für Informatiker, SS ’06 – p.11
Syntax der Prädikatenlogik: Komplexe Formeln
Beispiel
„Alle, die in Koblenz studieren, sind schlau“
∀
x (studiertIn (x , koblenz ) → schlau (x ))
|{z} |
{z
}
Variable
|
Formel (Skopus)
{z
Formel
}
Logik für Informatiker, SS ’06 – p.12
Syntax der Prädikatenlogik: Komplexe Formeln
Beispiel
„Alle, die in Koblenz studieren, sind schlau“
∀
x (studiertIn (x , koblenz ) → schlau (x ))
|{z} |
{z
}
Variable
|
Formel (Skopus)
{z
Formel
}
„Jemand, der in Landau studiert ist schlau“
∃
x (studiertIn (x , landau ) ∧ schlau (x ))
|{z} |
{z
}
Variable
|
Formel (Skopus)
{z
Formel
}
Logik für Informatiker, SS ’06 – p.12
Freie und gebundene Variablen
Definition: Freie / gebundene Variable
Ein Vorkommen einer Variablen x heißt
gebunden, wenn sie im Skopus einer Quantifizierung ∀x / ∃x ist
frei sonst
Logik für Informatiker, SS ’06 – p.13
Freie und gebundene Variablen
Definition: Freie / gebundene Variable
Ein Vorkommen einer Variablen x heißt
gebunden, wenn sie im Skopus einer Quantifizierung ∀x / ∃x ist
frei sonst
Beispiel
p(z) → ∀x (q(x, z) ∧ ∃z r(y, z))
x gebunden
y frei
z frei und gebunden
(sollte vermieden werden!)
Logik für Informatiker, SS ’06 – p.13
Semantik der Prädikatenlogik
Definition: Prädikatenlogisches Modell (Interpretation)
Paar hU , Ai mit
Logik für Informatiker, SS ’06 – p.14
Semantik der Prädikatenlogik
Definition: Prädikatenlogisches Modell (Interpretation)
Paar hU , Ai mit
U : eine nicht-leere Menge (Universum)
Logik für Informatiker, SS ’06 – p.14
Semantik der Prädikatenlogik
Definition: Prädikatenlogisches Modell (Interpretation)
Paar hU , Ai mit
U : eine nicht-leere Menge (Universum)
A: eine Interpretationsfunktion – sie interpretiert
– Variablen:
durch ein Element des Universums
– Prädikate:
durch eine Relation auf dem Universum
(mit passender Stelligkeit)
– Funktionen:
durche eine Funktion auf dem Universium
(mit passender Stelligkeit)
Logik für Informatiker, SS ’06 – p.14
Semantik der Prädikatenlogik
Bemerkungen
• Im allgemeinen ist das Universum U einen prädikatenlogischen
Modells unendlich
Logik für Informatiker, SS ’06 – p.15
Semantik der Prädikatenlogik
Bemerkungen
• Im allgemeinen ist das Universum U einen prädikatenlogischen
Modells unendlich
• Auch schon für ein endliches U gibt es eine riesige Zahl
verschiedener Modelle
Logik für Informatiker, SS ’06 – p.15
Semantik der Prädikatenlogik
Notation
I = hU , Ai ein prädikatenlogisches Modell
Dann
sI
für
A(s)
Logik für Informatiker, SS ’06 – p.16
Semantik der Prädikatenlogik
Gegeben ein prädikatenlogisches Modell I
Definition: Semantik eines Terms t
Element I(t) aus U , das rekursiv definiert ist durch
Logik für Informatiker, SS ’06 – p.17
Semantik der Prädikatenlogik
Gegeben ein prädikatenlogisches Modell I
Definition: Semantik eines Terms t
Element I(t) aus U , das rekursiv definiert ist durch
• t = x eine Variable:
• t = c eine Konstante:
I(t) = x I
I(t) = c I
Logik für Informatiker, SS ’06 – p.17
Semantik der Prädikatenlogik
Gegeben ein prädikatenlogisches Modell I
Definition: Semantik eines Terms t
Element I(t) aus U , das rekursiv definiert ist durch
• t = x eine Variable:
• t = c eine Konstante:
• t = f (t1 , . . . , tn ):
I(t) = x I
I(t) = c I
I(t) = f I (I(t1 ), . . . , I(tn ))
Logik für Informatiker, SS ’06 – p.17
Semantik der Prädikatenlogik
Gegeben ein prädikatenlogisches Modell I
Definition: Semantik einer Formel
Semantik I(F) einer Formel F in einem Modell I
ist einer der Wahrheitswerte true und false
Logik für Informatiker, SS ’06 – p.18
Semantik der Prädikatenlogik
Gegeben ein prädikatenlogisches Modell I
Definition: Semantik einer Formel
Semantik I(F) einer Formel F in einem Modell I
ist einer der Wahrheitswerte true und false
I(1) = true
I(0) = false
I(p(t1 , . . . , tn ) = p I (I(t1 ), . . . , I(tn ))
Logik für Informatiker, SS ’06 – p.18
Semantik der Prädikatenlogik
und (wie in der Aussagenlogik):
I(¬ F) =


 false

 true
falls
I(F) = true
falls
I(F) = false
Logik für Informatiker, SS ’06 – p.19
Semantik der Prädikatenlogik
und (wie in der Aussagenlogik):
I(F ∧ G) =


 true
I(F ∨ G) =


 true

 false

 false
falls
I(F) = true und I(G) = true
sonst
falls
I(F) = true oder I(G) = true
sonst
Logik für Informatiker, SS ’06 – p.20
Semantik der Prädikatenlogik
und (wie in der Aussagenlogik):
I(F → G) =


 true

 false
I(F ↔ G) =
falls
I(F) = false oder I(G) = true
sonst


 true

 false
falls
I(F) = I(G)
sonst
Logik für Informatiker, SS ’06 – p.21
Semantik der Prädikatenlogik
und zusätzlich:
I(∀xF) =


 true

 false
falls
Ix/d (F) = true für alle d ∈ U
sonst
Logik für Informatiker, SS ’06 – p.22
Semantik der Prädikatenlogik
und zusätzlich:
I(∀xF) =
I(∃xF) =


 true

 false


 true

 false
falls
falls
Ix/d (F) = true für alle d ∈ U
sonst
Ix/d (F) = true für mindestens ein d ∈ U
sonst
Logik für Informatiker, SS ’06 – p.22
Semantik der Prädikatenlogik
und zusätzlich:
I(∀xF) =
I(∃xF) =


 true

 false


 true

 false
falls
falls
Ix/d (F) = true für alle d ∈ U
sonst
Ix/d (F) = true für mindestens ein d ∈ U
sonst
Notation
Ix/d identisch mit I mit der Ausnahme, dass x Ix/d = d
Logik für Informatiker, SS ’06 – p.22
Universelle Quantifizierung
Intuition
∀xF entspricht in etwa der (unendlichen) Konjunktion
aller Instanzen von F
Logik für Informatiker, SS ’06 – p.23
Universelle Quantifizierung
Intuition
∀xF entspricht in etwa der (unendlichen) Konjunktion
aller Instanzen von F
Beispiel
∀ x (studiertIn (x , koblenz ) → schlau (x ))
entspricht
studiertIn(student1, koblenz) → schlau(student1)
∧ studiertIn(student2, koblenz) → schlau(student2)
∧ studiertIn(koblenz, koblenz) → schlau(koblenz)
∧ ...
Logik für Informatiker, SS ’06 – p.23
Universelle Quantifizierung
Faustregel
→ ist der logische (Top-level-)Operator mit ∀
Logik für Informatiker, SS ’06 – p.24
Universelle Quantifizierung
Faustregel
→ ist der logische (Top-level-)Operator mit ∀
Häufiger Fehler
Verwendung von
∧ mit ∀
Logik für Informatiker, SS ’06 – p.24
Universelle Quantifizierung
Faustregel
→ ist der logische (Top-level-)Operator mit ∀
Häufiger Fehler
Verwendung von
∧ mit ∀
Beispiel
Richtig:
∀x (studiertIn(x, koblenz) → schlau(x))
“Alle, die in Koblenz studieren, sind schlau”
Logik für Informatiker, SS ’06 – p.24
Universelle Quantifizierung
Faustregel
→ ist der logische (Top-level-)Operator mit ∀
Häufiger Fehler
Verwendung von
∧ mit ∀
Beispiel
Richtig:
∀x (studiertIn(x, koblenz) → schlau(x))
“Alle, die in Koblenz studieren, sind schlau”
Falsch:
∀x (studiertIn(x, koblenz) ∧ schlau(x))
“Alle studieren in Koblenz und sind schlau”, d.h.,
Logik für Informatiker, SS ’06 – p.24
“Alle studieren in Koblenz und alle sind schlau”
Existenzielle Quantifizierung
Intuition
∃xF entspricht in etwa der (unendlichen) Disjunktion
aller Instanzen von F
Logik für Informatiker, SS ’06 – p.25
Existenzielle Quantifizierung
Intuition
∃xF entspricht in etwa der (unendlichen) Disjunktion
aller Instanzen von F
Beispiel
∃ x (studiertIn (x , landau ) ∧ schlau (x ))
entspricht
studiertIn(student1, landau) ∧ schlau(student1)
∨ studiertIn(student2, landau) ∧ schlau(student2)
∨ studiertIn(landau, landau) ∧ schlau(landau)
∨ ...
Logik für Informatiker, SS ’06 – p.25
Existenzielle Quantifizierung
Faustregel
∧ ist der logische (Top-level-)Operator mit ∃
Logik für Informatiker, SS ’06 – p.26
Existenzielle Quantifizierung
Faustregel
∧ ist der logische (Top-level-)Operator mit ∃
Häufiger Fehler
Verwendung von → mit
∃
Logik für Informatiker, SS ’06 – p.26
Existenzielle Quantifizierung
Faustregel
∧ ist der logische (Top-level-)Operator mit ∃
Häufiger Fehler
Verwendung von → mit
∃
Beispiel
Richtig:
∃x (studiertIn(x, landau) ∧ schlau(x))
“Es gibt jemand, der in Landau studiert und schlau ist”
Logik für Informatiker, SS ’06 – p.26
Existenzielle Quantifizierung
Faustregel
∧ ist der logische (Top-level-)Operator mit ∃
Häufiger Fehler
Verwendung von → mit
∃
Beispiel
Richtig:
∃x (studiertIn(x, landau) ∧ schlau(x))
“Es gibt jemand, der in Landau studiert und schlau ist”
Falsch:
∃x (studiertIn(x, landau) → schlau(x))
“Es gibt jemanden, der, falls er/sie in Landau studiert, schlau ist”
Trivial wahr, wenn es irgendjemanden gibt, der nicht in Landau studiert
Logik für Informatiker, SS ’06 – p.26
Eigenschaften von Quantoren
Quantoren gleicher Art kommutieren
∀ x∀ y
ist das gleiche wie
∀ y∀ x
∃ x∃ y
ist das gleiche wie
∃ y∃ x
Logik für Informatiker, SS ’06 – p.27
Eigenschaften von Quantoren
Verschiedene Quantoren kommutieren NICHT
∃ x∀ y
ist nicht das gleiche wie
∀ y∃ x
Logik für Informatiker, SS ’06 – p.28
Eigenschaften von Quantoren
Verschiedene Quantoren kommutieren NICHT
∃ x∀ y
ist nicht das gleiche wie
∀ y∃ x
Beispiel
∃x∀ y loves(x, y)
Es gibt eine Person, die jeden Menschen in der Welt liebt
(einschließlich sich selbst)
∀ y∃x loves(x, y)
Jeder Mensch wird von mindestens einer Person geliebt
(Beides hoffentliche wahr aber verschieden:
das erste impliziert das zweite aber nicht umgekehrt)
Logik für Informatiker, SS ’06 – p.28
Eigenschaften von Quantoren
Verschiedene Quantoren kommutieren NICHT
∃ x∀ y
ist nicht das gleiche wie
∀ y∃ x
Beispiel
∀x∃ y mutter(y, x)
Jeder hat eine Mutter
(richtig)
∃ y∀x mutter(y, x)
Es gibt eine Person, die die Mutter von jedem ist
(falsch)
Logik für Informatiker, SS ’06 – p.29
Eigenschaften von Quantoren
Dualität der Quantoren
∀x . . .
ist das gleiche wie
¬∃x ¬ . . .
∃x . . .
ist das gleiche wie
¬∀x ¬ . . .
Logik für Informatiker, SS ’06 – p.30
Eigenschaften von Quantoren
Dualität der Quantoren
∀x . . .
ist das gleiche wie
¬∃x ¬ . . .
∃x . . .
ist das gleiche wie
¬∀x ¬ . . .
Beispiel
∀x mag(x, eiskrem)
ist das gleiche wie
¬∃x ¬mag(x, eiskrem)
∃x mag(x, broccoli)
ist das gleiche wie
¬∀x ¬mag(x, broccoli)
Logik für Informatiker, SS ’06 – p.30
Eigenschaften von Quantoren
∀ distributiert über ∧
∀ x ( . . . ∧ . . .)
ist das gleiche wie
(∀x . . .) ∧ (∀x . . .)
Logik für Informatiker, SS ’06 – p.31
Eigenschaften von Quantoren
∀ distributiert über ∧
∀ x ( . . . ∧ . . .)
ist das gleiche wie
(∀x . . .) ∧ (∀x . . .)
Beispiel
∀x (studiert (x) ∧ arbeitet (x))
ist das gleiche wie
(∀x studiert (x)) ∧ (∀x arbeitet (x))
Logik für Informatiker, SS ’06 – p.31
Eigenschaften von Quantoren
∃ distributiert über ∨
∃ x ( . . . ∨ . . .)
ist das gleiche wie
(∃x . . .) ∨ (∃x . . .)
Logik für Informatiker, SS ’06 – p.32
Eigenschaften von Quantoren
∃ distributiert über ∨
∃ x ( . . . ∨ . . .)
ist das gleiche wie
(∃x . . .) ∨ (∃x . . .)
Beispiel
∃x (eiskrem (x) ∨ broccoli (x))
ist das gleiche wie
(∃x eiskrem (x)) ∨ (∃x broccoli (x))
Logik für Informatiker, SS ’06 – p.32
Eigenschaften von Quantoren
∀ distributiert NICHT über ∨
∀ x ( . . . ∨ . . .)
ist NICHT das gleiche wie
(∀x . . .) ∨ (∀x . . .)
Logik für Informatiker, SS ’06 – p.33
Eigenschaften von Quantoren
∀ distributiert NICHT über ∨
∀ x ( . . . ∨ . . .)
ist NICHT das gleiche wie
(∀x . . .) ∨ (∀x . . .)
Beispiel
∀x (eiskrem (x) ∨ broccoli (x))
ist NICHT das gleiche wie
(∀x eiskrem (x)) ∨ (∀x broccoli (x))
Logik für Informatiker, SS ’06 – p.33
Eigenschaften von Quantoren
∃ distributiert NICHT über ∧
∃ x ( . . . ∧ . . .)
ist NICHT das gleiche wie
(∃x . . .) ∧ (∃x . . .)
Logik für Informatiker, SS ’06 – p.34
Eigenschaften von Quantoren
∃ distributiert NICHT über ∧
∃ x ( . . . ∧ . . .)
ist NICHT das gleiche wie
(∃x . . .) ∧ (∃x . . .)
Beispiel
∃x (gerade (x) ∧ ungerade (x))
ist NICHT das gleiche wie
(∃x gerade (x)) ∧ (∃x ungerade (x))
Logik für Informatiker, SS ’06 – p.34
Beispiele: Familienverhältnisse
• „Brüder sind Geschwister“
∀x∀ y (bruder(x, y) → geschwister(x, y))
Logik für Informatiker, SS ’06 – p.35
Beispiele: Familienverhältnisse
• „Brüder sind Geschwister“
∀x∀ y (bruder(x, y) → geschwister(x, y))
• „bruder“ ist symmetrisch
∀x∀ y (bruder(x, y) ↔ bruder(y, x))
Logik für Informatiker, SS ’06 – p.35
Beispiele: Familienverhältnisse
• „Brüder sind Geschwister“
∀x∀ y (bruder(x, y) → geschwister(x, y))
• „bruder“ ist symmetrisch
∀x∀ y (bruder(x, y) ↔ bruder(y, x))
• „Mütter sind weibliche Elternteile“
∀x∀ y (mutter(x, y) ↔ (weiblich(x) ∧ elter (x, y)))
Logik für Informatiker, SS ’06 – p.35
Beispiele: Familienverhältnisse
• „Brüder sind Geschwister“
∀x∀ y (bruder(x, y) → geschwister(x, y))
• „bruder“ ist symmetrisch
∀x∀ y (bruder(x, y) ↔ bruder(y, x))
• „Mütter sind weibliche Elternteile“
∀x∀ y (mutter(x, y) ↔ (weiblich(x) ∧ elter (x, y)))
• „Ein Cousin ersten Grades ist
das Kind eines Geschwisters eines Elternteils“
∀x∀ y (cousin1(x, y) ↔
∃ p∃ ps (elter (p, x) ∧ geschwister(ps, p) ∧ elter (ps, y)))
Logik für Informatiker, SS ’06 – p.35
Das Gleichheitsprädikat
Semantik
Für alle Interpratationen I gilt:
I(term 1 = term 2 ) = true
genau dann, wenn
I(term 1 ) = I(term 2 )
Logik für Informatiker, SS ’06 – p.36
Das Gleichheitsprädikat
Semantik
Für alle Interpratationen I gilt:
I(term 1 = term 2 ) = true
genau dann, wenn
I(term 1 ) = I(term 2 )
Beispiele
a = b ist erfüllbar
a = a ist allgemeingültig
Logik für Informatiker, SS ’06 – p.36
Das Gleichheitsprädikat
Beispiel
Formalisierung von „Bruder, der nicht nur Halbbruder ist“
∀x∀ y bruder(x, y) ↔ (¬(x = y) ∧
∃m∃v (¬(m = v) ∧
elter (m, x) ∧ elter (v, x) ∧
elter (m, y) ∧ elter (v, y)))
Logik für Informatiker, SS ’06 – p.37
Wichtige Begriffe für Prädikatenlogik
Definition
– Allgemeingültigkeit
– Erfüllbarkeit
– Unerfüllbarkeit
– Logische Folgerung
– Logische Äquivalenz
für Prädikatenlogik genauso definiert wie für Aussagenlogik
(nur mit prädikatenlogischen Modellen statt aussagenlogischen)
Logik für Informatiker, SS ’06 – p.38
Ausblick: Entscheidbarkeit der Erfüllbarkeit
Kalküle
Es gibt korrekte und vollständige Kalküle für Prädikatenlogik
(z.B. Resolution)
Wenn KB ` F , dann KB |= F
Wenn KB |= F , dann KB ` F
Logik für Informatiker, SS ’06 – p.39
Ausblick: Entscheidbarkeit der Erfüllbarkeit
Kalküle
Es gibt korrekte und vollständige Kalküle für Prädikatenlogik
(z.B. Resolution)
Wenn KB ` F , dann KB |= F
Wenn KB |= F , dann KB ` F
Aber diese Kalküle können die Erfüllbarkeit von Formeln
NICHT entscheiden
Logik für Informatiker, SS ’06 – p.39
Ausblick: Entscheidbarkeit der Erfüllbarkeit
Aussagenlogik
Allgemeingültigkeit, Erfüllbarkeit, Unerfüllbarkeit ENTSCHEIDBAR
Logik für Informatiker, SS ’06 – p.40
Ausblick: Entscheidbarkeit der Erfüllbarkeit
Aussagenlogik
Allgemeingültigkeit, Erfüllbarkeit, Unerfüllbarkeit ENTSCHEIDBAR
Prädikatenlogik
Menge der allgemeingültigen Formeln AUFZÄHLBAR
Menge der unerfüllbaren Formeln AUFZÄHLBAR
Menge der erfüllbaren Formeln
NICHT AUFZÄHLBAR
Logik für Informatiker, SS ’06 – p.40
Zusammenfassung: Syntax und Semantik
• Prädikatenlogische Signatur
Logik für Informatiker, SS ’06 – p.41
Zusammenfassung: Syntax und Semantik
• Prädikatenlogische Signatur
• Term, Atom, Formel
Logik für Informatiker, SS ’06 – p.41
Zusammenfassung: Syntax und Semantik
• Prädikatenlogische Signatur
• Term, Atom, Formel
• Prädikatenlogisches Modell
Logik für Informatiker, SS ’06 – p.41
Zusammenfassung: Syntax und Semantik
• Prädikatenlogische Signatur
• Term, Atom, Formel
• Prädikatenlogisches Modell
• Auswertung von Formeln in Modellen
Logik für Informatiker, SS ’06 – p.41
Zusammenfassung: Syntax und Semantik
• Prädikatenlogische Signatur
• Term, Atom, Formel
• Prädikatenlogisches Modell
• Auswertung von Formeln in Modellen
• Eigenschaften von Quantoren
(Vertauschbarkeit untereinander und mit ∧, ∨
Logik für Informatiker, SS ’06 – p.41
Zusammenfassung: Syntax und Semantik
• Prädikatenlogische Signatur
• Term, Atom, Formel
• Prädikatenlogisches Modell
• Auswertung von Formeln in Modellen
• Eigenschaften von Quantoren
(Vertauschbarkeit untereinander und mit ∧, ∨
• Gleichheitsprädikat
Logik für Informatiker, SS ’06 – p.41
Zusammenfassung: Syntax und Semantik
• Prädikatenlogische Signatur
• Term, Atom, Formel
• Prädikatenlogisches Modell
• Auswertung von Formeln in Modellen
• Eigenschaften von Quantoren
(Vertauschbarkeit untereinander und mit ∧, ∨
• Gleichheitsprädikat
• Entscheidbarkeit der Erfüllbarkeit von Formeln
Logik für Informatiker, SS ’06 – p.41
Herunterladen