This commit is contained in:
mark 2025-08-12 16:33:24 +02:00
commit f506747792

270
README.md Normal file
View File

@ -0,0 +1,270 @@
# Aussagenlogik
## Aussagenlogische Formeln (Syntax)
- $A_1, A_2, \dots$ bzw. $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 1$ und $F \land \lnot F \equiv 0$
- Wenn $F$ und $F \to G$, dann auch $G$
**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$ oder $u, v, w, x, y, z$
- Funktions- und Prädikatssymbole $f_1, f_2, \dots$ oder $f, g, h$
- Konstanten (Funktionssymbole der Stelligkeit 0): $a_1, a_2, \dots$ oder $a, b, c$
- Prädikatsybole: $P_1, P_2, \dots$ oder $P, Q, R$
## Signatur
$\Sigma = \{ a/0, f/3, P/2 \}$
<small>Beinhaltet nicht die Variablen</small>
$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 *Termen* $t_1, \dots, t_k$
Terme, die keine Variablen enthalten, sind **Grundterme**.
### Formeln
- $P(t_1, \dots, t_k)$ mit *Termen* $t_1, \dots, t_k$ und Prädikatsymbol $P$ (Atomare Formeln)
- Sonst wie bei Aussagenlogik mit $\lnot$, $\land$, $\lor$
- $\exists x F$ und $\forall x F$ mit Variable $x$ und 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 $F$ sind in $D(F)$
- $f(t_1, \dots, t_n)$ ist in $D(F)$, mit $f \in F$ und $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