Aussagenlogik
Aussagenlogische Formeln (Syntax)
- A_1, A_2, \dotsbzw.- A, B, C: atomare Formeln
- 0,- 1: Boolesche Konstanten
- \lnot F: Negation von- F
- (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 1und- F \land \lnot F \equiv 0
- Wenn FundF \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, \dotsoderu, v, w, x, y, z
- Funktionssymbole f_1, f_2, \dotsoderf, g, h
- Konstanten (Funktionssymbole der Stelligkeit 0): a_1, a_2, \dotsodera, b, c
- Prädikatsybole: P_1, P_2, \dotsoderP, 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 Termen- t_1, \dots, t_kund Prädikatsymbol- P(Atomare Formeln)
- Sonst wie bei Aussagenlogik mit \lnot,\land,\lor
- \exists x Fund- \forall x Fmit Variable- xund Formel- F
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 Fsind inD(F)
- f(t_1, \dots, t_n)ist in- D(F), mit- f \in Fund- t_1, \dots, t_n\in- D(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