Logik für Informatiker

Werbung
Logik für Informatiker
3. Prädikatenlogik
Teil 3
12.06.2012
Viorica Sofronie-Stokkermans
Universität Koblenz-Landau
e-mail: [email protected]
1
Semantik
Semantik geben bedeutet für logische Systeme, einen Begriff von Wahrheit
für Formeln zu definieren. Das hier für die Prädikatenlogik zu definierende
Konzept geht auf Tarski zurück.
In der klassischen Logik (zurückgehend auf Aristoteles) gibt es nur“ die
”
zwei Wahrheitswerte wahr“ und falsch“, die wir mit 1 und 0 bezeichnen.
”
”
2
Strukturen
Definition.
Eine Σ-Struktur (bzw. Σ-Interpretation bzw. Σ-Modell) ist ein Tripel
A = (U, (fA : U n → U)f /n∈Ω , (pA ⊆ U m )p/m∈Π )
wobei U 6= ∅ eine Menge, genannt Universum von A.
Oft identifizieren wir U mit A, wenn die Interpretation der Funktions- und
Prädikatensymbole eindeutig aus dem Kontext hervorgeht.
Mit Σ-Str bezeichnen wir die Menge aller Σ-Strukturen.
3
Valuationen
Variablen für sich haben keine Bedeutung. Hierfür müssen Wertebelegungen
(Valuationen) explizit oder implizit aus dem Kontext zur Verfügung stehen.
Definition.
Unter einer (Variablen-) Belegung oder einer Valuation (über einer
Σ-Struktur A) versteht man eine Abbildung
β:X →U
4
Wert eines Terms in A bzgl. β
Durch strukturelle Induktion definieren wir:
A(β)(x) = β(x),
x ∈X
A(β)(f (s1 , . . . , sn )) = fA (A(β)(s1 ), . . . , A(β)(sn )),
f /n ∈ Ω
5
Wert eines Terms in A bzgl. β
Wert eines Terms in A bzgl. β, A(β)(t):
• Falls t = x ∈ X : A(β)(t) = β(x)
• Falls t = c eine Konstante: A(β)(t) = cA
6
Wert eines Terms in A bzgl. β
Wert eines Terms in A bzgl. β, A(β)(t):
• Falls t = x ∈ X : A(β)(t) = β(x)
• Falls t = c eine Konstante: A(β)(t) = cA
• Falls t = f (t1 , . . . , tn ):
A(β)(t) = fA (A(β)(t1 ), . . . , A(β)(tn ))
7
Wert eines Terms in A bzgl. β
Wert eines Terms in A bzgl. β, A(β)(t):
• Falls t = x ∈ X : A(β)(t) = β(x)
• Falls t = c eine Konstante: A(β)(t) = cA
• Falls t = f (t1 , . . . , tn ):
A(β)(t) = fA (A(β)(t1 ), . . . , A(β)(tn ))
Beispiel: Σ = ({+/2, 0/0}, {≤, ≈})
N = (N, {0N , +N : N × N → N}, {≤N ⊆ N × N, ≈N })
0N = 0 ∈ N,
+N (n1 , n1 ) = n1 + n2 ∈ N
β : {x, y , z} → N mit β(x) = 5, β(y ) = 10, β(z) = 3
N (β)((x + (y + z)) + (z + 0)) =
= (β(x) +N (β(y ) +N β(z))) +N (β(z) +N 0N ) =
= (5 + (10 + 3)) + (3 + 0) = 21
8
Wahrheitswert einer Formel in A bzgl. β
Die Menge der Wahrheitswerte sei {0, 1}.
A(β) : ForΣ → {0, 1} wird induktiv über Aufbau von F wie folgt definiert:
A(β)(⊥) = 0
A(β)(⊤) = 1
9
Wahrheitswert einer Formel in A bzgl. β
A(β)(p(s1 , . . . , sn )) = 1
g.d.w.
(A(β)(s1 ), . . . , A(β)(sn )) ∈ pA
A(β)(s ≈ t) = 1
g.d.w.
A(β)(s) = A(β)(t)
10
Wahrheitswert einer Formel in A bzgl. β
A(β)(¬F ) = 1
g.d.w.
A(β)(F ) = 0
A(β)(F ρG ) = Bρ (A(β)(F ), A(β)(G ))
mit Bρ die ρ zugeordnete Boolesche Funktion
11
Wahrheitswert einer Formel in A bzgl. β
A
A(β)( xF ) = min{A(β[x → a])(F )} =
a∈U
E
A(β)( xF ) = max{A(β[x → a])(F )} =
a∈U
(
1
falls A(β[x 7→ a])(F ) = 1 für alle a ∈ U
0
sonst
8
>
>
< 1
>
>
: 0
falls A(β[x 7→ a])(F ) = 1 für mindestens
ein a ∈ U
sonst
Für x ∈ X und a ∈ U bezeichne β[x → a] : X → U die Belegung, mit
8
<a
falls x = y
β[x → a](y ) :=
:β(y ) sonst
12
Beispiel
UN = {0, 1, 2, . . .}
0N = 0 ∈ UN
sN : UN → UN , sN (n) = n + 1
+N : UN2 → UN , +N (n, m) = n + m
∗N : UN2 → UN , ∗N (n, m) = n ∗ m
≤N = “kleiner-gleich” ⊆ UN2
<N = “kleiner” ⊆ UN2
Mit β(x) = 1, β(y ) = 3 ergibt sich beispielsweise:
N(β)(s(x) + s(0))
=
3
N(β)(x + y ≈ s(y ))
=
1
A
=
1
N(β)( z z ≤ y )
A
=
0
E A
=
1
N(β)( x, y (x + y ≈ y + x))
N(β)( x y x < y )
13
Modelle, Gültigkeit, Erfüllbarkeit
14
Gültigkeit und Erfüllbarkeit
Definition. F gilt in A unter β:
A, β |= F g.d.w. A(β)(F ) = 1
Definition. F gilt in A (A ist Modell von F ):
A |= F g.d.w. A, β |= F , für alle β : X → UA
Definition. F ist (allgemein-) gültig:
|= F g.d.w. A |= F , für alle A ∈ Σ-Str
F heißt erfüllbar gdw. es A und β gibt, so daß A, β |= F .
Sonst heißt F unerfüllbar.
15
Folgerung und Äquivalenz
Definition. F impliziert G (oder G folgt aus F ), i.Z. F |= G
gdw. für alle A ∈ Σ-Str und β : X → UA gilt:
Falls A, β |= F , so A, β |= G .
Definition. F und G sind äquivalent
gdw. für alle A ∈ Σ-Str und β : X → UA gilt:
A, β |= F genau dann, wenn A, β |= G .
Satz. F impliziert G gdw. (F → G ) ist gültig
Satz. F und G sind äquivalent gdw. (F ↔ G ) ist gültig.
Erweiterung auf Formelmengen N in natürlicher Weise, z.B.:
N |= G gdw.
für alle A ∈ Σ-Str und β : X → UA :
falls A, β |= F , für alle F ∈ N, so A, β |= G .
16
Gültigkeit und Unerfüllbarkeit
Nachweis von Gültigkeit (und damit Folgerung oder Äquivalenz) durch
Unerfüllbarkeitstest:
F gültig genau dann, wenn ¬F unerfüllbar
17
Universelle Quantifizierung
Intuition
A
xF entspricht in etwa der (unendlichen) Konjunktion aller Instanzen von F
18
Universelle Quantifizierung
Intuition
A
xF entspricht in etwa der (unendlichen) Konjunktion aller Instanzen von F
Beispiel:
A
x(studiertIn(x, koblenz) → schlau(x))
entspricht:
(studiertIn(student1, koblenz) → schlau(student1))
∧
(studiertIn(student2, koblenz) → schlau(student2))
∧
...
∧
(studiertIn(koblenz, koblenz) → schlau(koblenz))
19
Universelle Quantifizierung
Faustregel
A
→ ist der logische (Top-level-)Operator mit
20
Universelle Quantifizierung
Faustregel
A
→ ist der logische (Top-level-)Operator mit
Häufiger Fehler
A
Verwendung von ∧ mit
21
Universelle Quantifizierung
Faustregel
A
→ ist der logische (Top-level-)Operator mit
Häufiger Fehler
A
Verwendung von ∧ mit
Beispiel
“Alle, die in Koblenz studieren, sind schlau”
x(studiertIn(x, koblenz) → schlau(x))
A
Falsch:
A
Richtig:
x(studiertIn(x, koblenz) ∧ schlau(x))
“Alle studieren in Koblenz und sind schlau”
22
Universelle Quantifizierung
Faustregel
A
→ ist der logische (Top-level-)Operator mit
Häufiger Fehler
A
Verwendung von ∧ mit
Beispiel
“Alle, die in Koblenz studieren, sind schlau”
x(studiertIn(x, koblenz) → schlau(x))
A
Falsch:
A
Richtig:
x(studiertIn(x, koblenz) ∧ schlau(x))
“Alle studieren in Koblenz und sind schlau”, d.h.
“Alle studieren in Koblenz und alle sind schlau”
23
Existenzielle Quantifizierung
Intuition.
E
xF entspricht in etwa der (unendlichen) Disjunktion aller Instanzen von F .
24
Existenzielle Quantifizierung
Intuition.
E
xF entspricht in etwa der (unendlichen) Disjunktion aller Instanzen von F .
Beispiel:
E
x(studiertIn(x, landau) ∧ schlau(x))
entspricht
(studiertIn(student1, landau) ∧ schlau(student1))
∨
(studiertIn(student2, landau) ∧ schlau(student2))
∨
...
∨
(studiertIn(landau, landau) ∧ schlau(landau))
25
Universelle Quantifizierung
Faustregel
E
∧ ist der logische (Top-level-)Operator mit
26
Universelle Quantifizierung
Faustregel
E
∧ ist der logische (Top-level-)Operator mit
Häufiger Fehler
E
Verwendung von → mit
27
Universelle Quantifizierung
Faustregel
E
∧ ist der logische (Top-level-)Operator mit
Häufiger Fehler
E
Verwendung von → mit
Beispiel
“Es gibt jemand, der in Landau studiert und schlau ist”
x(studiertIn(x, landau) ∧ schlau(x))
E
Falsch:
E
Richtig:
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
28
Eigenschaften von Quantoren
Quantoren gleicher Art kommutieren
A A
A A
E E
E E
x y ist das gleiche wie
y x
x y ist das gleiche wie y x
29
Eigenschaften von Quantoren
Verschiedene Quantoren kommutieren NICHT
30
Eigenschaften von Quantoren
Verschiedene Quantoren kommutieren NICHT
Beispiel:
E A
x y Mutter (x, y )
Jeder hat eine Mutter
(richtig)
31
Eigenschaften von Quantoren
Verschiedene Quantoren kommutieren NICHT
Beispiel:
E A
x y Mutter (y , x)
Jeder hat eine Mutter
(richtig)
A E
y x Mutter (y , x)
Es gibt eine Person, die die Mutter von jedem ist
(falsch)
32
Eigenschaften von Quantoren
Dualität der Quantoren
A
E
E
A
x... ist das gleiche wie ¬ x¬...
x... ist das gleiche wie ¬ x¬...
33
Eigenschaften von Quantoren
Dualität der Quantoren
A
E
E
A
x... ist das gleiche wie ¬ x¬...
x... ist das gleiche wie ¬ x¬...
Beispiel:
A
E
E
A
x mag(x, eiskrem) ist das gleiche wie ¬ x ¬mag(x, eiskrem)
x mag(x, broccoli) ist das gleiche wie ¬ x ¬mag(x, broccoli)
34
Herunterladen