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 }