9.6 KiB
Aussagenlogik
Aussagenlogische Formeln (Syntax)
A_1, A_2, \dots
bzw.A, B, C
: atomare Formeln0
,1
: Boolesche Konstanten\lnot F
: Negation vonF
(F \land G)
: Konjunktion(F \lor G)
: Disjunktion(F \to G)
: entspricht(\lnot F \lor G)
(F \leftrightarrow G)
: entspricht((F \land G) \lor (\lnot F \land \lnot G))
(\bigvee_{i=1}^n F_i)
: entspricht((F_1 \lor F_2) \lor F_3) \dots
(\bigwedge_{i=1}^n F_i)
: entspricht((F_1 \land F_2) \land F_3) \dots
Klammern weglassen: \land
bindet stärker als \lor
, also a \land b \lor c \iff (a \land b) \lor c
Belegung (Semantik)
Eine Belegung \mathcal A
legt für jede atomare Formel (A_1, A_2, \dots, B, C, \dots
) einen Wahrheitswert, z.B. \mathcal A(A_1) = 0
, fest.
Außerdem: \mathcal A(F)
ist der Wahrheitswert der Formel F
unter der Belegung \mathcal A
, d.h.
der Wahrheitswert der Formel F
, wenn alle atomaren Formeln, z.B. A_1, \dots, A_n
, als \mathcal A(A_1), \dots, \mathcal A(A_n)
gedeutet werden.
In diesen Definitionen wird dann die Semantik festgelegt:
\land
ist das Und, \lor
ist das Oder, und \lnot
ist die Negation.
Definitionen
Falls eine Belegung \mathcal A
für alle in einer Formel F
vorkommenden
atomaren Formeln definiert ist, so heißt \mathcal A
zu F
passend (d.h. einfach: man kann \mathcal A
auf F
anwenden).
Gilt \mathcal A(F) = 1
, dann ist \mathcal A
ein Modell für F
: \mathcal A \; |= \; F
.
Eine Menge von Formeln heißt erfüllbar, falls es eine Belegung \mathcal A
gibt, die für jede der Formeln ein Modell ist.
Eine Formel F
heißt gültig oder Tautologie falls jede passende Belegung ein Modell für F
ist: |= \; F
F
ist gültig genau dann, wenn \lnot F
unerfüllbar ist.
Folgt G
logisch aus F
(logische Folgerung), F \; |= \; G
, gilt |= \; F \to G
Wenn es mindestens ein Modell für F
gibt, heißt F
erfüllbar, sonst unerfüllbar.
Erfüllbarkeit und Gültigkeit Prüfen
Man könnte "einfach" alle 2^n
Belegungen ausprobieren.
Semantische Äquivalenz (Syntaktisch unterschiedlicher Formeln)
Zwei Formeln F
und G
sind semantisch äquivalent, wenn sie unter
jeder (passenden) Belegung denselben Wahrheitswert erhalten: F \equiv G
Es gilt F \equiv G
genau dann, wenn |= \; (F \leftrightarrow G)
gilt.
Semantische Äquivalenzen:
- Idempotenz
F \land F \equiv F
F \lor F \equiv F
- Kommutativität
F \land G \equiv G \land F
F \lor G \equiv G \lor F
- Assoziativität
F \land (G \land H) \equiv (F \land G) \land H
F \lor (G \lor H) \equiv (F \lor G) \lor H
- Distributivgesetz
F \land (G \lor H) \equiv (F \land G) \lor (F \land H)
F \lor (G \land H) \equiv (F \lor G) \land (F \lor H)
- Absorptionsgesetze
F \land (F \lor G) \equiv F
F \lor (F \land G) \equiv F
- deMorgan
\lnot (F \lor G) = \lnot F \land \lnot G
\lnot (F \land G) = \lnot F \lor \lnot G
- Doppelnegation
\lnot \lnot F \equiv F
- Tautologie- und Unerfüllbarkeitsregeln
1 \lor G \equiv 1
0 \lor G \equiv G
1 \land G \equiv G
0 \land G \equiv 0
- statt 0 oder 1 auch tautologien oder unerfüllbare Formeln möglich
Konjunktive und Disjunktive Normalformen (KNF/DNF)
Beispiels-KNF:
F = (A \lor \lnot B) \land (\lnot C \lor \lnot A \lor D) \land (\lnot A \lor \lnot B) \land D \land \lnot E
Beispiels-DNF:
F = (A \land \lnot B) \lor (\lnot C \land \lnot A \land D) \lor (\lnot A \land \lnot B) \lor D \lor \lnot E
Für jede Formel F
gibt es (mind.) eine äquivalente (\equiv
) Formel in KNF und (mind.) eine in DNF.
Hornformeln
Erfüllbarkeit mit beliebigen Formeln oder KNFs zu prüfen ist schwierig (NP), mit DNFs ist es aber einfach - DNFs herzustellen ist aber schwierig.
Hornformeln sind eingeschränkte aussagenlogische Formeln, deren Erfüllbarkeit dafür aber leicht zu testen ist.
Hornformeln sind Formeln F
in KNF, wobei jede Klausel in F
höchstens ein positives Literal enthält:
Hornklauseln: A
, \lnot A
, \lnot A \lor B
, \lnot A \lor B \lor \lnot C
, aber nicht A \lor B
, \lnot A \lor B \lor C
Hornformel: A \land (\lnot A \lor B) \land \lnot C
(TODO?) Erfüllbarkeitstest für Hornformeln (Aussagenlogik2:21)
Resolution
Mit Resolution kann eine Formel auf Unerfüllbarkeit getestet werden.
Basierend nur auf Syntax wissen wir u.A.:
F \lor \lnot F \equiv 1
undF \land \lnot F \equiv 0
- Wenn
F
undF \to G
, dann auchG
Anwendung:
Sei F
eine Formel in KNF, also
F = (L_{1,1} \lor \dots \lor L_{1,n_1}) \land \dots \land (L_{k,1} \lor \dots \lor L_{k,n_k})
Wir stellen die Formel als Mengen von Klauseln dar:
F = \{ \{ L_{1,1}, \dots, L_{1,n_1} \}, \dots, \{ L_{k,1}, \dots, L_{k,n_k} \} \}
Wenn es zwei Klauseln gibt, wovon eine ein Literal positiv und die andere dasselbe Literal negativ beinhaltet,
wird R
aus den beiden Klauseln nach dem Literal resolviert:
K_1 = \{ A, \lnot B, C, D \}
K_2 = \{ A, \lnot B, \lnot C \}
\to \{ A, \lnot B, D \} = R
Also R = K_1
ohne C \; \cup \; K_2
ohne \lnot C
Wenn man irgendwie auf einen Resolvent R = \{ \}
kommt,
ist die Formel widerlegt (Resolutionssatz der Aussagenlogik).
Prädikatenlogik
Erweitert die Aussagenlogik mit
- Quantoren
\exists, \forall
- Variablen
x_1, x_2, \dots
oderu, v, w, x, y, z
- Funktionssymbole
f_1, f_2, \dots
oderf, g, h
- Konstanten (Funktionssymbole der Stelligkeit 0):
a_1, a_2, \dots
odera, b, c
- Prädikatsybole:
P_1, P_2, \dots
oderP, Q, R
Signatur
\Sigma = \{ a/0, f/3, P/2 \}
Beinhaltet nicht die Variablen
PL(\Sigma)
ist die Menge aller prädikatenlogischen Aussagen über der Signatur \Sigma
.
Prädikatenlogische Formeln
Terme
- Variablen
x_1
- Funktionen
f(t_1, \dots, t_k)
mit Terment_1, \dots, t_k
Terme, die keine Variablen enthalten, sind Grundterme.
Formeln
P(t_1, \dots, t_k)
mit Terment_1, \dots, t_k
und PrädikatsymbolP
(Atomare Formeln)- Sonst wie bei Aussagenlogik mit
\lnot
,\land
,\lor
\exists x F
und\forall x F
mit Variablex
und FormelF
Variablen sind gebunden, wenn sie mit \exists
oder \forall
verwendet werden, sonst frei.
Eine Formel ohne Vorkommen einer freien Variable heißt geschlossen oder eine Aussage.
Matrix
Die Matrix von F
, also F
ohne \exists
und \forall
, ist F^*
:
F = \exists x \dots \land \lnot \forall y \dots
F^* = \dots \land \lnot \dots
Bereinigt
Eine Formel ist bereinigt, wenn verschiedene Quantoren nicht dieselbe Variable binden:
\exists x \dots \land \forall x \dots \; \to \; \exists x \dots \land \forall y \dots
Struktur \mathcal A
Eine Struktur \mathcal A
zu einer Signatur \Sigma
ist ein Paar (U_{\mathcal A}, I_{\mathcal A})
.
U_{\mathcal A}
ist das Universum, I_{\mathcal A}
ordnet jedem Funktions-/Prädikatssymbol eine Funktion bzw. Relation (Menge) auf U_{\mathcal A}
zu.
Wir schreiben f^{\mathcal A}
für I_{\mathcal A}(f)
bzw P^{\mathcal A}
für I_{\mathcal A}(P)
.
Eine Struktur ist passend zu einer Aussage, falls die Signatur passt (d.h. die in F
vorkommenden Funktions-/Prädikatssymbole Elemente von \Sigma
sind).
Auswertung mit Variablen
\mathcal A [x/m]
bedeutet, dass die Variable x
den Wert m
annimmt.
Modell, Erfüllbarkeit, Äquivalenz, \dots
Eine Struktur \mathcal A
ist ein Modell für F
(\mathcal A |= F
) wenn wahr (wie bei AL).
Auch wie bei AL: Erfüllbarkeit, (allgemeine) Gültigkeit, Äquivalenz, Logische Folgerung.
Äquivalenzen aus der AL gelten auch in der PL.
Pränexform
Alle Quantoren am Anfang, also z.B.
\exists x \forall y \exists z H
.
Für jede Formel gibt es eine äquivalente (und bereinigte) Formel in Pränexform.
Dazu: Formel bereinigen, dann Quantoren einfach rausziehen, sodass innere Quantoren nach äußeren stehen.
Skolemform
Sei F
eine Formel in bereinigter Pränexform.
Man erhält nun die Skolemform von F
, indem man
\forall x_1 \dots \forall x_n \exists x_{n+1} G
in \forall x_1 \dots \forall x_n G [x_{n+1}/f(x_1,\dots,x_n)]
umwandelt, d.h. man je den ersten Existenzquantor \exists
entfernt und dessen Variable als Funktion der äußeren Variablen (aus davor stehenden \forall
) schreibt.
Diese Funktion f
kann auch nullstellig sein, also eine Konstante, z.B. a
.
Ist F
geschlossen, so gilt: F
ist genau dann erfüllbar, wenn die Skolemform von F
erfüllbar ist.
\to
Matrix der Skolemform in KNF als Klauselmenge, dann Resolution
Herbrand-Universum
Das Herbrand-Universum D(F)
einer geschlossenen Formel F
in Skolemform
ist die Menge aller variablenfreien Terme, die aus den Bestandteilen von F
gebildet werden können:
- Alle Konstanten aus
F
sind inD(F)
f(t_1, \dots, t_n)
ist inD(F)
, mitf \in F
undt_1, \dots, t_n
\inD(F)
Herbrand-Struktur
(D(F), f^{\mathcal A} \mapsto f)
Wahl für P
etc ist noch offen.
Mit Limitierung auf Herbrand-Strukturen immernoch erfüllbarkeitsäquivalent.
Satz von Löwenheim-Skolem
Jede erfüllbare Formel der Prädikatenlogik besitzt bereits ein abzählbares Modell.
Da \mathbb R
überabzählbar, kann es in PL nicht formuliert werden.
Herbrand-Expansion
Die Herbrand-Expansion E(F)
einer Formel F = \forall \dots F^*
in Skolemform
ist die Menge aller möglichen Formeln F^*[\dots][\dots]\dots[\dots]
mit \dots \in D(F)
.
F
unerfüllbar genau dann wenn eine endliche Teilmenge von E(F)
unerfüllbar ist.
\to
Unerfüllbarkeit ist semi-entscheidbar (Entscheidbarkeit damit co-semi-entscheidbar).
Grundresolution
Resolution wie bei AL, basierend auf Herbrand-Expansion