Mercurial > 13ws.ds
comparison notes/tex/logic.tex @ 26:4436f8006ebd
fix minor errors; sixth slides and sheet
author | Markus Kaiser <markus.kaiser@in.tum.de> |
---|---|
date | Mon, 25 Nov 2013 23:16:14 +0100 |
parents | 140a0060e2f8 |
children | f639b478a28b |
comparison
equal
deleted
inserted
replaced
25:9d87018168eb | 26:4436f8006ebd |
---|---|
4 \setbeamercovered{dynamic} | 4 \setbeamercovered{dynamic} |
5 | 5 |
6 \begin{definition}[Syntax der Aussagenlogik] | 6 \begin{definition}[Syntax der Aussagenlogik] |
7 Aussagenlogische \structure{Formeln} bestehen aus Konstanten, Variablen und Operatoren. Die Menge \structure{$\mathcal{F}$} aller Formeln ist induktiv definiert. | 7 Aussagenlogische \structure{Formeln} bestehen aus Konstanten, Variablen und Operatoren. Die Menge \structure{$\mathcal{F}$} aller Formeln ist induktiv definiert. |
8 \begin{itemize} | 8 \begin{itemize} |
9 \item $\mathrm{false} = 0 \in \mathcal{F},\quad \mathrm{true} = 1 \in \mathcal{F}$\hfill(\alert{Konstanten}) | 9 \item $\false = 0 = \bot \in \mathcal{F},\quad \true = 1 = \top \in \mathcal{F}$\hfill(\alert{Konstanten}) |
10 \item $V = \left\{ a, b, c,\ldots \right\} \subseteq \mathcal{F}$\hfill(\alert{Variablen})\\ | 10 \item $V = \left\{ a, b, c,\ldots \right\} \subseteq \mathcal{F}$\hfill(\alert{Variablen})\\ |
11 \medskip | 11 \medskip |
12 \item Ist $A \in \mathcal{F}$ eine aussagenlogische Formel, dann auch | 12 \item Ist $A \in \mathcal{F}$ eine aussagenlogische Formel, dann auch |
13 \begin{align} | 13 \begin{align} |
14 \neg A &\in \mathcal{F}\tag{\alert{Negation}}\\ | 14 \neg A &\in \mathcal{F}\tag{\alert{Negation}}\\ |
213 \end{frame} | 213 \end{frame} |
214 } | 214 } |
215 | 215 |
216 \defineUnit{aussagenlogikaequivalenzen}{% | 216 \defineUnit{aussagenlogikaequivalenzen}{% |
217 { | 217 { |
218 \newcommand{\true}{1} | 218 \newcommand{\spc}{\hfill} |
219 \newcommand{\false}{0} | |
220 \newcommand{\spc}{\hspace{3em}} | |
221 \newcommand{\F}{F} | 219 \newcommand{\F}{F} |
222 \newcommand{\G}{G} | 220 \newcommand{\G}{G} |
223 \newcommand{\K}{H} | 221 \newcommand{\K}{H} |
224 | 222 |
225 \begin{frame} | 223 \begin{frame} |
242 $\F \wedge (\G \vee \K) \equiv (\F \wedge \G) \vee (\F \wedge \K)$ | 240 $\F \wedge (\G \vee \K) \equiv (\F \wedge \G) \vee (\F \wedge \K)$ |
243 \item[De Morgan] $\neg(\F \wedge \G) \equiv \neg \F \vee \neg \G$\\ | 241 \item[De Morgan] $\neg(\F \wedge \G) \equiv \neg \F \vee \neg \G$\\ |
244 $\neg(\F \vee \G) \equiv \neg\F \wedge \neg\G$ | 242 $\neg(\F \vee \G) \equiv \neg\F \wedge \neg\G$ |
245 \bigskip | 243 \bigskip |
246 \item[Implikation] $\F \rightarrow \G \equiv \neg \F \vee \G$ | 244 \item[Implikation] $\F \rightarrow \G \equiv \neg \F \vee \G$ |
247 \item[Bikonditional] $\F \leftrightarrow \G \equiv (\F \rightarrow \G) \wedge (\G \rightarrow \F)$ | 245 \item[Bikonditional] $\F \leftrightarrow \G \equiv \neg(\F \otimes \G) \left[ \equiv (\F \rightarrow \G) \wedge (\G \rightarrow \F) \right]$ |
248 \end{description} | 246 \end{description} |
249 \end{frame} | 247 \end{frame} |
250 | 248 |
251 %\begin{frame} | 249 %\begin{frame} |
252 %\frametitle{Äquivalenzregeln} | 250 %\frametitle{Äquivalenzregeln} |
312 Eine \structure{DNF-Klausel} ist eine Konjunktion von Literalen $L_i$.\\ | 310 Eine \structure{DNF-Klausel} ist eine Konjunktion von Literalen $L_i$.\\ |
313 Eine Formel $F$, ist in \structure{Disjunktiver Normalform}, wenn sie eine Disjunktion von DNF-Klauseln ist. | 311 Eine Formel $F$, ist in \structure{Disjunktiver Normalform}, wenn sie eine Disjunktion von DNF-Klauseln ist. |
314 \[ F \defeq \bigvee \bigwedge_i L_i \] | 312 \[ F \defeq \bigvee \bigwedge_i L_i \] |
315 \end{definition} | 313 \end{definition} |
316 \begin{itemize} | 314 \begin{itemize} |
317 \item Ausnahme: $\textrm{false}$ ist auch in DNF | 315 \item Ausnahme: $\false$ ist auch in DNF |
318 \end{itemize} | 316 \end{itemize} |
319 | 317 |
320 \begin{example}[] | 318 \begin{example}[] |
321 $F$ ist in DNF. | 319 $F$ ist in DNF. |
322 \[ F \defeq \klausel{DNF}{a \structure{\wedge} b \structure{\wedge} \neg c} \alert{\vee} \klausel{DNF}{\neg b \structure{\wedge} c} \alert{\vee} \klausel{DNF}{\neg a \structure{\wedge} b \structure{\wedge} \neg c} \] | 320 \[ F \defeq \klausel{DNF}{a \structure{\wedge} b \structure{\wedge} \neg c} \alert{\vee} \klausel{DNF}{\neg b \structure{\wedge} c} \alert{\vee} \klausel{DNF}{\neg a \structure{\wedge} b \structure{\wedge} \neg c} \] |
331 Eine \structure{KNF-Klausel} ist eine Disjunktion von Literalen $L_i$.\\ | 329 Eine \structure{KNF-Klausel} ist eine Disjunktion von Literalen $L_i$.\\ |
332 Eine Formel $F$, ist in \structure{Konjunktiver Normalform}, wenn sie eine Konjunktion von KNF-Klauseln ist. | 330 Eine Formel $F$, ist in \structure{Konjunktiver Normalform}, wenn sie eine Konjunktion von KNF-Klauseln ist. |
333 \[ F \defeq \bigwedge \bigvee_i L_i \] | 331 \[ F \defeq \bigwedge \bigvee_i L_i \] |
334 \end{definition} | 332 \end{definition} |
335 \begin{itemize} | 333 \begin{itemize} |
336 \item Ausnahme: $\textrm{true}$ ist auch in KNF | 334 \item Ausnahme: $\true$ ist auch in KNF |
337 \end{itemize} | 335 \end{itemize} |
338 | 336 |
339 \begin{example}[] | 337 \begin{example}[] |
340 $F$ ist in KNF. | 338 $F$ ist in KNF. |
341 \[ F \defeq \klausel{KNF}{\neg a \alert{\vee} b} \structure{\wedge} \klausel{KNF}{\neg b \alert{\vee} c} \structure{\wedge} \klausel{KNF}{a \alert{\vee} b \alert{\vee} \neg c} \] | 339 \[ F \defeq \klausel{KNF}{\neg a \alert{\vee} b} \structure{\wedge} \klausel{KNF}{\neg b \alert{\vee} c} \structure{\wedge} \klausel{KNF}{a \alert{\vee} b \alert{\vee} \neg c} \] |
414 \begin{itemize} | 412 \begin{itemize} |
415 \item Klauseln werden durch Mengen von Literalen dargestellt | 413 \item Klauseln werden durch Mengen von Literalen dargestellt |
416 \[\left\{ a, \neg b, c \right\} \text{ steht für } (a \vee \neg b \vee c)\] | 414 \[\left\{ a, \neg b, c \right\} \text{ steht für } (a \vee \neg b \vee c)\] |
417 \item KNF-Formeln sind Mengen von Klauseln | 415 \item KNF-Formeln sind Mengen von Klauseln |
418 \[ \left\{ \left\{ \neg a \right\}, \left\{ a, \neg b, c \right\} \right\} \text{ steht für } \neg a \wedge (a \vee \neg b \vee c) \] | 416 \[ \left\{ \left\{ \neg a \right\}, \left\{ a, \neg b, c \right\} \right\} \text{ steht für } \neg a \wedge (a \vee \neg b \vee c) \] |
419 \item $\emptyset$ steht für \textrm{true}, $\left\{ \emptyset \right\}$ für \textrm{false} | 417 \item $\emptyset$ steht für $\true$, $\left\{ \emptyset \right\}$ für $\false$ |
420 \end{itemize} | 418 \end{itemize} |
421 \end{block} | 419 \end{block} |
422 \begin{example}[] | 420 \begin{example}[] |
423 Gegeben $F \defeq (a \vee b) \wedge \klausel{\vee}{\neg}{}{\neg} \wedge \klausel{\vee}{\neg}{\neg}{\neg}$ in KNF. | 421 Gegeben $F \defeq (a \vee b) \wedge \klausel{\vee}{\neg}{}{\neg} \wedge \klausel{\vee}{\neg}{\neg}{\neg}$ in KNF. |
424 \[ \left\{ \left\{ a, b \right\}, \left\{ \neg a, b, \neg c \right\}, \left\{ \neg a, \neg b, \neg c \right\} \right\}\] | 422 \[ \left\{ \left\{ a, b \right\}, \left\{ \neg a, b, \neg c \right\}, \left\{ \neg a, \neg b, \neg c \right\} \right\}\] |
489 \frametitle{DPLL} | 487 \frametitle{DPLL} |
490 \setbeamercovered{dynamic} | 488 \setbeamercovered{dynamic} |
491 | 489 |
492 \begin{definition}[DPLL-Belegung] | 490 \begin{definition}[DPLL-Belegung] |
493 Sei $F$ eine Formel in KNF und $p$ eine Variable von $F$.\\ | 491 Sei $F$ eine Formel in KNF und $p$ eine Variable von $F$.\\ |
494 Dann bezeichnet \structure{$F[p\backslash\mathrm{true}]$} die Formel, die entsteht, wenn jedes Vorkommnis von $p$ in F durch $\mathrm{true}$ ersetzt und vereinfacht wird. | 492 Dann bezeichnet \structure{$F[p\backslash\true]$} die Formel, die entsteht, wenn jedes Vorkommnis von $p$ in F durch $\true$ ersetzt und vereinfacht wird. |
495 \end{definition} | 493 \end{definition} |
496 | 494 |
497 \begin{block}{DPLL} | 495 \begin{block}{DPLL} |
498 Gegeben eine Formel $F$ in KNF | 496 Gegeben eine Formel $F$ in KNF |
499 \begin{itemize} | 497 \begin{itemize} |
500 \item Wenn $F = \mathrm{true}$ dann antworte \structure{erfüllbar} | 498 \item Wenn $F = \true$ dann antworte \structure{erfüllbar} |
501 \item Wenn $F = \mathrm{false}$ dann antworte \structure{unerfüllbar} | 499 \item Wenn $F = \false$ dann antworte \structure{unerfüllbar} |
502 \item Sonst | 500 \item Sonst |
503 \begin{enumerate} | 501 \begin{enumerate} |
504 \item Wähle eine Variable $p$ in $F$ | 502 \item Wähle eine Variable $p$ in $F$ |
505 \item Prüfe ob $F[p\backslash\mathrm{true}]$ oder $F[p\backslash\mathrm{false}]$ erfüllbar | 503 \item Prüfe ob $F[p\backslash\true]$ oder $F[p\backslash\false]$ erfüllbar |
506 \end{enumerate} | 504 \end{enumerate} |
507 \end{itemize} | 505 \end{itemize} |
508 \end{block} | 506 \end{block} |
509 \begin{itemize} | 507 \begin{itemize} |
510 \item Schlaue Wahl der Variable beschleunigt Ausführung | 508 \item Schlaue Wahl der Variable beschleunigt Ausführung |
550 \begin{definition}[Kalkül] | 548 \begin{definition}[Kalkül] |
551 Ein \structure{Logikkalkül} stellt \structure{Inferenzregeln} bereit, mit denen Formeln \alert{syntaktisch} umgeformt werden können. | 549 Ein \structure{Logikkalkül} stellt \structure{Inferenzregeln} bereit, mit denen Formeln \alert{syntaktisch} umgeformt werden können. |
552 \end{definition} | 550 \end{definition} |
553 | 551 |
554 \begin{definition}[Folgerung] | 552 \begin{definition}[Folgerung] |
555 $F$ \structure{folgt aus} $A$, wenn mit Hilfe der \alert{Semantik} der \alert{Aussagenlogik} $F$ unter der Annahme dass $A$ gilt zu $\mathrm{true}$ ausgewertet wird. Wir schreiben | 553 $F$ \structure{folgt aus} $A$, wenn mit Hilfe der \alert{Semantik} der \alert{Aussagenlogik} $F$ unter der Annahme dass $A$ gilt zu $\true$ ausgewertet wird. Wir schreiben |
556 \[ A \vDash F \] | 554 \[ A \vDash F \] |
557 \end{definition} | 555 \end{definition} |
558 | 556 |
559 \begin{definition}[Ableitung] | 557 \begin{definition}[Ableitung] |
560 $F$ kann aus $A$ \structure{abgeleitet} werden, wenn mit Hilfe \alert{syntaktischer} Umformungen in einem \alert{Logikkalkül} $F$ unter der Annahme $A$ bewiesen werden kann. Wir schreiben | 558 $F$ kann aus $A$ \structure{abgeleitet} werden, wenn mit Hilfe \alert{syntaktischer} Umformungen in einem \alert{Logikkalkül} $F$ unter der Annahme $A$ bewiesen werden kann. Wir schreiben |
744 } | 742 } |
745 \end{tabu} | 743 \end{tabu} |
746 \end{frame} | 744 \end{frame} |
747 } | 745 } |
748 } | 746 } |
747 | |
748 \defineUnit{praedikatenlogiksyntax}{% | |
749 { | |
750 \newcommand{\terms}{\mathcal{T}} | |
751 \newcommand{\preds}{\mathcal{P}} | |
752 \newcommand{\logic}{\mathcal{L}} | |
753 \begin{frame}[c] | |
754 \frametitle{Syntax der Prädikatenlogik} | |
755 \setbeamercovered{dynamic} | |
756 | |
757 \begin{definition}[Term] | |
758 Die Menge $\terms$ aller \structure{Terme} ist induktiv definiert. | |
759 \begin{itemize} | |
760 \item Jede Konstante ist in $\terms$ | |
761 \item Jede Variable ist in $\terms$ | |
762 \item Sind $f$ eine Funktion und $t_1, \dots, t_n$ Terme, dann auch | |
763 \[ f(t_1, \dots, t_n) \] | |
764 \end{itemize} | |
765 Funktionen wandeln Terme in \alert{Terme} um. Wir beschreiben sie mit Kleinbuchstaben. | |
766 \end{definition} | |
767 | |
768 \begin{definition}[Prädikat] | |
769 \structure{Prädikate} $P$ wandeln Terme in \alert{Wahrheitswerte} um. | |
770 Wir beschreiben sie mit Großbuchstaben.\\ | |
771 Die Menge $\preds$ enthält alle \structure{Prädikate}. | |
772 \end{definition} | |
773 \end{frame} | |
774 | |
775 \begin{frame}[c] | |
776 \frametitle{Syntax der Prädikatenlogik} | |
777 \setbeamercovered{dynamic} | |
778 | |
779 \begin{definition}[Syntax der Prädikatenlogik] | |
780 Die Menge \structure{$\logic$} aller \structure{prädikatenlogischen Formeln} ist induktiv definiert. | |
781 Seien $A, B\in \logic$, $t_i \in \terms$ und $P \in \preds$. Dann sind alle Formeln | |
782 { | |
783 \setlength{\belowdisplayskip}{0pt} | |
784 \setlength{\abovedisplayskip}{0pt} | |
785 \begin{itemize} | |
786 \item Grundbausteile | |
787 \smallskip | |
788 \begin{align} | |
789 V = \left\{ a, b, \dots \right\} &\subseteq \logic\tag{\alert{Variablen}}\\ | |
790 P(t_1, \dots, t_n) &\in \logic\tag{\alert{Prädikate, Konstanten}}\\ | |
791 t_i = t_j &\in\logic\tag{\alert{Gleichheit}}\\ | |
792 \shortintertext{\item Verknüpfungen der Aussagenlogik} | |
793 \neg A &\in \logic\tag{\alert{Negation}}\\ | |
794 (A \wedge B), (A \vee B)&\in \logic\tag{\alert{Konjunktion, Disjunktion}}\\ | |
795 (A \rightarrow B)&\in \logic\tag{\alert{Implikation}}\\ | |
796 \shortintertext{\item \structure{Quantoren}} | |
797 \exists x. A &\in \logic\tag{\alert{Existenzquantor}}\\ | |
798 \forall x. A &\in \logic\tag{\alert{Allquantor}}\\ | |
799 \end{align} | |
800 \end{itemize} | |
801 } | |
802 \vspace{-1.5em} | |
803 \end{definition} | |
804 \end{frame} | |
805 | |
806 \begin{frame} | |
807 \frametitle{Operatorenbindung} | |
808 \setbeamercovered{dynamic} | |
809 | |
810 \begin{definition}[Bindungsregeln] | |
811 Die \structure{Bindungsstärke} der Operatoren in absteigender Reihenfolge ist | |
812 \[ \forall \quad \exists \quad \neg \quad \wedge \quad \vee \quad \rightarrow \quad \leftrightarrow \] | |
813 Die Implikation ist \structure{rechtsassoziativ}. | |
814 \end{definition} | |
815 \begin{itemize} | |
816 \item Üblicherweise klammert man wieder $\wedge$ und $\vee$ | |
817 \item Genauso klammert man Quantoren | |
818 \[ \left( \forall x. F \right) \rightarrow G \text{\quad statt\quad} \forall x. F \rightarrow G \] | |
819 \vfill | |
820 \item \alert{Achtung!} Äußere Quantoren werden öfter anders interpretiert | |
821 \[ \forall x \forall y. F \wedge G \leftrightarrow H \] | |
822 Bindet formal \alert{nur an das F}! | |
823 \end{itemize} | |
824 \end{frame} | |
825 } | |
826 } | |
827 | |
828 \defineUnit{praedikatenlogikstruktur}{% | |
829 \begin{frame}[c] | |
830 \frametitle{Struktur} | |
831 \setbeamercovered{dynamic} | |
832 | |
833 \begin{definition}[Struktur] | |
834 Eine passende \structure{Struktur} $S = \left( U_s, I_s \right)$ zu einer Formel $F$ besteht aus einem \structure{Universum} $U_s$ und einer \structure{Interpretation} $I_s$. | |
835 \begin{itemize} | |
836 \item Alle Terme werten zu einem Wert im \structure{Universum} $U_s$ aus | |
837 \item Die \structure{Interpretation} $I_s$ weist den Atomen der Formel Werte zu.\\ | |
838 Sie spezifiziert | |
839 \begin{itemize} | |
840 \item \alert{Variablen} $x$ mit | |
841 { | |
842 \setlength{\belowdisplayskip}{0pt} | |
843 \setlength{\abovedisplayskip}{0pt} | |
844 \begin{align} | |
845 x_s \in {} &U_s\\ | |
846 \shortintertext{\item \alert{Konstanten} $a$ mit} | |
847 a_s \in {} &U_s\\ | |
848 \shortintertext{\item \alert{k-stellige Prädikate} $P$ mit} | |
849 P_s \subseteq {} &U_s^k\\ | |
850 \shortintertext{\item \alert{Funktionen} $f$ mit} | |
851 f_s : {} &U_s^k \to U_s | |
852 \end{align} | |
853 } | |
854 \end{itemize} | |
855 \end{itemize} | |
856 \end{definition} | |
857 \end{frame} | |
858 } |