From 532228f04799c8165a0339f0e34d33ef43a978a5 Mon Sep 17 00:00:00 2001 From: Robert Jeutter Date: Wed, 4 Aug 2021 15:54:53 +0200 Subject: [PATCH] tex generally ready --- ...k und Logikprogrammierung - Cheatsheet.tex | 7349 +++++++---------- 1 file changed, 2909 insertions(+), 4440 deletions(-) diff --git a/Logik und Logikprogrammierung - Cheatsheet.tex b/Logik und Logikprogrammierung - Cheatsheet.tex index a3a6682..af41a8e 100644 --- a/Logik und Logikprogrammierung - Cheatsheet.tex +++ b/Logik und Logikprogrammierung - Cheatsheet.tex @@ -148,32 +148,32 @@ Da der Wahrheitswert einer zusammengesetzten Aussage nur vom Wahrheitswert der Teilaussagen abhängen soll, sind Operatoren wie ``weil'' oder ``obwohl'' nicht zulässig. \subsection{Syntax der Aussagenlogik} - Eine atomare Formel hat die Form $p_i$ (wobei $i\in\mathbb{N}=\{0,1,...\}$). Formeln werden durch folgenden induktiven Prozess definiert: + Eine atomare Formel hat die Form $p_i$ (wobei $i\in\mathbb{N}=\{0,1,...\}$). Formeln werden durch folgenden induktiven Prozess definiert: \begin{enumerate*} - \item Alle atomaren Formeln und $\bot$ sind Formeln. - \item Falls $\varphi$ und $\psi$ Formeln sind, sind auch $(\varphi\wedge\psi),(\varphi\wedge\psi)$($\varphi \rightarrow\psi$) und $\lnot\varphi$Formeln. - \item Nichts ist Formel, was sich nicht mittels der obigen Regeln erzeugen läßt. + \item Alle atomaren Formeln und $\bot$ sind Formeln. + \item Falls $\varphi$ und $\psi$ Formeln sind, sind auch $(\varphi\wedge\psi),(\varphi\wedge\psi)$($\varphi \rightarrow\psi$) und $\lnot\varphi$Formeln. + \item Nichts ist Formel, was sich nicht mittels der obigen Regeln erzeugen läßt. \end{enumerate*} Beispielformel: $\lnot((\lnot p_4 \vee p_1)\wedge\bot)$ - Präzedenz der Operatoren: + Präzedenz der Operatoren: \begin{itemize*} - \item $\leftrightarrow$ bindet am schwächsten - \item $\rightarrow$\ldots{} - \item $\vee$\ldots{} - \item $\wedge$\ldots{} - \item $\lnot$ bindet am stärksten + \item $\leftrightarrow$ bindet am schwächsten + \item $\rightarrow$\ldots{} + \item $\vee$\ldots{} + \item $\wedge$\ldots{} + \item $\lnot$ bindet am stärksten \end{itemize*} \subsection{Natürliches Schließen} Ein (mathematischer) Beweis zeigt, wie die Behauptung aus den Voraussetzungen folgt. Analog zeigt ein ``Beweisbaum'' (=``Herleitung'' = ``Deduktion''), wie eine Formel der Aussagenlogik aus Voraussetzungen (ebenfalls Formeln der Aussagenlogik) folgt. - Diese ``Deduktionen'' sind Bäume, deren Knoten mit Formeln beschriftet sind: + Diese ``Deduktionen'' sind Bäume, deren Knoten mit Formeln beschriftet sind: \begin{itemize*} - \item an der Wurzel steht die Behauptung (= Konklusion $\varphi$) - \item an den Blättern stehen Voraussetzungen (= Hypothesen oder Annahmen aus $\Gamma$) - \item an den inneren Knoten stehen ``Teilergebnisse'' und ``Begründungen'' + \item an der Wurzel steht die Behauptung (= Konklusion $\varphi$) + \item an den Blättern stehen Voraussetzungen (= Hypothesen oder Annahmen aus $\Gamma$) + \item an den inneren Knoten stehen ``Teilergebnisse'' und ``Begründungen'' \end{itemize*} \subsection{Konstruktion von Deduktionen} @@ -183,25 +183,25 @@ \subsubsection{Konjunktionseinführung} Ist D eine Deduktion von $\varphi$ mit Hypothesen aus $\Gamma$ und ist E eine Deduktion von $\psi$ mit Hypothesen aus $\Gamma$, so ergibt sich die folgende Deduktion von $\varphi\wedge\psi$ mit Hypothesen aus $\Gamma$: -\begin{prooftree} - \AxiomC{$\varphi$} - \AxiomC{$\psi$} - \RightLabel{\scriptsize ($\wedge I$)} - \BinaryInfC{$\varphi\wedge\psi$} -\end{prooftree} + \begin{prooftree} + \AxiomC{$\varphi$} + \AxiomC{$\psi$} + \RightLabel{\scriptsize ($\wedge I$)} + \BinaryInfC{$\varphi\wedge\psi$} + \end{prooftree} \subsubsection{Konjunktionselimination} Ist D eine Deduktion von $\varphi\wedge\psi$ mit Hypothesen aus $\Gamma$, so ergeben sich die folgenden Deduktionen von $\varphi$ bzw. von $\psi$ mit Hypothesen aus $\Gamma$: \begin{prooftree} \AxiomC{$\varphi\wedge\psi$} - \RightLabel{\scriptsize ($\wedge E_1$)} - \UnaryInfC{$\varphi$} + \RightLabel{\scriptsize ($\wedge E_1$)} + \UnaryInfC{$\varphi$} \end{prooftree} \begin{prooftree} \AxiomC{$\varphi\wedge\psi$} - \RightLabel{\scriptsize ($\wedge E_2$)} - \UnaryInfC{$\psi$} + \RightLabel{\scriptsize ($\wedge E_2$)} + \UnaryInfC{$\psi$} \end{prooftree} \subsubsection{Implikationseinführung} @@ -249,12 +249,12 @@ \end{prooftree} \subsubsection{Falsum} -Ist D eine Deduktion von $\bot$ mit Hypothesen aus $\Gamma$, so ergibt sich die folgende Deduktion von $\varphi$ mit Hypothesen aus $\Gamma$: -\begin{prooftree} - \AxiomC{$\bot$} - \RightLabel(\scriptsize ($\bot)$) - \UnaryInfC{$\varphi$} -\end{prooftree} + Ist D eine Deduktion von $\bot$ mit Hypothesen aus $\Gamma$, so ergibt sich die folgende Deduktion von $\varphi$ mit Hypothesen aus $\Gamma$: + \begin{prooftree} + \AxiomC{$\bot$} + \RightLabel(\scriptsize ($\bot)$) + \UnaryInfC{$\varphi$} + \end{prooftree} \subsubsection{reductio ad absurdum} Ist D eine Deduktion von $\bot$ mit Hypothesen aus $\Gamma\cup\{\lnot\varphi\}$, so ergibt sich die folgende Deduktion von $\varphi$ mit Hypothesen aus $\Gamma$: @@ -265,5004 +265,3473 @@ Ist D eine Deduktion von $\bot$ mit Hypothesen aus $\Gamma$, so ergibt sich die \end{prooftree} \subsection{Regeln des natürlichen Schließens} - \begin{quote} - Definition + \note{Definition}{Für eine Formelmenge $\Gamma$ und eine Formel $\varphi$ schreiben wir $\Gamma\Vdash\varphi$ wenn es eine Deduktion gibt mit Hypothesen aus $\Gamma$ und Konklusion $\varphi$. Wir sagen "$\varphi$ ist eine syntaktische Folgerung von $\Gamma$". - Für eine Formelmenge $\Gamma$ und eine Formel $\varphi$ schreiben wir - $\Gamma\Vdash\varphi$ wenn es eine Deduktion gibt mit Hypothesen aus - $\Gamma$ und Konklusion $\varphi$. Wir sagen ``$\varphi$ ist eine - syntaktische Folgerung von $\Gamma$''. + Eine Formel $\varphi$ ist ein Theorem, wenn $\varnothing\Vdash\varphi$ gilt.} - Eine Formel $\varphi$ ist ein Theorem, wenn $\varnothing\Vdash\varphi$ - gilt. - \end{quote} + \subsubsection{Bemerkung} + $\Gamma\Vdash\varphi$ sagt (zunächst) nichts über den Inhalt der Formeln in $\Gamma\cup\{\varphi\}$ aus, sondern nur über die Tatsache, dass $\varphi$ mithilfe des natürlichen Schließens aus den Formeln aus $\Gamma$ hergeleitet werden kann. - \subsubsection{Bemerkung}\label{bemerkung} + Ebenso sagt "$\varphi$ ist Theorem" nur, dass $\varphi$ abgeleitet werden kann, über "Wahrheit" sagt dieser Begriff (zunächst) nichts aus. - $\Gamma\Vdash\varphi$ sagt (zunächst) nichts über den Inhalt der Formeln - in $\Gamma\cup\{\varphi\}$ aus, sondern nur über die Tatsache, dass - $\varphi$ mithilfe des natürlichen Schließens aus den Formeln aus - $\Gamma$ hergeleitet werden kann. - - Ebenso sagt ``$\varphi$ ist Theorem'' nur, dass $\varphi$ abgeleitet - werden kann, über ``Wahrheit'' sagt dieser Begriff (zunächst) nichts - aus. - - \subsubsection{Satz}\label{satz} - - Für alle Formeln $\varphi$ und $\psi$ gilt - $\{\lnot(\varphi\vee\psi)\}\Vdash\lnot\varphi\wedge\lnot\psi$. - - Beweis: Wir geben eine Deduktion an\ldots{} - - $\{\lnot\varphi\wedge\lnot\psi\}\Vdash\lnot(\varphi\vee\psi)$ - \includegraphics[width=\linewidth]{Assets/Logik-beispiel-1.png} - - $\{\lnot\varphi\vee\lnot\psi\}\Vdash\lnot(\varphi\wedge\psi)$ - \includegraphics[width=\linewidth]{Assets/Logik-beispiel-2.png} - - $\{\varphi\vee\psi\} \Vdash \psi\vee\varphi$ - \includegraphics[width=\linewidth]{Assets/Logik-beispiel-3.png} - - \subsubsection{Satz}\label{satz-1} - - Für jede Formel $\varphi$ ist $\lnot\lnot\varphi\rightarrow\varphi$ ein - Theorem. - - Beweis: Wir geben eine Deduktion mit Konklusion - $\lnot\lnot\varphi\rightarrow\varphi$ ohne Hypothesen an\ldots{} - - - \includegraphics[width=\linewidth]{Assets/Logik-beispiel-5.png} - - \subsubsection{Satz}\label{satz-2} - - Für jede Formel $\varphi$ ist $\varphi\vee\lnot\varphi$ ein Theorem. - - Beweis: Wir geben eine Deduktion mit Konklusion - $\varphi\vee\lnot\varphi$ ohne Hypothesen an\ldots{} - - - \includegraphics[width=\linewidth]{Assets/Logik-beispiel-6.png} - - Bemerkung: Man kann beweisen, dass jede Deduktion der letzten beiden - Theoreme die Regel (raa) verwendet, sie also nicht ``intuitionistisch'' - gelten. - - \subsubsection{Satz}\label{satz-3} - - $\{\lnot(\varphi\wedge\psi)\}\Vdash\lnot\varphi\vee\lnot\psi$ - - - \includegraphics[width=\linewidth]{Assets/Logik-beispiel-4.png} - - \subsection{Semantik}\label{semantik} - - Formeln sollen Verknüpfungen von Aussagen widerspiegeln, wir haben dies - zur Motivation der einzelnen Regeln des natürlichen Schließens genutzt. - Aber die Begriffe ``syntaktische Folgerung'' und ``Theorem'' sind rein - syntaktisch definiert. - - Erst die jetzt zu definierende ``Semantik'' gibt den Formeln - ``Bedeutung''. - - Idee der Semantik: wenn man jeder atomaren Formel $p_i$ einen - Wahrheitswertzuordnet, so kann man den Wahrheitswert jeder Formel - berechnen. - - Es gibt verschiedene Möglichkeiten, Wahrheitswerte zu definieren: - - zweiwertige oder Boolesche Logik $B=\{0,1\}$: Wahrheitswerte ``wahr''=1 - und ``falsch''= 0 - dreiwertige Kleene-Logik $K_3=\{0,\frac{1}{2},1\}$: - zusätzlicher Wahrheitswert ``unbekannt''$=\frac{1}{2}$ - Fuzzy-Logik - $F=[0,1]$: Wahrheitswerte sind ``Grad der Überzeugtheit'' - unendliche - Boolesche Algebra $B_R$= Menge der Teilmengen von $\mathbb{R}$; - $A\subseteq\mathbb{R}$ ist ``Menge der Menschen, die Aussage für wahr - halten'' - Heyting-Algebra $H_R$= Menge der offenen Teilmengen von - $\mathbb{R}$ - Erinnerung: $A\subseteq\mathbb{R}$ offen, wenn - $\forall a\in A\exists\epsilon >0:(a-\epsilon,a+\epsilon)\subseteq A$, - d.h., wenn $A$ abzählbare Vereinigung von offenen Intervallen $(x,y)$ - ist. - - Beispiele: - offen: - $(0,1), \mathbb{R}_{>0}, \mathbb{R}\backslash\{0\}, \mathbb{R}\backslash\mathbb{N}$ - - nicht offen: - $[1,2), \mathbb{R}_{\geq 0}, \mathbb{Q}, \mathbb{N}, \{\frac{1}{n} | n\in\mathbb{N}\}, \mathbb{R}\backslash\mathbb{Q}$ - - Sei W eine Menge von Wahrheitswerten.\textbackslash{} Eine W-Belegung - ist eine Abbildung $B:V\rightarrow W$, wobei - $V\subseteq\{p_0 ,p_1 ,...\}$ eine Menge atomarer Formeln ist. - - Die W-Belegung $B:V\rightarrow W$ paßt zur Formel $\phi$, falls alle - atomaren Formeln aus $\phi$ zu V gehören. - - Sei nun B eine W-Belegung. Was ist der Wahrheitswert der Formel - $p_0\vee p_1$ unter der Belegung B? - - Zur Beantwortung dieser Frage benötigen wir eine Funktion - $\vee_W :W\times W\rightarrow W$ (analog für - $\wedge,\rightarrow,\lnot$). - - \subsection{Wahrheitswertebereiche}\label{wahrheitswertebereiche} - - \begin{quote} - Definition: Sei W eine Menge und $R\subseteq W\times W$ eine binäre - Relation. - R ist reflexiv, wenn $(a,a)\in R$ für alle $a\in W$ gilt. - - R ist antisymmetrisch, wenn $(a,b),(b,a)\in R$ impliziert, dass $a=b$ - gilt (für alle $a,b\in W$). - R ist transitive, wenn $(a,b),(b,c)\in R$ - impliziert, dass $(a,c)\in R$ gilt (für alle $a,b,c\in W$). - R ist eine - Ordnungsrelation, wenn R reflexiv, antisymmetrisch und transitiv ist. In - diesem Fall heißt das Paar $(W,R)$ eine partiell geordnete Menge. - \end{quote} - - Beispiel 1. Sei $\leq$ übliche Ordnung auf $\mathbb{R}$und - $W\subseteq\mathbb{R}$. Dann ist $(W,\leq)$ partiell geordnete Menge. 2. - Sei $X$ eine Menge und $W\subseteq P(X)$. Dann ist $(W,\subseteq)$ - partiell geordnete Menge. 3. Sei $W=P(\sum *)$ und $\leq_p$ die Relation - ``es gibt Polynomialzeitreduktion'' (vgl. ``Automaten, Sprachen und - Komplexität''). Diese Relation ist reflexiv, transitiv, aber nicht - antisymmetrisch (denn $3-SAT\leq_{p} HC$ und $HC\leq_{p} 3-SAT$). - - \begin{quote} - Definition: Sei $(W,\leq)$ partiell geordnete Menge, $M\subseteq W$ und - $a\in W$. - a ist obere Schranke von $M$, wenn $m\leq a$ für alle - $m\in M$ gilt. - a ist kleinste obere Schranke oder Supremum von $M$, - wenn $a$ obere Schranke von $M$ ist und wenn $a\leq b$ für alle oberen - Schranken $b$ von $M$ gilt. Wir schreiben in diesem Fall $a=sup \ M$. - - a ist untere Schranke von $M$, wenn $a\leq m$ für alle $m\in M$ gilt. - - a ist größte untere Schranke oder Infimum von $M$, wenn a untere - Schranke von $M$ ist und wenn $b\leq a$ für alle unteren Schranken $b$ - von $M$ gilt. Wir schreiben in diesem Fall $a=inf\ M$. - \end{quote} - - Beispiel 1. betrachte $(W,\leq)$ mit $W=\mathbb{R}$ und $\leq$ übliche - Ordnung auf $\mathbb{R}$. - Dann gelten $sup[0,1] = sup(0,1) =1$. - - $sup\ W$ existiert nicht (denn $W$ hat keine obere Schranke). 2. - betrachte $(W,\subseteq)$ mit $X$ Menge und $W =P(X)$. - - $sup\ M=\bigcup_{A\in M} A$ für alle $M\subseteq W$ 3. betrachte - $(W,\subseteq)$ mit $W=\{\{0\},\{1\},\{0,1,2\},\{0,1,3\}\}$. - - $sup\{\{0\},\{0,1,2\}\}=\{0,1,2\}$ - $\{0,1,2\}$ und $\{0,1,3\}$ sind - die oberen Schranken von $M=\{\{0\},\{1\}\}$, aber $M$ hat kein Supremum - - \begin{quote} - Definition: Ein (vollständiger) Verband ist eine partiell geordnete - Menge $(W,\leq)$, in der jede Menge $M\subseteq W$ ein Supremum $sup\ M$ - und ein Infimum $inf\ M$ hat. In einem Verband $(W,\leq)$ definieren - wir: - $0_W = inf\ W$ und $1_W= sup\ W$ - $a\wedge_W b= inf\{a,b\}$ und - $a\vee_W b= sup\{a,b\}$ für $a,b\in W$ - \end{quote} - - Bemerkung: In jedem Verband $(W,\leq)$ gelten $0_W= sup\ \varnothing$ - und $1_W= inf\ \varnothing$ (denn jedes Element von $W$ ist obere und - untere Schranke von $\varnothing$). - - \begin{quote} - Definition: Ein Wahrheitswertebereich ist ein Tupel - $(W,\leq,\rightarrow W,\lnot W)$, wobei $(W,\leq)$ ein Verband und - $\rightarrow W:W^2 \rightarrow W$ und $\lnot W:W\rightarrow W$ - Funktionen sind. - \end{quote} - - \subsubsection{Beispiel}\label{beispiel-2} + \subsubsection{Satz} + Für alle Formeln $\varphi$ und $\psi$ gilt $\{\lnot(\varphi\vee\psi)\}\Vdash\lnot\varphi\wedge\lnot\psi$. + Beweis: Wir geben eine Deduktion an... \begin{itemize*} - \itemsep1pt\parskip0pt\parsep0pt - \item - Der Boolesche Wahrheitswertebereich B ist definiert durch die - Grundmenge $B=\{0,1\}$, die natürliche Ordnung $\leq$ und die - Funktionen $\lnot_B (a) = 1-a$, $\rightarrow_B(a,b) = max(b, 1 -a)$. - Hier gelten: - - \begin{itemize*} - \item - $0_B=0$, $1_B= 1$, - \item - $a\wedge_B b= min(a,b)$, $a\vee_B b= max(a,b)$ - \end{itemize*} - \item - Der Kleenesche Wahrheitswertebereich $K_3$ ist definiert durch die - Grundmenge $K_3=\{0,\frac{1}{2},1\}$ mit der natürlichen Ordnung - $\leq$ und durch die Funktionen $\lnot_{K_3} (a) = 1 -a $, - $\rightarrow_{K_3} (a,b) = max(b, 1-a)$. Hier gelten: - \item - $\lnot_{K_3} = 0$, $1_{K_3} = 1$ - \item - $a\wedge_{K_3} b= min(a,b)$, $a\vee_{K_3} b= max(a,b)$ - \item - Der Wahrheitswertebereich F der Fuzzy-Logik ist definiert durch die - Grundmenge $F=[0,1]\subseteq\mathbb{R}$ mit der natürlichen Ordnung - $\leq$ und durch die Funktionen $\lnot_F (a) = 1-a$, - $\rightarrow_F (a,b) = max(b, 1-a)$. Hier gelten: - \item - $0_F= 0$, $1_F= 1$ - \item - $a\wedge_F b= min(a,b)$, $a\vee_F b= max(a,b)$ - \item - Der Boolesche Wahrheitswertebereich $B_R$ ist definiert durch die - Grundmenge $B_R=\{A|A\subseteq \mathbb{R}\}$ mit der Ordnung - $\subseteq$ und durch die Funktionen - $\lnot_{B_R} (A) =\mathbb{R}\backslash A$, - $\rightarrow_{B_R} (A,B) = B\cup\mathbb{R}\backslash A$. Hier gelten: - \item - $0_{B_R}=\varnothing$, $1_{B_R}=\mathbb{R}$ - \item - $A\wedge_{B_R} B=A\cap B$, $A\vee_{B_R} B=A\cup B$ - \item - Der Heytingsche Wahrheitswertebereich $H_R$ ist definiert durch die - Grundmenge - $H_{mathbb{R}} =\{A\subseteq\mathbb{R} | \text{A ist offen}\}$, die - Ordnung $\subseteq$ und durch die Funktionen - $\lnot_{H_R} (A) = Inneres(\mathbb{R}\backslash A)$, - $\rightarrow_{H_R} (A,B) =Inneres(B\cup \mathbb{R}\backslash A)$. Hier - gelten: - \item - $0_{H_R}=\varnothing$, $1_{H_R}=\mathbb{R}$ - \item - $A\wedge_{H_R} B= A\cap B$, $A\vee_{H_R} B=A\cup B$ - \item - Erinnerung: - $Inneres(A) =\{a\in A|\exists \epsilon > 0 : (a-\epsilon,a+\epsilon)\subseteq A\}$ - \item - Beispiele: - $Inneres((0,1))=(0,1)=Inneres([0,1]),Inneres(N)=\varnothing,Inneres(\mathbb{R}_{\geq 0}) = \mathbb{R}_{> 0}$ + \item $\{\lnot\varphi\wedge\lnot\psi\}\Vdash\lnot(\varphi\vee\psi)$ + %\includegraphics[width=\linewidth]{Assets/Logik-beispiel-1.png) + \item $\{\lnot\varphi\vee\lnot\psi\}\Vdash\lnot(\varphi\wedge\psi)$ + %\includegraphics[width=\linewidth]{Assets/Logik-beispiel-2.png) + \item $\{\varphi\vee\psi\} \Vdash \psi\vee\varphi$ + %\includegraphics[width=\linewidth]{Assets/Logik-beispiel-3.png) \end{itemize*} - Sei W ein Wahrheitswertebereich und B eine W-Belegung. Induktiv über den - Formelaufbau definieren wir den Wahrheitswert $\hat{B}(\phi)\in W$ jeder - zu $B$ passenden Formel $\phi$: - $\hat{B}(\bot) = 0_W$ - - $\hat{B}(p) = B(p)$ falls $p$ eine atomare Formel ist - - $\hat{B}((\phi\wedge \psi )) = \hat{B}(\phi)\wedge_W \hat{B}(\psi )$ - - $\hat{B}((\phi\vee \psi )) = \hat{B}(\phi)\vee_W \hat{B}(\psi )$ - - $\hat{B}((\phi\rightarrow \psi )) = \rightarrow W(\hat{B}(\phi),\hat{B}(\psi ))$ - - $\hat{B}(\lnot\phi) = \lnot W(\hat{B}(\phi))$ + \subsubsection{Satz} + Für jede Formel $\varphi$ ist $\lnot\lnot\varphi\rightarrow\varphi$ ein Theorem. + + Beweis: Wir geben eine Deduktion mit Konklusion $\lnot\lnot\varphi\rightarrow\varphi$ ohne Hypothesen an... + + %\includegraphics[width=\linewidth]{Assets/Logik-beispiel-5.png) + + \subsubsection{Satz} + Für jede Formel $\varphi$ ist $\varphi\vee\lnot\varphi$ ein Theorem. + + Beweis: Wir geben eine Deduktion mit Konklusion $\varphi\vee\lnot\varphi$ ohne Hypothesen an... + + %\includegraphics[width=\linewidth]{Assets/Logik-beispiel-6.png) + + Bemerkung: Man kann beweisen, dass jede Deduktion der letzten beiden Theoreme die Regel (raa) verwendet, sie also nicht "intuitionistisch" gelten. + + \subsubsection{Satz} + $\{\lnot(\varphi\wedge\psi)\}\Vdash\lnot\varphi\vee\lnot\psi$ + + %\includegraphics[width=\linewidth]{Assets/Logik-beispiel-4.png) + + \subsection{Semantik} + Formeln sollen Verknüpfungen von Aussagen widerspiegeln, wir haben dies zur Motivation der einzelnen Regeln des natürlichen Schließens genutzt. + Aber die Begriffe "syntaktische Folgerung" und "Theorem" sind rein syntaktisch definiert. + + Erst die jetzt zu definierende "Semantik" gibt den Formeln "Bedeutung". + + Idee der Semantik: wenn man jeder atomaren Formel $p_i$ einen Wahrheitswertzuordnet, so kann man den Wahrheitswert jeder Formel berechnen. + + Es gibt verschiedene Möglichkeiten, Wahrheitswerte zu definieren: + \begin{itemize*} + \item zweiwertige oder Boolesche Logik $B=\{0,1\}$: Wahrheitswerte "wahr"=1 und "falsch"= 0 + \item dreiwertige Kleene-Logik $K_3=\{0,\frac{1}{2},1\}$: zusätzlicher Wahrheitswert "unbekannt"$=\frac{1}{2}$ + \item Fuzzy-Logik $F=[0,1]$: Wahrheitswerte sind "Grad der Überzeugtheit" + \item unendliche Boolesche Algebra $B_R$= Menge der Teilmengen von $\mathbb{R}$; $A\subseteq\mathbb{R}$ ist "Menge der Menschen, die Aussage für wahr halten" + \item Heyting-Algebra $H_R$= Menge der offenen Teilmengen von $\mathbb{R}$ + \item Erinnerung: $A\subseteq\mathbb{R}$ offen, wenn $\forall a\in A\exists\epsilon >0:(a-\epsilon,a+\epsilon)\subseteq A$, d.h., wenn $A$ abzählbare Vereinigung von offenen Intervallen $(x,y)$ ist. + \end{itemize*} + + Beispiele: + \begin{itemize*} + \item offen: $(0,1), \mathbb{R}_{>0}, \mathbb{R}\backslash\{0\}, \mathbb{R}\backslash\mathbb{N}$ + \item nicht offen: $[1,2), \mathbb{R}_{\geq 0}, \mathbb{Q}, \mathbb{N}, \{\frac{1}{n} | n\in\mathbb{N}\}, \mathbb{R}\backslash\mathbb{Q}$ + \end{itemize*} + + + Sei W eine Menge von Wahrheitswerten.\\ + Eine W-Belegung ist eine Abbildung $B:V\rightarrow W$, wobei $V\subseteq\{p_0 ,p_1 ,...\}$ eine Menge atomarer Formeln ist. + + Die W-Belegung $B:V\rightarrow W$ paßt zur Formel $\phi$, falls alle atomaren Formeln aus $\phi$ zu V gehören. + + Sei nun B eine W-Belegung. Was ist der Wahrheitswert der Formel $p_0\vee p_1$ unter der Belegung B? + + Zur Beantwortung dieser Frage benötigen wir eine Funktion $\vee_W :W\times W\rightarrow W$ (analog für $\wedge,\rightarrow,\lnot$). + + \subsection{Wahrheitswertebereiche} + \note{Definition}{Sei W eine Menge und $R\subseteq W\times W$ eine binäre Relation. + \begin{itemize*} + \item R ist reflexiv, wenn $(a,a)\in R$ für alle $a\in W$ gilt. + \item R ist antisymmetrisch, wenn $(a,b),(b,a)\in R$ impliziert, dass $a=b$ gilt (für alle $a,b\in W$). + \item R ist transitive, wenn $(a,b),(b,c)\in R$ impliziert, dass $(a,c)\in R$ gilt (für alle $a,b,c\in W$). + \item R ist eine Ordnungsrelation, wenn R reflexiv, antisymmetrisch und transitiv ist. In diesem Fall heißt das Paar $(W,R)$ eine partiell geordnete Menge. + \end{itemize*} + } + + Beispiel + \begin{enumerate*} + \item Sei $\leq$ übliche Ordnung auf $\mathbb{R}$und $W\subseteq\mathbb{R}$. Dann ist $(W,\leq)$ partiell geordnete Menge. + \item Sei $X$ eine Menge und $W\subseteq P(X)$. Dann ist $(W,\subseteq)$ partiell geordnete Menge. + \item Sei $W=P(\sum *)$ und $\leq_p$ die Relation "es gibt Polynomialzeitreduktion" (vgl. "Automaten, Sprachen und Komplexität"). Diese Relation ist reflexiv, transitiv, aber nicht antisymmetrisch (denn $3-SAT\leq_p HC$ und $HC\leq_p 3-SAT$). + \end{enumerate*} + + \note{Definition}{Sei $(W,\leq)$ partiell geordnete Menge, $M\subseteq W$ und $a\in W$. + \begin{itemize*} + \item a ist obere Schranke von $M$, wenn $m\leq a$ für alle $m\in M$ gilt. + \item a ist kleinste obere Schranke oder Supremum von $M$, wenn $a$ obere Schranke von $M$ ist und wenn $a\leq b$ für alle oberen Schranken $b$ von $M$ gilt. Wir schreiben in diesem Fall $a=sup \ M$. + \item a ist untere Schranke von $M$, wenn $a\leq m$ für alle $m\in M$ gilt. + \item a ist größte untere Schranke oder Infimum von $M$, wenn a untere Schranke von $M$ ist und wenn $b\leq a$ für alle unteren Schranken $b$ von $M$ gilt. Wir schreiben in diesem Fall $a=inf\ M$. + \end{itemize*} + } + + Beispiel + \begin{enumerate*} + \item betrachte $(W,\leq)$ mit $W=\mathbb{R}$ und $\leq$ übliche Ordnung auf $\mathbb{R}$. + \begin{itemize*} + \item Dann gelten $sup[0,1] = sup(0,1) =1$. + \item $sup\ W$ existiert nicht (denn $W$ hat keine obere Schranke). + \end{itemize*} + \item betrachte $(W,\subseteq)$ mit $X$ Menge und $W =P(X)$. + \begin{itemize*} + \item $sup\ M=\bigcup_{A\in M} A$ für alle $M\subseteq W$ + \end{itemize*} + \item betrachte $(W,\subseteq)$ mit $W=\{\{0\},\{1\},\{0,1,2\},\{0,1,3\}\}$. + \begin{itemize*} + \item $sup\{\{0\},\{0,1,2\}\}=\{0,1,2\}$ + \item $\{0,1,2\}$ und $\{0,1,3\}$ sind die oberen Schranken von $M=\{\{0\},\{1\}\}$, aber $M$ hat kein Supremum + \end{itemize*} + \end{enumerate*} + + \note{Definition}{ Ein (vollständiger) Verband ist eine partiell geordnete Menge $(W,\leq)$, in der jede Menge $M\subseteq W$ ein Supremum $sup\ M$ und ein Infimum $inf\ M$ hat.} + In einem Verband $(W,\leq)$ definieren wir: + \begin{itemize*} + \item $0_W = inf\ W$ und $1_W= sup\ W$ + \item $a\wedge_W b= inf\{a,b\}$ und $a\vee_W b= sup\{a,b\}$ für $a,b\in W$ + \end{itemize*} + + Bemerkung: In jedem Verband $(W,\leq)$ gelten $0_W= sup\ \varnothing$ und $1_W= inf\ \varnothing$ (denn jedes Element von $W$ ist obere und untere Schranke von $\varnothing$). + + \note{Definition}{Ein Wahrheitswertebereich ist ein Tupel $(W,\leq,\rightarrow W,\lnot W)$, wobei $(W,\leq)$ ein Verband und $\rightarrow W:W^2 \rightarrow W$ und $\lnot W:W\rightarrow W$ Funktionen sind.} + + \subsubsection{Beispiel} + \begin{itemize*} + \item Der Boolesche Wahrheitswertebereich B ist definiert durch die Grundmenge $B=\{0,1\}$, die natürliche Ordnung $\leq$ und die Funktionen $\lnot_B (a) = 1-a$, $\rightarrow_B(a,b) = max(b, 1 -a)$. Hier gelten: + \begin{itemize*} + \item $0_B=0$, $1_B= 1$, + \item $a\wedge_B b= min(a,b)$, $a\vee_B b= max(a,b)$ + \end{itemize*} + \item Der Kleenesche Wahrheitswertebereich $K_3$ ist definiert durch die Grundmenge $K_3=\{0,\frac{1}{2},1\}$ mit der natürlichen Ordnung $\leq$ und durch die Funktionen $\lnot_{K_3} (a) = 1 -a $, $\rightarrow_{K_3} (a,b) = max(b, 1-a)$. Hier gelten: + \begin{itemize*} + \item $\lnot_{K_3} = 0$, $1_{K_3} = 1$ + \item $a\wedge_{K_3} b= min(a,b)$, $a\vee_{K_3} b= max(a,b)$ + \end{itemize*} + \item Der Wahrheitswertebereich F der Fuzzy-Logik ist definiert durch die Grundmenge $F=[0,1]\subseteq\mathbb{R}$ mit der natürlichen Ordnung $\leq$ und durch die Funktionen $\lnot_F (a) = 1-a$, $\rightarrow_F (a,b) = max(b, 1-a)$. Hier gelten: + \begin{itemize*} + \item $0_F= 0$, $1_F= 1$ + \item $a\wedge_F b= min(a,b)$, $a\vee_F b= max(a,b)$ + \end{itemize*} + \item Der Boolesche Wahrheitswertebereich $B_R$ ist definiert durch die Grundmenge $B_R=\{A|A\subseteq \mathbb{R}\}$ mit der Ordnung $\subseteq$ und durch die Funktionen $\lnot_{B_R} (A) =\mathbb{R}\backslash A$, $\rightarrow_{B_R} (A,B) = B\cup\mathbb{R}\backslash A$. Hier gelten: + \begin{itemize*} + \item $0_{B_R}=\varnothing$, $1_{B_R}=\mathbb{R}$ + \item $A\wedge_{B_R} B=A\cap B$, $A\vee_{B_R} B=A\cup B$ + \end{itemize*} + \item Der Heytingsche Wahrheitswertebereich $H_R$ ist definiert durch die Grundmenge $H_{mathbb{R}} =\{A\subseteq\mathbb{R} | \text{A ist offen}\}$, die Ordnung $\subseteq$ und durch die Funktionen $\lnot_{H_R} (A) = Inneres(\mathbb{R}\backslash A)$, $\rightarrow_{H_R} (A,B) =Inneres(B\cup \mathbb{R}\backslash A)$. Hier gelten: + \begin{itemize*} + \item $0_{H_R}=\varnothing$, $1_{H_R}=\mathbb{R}$ + \item $A\wedge_{H_R} B= A\cap B$, $A\vee_{H_R} B=A\cup B$ + \item Erinnerung: $Inneres(A) =\{a\in A|\exists \epsilon > 0 : (a-\epsilon,a+\epsilon)\subseteq A\}$ + \item Beispiele: $Inneres((0,1))=(0,1)=Inneres([0,1]),Inneres(N)=\varnothing,Inneres(\mathbb{R}_{\geq 0}) = \mathbb{R}_{> 0}$ + \end{itemize*} + \end{itemize*} + + + Sei W ein Wahrheitswertebereich und B eine W-Belegung. Induktiv über den Formelaufbau definieren wir den Wahrheitswert $\hat{B}(\phi)\in W$ jeder zu $B$ passenden Formel $\phi$: + \begin{itemize*} + \item $\hat{B}(\bot) = 0_W$ + \item $\hat{B}(p) = B(p)$ falls $p$ eine atomare Formel ist + \item $\hat{B}((\phi\wedge \psi )) = \hat{B}(\phi)\wedge_W \hat{B}(\psi )$ + \item $\hat{B}((\phi\vee \psi )) = \hat{B}(\phi)\vee_W \hat{B}(\psi )$ + \item $\hat{B}((\phi\rightarrow \psi )) = \rightarrow W(\hat{B}(\phi),\hat{B}(\psi ))$ + \item $\hat{B}(\lnot\phi) = \lnot W(\hat{B}(\phi))$ + \end{itemize*} Wir schreiben im folgenden $B(\phi)$ anstatt $\hat{B}(\phi)$. - Beispiel: Betrachte die Formel - $\phi= ((p\wedge q)\rightarrow (q\wedge p))$. - Für eine beliebige - B-Belegung $B:\{p,q\}\rightarrow B$ gilt - $B((p\wedge q)\rightarrow (q\wedge p)) = max(B(q\wedge p), 1 -B(p\wedge q)) = max(min(B(q),B(p)), 1 -min(B(p),B(q))) = 1 = 1_B$ - - Für die $K_3$-Belegung $B:\{p,q\}\rightarrow K_3$ mit - $B(p) =B(q) = \frac{1}{2}$\} gilt - $B((p\wedge q)\rightarrow (q\wedge p)) = max(B(q\wedge p), 1 -B(p\wedge q))= max(min(B(q),B(p)), 1 -min(B(p),B(q))) = \frac{1}{2} \not= 1_{K_3}$ - - analog gibt es eine F-Belegung $B:\{p,q\}\rightarrow F$, so dass - $B((p\wedge q)\rightarrow (q\wedge p)) \not = 1_F$ gilt. - Für eine - beliebige $H_{mathbb{R}}$-Belegung $B:\{p,q\}\rightarrow H_R$ gilt - $B((p\wedge q)\rightarrow (q\wedge p)) = Inneres(B(q\wedge p)\cup \mathbb{R}\backslash B(p\wedge q)) = Inneres((B(q)\cap B(p))\cup \mathbb{R}\backslash (B(p)\cap B(q))) = Inneres(\mathbb{R}) = \mathbb{R} = 1_{H_R}$ + Beispiel: Betrachte die Formel $\phi= ((p\wedge q)\rightarrow (q\wedge p))$. + \begin{itemize*} + \item Für eine beliebige B-Belegung $B:\{p,q\}\rightarrow B$ gilt $B((p\wedge q)\rightarrow (q\wedge p)) = max(B(q\wedge p), 1 -B(p\wedge q)) = max(min(B(q),B(p)), 1 -min(B(p),B(q))) = 1 = 1_B$ + \item Für die $K_3$-Belegung $B:\{p,q\}\rightarrow K_3$ mit $B(p) =B(q) = \frac{1}{2}$ gilt $B((p\wedge q)\rightarrow (q\wedge p)) = max(B(q\wedge p), 1 -B(p\wedge q))= max(min(B(q),B(p)), 1 -min(B(p),B(q))) = \frac{1}{2} \not= 1_{K_3}$ + \item analog gibt es eine F-Belegung $B:\{p,q\}\rightarrow F$, so dass $B((p\wedge q)\rightarrow (q\wedge p)) \not = 1_F$ gilt. + \item Für eine beliebige $H_{mathbb{R}}$-Belegung $B:\{p,q\}\rightarrow H_R$ gilt $B((p\wedge q)\rightarrow (q\wedge p)) = Inneres(B(q\wedge p)\cup \mathbb{R}\backslash B(p\wedge q)) = Inneres((B(q)\cap B(p))\cup \mathbb{R}\backslash (B(p)\cap B(q))) = Inneres(\mathbb{R}) = \mathbb{R} = 1_{H_R}$ + \end{itemize*} - \subsection{Folgerung und Tautologie}\label{folgerung-und-tautologie} - - Sei W ein Wahrheitswertebereich. Eine Formel $\phi$ heißt eine - W-Folgerung der Formelmenge $\Gamma$, falls für jede W-Belegung B, die - zu allen Formeln aus $\Gamma \cup\{\phi\}$ paßt, gilt: + \subsection{Folgerung und Tautologie} + Sei W ein Wahrheitswertebereich. + Eine Formel $\phi$ heißt eine W-Folgerung der Formelmenge $\Gamma$, falls für jede W-Belegung B, die zu allen Formeln aus $\Gamma \cup\{\phi\}$ paßt, gilt: $inf\{B(\gamma )|\gamma \in \Gamma \}\leq B(\phi)$ - Wir schreiben $\Gamma \Vdash W\phi$, falls $\phi$ eine W-Folgerung von - $\Gamma$ ist. + Wir schreiben $\Gamma \Vdash W\phi$, falls $\phi$ eine W-Folgerung von $\Gamma$ ist. - Bemerkung: Im Gegensatz zur Beziehung $\Gamma \vdash \phi$, d.h. zur - syntaktischen Folgerung, ist $\Gamma \Vdash W \phi$ eine semantische - Beziehung. + Bemerkung: Im Gegensatz zur Beziehung $\Gamma \vdash \phi$, d.h. zur syntaktischen Folgerung, ist $\Gamma \Vdash W \phi$ eine semantische Beziehung. - Eine W-Tautologie ist eine Formel $\phi$ mit $\varnothing \Vdash W\phi$, - d.h. $B(\phi) = 1_W$ für alle passenden W-Belegungen B (denn - $inf\{\hat{B}(\gamma )|\gamma \in \varnothing \}= inf \varnothing = 1_W)$. + Eine W-Tautologie ist eine Formel $\phi$ mit $\varnothing \Vdash W\phi$, d.h. $B(\phi) = 1_W$ für alle passenden W-Belegungen B (denn $inf\{\hat{B}(\gamma )|\gamma \in \varnothing \}= inf \varnothing = 1_W)$. Wahrheitstafel für den Booleschen Wahrheitswertebereich B: - \begin{tabular}{llllllll} - RL & AK & BK & $AK\vee BK$ & $AK\rightarrow BK$ & $(BK\wedge RL)\rightarrow\lnot AK$ & RL & $\lnot AK$ \\\hline - 0 & 0 & 0 & 0 & 1 & 1 & 0 & 1 \\ - 0 & 0 & 1 & 1 & 1 & 1 & 0 & 1 \\ - 0 & 1 & 0 & 1 & 0 & 1 & 0 & 0 \\ - 0 & 1 & 1 & 1 & 1 & 1 & 0 & 0 \\ - 1 & 0 & 0 & 0 & 1 & 1 & 1 & 1 \\ - 1 & 0 & 1 & 1 & 1 & 1 & 1 & 1 \\ - 1 & 1 & 0 & 1 & 0 & 1 & 1 & 0 \\ - 1 & 1 & 1 & 1 & 1 & 0 & 1 & 0 \\ - \end{tabular} + | RL | AK | BK | $AK\vee BK$ | $AK\rightarrow BK$ | $(BK\wedge RL)\rightarrow\lnot AK$ | RL | $\lnot AK$ | + | --- | --- | --- | ----------- | ------------------ | ---------------------------------- | --- | ---------- | + | 0 | 0 | 0 | 0 | 1 | 1 | 0 | 1 | + | 0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | + | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 0 | + | 0 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | + | 1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | + | 1 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | + | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | + | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | - Wir erhalten also - $\{(AK\vee BK),(AK\rightarrow BK), ((BK\wedge RL)\rightarrow \lnot AK),RL\} \Vdash_B \lnot AK$ + + Wir erhalten also $\{(AK\vee BK),(AK\rightarrow BK), ((BK\wedge RL)\rightarrow \lnot AK),RL\} \Vdash_B \lnot AK$ und können damit sagen: - ``Wenn die Aussagen''Bauteil A oder Bauteil B ist kaputt" und ``daraus, - dass Bauteil A kaputt ist, folgt, dass Bauteil B kaputt ist'' - und\ldots{} wahr sind, \ldots{} dann kann man die Folgerung ziehen: die - Aussage ``das Bauteil A ist heil'' ist wahr." + "Wenn die Aussagen "Bauteil A oder Bauteil B ist kaputt" und "daraus, dass Bauteil A kaputt ist, folgt, dass Bauteil B kaputt ist" und... wahr sind, ... dann kann man die Folgerung ziehen: die Aussage "das Bauteil A ist heil" ist wahr." - Erinnerung aus der ersten Vorlesung: - $\{(AK\vee BK),(AK\rightarrow BK), ((BK\wedge RL)\rightarrow \lnot AK),RL\} \vdash \lnot AK$ - - Beispiel Sei $\phi$ beliebige Formel mit atomaren Formeln in V. - Sei - $B:V\rightarrow B$ eine B-Belegung. Dann gilt - - \begin{verbatim} -$B(\lnot\lnot\phi\rightarrow\phi) = \rightarrow B(\lnot B\lnot B(B(\phi)),B(\phi)) = max(B(\phi), 1 -( 1 -( 1 -B(\phi)))) = max(B(\phi), 1 -B(\phi)) = 1 = 1_B$. - -Also ist $\lnot\lnot\phi\rightarrow\phi$ eine B-Tautologie (gilt ebenso für den Wahrheitswertebereich $B_R$). -\end{verbatim} + Erinnerung aus der ersten Vorlesung: $\{(AK\vee BK),(AK\rightarrow BK), ((BK\wedge RL)\rightarrow \lnot AK),RL\} \vdash \lnot AK$ + Beispiel + Sei $\phi$ beliebige Formel mit atomaren Formeln in V. \begin{itemize*} - \item - Sei $B:V\rightarrow H_R$ eine $H_R$-Belegung mit - $B(\phi) =R\backslash\{0\}$. Dann gelten - - \begin{itemize*} - \item - $B(\lnot\phi) = Inneres(\mathbb{R}\backslash B(\phi)) = Inneres(\{0\}) =\varnothing$ - \item - $B(\lnot\lnot\phi) = Inneres(\mathbb{R}\backslash B(\lnot\phi)) = Inneres(\mathbb{R}) = \mathbb{R}$ - \item - $B(\lnot\lnot\phi\rightarrow\phi) = \rightarrow_{H_R} (B(\lnot\lnot\phi),B(\phi)) = \rightarrow_{H_R} (\mathbb{R},\mathbb{R}\backslash \{0\}) = Inneres(\mathbb{R}\backslash\{0\}\cup\mathbb{R}\backslash\mathbb{R}) = \mathbb{R}\backslash\{0\}\not =\mathbb{R}= 1_{H_R}$ - \end{itemize*} - - Also ist $\lnot\lnot\phi\rightarrow\phi$ keine $H_R$-Tautologie (gilt - ebenso für die Wahrheitswertebereiche $K_3$ und $F$). - \item - Sei $B:V\rightarrow B$ eine B-Belegung. Dann gilt - - $B(\phi\vee\lnot\phi) = max(B(\phi), 1 -B(\phi)) = 1 = 1_B$. - - Also ist $\phi\vee\lnot\phi$ eine B-Tautologie (gilt ebenso für den - Wahrheitswertebereich $B_R$). - \item - Sei $B:V\rightarrow H_R$ eine $H_R$-Belegung mit - $B(\phi)=\mathbb{R}\backslash\{0\}$. Dann gilt - $B(\phi\vee\lnot\phi) = B(\phi)\cup B(\lnot\phi) = \mathbb{R}\backslash\{0\}\cup \varnothing \not= 1_{H_R}$. - - Also ist $\phi\vee\lnot\phi$ keine $H_R$-Tautologie (gilt ebenso für - die Wahrheitswertebereiche $K_3$ und $F$). - \item - Sei $B:V\rightarrow B$ eine B-Belegung. Dann gilt - - $B(\lnot\phi\rightarrow\bot) = \rightarrow_B(B(\lnot\phi),B(\bot)) = max(0,1-B(\lnot \phi)) = 1 -( 1 -B(\phi)) =B(\phi)$. - - Also haben wir $\{\lnot\phi\rightarrow\bot\}\Vdash B\phi$ und - $\{\phi\}\Vdash B\lnot \phi\rightarrow\bot$. - \item - Ebenso erhält man: - - \begin{itemize*} - \item - $\{\lnot\phi\rightarrow\bot\}\Vdash_{K_3} \phi$ - \item - $\{\phi\}\Vdash_{K_3} \lnot\phi\rightarrow\bot$ - \item - $\{\lnot\phi\rightarrow\bot\}\Vdash_F\phi$ - \item - $\{\phi\}\Vdash F\lnot\phi\rightarrow\bot$ - \end{itemize*} - \item - Sei $B:D\rightarrow H_R$ eine $H_R$-Belegung mit - $B(\phi) =\mathbb{R}\backslash\{0\}$. Dann gilt - $B(\lnot\phi\rightarrow\bot) = Inneres(B(\bot )\cup \mathbb{R}\backslash B(\lnot\phi))= Inneres(\varnothing \cup \mathbb{R}\backslash\varnothing)= \mathbb{R} \not\supseteq B(\phi)$. - - also $\{\lnot\phi\rightarrow\bot\}\not\Vdash_{H_R} \phi$. - - Es gilt aber $\{\phi\}\Vdash_{H_R}\lnot \phi\rightarrow\bot$. + \item Sei $B:V\rightarrow B$ eine B-Belegung. Dann gilt + $B(\lnot\lnot\phi\rightarrow\phi) = \rightarrow B(\lnot B\lnot B(B(\phi)),B(\phi)) = max(B(\phi), 1 -( 1 -( 1 -B(\phi)))) = max(B(\phi), 1 -B(\phi)) = 1 = 1_B$. + Also ist $\lnot\lnot\phi\rightarrow\phi$ eine B-Tautologie (gilt ebenso für den Wahrheitswertebereich $B_R$). + \item Sei $B:V\rightarrow H_R$ eine $H_R$-Belegung mit $B(\phi) =R\backslash\{0\}$. Dann gelten + \begin{itemize*} + \item $B(\lnot\phi) = Inneres(\mathbb{R}\backslash B(\phi)) = Inneres(\{0\}) =\varnothing$ + \item $B(\lnot\lnot\phi) = Inneres(\mathbb{R}\backslash B(\lnot\phi)) = Inneres(\mathbb{R}) = \mathbb{R}$ + \item $B(\lnot\lnot\phi\rightarrow\phi) = \rightarrow_{H_R} (B(\lnot\lnot\phi),B(\phi)) = \rightarrow_{H_R} (\mathbb{R},\mathbb{R}\backslash \{0\}) = Inneres(\mathbb{R}\backslash\{0\}\cup\mathbb{R}\backslash\mathbb{R}) = \mathbb{R}\backslash\{0\}\not =\mathbb{R}= 1_{H_R}$ + Also ist $\lnot\lnot\phi\rightarrow\phi$ keine $H_R$-Tautologie (gilt ebenso für die Wahrheitswertebereiche $K_3$ und $F$). + \end{itemize*} + \item Sei $B:V\rightarrow B$ eine B-Belegung. Dann gilt $B(\phi\vee\lnot\phi) = max(B(\phi), 1 -B(\phi)) = 1 = 1_B$. + Also ist $\phi\vee\lnot\phi$ eine B-Tautologie (gilt ebenso für den Wahrheitswertebereich $B_R$). + \item Sei $B:V\rightarrow H_R$ eine $H_R$-Belegung mit $B(\phi)=\mathbb{R}\backslash\{0\}$. Dann gilt + $B(\phi\vee\lnot\phi) = B(\phi)\cup B(\lnot\phi) = \mathbb{R}\backslash\{0\}\cup \varnothing \not= 1_{H_R}$. + Also ist $\phi\vee\lnot\phi$ keine $H_R$-Tautologie (gilt ebenso für die Wahrheitswertebereiche $K_3$ und $F$). + \item Sei $B:V\rightarrow B$ eine B-Belegung. Dann gilt + $B(\lnot\phi\rightarrow\bot) = \rightarrow_B(B(\lnot\phi),B(\bot)) = max(0,1-B(\lnot \phi)) = 1 -( 1 -B(\phi)) =B(\phi)$. + Also haben wir $\{\lnot\phi\rightarrow\bot\}\Vdash B\phi$ und $\{\phi\}\Vdash B\lnot \phi\rightarrow\bot$. + \begin{itemize*} + \item Ebenso erhält man: + \item $\{\lnot\phi\rightarrow\bot\}\Vdash_{K_3} \phi$ + \item $\{\phi\}\Vdash_{K_3} \lnot\phi\rightarrow\bot$ + \item $\{\lnot\phi\rightarrow\bot\}\Vdash_F\phi$ + \item $\{\phi\}\Vdash F\lnot\phi\rightarrow\bot$ + \end{itemize*} + \item Sei $B:D\rightarrow H_R$ eine $H_R$-Belegung mit $B(\phi) =\mathbb{R}\backslash\{0\}$. Dann gilt + $B(\lnot\phi\rightarrow\bot) = Inneres(B(\bot )\cup \mathbb{R}\backslash B(\lnot\phi))= Inneres(\varnothing \cup \mathbb{R}\backslash\varnothing)= \mathbb{R} \not\supseteq B(\phi)$. + also $\{\lnot\phi\rightarrow\bot\}\not\Vdash_{H_R} \phi$. + Es gilt aber $\{\phi\}\Vdash_{H_R}\lnot \phi\rightarrow\bot$. \end{itemize*} Zusammenfassung der Beispiele - \begin{tabular}{lllllll} - & B & $B_R$ & $K_3$ & F & $H_R$ & \\\hline - $\varnothing\Vdash_W\lnot\lnot\phi\rightarrow\phi$ & Y & Y & - & - & - & - $\varnothing\vdash \lnot\lnot\phi\rightarrow\phi$ \\ - $\varnothing\Vdash_W\phi\vee\lnot\phi$ & Y & Y & - & - & - & - $\varnothing\vdash\phi\vee\lnot\phi$ \\ - $\{\lnot\phi\rightarrow\bot\}\Vdash_W\phi$ & Y & Y & Y & Y & - & - $\{\lnot\phi\rightarrow\bot\}\vdash\phi$ \\ - $\{\phi\}\Vdash_W\lnot\phi\rightarrow\bot$ & Y & Y & Y & Y & Y & - $\{\phi\}\vdash\lnot\phi\rightarrow\bot$ \\ - \end{tabular} + | | B | $B_R$ | $K_3$ | F | $H_R$ | | + | -------------------------------------------------- | --- | ----- | ----- | --- | ----- | ------------------------------------------------- | + | $\varnothing\Vdash_W\lnot\lnot\phi\rightarrow\phi$ | Y | Y | - | - | - | $\varnothing\vdash \lnot\lnot\phi\rightarrow\phi$ | + | $\varnothing\Vdash_W\phi\vee\lnot\phi$ | Y | Y | - | - | - | $\varnothing\vdash\phi\vee\lnot\phi$ | + | $\{\lnot\phi\rightarrow\bot\}\Vdash_W\phi$ | Y | Y | Y | Y | - | $\{\lnot\phi\rightarrow\bot\}\vdash\phi$ | + | $\{\phi\}\Vdash_W\lnot\phi\rightarrow\bot$ | Y | Y | Y | Y | Y | $\{\phi\}\vdash\lnot\phi\rightarrow\bot$ | \begin{itemize*} - \itemsep1pt\parskip0pt\parsep0pt - \item - $Y$ in Spalte W:W-Folgerung gilt - \item - $-$ in Spalte W:W-Folgerung gilt nicht + \item $Y$ in Spalte W:W-Folgerung gilt + \item $-$ in Spalte W:W-Folgerung gilt nicht \end{itemize*} - \begin{quote} - Überblick: Wir haben definiert - $\Gamma\vdash\phi$ syntaktische - Folgerung - Theorem (``hypothesenlos ableitbar'') - - $\Gamma\Vdash_W \phi$ (semantische) W-Folgerung - W-Tautologie (``wird - immer zu $1_W$ ausgewertet'') - \end{quote} - Frage: Was ist die Beziehung zwischen diesen Begriffen, insbes. zwischen - ``Theorem'' und ``W-Tautologie''? Da z.B. B-Folgerung - $\not =K_3$-Folgerung, hängt die Anwort von W ab. - - \subsection{Korrektheit}\label{korrektheit} + \note{Überblick}{Wir haben definiert + \begin{itemize*} + \item $\Gamma\vdash\phi$ syntaktische Folgerung + \begin{itemize*} + \item Theorem ("hypothesenlos ableitbar") + \end{itemize*} + \item $\Gamma\Vdash_W \phi$ (semantische) W-Folgerung + \begin{itemize*} + \item W-Tautologie ("wird immer zu $1_W$ ausgewertet") + \end{itemize*} + \end{itemize*} + } + Frage: Was ist die Beziehung zwischen diesen Begriffen, insbes. zwischen "Theorem" und "W-Tautologie"? Da z.B. B-Folgerung $\not =K_3$-Folgerung, hängt die Anwort von W ab. + \subsection{Korrektheit} Können wir durch mathematische Beweise zu falschen Aussagenkommen? Können wir durch das natürliche Schließen zu falschen Aussagen kommen? - Existiert eine Menge $\Gamma$ von Formeln und eine Formel $\varphi$ mit - $\Gamma\vdash\varphi$ und $\Gamma\not\Vdash_W \varphi$? Für welche - Wahrheitswertebereiche W? + Existiert eine Menge $\Gamma$ von Formeln und eine Formel $\varphi$ mit $\Gamma\vdash\varphi$ und $\Gamma\not\Vdash_W \varphi$? Für welche Wahrheitswertebereiche W? Frage für diese Vorlesung: Für welche Wahrheitswertebereiche W gilt - $\Gamma\vdash\varphi\Rightarrow\Gamma\vdash_W \varphi$ bzw. $\varphi$ - ist Theorem $\Rightarrow\varphi$ ist W-Tautologie? + $\Gamma\vdash\varphi\Rightarrow\Gamma\vdash_W \varphi$ + bzw. + $\varphi$ ist Theorem $\Rightarrow\varphi$ ist W-Tautologie? - Beispiel: Betrachte den Kleeneschen Wahrheitswertebereich $K_3$. - Sei - $p$ atomare Formel. $\frac{[p]^4}{p\rightarrow p}$ Also gilt - $\varnothing\vdash p\rightarrow p$, d.h. $p\rightarrow p$ ist Theorem. - - Sei $B$ $K_3$-Belegung mit $B(p)=\frac{1}{2}$. Dann gilt - $B(p\rightarrow p) = max(B(p), 1-B(p)) =\frac{1}{2}$, also - $inf\{B(\gamma)|\gamma\in\varnothing\}= 1 >\frac{1}{2} = B(p\rightarrow p)$. + Beispiel: Betrachte den Kleeneschen Wahrheitswertebereich $K_3$. + \begin{itemize*} + \item Sei $p$ atomare Formel. + $\frac{[p]^4}{p\rightarrow p}$ + Also gilt $\varnothing\vdash p\rightarrow p$, d.h. $p\rightarrow p$ ist Theorem. + \item Sei $B$ $K_3$-Belegung mit $B(p)=\frac{1}{2}$. Dann gilt $B(p\rightarrow p) = max(B(p), 1-B(p)) =\frac{1}{2}$, also $inf\{B(\gamma)|\gamma\in\varnothing\}= 1 >\frac{1}{2} = B(p\rightarrow p)$. + \end{itemize*} Damit haben wir gezeigt $\varnothing\not\Vdash_{K_3} p\rightarrow p$. - Die Implikation $\Gamma\vdash\varphi\Rightarrow\Gamma\vdash_W \varphi$ - gilt also NICHT für den Kleeneschen Wahrheitswertebereich $W=K_3$ und - damit auch NICHT für den Wahrheitswertebereich der Fuzzy-Logik $F$. + Die Implikation $\Gamma\vdash\varphi\Rightarrow\Gamma\vdash_W \varphi$ gilt also NICHT für den Kleeneschen Wahrheitswertebereich $W=K_3$ und damit auch NICHT für den Wahrheitswertebereich der Fuzzy-Logik $F$. - \begin{quote} - Korrektheitslemma für nat. Schließen \& Wahrheitswertebereich B - - Sei $D$ eine Deduktion mit Hypothesen in der Menge $\Gamma$ und - Konklusion $\varphi$. Dann gilt $\Gamma\vdash_B \varphi$, d.h. - $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\varphi)$ für alle passenden - B-Belegungen $B$. - \end{quote} - - Beweis: Induktion über die Größe der Deduktion $D$ (d.h. Anzahl der - Regelanwendungen). - I.A.: die kleinste Deduktion $D$ hat die Form - $\varphi$ mit Hypothese $\varphi$ und Konklusion $\varphi$. Sei $B$ - passendeB-Belegung. Hypothesen von $D$ in - $\Gamma\Rightarrow\varphi\in\Gamma\Rightarrow inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\varphi)\Rightarrow\Gamma\vdash_B \varphi$ - - I.V.: Behauptung gelte für alle Deduktionen, die kleiner sind als $D$. - - I.S.: Wir unterscheiden verschiedene Fälle, je nachdem, welche Regel - als letzte angewandt wurde. - $(\wedge I)$ Die Deduktion hat die Form - $\frac{\alpha\quad\beta}{\alpha\wedge\beta}$ mit - $\varphi=\alpha\wedge\beta$. Sei $B$ passende B-Belegung. Nach IV gelten - $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\alpha)$ und - $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\beta)$ und damit - $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\alpha)\wedge_B B(\beta)=B(\alpha\wedge\beta) =B(\varphi)$. - Da $B$ beliebig war, haben wir $\Gamma\vdash_B \varphi$ gezeigt. - - $(\vee E)$ Die Deduktion $D$ hat die Form - $\frac{\alpha\vee\beta\quad\phi\quad\phi}{\phi}$ Also gibt es Deduktion - $E$ mit Hypothesen in $\Gamma$ und Konklusion $\alpha\vee\beta$ und - Deduktionen $F$ und $G$ mit Hypothesen in $\Gamma\cup\{\alpha\}$ bzw. - $\Gamma\cup\{\beta\}$ und Konklusion $\varphi$. Sei $B$ passende - B-Belegung. Nach IV gelten - $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\alpha\vee\beta)$ (1) - $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\alpha\}\}\leq B(\varphi)$ (2) - $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\beta\}\}\leq B(\varphi)$ (3) Wir - unterscheiden zwei Fälle: - $B(\alpha)\leq B(\beta)$: - $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\alpha\vee\beta) =B(\alpha)\vee_B B(\beta) =B(\beta)$ - impliziert - $inf\{B(\gamma)|\gamma\in\Gamma\}= inf\{B(\gamma)|\gamma\in\Gamma\cup\{\beta\}\}\leq B(\varphi)$ - - $B(\alpha)>B(\beta)$: analog Da $B$ beliebig war, haben wir - $\Gamma\vdash_B \varphi$ gezeigt. - $(\rightarrow I)$ Die DeduktionDhat - die Form $\frac{\beta}{\alpha\rightarrow\beta}$ mit - $\varphi=\alpha\rightarrow\beta$. Sei $B$ eine passende B-Belegung. Nach - IV gilt $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\alpha\}\}\leq B(\beta)$ - Wir unterscheiden wieder zwei Fälle: - - $B(\alpha)=0:inf\{B(\gamma)|\gamma\in\Gamma\}\leq 1 =\rightarrow_B(B(\alpha),B(\beta)) = B(\alpha\rightarrow\beta) =B(\varphi)$ - - - $B(\alpha)=1:inf\{B(\gamma)|\gamma\in\Gamma\}=inf\{B(\gamma)|\gamma\in\Gamma\cup\{\alpha\}\}\leq B(\beta) =\rightarrow_B (B(\alpha),B(\beta)) = B(\alpha\rightarrow\beta) =B(\varphi)$ - Da $B$ beliebig war, habe wir $\Gamma\vdash_B \varphi$ gezeigt. - - $(raa)$ Die DeduktionDhat die Form $\frac{\bot}{\phi}$ Sei $B$ eine - passende B-Belegung. Nach IV gilt - $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\lnot\varphi\}\}\leq B(\bot) = 0$. - Wir unterscheiden wieder zwei Fälle: - - $inf\{B(\gamma)|\gamma\in\Gamma\}=0$: dann gilt - $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\varphi)$. - - $inf\{B(\gamma)|\gamma\in\Gamma\}=1$: Wegen - $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\lnot\varphi\}\}=0$ folgt - $0 =B(\lnot\varphi)=\lnot_B (B(\varphi))$ und daher - $B(\varphi)=1\geq inf\{B(\gamma)|\gamma\in\Gamma\}$. Da $B$ beliebig - war, haben wir $\Gamma\vdash_B \varphi$ gezeigt. - - Ist die letzte Schlußregel in der Deduktion $D$ von der Form - $(\wedge I), (\vee E), (\rightarrow I)$ oder $(raa)$, so haben wir die - Behauptung des Lemmas gezeigt. Analog kann dies für die verbleibenden - Regeln getan werden. - - \begin{quote} - Korrektheitssatz für natürliches Schließen \& Wahrheitswertebereich $B$ - - Für jede Menge von Formeln $\Gamma$ und jede Formel $\varphi$ gilt - $\Gamma\vdash\varphi\Rightarrow\Gamma\vdash_B\varphi$. - \end{quote} - - Beweis: Wegen $\Gamma\vdash\varphi$ existiert eine Deduktion $D$ mit - Hypothesen in $\Gamma$ und Konklusion $\varphi$. Nach dem - Korrektheitslemma folgt $\Gamma\vdash_B \varphi$. - - \begin{quote} - Korollar: Jedes Theorem ist eine B-Tautologie. - \end{quote} - - \begin{quote} - Korrektheitssatz für natürliches Schließen \& Wahrheitswertebereich $B$ - - Für jede Menge von Formeln $\Gamma$ und jede Formel $\varphi$ gilt - $\Gamma\vdash\varphi\Rightarrow\Gamma\vdash_{B_\mathbb{R}}\varphi$. - \end{quote} - - Beweis: 1. Variante: verallgemeinere den Beweis von Korrektheitslemma - und Korrektheitssatz für $B$ auf $B_\mathbb{R}$ (Problem: wir haben - mehrfach ausgenutzt, dass $B=\{0,1\}$ mit $0<1$) 2. Variante: Folgerung - aus Korrektheitssatz für $B$. - - \begin{quote} - Korollar: Jedes Theorem ist eine $B_\mathbb{R}$-Tautologie. - \end{quote} - - \begin{quote} - Korrektheitslemma für nat. Schließen \& Wahrheitswertebereich - $H_{mathbb{R}}$ - - Sei $D$ eine Deduktion mit Hypothesen in der Menge $\Gamma$ und - Konklusion $\varphi$, die die Regel $(raa)$ nicht verwendet. Dann gilt - $\Gamma\vdash_{H_\mathbb{R}}\varphi$. - \end{quote} - - Beweis: ähnlich zum Beweis des Korrektheitslemmas für den - Wahrheitswertebereich B. Nur die Behandlung der Regel $(raa)$ kann nicht - übertragen werden. - - Beispiel: Sei $p$ eine atomare Formel. - \includegraphics[width=\linewidth]{Assets/Logik-beispiel-7.png} Also gilt - $\{\lnot\lnot p\}\vdash p$, d.h. $p$ ist syntaktische Folgerung von - $\lnot\lnot p$. - Sei $B$ $H_{mathbb{R}}$-Belegung mit - $B(p)=\mathbb{R}\backslash\{0\}$. - - $\Rightarrow B(\lnot\lnot p) =\mathbb{R}\not\subseteq \mathbb{R}\backslash\{0\}=B(p)$ - - $\Rightarrow\lnot\lnot p\not\Vdash_{H_{mathbb{R}}} p$, d.h. $p$ ist - keine $H_{mathbb{R}}$ -Folgerung von $\lnot\lnot p$. - - \begin{quote} - Korrektheitssatz für nat. Schließen \& Wahrheitswertebereich - $H_{mathbb{R}}$ - - Für jede Menge von Formeln $\Gamma$ und jede Formel $\varphi$ gilt - $\Gamma\vdash\varphi$ ohne $(raa)$ - $\Rightarrow\Gamma\vdash_{H_{mathbb{R}}}\varphi$. - \end{quote} - - \begin{quote} - Korollar: Jedes $(raa)$-frei herleitbare Theorem ist eine - $H_{mathbb{R}}$-Tautologie. - \end{quote} - - Folgerung: Jede Deduktion der Theoreme - $\lnot\lnot\varphi\rightarrow\varphi$ und $\varphi\vee\lnot\varphi$ ohne - Hypothesen verwendet $(raa)$. - - \subsection{Vollständigkeit}\label{vollstuxe4ndigkeit} - - Können wir durch mathematische Beweise zu allen korrekten Aussagen - kommen? - - Können wir durch das natürliche Schließen zu allen korrekten Aussagen - kommen? - - Existiert eine Menge $\Gamma$ von Formeln und eine Formel $\varphi$ mit - $\Gamma\vdash_W\varphi$ und $\Gamma\not\vdash\varphi$? Für welche - Wahrheitswertebereiche $W$? - - Frage für diese Vorlesung: Für welche Wahrheitswertebereiche $W$ gilt - $\Gamma\vdash_W \varphi\Rightarrow\Gamma\vdash\varphi$ bzw. $\varphi$ - ist $W$-Tautologie $\Rightarrow\varphi$ ist Theorem? - - \subsubsection{Plan}\label{plan} + \note{Korrektheitslemma für nat. Schließen \& Wahrheitswertebereich B}{Sei $D$ eine Deduktion mit Hypothesen in der Menge $\Gamma$ und Konklusion $\varphi$. Dann gilt $\Gamma\vdash_B \varphi$, d.h. $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\varphi)$ für alle passenden B-Belegungen $B$.} + Beweis: Induktion über die Größe der Deduktion $D$ (d.h. Anzahl der Regelanwendungen). \begin{itemize*} - \itemsep1pt\parskip0pt\parsep0pt - \item - Sei $W$ einer der Wahrheitswertebereiche - $B,K_3 ,F ,B_\mathbb{R}, H_{mathbb{R}}$. - \item - z.z. ist $\Gamma\vdash_W\varphi\Rightarrow\Gamma\vdash\varphi$. - \item - dies ist äquivalent zu - $\Gamma\not\vdash\varphi\Rightarrow\Gamma\not\Vdash_W \varphi$. - \item - hierzu gehen wir folgendermaßen vor: - \item - $\Gamma \not\Vdash_W\varphi$ - \item - $\Leftrightarrow$ $\Gamma\cup\{\lnot\varphi\}$ konsistent - \item - $\Rightarrow$ $\exists\Delta\subseteq\Gamma\cup\{\lnot\varphi\}$ - maximal konsistent - \item - $\Rightarrow$ $\Delta$ erfüllbar - \item - $\Rightarrow$ $\Gamma\cup\{\lnot\varphi\}$ erfüllbar - \item - $\Leftrightarrow$ $\Gamma\not\Vdash_B \varphi$ - \item - $\Rightarrow$ $\Gamma\not\Vdash\varphi$ + \item I.A.: die kleinste Deduktion $D$ hat die Form $\varphi$ mit Hypothese $\varphi$ und Konklusion $\varphi$. Sei $B$ passendeB-Belegung. Hypothesen von $D$ in $\Gamma\Rightarrow\varphi\in\Gamma\Rightarrow inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\varphi)\Rightarrow\Gamma\vdash_B \varphi$ + \item I.V.: Behauptung gelte für alle Deduktionen, die kleiner sind als $D$. + \item I.S.: Wir unterscheiden verschiedene Fälle, je nachdem, welche Regel als letzte angewandt wurde. + \begin{itemize*} + \item $(\wedge I)$ Die Deduktion hat die Form $\frac{\alpha\quad\beta}{\alpha\wedge\beta}$ + mit $\varphi=\alpha\wedge\beta$. Sei $B$ passende B-Belegung. Nach IV gelten $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\alpha)$ und $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\beta)$ + und damit + $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\alpha)\wedge_B B(\beta)=B(\alpha\wedge\beta) =B(\varphi)$. + Da $B$ beliebig war, haben wir $\Gamma\vdash_B \varphi$ gezeigt. + \item $(\vee E)$ Die Deduktion $D$ hat die Form $\frac{\alpha\vee\beta\quad\phi\quad\phi}{\phi}$ + Also gibt es Deduktion $E$ mit Hypothesen in $\Gamma$ und Konklusion $\alpha\vee\beta$ und Deduktionen $F$ und $G$ mit Hypothesen in $\Gamma\cup\{\alpha\}$ bzw. $\Gamma\cup\{\beta\}$ und Konklusion $\varphi$. Sei $B$ passende B-Belegung. Nach IV gelten + $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\alpha\vee\beta)$ (1) + $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\alpha\}\}\leq B(\varphi)$ (2) + $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\beta\}\}\leq B(\varphi)$ (3) + Wir unterscheiden zwei Fälle: + \begin{itemize*} + \item $B(\alpha)\leq B(\beta)$: + $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\alpha\vee\beta) =B(\alpha)\vee_B B(\beta) =B(\beta)$ impliziert + $inf\{B(\gamma)|\gamma\in\Gamma\}= inf\{B(\gamma)|\gamma\in\Gamma\cup\{\beta\}\}\leq B(\varphi)$ + \item $B(\alpha)>B(\beta)$: analog + Da $B$ beliebig war, haben wir $\Gamma\vdash_B \varphi$ gezeigt. + \end{itemize*} + \item $(\rightarrow I)$ Die DeduktionDhat die Form $\frac{\beta}{\alpha\rightarrow\beta}$ + mit $\varphi=\alpha\rightarrow\beta$. Sei $B$ eine passende B-Belegung. Nach IV gilt + $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\alpha\}\}\leq B(\beta)$ + Wir unterscheiden wieder zwei Fälle: + \begin{itemize*} + \item $B(\alpha)=0:inf\{B(\gamma)|\gamma\in\Gamma\}\leq 1 =\rightarrow_B(B(\alpha),B(\beta)) = B(\alpha\rightarrow\beta) =B(\varphi)$ + \item $B(\alpha)=1:inf\{B(\gamma)|\gamma\in\Gamma\}=inf\{B(\gamma)|\gamma\in\Gamma\cup\{\alpha\}\}\leq B(\beta) =\rightarrow_B (B(\alpha),B(\beta)) = B(\alpha\rightarrow\beta) =B(\varphi)$ + Da $B$ beliebig war, habe wir $\Gamma\vdash_B \varphi$ gezeigt. + \end{itemize*} + \item $(raa)$ Die DeduktionDhat die Form $\frac{\bot}{\phi}$ + Sei $B$ eine passende B-Belegung. Nach IV gilt $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\lnot\varphi\}\}\leq B(\bot) = 0$. + Wir unterscheiden wieder zwei Fälle: + \begin{itemize*} + \item $inf\{B(\gamma)|\gamma\in\Gamma\}=0$: dann gilt $inf\{B(\gamma)|\gamma\in\Gamma\}\leq B(\varphi)$. + \item $inf\{B(\gamma)|\gamma\in\Gamma\}=1$: Wegen $inf\{B(\gamma)|\gamma\in\Gamma\cup\{\lnot\varphi\}\}=0$ folgt $0 =B(\lnot\varphi)=\lnot_B (B(\varphi))$ und daher $B(\varphi)=1\geq inf\{B(\gamma)|\gamma\in\Gamma\}$. + Da $B$ beliebig war, haben wir $\Gamma\vdash_B \varphi$ gezeigt. + \end{itemize*} + \end{itemize*} \end{itemize*} - \subsubsection{Konsistente Mengen}\label{konsistente-mengen} + Ist die letzte Schlußregel in der Deduktion $D$ von der Form $(\wedge I), (\vee E), (\rightarrow I)$ oder $(raa)$, so haben wir die Behauptung des Lemmas gezeigt. Analog kann dies für die verbleibenden Regeln getan werden. - \begin{quote} - Definition + \note{Korrektheitssatz für natürliches Schließen \& Wahrheitswertebereich $B$}{Für jede Menge von Formeln $\Gamma$ und jede Formel $\varphi$ gilt $\Gamma\vdash\varphi\Rightarrow\Gamma\vdash_B\varphi$.} - Sei $\Gamma$ eine Menge von Formeln. $\Gamma$ heißt inkonsistent, wenn - $\Gamma\vdash\bot$ gilt. Sonst heißt $\Gamma$ konsistent. - \end{quote} + Beweis: Wegen $\Gamma\vdash\varphi$ existiert eine Deduktion $D$ mit Hypothesen in $\Gamma$ und Konklusion $\varphi$. Nach dem Korrektheitslemma folgt $\Gamma\vdash_B \varphi$. - \begin{quote} - Lemma - Sei $\Gamma$ eine Menge von Formeln und $\varphi$ eine Formel. Dann gilt - $\Gamma\not\vdash\varphi \Leftrightarrow \Gamma\cup\{\lnot\varphi\}$ - konsistent. - \end{quote} - - Beweis: Wir zeigen - ``$\Gamma\vdash\varphi\Leftrightarrow \Gamma\cup\{\lnot\varphi\}$ - inkonsistent'': - Richtung ``$\Rightarrow$'', gelte also - $\Gamma \vdash \varphi$. - $\Rightarrow$ es gibt Deduktion $D$ mit - Hypothesen in $\Gamma$ und Konklusion $\varphi$ - $\Rightarrow$ Wir - erhalten die folgende Deduktion mit Hypothesen in - $\Gamma\cup\{\lnot\varphi\}$ und Konklusion $\bot$: - $\frac{\lnot\varphi\quad\varphi}{\bot}$ - - $\Rightarrow\Gamma\cup\{\lnot\varphi\}\vdash\bot$, - d.h.$\Gamma\cup\{\lnot\varphi\}$ ist inkonsistent. - Richtung - ``$\Leftarrow$'', sei also $\Gamma\cup\{\lnot\varphi\}$ inkonsistent. - - $\Rightarrow$ Es gibt Deduktion $D$ mit Hypothesen in - $\Gamma\cup\{\lnot\varphi\}$ und Konklusion $\bot$. - $\Rightarrow$ Wir - erhalten die folgende Deduktion mit Hypothesen in $\Gamma$ und - Konklusion $\varphi$: $\frac{\bot}{\varphi}$ - $\Gamma\vdash\varphi$ - - \subsubsection{Maximal konsistente - Mengen}\label{maximal-konsistente-mengen} - - \begin{quote} - Definition - - Eine Formelmenge $\Delta$ ist maximal konsistent, wenn sie konsistent - ist und wenn gilt ``$\sum\supseteq\Delta$ konsistent - $\Rightarrow\sum = \Delta$''. - \end{quote} - - \begin{quote} - Satz - - Jede konsistente Formelmenge $\Gamma$ ist in einer maximal konsistenten - Formelmenge $\Delta$ enthalten. - \end{quote} - - Beweis: Sei $\varphi_1,\varphi_2,...$ eine Liste aller Formeln (da wir - abzählbar viele atomare Formeln haben, gibt es nur abzählbar viele - Formeln) - - Wir definieren induktiv konsistente Mengen $\Gamma_n$: - Setze - $\Gamma_1 = \Gamma$ - Setze - $\Gamma_{n+1}= \begin{cases} \Gamma_n\cup\{\varphi_n\}\quad\text{ falls diese Menge konsistent} \\ \Gamma_n \quad\text{sonst}\end{cases}$ - - Setze nun $\Delta =\bigcup_{n\geq 1} \Gamma_n$. 1. Wir zeigen indirekt, - dass $\Delta$ konsistent ist: Angenommen, $\Delta\vdash\bot$. - - $\Rightarrow$ Es gibt Deduktion $D$ mit Konklusion $\bot$ und endlicher - Menge von Hypothesen $\Delta'\subseteq\Delta$. - $\Rightarrow$ Es gibt - $n\geq 1$ mit $\Delta'\subseteq\Gamma_n$ - - $\Rightarrow \Gamma_n\vdash\bot$, zu $\Gamma_n$ konsistent. Also ist - $\Delta$ konsistent. 2. Wir zeigen indirekt, dass $\Delta$ maximal - konsistent ist. Sei also $\sum\supseteq\Delta$ konsistent. Angenommen, - $\sum\not=\Delta$. - $\Rightarrow$ es gibt $n\in N$ mit - $\varphi_n\in\sum\backslash\Delta$ - - $\Rightarrow \Gamma_n\cup\{\varphi_n\}\subseteq\Delta\cup\sum= \sum$ - konsistent. - $\Rightarrow \varphi_n \in\Gamma_{n+1}\subseteq \Delta$, - ein Widerspruch, d.h. $\Delta$ ist max. konsistent. - - \begin{quote} - Lemma 1 - - Sei $\Delta$ maximal konsistent und gelte $\Delta\vdash\varphi$. Dann - gilt $\varphi\in\Delta$. - \end{quote} - - Beweis: 1. Zunächst zeigen wir indirekt, dass $\Delta\cup\{\varphi\}$ - konsistent ist: - Angenommen, $\Delta\cup\{\varphi\}\vdash\bot$. - - $\Rightarrow$ $\exists$ Deduktion $D$ mit Hypothesen in - $\Delta\cup\{\varphi\}$ und Konklusion $\bot$. - - $\Delta\vdash \varphi \Rightarrow \exists$ Deduktion $E$ mit Hypothesen - in $\Delta$ und Konklusion $\varphi$. - $\Rightarrow$ Wir erhalten die - folgende Deduktion: $\frac{\Delta \frac{\Delta}{\varphi}}{\bot}$ - - \begin{verbatim} -Also $\Delta\vdash\bot$, ein Widerspruch zur Konsistenz von $\Delta$. Also ist $\Delta\cup\{\varphi\}$ konsistent. -\end{verbatim} + \note{Korollar: Jedes Theorem ist eine B-Tautologie.}{Korrektheitssatz für natürliches Schließen \& Wahrheitswertebereich $B$ + Für jede Menge von Formeln $\Gamma$ und jede Formel $\varphi$ gilt $\Gamma\vdash\varphi\Rightarrow\Gamma\vdash_{B_\mathbb{R}}\varphi$.} + Beweis: \begin{enumerate*} - \setcounter{enumi}{1} - \itemsep1pt\parskip0pt\parsep0pt - \item - Da $\Delta\cup\{\varphi\}\supseteq\Delta$ konsistent und $\Delta$ - maximal konsistent ist, folgt $\Delta=\Delta\cup\{\varphi\}$, d.h. - $\varphi\in\Delta$. + \item Variante: verallgemeinere den Beweis von Korrektheitslemma und Korrektheitssatz für $B$ auf $B_\mathbb{R}$ (Problem: wir haben mehrfach ausgenutzt, dass $B=\{0,1\}$ mit $0<1$) + \item Variante: Folgerung aus Korrektheitssatz für $B$. \end{enumerate*} - \begin{quote} - Lemma 2 + \note{Korollar}{Jedes Theorem ist eine $B_\mathbb{R}$-Tautologie.} - Sei $\Delta$ maximal konsistent und $\varphi$ Formel. Dann gilt - $\varphi\not\in\Delta\Leftrightarrow\lnot\varphi\in\Delta$. - \end{quote} + \note{Korrektheitslemma für nat. Schließen \& Wahrheitswertebereich $H_{mathbb{R}}$ }{Sei $D$ eine Deduktion mit Hypothesen in der Menge $\Gamma$ und Konklusion $\varphi$, die die Regel $(raa)$ nicht verwendet. Dann gilt $\Gamma\vdash_{H_\mathbb{R}}\varphi$.} - Beweis: - Zunächst gelte $\lnot\varphi\in\Delta$. Angenommen, - $\varphi\in\Delta$. Dann haben wir die Deduktion - $\frac{\lnot\varphi\quad\varphi}{\bot}$ und damit $\Delta\vdash\bot$, - was der Konsistenz von $\Delta$ widerspricht. - Gelte nun - $\varphi\not\in\Delta$. - $\Rightarrow$ - $\Delta(\Delta\cup\{\varphi\}\Rightarrow\Delta\cup\{\varphi\}$ - inkonsistent (da $\Delta$ max. konsistent) - $\Rightarrow$ Es gibt - Deduktion $D$ mit Hypothesen in $\Delta\cup\{\varphi\}$ \&Konklusion - $\bot$. - $\Rightarrow$ Wir erhalten die folgende Deduktion: - $\frac{\bot}{\lnot\varphi}$ - $\Rightarrow$ - $\Delta\vdash\lnot\varphi\Rightarrow\lnot\varphi\in\Delta$ (nach Lemma - 1) + Beweis: ähnlich zum Beweis des Korrektheitslemmas für den Wahrheitswertebereich B. Nur die Behandlung der Regel $(raa)$ kann nicht übertragen werden. - \subsection{Erfüllbare Mengen}\label{erfuxfcllbare-mengen} + Beispiel: Sei $p$ eine atomare Formel. + %\includegraphics[width=\linewidth]{Assets/Logik-beispiel-7.png) + Also gilt $\{\lnot\lnot p\}\vdash p$, d.h. $p$ ist syntaktische Folgerung von $\lnot\lnot p$. + \begin{itemize*} + \item Sei $B$ $H_{mathbb{R}}$-Belegung mit $B(p)=\mathbb{R}\backslash\{0\}$. + \item $\Rightarrow B(\lnot\lnot p) =\mathbb{R}\not\subseteq \mathbb{R}\backslash\{0\}=B(p)$ + \item $\Rightarrow\lnot\lnot p\not\Vdash_{H_{mathbb{R}}} p$, d.h. $p$ ist keine $H_{mathbb{R}}$ -Folgerung von $\lnot\lnot p$. + \end{itemize*} - \begin{quote} - Definition + \note{Korrektheitssatz für nat. Schließen \& Wahrheitswertebereich $H_{mathbb{R}}$ }{Für jede Menge von Formeln $\Gamma$ und jede Formel $\varphi$ gilt $\Gamma\vdash\varphi$ ohne $(raa)$ $\Rightarrow\Gamma\vdash_{H_{mathbb{R}}}\varphi$.} - Sei $\Gamma$ eine Menge von Formeln. $\Gamma$ heißt erfüllbar, wenn es - eine passende B-Belegung $B$ gibt mit $B(\gamma) = 1_B$ für alle - $\gamma\in\Gamma$. - \end{quote} + \note{Korollar}{Jedes $(raa)$-frei herleitbare Theorem ist eine $H_{mathbb{R}}$-Tautologie.} - Bemerkung - Die Erfüllbarkeit einer endlichen Menge $\Gamma$ ist - entscheidbar: - Berechne Menge $V$ von in $\Gamma$ vorkommenden atomaren - Formeln - Probiere alle B-Belegungen $B:V\rightarrow B$ durch - Die - Erfüllbarkeit einer endlichen Menge $\Gamma$ ist NP-vollständig (Satz - von Cook) + Folgerung: Jede Deduktion der Theoreme $\lnot\lnot\varphi\rightarrow\varphi$ und $\varphi\vee\lnot\varphi$ ohne Hypothesen verwendet $(raa)$. - \begin{quote} - Satz Sei $\Delta$ eine maximal konsistente Menge von Formeln. Dann ist - $\Delta$ erfüllbar. - \end{quote} - Beweis: Definiere eine B-Belegung $B$ mittels - $B(p_i) = \begin{cases} 1_B \quad\text{ falls } p_i\in\Delta \\ 0_B \quad\text{ sonst. } \end{cases}$ - Wir zeigen für alle Formeln - $\varphi: B(\varphi) = 1_B \Leftarrow\Rightarrow\varphi\in\Delta$ (*) + \subsection{Vollständigkeit} + Können wir durch mathematische Beweise zu allen korrekten Aussagen kommen? + + Können wir durch das natürliche Schließen zu allen korrekten Aussagen kommen? + + Existiert eine Menge $\Gamma$ von Formeln und eine Formel $\varphi$ mit $\Gamma\vdash_W\varphi$ und $\Gamma\not\vdash\varphi$? Für welche Wahrheitswertebereiche $W$? + + Frage für diese Vorlesung: Für welche Wahrheitswertebereiche $W$ gilt $\Gamma\vdash_W \varphi\Rightarrow\Gamma\vdash\varphi$ bzw. $\varphi$ ist $W$-Tautologie $\Rightarrow\varphi$ ist Theorem? + + \subsubsection{Plan} + \begin{itemize*} + \item Sei $W$ einer der Wahrheitswertebereiche $B,K_3 ,F ,B_\mathbb{R}, H_{mathbb{R}}$. + \item z.z. ist $\Gamma\vdash_W\varphi\Rightarrow\Gamma\vdash\varphi$. + \item dies ist äquivalent zu $\Gamma\not\vdash\varphi\Rightarrow\Gamma\not\Vdash_W \varphi$. + \item hierzu gehen wir folgendermaßen vor: + \begin{itemize*} + \item $\Gamma \not\Vdash_W\varphi$ + \item $\Leftrightarrow$ $\Gamma\cup\{\lnot\varphi\}$ konsistent + \item $\Rightarrow$ $\exists\Delta\subseteq\Gamma\cup\{\lnot\varphi\}$ maximal konsistent + \item $\Rightarrow$ $\Delta$ erfüllbar + \item $\Rightarrow$ $\Gamma\cup\{\lnot\varphi\}$ erfüllbar + \item $\Leftrightarrow$ $\Gamma\not\Vdash_B \varphi$ + \item $\Rightarrow$ $\Gamma\not\Vdash\varphi$ + \end{itemize*} + \end{itemize*} + + \subsubsection{Konsistente Mengen} + \note{Definition}{Sei $\Gamma$ eine Menge von Formeln. $\Gamma$ heißt inkonsistent, wenn $\Gamma\vdash\bot$ gilt. Sonst heißt $\Gamma$ konsistent.} + + \note{Lemma}{Sei $\Gamma$ eine Menge von Formeln und $\varphi$ eine Formel. Dann gilt $\Gamma\not\vdash\varphi \Leftrightarrow \Gamma\cup\{\lnot\varphi\}$ konsistent.} + + Beweis: Wir zeigen "$\Gamma\vdash\varphi\Leftrightarrow \Gamma\cup\{\lnot\varphi\}$ inkonsistent": + \begin{itemize*} + \item Richtung "$\Rightarrow$", gelte also $\Gamma \vdash \varphi$. + \begin{itemize*} + \item $\Rightarrow$ es gibt Deduktion $D$ mit Hypothesen in $\Gamma$ und Konklusion $\varphi$ + \item $\Rightarrow$ Wir erhalten die folgende Deduktion mit Hypothesen in $\Gamma\cup\{\lnot\varphi\}$ und Konklusion $\bot$: $\frac{\lnot\varphi\quad\varphi}{\bot}$ + \item $\Rightarrow\Gamma\cup\{\lnot\varphi\}\vdash\bot$, d.h.$\Gamma\cup\{\lnot\varphi\}$ ist inkonsistent. + \end{itemize*} + \item Richtung "$\Leftarrow$", sei also $\Gamma\cup\{\lnot\varphi\}$ inkonsistent. + \begin{itemize*} + \item $\Rightarrow$ Es gibt Deduktion $D$ mit Hypothesen in $\Gamma\cup\{\lnot\varphi\}$ und Konklusion $\bot$. + \item $\Rightarrow$ Wir erhalten die folgende Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$: $\frac{\bot}{\varphi}$ + \item $\Gamma\vdash\varphi$ + \end{itemize*} + \end{itemize*} + + \subsubsection{Maximal konsistente Mengen} + \note{Definition}{Eine Formelmenge $\Delta$ ist maximal konsistent, wenn sie konsistent ist und wenn gilt "$\sum\supseteq\Delta$ konsistent $\Rightarrow\sum = \Delta$".} + + \note{Satz}{Jede konsistente Formelmenge $\Gamma$ ist in einer maximal konsistenten Formelmenge $\Delta$ enthalten.} + + Beweis: Sei $\varphi_1,\varphi_2,...$ eine Liste aller Formeln (da wir abzählbar viele atomare + Formeln haben, gibt es nur abzählbar viele Formeln) + + Wir definieren induktiv konsistente Mengen $\Gamma_n$: + \begin{itemize*} + \item Setze $\Gamma_1 = \Gamma$ + \item Setze $\Gamma_{n+1}= \begin{cases} \Gamma_n\cup\{\varphi_n\}\quad\text{ falls diese Menge konsistent} \\ \Gamma_n \quad\text{sonst}\end{cases}$ + \end{itemize*} + + Setze nun $\Delta =\bigcup_{n\geq 1} \Gamma_n$. + \begin{enumerate*} + \item Wir zeigen indirekt, dass $\Delta$ konsistent ist: Angenommen, $\Delta\vdash\bot$. + \begin{itemize*} + \item $\Rightarrow$ Es gibt Deduktion $D$ mit Konklusion $\bot$ und endlicher Menge von Hypothesen $\Delta'\subseteq\Delta$. + \item $\Rightarrow$ Es gibt $n\geq 1$ mit $\Delta'\subseteq\Gamma_n$ + \item $\Rightarrow \Gamma_n\vdash\bot$, zu $\Gamma_n$ konsistent. Also ist $\Delta$ konsistent. + \end{itemize*} + \item Wir zeigen indirekt, dass $\Delta$ maximal konsistent ist. Sei also $\sum\supseteq\Delta$ + konsistent. Angenommen, $\sum\not=\Delta$. + \begin{itemize*} + \item $\Rightarrow$ es gibt $n\in N$ mit $\varphi_n\in\sum\backslash\Delta$ + \item $\Rightarrow \Gamma_n\cup\{\varphi_n\}\subseteq\Delta\cup\sum= \sum$ konsistent. + \item $\Rightarrow \varphi_n \in\Gamma_{n+1}\subseteq \Delta$, ein Widerspruch, d.h. $\Delta$ ist max. konsistent. + \end{itemize*} + \end{enumerate*} + + \note{Lemma 1}{Sei $\Delta$ maximal konsistent und gelte $\Delta\vdash\varphi$. Dann gilt $\varphi\in\Delta$.} + + Beweis: + \begin{enumerate*} + \item Zunächst zeigen wir indirekt, dass $\Delta\cup\{\varphi\}$ konsistent ist: + \begin{itemize*} + \item Angenommen, $\Delta\cup\{\varphi\}\vdash\bot$. + \item $\Rightarrow$ $\exists$ Deduktion $D$ mit Hypothesen in $\Delta\cup\{\varphi\}$ und Konklusion $\bot$. + \item $\Delta\vdash \varphi \Rightarrow \exists$ Deduktion $E$ mit Hypothesen in $\Delta$ und Konklusion $\varphi$. + \item $\Rightarrow$ Wir erhalten die folgende Deduktion: $\frac{\Delta \frac{\Delta}{\varphi}}{\bot}$ + \item Also $\Delta\vdash\bot$, ein Widerspruch zur Konsistenz von $\Delta$. Also ist $\Delta\cup\{\varphi\}$ konsistent. + \end{itemize*} + \item Da $\Delta\cup\{\varphi\}\supseteq\Delta$ konsistent und $\Delta$ maximal konsistent ist, folgt $\Delta=\Delta\cup\{\varphi\}$, d.h. $\varphi\in\Delta$. + \end{enumerate*} + + \note{Lemma 2}{Sei $\Delta$ maximal konsistent und $\varphi$ Formel. Dann gilt $\varphi\not\in\Delta\Leftrightarrow\lnot\varphi\in\Delta$.} + + Beweis: + \begin{itemize*} + \item Zunächst gelte $\lnot\varphi\in\Delta$. Angenommen, $\varphi\in\Delta$. Dann haben wir die Deduktion $\frac{\lnot\varphi\quad\varphi}{\bot}$ und damit $\Delta\vdash\bot$, was der Konsistenz von $\Delta$ widerspricht. + \item Gelte nun $\varphi\not\in\Delta$. + \begin{itemize*} + \item $\Rightarrow$ $\Delta(\Delta\cup\{\varphi\}\Rightarrow\Delta\cup\{\varphi\}$ inkonsistent (da $\Delta$ max. konsistent) + \item $\Rightarrow$ Es gibt Deduktion $D$ mit Hypothesen in $\Delta\cup\{\varphi\}$ \& Konklusion $\bot$. + \item $\Rightarrow$ Wir erhalten die folgende Deduktion: $\frac{\bot}{\lnot\varphi}$ + \item $\Rightarrow$ $\Delta\vdash\lnot\varphi\Rightarrow\lnot\varphi\in\Delta$ (nach Lemma 1) + \end{itemize*} + \end{itemize*} + + \subsection{Erfüllbare Mengen} + + \note{Definition}{Sei $\Gamma$ eine Menge von Formeln. $\Gamma$ heißt erfüllbar, wenn es eine passende B-Belegung $B$ gibt mit $B(\gamma) = 1_B$ für alle $\gamma\in\Gamma$.} + + Bemerkung + \begin{itemize*} + \item Die Erfüllbarkeit einer endlichen Menge $\Gamma$ ist entscheidbar: + \begin{itemize*} + \item Berechne Menge $V$ von in $\Gamma$ vorkommenden atomaren Formeln + \item Probiere alle B-Belegungen $B:V\rightarrow B$ durch + \end{itemize*} + \item Die Erfüllbarkeit einer endlichen Menge $\Gamma$ ist NP-vollständig (Satz von Cook) + \end{itemize*} + + \note{Satz}{Sei $\Delta$ eine maximal konsistente Menge von Formeln. Dann ist $\Delta$ erfüllbar.} + + Beweis: Definiere eine B-Belegung $B$ mittels $B(p_i) = \begin{cases} 1_B \quad\text{ falls } p_i\in\Delta \\ 0_B \quad\text{ sonst. } \end{cases}$ + Wir zeigen für alle Formeln $\varphi: B(\varphi) = 1_B \Leftarrow\Rightarrow\varphi\in\Delta$ (*) Der Beweis erfolgt per Induktion über die Länge von $\varphi$. \begin{enumerate*} - \itemsep1pt\parskip0pt\parsep0pt - \item - I.A.: hat $\varphi$ die Länge 1, so ist $\varphi$ atomare Formel. Hier - gilt (*) nach Konstruktion von $B$. - \item - I.V.: Gelte (*) für alle Formeln der Länge $1$. $\Rightarrow$ Es gibt - Formeln $\alpha$ und $\beta$ der Länge$1$. $\Rightarrow$ Es gibt Formeln $\alpha$ und $\beta$ der Länge$ 0$ und $ar(a) =ar(b) = 0$ - typische - Relationsnamen: $R,S,...$ + Beispiel: $\Omega=\{f,dk\}$ mit $ar(f) =1,ar(dk)=0$ und $Rel=\{S,LuLP,AuD,Pr,WM,J\}$ mit $ar(S) =ar(LuLP) =ar(AuD) =ar(Pr) =ar(WM) =1 undar(J) = 2$ bilden die Signatur der Datenbank von vorhin. + \begin{itemize*} + \item typische Funktionsnamen: $f, g, a, b...$ mit $ar(f),ar(g) > 0$ und $ar(a) =ar(b) = 0$ + \item typische Relationsnamen: $R,S,...$ + \end{itemize*} - \begin{quote} - Definition + \note{Definition}{Die Menge der Variablen ist $Var=\{x_0,x_1 ,...\}$.} - Die Menge der Variablen ist $Var=\{x_0,x_1 ,...\}$. - \end{quote} + \note{Definition}{Sei $\sum$ eine Signatur. Die Menge $T_{\sum}$ der $\sum$-Terme ist induktiv definiert: + \begin{enumerate*} + \item Jede Variable ist ein Term, d.h. $Var\subseteq T_{\sum}$ + \item ist $f\in\Omega$ mit $ar(f)=k$ und sind $t_1,...,t_k\in T_{\sum}$, so gilt $f(t_1,...,t_k)\in T_{\sum}$ + \item Nichts ist $\sum$-Term, was sich nicht mittels der obigen Regeln erzeugen läßt. + \end{enumerate*} + } - \begin{quote} - Definition + Beispiel:In der Signatur der Datenbank von vorhin haben wir u.a. die folgenden Terme: + \begin{itemize*} + \item $x_1$ und $x_8$ + \item $f(x_0)$ und $f(f(x_3))$ + \item $dk()$ und $f(dk())$ - hierfür schreiben wir kürzer $dk$ bzw. $f(dk)$ + \end{itemize*} - Sei $\sum$ eine Signatur. Die Menge $T_{\sum}$ der $\sum$-Terme ist - induktiv definiert: 1. Jede Variable ist ein Term, d.h. - $Var\subseteq T_{\sum}$ 2. ist $f\in\Omega$ mit $ar(f)=k$ und sind - $t_1,...,t_k\in T_{\sum}$, so gilt $f(t_1,...,t_k)\in T_{\sum}$ 3. - Nichts ist $\sum$-Term, was sich nicht mittels der obigen Regeln - erzeugen läßt. - \end{quote} + \note{Definition}{Sei $\sum$ Signatur. Die atomaren $\sum$-Formeln sind die Zeichenketten der Form + \begin{itemize*} + \item $R(t_1,t_2,...,t_k)$ falls $t_1,t_2,...,t_k\in T_{\sum}$ und $R\in Rel$ mit $ar(R)=k$ oder + \item $t_1=t_2$ falls $t_1,t_2\in T_{\sum}$ oder + \item $\bot$. + \end{itemize*} + } - Beispiel:In der Signatur der Datenbank von vorhin haben wir u.a. die - folgenden Terme: - $x_1$ und $x_8$ - $f(x_0)$ und $f(f(x_3))$ - $dk()$ - und $f(dk())$ - hierfür schreiben wir kürzer $dk$ bzw. $f(dk)$ + Beispiel: In der Signatur der Datenbank von vorhin haben wir u.a. die folgenden atomaren Formeln: + \begin{itemize*} + \item $S(x_1)$ und $LuLP(f(x4))$ + \item $S(dk)$ und $AuD(f(dk))$ + \end{itemize*} - \begin{quote} - Definition + \note{Definition}{Sei $\sum$ Signatur. $\sum$-Formeln werden durch folgenden induktiven Prozeß definiert: + \begin{enumerate*} + \item Alle atomaren $\sum$-Formeln sind $\sum$-Formeln. + \item Falls $\varphi$ und $\Psi$ $\sum$-Formeln sind, sind auch $(\varphi\wedge\Psi)$,$(\varphi\vee\Psi)$ und $(\varphi\rightarrow\Psi)$ $\sum$-Formeln. + \item Falls $\varphi$ eine $\sum$-Formel ist, ist auch $\lnot\varphi$ eine $\sum$-Formel. + \item Falls $\varphi$ eine $\sum$-Formel und $x\in Var$, so sind auch $\forall x\varphi$ und $\exists x\varphi$ $\sum$-Formeln. + \item Nichts ist $\sum$-Formel, was sich nicht mittels der obigen Regeln erzeugen läßt. + \end{enumerate*} + } - Sei $\sum$ Signatur. Die atomaren $\sum$-Formeln sind die Zeichenketten - der Form - $R(t_1,t_2,...,t_k)$ falls $t_1,t_2,...,t_k\in T_{\sum}$ und - $R\in Rel$ mit $ar(R)=k$ oder - $t_1=t_2$ falls $t_1,t_2\in T_{\sum}$ - oder - $\bot$. - \end{quote} + Ist die Signatur $\sum$ aus dem Kontext klar, so sprechen wir einfach von Termen, atomaren Formeln bzw.Formeln. - Beispiel: In der Signatur der Datenbank von vorhin haben wir u.a. die - folgenden atomaren Formeln: - $S(x_1)$ und $LuLP(f(x4))$ - $S(dk)$ und - $AuD(f(dk))$ + Beispiel:In der Signatur der Datenbank von vorhin haben wir u.a. die folgenden Formeln: + \begin{itemize*} + \item $\forall x_0 (S(x_0)\vee WM(x_0)\vee Pr(x_0))$ + \item $Pr(dk)$ + \item $\forall x_3 (S(x_3)\rightarrow\lnot Pr(x_3))$ + \item $\forall x_0 \forall x_2 ((S(x_0)\wedge Pr(x_2))\rightarrow J(x_0,x_2))$ + \item $\exists x_1 (LuLP(x_1)\wedge AuD(x_1))$ + \item $\exists x_2 ((\lnot LuLP(x_2)\vee\lnot AuD(x_2))\wedge\lnot WM(x_2))$ + \item $\forall x_1 (S(x_1)\rightarrow J(x_1,f(x_1)))$ + \end{itemize*} - \begin{quote} - Definition + Wir verwenden die aus der Aussagenlogik bekannten Abkürzungen, z.B. steht $\varphi\leftrightarrow\Psi$ für $(\varphi\rightarrow\Psi)\wedge(\Psi\rightarrow\varphi)$. - Sei $\sum$ Signatur. $\sum$-Formeln werden durch folgenden induktiven - Prozeß definiert: 1. Alle atomaren $\sum$-Formeln sind $\sum$-Formeln. - 2. Falls $\varphi$ und $\Psi$ $\sum$-Formeln sind, sind auch - $(\varphi\wedge\Psi)$,$(\varphi\vee\Psi)$ und $(\varphi\rightarrow\Psi)$ - $\sum$-Formeln. 3. Falls $\varphi$ eine $\sum$-Formel ist, ist auch - $\lnot\varphi$ eine $\sum$-Formel. 4. Falls $\varphi$ eine $\sum$-Formel - und $x\in Var$, so sind auch $\forall x\varphi$ und $\exists x\varphi$ - $\sum$-Formeln. 5. Nichts ist $\sum$-Formel, was sich nicht mittels der - obigen Regeln erzeugen läßt. - \end{quote} - - Ist die Signatur $\sum$ aus dem Kontext klar, so sprechen wir einfach - von Termen, atomaren Formeln bzw.Formeln. - - Beispiel:In der Signatur der Datenbank von vorhin haben wir u.a. die - folgenden Formeln: - $\forall x_0 (S(x_0)\vee WM(x_0)\vee Pr(x_0))$ - - $Pr(dk)$ - $\forall x_3 (S(x_3)\rightarrow\lnot Pr(x_3))$ - - $\forall x_0 \forall x_2 ((S(x_0)\wedge Pr(x_2))\rightarrow J(x_0,x_2))$ - - $\exists x_1 (LuLP(x_1)\wedge AuD(x_1))$ - - $\exists x_2 ((\lnot LuLP(x_2)\vee\lnot AuD(x_2))\wedge\lnot WM(x_2))$ - - $\forall x_1 (S(x_1)\rightarrow J(x_1,f(x_1)))$ - - Wir verwenden die aus der Aussagenlogik bekannten Abkürzungen, z.B. - steht $\varphi\leftrightarrow\Psi$ für - $(\varphi\rightarrow\Psi)\wedge(\Psi\rightarrow\varphi)$. - - Zur verbesserten Lesbarkeit fügen wir mitunter hinter quantifizierten - Variablen einen Doppelpunkt ein, z.B. steht $\exists x\forall y:\varphi$ - für $\exists x\forall y\varphi$ + Zur verbesserten Lesbarkeit fügen wir mitunter hinter quantifizierten Variablen einen Doppelpunkt ein, z.B. steht $\exists x\forall y:\varphi$ für $\exists x\forall y\varphi$ Ebenso verwenden wir Variablennamen $x$,$y$,$z$ u.ä. Präzedenzen: $\lnot,\forall x,\exists x$ binden am stärksten - Beispiel: - $(\lnot\forall x:R(x,y)\wedge\exists z:R(x,z))\rightarrow P(x,y,z)$ - steht für - $((\lnot(\forall x:R(x,y))\wedge\exists z:R(x,z))\rightarrow P(x,y,z))$ + Beispiel: $(\lnot\forall x:R(x,y)\wedge\exists z:R(x,z))\rightarrow P(x,y,z)$ steht für $((\lnot(\forall x:R(x,y))\wedge\exists z:R(x,z))\rightarrow P(x,y,z))$ - \subsection{Aufgabe}\label{aufgabe} + \subsection{Aufgabe} + Im folgenden seien + \begin{itemize*} + \item $P$ ein-stelliges, $Q$ und $R$ zwei-stellige Relationssymbole, + \item $a$ null-stelliges und $f$ ein-stelliges Funktionssymbol und + \item $x,y$ und $z$ Variable. + \end{itemize*} - Im folgenden seien - $P$ ein-stelliges, $Q$ und $R$ zwei-stellige - Relationssymbole, - $a$ null-stelliges und $f$ ein-stelliges - Funktionssymbol und - $x,y$ und $z$ Variable. + Welche der folgenden Zeichenketten sind Formeln? + | | | + | --------------------------------------------- | ---- | + | $\forall x P(a)$ | ja | + | $\forall x\exists y(Q(x,y)\vee R(x))$ | nein | + | $\forall x Q(x,x)\rightarrow\exists x Q(x,y)$ | ja | + | $\forall x P(f(x))\vee\forall x Q(x,x)$ | ja | + | $\forall x(P(y)\wedge\forall y P(x))$ | ja | + | $P(x) \rightarrow\exists x Q(x,P(x))$ | nein | + | $\forall f\exists x P(f(x))$ | nein | - Welche der folgenden Zeichenketten sind Formeln? \textbar{} \textbar{} - \textbar{} \textbar{} --------------------------------------------- - \textbar{} ---- \textbar{} \textbar{} $\forall x P(a)$ \textbar{} ja - \textbar{} \textbar{} $\forall x\exists y(Q(x,y)\vee R(x))$ \textbar{} - nein \textbar{} \textbar{} $\forall x Q(x,x)\rightarrow\exists x Q(x,y)$ - \textbar{} ja \textbar{} \textbar{} $\forall x P(f(x))\vee\forall$ x - Q(x,x)\$ \textbar{} ja \textbar{} \textbar{} - $\forall x(P(y)\wedge\forall y P(x))$ \textbar{} ja \textbar{} - \textbar{} $P(x) \rightarrow\exists x Q(x,P(x))$ \textbar{} nein - \textbar{} \textbar{} $\forall f\exists x P(f(x))$ \textbar{} nein - \textbar{} + \note{Definition}{Sei $\sum$ eine Signatur. Die Menge $FV(\varphi)$ der freien Variablen einer $\sum$-Formel $\varphi$ ist induktiv definiert: + \begin{itemize*} + \item Ist $\varphi$ atomare $\sum$-Formel, so ist $FV(\varphi)$ die Menge der in $\varphi$ vorkommenden Variablen. + \item $FV(\varphi\Box\Psi) =FV(\varphi)\cup FV(\Psi)$ für $\Box\in\{\wedge,\vee,\rightarrow\}$ + \item $FV(\lnot\varphi) =FV(\varphi)$ + \item $FV(\exists x\varphi) =FV(\forall x\varphi) =FV(\varphi)\backslash\{x\}$. + \end{itemize*} + Eine $\sum$-Formel $\varphi$ ist geschlossen oder ein $\sum$-Satz, wenn $FV(\varphi)=\varnothing$ gilt.} - \begin{quote} - Definition + Was sind die freien Variablen der folgenden Formeln? Welche Formeln sind Sätze? + | | freie Variablen? | Satz? | + | ----------------------------------------------------------------------- | ---------------- | ----- | + | $\forall x P(a)$ | nein | ja | + | $\forall x Q(x,x)\rightarrow\exists x Q(x,y)$ | y | nein | + | $\forall x P(x)\vee\forall x Q(x,x)$ | nein | ja | + | $\forall x(P(y)\wedge\forall y P(x))$ | y | nein | + | $\forall x(\lnot\forall y Q(x,y)\wedge R(x,y))$ | y | nein | + | $\exists z(Q(z,x)\vee R(y,z))\rightarrow\exists y(R(x,y)\wedge Q(x,z))$ | x,y,z | nein | + | $\exists x(\lnot P(x)\vee P(f(a)))$ | nein | ja | + | $P(x)\rightarrow\exists x P(x)$ | x | nein | + | $\exists x\forall y((P(y)\rightarrow Q(x,y))\vee\lnot P(x))$ | x | nein | + | $\exists x\forall x Q(x,x)$ | nein | ja | - Sei $\sum$ eine Signatur. Die Menge $FV(\varphi)$ der freien Variablen - einer $\sum$-Formel $\varphi$ ist induktiv definiert: - Ist $\varphi$ - atomare $\sum$-Formel, so ist $FV(\varphi)$ die Menge der in $\varphi$ - vorkommenden Variablen. - - $FV(\varphi\Box\Psi) =FV(\varphi)\cup FV(\Psi)$ für - $\Box\in\{\wedge,\vee,\rightarrow\}$ - $FV(\lnot\varphi) =FV(\varphi)$ - - $FV(\exists x\varphi) =FV(\forall x\varphi) =FV(\varphi)\backslash\{x\}$. - Eine $\sum$-Formel $\varphi$ ist geschlossen oder ein $\sum$-Satz, wenn - $FV(\varphi)=\varnothing$ gilt. - \end{quote} + Semantik der Prädikatenlogik + \begin{itemize*} + \item Erinnerung: Die Frage "Ist die aussagenlogische Formel $\varphi$ wahr oder falsch?" war sinnlos, denn wir wissen i.a. nicht, ob die atomaren Aussagen wahr oder falsch sind. + \item Analog: Die Frage "Ist die prädikatenlogische Formel $\varphi$ wahr oder falsch?" ist sinnlos, denn wir wissen bisher nicht, über welche Objekte, über welche "Struktur" $\varphi$ spricht. + \end{itemize*} - Was sind die freien Variablen der folgenden Formeln? Welche Formeln sind - Sätze? \textbar{} \textbar{} freie Variablen? \textbar{} Satz? - \textbar{} \textbar{} - ----------------------------------------------------------------------- - \textbar{} ---------------- \textbar{} ----- \textbar{} \textbar{} - $\forall x P(a)$ \textbar{} nein \textbar{} ja \textbar{} \textbar{} - $\forall x Q(x,x)\rightarrow\exists x Q(x,y)$ \textbar{} y \textbar{} - nein \textbar{} \textbar{} $\forall x P(x)\vee\forall x Q(x,x)$ - \textbar{} nein \textbar{} ja \textbar{} \textbar{} - $\forall x(P(y)\wedge\forall y P(x))$ \textbar{} y \textbar{} nein - \textbar{} \textbar{} $\forall x(\lnot\forall y Q(x,y)\wedge R(x,y))$ - \textbar{} y \textbar{} nein \textbar{} \textbar{} - $\exists z(Q(z,x)\vee R(y,z))\rightarrow\exists y(R(x,y)\wedge Q(x,z))$ - \textbar{} x,y,z \textbar{} nein \textbar{} \textbar{} - $\exists x(\lnot P(x)\vee P(f(a)))$ \textbar{} nein \textbar{} ja - \textbar{} \textbar{} $P(x)\rightarrow\exists x P(x)$ \textbar{} x - \textbar{} nein \textbar{} \textbar{} - $\exists x\forall y((P(y)\rightarrow Q(x,y))\vee\lnot P(x))$ \textbar{} - x \textbar{} nein \textbar{} \textbar{} $\exists x\forall x Q(x,x)$ - \textbar{} nein \textbar{} ja \textbar{} + \note{Definition}{Sei $\sum$ eine Signatur. Eine $\sum$-Struktur ist ein Tupel $A=(U_A,(f^A)_{f\in\Omega},(R^A)_{R\in Rel})$, wobei + \begin{itemize*} + \item $U_A$ eine nichtleere Menge, das Universum, + \item $R^A\supseteq U_A^{ar(R)}$ eine Relation der Stelligkeit $ar(R)$ für $R\in Rel$ und + \item $f^A:U_A^{ar(f)}\rightarrow U_A$ eine Funktion der Stelligkeit $ar(f)$ für $f\in\Omega$ ist. + \end{itemize*} + } - Semantik der Prädikatenlogik - Erinnerung: Die Frage ``Ist die - aussagenlogische Formel $\varphi$ wahr oder falsch?'' war sinnlos, denn - wir wissen i.a. nicht, ob die atomaren Aussagen wahr oder falsch sind. - - Analog: Die Frage ``Ist die prädikatenlogische Formel $\varphi$ wahr - oder falsch?'' ist sinnlos, denn wir wissen bisher nicht, über welche - Objekte, über welche ``Struktur'' $\varphi$ spricht. + Bemerkung: $U_A^0=\{()\}$. + \begin{itemize*} + \item Also ist $a^A:U_A^0\rightarrow U_A$ für $a\in\Omega$ mit $ar(a)=0$ vollständig gegeben durch $a^A(())\in U_A$. Wir behandeln 0-stellige Funktionen daher als Konstanten. + \item Weiterhin gilt $R^A=\varnothing$ oder $R^A=\{()\}$ für $R\in Rel$ mit $ar(R)=0$. + \end{itemize*} - \begin{quote} - Definition + Beispiel: Graph + \begin{itemize*} + \item Sei $\sum=(\Omega ,Rel,ar)$ mit $\Omega=\varnothing ,Rel=\{E\}$ und $ar(E)=2$ die Signatur der Graphen. + \item Um den Graphen als $\sum$-Struktur $A=(UA,EA)$ zu betrachten, setzen wir + \begin{itemize*} + \item $UA=\{v_1,v_2,...,v_9\}$ und + \item $EA=\{(v_i,v_j)|(v_i,v_j) ist Kante\}$ + \end{itemize*} + \end{itemize*} - Sei $\sum$ eine Signatur. Eine $\sum$-Struktur ist ein Tupel - $A=(U_A,(f^A)_{f\in\Omega},(R^A)_{R\in Rel})$, wobei - $U_A$ eine - nichtleere Menge, das Universum, - $R^A\supseteq U_A^{ar(R)}$ eine - Relation der Stelligkeit $ar(R)$ für $R\in Rel$ und - - $f^A:U_A^{ar(f)}\rightarrow U_A$ eine Funktion der Stelligkeit $ar(f)$ - für $f\in\Omega$ ist. - \end{quote} - - Bemerkung: $U_A^0=\{()\}$. - Also ist $a^A:U_A^0\rightarrow U_A$ für - $a\in\Omega$ mit $ar(a)=0$ vollständig gegeben durch $a^A(())\in U_A$. - Wir behandeln 0-stellige Funktionen daher als Konstanten. - Weiterhin - gilt $R^A=\varnothing$ oder $R^A=\{()\}$ für $R\in Rel$ mit $ar(R)=0$. - - Beispiel: Graph - Sei $\sum=(\Omega ,Rel,ar)$ mit - $\Omega=\varnothing ,Rel=\{E\}$ und $ar(E)=2$ die Signatur der Graphen. - - Um den Graphen als $\sum$-Struktur $A=(UA,EA)$ zu betrachten, setzen - wir - $UA=\{v_1,v_2,...,v_9\}$ und - - $EA=\{(v_i,v_j)|(v_i,v_j) ist Kante\}$ - - Im folgenden sei $\sum$ eine Signatur, A eine $\sum$-Struktur und - $\rho:Var\rightarrow U_A$ eine Abbildung (eine Variableninterpretation). - Wir definieren eine Abbildung $\rho':T\sum\rightarrow U_A$ induktiv für - $t\in T_{\sum}$: - ist $t\in Var$, so setze $\rho'(t) =\rho(t)$ - - ansonsten existieren $f\in\Omega$ mit $ar(f)=k$ und - $t_1,...,t_k\in T_{\sum}$ mit $t=f(t_1,...,t_k)$. Dann setze - $\rho'(t) =f^A(\rho'(t_1),...,\rho'(t_k))$. Die Abbildung $\rho'$ ist - die übliche ``Auswertungsabbildung''. Zur Vereinfachung schreiben wir - auch $\rho(t)$ an Stelle von $\rho'(t)$. - - Beispiel: - Seien $A=(R,f^A,a^A)$ mit $f^A$ die Subtraktion und $a$ - nullstelliges Funktionssymbol mit $a^A=10$. Seien weiter $x,y\in Var$ - mit $\rho(x)=7$ und $\rho(y)=-2$. Dann gilt - $\rho(f(a,f(x,y))) =\rho(a)-(\rho(x)-\rho(y)) =a^A-(\rho(x)-\rho(y)) = 1$ - - Seien $A= (Z,f^A,a^A)$ mit $f^A$ die Maximumbildung, $a$ nullstelliges - Funktionssymbol mit $a^A=10$. Seien weiter $x,y\in Var$ mit $\rho(x)=7$ - und $\rho(y)=-2$. In diesem Fall gilt - $\rho(f(a,f(x,y))) = max(\rho(a),max(\rho(x),\rho(y)) = max(a^A,max(\rho(x),\rho(y))) = 10$ - - Bemerkung: Wir müssten also eigentlich noch vermerken, in welcher - Struktur $\rho(t)$ gebildet wird - dies wird aber aus dem Kontext immer - klar sein. - - Für eine $\sum$-Formel $\varphi$ definieren wir die Gültigkeit in einer - $\sum$-Struktur $A$ unter der Variableninterpretation $\rho$ (in - Zeichen: $A\Vdash_\rho\varphi$) induktiv: - $A\Vdash_\rho\bot$ gilt - nicht. - $A\Vdash_\rho R(t_1,...,t_k)$ falls - $(\rho(t_1),...,\rho(t_k))\in R^A$ für $R\in Rel$ mit $ar(R)=k$ und - $t_1,...,t_k\in T_{\sum}$. - $A\Vdash_\rho t_1 =t_2$ falls - $\rho(t_1) =\rho(t_2)$ für $t_1,t_2\in T_{\sum}$. - - Für $\sum$-Formeln $\varphi$ und $\Psi$ und $x\in Var$: - - $A\Vdash_p \varphi\wedge\Psi$ falls $A\Vdash_p\varphi$ und - $A\Vdash_p \Psi$. - $A\Vdash_p \varphi\vee\Psi$ falls $A\Vdash_p\varphi$ - oder $A\Vdash_p\Psi$ . - $A\Vdash_p \varphi\rightarrow\Psi$ falls nicht - $A\Vdash_p\varphi$ oder $A\Vdash_p\Psi$ . - $A\Vdash_p \lnot\varphi$ - falls $A\Vdash_p \varphi$ nicht gilt. - $A\Vdash_p \exists x\varphi$ - falls ??? - $A\Vdash_p \forall x\varphi$ falls ??? - - Für $x\in Var$ und $a\in U_A$ sei - $\rho[x\rightarrow a]:Var\rightarrow U_A$ die Variableninterpretation, - für die gilt - $(\rho[x\rightarrow a])(y) = \begin{cases} \rho(y) \quad\text{ falls } x\not=y \\ a \quad\text{ sonst } \end{cases}$ - - $A\Vdash_p \exists x\varphi$ falls es $a\in U_A$ gibt mit - $A\Vdash_{p[x\rightarrow a]}\varphi$. - $A\Vdash_p \forall x\varphi$ - falls $A\Vdash_{p[x\rightarrow a]}\varphi$ für alle $a\in U_A$. - - \begin{quote} - Definition - - Sei $\sum$ eine Signatur, $\varphi$ eine $\sum$-Formel, $\Delta$ eine - Menge von $\sum$-Formeln und $A$ eine $\sum$-Struktur. - - $A\Vdash\varphi$ ($A$ ist Modell von $\varphi$) falls $A\Vdash_p\varphi$ - für alle Variableninterpretationen $\rho$ gilt. - $A\Vdash\Delta$ falls - $A\Vdash\Psi$ für alle $\Psi\in\Delta$. - \end{quote} - - Aufgaben - Sei $A$ die Struktur, die dem vorherigen Graphen entspricht - - Welche der folgenden Formeln $\varphi$ gelten in $A$, d.h. für welche - Formeln gilt $A\Vdash_p\varphi$ für alle Variableninterpretationen - $\rho$? 1. $\exists x\exists y:E(x,y)$ 2. $\forall x\exists y:E(x,y)$ 3. - $\exists x\forall y:(x\not=y\rightarrow E(x,y))$ 4. - $\forall x\forall y:(x\not=y\rightarrow E(x,y))$ 5. - $\exists x\exists y\exists z:(E(x,y)\wedge E(y,z)\wedge E(z,x))$ - In - der Prädikatenlogik ist es also möglich, die Eigenschaften vom Anfang - des Kapitels auszudrücken, ohne den Graphen direkt in die Formel zu - kodieren. - - \begin{quote} - Definition - - Sei $\sum$ eine Signatur, $\varphi$ eine $\sum$-Formel, $\Delta$ eine - Menge von $\sum$-Formeln und $A$ eine $\sum$-Struktur. - $\Delta$ ist - erfüllbar, wenn es $\sum$-Struktur $B$ und Variableninterpretation - $\rho:Var\rightarrow U_B$ gibt mit $B\Vdash_\rho\Psi$ für alle - $\Psi\in\Delta$. - $\varphi$ ist semantische Folgerung von - $\Delta(\Delta\Vdash\varphi)$ falls für alle $\sum$-Strukturen $B$ und - alle Variableninterpretationen $\rho:Var\rightarrow U_B$ gilt: Gilt - $B\Vdash_\rho\Psi$ für alle $\Psi\in\Delta$, so gilt auch - $B\Vdash_\rho \varphi$. - $\varphi$ ist allgemeingültig, falls - $B\Vdash \rho\varphi$ für alle $\sum$-Strukturen $B$ und alle - Variableninterpretationen $\rho$ gilt. - \end{quote} - - Bemerkung: $\varphi$ allgemeingültig gdw. $\varnothing\Vdash\varphi$ - gdw. $\{\lnot\varphi\}$ nicht erfüllbar. Hierfür schreiben wir auch - $\Vdash\varphi$. - - Beispiel: Der Satz - $\varphi=(\forall x:R(x)\rightarrow\forall x:R(f(x)))$ ist - allgemeingültig. - - Beweis: Sei $\sum$ Signatur, so dass $\varphi$ $\sum$-Satz ist. Sei $A$ - $\sum$-Struktur und $\rho$ Variableninterpretation. Wir betrachten zwei - Fälle: 1. Falls $A\not\Vdash_\rho\forall x R(x)$, so gilt - $A\Vdash_p\varphi$. 2. Wir nehmen nun $A\Vdash_p\forall x R(x)$ an. Sei - $a\in U_A$ beliebig und $b=f^A(a)$. - $A\Vdash_p\forall x R(x) \Rightarrow A\Vdash_{p[x\rightarrow b]} R(x) \Rightarrow RA\owns (p[x\rightarrow b])(x) = b = f^A(a) = (\rho[x\rightarrow a])(f(x)) \Rightarrow A\Vdash_{p[x\rightarrow a]}R(f(x))$. - Da $a\in U_A$ beliebig war, haben wir also $A\Vdash_p\forall x:R(f(x))$. - Also gilt auch in diesem Fall $A\Vdash_p\varphi$. Da $A$ und $\rho$ - beliebig waren, ist $\varphi$ somit allgemeingültig. - - Beispiel: - Der Satz $\varphi =\exists x(R(x)\rightarrow R(f(x)))$ ist - allgemeingültig. - Beweis: Sei $\sum$ Signatur, so dass $\varphi$ - $\sum$-Satz ist. Sei $A$ $\sum$-Struktur und $\rho$ - Variableninterpretation. Wir betrachten wieder zwei Fälle: 1. - Angenommen, $R^A=U_A$. Sei $a\in U_A$ beliebig. - - $\Rightarrow f^A(a)\in R^A$ - - $\Rightarrow A\Vdash_{p[x\rightarrow a]} R(f(x))$ - - $\Rightarrow A\Vdash_{p[x\rightarrow a]} R(x)\rightarrow R(f(x))$ - - $\Rightarrow A\Vdash_p\varphi$. 2. Ansonsten existiert - $a\in U_A\backslash R^A$. - - $\Rightarrow A\not\Vdash_{p[x\rightarrow a]} R(x)$ - - $\Rightarrow A\Vdash_{p[x\rightarrow a]} R(x)\rightarrow R(f(x))$ - - $\Rightarrow A\Vdash_p \varphi$. Da $A$ und $\rho$ beliebig waren, ist - $\varphi$ somit allgemeingültig. - - Aufgabe \textbar{} \textbar{} allgemeingültig \textbar{} erfüllbar - \textbar{} unerfüllbar \textbar{} \textbar{} - -------------------------------------------------------------------- - \textbar{} --------------- \textbar{} --------- \textbar{} ----------- - \textbar{} \textbar{} $P(a)$ \textbar{} nein \textbar{} ja \textbar{} - nein \textbar{} \textbar{} $\exists x:(\lnot P(x)\vee P(a))$ \textbar{} - ja \textbar{} ja \textbar{} nein \textbar{} \textbar{} - $P(a)\rightarrow\exists x:P(x)$ \textbar{} ja \textbar{} ja \textbar{} - nein \textbar{} \textbar{} $P(x)\rightarrow\exists x:P(x)$ \textbar{} ja - \textbar{} ja \textbar{} nein \textbar{} \textbar{} - $\forall x:P(x)\rightarrow\exists x:P(x)$ \textbar{} ja \textbar{} ja - \textbar{} nein \textbar{} \textbar{} - $\forall x:P(x)\wedge\lnot\forall y:P(y)$ \textbar{} nein \textbar{} - nein \textbar{} ja \textbar{} \textbar{} - $\forall x:(P(x,x)\rightarrow\exists x\forall y:P(x,y))$ \textbar{} nein - \textbar{} ja \textbar{} nein \textbar{} \textbar{} - $\forall x\forall y:(x=y\rightarrow f(x) =f(y))$ \textbar{} ja - \textbar{} ja \textbar{} nein \textbar{} \textbar{} - $\forall x\forall y:(f(x) =f(y)\rightarrow x=y)$ \textbar{} nein - \textbar{} ja \textbar{} nein \textbar{} \textbar{} - $\exists x\exists y\exists z:(f(x) =y\wedge f(x) =z\wedge y \not=z)$ - \textbar{} nein \textbar{} nein \textbar{} ja \textbar{} \textbar{} - $\exists x\forall x:Q(x,x)$ \textbar{} nein \textbar{} ja \textbar{} - nein \textbar{} - - \subsection{Substitutionen}\label{substitutionen} - - \begin{quote} - Definition - - Eine Substitution besteht aus einer Variable $x\in Var$ und einem Term - $t\in T_{\sum}$, geschrieben $[x:=t]$. - \end{quote} - - Die Formel $\varphi[x:=t]$ ist die Anwendung der Substitution $[x:=t]$ - auf die Formel $\varphi$. Sie entsteht aus $\varphi$, indem alle freien - Vorkommen von $x$ durch $t$ ersetzt werden. Sie soll das über $t$ - aussagen, was $\varphi$ über $x$ ausgesagt hat. Dazu definieren wir - zunächst induktiv, was es heißt, die freien Vorkommen von $x$ im Term - $s\in T_{\sum}$ zu ersetzen: - $x[x:=t] =t$ - $y[x:=t] =y$ für - $y\in Var\backslash\{x\}$ - - $(f(t_1 ,...,t_k))[x:=t] =f(t_1 [x:=t],...t_k[x:=t])$ für $f\in\Omega$ - mit $ar(f) =k$ und $t_1,...,t_k\in T_{\sum}$ - - \begin{quote} - Lemma - - Seien $\sum$ Signatur, $A$ $\sum$-Struktur, $\rho:Var\rightarrow U_A$ - Variableninterpretation, $x\in Var$ und $s,t\in T_{\sum}$. Dann gilt - $\rho(s[x:=t])=\rho[x\rightarrow \rho(t)](s)$. - \end{quote} - - Beweis: Induktion über den Aufbau des Terms $s$ (mit - $\rho'=\rho[x\rightarrow \rho(t)]$ ): - - $s=x:\rho(s[x:=t])=\rho(t) =\rho'(x) =\rho'(s)$ - - $s\in Var\backslash\{x\}:\rho(s[x:=t])=\rho(s) =\rho'(s)$ - - $s=f(t_1 ,...,t_k):\rho((f(t_1 ,...,t_k))[x:=t])= \rho(f(t_1[x:=t],...,t_k[x:=t]))= f^A(\rho(t_1[x:=t]),...,\rho(t_k[x:=t])) = f^A(\rho'(t_1),...,\rho'(t_k))= \rho'(f(t_1 ,...,t_k))=\rho'(s)$ - - Die Definition von $s[x:=t]$ kann induktiv auf $\sum$-Formeln - fortgesetzt werden: - $(t_1 =t_2 )[x:=t] = (t_1 [x:=t] =t_2 [x:=t])$ für - $t_1 ,t_2 \in T_{\sum}$ - - $(R(t_1 ,...,t_k))[x:=t] =R(t_1 [x:=t],...,t_k[x:=t])$ für $R\in Rel$ - mit $ar(R) =k$ und $t_1 ,...,t_k\in T_{\sum}$ - $\bot[x:=t] =\bot$ - - Für $\sum$ -Formeln $\varphi$ und $\Psi$ und $y\in Var$: - - $(\varphi\Box\Psi)[x:=t]=\varphi [x:=t]\Box\Psi[x:=t]$ für - $\Box\in\{\wedge,\vee,\rightarrow\}$ - - $(\lnot\varphi)[x:=t] = \lnot(\varphi[x:=t])$ - - $(Qy\varphi)[x:=t] = \begin{cases} Qy\varphi[x:=t] \quad\text{ falls } x\not=y \\ Qy\varphi \quad\text{ falls } x=y \end{cases} \text{ für } Q\in\{\exists,\forall\}$. + Im folgenden sei $\sum$ eine Signatur, A eine $\sum$-Struktur und $\rho:Var\rightarrow U_A$ eine Abbildung (eine Variableninterpretation). + Wir definieren eine Abbildung $\rho':T\sum\rightarrow U_A$ induktiv für $t\in T_{\sum}$: + \begin{itemize*} + \item ist $t\in Var$, so setze $\rho'(t) =\rho(t)$ + \item ansonsten existieren $f\in\Omega$ mit $ar(f)=k$ und $t_1,...,t_k\in T_{\sum}$ mit $t=f(t_1,...,t_k)$. Dann setze $\rho'(t) =f^A(\rho'(t_1),...,\rho'(t_k))$. + \end{itemize*} + Die Abbildung $\rho'$ ist die übliche "Auswertungsabbildung". + Zur Vereinfachung schreiben wir auch $\rho(t)$ an Stelle von $\rho'(t)$. Beispiel: - $(\exists x P(x,f(y))\vee\lnot\forall yQ(y,g(a,h(z))))[y:=f(u)] = (\exists x P(x,f(f(u)))\vee\lnot\forall yQ(y,g(a,h(z))))$ + \begin{itemize*} + \item Seien $A=(R,f^A,a^A)$ mit $f^A$ die Subtraktion und $a$ nullstelliges Funktionssymbol mit $a^A=10$. Seien weiter $x,y\in Var$ mit $\rho(x)=7$ und $\rho(y)=-2$. Dann gilt $\rho(f(a,f(x,y))) =\rho(a)-(\rho(x)-\rho(y)) =a^A-(\rho(x)-\rho(y)) = 1$ + \item Seien $A= (Z,f^A,a^A)$ mit $f^A$ die Maximumbildung, $a$ nullstelliges Funktionssymbol mit $a^A=10$. Seien weiter $x,y\in Var$ mit $\rho(x)=7$ und $\rho(y)=-2$. In diesem Fall gilt $\rho(f(a,f(x,y))) = max(\rho(a),max(\rho(x),\rho(y)) = max(a^A,max(\rho(x),\rho(y))) = 10$ + \end{itemize*} - $\varphi [x:=t]$ ``soll das über $t$ aussagen, was $\varphi$ über $x$ - ausgesagt hat.'' + Bemerkung: Wir müssten also eigentlich noch vermerken, in welcher Struktur $\rho(t)$ gebildet wird - dies wird aber aus dem Kontext immer klar sein. - Gegenbeispiel: Aus $\exists y$ $Mutter(x) =y$ mit Substitution - $[x:=Mutter(y)]$ wird $\exists y$ Mutter$(Mutter(y)) =y$. + Für eine $\sum$-Formel $\varphi$ definieren wir die Gültigkeit in einer $\sum$-Struktur $A$ unter der Variableninterpretation $\rho$ (in Zeichen: $A\Vdash_\rho\varphi$) induktiv: + \begin{itemize*} + \item $A\Vdash_\rho\bot$ gilt nicht. + \item $A\Vdash_\rho R(t_1,...,t_k)$ falls $(\rho(t_1),...,\rho(t_k))\in R^A$ für $R\in Rel$ mit $ar(R)=k$ und $t_1,...,t_k\in T_{\sum}$. + \item $A\Vdash_\rho t_1 =t_2$ falls $\rho(t_1) =\rho(t_2)$ für $t_1,t_2\in T_{\sum}$. + \end{itemize*} - \begin{quote} - Definition + Für $\sum$-Formeln $\varphi$ und $\Psi$ und $x\in Var$: + \begin{itemize*} + \item $A\Vdash_p \varphi\wedge\Psi$ falls $A\Vdash_p\varphi$ und $A\Vdash_p \Psi$. + \item $A\Vdash_p \varphi\vee\Psi$ falls $A\Vdash_p\varphi$ oder $A\Vdash_p\Psi$ . + \item $A\Vdash_p \varphi\rightarrow\Psi$ falls nicht $A\Vdash_p\varphi$ oder $A\Vdash_p\Psi$ . + \item $A\Vdash_p \lnot\varphi$ falls $A\Vdash_p \varphi$ nicht gilt. + \item $A\Vdash_p \exists x\varphi$ falls ??? + \item $A\Vdash_p \forall x\varphi$ falls ??? + \end{itemize*} - Sei $[x:=t]$ Substitution und $\varphi$ $\sum$-Formel. Die Substitution - $[x:=t]$ heißt für $\varphi$ zulässig, wenn für alle $y\in Var$ gilt: - $y$ Variable in $t\Rightarrow\varphi$ enthält weder $\exists y$ noch - $\forall y$ - \end{quote} + Für $x\in Var$ und $a\in U_A$ sei $\rho[x\rightarrow a]:Var\rightarrow U_A$ die Variableninterpretation, für die gilt $(\rho[x\rightarrow a])(y) = \begin{cases} \rho(y) \quad\text{ falls } x\not=y \\ a \quad\text{ sonst } \end{cases}$ + \begin{itemize*} + \item $A\Vdash_p \exists x\varphi$ falls es $a\in U_A$ gibt mit $A\Vdash_{p[x\rightarrow a]}\varphi$. + \item $A\Vdash_p \forall x\varphi$ falls $A\Vdash_{p[x\rightarrow a]}\varphi$ für alle $a\in U_A$. + \end{itemize*} - \begin{quote} - Lemma + \note{Definition}{Sei $\sum$ eine Signatur, $\varphi$ eine $\sum$-Formel, $\Delta$ eine Menge von $\sum$-Formeln und $A$ eine $\sum$-Struktur. + \begin{itemize*} + \item $A\Vdash\varphi$ ($A$ ist Modell von $\varphi$) falls $A\Vdash_p\varphi$ für alle Variableninterpretationen $\rho$ gilt. + \item $A\Vdash\Delta$ falls $A\Vdash\Psi$ für alle $\Psi\in\Delta$. + \end{itemize*} + } - Sei $\sum$ Signatur, A $\sum$-Struktur, $\rho:Var\rightarrow U_A$ - Variableninterpretation, $x\in Var$ und $t\in T_{\sum}$. Ist die - Substitution $[x:=t]$ für die $\sum$-Formel $\varphi$ zulässig, so gilt - $A\Vdash_p\varphi [x:=t]\Leftrightarrow A\Vdash_{p[x\rightarrow \rho(t)]}\varphi$. - \end{quote} + Aufgaben + \begin{itemize*} + \item Sei $A$ die Struktur, die dem vorherigen Graphen entspricht + \item Welche der folgenden Formeln $\varphi$ gelten in $A$, d.h. für welche Formeln gilt $A\Vdash_p\varphi$ für alle Variableninterpretationen $\rho$? + \begin{enumerate*} + \item $\exists x\exists y:E(x,y)$ + \item $\forall x\exists y:E(x,y)$ + \item $\exists x\forall y:(x\not=y\rightarrow E(x,y))$ + \item $\forall x\forall y:(x\not=y\rightarrow E(x,y))$ + \item $\exists x\exists y\exists z:(E(x,y)\wedge E(y,z)\wedge E(z,x))$ + \end{enumerate*} + \item In der Prädikatenlogik ist es also möglich, die Eigenschaften vom Anfang des Kapitels auszudrücken, ohne den Graphen direkt in die Formel zu kodieren. + \end{itemize*} - Beweis: Induktion über den Aufbau der Formel $\varphi$ (mit - $\rho'=\rho[x\rightarrow \rho(t)])$: - $\varphi = (s_1 =s_2)$: - - $A\Vdash_p(s_1 =s_2)[x:=t] \Leftrightarrow A\Vdash_p s_1[x:=t] =s_2[x:=t]$ - - - $\Leftrightarrow \rho(s_1[x:=t]) =\rho(s_2[x:=t])\Leftrightarrow \rho'(s_1) =\rho'(s_2)$ - - $\Leftrightarrow A\Vdash_{p'} s_1 =s_2$ - andere atomare Formeln - analog - $\varphi =\varphi_1\wedge\varphi_2$: - - $A\Vdash_p(\varphi_1\wedge\varphi_2)[x:=t] \Leftrightarrow A\Vdash_p\varphi_1 [x:=t]\wedge\varphi_2[x:=t]$ - - $\Leftrightarrow A\Vdash_p\varphi_1[x:=t]$ und - $A\Vdash_p\varphi_2[x:=t]$ - $\Leftrightarrow A\Vdash_{p'}\varphi_1$ und - $A\Vdash_{p'}\varphi_2$ - - $\Leftrightarrow A\Vdash_{p'}\varphi_1\wedge\varphi_2$ - - $\varphi=\varphi_1\vee\varphi_2,\varphi =\varphi_1\rightarrow\varphi_2$ - und $\varphi=\lnot\psi$ analog - $\varphi=\forall y\psi$: - Wir - betrachten zunächst den Fall $x=y$: - - $A\Vdash_p(\forall x\psi)[x:=t]\Leftrightarrow A\Vdash_p\forall x\psi \Leftrightarrow A\Vdash_{p'}\forall x\psi$ - (denn $x\not\in FV(\forall x\psi)$ ) - Jetzt der Fall $x\not=y$: - Für - $a\in U_A$ setze $\rho_a=\rho[y\rightarrow a]$. Da $[x:=t]$ für - $\varphi$ zulässig ist, kommt $y$ in $t$ nicht vor. Zunächst erhalten - wir - $\rho_a[x\rightarrow \rho_a(t)] = \rho_a[x\rightarrow \rho(t)]$ da - $y$ nicht in $t$ vorkommt - - $=\rho[y\rightarrow a][x\rightarrow \rho(t)] = \rho[x\rightarrow \rho(t)][y\rightarrow a]$ - da $x\not=y$ - Es ergibt sich - $A\Vdash_p(\forall y\psi)[x:=t]\Leftrightarrow A\Vdash_p\forall y(\psi[x:=t])$ - (wegen $x\not=y$) - $\Leftrightarrow A\Vdash_{pa}\psi[x:=t]$ für alle - $a\in U_A$ - $\Leftrightarrow A\Vdash_{pa[x\rightarrow \rho_a(t)]}\psi$ - für alle $a\in U_A$ - - $\Leftrightarrow A\Vdash_{p[x\rightarrow \rho(t)][y\rightarrow a]}\psi$ - für alle $a\in U_A$ - - $\Leftrightarrow A\Vdash_{p[x\rightarrow \rho(t)]}\forall y\psi$ - - $\varphi=\exists y\psi$ : analog + \note{Definition}{Sei $\sum$ eine Signatur, $\varphi$ eine $\sum$-Formel, $\Delta$ eine Menge von $\sum$-Formeln und $A$ eine $\sum$-Struktur. + \begin{itemize*} + \item $\Delta$ ist erfüllbar, wenn es $\sum$-Struktur $B$ und Variableninterpretation $\rho:Var\rightarrow U_B$ gibt mit $B\Vdash_\rho\Psi$ für alle $\Psi\in\Delta$. + \item $\varphi$ ist semantische Folgerung von $\Delta(\Delta\Vdash\varphi)$ falls für alle $\sum$-Strukturen $B$ und alle Variableninterpretationen $\rho:Var\rightarrow U_B$ gilt: Gilt $B\Vdash_\rho\Psi$ für alle $\Psi\in\Delta$, so gilt auch $B\Vdash_\rho \varphi$. + \item $\varphi$ ist allgemeingültig, falls $B\Vdash \rho\varphi$ für alle $\sum$-Strukturen $B$ und alle Variableninterpretationen $\rho$ gilt. + \end{itemize*} + } - \subsection{Natürliches Schließen}\label{natuxfcrliches-schlieuxdfen-1} + Bemerkung: $\varphi$ allgemeingültig gdw. $\varnothing\Vdash\varphi$ gdw. $\{\lnot\varphi\}$ nicht erfüllbar. Hierfür schreiben wir auch $\Vdash\varphi$. - Wir haben Regeln des natürlichen Schließens für aussagenlogische Formeln - untersucht und für gut befunden. Man kann sie natürlich auch für - prädikatenlogische Formeln anwenden. + Beispiel: Der Satz $\varphi=(\forall x:R(x)\rightarrow\forall x:R(f(x)))$ ist allgemeingültig. - Beispiel: Für alle $\sum$-Formel $\varphi$ und $\psi$ gibt es eine - Deduktion mit Hypothesen in $\{\lnot\varphi\wedge\lnot\psi\}$ und - Konklusion $\lnot(\varphi\vee\psi)$: - \includegraphics[width=\linewidth]{Assets/Logik-deduktion-konklusion.png} + Beweis: Sei $\sum$ Signatur, so dass $\varphi$ $\sum$-Satz ist. Sei $A$ $\sum$-Struktur und $\rho$ Variableninterpretation. Wir betrachten zwei Fälle: + \begin{enumerate*} + \item Falls $A\not\Vdash_\rho\forall x R(x)$, so gilt $A\Vdash_p\varphi$. + \item Wir nehmen nun $A\Vdash_p\forall x R(x)$ an. Sei $a\in U_A$ beliebig und $b=f^A(a)$. $A\Vdash_p\forall x R(x) \Rightarrow A\Vdash_{p[x\rightarrow b]} R(x) \Rightarrow RA\owns (p[x\rightarrow b])(x) = b = f^A(a) = (\rho[x\rightarrow a])(f(x)) \Rightarrow A\Vdash_{p[x\rightarrow a]}R(f(x))$. + Da $a\in U_A$ beliebig war, haben wir also $A\Vdash_p\forall x:R(f(x))$. Also gilt auch in diesem Fall $A\Vdash_p\varphi$. + \end{enumerate*} + Da $A$ und $\rho$ beliebig waren, ist $\varphi$ somit allgemeingültig. - \subsection{Korrektheit}\label{korrektheit-1} + Beispiel: + \begin{itemize*} + \item Der Satz $\varphi =\exists x(R(x)\rightarrow R(f(x)))$ ist allgemeingültig. + \item Beweis: Sei $\sum$ Signatur, so dass $\varphi$ $\sum$-Satz ist. Sei $A$ $\sum$-Struktur und $\rho$ Variableninterpretation. Wir betrachten wieder zwei Fälle: + \end{itemize*} + \begin{enumerate*} + \item Angenommen, $R^A=U_A$. Sei $a\in U_A$ beliebig. + \begin{itemize*} + \item $\Rightarrow f^A(a)\in R^A$ + \item $\Rightarrow A\Vdash_{p[x\rightarrow a]} R(f(x))$ + \item $\Rightarrow A\Vdash_{p[x\rightarrow a]} R(x)\rightarrow R(f(x))$ + \item $\Rightarrow A\Vdash_p\varphi$. + \end{itemize*} + \item Ansonsten existiert $a\in U_A\backslash R^A$. + \begin{itemize*} + \item $\Rightarrow A\not\Vdash_{p[x\rightarrow a]} R(x)$ + \item $\Rightarrow A\Vdash_{p[x\rightarrow a]} R(x)\rightarrow R(f(x))$ + \item $\Rightarrow A\Vdash_p \varphi$. + \end{itemize*} + \end{enumerate*} + Da $A$ und $\rho$ beliebig waren, ist $\varphi$ somit allgemeingültig. - Können wir durch mathematische Beweise zu falschen Aussagen kommen? - Können wir durch das natürliche Schließen zu falschen Aussagen kommen? - Existiert eine Menge $\Gamma$ von $\sum$-Formeln und eine $\sum$-Formel - $\varphi$ mit $\Gamma\vdash\varphi$ und $\Gamma\not\Vdash\varphi$? + Aufgabe + | | allgemeingültig | erfüllbar | unerfüllbar | + | -------------------------------------------------------------------- | --------------- | --------- | ----------- | + | $P(a)$ | nein | ja | nein | + | $\exists x:(\lnot P(x)\vee P(a))$ | ja | ja | nein | + | $P(a)\rightarrow\exists x:P(x)$ | ja | ja | nein | + | $P(x)\rightarrow\exists x:P(x)$ | ja | ja | nein | + | $\forall x:P(x)\rightarrow\exists x:P(x)$ | ja | ja | nein | + | $\forall x:P(x)\wedge\lnot\forall y:P(y)$ | nein | nein | ja | + | $\forall x:(P(x,x)\rightarrow\exists x\forall y:P(x,y))$ | nein | ja | nein | + | $\forall x\forall y:(x=y\rightarrow f(x) =f(y))$ | ja | ja | nein | + | $\forall x\forall y:(f(x) =f(y)\rightarrow x=y)$ | nein | ja | nein | + | $\exists x\exists y\exists z:(f(x) =y\wedge f(x) =z\wedge y \not=z)$ | nein | nein | ja | + | $\exists x\forall x:Q(x,x)$ | nein | ja | nein | - Frage: Gilt $\Gamma\vdash\varphi\Rightarrow \Gamma\Vdash\varphi$ bzw. - $\varphi$ ist Theorem $\Rightarrow\varphi$ ist allgemeingültig? + \subsection{Substitutionen} + \note{Definition}{Eine Substitution besteht aus einer Variable $x\in Var$ und einem Term $t\in T_{\sum}$, geschrieben $[x:=t]$.} - Der Beweis des Korrektheitslemmas für das natürliche Schließen kann ohne - große Schwierigkeiten erweitert werden. Man erhält + Die Formel $\varphi[x:=t]$ ist die Anwendung der Substitution $[x:=t]$ auf die Formel $\varphi$. Sie entsteht aus $\varphi$, indem alle freien Vorkommen von $x$ durch $t$ ersetzt werden. Sie soll das über $t$ aussagen, was $\varphi$ über $x$ ausgesagt hat. + Dazu definieren wir zunächst induktiv, was es heißt, die freien Vorkommen von $x$ im Term $s\in T_{\sum}$ zu ersetzen: + \begin{itemize*} + \item $x[x:=t] =t$ + \item $y[x:=t] =y$ für $y\in Var\backslash\{x\}$ + \item $(f(t_1 ,...,t_k))[x:=t] =f(t_1 [x:=t],...t_k[x:=t])$ für $f\in\Omega$ mit $ar(f) =k$ und $t_1,...,t_k\in T_{\sum}$ + \end{itemize*} - \begin{quote} - Lemma V0 + \note{Lemma}{Seien $\sum$ Signatur, $A$ $\sum$-Struktur, $\rho:Var\rightarrow U_A$ Variableninterpretation, $x\in Var$ und $s,t\in T_{\sum}$. Dann gilt $\rho(s[x:=t])=\rho[x\rightarrow \rho(t)](s)$.} - Sei $\sum$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und - $\varphi$ eine $\sum$-Formel. Sei weiter $D$ eine Deduktion mit - Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des - natürlichen Schließens der Aussagenlogik verwendet. Dann gilt - $\Gamma\Vdash\varphi$. - \end{quote} + Beweis: Induktion über den Aufbau des Terms $s$ (mit $\rho'=\rho[x\rightarrow \rho(t)]$ ): + \begin{itemize*} + \item $s=x:\rho(s[x:=t])=\rho(t) =\rho'(x) =\rho'(s)$ + \item $s\in Var\backslash\{x\}:\rho(s[x:=t])=\rho(s) =\rho'(s)$ + \item $s=f(t_1 ,...,t_k):\rho((f(t_1 ,...,t_k))[x:=t])= \rho(f(t_1[x:=t],...,t_k[x:=t]))= f^A(\rho(t_1[x:=t]),...,\rho(t_k[x:=t])) = f^A(\rho'(t_1),...,\rho'(t_k))= \rho'(f(t_1 ,...,t_k))=\rho'(s)$ + \end{itemize*} - Umgekehrt ist nicht zu erwarten, dass aus $\Gamma\Vdash\varphi$ folgt, - dass es eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion - $\varphi$ gibt, denn die bisher untersuchten Regeln erlauben keine - Behandlung von $=,\forall$ bzw. $\exists$. Solche Regeln werden wir - jetzt einführen. + Die Definition von $s[x:=t]$ kann induktiv auf $\sum$-Formeln fortgesetzt werden: + \begin{itemize*} + \item $(t_1 =t_2 )[x:=t] = (t_1 [x:=t] =t_2 [x:=t])$ für $t_1 ,t_2 \in T_{\sum}$ + \item $(R(t_1 ,...,t_k))[x:=t] =R(t_1 [x:=t],...,t_k[x:=t])$ für $R\in Rel$ mit $ar(R) =k$ und $t_1 ,...,t_k\in T_{\sum}$ + \item $\bot[x:=t] =\bot$ + \end{itemize*} - Zunächst kümmern wir uns um Atomformeln der Form $t_1 =t_2$. Hierfür - gibt es die zwei Regeln $(R)$ und $(GfG)$: + Für $\sum$ -Formeln $\varphi$ und $\Psi$ und $y\in Var$: + \begin{itemize*} + \item $(\varphi\Box\Psi)[x:=t]=\varphi [x:=t]\Box\Psi[x:=t]$ für $\Box\in\{\wedge,\vee,\rightarrow\}$ + \item $(\lnot\varphi)[x:=t] = \lnot(\varphi[x:=t])$ + \item $(Qy\varphi)[x:=t] = \begin{cases} Qy\varphi[x:=t] \quad\text{ falls } x\not=y \\ Qy\varphi \quad\text{ falls } x=y \end{cases} \text{ für } Q\in\{\exists,\forall\}$. + \end{itemize*} - \begin{quote} - Reflexivität (ausführlich) + Beispiel: $(\exists x P(x,f(y))\vee\lnot\forall yQ(y,g(a,h(z))))[y:=f(u)] = (\exists x P(x,f(f(u)))\vee\lnot\forall yQ(y,g(a,h(z))))$ - Für jeden Termt ist $\frac{}{t=t}$ eine hypothesenlose Deduktion mit - Konklusion $t=t$. \includegraphics[width=\linewidth]{Assets/Logik-reflexivität-kurz.png} - \end{quote} + $\varphi [x:=t]$ "soll das über $t$ aussagen, was $\varphi$ über $x$ ausgesagt hat." - \begin{quote} - Gleiches-für-Gleiches in mathematischen Beweisen + Gegenbeispiel: Aus $\exists y$ $Mutter(x) =y$ mit Substitution $[x:=Mutter(y)]$ wird $\exists y$ Mutter$(Mutter(y)) =y$. - ,,Zunächst zeige ich, dass $s$ die Eigenschaft $\varphi$ hat:\ldots{} - Jetzt zeige ich $s=t$:\ldots{} Also haben wir gezeigt, dass $t$ die - Eigenschaft $\varphi$ hat. qed'' + \note{Definition}{Sei $[x:=t]$ Substitution und $\varphi$ $\sum$-Formel. Die Substitution $[x:=t]$ heißt für $\varphi$ zulässig, wenn für alle $y\in Var$ gilt: $y$ Variable in $t\Rightarrow\varphi$ enthält weder $\exists y$ noch $\forall y$} - Gleiches-für-Gleiches (ausführlich) Seien $s$ und $t$ Terme und - $\varphi$ Formel, so dass die Substitutionen $[x:=s]$ und $[x:=t]$ für - $\varphi$ zulässig sind. Sind $D$ und $E$ Deduktionen mit Hypothesen in - $\Gamma$ und Konklusionen $\varphi[x:=s]$ bzw. $s=t$, so ist das - folgende eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion - $\varphi[x:=t]$: - \includegraphics[width=\linewidth]{Assets/Logik-gleiches-für-gleiches-ausführlich.png} + \note{Lemma}{Sei $\sum$ Signatur, A $\sum$-Struktur, $\rho:Var\rightarrow U_A$ Variableninterpretation, $x\in Var$ und $t\in T_{\sum}$. Ist die Substitution $[x:=t]$ für die $\sum$-Formel $\varphi$ zulässig, so gilt $A\Vdash_p\varphi [x:=t]\Leftrightarrow A\Vdash_{p[x\rightarrow \rho(t)]}\varphi$.} - Gleiches-für-Gleiches (Kurzform) - \includegraphics[width=\linewidth]{Assets/Logik-gleiches-für-gleiches-kurz.png} Bedingung: - über keine Variable aus $s$ oder $t$ wird in $\varphi$ quantifiziert - \end{quote} + Beweis: Induktion über den Aufbau der Formel $\varphi$ (mit $\rho'=\rho[x\rightarrow \rho(t)])$: + \begin{itemize*} + \item $\varphi = (s_1 =s_2)$: + \begin{itemize*} + \item $A\Vdash_p(s_1 =s_2)[x:=t] \Leftrightarrow A\Vdash_p s_1[x:=t] =s_2[x:=t]$ + \item $\Leftrightarrow \rho(s_1[x:=t]) =\rho(s_2[x:=t])\Leftrightarrow \rho'(s_1) =\rho'(s_2)$ + \item $\Leftrightarrow A\Vdash_{p'} s_1 =s_2$ + \item andere atomare Formeln analog + \end{itemize*} + \item $\varphi =\varphi_1\wedge\varphi_2$: + \begin{itemize*} + \item $A\Vdash_p(\varphi_1\wedge\varphi_2)[x:=t] \Leftrightarrow A\Vdash_p\varphi_1 [x:=t]\wedge\varphi_2[x:=t]$ + \item $\Leftrightarrow A\Vdash_p\varphi_1[x:=t]$ und $A\Vdash_p\varphi_2[x:=t]$ + \item $\Leftrightarrow A\Vdash_{p'}\varphi_1$ und $A\Vdash_{p'}\varphi_2$ + \item $\Leftrightarrow A\Vdash_{p'}\varphi_1\wedge\varphi_2$ + \item $\varphi=\varphi_1\vee\varphi_2,\varphi =\varphi_1\rightarrow\varphi_2$ und $\varphi=\lnot\psi$ analog + \end{itemize*} + \item $\varphi=\forall y\psi$: + \begin{itemize*} + \item Wir betrachten zunächst den Fall $x=y$: + \begin{itemize*} + \item $A\Vdash_p(\forall x\psi)[x:=t]\Leftrightarrow A\Vdash_p\forall x\psi \Leftrightarrow A\Vdash_{p'}\forall x\psi$ (denn $x\not\in FV(\forall x\psi)$ ) + \end{itemize*} + \item Jetzt der Fall $x\not=y$: + \begin{itemize*} + \item Für $a\in U_A$ setze $\rho_a=\rho[y\rightarrow a]$. Da $[x:=t]$ für $\varphi$ zulässig ist, kommt $y$ in $t$ nicht vor. Zunächst erhalten wir + \item $\rho_a[x\rightarrow \rho_a(t)] = \rho_a[x\rightarrow \rho(t)]$ da $y$ nicht in $t$ vorkommt + \item $=\rho[y\rightarrow a][x\rightarrow \rho(t)] = \rho[x\rightarrow \rho(t)][y\rightarrow a]$ da $x\not=y$ + \item Es ergibt sich $A\Vdash_p(\forall y\psi)[x:=t]\Leftrightarrow A\Vdash_p\forall y(\psi[x:=t])$ (wegen $x\not=y$) + \item $\Leftrightarrow A\Vdash_{pa}\psi[x:=t]$ für alle $a\in U_A$ + \item $\Leftrightarrow A\Vdash_{pa[x\rightarrow \rho_a(t)]}\psi$ für alle $a\in U_A$ + \item $\Leftrightarrow A\Vdash_{p[x\rightarrow \rho(t)][y\rightarrow a]}\psi$ für alle $a\in U_A$ + \item $\Leftrightarrow A\Vdash_{p[x\rightarrow \rho(t)]}\forall y\psi$ + \end{itemize*} + \item $\varphi=\exists y\psi$ : analog + \end{itemize*} + \end{itemize*} - Die folgenden Beispiele zeigen, dass wir bereits jetzt die üblichen - Eigenschaften der Gleichheit (Symmetrie, Transitivität, Einsetzen) - folgern können. + \subsection{Natürliches Schließen} + Wir haben Regeln des natürlichen Schließens für aussagenlogische Formeln untersucht und für gut befunden. Man kann sie natürlich auch für prädikatenlogische Formeln anwenden. - Beispiel: Seien $x$ Variable, $s$ Term ohne $x$ und $\varphi=(x=s)$. - - Da $\varphi$ quantorenfrei ist, sind die Substitutionen $[x:=s]$ und - $[x:=t]$ für $\varphi$ zulässig. - Außerdem gelten - $\varphi[x:=s] = (s=s)$ und $\varphi[x:=t] = (t=s)$. - Also ist das - folgende eine Deduktion: - \includegraphics[width=\linewidth]{Assets/Logik-deduktion-beispiel.png} - Für alle - Termesundthaben wir also $\{s=t\}\vdash t=s$. + Beispiel: Für alle $\sum$-Formel $\varphi$ und $\psi$ gibt es eine Deduktion mit Hypothesen in $\{\lnot\varphi\wedge\lnot\psi\}$ und Konklusion $\lnot(\varphi\vee\psi)$: %\includegraphics[width=\linewidth]{Assets/Logik-deduktion-konklusion.png) - Beispiel: Seien $x$ Variable, $r,s$ und $t$ Terme ohne $x$ und - $\varphi=(r=x)$. - Da $\varphi$ quantorenfrei ist, sind die - Substitutionen $[x:=s]$ und $[x:=t]$ für $\varphi$ zulässig. - Außerdem - gelten $\varphi[x:=s]=(r=s)$ und $\varphi[x:=t]=(r=t)$. - Also ist das - folgende eine Deduktion: - \includegraphics[width=\linewidth]{Assets/Logik-deduktion-beispiel-2.png} - Für alle Terme - $r,s$ und $t$ haben wir also $\{r=s,s=t\}\vdash r=t$. + \subsection{Korrektheit} + Können wir durch mathematische Beweise zu falschen Aussagen kommen? Können wir durch das natürliche Schließen zu falschen Aussagen kommen? Existiert eine Menge $\Gamma$ von $\sum$-Formeln und eine $\sum$-Formel $\varphi$ mit $\Gamma\vdash\varphi$ und + $\Gamma\not\Vdash\varphi$? - Beispiel: Seien $x$ Variable, $s$ und $t$ Terme ohne $x$,$f$ - einstelliges Funktionssymbol und $\varphi=(f(s)=f(x))$. - Da $\varphi$ - quatorenfrei ist, sind die Substitutionen $[x:=s]$ und $[x:=t]$ für - $\varphi$ zulässig. - Außerdem gelten $\varphi[x:=s]=(f(s)=f(s))$ und - $\varphi[x:=t]=(f(s)=f(t))$. - Also ist das folgende eine Deduktion: - \includegraphics[width=\linewidth]{Assets/Logik-deduktion-beispiel-3.png} + Frage: Gilt $\Gamma\vdash\varphi\Rightarrow \Gamma\Vdash\varphi$ bzw. $\varphi$ ist Theorem $\Rightarrow\varphi$ ist allgemeingültig? - \begin{quote} - Lemma V1 + Der Beweis des Korrektheitslemmas für das natürliche Schließen kann ohne große Schwierigkeiten erweitert werden. Man erhält - Sei $\sum$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und - $\varphi$ eine $\sum$-Formel. Sei weiter $D$ eine Deduktion mit - Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des - natürlichen Schließens der Aussagenlogik, $(R)$ und $(GfG)$ verwendet. - Dann gilt $\Gamma\Vdash\varphi$. - \end{quote} + \note{Lemma V0}{Sei $\sum$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine $\sum$-Formel. Sei weiter $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des natürlichen Schließens der Aussagenlogik verwendet. Dann gilt $\Gamma\Vdash\varphi$.} - Beweis: Wir erweitern den Beweis des Korrektheitslemmas bzw. des Lemmas - V0, der Induktion über die Größe der Deduktion $D$ verwendete. - Wir - betrachten nur den Fall, dass $D$ die folgende Form hat: - \includegraphics[width=\linewidth]{Assets/Logik-lemma-v1-beweis.png} - Da dies Deduktion - ist, sind die Substitutionen $[x:=s]$ und $[x:=t]$ für $\varphi$ - zulässig, d.h. in $\varphi$ wird über keine Variable aus $s$ oder $t$ - quantifiziert. - $E$ und $F$ kleinere Deduktionen - $\Rightarrow\Gamma\Vdash\varphi[x:=s]$ und $\Gamma\Vdash s=t$ - Seien A - $\sum$-Struktur und $\rho$ Variableninterpretation mit $A\Vdash_p\gamma$ - für alle $\gamma\in\Gamma$. - $\Rightarrow A\Vdash_p\varphi[x:=s]$ und - $A\Vdash_p s=t$ - $\Rightarrow A\Vdash_{p[x\rightarrow \rho(s)]}\varphi$ - und $\rho(s) =\rho(t)$ - - $\Rightarrow A\Vdash_{p[x\rightarrow \rho(t)]}\varphi$ - - $\Rightarrow A\Vdash_p \varphi[x:=t]$ - Da $A$ und $\rho$ beliebig waren - mit $A\Vdash_p\gamma$ für alle $\gamma\in\Gamma$ haben wir - $\Gamma\Vdash\varphi[x:=t]$ gezeigt. + Umgekehrt ist nicht zu erwarten, dass aus $\Gamma\Vdash\varphi$ folgt, dass es eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$ gibt, denn die bisher untersuchten Regeln erlauben keine Behandlung von $=,\forall$ bzw. $\exists$. Solche Regeln werden wir jetzt einführen. - \subsubsection{$\forall$ in math. - Beweisen}\label{forall-in-math.-beweisen} + Zunächst kümmern wir uns um Atomformeln der Form $t_1 =t_2$. Hierfür gibt es die zwei Regeln $(R)$ und $(GfG)$: - Ein mathematischer Beweis einer Aussage ``für alle $x$ gilt $\varphi$'' - sieht üblicherweise so aus: ``Sei $x$ beliebig, aber fest. Jetzt zeige - ich $\varphi$ (hier steckt die eigentliche Arbeit). Da $x$ beliebig war, - haben wird''für alle $x$ gilt $\varphi$" gezeigt. qed" + \note{Reflexivität (ausführlich)}{Für jeden Term $t$ ist $\frac{}{t=t}$ eine hypothesenlose Deduktion mit Konklusion $t=t$. + %\includegraphics[width=\linewidth]{Assets/Logik-reflexivität-kurz.png) + } - \begin{quote} - $\forall$ -Einführung + \note{Gleiches-für-Gleiches in mathematischen Beweisen}{ + ,,Zunächst zeige ich, dass $s$ die Eigenschaft $\varphi$ hat:... + Jetzt zeige ich $s=t$:... + Also haben wir gezeigt, dass $t$ die Eigenschaft $\varphi$ hat. qed''} - Sei $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion - $\varphi$ und sei $x$ eine Variable, die in keiner Formel aus $\Gamma$ - frei vorkommt. Dann ist das folgende eine Deduktion mit Hypothesen in - $\Gamma$ und Konklusion - $\forall x\varphi: \frac{\phi}{\forall x\varphi}$ + \note{Gleiches-für-Gleiches (ausführlich)}{Seien $s$ und $t$ Terme und $\varphi$ Formel, so dass die Substitutionen $[x:=s]$ und $[x:=t]$ für $\varphi$ zulässig sind. Sind $D$ und $E$ Deduktionen mit Hypothesen in $\Gamma$ und Konklusionen $\varphi[x:=s]$ bzw. $s=t$, so ist das folgende eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi[x:=t]$: + %\includegraphics[width=\linewidth]{Assets/Logik-gleiches-für-gleiches-ausführlich.png) + } - Bedingung: $x$ kommt in keiner Hypothese frei vor - \end{quote} + Gleiches-für-Gleiches (Kurzform) + %\includegraphics[width=\linewidth]{Assets/Logik-gleiches-für-gleiches-kurz.png) + Bedingung: über keine Variable aus $s$ oder $t$ wird in $\varphi$ quantifiziert - \begin{quote} - Lemma V2 + Die folgenden Beispiele zeigen, dass wir bereits jetzt die üblichen Eigenschaften der Gleichheit (Symmetrie, Transitivität, Einsetzen) folgern können. - Sei $\sum$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und - $\varphi$ eine $\sum$-Formel. Sei weiter $D$ eine Deduktion mit - Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des - natürlichen Schließens der Aussagenlogik, (R), (GfG) und ($\forall$ -I) - verwendet. Dann gilt $\Gamma\Vdash\varphi$. - \end{quote} + Beispiel: Seien $x$ Variable, $s$ Term ohne $x$ und $\varphi=(x=s)$. + \begin{itemize*} + \item Da $\varphi$ quantorenfrei ist, sind die Substitutionen $[x:=s]$ und $[x:=t]$ für $\varphi$ zulässig. + \item Außerdem gelten $\varphi[x:=s] = (s=s)$ und $\varphi[x:=t] = (t=s)$. + \item Also ist das folgende eine Deduktion: %\includegraphics[width=\linewidth]{Assets/Logik-deduktion-beispiel.png) + \item Für alle Termesundthaben wir also $\{s=t\}\vdash t=s$. + \end{itemize*} - Beweis: Betrachte die folgende Deduktion $D$ - Insbesondere ist $x$ - keine freie Variable einer Formel aus $\Gamma$ und es gilt nach IV - $\Gamma\Vdash\varphi$ - Sei nun $A$ $\sum$-Struktur und $\rho$ - Variableninterpretation mit $A\Vdash_p y$ für alle $y\in\Gamma$. - Zu - zeigen ist $A\Vdash_p \forall x\varphi$: - Sei also $a\in U_A$ beliebig. - - $\Rightarrow$ für alle $y\in\Gamma$ gilt - $A\Vdash_{p[x\rightarrow a]} y$ da $x\not\in FV(y)$ und $A\Vdash_p y$ - - $\Rightarrow A\Vdash_{\rho[x\rightarrow a]}\varphi$ - Da $a\in U_A$ - beliebig war, haben wir $A\Vdash_\rho\forall x\varphi$ gezeigt - Da $A$ - und $\rho$ beliebig waren mit $A\Vdash_\rho\Gamma$ für alle - $\gamma\in\Gamma$ haben wir also $\Gamma\Vdash\forall x\varphi$ gezeigt. + Beispiel: Seien $x$ Variable, $r,s$ und $t$ Terme ohne $x$ und $\varphi=(r=x)$. + \begin{itemize*} + \item Da $\varphi$ quantorenfrei ist, sind die Substitutionen $[x:=s]$ und $[x:=t]$ für $\varphi$ zulässig. + \item Außerdem gelten $\varphi[x:=s]=(r=s)$ und $\varphi[x:=t]=(r=t)$. + \item Also ist das folgende eine Deduktion: %\includegraphics[width=\linewidth]{Assets/Logik-deduktion-beispiel-2.png) + \item Für alle Terme $r,s$ und $t$ haben wir also $\{r=s,s=t\}\vdash r=t$. + \end{itemize*} - \subsubsection{$\forall$ -Elimination in math. - Beweisen}\label{forall--elimination-in-math.-beweisen} + Beispiel: Seien $x$ Variable, $s$ und $t$ Terme ohne $x$,$f$ einstelliges Funktionssymbol und $\varphi=(f(s)=f(x))$. + \begin{itemize*} + \item Da $\varphi$ quatorenfrei ist, sind die Substitutionen $[x:=s]$ und $[x:=t]$ für $\varphi$ zulässig. + \item Außerdem gelten $\varphi[x:=s]=(f(s)=f(s))$ und $\varphi[x:=t]=(f(s)=f(t))$. + \item Also ist das folgende eine Deduktion: %\includegraphics[width=\linewidth]{Assets/Logik-deduktion-beispiel-3.png) + \end{itemize*} - Ein mathematischer Beweis einer Aussage ``t erfüllt $\varphi$'' kann so - aussehen: ``Zunächst zeige ich $\forall x\varphi$ (hier steckt die - eigentliche Arbeit). Damit erfüllt insbesondere $t$ die Aussage$\varphi$ - , d.h., wir haben''$t$ erfüllt $\varphi$" gezeigt. qed" + \note{Lemma V1}{Sei $\sum$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine $\sum$-Formel. Sei weiter $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des natürlichen Schließens der Aussagenlogik, $(R)$ und $(GfG)$ verwendet. Dann gilt $\Gamma\Vdash\varphi$.} - \begin{quote} - $\forall$ -Elimination + Beweis: Wir erweitern den Beweis des Korrektheitslemmas bzw. des Lemmas V0, der Induktion über die Größe der Deduktion $D$ verwendete. + \begin{itemize*} + \item Wir betrachten nur den Fall, dass $D$ die folgende Form hat: %\includegraphics[width=\linewidth]{Assets/Logik-lemma-v1-beweis.png) + \item Da dies Deduktion ist, sind die Substitutionen $[x:=s]$ und $[x:=t]$ für $\varphi$ + zulässig, d.h. in $\varphi$ wird über keine Variable aus $s$ oder $t$ quantifiziert. + \item $E$ und $F$ kleinere Deduktionen $\Rightarrow\Gamma\Vdash\varphi[x:=s]$ und $\Gamma\Vdash s=t$ + \item Seien A $\sum$-Struktur und $\rho$ Variableninterpretation mit $A\Vdash_p\gamma$ für alle $\gamma\in\Gamma$. + \begin{itemize*} + \item $\Rightarrow A\Vdash_p\varphi[x:=s]$ und $A\Vdash_p s=t$ + \item $\Rightarrow A\Vdash_{p[x\rightarrow \rho(s)]}\varphi$ und $\rho(s) =\rho(t)$ + \item $\Rightarrow A\Vdash_{p[x\rightarrow \rho(t)]}\varphi$ + \item $\Rightarrow A\Vdash_p \varphi[x:=t]$ + \end{itemize*} + \item Da $A$ und $\rho$ beliebig waren mit $A\Vdash_p\gamma$ für alle $\gamma\in\Gamma$ haben wir $\Gamma\Vdash\varphi[x:=t]$ gezeigt. + \end{itemize*} - Sei $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion - $\forall x\varphi$ und seit Term, so dass Substitution {[}x:=t{]} für - $\varphi$ zulässig ist. Dann ist das folgende eine Deduktion mit - Hypothesen in $\Gamma$ und Konklusion - $\varphi[x:=t]:\frac{\forall x\varphi}{\varphi[x:=t]}$ + \subsubsection{$\forall$ in math. Beweisen} + Ein mathematischer Beweis einer Aussage "für alle $x$ gilt $\varphi$" sieht üblicherweise so aus: + "Sei $x$ beliebig, aber fest. Jetzt zeige ich $\varphi$ (hier steckt die eigentliche Arbeit). Da $x$ beliebig war, haben wird "für alle $x$ gilt $\varphi$" gezeigt. qed" - Bedingung: über keine Variable aus $t$ wird in $\varphi$ quantifiziert - \end{quote} + \note{ $\forall$ -Einführung}{ Sei $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$ und sei $x$ eine Variable, die in keiner Formel aus $\Gamma$ frei vorkommt. Dann ist das folgende eine Deduktion + mit Hypothesen in $\Gamma$ und Konklusion $\forall x\varphi: \frac{\phi}{\forall x\varphi}$ + Bedingung: $x$ kommt in keiner Hypothese frei vor} - \begin{quote} - Lemma V3 + \note{Lemma V2}{Sei $\sum$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine $\sum$-Formel. Sei weiter $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des natürlichen Schließens der Aussagenlogik, (R), (GfG) und ($\forall$ -I) verwendet. Dann gilt $\Gamma\Vdash\varphi$.} - Sei $\sum$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und - $\varphi$ eine $\sum$-Formel. Sei weiter $D$ eine Deduktion mit - Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des - natürlichen Schließens der Aussagenlogik, (R), (GfG), ($\forall$-I) und - ($\forall$-E) verwendet. \textgreater{} Dann gilt $\Gamma\Vdash\varphi$. - \end{quote} + Beweis: Betrachte die folgende Deduktion $D$ + \begin{itemize*} + \item Insbesondere ist $x$ keine freie Variable einer Formel aus $\Gamma$ und es gilt nach IV $\Gamma\Vdash\varphi$ + \item Sei nun $A$ $\sum$-Struktur und $\rho$ Variableninterpretation mit $A\Vdash_p y$ für alle $y\in\Gamma$. + \item Zu zeigen ist $A\Vdash_p \forall x\varphi$: + \begin{itemize*} + \item Sei also $a\in U_A$ beliebig. + \item $\Rightarrow$ für alle $y\in\Gamma$ gilt $A\Vdash_{p[x\rightarrow a]} y$ da $x\not\in FV(y)$ und $A\Vdash_p y$ + \item $\Rightarrow A\Vdash_{\rho[x\rightarrow a]}\varphi$ + \item Da $a\in U_A$ beliebig war, haben wir $A\Vdash_\rho\forall x\varphi$ gezeigt + \end{itemize*} + \item Da $A$ und $\rho$ beliebig waren mit $A\Vdash_\rho\Gamma$ für alle $\gamma\in\Gamma$ haben wir also $\Gamma\Vdash\forall x\varphi$ gezeigt. + \end{itemize*} + + \subsubsection{$\forall$ -Elimination in math. Beweisen} + Ein mathematischer Beweis einer Aussage "t erfüllt $\varphi$" kann so aussehen: + "Zunächst zeige ich $\forall x\varphi$ (hier steckt die eigentliche Arbeit). Damit erfüllt insbesondere $t$ die Aussage$\varphi$ , d.h., wir haben "$t$ erfüllt $\varphi$" gezeigt. qed" + + \note{ $\forall$ -Elimination}{Sei $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\forall x\varphi$ und seit Term, so dass Substitution [x:=t] für $\varphi$ zulässig ist. + Dann ist das folgende eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi[x:=t]:\frac{\forall x\varphi}{\varphi[x:=t]}$ + Bedingung: über keine Variable aus $t$ wird in $\varphi$ quantifiziert} + + \note{Lemma V3}{ Sei $\sum$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine $\sum$-Formel. Sei weiter $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des natürlichen Schließens der Aussagenlogik, (R), (GfG), ($\forall$-I) und ($\forall$-E) verwendet. > Dann gilt $\Gamma\Vdash\varphi$.} Beweis: Analog zum Beweis von Lemma V2. - \subsubsection{$\exists$ in math. - Beweisen}\label{exists-in-math.-beweisen} + \subsubsection{$\exists$ in math. Beweisen} + Ein Beweis von "$\sigma$ gilt" kann so aussehen: + "Zunächst zeige ich $\exists x\varphi$ (hier steckt Arbeit). Jetzt zeige ich, dass $\sigma$ immer gilt, wenn$\varphi$ gilt (mehr Arbeit). Damit gilt $\sigma$. qed" - Ein Beweis von ``$\sigma$ gilt'' kann so aussehen: ``Zunächst zeige ich - $\exists x\varphi$ (hier steckt Arbeit). Jetzt zeige ich, dass $\sigma$ - immer gilt, wenn$\varphi$ gilt (mehr Arbeit). Damit gilt $\sigma$. qed'' + \note{$\exists$ -Elimination}{Sei $\Gamma$ eine Menge von Formeln, die die Variable $x$ nicht frei enthalten und enthalte die Formel $\sigma$ die Variabel $x$ nicht frei. Wenn $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\exists x\varphi$ und $E$ eine Deduktion mit Hypothesen in $\Gamma\cup\{\varphi\}$ und Konklusion $\sigma$ ist, dann ist das folgende eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\sigma:\frac{\exists x\varphi \quad\quad \sigma}{\sigma}$ - \begin{quote} - $\exists$ -Elimination + Bedingung: $x$ kommt in den Hypothesen und in $\sigma$ nicht frei vor.} - Sei $\Gamma$ eine Menge von Formeln, die die Variable $x$ nicht frei - enthalten und enthalte die Formel $\sigma$ die Variabel $x$ nicht frei. - Wenn $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion - $\exists x\varphi$ und $E$ eine Deduktion mit Hypothesen in - $\Gamma\cup\{\varphi\}$ und Konklusion $\sigma$ ist, dann ist das - folgende eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion - $\sigma:\frac{\exists x\varphi \quad\quad \sigma}{\sigma}$ + \note{Lemma V4}{Sei $\sigma$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine $\sigma$ -Formel. + Sei weiter $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des natürlichen Schließens der Aussagenlogik, (R), (GfG), ($\forall$-I), ($\forall$-E) und ($\exists$-E) verwendet. Dann gilt $\Gamma\Vdash\varphi$.} - Bedingung: $x$ kommt in den Hypothesen und in $\sigma$ nicht frei vor - \end{quote} + Beweis: Sei $D$ die folgende Deduktion + \begin{itemize*} + \item Insbesondere kommt $x$ in den Formeln aus $\Gamma\cup\{\sigma\}$ nicht frei vor. Außerdem gelten nach IV $\Gamma\Vdash\exists x\varphi$ und $\Gamma\cup\{\varphi\}\Vdash\sigma$. + \item Sei nun $A$ $\sigma$-Struktur und $\rho$ Variableninterpretation mit $A\Vdash_\rho\Gamma$ für alle $\gamma\in\Gamma$. + \item Zu zeigen ist $A\Vdash_\rho\sigma$: + \begin{itemize*} + \item Wegen $A\Vdash_\rho\exists x\varphi$ existiert $a\in U_A$ mit $A\Vdash_{\rho[x\rightarrow a]}\varphi$. + \item $x$ kommt in Formeln aus $\Gamma$ nicht frei vor $\Rightarrow A\Vdash_{\rho[x\rightarrow a]}\gamma$ für alle $\gamma\in\Gamma$. + \item Aus $\Gamma\cup\{\varphi\}\Vdash\sigma$ folgt $A\Vdash_{\rho[x\rightarrow a]}\sigma$. + \item Da $x\not\in FV(\sigma)$ erhalten wir $A\Vdash_\rho \sigma$. + \end{itemize*} + \item Da $A$ und $\rho$ beliebig waren mit $A\Vdash_\rho\gamma$ für alle $\gamma\in\Gamma$ haben wir also $\Gamma\Vdash\sigma$ gezeigt. + \end{itemize*} - \begin{quote} - Lemma V4 Sei $\sigma$ eine Signatur, $\Gamma$ eine Menge von - $\sum$-Formeln und $\varphi$ eine $\sigma$ -Formel. Sei weiter $D$ eine - Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die - Regeln des natürlichen Schließens der Aussagenlogik, (R), (GfG), - ($\forall$-I), ($\forall$-E) und ($\exists$-E) verwendet. Dann gilt - $\Gamma\Vdash\varphi$. - \end{quote} + \subsubsection{$\exists$ -Einführung in math. Beweisen} + Ein mathematischer Beweis einer Aussage "es gibt ein $x$, das $\varphi$ erfüllt" sieht üblicherweise so aus: "betrachte dieses $t$ (hier ist Kreativität gefragt). Jetzt zeige ich, daß $t\varphi$ erfüllt (u.U. harte Arbeit). Also haben wir "es gibt ein $x$, das $\varphi$ erfüllt" gezeigt. qed" - Beweis: Sei $D$ die folgende Deduktion - Insbesondere kommt $x$ in den - Formeln aus $\Gamma\cup\{\sigma\}$ nicht frei vor. Außerdem gelten nach - IV $\Gamma\Vdash\exists x\varphi$ und - $\Gamma\cup\{\varphi\}\Vdash\sigma$. - Sei nun $A$ $\sigma$-Struktur und - $\rho$ Variableninterpretation mit $A\Vdash_\rho\Gamma$ für alle - $\gamma\in\Gamma$. - Zu zeigen ist $A\Vdash_\rho\sigma$: - Wegen - $A\Vdash_\rho\exists x\varphi$ existiert $a\in U_A$ mit - $A\Vdash_{\rho[x\rightarrow a]}\varphi$. - $x$ kommt in Formeln aus - $\Gamma$ nicht frei vor - $\Rightarrow A\Vdash_{\rho[x\rightarrow a]}\gamma$ für alle - $\gamma\in\Gamma$. - Aus $\Gamma\cup\{\varphi\}\Vdash\sigma$ folgt - $A\Vdash_{\rho[x\rightarrow a]}\sigma$. - Da $x\not\in FV(\sigma)$ - erhalten wir $A\Vdash_\rho \sigma$. - Da $A$ und $\rho$ beliebig waren - mit $A\Vdash_\rho\gamma$ für alle $\gamma\in\Gamma$ haben wir also - $\Gamma\Vdash\sigma$ gezeigt. + \note{$\exists$ -Einführung}{Sei die Substitution $[x:=t]$ für die Formel $\varphi$ zulässig. + Sei weiter $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi[x:=t]$. + Dann ist das folgende eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\exists x\varphi:\frac{\varphi[x:=t]}{\exists x\varphi}$ - \subsubsection{$\exists$ -Einführung in math. - Beweisen}\label{exists--einfuxfchrung-in-math.-beweisen} + Bedingung: über keine Variable in $t$ wird in $\varphi$ quantifiziert} - Ein mathematischer Beweis einer Aussage ``es gibt ein $x$, das $\varphi$ - erfüllt'' sieht üblicherweise so aus: ``betrachte dieses $t$ (hier ist - Kreativität gefragt). Jetzt zeige ich, daß $t\varphi$ erfüllt (u.U. - harte Arbeit). Also haben wir''es gibt ein $x$, das $\varphi$ erfüllt" - gezeigt. qed" - - \begin{quote} - $\exists$ -Einführung - - Sei die Substitution $[x:=t]$ für die Formel $\varphi$ zulässig. Sei - weiter $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion - $\varphi[x:=t]$. Dann ist das folgende eine Deduktion mit Hypothesen in - $\Gamma$ und Konklusion - $\exists x\varphi:\frac{\varphi[x:=t]}{\exists x\varphi}$ - - Bedingung: über keine Variable in $t$ wird in $\varphi$ quantifiziert - \end{quote} - - \begin{quote} - Korrektheitslemma für das natürliche Schließen in der Prädikatenlogik - - Sei $\sigma$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und - $\varphi$ eine $\sigma$ -Formel. Sei weiter $D$ eine Deduktion mit - Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des - natürlichen Schließens der Aussagenlogik, (R), (GfG), ($\forall$-I), - ($\forall$-E), ($\exists$ -E) und ($\exists$ -I) verwendet. Dann gilt - $\Gamma\Vdash\varphi$. - \end{quote} + \note{Korrektheitslemma für das natürliche Schließen in der Prädikatenlogik}{ + Sei $\sigma$ eine Signatur, $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine $\sigma$ -Formel. + Sei weiter $D$ eine Deduktion mit Hypothesen in $\Gamma$ und Konklusion $\varphi$, die die Regeln des natürlichen Schließens der Aussagenlogik, (R), (GfG), ($\forall$-I), ($\forall$-E), ($\exists$ -E) und ($\exists$ -I) verwendet. Dann gilt $\Gamma\Vdash\varphi$.} Beweis: analog zu obigen Beweisen. - \subsubsection{Regeln des natürlichen Schließens - (Erweiterung)}\label{regeln-des-natuxfcrlichen-schlieuxdfens-erweiterung} - + \subsubsection{Regeln des natürlichen Schließens (Erweiterung)} \begin{itemize*} - \itemsep1pt\parskip0pt\parsep0pt - \item - ($R$): $\frac{}{t=t}$ - \item - (GfG): $\frac{\varphi[x:=s] \quad\quad s=t}{\varphi[x:=t]}$ (über - keine Variable aus $s$ oder $t$ wird in $\varphi$ quantifiziert) - \item - ($\forall$-I): $\frac{\varphi}{\forall x\varphi}$ (x nicht frei in - Hypothesen) - \item - ($\forall$-E): $\frac{\forall x\varphi}{\varphi[x:=t]}$ (über keine - Variable aus $t$ wird in $\varphi$ quantifiziert) - \item - ($\exists$-I): $\frac{\varphi [x:=t]}{\exists x\varphi}$ (über keine - Variable aus $t$ wird in $\varphi$ quantifiziert) - \item - ($\exists$-I): $\frac{\exists x\varphi\quad\quad \sigma}{\sigma}$ ($x$ - kommt in Hypothesen und $\sigma$ nicht frei vor) + \item ($R$): $\frac{}{t=t}$ + \item (GfG): $\frac{\varphi[x:=s] \quad\quad s=t}{\varphi[x:=t]}$ (über keine Variable aus $s$ oder $t$ wird in $\varphi$ quantifiziert) + \item ($\forall$-I): $\frac{\varphi}{\forall x\varphi}$ (x nicht frei in Hypothesen) + \item ($\forall$-E): $\frac{\forall x\varphi}{\varphi[x:=t]}$ (über keine Variable aus $t$ wird in $\varphi$ quantifiziert) + \item ($\exists$-I): $\frac{\varphi [x:=t]}{\exists x\varphi}$ (über keine Variable aus $t$ wird in $\varphi$ quantifiziert) + \item ($\exists$-I): $\frac{\exists x\varphi\quad\quad \sigma}{\sigma}$ ($x$ kommt in Hypothesen und $\sigma$ nicht frei vor) \end{itemize*} - \begin{quote} - Definition + \note{Definition}{Für eine Menge $\Gamma$ von $\sum$-Formeln und eine $\sum$-Formel $\varphi$ schreiben wir $\Gamma\vdash\varphi$ wenn es eine Deduktion gibt mit Hypothesen in $\Gamma$ und Konklusion $\varphi$. Wir sagen "$\varphi$ ist eine syntaktische Folgerung von $\Gamma$". + Eine Formel $\varphi$ ist ein Theorem, wenn $\varnothing\vdash\varphi$ gilt.} - Für eine Menge $\Gamma$ von $\sum$-Formeln und eine $\sum$-Formel - $\varphi$ schreiben wir $\Gamma\vdash\varphi$ wenn es eine Deduktion - gibt mit Hypothesen in $\Gamma$ und Konklusion $\varphi$. Wir sagen - ``$\varphi$ ist eine syntaktische Folgerung von $\Gamma$''. Eine Formel - $\varphi$ ist ein Theorem, wenn $\varnothing\vdash\varphi$ gilt. - \end{quote} + Bemerkung: $\Gamma\vdash\varphi$ sagt (zunächst) nichts über den Inhalt der Formeln in $\Gamma\cup\{\varphi\}$ aus, sondern nur über den Fakt, dass $\varphi$ mithilfe des natürlichen Schließens aus den Formeln aus $\Gamma$ hergeleitet werden kann. + Ebenso sagt "$\varphi$ ist Theorem" nur, dass $\varphi$ abgeleitet werden kann, über "Wahrheit" sagt dieser Begriff (zunächst) nichts aus. + Wir haben aber "en passant" das folgende gezeigt: - Bemerkung: $\Gamma\vdash\varphi$ sagt (zunächst) nichts über den Inhalt - der Formeln in $\Gamma\cup\{\varphi\}$ aus, sondern nur über den Fakt, - dass $\varphi$ mithilfe des natürlichen Schließens aus den Formeln aus - $\Gamma$ hergeleitet werden kann. Ebenso sagt ``$\varphi$ ist Theorem'' - nur, dass $\varphi$ abgeleitet werden kann, über ``Wahrheit'' sagt - dieser Begriff (zunächst) nichts aus. Wir haben aber ``en passant'' das - folgende gezeigt: + \note{Korrektheitssatz}{Für eine Menge von $\sum$-Formeln $\Gamma$ und eine $\sum$-Formel $\varphi$ gilt $\Gamma\vdash\varphi \Rightarrow \Gamma\Vdash\varphi$.} - \begin{quote} - Korrektheitssatz + Beispiel: Seien $\varphi$ Formel und $x$ Variable. Dann gelten $\{\lnot\exists x\varphi\}\Vdash\forall x\lnot\varphi$ und $\{\forall x\lnot\varphi\}\Vdash\lnot\exists x\varphi$. + \begin{itemize*} + \item Beweis: %\includegraphics[width=\linewidth]{Assets/Logik-korrekheitssatz.png) + \end{itemize*} - Für eine Menge von $\sum$-Formeln $\Gamma$ und eine $\sum$-Formel - $\varphi$ gilt $\Gamma\vdash\varphi \Rightarrow \Gamma\Vdash\varphi$. - \end{quote} + Beispiel: Seien $\varphi$ Formel und $x$ Variable. Dann gelten $\{\lnot\forall x\varphi\}\Vdash \exists x\lnot\varphi$ und $\{\exists x\lnot\varphi\}\Vdash\lnot\forall x\varphi$. + \begin{itemize*} + \item Beweis: %\includegraphics[width=\linewidth]{Assets/Logik-beispiel-korrekheitssatz.png) + \end{itemize*} - Beispiel: Seien $\varphi$ Formel und $x$ Variable. Dann gelten - $\{\lnot\exists x\varphi\}\Vdash\forall x\lnot\varphi$ und - $\{\forall x\lnot\varphi\}\Vdash\lnot\exists x\varphi$. - Beweis: - \includegraphics[width=\linewidth]{Assets/Logik-korrekheitssatz.png} + \subsection{Vollständigkeit} + Können wir durch mathematische Beweise zu allen korrekten Aussagen kommen? + Können wir durch das natürliche Schließen zu allen korrekten Aussagen kommen? - Beispiel: Seien $\varphi$ Formel und $x$ Variable. Dann gelten - $\{\lnot\forall x\varphi\}\Vdash \exists x\lnot\varphi$ und - $\{\exists x\lnot\varphi\}\Vdash\lnot\forall x\varphi$. - Beweis: - \includegraphics[width=\linewidth]{Assets/Logik-beispiel-korrekheitssatz.png} + Existiert eine Menge $\Gamma$ von $\sum$-Formeln und eine $\sum$-Formel $\varphi$ mit $\Gamma\Vdash\varphi$ und $\Gamma\not\vdash\varphi$? - \subsection{Vollständigkeit}\label{vollstuxe4ndigkeit-1} + Frage: Gilt $\Gamma\Vdash\varphi \Rightarrow \Gamma\vdash\varphi$ bzw. $\varphi$ ist allgemeingültig $\Rightarrow\varphi$ ist Theorem? - Können wir durch mathematische Beweise zu allen korrekten Aussagen - kommen? Können wir durch das natürliche Schließen zu allen korrekten - Aussagen kommen? + Plan: + \begin{itemize*} + \item z.z. ist $\Gamma\Vdash\varphi \Rightarrow \Gamma\vdash\varphi$. + \item dies ist äquivalent zu $\Gamma\not\vdash\varphi \Rightarrow \Gamma\not\Vdash\varphi$. + \item hierzu geht man folgendermaßen vor: + \begin{itemize*} + \item $\Gamma\not\vdash\varphi$ + \item $\Leftrightarrow \Gamma\cup\{\lnot\varphi\}$ konsistent + \item $\Rightarrow \exists\Delta\supseteq\Gamma\cup\{\lnot\varphi\}$ maximal konsistent + \item $\Rightarrow \exists\Delta^+ \supseteq\Delta$ maximal konsistent mit Konkretisierung + \item $\Rightarrow \Delta^+$ erfüllbar + \item $\Rightarrow \Delta$ erfüllbar + \item $\Rightarrow \Gamma\cup\{\lnot\varphi\}$ erfüllbar + \item $\Leftrightarrow \Gamma\cup\{\lnot\varphi\}$ + \end{itemize*} + \end{itemize*} - Existiert eine Menge $\Gamma$ von $\sum$-Formeln und eine $\sum$-Formel - $\varphi$ mit $\Gamma\Vdash\varphi$ und $\Gamma\not\vdash\varphi$? + \note{Definition}{Eine Menge $\Delta$ von Formeln hat Konkretisierungen, wenn für alle $\exists x\varphi\in\Delta$ ein variablenloser Term $t$ existiert mit $\varphi[x:=t]\in\Delta$.} - Frage: Gilt $\Gamma\Vdash\varphi \Rightarrow \Gamma\vdash\varphi$ bzw. - $\varphi$ ist allgemeingültig $\Rightarrow\varphi$ ist Theorem? + \note{Satz}{Sei $\Delta$ eine maximal konsistente Menge von $\sum$-Formeln. Dann existiert eine Signatur $\sum^+ \supseteq\sum$ und eine maximal konsistente Menge von $\sum^+$-Formeln mit Konkretisierungen, so dass $\Delta\subseteq\Delta^+$.} - Plan: - z.z. ist $\Gamma\Vdash\varphi \Rightarrow \Gamma\vdash\varphi$. - - dies ist äquivalent zu - $\Gamma\not\vdash\varphi \Rightarrow \Gamma\not\Vdash\varphi$. - hierzu - geht man folgendermaßen vor: - $\Gamma\not\vdash\varphi$ - - $\Leftrightarrow \Gamma\cup\{\lnot\varphi\}$ konsistent - - $\Rightarrow \exists\Delta\supseteq\Gamma\cup\{\lnot\varphi\}$ maximal - konsistent - $\Rightarrow \exists\Delta^+ \supseteq\Delta$ maximal - konsistent mit Konkretisierung - $\Rightarrow \Delta^+$ erfüllbar - - $\Rightarrow \Delta$ erfüllbar - - $\Rightarrow \Gamma\cup\{\lnot\varphi\}$ erfüllbar - - $\Leftrightarrow \Gamma\cup\{\lnot\varphi\}$ - - \begin{quote} - Definition - - Eine Menge $\Delta$ von Formeln hat Konkretisierungen, wenn für alle - $\exists x\varphi\in\Delta$ ein variablenloser Term $t$ existiert mit - $\varphi[x:=t]\in\Delta$. - \end{quote} - - \begin{quote} - Satz - - Sei $\Delta$ eine maximal konsistente Menge von $\sum$-Formeln. Dann - existiert eine Signatur $\sum^+ \supseteq\sum$ und eine maximal - konsistente Menge von $\sum^+$-Formeln mit Konkretisierungen, so dass - $\Delta\subseteq\Delta^+$. - \end{quote} - - Beweis: Wir konstruieren induktiv Signaturen $\sum_n$, maximal - konsistente Menge von $\sum_n$-Formeln $\Delta_n$ und konsistente Mengen - von $\sum_{n+1}$-Formeln $\Delta'_{n+1}$ mit - - $\sum =\sum_0 \subseteq\sum_1 \subseteq\sum_2...$ und - - $\Delta = \Delta_0 \subseteq \Delta'_1 \subseteq\Delta_1 \subseteq\Delta'_2...$ - und setzen dann - $\sum^+ =\bigcup_{n\geq 0} \sum_n$ und - $\Delta^+ = \bigcup_{n\geq 0} \Delta_n$ + Beweis: Wir konstruieren induktiv Signaturen $\sum_n$, maximal konsistente Menge von $\sum_n$-Formeln $\Delta_n$ und konsistente Mengen von $\sum_{n+1}$-Formeln $\Delta'_{n+1}$ mit + \begin{itemize*} + \item $\sum =\sum_0 \subseteq\sum_1 \subseteq\sum_2...$ und + \item $\Delta = \Delta_0 \subseteq \Delta'_1 \subseteq\Delta_1 \subseteq\Delta'_2...$ + und setzen dann + \item $\sum^+ =\bigcup_{n\geq 0} \sum_n$ und $\Delta^+ = \bigcup_{n\geq 0} \Delta_n$ + \end{itemize*} \begin{enumerate*} - \itemsep1pt\parskip0pt\parsep0pt - \item - IA: $\sum_0 := \sum$ , $\Delta_0:=\Delta$ - \item - IV: Sei $n\geq 0$ und $\Delta_n$ maximal konsistente Menge von - $\sum_n$-Formeln. $\psi=\exists x\varphi$, ein ``neues'' - Konstantensymbol $c_{\psi}$ - \item - IS: $\sum_{n+1}$: alle Symbole aus $\sum_n$ und, für jede Formel - $\psi\in\Delta_n$ der Form - $\Delta'_{n+1}:= \Delta_n\cup\{\varphi[x:=c_{\psi}]|\psi=\exists x\varphi\in\Delta_n\}$ - - \begin{itemize*} - \item - ohne Beweis: $\Delta'_{n+1}$ ist konsistent - \item - Idee: Ist $\varphi$ $\sum_n$-Formel mit - $\Delta'_{n+1}\vdash\varphi$, so gilt $\Delta_n\vdash\varphi$. - \item - Konsistenz von $\Delta'_{n+1}$ folgt mit $\varphi=\bot$ - \item - Analog zum Satz aus Vorlesung 4 existiert - $\Delta_{n+1}\supseteq \Delta'_{n+1}$ maximal konsistent - \end{itemize*} + \item IA: $\sum_0 := \sum$ , $\Delta_0:=\Delta$ + \item IV: Sei $n\geq 0$ und $\Delta_n$ maximal konsistente Menge von $\sum_n$-Formeln. $\psi=\exists x\varphi$, ein "neues" Konstantensymbol $c_{\psi}$ + \item IS: $\sum_{n+1}$: alle Symbole aus $\sum_n$ und, für jede Formel $\psi\in\Delta_n$ der Form $\Delta'_{n+1}:= \Delta_n\cup\{\varphi[x:=c_{\psi}]|\psi=\exists x\varphi\in\Delta_n\}$ + \begin{itemize*} + \item ohne Beweis: $\Delta'_{n+1}$ ist konsistent + \item Idee: Ist $\varphi$ $\sum_n$-Formel mit $\Delta'_{n+1}\vdash\varphi$, so gilt $\Delta_n\vdash\varphi$. + \item Konsistenz von $\Delta'_{n+1}$ folgt mit $\varphi=\bot$ + \item Analog zum Satz aus Vorlesung 4 existiert $\Delta_{n+1}\supseteq \Delta'_{n+1}$ maximal konsistent + \end{itemize*} + \begin{itemize*} + \item Damit ist die Konstruktion der Signaturen $\sum_n$ und der maximal konsistenten Mengen $\Delta_n$ von $\sum_n$-Formeln abgeschlossen. + \item noch z.z.: $\Delta^+$ hat Konkretisierungen und ist maximal konsistent + \begin{itemize*} + \item $\Delta^+$ hat Konkretisierungen: Sei $\psi=\exists x\varphi\in\Delta^+$ + \begin{itemize*} + \item $\Rightarrow$ es gibt $n\geq 0$ mit $\psi\in\Delta_n$ + \item $\Rightarrow \varphi[x:=c_{\psi}]\in\Delta'_{n+1}\subseteq \Delta_{n+1}\subseteq\Delta^+$. + \end{itemize*} + \item Konsistenz: (indirekt) angenommen, $\Delta^+\vdash\bot$ + \begin{itemize*} + \item Da jede Deduktion endlich ist, existiert $\Gamma\subseteq\Delta^+$ endlich mit $\Gamma\vdash\bot$. + \item $\Rightarrow$ es gibt $n\geq 0$ mit $\Gamma\subseteq\Delta_n$ + \item $\Rightarrow \Delta_n\vdash\bot$ - im Widerspruch zur Konsistenz von $\Delta_n$. + \end{itemize*} + \item maximale Konsistenz: (indirekt) angenommen, $\Delta^+$ ist nicht maximal konsistent + \begin{itemize*} + \item $\Rightarrow$ es gibt $\Gamma\not\subseteq\Delta^+$ konsistent + \item $\Rightarrow$ es gibt $\varphi\in\Gamma\backslash\Delta^+$ + \item $\Rightarrow$ $\Delta^+\cup\{\varphi\}\subseteq\Gamma$ konsistent + \item $\varphi$ ist $\sum^+$-Formel $\Rightarrow$ es gibt $n\geq 0$, so dass $\varphi$ eine $\sum_n$-Formel ist. + \item $\Delta_n$ maximal konsistente Menge von $\sum_n$-Formeln + \item $\Rightarrow$ $\varphi\in\Delta_n\subseteq\Delta^+$ oder $\lnot\varphi\in\Delta_n\subseteq\Delta^+$ + \item $\Rightarrow$ $\lnot\varphi\in\Delta^+\subseteq\Gamma$ + \item Also $\varphi,\lnot\varphi\in\Gamma$, im Widerspruch zur Konsistenz von $\Gamma$. + \end{itemize*} + \end{itemize*} + \end{itemize*} \end{enumerate*} + \note{Satz}{Sei $\Delta^+$ maximal konsistente Menge von $\sum^+$-Formeln mit Konkretisierungen. Dann ist $\Delta^+$ erfüllbar.} + + Beweisidee: Sei $T$ die Menge der variablenlosen $\sum^+$-Terme. Auf $T$ definieren wir eine Äquivalenzrelation $\sim$ durch $s\sim t\Leftrightarrow \Delta^+\vdash(s=t)\Leftrightarrow (s=t)\in\Delta^+$ + Sei $A$ die folgende $\sum^+$-Struktur: \begin{itemize*} - \itemsep1pt\parskip0pt\parsep0pt - \item - Damit ist die Konstruktion der Signaturen $\sum_n$ und der maximal - konsistenten Mengen $\Delta_n$ von $\sum_n$-Formeln abgeschlossen. - \item - noch z.z.: $\Delta^+$ hat Konkretisierungen und ist maximal konsistent - \item - $\Delta^+$ hat Konkretisierungen: Sei - $\psi=\exists x\varphi\in\Delta^+$ - - \begin{itemize*} - \item - $\Rightarrow$ es gibt $n\geq 0$ mit $\psi\in\Delta_n$ - \item - $\Rightarrow \varphi[x:=c_{\psi}]\in\Delta'_{n+1}\subseteq \Delta_{n+1}\subseteq\Delta^+$. - \end{itemize*} - \item - Konsistenz: (indirekt) angenommen, $\Delta^+\vdash\bot$ - - \begin{itemize*} - \item - Da jede Deduktion endlich ist, existiert $\Gamma\subseteq\Delta^+$ - endlich mit $\Gamma\vdash\bot$. - \item - $\Rightarrow$ es gibt $n\geq 0$ mit $\Gamma\subseteq\Delta_n$ - \item - $\Rightarrow \Delta_n\vdash\bot$ - im Widerspruch zur Konsistenz von - $\Delta_n$. - \end{itemize*} - \item - maximale Konsistenz: (indirekt) angenommen, $\Delta^+$ ist nicht - maximal konsistent - - \begin{itemize*} - \item - $\Rightarrow$ es gibt $\Gamma\not\subseteq\Delta^+$ konsistent - \item - $\Rightarrow$ es gibt $\varphi\in\Gamma\backslash\Delta^+$ - \item - $\Rightarrow$ $\Delta^+\cup\{\varphi\}\subseteq\Gamma$ konsistent - \item - $\varphi$ ist $\sum^+$-Formel $\Rightarrow$ es gibt $n\geq 0$, so - dass $\varphi$ eine $\sum_n$-Formel ist. - \item - $\Delta_n$ maximal konsistente Menge von $\sum_n$-Formeln - \item - $\Rightarrow$ $\varphi\in\Delta_n\subseteq\Delta^+$ oder - $\lnot\varphi\in\Delta_n\subseteq\Delta^+$ - \item - $\Rightarrow$ $\lnot\varphi\in\Delta^+\subseteq\Gamma$ - \item - Also $\varphi,\lnot\varphi\in\Gamma$, im Widerspruch zur Konsistenz - von $\Gamma$. - \end{itemize*} + \item $U_A:=T/\sim$ ist die Menge der $\sim$-Äquivalenzklassen + \item $R^A=\{([t_1],...,[t_k])|t_1 ,...,t_k\in T,R(t_1,...,t_k)\in\Delta^+\}$ für alle Relationssymbole R aus $\sum^+$ + \item $f^A([t_1],...,[t_k]) = [f(t_1,...,t_k)]$ für alle $t_1,...,t_k\in T$ und alle Funktionssymbole $f$ aus $\sum^+$ (Bemerkung: dies ist wohldefiniert) + Dann gilt tatsächlich $A\Vdash\Delta^+$. \end{itemize*} - \begin{quote} - Satz + \note{Satz: Vollständigkeitssatz der Prädikatenlogik }{Sei $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine $\sum$-Formel. Dann gilt $\Gamma\Vdash\varphi \Rightarrow \Gamma\vdash\varphi$. + Insbesondere ist jede allgemeingültige Formel ein Theorem.} - Sei $\Delta^+$ maximal konsistente Menge von $\sum^+$-Formeln mit - Konkretisierungen. Dann ist $\Delta^+$ erfüllbar. - \end{quote} + Beweis:indirekt + \begin{itemize*} + \item $\Gamma\not\vdash\varphi$ + \item $\Gamma\cup\{\lnot\varphi\}$ konsistent + \item $\Gamma\cup\{\lnot\varphi\}$ erfüllbar + \item $\exists\Delta\supseteq\Gamma\cup\{\lnot\varphi\}$ maximal konsistent + \item $\exists\Delta^+\supseteq\Delta$ maximal konsistent mit Konkretisierungen + \item $\Delta^+$ erfüllbar + \item $\Delta$ erfüllbar + \item $\Gamma\not\Vdash\varphi$ + \end{itemize*} - Beweisidee: Sei $T$ die Menge der variablenlosen $\sum^+$-Terme. Auf $T$ - definieren wir eine Äquivalenzrelation $\sim $ durch - $s\sim t\Leftrightarrow \Delta^+\vdash(s=t)\Leftrightarrow (s=t)\in\Delta^+$ - Sei $A$ die folgende $\sum^+$-Struktur: - $U_A:=T/\sim $ ist die Menge der - $\sim $-Äquivalenzklassen - - $R^A=\{([t_1],...,[t_k])|t_1 ,...,t_k\in T,R(t_1,...,t_k)\in\Delta^+\}$ - für alle Relationssymbole R aus $\sum^+$ - - $f^A([t_1],...,[t_k]) = [f(t_1,...,t_k)]$ für alle $t_1,...,t_k\in T$ - und alle Funktionssymbole $f$ aus $\sum^+$ (Bemerkung: dies ist - wohldefiniert) Dann gilt tatsächlich $A\Vdash\Delta^+$. + Bemerkung + \begin{itemize*} + \item Dieser Satz ist (im wesentlichen) der berühmte Gödelsche Vollständigkeitssatz von 1930. + \item Der obige Beweis wurde von Leon Henkin 1949 veröffentlicht. + \end{itemize*} - \begin{quote} - Satz: Vollständigkeitssatz der Prädikatenlogik + Wir haben gleichzeitig gezeigt: + \note{Satz}{Sei $\Gamma$ höchstens abzählbar unendliche und konsistente Menge von Formeln. Dann hat $\Gamma$ ein höchstens abzählbar unendliches Modell.} - Sei $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine - $\sum$-Formel. Dann gilt - $\Gamma\Vdash\varphi \Rightarrow \Gamma\vdash\varphi$. Insbesondere ist - jede allgemeingültige Formel ein Theorem. - \end{quote} + Beweis: $\Gamma$ konsistent heißt $\Gamma\not\vdash\bot$. Obiger Beweis gibt ein Modell $A$ von $\Gamma\cup\{\lnot\bot\}$ an. Wir zeigen, dass diese Struktur $A$ höchstens abzählbar unendlich ist: + \begin{itemize*} + \item Sei $\sum$ Signatur der Relations- und Funktionssymbole aus $\Gamma$. + \item $|\Gamma|\leq \mathbb{N}_0 \Rightarrow |\sum|\leq \mathbb{N}_0$ + \item $\Rightarrow |\sum_n|\leq \mathbb{N}_0$ und $|\Delta_n|\leq \mathbb{N}_0$ für alle $n\geq 0$ + \item $\Rightarrow |\sum^+|,|\Delta^+| \leq\mathbb{N}_0$ + \item $\Rightarrow |T| \leq\mathbb{N}_0$ + \item $\Rightarrow A$ hat $\leq\mathbb{N}_0$ viele Elemente + \item $\Rightarrow \Gamma\cup\{\lnot\bot\}$ hat ein höchstens abzählbar unendliches Modell + \item $\Rightarrow \Gamma$ hat ein höchstens abzählbar unendliches Modell + \end{itemize*} - Beweis:indirekt - $\Gamma\not\vdash\varphi$ - - $\Gamma\cup\{\lnot\varphi\}$ konsistent - $\Gamma\cup\{\lnot\varphi\}$ - erfüllbar - $\exists\Delta\supseteq\Gamma\cup\{\lnot\varphi\}$ maximal - konsistent - $\exists\Delta^+\supseteq\Delta$ maximal konsistent mit - Konkretisierungen - $\Delta^+$ erfüllbar - $\Delta$ erfüllbar - - $\Gamma\not\Vdash\varphi$ - - Bemerkung - Dieser Satz ist (im wesentlichen) der berühmte Gödelsche - Vollständigkeitssatz von 1930. - Der obige Beweis wurde von Leon Henkin - 1949 veröffentlicht. - - Wir haben gleichzeitig gezeigt: \textgreater{} Satz \textgreater{} - \textgreater{} Sei $\Gamma$ höchstens abzählbar unendliche und - konsistente Menge von Formeln. Dann hat $\Gamma$ ein höchstens abzählbar - unendliches Modell. - - Beweis: $\Gamma$ konsistent heißt $\Gamma\not\vdash\bot$. Obiger Beweis - gibt ein Modell $A$ von $\Gamma\cup\{\lnot\bot\}$ an. Wir zeigen, dass - diese Struktur $A$ höchstens abzählbar unendlich ist: - Sei $\sum$ - Signatur der Relations- und Funktionssymbole aus $\Gamma$. - - $|\Gamma|\leq \mathbb{N}_0 \Rightarrow |\sum|\leq \mathbb{N}_0$ - - $\Rightarrow |\sum_n|\leq \mathbb{N}_0$ und - $|\Delta_n|\leq \mathbb{N}_0$ für alle $n\geq 0$ - - $\Rightarrow |\sum^+|,|\Delta^+| \leq\mathbb{N}_0$ - - $\Rightarrow |T| \leq\mathbb{N}_0$ - $\Rightarrow A$ hat - $\leq\mathbb{N}_0$ viele Elemente - - $\Rightarrow \Gamma\cup\{\lnot\bot\}$ hat ein höchstens abzählbar - unendliches Modell - $\Rightarrow \Gamma$ hat ein höchstens abzählbar - unendliches Modell - - \subsection{Vollständigkeit und Korrektheit für die - Prädikatenlogik}\label{vollstuxe4ndigkeit-und-korrektheit-fuxfcr-die-pruxe4dikatenlogik} - - \begin{quote} - Satz - - Seien $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine - $\sum$-Formel. Dann gilt - $\Gamma\vdash\varphi\Leftrightarrow \Gamma\Vdash\varphi$. Insbesondere - ist eine $\sum$-Formel genau dann allgemeingültig, wenn sie ein Theorem - ist. - \end{quote} + \subsection{Vollständigkeit und Korrektheit für die Prädikatenlogik} + \note{Satz}{Seien $\Gamma$ eine Menge von $\sum$-Formeln und $\varphi$ eine $\sum$-Formel. Dann gilt $\Gamma\vdash\varphi\Leftrightarrow \Gamma\Vdash\varphi$. + Insbesondere ist eine $\sum$-Formel genau dann allgemeingültig, wenn sie ein Theorem ist.} Beweis: Folgt unmittelbar aus Korrektheitssatz und Vollständigkeitssatz. - \subsubsection{Folgerung 1: Kompaktheit}\label{folgerung-1-kompaktheit} + \subsubsection{Folgerung 1: Kompaktheit} + \note{Satz}{Seien $\Gamma$ eine u.U. unendliche Menge von $\sum$-Formeln und $\varphi$ eine $\sum$-Formel mit $\Gamma\Vdash\varphi$. Dann existiert $\Gamma'\subseteq\Gamma$ endlich mit $\Gamma'\Vdash\varphi$.} - \begin{quote} - Satz + Beweis: $\Gamma\Vdash\varphi$ + \begin{itemize*} + \item $\Gamma\vdash\varphi$ (nach dem Vollständigkeitssatz) + \item es gibt Deduktion von $\varphi$ mit Hypothesen $\gamma_1,...,\gamma_n\in\Gamma$ + \item $\Gamma'=\{\gamma_1,...,\gamma_n\}\subseteq\Gamma$ endlich mit $\Gamma'\vdash\varphi$ + \item $\Gamma'\vdash\varphi$ (nach dem Korrektheitssatz). + \end{itemize*} - Seien $\Gamma$ eine u.U. unendliche Menge von $\sum$-Formeln und - $\varphi$ eine $\sum$-Formel mit $\Gamma\Vdash\varphi$. Dann existiert - $\Gamma'\subseteq\Gamma$ endlich mit $\Gamma'\Vdash\varphi$. - \end{quote} + \note{Folgerung (Kompaktheits- oder Endlichkeitssatz)}{Sei $\Gamma$ eine u.U. unendliche Menge von $\sum$-Formeln. Dann gilt $\Gamma$ erfüllbar $\Leftrightarrow \forall\Gamma'\subseteq\Gamma$ endlich: $\Gamma'$ erfüllbar} - Beweis: $\Gamma\Vdash\varphi$ - $\Gamma\vdash\varphi$ (nach dem - Vollständigkeitssatz) - es gibt Deduktion von $\varphi$ mit Hypothesen - $\gamma_1,...,\gamma_n\in\Gamma$ - - $\Gamma'=\{\gamma_1,...,\gamma_n\}\subseteq\Gamma$ endlich mit - $\Gamma'\vdash\varphi$ - $\Gamma'\vdash\varphi$ (nach dem - Korrektheitssatz). + Beweis: + \begin{itemize*} + \item $\Gamma$ unerfüllbar + \item $\Leftrightarrow \Gamma\cup\{\lnot\bot\}$ unerfüllbar + \item $\Leftrightarrow \Gamma\Vdash\bot$ + \item $\Leftrightarrow$ es gibt $\Gamma'\subseteq\Gamma$ endlich: $\Gamma'\Vdash\bot$ + \item $\Leftrightarrow$ es gibt $\Gamma'\subseteq\Gamma$ endlich: $\Gamma'\cup\{\lnot\bot\}$ unerfüllbar + \item $\Leftrightarrow$ es gibt $\Gamma'\subseteq\Gamma$ endlich: $\Gamma'$ unerfüllbar + \end{itemize*} - \begin{quote} - Folgerung (Kompaktheits- oder Endlichkeitssatz) + \note{Satz}{Sei $\Delta$ eine u.U. unendliche Menge von $\sum$-Formeln, so dass für jedes $n\in\mathbb{N}$ eine endliche Struktur $A_n$ mit $A_\Vdash\Delta$ existiert, die wenigstens $n$ Elemente hat. + Dann existiert eine unendliche Struktur $A$ mit $A\Vdash\Delta$.} - Sei $\Gamma$ eine u.U. unendliche Menge von $\sum$-Formeln. Dann gilt - $\Gamma$ erfüllbar $\Leftrightarrow \forall\Gamma'\subseteq\Gamma$ - endlich: $\Gamma'$ erfüllbar - \end{quote} + Beweis: für $n\in\mathbb{N}$ setze $\varphi_n=\exists x_1 \exists x_2 ...\exists x_n \bigwedge_{1\leq i< j \leq n} x_i \not= x_j$ + \begin{itemize*} + \item und $\Gamma =\Delta\cup\{\varphi_n | n\geq 0\}$. + \item Für $\Gamma'\subseteq\Gamma$ endlich existiert $n\in\mathbb{N}$ mit $\varphi_m\not\in\Gamma'$ für alle $m\geq n$ + \item $\Rightarrow A_n\Vdash\Gamma'$, d.h. jede endliche Teilmenge von $\Gamma$ ist erfüllbar. + \item $\Rightarrow$ es gibt Struktur $A$ mit $A\Vdash\Gamma$ + \item $\Rightarrow$ A hat $\geq n$ Elemente (für alle $n\in\mathbb{N}$) + \end{itemize*} - Beweis: - $\Gamma$ unerfüllbar - - $\Leftrightarrow \Gamma\cup\{\lnot\bot\}$ unerfüllbar - - $\Leftrightarrow \Gamma\Vdash\bot$ - $\Leftrightarrow$ es gibt - $\Gamma'\subseteq\Gamma$ endlich: $\Gamma'\Vdash\bot$ - - $\Leftrightarrow$ es gibt $\Gamma'\subseteq\Gamma$ endlich: - $\Gamma'\cup\{\lnot\bot\}$ unerfüllbar - $\Leftrightarrow$ es gibt - $\Gamma'\subseteq\Gamma$ endlich: $\Gamma'$ unerfüllbar + \subsubsection{Folgerung 2: Löwenheim-Skolem} + Frage: Gibt es eine Menge $\Gamma$ von $\sum$-Formeln, so dass für alle Strukturen $A$ gilt: $A\Vdash\Gamma \Leftrightarrow A\cong (\mathbb{R},+,*, 0 , 1 )$? - \begin{quote} - Satz + \note{Satz von Löwenheim-Skolem}{Sei $\Gamma$ erfüllbare und höchstens abzählbar unendliche Menge von $\sum$-Formeln. Dann existiert ein höchstens abzählbar unendliches Modell von $\Gamma$.} - Sei $\Delta$ eine u.U. unendliche Menge von $\sum$-Formeln, so dass für - jedes $n\in\mathbb{N}$ eine endliche Struktur $A_n$ mit $A_\Vdash\Delta$ - existiert, die wenigstens $n$ Elemente hat. Dann existiert eine - unendliche Struktur $A$ mit $A\Vdash\Delta$. - \end{quote} + Beweis: + \begin{itemize*} + \item $Gamma$ erfüllbar $\Rightarrow \Gamma\not\Vdash\bot$ + \item $\Rightarrow$ $\Gamma\not\vdash\bot$, d.h. $\Gamma$ konsistent + \item $\Rightarrow \Gamma$ hat ein höchstens abzählbar unendliches Modell. + \end{itemize*} - Beweis: für $n\in\mathbb{N}$ setze - $\varphi_n=\exists x_1 \exists x_2 ...\exists x_n \bigwedge_{1\leq i< j \leq n} x_i \not= x_j$ - - und $\Gamma =\Delta\cup\{\varphi_n | n\geq 0\}$. - Für - $\Gamma'\subseteq\Gamma$ endlich existiert $n\in\mathbb{N}$ mit - $\varphi_m\not\in\Gamma'$ für alle $m\geq n$ - - $\Rightarrow A_n\Vdash\Gamma'$, d.h. jede endliche Teilmenge von - $\Gamma$ ist erfüllbar. - $\Rightarrow$ es gibt Struktur $A$ mit - $A\Vdash\Gamma$ - $\Rightarrow$ A hat $\geq n$ Elemente (für alle - $n\in\mathbb{N}$) + Die Frage auf der vorherigen Folie muß also verneint werden: + \begin{itemize*} + \item angenommen, $\Gamma$ wäre eine solche Menge + \item $\Rightarrow |\Gamma|\leq \mathbb{N}_0$ + \item $\Rightarrow \Gamma$ hat ein höchstens abzählbar unendliches Modell $A$ + \item $\Rightarrow A\not\cong (\mathbb{R},+,*, 0 , 1 )$ + \end{itemize*} - \subsubsection{Folgerung 2: - Löwenheim-Skolem}\label{folgerung-2-luxf6wenheim-skolem} - \begin{quote} - Frage: Gibt es eine Menge $\Gamma$ von $\sum$-Formeln, so dass für alle - Strukturen $A$ gilt: - $A\Vdash\Gamma \Leftrightarrow A\cong (\mathbb{R},+,*, 0 , 1 )$? - \end{quote} + \subsubsection{Folgerung 3: Semi-Entscheidbarkeit} + \note{Satz}{Die Menge der allgemeingültigen $\sum$-Formeln ist semi-entscheidbar.} - \begin{quote} - Satz von Löwenheim-Skolem - - Sei $\Gamma$ erfüllbare und höchstens abzählbar unendliche Menge von - $\sum$-Formeln. Dann existiert ein höchstens abzählbar unendliches - Modell von $\Gamma$. - \end{quote} - - Beweis: - $Gamma$ erfüllbar $\Rightarrow \Gamma\not\Vdash\bot$ - - $\Rightarrow$ $\Gamma\not\vdash\bot$, d.h. $\Gamma$ konsistent - - $\Rightarrow \Gamma$ hat ein höchstens abzählbar unendliches Modell. - - Die Frage auf der vorherigen Folie muß also verneint werden: - - angenommen, $\Gamma$ wäre eine solche Menge - - $\Rightarrow |\Gamma|\leq \mathbb{N}_0$ - $\Rightarrow \Gamma$ hat ein - höchstens abzählbar unendliches Modell $A$ - - $\Rightarrow A\not\cong (\mathbb{R},+,*, 0 , 1 )$ - - \subsubsection{Folgerung 3: - Semi-Entscheidbarkeit}\label{folgerung-3-semi-entscheidbarkeit} - - \begin{quote} - Satz - - Die Menge der allgemeingültigen $\sum$-Formeln ist semi-entscheidbar. - \end{quote} - - Beweis:Sei$\varphi$ $\sum$-Formel. Dann gilt - $\varphi$ allgemeingültig - - $\Leftrightarrow \varphi$ Theorem - $\Leftrightarrow$ Es gibt - hypothesenlose Deduktion mit Konklusion $\varphi$ + Beweis:Sei$\varphi$ $\sum$-Formel. Dann gilt + \begin{itemize*} + \item $\varphi$ allgemeingültig + \item $\Leftrightarrow \varphi$ Theorem + \item $\Leftrightarrow$ Es gibt hypothesenlose Deduktion mit Konklusion $\varphi$ + \end{itemize*} Ein Semi-Entscheidungsalgorithmus kann also folgendermaßen vorgehen: - Teste für jede Zeichenkette $w$ nacheinander, ob sie hypothesenlose - Deduktion mit Konklusion $\varphi$ ist. Wenn ja, so gib aus ``$\varphi$ - ist allgemeingültig''. Ansonsten gehe zur nächsten Zeichenkette über. + Teste für jede Zeichenkette $w$ nacheinander, ob sie hypothesenlose Deduktion mit Konklusion $\varphi$ ist. Wenn ja, so gib aus "$\varphi$ ist allgemeingültig". Ansonsten gehe zur nächsten Zeichenkette über. - \subsubsection{Der Satz von Church}\label{der-satz-von-church} + \subsubsection{Der Satz von Church} + Jetzt zeigen wir, daß dieses Ergebnis nicht verbessert werden kann: Die Menge der allgemeingültigen $\sum$-Formeln ist nicht entscheidbar. + Wegen $\varphi$ allgemeingültig $\Leftrightarrow\lnot\varphi$ unerfüllbar reicht es zu zeigen, dass die Menge der erfüllbaren Sätze nicht entscheidbar ist. + Genauer zeigen wir dies sogar für "Horn-Formeln": - Jetzt zeigen wir, daß dieses Ergebnis nicht verbessert werden kann: Die - Menge der allgemeingültigen $\sum$-Formeln ist nicht entscheidbar. Wegen - $\varphi$ allgemeingültig $\Leftrightarrow\lnot\varphi$ unerfüllbar - reicht es zu zeigen, dass die Menge der erfüllbaren Sätze nicht - entscheidbar ist. Genauer zeigen wir dies sogar für ``Horn-Formeln'': + \note{Definition}{Eine Horn-Formel ist eine Konjunktion von $\sum$-Formeln der Form $\forall x_1 \forall x_2 ...\forall x_n((\lnot\bot \wedge\alpha_1\wedge\alpha_2\wedge...\wedge\alpha_m)\rightarrow\beta)$, wobei $\alpha_1,...,\alpha_m$ und $\beta$ atomare $\sum$-Formeln sind.} - \begin{quote} - Definition + Unser Beweis reduziert die unentscheidbare Menge PCP auf die Menge der erfüllbaren Horn-Formeln. - Eine Horn-Formel ist eine Konjunktion von $\sum$-Formeln der Form - $\forall x_1 \forall x_2 ...\forall x_n((\lnot\bot \wedge\alpha_1\wedge\alpha_2\wedge...\wedge\alpha_m)\rightarrow\beta)$, - wobei $\alpha_1,...,\alpha_m$ und $\beta$ atomare $\sum$-Formeln sind. - \end{quote} + Im folgenden sei also $I=((u_1,v_1),(u_2,v_2),...,(u_k,v_k))$ ein Korrespondenzsystem und $A$ das zugrundeliegende Alphabet. + Hieraus berechnen wir eine Horn-Formel $\varphi_I$, die genau dann erfüllbar ist, wenn $I$ keine Lösung hat. + Wir betrachten die Signatur $\sum= (\Omega,Rel,ar)$ mit + \begin{itemize*} + \item $\Omega=\{e\}\cup\{f_a|a\in A\}$ mit $ar(e) =0$ und $ar(f_a) =1$ für alle $a\in A$. + \item $Rel=\{R\}$ mit $ar(R)=2$. + \end{itemize*} - Unser Beweis reduziert die unentscheidbare Menge PCP auf die Menge der - erfüllbaren Horn-Formeln. + Zur Abkürzung schreiben wir $f_{a_1 a_2 ...a_n} (x)$ für $f_{a_1}(f_{a_2}(...(f_{a_n}(x))...))$ für alle $a_1,a_2,...,a_n\in A$ und $n\geq 0$ (insbes. steht $f_{\epsilon}(x)$ für $x$). - Im folgenden sei also $I=((u_1,v_1),(u_2,v_2),...,(u_k,v_k))$ ein - Korrespondenzsystem und $A$ das zugrundeliegende Alphabet. Hieraus - berechnen wir eine Horn-Formel $\varphi_I$, die genau dann erfüllbar - ist, wenn $I$ keine Lösung hat. Wir betrachten die Signatur - $\sum= (\Omega,Rel,ar)$ mit - $\Omega=\{e\}\cup\{f_a|a\in A\}$ mit - $ar(e) =0$ und $ar(f_a) =1$ für alle $a\in A$. - $Rel=\{R\}$ mit - $ar(R)=2$. + Zunächst betrachten wir die folgende Horn-Formel $\psi_I$: + \begin{itemize*} + \item $\wedge \bigwedge_{1\leq j \leq k}^{R(e,e)} \forall x,y(R(x,y)\rightarrow R(f_{u_j}(x),f_{v_j}(y)))$ + \item $\wedge \bigwedge_{a\in A} \forall x(e=f_a(x)\rightarrow \bot)$ + \end{itemize*} - Zur Abkürzung schreiben wir $f_{a_1 a_2 ...a_n} (x)$ für - $f_{a_1}(f_{a_2}(...(f_{a_n}(x))...))$ für alle $a_1,a_2,...,a_n\in A$ - und $n\geq 0$ (insbes. steht $f_{\epsilon}(x)$ für $x$). + Beispiel: Betrachte die $\sum$-Struktur $A$ mit Universum $U_A=A^*$ + \begin{itemize*} + \item $e^A=\epsilon$ + \item $f_a^A(u) =au$ + \item $R^A=\{(u_{i1} u_{i2} ...u_{in},v_{i1} v_{i2} ...v_{in})|n\geq 0 , 1\geq i_1,i_2,...,i_n\geq k\}$ + \item Für $u,v\in A^*$ gilt $f_u^A(v) =uv$. + \item Dann gilt $A\Vdash \psi_I$. + \end{itemize*} - Zunächst betrachten wir die folgende Horn-Formel $\psi_I$: - - $\wedge \bigwedge_{1\leq j \leq k}^{R(e,e)} \forall x,y(R(x,y)\rightarrow R(f_{u_j}(x),f_{v_j}(y)))$ - - $\wedge \bigwedge_{a\in A} \forall x(e=f_a(x)\rightarrow \bot)$ + \note{Lemma}{Angenommen, das Korrespondenzsystem $I$ hat keine Lösung. Dann ist die Horn-Formel $\varphi_I=\psi_I \wedge \forall x(R(x,x)\rightarrow x=e)$ erfüllbar.} - Beispiel: Betrachte die $\sum$-Struktur $A$ mit Universum $U_A=A^*$ - - $e^A=\epsilon$ - $f_a^A(u) =au$ - - $R^A=\{(u_{i1} u_{i2} ...u_{in},v_{i1} v_{i2} ...v_{in})|n\geq 0 , 1\geq i_1,i_2,...,i_n\geq k\}$ - - Für $u,v\in A^*$ gilt $f_u^A(v) =uv$. - Dann gilt $A\Vdash \psi_I$. + Beweis: Sei $A$ die obige Struktur mit $A\Vdash\psi_I$. + \begin{itemize*} + \item Um $A\Vdash\forall x(R(x,x)\rightarrow x=e)$ zu zeigen, sei $w\in U_A$ beliebig mit $(w,w)\in R^A$. + \item Die Definition von $R^A$ sichert die Existenz von $n\geq 0$ und $1\leq i_1,i_2,...,i_n\leq k$ mit $u_{i1} u_{i2}...u_{in}=w=v_{i1} v_{i2} ...v_{in}$. + \item Da $I$ keine Lösung hat, folgt $n=0$ und damit $w=\epsilon$. + \end{itemize*} - \begin{quote} - Lemma + \note{Lemma}{Sei $B$ Struktur mit $B\Vdash\psi_I$. Dann gilt $(f_{u_{i_1} u_{i_2} ...u_{i_n}}^B (e^B),f_{v_{i_1} v_{i_2}...v_{i_n}}^B(e^B))\in R^B$ für alle $n\geq 0, 1\leq i_1,i_2,...,i_n \leq k$.} - Angenommen, das Korrespondenzsystem $I$ hat keine Lösung. Dann ist die - Horn-Formel $\varphi_I=\psi_I \wedge \forall x(R(x,x)\rightarrow x=e)$ - erfüllbar. - \end{quote} + Beweis: per Induktion über $n\geq 0$. + \begin{itemize*} + \item IA: für $n=0$ gelten $f_{u_{i_1} u_{i_2} ...u_{i_n}}^B(e^B) =e^B$ und $f_{v_{i_1} v_{i_2}...v_{i_n}}^B(e^B) =e^B$ + \begin{itemize*} + \item und damit $(f_{u_{i_1} u_{i_2} ...u_{i_n}}^B(e^B), f_{v_{i_1} v_{i_2}...v_{i_n}}^B(e^B) \in R^B$ + \item wegen $B\Vdash\psi_I$. + \end{itemize*} + \item IS: Seien $n>0$ und $1\leq i_1 ,i_2 ,...,i_n\leq k$. + \begin{itemize*} + \item Mit $u=u_{i2} u_{i3} ...u_{in}$ und $v=v_{i2} v_{i3} ...v_{in}$ gilt nach IV $(f_u^B(e^B),f_v^B(e^B))\in R^B$. Wegen $B\Vdash\psi_I$ folgt $f_{u_{i_1} u_{i_2} ...u_{i_n}}^B(e^B), f_{v_{i_1} v_{i_2}...v_{i_n}}^B(e^B) = (f_{u_{i1}}^B (f_u^B(e^B)),f_{v_{i1}}^B (f_v^B(e^B)))\in RB$. + \end{itemize*} + \end{itemize*} - Beweis: Sei $A$ die obige Struktur mit $A\Vdash\psi_I$. - Um - $A\Vdash\forall x(R(x,x)\rightarrow x=e)$ zu zeigen, sei $w\in U_A$ - beliebig mit $(w,w)\in R^A$. - Die Definition von $R^A$ sichert die - Existenz von $n\geq 0$ und $1\leq i_1,i_2,...,i_n\leq k$ mit - $u_{i1} u_{i2}...u_{in}=w=v_{i1} v_{i2} ...v_{in}$. - Da $I$ keine - Lösung hat, folgt $n=0$ und damit $w=\epsilon$. + \note{Lemma}{Angenommen, $(i_1,...,i_n)$ ist eine Lösung von $I$. Dann ist die $\sum$-Formel $\varphi_I$ unerfüllbar.} - \begin{quote} - Lemma - - Sei $B$ Struktur mit $B\Vdash\psi_I$. Dann gilt - $(f_{u_{i_1} u_{i_2} ...u_{i_n}}^B (e^B),f_{v_{i_1} v_{i_2}...v_{i_n}}^B(e^B))\in R^B$ - für alle $n\geq 0, 1\leq i_1,i_2,...,i_n \leq k$. - \end{quote} - - Beweis: per Induktion über $n\geq 0$. - IA: für $n=0$ gelten - $f_{u_{i_1} u_{i_2} ...u_{i_n}}^B(e^B) =e^B$ und - $f_{v_{i_1} v_{i_2}...v_{i_n}}^B(e^B) =e^B$ - und damit - $(f_{u_{i_1} u_{i_2} ...u_{i_n}}^B(e^B), f_{v_{i_1} v_{i_2}...v_{i_n}}^B(e^B) \in R^B$ - - wegen $B\Vdash\psi_I$. - IS: Seien $n>0$ und - $1\leq i_1 ,i_2 ,...,i_n\leq k$. - Mit $u=u_{i2} u_{i3} ...u_{in}$ und - $v=v_{i2} v_{i3} ...v_{in}$ gilt nach IV - $(f_u^B(e^B),f_v^B(e^B))\in R^B$. Wegen $B\Vdash\psi_I$ folgt - $f_{u_{i_1} u_{i_2} ...u_{i_n}}^B(e^B), f_{v_{i_1} v_{i_2}...v_{i_n}}^B(e^B) = (f_{u_{i1}}^B (f_u^B(e^B)),f_{v_{i1}}^B (f_v^B(e^B)))\in RB$. - - \begin{quote} - Lemma - - Angenommen, $(i_1,...,i_n)$ ist eine Lösung von $I$. Dann ist die - $\sum$-Formel $\varphi_I$ unerfüllbar. - \end{quote} - - \begin{quote} - Satz - - Die Menge der unerfüllbaren Horn-Formeln ist nicht entscheidbar. - \end{quote} + \note{Satz}{Die Menge der unerfüllbaren Horn-Formeln ist nicht entscheidbar.} Beweis: Die Abbildung $I\rightarrow\varphi_I$ ist berechenbar. - Nach den vorherigen Lemmata ist sie eine Reduktion von PCP auf die Menge - der unerfüllbaren Horn-Formeln. Da PCP unentscheidbar ist (vgl. - Automaten, Sprachen und Komplexität), ist die Menge der unerfüllbaren - Horn-Formeln unentscheidbar. + Nach den vorherigen Lemmata ist sie eine Reduktion von PCP auf die Menge der unerfüllbaren Horn-Formeln. Da PCP unentscheidbar ist (vgl. Automaten, Sprachen und Komplexität), ist die Menge der unerfüllbaren Horn-Formeln unentscheidbar. - \begin{quote} - Folgerung (Church 1936) + \note{Folgerung (Church 1936)}{Die Menge der allgemeingültigen $\sum$-Formeln ist nicht entscheidbar.} - Die Menge der allgemeingültigen $\sum$-Formeln ist nicht entscheidbar. - \end{quote} + Beweis: Eine $\sum$-Formel $\varphi$ ist genau dann unerfüllbar, wenn $\lnot\varphi$ allgemeingültig ist. Also ist $\varphi\rightarrow\lnot\varphi$ eine Reduktion der unentscheidbaren Menge der unerfüllbaren $\sum$-Formeln auf die Menge der allgemeingültigen $\sum$-Formeln, die damit auch unentscheidbar ist. - Beweis: Eine $\sum$-Formel $\varphi$ ist genau dann unerfüllbar, wenn - $\lnot\varphi$ allgemeingültig ist. Also ist - $\varphi\rightarrow\lnot\varphi$ eine Reduktion der unentscheidbaren - Menge der unerfüllbaren $\sum$-Formeln auf die Menge der - allgemeingültigen $\sum$-Formeln, die damit auch unentscheidbar ist. + Allgemeingültige $\sum$-Formeln gelten in allen Strukturen. Was passiert, wenn wir uns nur auf "interessante" StrukturenAeinschränken (z.B. auf eine konkrete), d.h. wenn wir die Theorie $Th(A)$ von $A$ betrachten? - Allgemeingültige $\sum$-Formeln gelten in allen Strukturen. Was - passiert, wenn wir uns nur auf ``interessante'' StrukturenAeinschränken - (z.B. auf eine konkrete), d.h. wenn wir die Theorie $Th(A)$ von $A$ - betrachten? - \subsection{Theorie der natürlichen - Zahlen}\label{theorie-der-natuxfcrlichen-zahlen} + \subsection{Theorie der natürlichen Zahlen} + \note{Definition}{Sei $A$ eine Struktur. Dann ist $Th(A)$ die Menge der prädikatenlogischen $\sum$-Formeln $\varphi$ mit $A\Vdash\varphi$. Diese Menge heißt die(elementare) Theorie von $A$.} - \begin{quote} - Definition + Beispiel: Sei $N= (N,\leq,+,*, 0 , 1 )$. Dann gelten + \begin{itemize*} + \item $(\forall x\forall y:x+y=y+x)\in Th(N)$ + \item $(\forall x\exists y:x+y= 0 )\not\in Th(N)$ + \item aber $(\forall x\exists y:x+y= 0 )\in Th((Z,+, 0 ))$. + \end{itemize*} - Sei $A$ eine Struktur. Dann ist $Th(A)$ die Menge der - prädikatenlogischen $\sum$-Formeln $\varphi$ mit $A\Vdash\varphi$. Diese - Menge heißt die(elementare) Theorie von $A$. - \end{quote} + \note{Lemma}{Die Menge $Th(N)$ aller Sätze $\varphi$ mit $N\Vdash\varphi$ ist nicht entscheidbar.} - Beispiel: Sei $N= (N,\leq,+,*, 0 , 1 )$. Dann gelten - - $(\forall x\forall y:x+y=y+x)\in Th(N)$ - - $(\forall x\exists y:x+y= 0 )\not\in Th(N)$ - aber - $(\forall x\exists y:x+y= 0 )\in Th((Z,+, 0 ))$. + \note{Zahlentheoretisches Lemma}{Für alle $n\in N,x_0,x_1,...,x_n\in N$ existieren $c,d\in N$, so dass für alle $0\leq i\leq n$ gilt: $x_i=c\ mod ( 1 +d*(i+ 1 ))$.} - \begin{quote} - Lemma + Beweis:Setze $m= max\{n,x_0,x_1 ,...,x_n\}$ und $d=2*3*4...(m+1)$. Dann sind die Zahlen $1+d, 1+d*2,..., 1 +d*(n+1)$ paarweise teilerfremd. Nach dem Chinesischen Restsatz folgt die Existenz + einer natürlichen Zahl $c$. - Die Menge $Th(N)$ aller Sätze $\varphi$ mit $N\Vdash\varphi$ ist nicht - entscheidbar. - \end{quote} + Bemerkung: Es gibt $\sum$-Formeln + \begin{itemize*} + \item $mod(x_1,x_2 ,y)$ mit $N\Vdash_{\alpha} mod \Leftrightarrow \alpha (x_1) mod\alpha (x_2) =\alpha (y)$. + \item $\gamma(x_1 ,x_2 ,x_3 ,y)$ mit $N\Vdash_{\alpha} \gamma\Leftrightarrow \alpha(x_1) mod(1+\alpha(x_2)*(\alpha (x3)+1)) =\alpha (y)$. + \end{itemize*} - \begin{quote} - Zahlentheoretisches Lemma + \note{Satz}{Sei $A$ eine Struktur, so dass $Th(A)$ semi-entscheidbar ist. Dann ist $Th(A)$ entscheidbar.} - Für alle $n\in N,x_0,x_1,...,x_n\in N$ existieren $c,d\in N$, so dass - für alle $0\leq i\leq n$ gilt: $x_i=c\ mod ( 1 +d*(i+ 1 ))$. - \end{quote} + \note{Korollar}{Die Menge $TH(N)$ der Aussagen $\varphi$ mit $N\Vdash\varphi$ ist nicht semi-entscheidbar.} - Beweis:Setze $m= max\{n,x_0,x_1 ,...,x_n\}$ und $d=2*3*4...(m+1)$. Dann - sind die Zahlen $1+d, 1+d*2,..., 1 +d*(n+1)$ paarweise teilerfremd. Nach - dem Chinesischen Restsatz folgt die Existenz einer natürlichen Zahl $c$. + \note{Korollar (1. Gödelscher Unvollständigkeitssatz)}{Sei $Gamma$ eine semi-entscheidbare Menge von Sätzen mit $N\Vdash\gamma$ für alle $\gamma\in\Gamma$. Dann existiert ein Satz $\varphi$ mit $\Gamma\not\vdash\varphi$ und $\Gamma\not\vdash\lnot\varphi$ (d.h. "$\Gamma$ ist nicht vollständig").} - Bemerkung: Es gibt $\sum$-Formeln - $mod(x_1,x_2 ,y)$ mit - $N\Vdash_{\alpha} mod \Leftrightarrow \alpha (x_1) mod\alpha (x_2) =\alpha (y)$. - - $\gamma(x_1 ,x_2 ,x_3 ,y)$ mit - $N\Vdash_{\alpha} \gamma\Leftrightarrow \alpha(x_1) mod(1+\alpha(x_2)*(\alpha (x3)+1)) =\alpha (y)$. + \subsection{2. Semi Entscheidungsverfahren für allgemeingültige Formeln} + bekanntes Verfahren mittels natürlichem Schließen: Suche hypothesenlose Deduktion mit Konklusion $\psi$. - \begin{quote} - Satz + Jetzt alternatives Verfahren, das auf den Endlichkeitssatz der Aussagenlogik zurückgreift: + \begin{itemize*} + \item Berechne aus $\sum$-Formel $\psi$ eine Menge E von aussagenlogischen Formeln mit $E$ unerfüllbar $\Leftrightarrow\lnot\psi$ unerfüllbar $\Leftrightarrow\psi$ allgemeingültig + \item Suche endliche unerfüllbare Teilmenge $E'$ von $E$ + \end{itemize*} - Sei $A$ eine Struktur, so dass $Th(A)$ semi-entscheidbar ist. Dann ist - $Th(A)$ entscheidbar. - \end{quote} + Kern des Verfahrens ist es also, aus $\sum$-Formel $\varphi$ eine Menge $E$ aussagenlogischer Formeln zu berechnen mit $\varphi$ unerfüllbar $\Leftrightarrow$ E unerfüllbar. - \begin{quote} - Korollar Die Menge $TH(N)$ der Aussagen $\varphi$ mit $N\Vdash\varphi$ - ist nicht semi-entscheidbar. - \end{quote} + Hierzu werden wir die Formel $\varphi$ zunächst in zwei Schritten (Gleichungsfreiheit und Skolem-Form) vereinfachen, wobei die Formel erfüllbar bzw unerfüllbar bleiben muss. - \begin{quote} - Korollar (1. Gödelscher Unvollständigkeitssatz) + \note{Definition}{Zwei $\sum$-Formeln $\varphi$ und $\psi$ heißen erfüllbarkeitsäquivalent, wenn gilt: $\varphi$ ist erfüllbar $\Leftrightarrow\psi$ ist erfüllbar} - Sei $Gamma$ eine semi-entscheidbare Menge von Sätzen mit $N\Vdash\gamma$ - für alle $\gamma\in\Gamma$. Dann existiert ein Satz $\varphi$ mit - $\Gamma\not\vdash\varphi$ und $\Gamma\not\vdash\lnot\varphi$ (d.h. - ``$\Gamma$ ist nicht vollständig''). - \end{quote} + Unsere Vereinfachungen müssen also erfüllbarkeitsäquivalente Formeln liefern. - \subsection{2. Semi Entscheidungsverfahren für allgemeingültige - Formeln}\label{semi-entscheidungsverfahren-fuxfcr-allgemeinguxfcltige-formeln} + \subsubsection{Elimination von Gleichungen} + \note{Definition}{Eine $\sum$-Formel ist gleichungsfrei, wenn sie keine Teilformel der Form $s=t$ enthält. } - bekanntes Verfahren mittels natürlichem Schließen: Suche hypothesenlose - Deduktion mit Konklusion $\psi$. + Ziel: aus einer $\sum$ Formel $\varphi$ soll eine erfüllbarkeitsäquivalente gleichungsfreue Formel $\varphi'$ berechnet werden - Jetzt alternatives Verfahren, das auf den Endlichkeitssatz der - Aussagenlogik zurückgreift: - Berechne aus $\sum$-Formel $\psi$ eine - Menge E von aussagenlogischen Formeln mit $E$ unerfüllbar - $\Leftrightarrow\lnot\psi$ unerfüllbar $\Leftrightarrow\psi$ - allgemeingültig - Suche endliche unerfüllbare Teilmenge $E'$ von $E$ + Bemerkung: Man kann i.a. keine äquivalente gleichungsfreie Formel $\varphi'$ angeben, da es eine solche z.B. zu $\varphi=(\forall x\forall y:x=y)$ nicht gibt. - Kern des Verfahrens ist es also, aus $\sum$-Formel $\varphi$ eine Menge - $E$ aussagenlogischer Formeln zu berechnen mit $\varphi$ unerfüllbar - $\Leftrightarrow$ E unerfüllbar. + Idee: Die Formel $\varphi'$ entsteht aus $\varphi$, indem alle Teilformeln der Form $x=y$ durch $GI(x,y)$ ersetzt werden, wobei $GI$ ein neues Relationssymbol ist. - Hierzu werden wir die Formel $\varphi$ zunächst in zwei Schritten - (Gleichungsfreiheit und Skolem-Form) vereinfachen, wobei die Formel - erfüllbar bzw unerfüllbar bleiben muss. - - \begin{quote} - Definition - - Zwei $\sum$-Formeln $\varphi$ und $\psi$ heißen - erfüllbarkeitsäquivalent, wenn gilt: $\varphi$ ist erfüllbar - $\Leftrightarrow\psi$ ist erfüllbar - \end{quote} - - Unsere Vereinfachungen müssen also erfüllbarkeitsäquivalente Formeln - liefern. - - \subsubsection{Elimination von - Gleichungen}\label{elimination-von-gleichungen} - - \begin{quote} - Definition - - Eine $\sum$-Formel ist gleichungsfrei, wenn sie keine Teilformel der - Form $s=t$ enthält. - \end{quote} - - Ziel: aus einer $\sum$ Formel $\varphi$ soll eine - erfüllbarkeitsäquivalente gleichungsfreue Formel $\varphi'$ berechnet - werden - - Bemerkung: Man kann i.a. keine äquivalente gleichungsfreie Formel - $\varphi'$ angeben, da es eine solche z.B. zu - $\varphi=(\forall x\forall y:x=y)$ nicht gibt. - - Idee: Die Formel $\varphi'$ entsteht aus $\varphi$, indem alle - Teilformeln der Form $x=y$ durch $GI(x,y)$ ersetzt werden, wobei $GI$ - ein neues Relationssymbol ist. - - Notationen - Sei $\sum=(\Omega,Rel,ar)$ endliche Signatur und $\varphi$ - $\sum$-Formel - $\sum_{GI} = (\Omega, Rel\bigcup^+\{GI\},ar_{GI})$ mit - $ar_{GI}(f)$ für alle $f\in\Omega\cup Rel$ und $ar_{GI}(GI)=2$ - Für - eine $\sum$-Formel $\varphi$ bezeichnet $\varphi_{GI}$ die - $\sum_{GI}$-Formel, die aus $\varphi$ entsthet, indem alle Vorkommen und - Teilformen $s=t$ durch $GI(s,t)$ ersetzt werden. + Notationen + \begin{itemize*} + \item Sei $\sum=(\Omega,Rel,ar)$ endliche Signatur und $\varphi$ $\sum$-Formel + \item $\sum_{GI} = (\Omega, Rel\bigcup^+\{GI\},ar_{GI})$ mit $ar_{GI}(f)$ für alle $f\in\Omega\cup Rel$ und $ar_{GI}(GI)=2$ + \item Für eine $\sum$-Formel $\varphi$ bezeichnet $\varphi_{GI}$ die $\sum_{GI}$-Formel, die aus $\varphi$ entsthet, indem alle Vorkommen und Teilformen $s=t$ durch $GI(s,t)$ ersetzt werden. + \end{itemize*} Behauptung: $\varphi$ erfüllbar $\Rightarrow \varphi_{GI}$ erfüllbar - Behauptung: es gilt nicht $\varphi$ erfüllbar $\Leftarrow\varphi_{GI}$ - erfüllbar + Behauptung: es gilt nicht $\varphi$ erfüllbar $\Leftarrow\varphi_{GI}$ erfüllbar - \begin{quote} - Definition + \note{Definition}{Sei A eine $\sum$-Struktur und $\sim$ eine binäre Relation auf $U_A$. Die Relation $\sim$ heißt Kongruenz auf A, wenn gilt: + \begin{itemize*} + \item $\sim$ ist eine Äquivalentrelation (d.h. reflexiv, transitiv und symmetrisch) + \item für alle $f\in\Omega$ mit $k=ar(f)$ und alle $a_1,b_1,...,a_k,b_k\in U_A$ gilt $a_1\sim b_1,a_2\sim b_2,...,a_k\sim b_k\Rightarrow f^A(a_1,...,a_k)\sim f^A(b_1,...,b_k)$ + \item für alle $R\in Rel$ mit $k=ar(R)$ und alle $a_1,b_1,...,a_k,b_k\in U_A$ gilt $a_1\sim b_1,...,a_k\sim b_k,(a_1,...,a_k)\in R^A\Rightarrow (b_1,...,b_k)\in R^A$. + \end{itemize*} + } - Sei A eine $\sum$-Struktur und $\sim$ eine binäre Relation auf $U_A$. - Die Relation $\sim$ heißt Kongruenz auf A, wenn gilt: - $\sim$ ist eine - Äquivalentrelation (d.h. reflexiv, transitiv und symmetrisch) - für alle - $f\in\Omega$ mit $k=ar(f)$ und alle $a_1,b_1,...,a_k,b_k\in U_A$ gilt - $a_1\sim b_1,a_2\sim b_2,...,a_k\sim b_k\Rightarrow f^A(a_1,...,a_k)\sim f^A(b_1,...,b_k)$ - - für alle $R\in Rel$ mit $k=ar(R)$ und alle - $a_1,b_1,...,a_k,b_k\in U_A$ gilt - $a_1\sim b_1,...,a_k\sim b_k,(a_1,...,a_k)\in R^A\Rightarrow (b_1,...,b_k)\in R^A$. - \end{quote} + \note{Definition}{Sei $A$ eine $\sum$-Struktur und $\sim$ eine Kongruenz auf A. + \begin{enumerate*} + \item Für $a\in U_A$ sei $[a]=\{b\in U_A|a\sim b\}$ die Äquivalenzklasse von a bzgl $\sim$. + \item Dann definieren wir den Quotienten $B=A\backslash \sim$ von $A$ bzgl $\sim$ wie folgt: + \begin{itemize*} + \item $U_B=U_A\backslash\sim = \{[a]|a\in U_A\}$ + \item Für jedes $f\in\Omega$ mit $ar(f)=k$ und alle $a_1,...,a_k\in U_A$ setzten wir $f^B([a_1],...,[a_k])=[f^A(a_1,...,a_k)]$ + \item für jede $R\in Rel$ mit $ar(R)=k$ setzten wir $R^B=\{([a_1],[a_2],...,[a_k])|(a_1,...,a_k)\in R^A\}$ + \end{itemize*} + \item Sei $p:Var\rightarrow U_A$ Variableninterpretation. Dann definieren die Variableninterpretation $p\backslash\sim: Var\rightarrow U_B:x\rightarrow[p(x)]$. + \end{enumerate*} + } - \begin{quote} - Definition + Veranschaulichung: %\includegraphics[width=\linewidth]{Assets/Logik-variableninterpretation-beispiel.png) - Sei $A$ eine $\sum$-Struktur und $\sim$ eine Kongruenz auf A. 1. Für - $a\in U_A$ sei $[a]=\{b\in U_A|a\sim b\}$ die Äquivalenzklasse von a - bzgl $\sim$. 2. Dann definieren wir den Quotienten $B=A\backslash \sim$ - von $A$ bzgl $\sim$ wie folgt: - - $U_B=U_A\backslash\sim = \{[a]|a\in U_A\}$ - Für jedes $f\in\Omega$ mit - $ar(f)=k$ und alle $a_1,...,a_k\in U_A$ setzten wir - $f^B([a_1],...,[a_k])=[f^A(a_1,...,a_k)]$ - für jede $R\in Rel$ mit - $ar(R)=k$ setzten wir - $R^B=\{([a_1],[a_2],...,[a_k])|(a_1,...,a_k)\in R^A\}$ 3. Sei - $p:Var\rightarrow U_A$ Variableninterpretation. Dann definieren die - Variableninterpretation - $p\backslash\sim: Var\rightarrow U_B:x\rightarrow[p(x)]$. - \end{quote} - - Veranschaulichung: - \includegraphics[width=\linewidth]{Assets/Logik-variableninterpretation-beispiel.png} - - \begin{quote} - Lemma 1 - - Sei A Struktur, $p:Var\rightarrow U_A$ Variableninterpretation und - $\sim$ Kongruenz. Seien weiter $B=A\backslash\sim$ und - $p_B=p\backslash\sim$. Dann gilt für jeden Term $:[p(t)]=p_B(t)$ - \end{quote} + \note{Lemma 1}{Sei A Struktur, $p:Var\rightarrow U_A$ Variableninterpretation und $\sim$ Kongruenz. Seien weiter $B=A\backslash\sim$ und $p_B=p\backslash\sim$. Dann gilt für jeden Term $:[p(t)]=p_B(t)$} Beweis: per Induktion über den Aufbau des Terms t - \begin{quote} - Lemma 2 + \note{Lemma 2}{Sei $A$ $\sum$-Struktur, $\sim$ Kongruenz und $B=A\backslash\sim$. Dann gilt für alle $R\in Rel$ mit $k=ar(R)$ und alle $c_1,...,c_k\in U_A$: $([c_1],[c_2],...,[c_k])\in R^B\Leftrightarrow (c_1,c_2,...,c_k)\in R^A$} - Sei $A$ $\sum$-Struktur, $\sim$ Kongruenz und $B=A\backslash\sim$. Dann - gilt für alle $R\in Rel$ mit $k=ar(R)$ und alle $c_1,...,c_k\in U_A$: - $([c_1],[c_2],...,[c_k])\in R^B\Leftrightarrow (c_1,c_2,...,c_k)\in R^A$ - \end{quote} - - \begin{quote} - Satz - - Seien $A$ $\sum_{GI}$-Struktur und $p:Var\rightarrow U_A$ - Variableninterpretation, so dass $\sim=GI^A$ Kongruenz auf A ist. Seien - $B=A\backslash\sim$ und $p_B=p\backslash\sim$. Dann gilt für alle - $\sum$-Formeln - $\varphi: A\Vdash_p \varphi_{GI} \Leftrightarrow B\Vdash_{p_B} \varphi$ - \end{quote} + \note{Satz}{Seien $A$ $\sum_{GI}$-Struktur und $p:Var\rightarrow U_A$ Variableninterpretation, so dass $\sim=GI^A$ Kongruenz auf A ist. + Seien $B=A\backslash\sim$ und $p_B=p\backslash\sim$. + Dann gilt für alle $\sum$-Formeln $\varphi: A\Vdash_p \varphi_{GI} \Leftrightarrow B\Vdash_{p_B} \varphi$ + } Beweis: per Induktion über den Aufbau der Formel $\varphi$ - \begin{quote} - Lemma + \note{Lemma}{Aus einer endlichen Signatur $\sum$ kann ein gleichungsfreuer Horn-Satz $Kong_{\sum}$ über $\sum_{GI}$ berechnet werden, so dass für alle $\sum_{GI}$-Strukturen $A$ gilt: $A\Vdash Kong_{\sum} \Leftrightarrow GI^A$ ist eine Kongruenz} - Aus einer endlichen Signatur $\sum$ kann ein gleichungsfreuer Horn-Satz - $Kong_{\sum}$ über $\sum_{GI}$ berechnet werden, so dass für alle - $\sum_{GI}$-Strukturen $A$ gilt: - $A\Vdash Kong_{\sum} \Leftrightarrow GI^A$ ist eine Kongruenz - \end{quote} + \note{Satz}{Aus einer endlichen Signatur $\sum$ und einer $\sum$-Formel $\varphi$ kann eine gleichungsfreie und erfüllbarkeitsäquivalente $\sum_{GI}$-Formel $\varphi'$ berechnet werden. Ist $\varphi$ Horn Formel, so ist auch $\varphi'$ Horn Formel.} - \begin{quote} - Satz + Beweis: Setzte $\varphi' =\varphi_{GI}\wedge Kong_{\sum}$ und zeige: $\varphi$ erfüllbar $\Leftrightarrow \varphi'$ erfüllbar. - Aus einer endlichen Signatur $\sum$ und einer $\sum$-Formel $\varphi$ - kann eine gleichungsfreie und erfüllbarkeitsäquivalente - $\sum_{GI}$-Formel $\varphi'$ berechnet werden. Ist $\varphi$ Horn - Formel, so ist auch $\varphi'$ Horn Formel. - \end{quote} + \subsection{Skolemform} + Ziel: Jede $\sum$-Formel $\varphi$ ist erfüllbarkeitsäquivalent zu einer $\sum$'-Formel $\varphi'=\forall x_1\forall x_2 ...\forall x_k \psi$, wobei $\psi$ kein Quantoren enthält, $\varphi'$ heißt in Skolemform. - Beweis: Setzte $\varphi' =\varphi_{GI}\wedge Kong_{\sum}$ und zeige: - $\varphi$ erfüllbar $\Leftrightarrow \varphi'$ erfüllbar. + Bemerkung: Betrachte die Formel $\exists x\exists y E(x,y)$. Es gibt keine Formel in Skolemform, die hierzu äquivalent ist. - \subsection{Skolemform}\label{skolemform} + 2 Schritte: + \begin{enumerate*} + \item Quantoren nach vorne (d.h. Pränexform) + \item Existenzquantoren eliminieren + \end{enumerate*} - Ziel: Jede $\sum$-Formel $\varphi$ ist erfüllbarkeitsäquivalent zu einer - $\sum$'-Formel $\varphi'=\forall x_1\forall x_2 ...\forall x_k \psi$, - wobei $\psi$ kein Quantoren enthält, $\varphi'$ heißt in Skolemform. + \note{Definition}{Zwei $\sum$-Formeln $\varphi$ und $\psi$ sind äquivalent (kurz:$\varphi\equiv\psi$), wenn für alle $\sum$-Strukturen $A$ und alle Variableninterpretationen $\rho$ gilt: $A\Vdash_{\rho}\psi\Leftrightarrow A\Vdash_{\rho}\psi$.} - Bemerkung: Betrachte die Formel $\exists x\exists y E(x,y)$. Es gibt - keine Formel in Skolemform, die hierzu äquivalent ist. + \note{Lemma}{Seien $Q\in\{\exists ,\forall\}$ und $\oplus\in\{\wedge,\vee,\rightarrow,\leftarrow\}$. Sei $\varphi= (Qx \alpha)\oplus\beta$ und sei $y$ eine Variable, die weder in $\alpha$ noch in $\beta$ vorkommt. Dann gilt $\varphi \equiv \begin{cases} Qy(\alpha[x:=y]\oplus\beta) \text{ falls } \oplus\in\{\wedge,\vee,\leftarrow\}\\ \forall y(\alpha[x:=y]\rightarrow\beta) \text{ falls } \oplus=\rightarrow,Q=\exists \\ \exists y(\alpha[x:=y]\rightarrow\beta) \text{ falls }\oplus=\rightarrow,Q=\forall\end{cases}$} - 2 Schritte: 1. Quantoren nach vorne (d.h. Pränexform) 2. - Existenzquantoren eliminieren + Notwendigkeit der Bedingung "$y$ kommt weder in $\alpha$ noch in $\beta$ vor": + \begin{itemize*} + \item $(\exists x:f(x) \not =f(y))\wedge\beta \not\equiv\exists y: (f(y) \not =f(y)\wedge\beta)$ + \item $(\exists x:\lnot P(x))\wedge P(y)\not\equiv \exists y: (\lnot P(y) \wedge P(y))$ + \end{itemize*} - \begin{quote} - Definition + \note{Lemma}{Seien $Q\in\{\exists,\forall\}$ und $\oplus\in\{\wedge,\vee,\rightarrow,\leftarrow\}$. Sei $\varphi= (Qx\alpha)\oplus\beta$ und sei $y$ eine Variable, die weder in $\alpha$ noch in $\beta$ vorkommt. Dann gilt $\varphi\equiv\begin{cases} Qy(\alpha[x:=y]\oplus\beta) \text{ falls }\oplus\in\{\wedge,\vee,\leftarrow\} \\ \forall y(\alpha[x:=y]\rightarrow\beta) \text{ falls }\oplus=\rightarrow,Q=\exists \\ \exists y(\alpha[x:=y]\rightarrow\beta) \text{ falls }\oplus=\rightarrow,Q=\forall \end{cases}$} - Zwei $\sum$-Formeln $\varphi$ und $\psi$ sind äquivalent - (kurz:$\varphi\equiv\psi$), wenn für alle $\sum$-Strukturen $A$ und alle - Variableninterpretationen $\rho$ gilt: - $A\Vdash_{\rho} \psi \Leftrightarrow A\Vdash_{\rho}\psi$. - \end{quote} + Beweis: (für den Fall $Q=\exists$ und $\oplus=\wedge$) + \begin{itemize*} + \item Seien $A$ $\sum$-Struktur und $\rho$ Variableninterpretation. + \item Für $a\in U_A$ setze $\rho_a:=\rho[y\rightarrow a]$. + \item Dann gilt $\rho_a[x\rightarrow \rho_a(y)](z) =\rho[x\rightarrow a](z)$ für alle $z\not=y$ + \end{itemize*} - \begin{quote} - Lemma - Seien $Q\in\{\exists ,\forall\}$ und - $\oplus\in\{\wedge,\vee,\rightarrow,\leftarrow\}$. Sei - $\varphi= (Qx \alpha)\oplus\beta$ und sei $y$ eine Variable, die weder - in $\alpha$ noch in $\beta$ vorkommt. Dann gilt - $\varphi \equiv \begin{cases} Qy(\alpha[x:=y]\oplus\beta) \text{ falls } \oplus\in\{\wedge,\vee,\leftarrow\}\\ \forall y(\alpha[x:=y]\rightarrow\beta) \text{ falls } \oplus=\rightarrow,Q=\exists \\ \exists y(\alpha[x:=y]\rightarrow\beta) \text{ falls }\oplus=\rightarrow,Q=\forall\end{cases}$ - \end{quote} + Wir erhalten also + \begin{itemize*} + \item $A\vdash_\rho (\exists x\alpha)\wedge\beta$ + \item $\Leftrightarrow A\vdash_\rho (\exists x\alpha) $ und $A\vdash_\rho \beta$ + \item $\Leftrightarrow$ (es gibt $a\in U_A$ mit $A\vdash_{\rho[x\rightarrow a]}\alpha$) und (es gilt $A\vdash_\rho \beta$) + \item $\Leftrightarrow$ es gibt $a\in U_A$ mit ($A\vdash_{\rho[x\rightarrow a]}\alpha$ und $A\vdash_\rho \beta$) + \item $\Leftrightarrow$ es gibt $a\in U_A$ mit + \begin{itemize*} + \item $A\vdash_{\rho_a[x\rightarrow \rho_a(y)]}\alpha$ (da $y$ in $\alpha$ nicht vorkommt) + \item $A\vdash_{\rho_a} \beta$ (da $y$ in $\beta$ nicht vorkommt) + \end{itemize*} + \item $\Leftrightarrow$ es gibt $a\in U_A$ mit + \begin{itemize*} + \item $A\vdash_{\rho_a} \alpha[x:=y]$ + \item $A\vdash_{\rho_a} \beta$ + \end{itemize*} + \item $\Leftrightarrow$ es gibt $a\in U_A$ mit $A\vdash_{\rho[y\rightarrow a]}\alpha[x:=y]\wedge\beta$ + \item $\Leftrightarrow A\vdash_\rho \exists y(\alpha[x:=y]\wedge\beta)$ + \end{itemize*} - Notwendigkeit der Bedingung ``$y$ kommt weder in $\alpha$ noch in - $\beta$ vor'': - - $(\exists x:f(x) \not =f(y))\wedge\beta \not\equiv\exists y: (f(y) \not =f(y)\wedge\beta)$ - - - $(\exists x:\lnot P(x))\wedge P(y)\not\equiv \exists y: (\lnot P(y) \wedge P(y))$ + \note{Satz}{Aus einer endlichen Signatur $\sum$ und einer $\sum$-Formel $\varphi$ kann eine äquivalente $\sum$-Formel $\varphi'=Q_1 x_1 Q_2 x_2 ...Q_k x_k \psi$ (mit $Q_i\in\{\exists,\forall\},\psi$ quantorenfrei und $x_i$ paarweise verschieden) berechnet werden. Eine Formel $\varphi'$ dieser Form heißt Pränexform. + Ist $\varphi$ gleichungsfrei, so ist auch $\varphi'$ gleichungsfrei.} - \begin{quote} - Lemma - - Seien $Q\in\{\exists,\forall\}$ und - $\oplus\in\{\wedge,\vee,\rightarrow,\leftarrow\}$. Sei - $\varphi= (Qx\alpha)\oplus\beta$ und sei $y$ eine Variable, die weder in - $\alpha$ noch in $\beta$ vorkommt. Dann gilt - $\varphi\equiv\begin{cases} Qy(\alpha[x:=y]\oplus\beta) \text{ falls }\oplus\in\{\wedge,\vee,\leftarrow\} \\ \forall y(\alpha[x:=y]\rightarrow\beta) \text{ falls }\oplus=\rightarrow,Q=\exists \\ \exists y(\alpha[x:=y]\rightarrow\beta) \text{ falls }\oplus=\rightarrow,Q=\forall \end{cases}$ - \end{quote} - - Beweis: (für den Fall $Q=\exists$ und $\oplus=\wedge$) - Seien $A$ - $\sum$-Struktur und $\rho$ Variableninterpretation. - Für $a\in U_A$ - setze $\rho_a:=\rho[y\rightarrow a]$. - Dann gilt - $\rho_a[x\rightarrow \rho_a(y)](z) =\rho[x\rightarrow a](z)$ für alle - $z\not=y$ - - Wir erhalten also - $A\vdash_\rho (\exists x\alpha)\wedge\beta$ - - $\Leftrightarrow A\vdash_\rho (\exists x\alpha) $ und - $A\vdash_\rho \beta$ - $\Leftrightarrow$ (es gibt $a\in U_A$ mit - $A\vdash_{\rho[x\rightarrow a]}\alpha$) und (es gilt - $A\vdash_\rho \beta$) - $\Leftrightarrow$ es gibt $a\in U_A$ mit - ($A\vdash_{\rho[x\rightarrow a]}\alpha$ und $A\vdash_\rho \beta$) - - $\Leftrightarrow$ es gibt $a\in U_A$ mit - - $A\vdash_{\rho_a[x\rightarrow \rho_a(y)]}\alpha$ (da $y$ in $\alpha$ - nicht vorkommt) - $A\vdash_{\rho_a} \beta$ (da $y$ in $\beta$ nicht - vorkommt) - $\Leftrightarrow$ es gibt $a\in U_A$ mit - - $A\vdash_{\rho_a} \alpha[x:=y]$ - $A\vdash_{\rho_a} \beta$ - - $\Leftrightarrow$ es gibt $a\in U_A$ mit - $A\vdash_{\rho[y\rightarrow a]}\alpha[x:=y]\wedge\beta$ - - $\Leftrightarrow A\vdash_\rho \exists y(\alpha[x:=y]\wedge\beta)$ - - \begin{quote} - Satz - - Aus einer endlichen Signatur $\sum$ und einer $\sum$-Formel $\varphi$ - kann eine äquivalente $\sum$-Formel - $\varphi'=Q_1 x_1 Q_2 x_2 ...Q_k x_k \psi$ (mit - $Q_i\in\{\exists,\forall\},\psi$ quantorenfrei und $x_i$ paarweise - verschieden) berechnet werden. Eine Formel $\varphi'$ dieser Form heißt - Pränexform. Ist $\varphi$ gleichungsfrei, so ist auch $\varphi'$ - gleichungsfrei. - \end{quote} - - Beweis: Der Beweis erfolgt induktiv über den Aufbau von $\varphi$: - - I.A. $\varphi$ ist atomare Formel: Setze $\varphi'=\varphi$. - I.S. - - $\varphi=\lnot\psi$ : Nach I.V. kann Formel in Pränexform - $\psi\equiv Q_1 x_1 Q_2 x_2 ...Q_m x_m \psi'$ berechnet werden. Mit - $\forall=\exists$ und $\exists=\forall$ setze - $\varphi'=Q_1 x_1 Q_2 x_2 ...Q_m x_m\lnot\psi'$. - - $\varphi=\exists x\psi$: Nach I.V. kann Formel in Pränexform - $\psi\equiv Q_1 x_1 Q_2 x_2 ...Q_m x_m \psi'$ berechnet werden. Setze - $\varphi'= \begin{cases} \exists x Q_1 x_1 Q_2 x_2 ...Q_m x_m\psi'\text{ falls }x\not\in\{x_1,x_2,...,x_m\}\\ Q_1 x_1 Q_2 x_2 ...Q_m x_m\psi'\text{ sonst}\end{cases}$ - - $\varphi=\alpha\wedge\beta$: Nach I.V. können Formeln in Pränexform - $\alpha\equiv Q_1 x_1 Q_2 x_2 ...Q_mx_m \alpha_0; \beta\equiv Q_1'y_1 Q_2'y_2 ...Q_n'y_n \beta_0$ - berechnet werden. + Beweis: Der Beweis erfolgt induktiv über den Aufbau von $\varphi$: + \begin{itemize*} + \item I.A. $\varphi$ ist atomare Formel: Setze $\varphi'=\varphi$. + \item I.S. + \begin{itemize*} + \item $\varphi=\lnot\psi$ : Nach I.V. kann Formel in Pränexform $\psi\equiv Q_1 x_1 Q_2 x_2 ...Q_m x_m \psi'$ berechnet werden. Mit $\forall=\exists$ und $\exists=\forall$ setze $\varphi'=Q_1 x_1 Q_2 x_2 ...Q_m x_m\lnot\psi'$. + \item $\varphi=\exists x\psi$: Nach I.V. kann Formel in Pränexform $\psi\equiv Q_1 x_1 Q_2 x_2 ...Q_m x_m \psi'$ berechnet werden. Setze $\varphi'= \begin{cases} \exists x Q_1 x_1 Q_2 x_2 ...Q_m x_m\psi'\text{ falls }x\not\in\{x_1,x_2,...,x_m\}\\ Q_1 x_1 Q_2 x_2 ...Q_m x_m\psi'\text{ sonst}\end{cases}$ + \item $\varphi=\alpha\wedge\beta$: Nach I.V. können Formeln in Pränexform $\alpha\equiv Q_1 x_1 Q_2 x_2 ...Q_mx_m \alpha_0; \beta\equiv Q_1'y_1 Q_2'y_2 ...Q_n'y_n \beta_0$ berechnet werden. + \end{itemize*} + \end{itemize*} Ziel: Berechnung einer erfüllbarkeitsäquivalenten Formel in Skolemform - Idee: 1. wandle Formel in Pränexform um 2. eliminiere - $\exists$-Quantoren durch Einführen neuer Funktionssymbole + Idee: + \begin{enumerate*} + \item wandle Formel in Pränexform um + \item eliminiere $\exists$-Quantoren durch Einführen neuer Funktionssymbole + \end{enumerate*} - Konstruktion: Sei - $\varphi=\forall x_1\forall x_2...\forall x_m\exists y\psi$ Formel in - Pränexform (u.U. enthält $\psi$ weitere Quantoren). Sei $g\not\in\Omega$ - ein neues m-stelliges Funktionssymbol. Setze - $\varphi'=\forall x_1\forall x_2...\forall x_m \psi[y:=g(x_1,...,x_m)]$. - Offensichtlich hat $\varphi$'einen Existenzquantor weniger als - $\varphi$. Außerdem ist $\varphi'$ keine $\sum$-Formel (denn sie - verwendet $g\not\in\Omega$), sondern Formel über einer erweiterten - Signatur. + Konstruktion: Sei $\varphi=\forall x_1\forall x_2...\forall x_m\exists y\psi$ Formel in Pränexform (u.U. enthält $\psi$ weitere Quantoren). Sei $g\not\in\Omega$ ein neues m-stelliges Funktionssymbol. + Setze $\varphi'=\forall x_1\forall x_2...\forall x_m \psi[y:=g(x_1,...,x_m)]$. + Offensichtlich hat $\varphi$'einen Existenzquantor weniger als $\varphi$. Außerdem ist $\varphi'$ keine $\sum$-Formel (denn sie verwendet $g\not\in\Omega$), sondern Formel über einer erweiterten Signatur. - \begin{quote} - Lemma + \note{Lemma}{Die Formeln $\varphi$ und $\varphi'$ sind erfüllbarkeitsäquivalent.} - Die Formeln $\varphi$ und $\varphi'$ sind erfüllbarkeitsäquivalent. - \end{quote} + Beweis: "$\Leftarrow$" Sei $A'$ Struktur und $\rho'$ Variableninterpretation mit $A'\vdash_{\rho'}\varphi'$. Wir zeigen $A'\vdash_{\rho'}\varphi$. Hierzu seien $a_1,...,a_m\in U_{A'}$ beliebig. - Beweis: ``$\Leftarrow$'' Sei $A'$ Struktur und $\rho'$ - Variableninterpretation mit $A'\vdash_{\rho'}\varphi'$. Wir zeigen - $A'\vdash_{\rho'}\varphi$. Hierzu seien $a_1,...,a_m\in U_{A'}$ - beliebig. + \note{Satz}{Aus einer Formel $\varphi$ kann man eine erfüllbarkeitsäquivalente Formel $\varphi$ in Skolemform berechnen. Ist $\varphi$ gleichungsfrei, so auch $\varphi$.} - \begin{quote} - Satz + Beweis: Es kann zu $\varphi$ äquivalente Formel $\varphi_0 =Q_1 x_1 Q_2 x_2 ...Q_{\iota} x_{\iota} \psi$ in Pränexform berechnet werden (mit $n\leq {\iota} $ Existenzquantoren). Durch wiederholte Anwendung des vorherigen Lemmas erhält man Formeln $\varphi_1,\varphi_2,...\varphi_n$ mit + \begin{itemize*} + \item $\varphi_i$ und $\varphi_{i+1}$ sind erfüllbarkeitsäquivalent + \item $\varphi_{i+1}$ enthält einen Existenzquantor weniger als $\varphi_i$ + \item $\varphi_{i+1}$ ist in Pränexform + \item ist $\varphi_i$ gleichungsfrei, so auch $\varphi_{i+1}$ + \end{itemize*} - Aus einer Formel $\varphi$ kann man eine erfüllbarkeitsäquivalente - Formel $\varphi$ in Skolemform berechnen. Ist $\varphi$ gleichungsfrei, - so auch $\varphi$. - \end{quote} + Dann ist $\bar{\varphi}=\varphi_n$ erfüllbarkeitsäquivalente (ggf. gleichungsfreie) Formel in Skolemform. - Beweis: Es kann zu $\varphi$ äquivalente Formel - $\varphi_0 =Q_1 x_1 Q_2 x_2 ...Q_{\iota} x_{\iota} \psi$ in - Pränexform berechnet werden (mit $n\leq {\iota} $ Existenzquantoren). - Durch wiederholte Anwendung des vorherigen Lemmas erhält man Formeln - $\varphi_1,\varphi_2,...\varphi_n$ mit - $\varphi_i$ und $\varphi_{i+1}$ - sind erfüllbarkeitsäquivalent - $\varphi_{i+1}$ enthält einen - Existenzquantor weniger als $\varphi_i$ - $\varphi_{i+1}$ ist in - Pränexform - ist $\varphi_i$ gleichungsfrei, so auch $\varphi_{i+1}$ + \subsection{Herbrand-Strukturen und Herbrand-Modelle} + Sei $\sum= (\Omega,Rel,ar)$ eine Signatur. Wir nehmen im folgenden an, dass $\Omega$ wenigstens ein Konstantensymbol enthält. - Dann ist $\bar{\varphi}=\varphi_n$ erfüllbarkeitsäquivalente (ggf. - gleichungsfreie) Formel in Skolemform. + Das Herbrand-Universum $D(\sum)$ ist die Menge aller variablenfreien $\sum$-Terme. - \subsection{Herbrand-Strukturen und - Herbrand-Modelle}\label{herbrand-strukturen-und-herbrand-modelle} + Beispiel: $\Omega =\{b,f\}$ mit $ar(b) =0$ und $ar(f) =1$. Dann gilt $D(\sum) =\{b,f(b),f(f(b)),f(f(f(b))),...\}$ - Sei $\sum= (\Omega,Rel,ar)$ eine Signatur. Wir nehmen im folgenden an, - dass $\Omega$ wenigstens ein Konstantensymbol enthält. + Eine $\sum$-Struktur $A=(UA,(fA)f\in\Omega,(RA)R\in Rel)$ ist eine Herbrand-Struktur, falls folgendes gilt: + \begin{enumerate*} + \item $UA=D(\sum)$, + \item für alle $f\in\Omega$ mit $ar(f)=k$ und alle $t_1,t_2,...,t_k\in D(\sum)$ ist $f^A(t_1,t_2,...,t_k) =f(t_1,t_2,...,t_k)$. + \end{enumerate*} - Das Herbrand-Universum $D(\sum)$ ist die Menge aller variablenfreien - $\sum$-Terme. + Für jede Herbrand-Struktur $A$, alle Variableninterpretationen $\rho$ und alle variablenfreien Terme $t$ gilt dann $\rho(t) =t$. - Beispiel: $\Omega =\{b,f\}$ mit $ar(b) =0$ und $ar(f) =1$. Dann gilt - $D(\sum) =\{b,f(b),f(f(b)),f(f(f(b))),...\}$ + Ein Herbrand-Modell von $\varphi$ ist eine Herbrand-Struktur, die gleichzeitig ein Modell von $\varphi$ ist. - Eine $\sum$-Struktur $A=(UA,(fA)f\in\Omega,(RA)R\in Rel)$ ist eine - Herbrand-Struktur, falls folgendes gilt: 1. $UA=D(\sum)$, 2. für alle - $f\in\Omega$ mit $ar(f)=k$ und alle $t_1,t_2,...,t_k\in D(\sum)$ ist - $f^A(t_1,t_2,...,t_k) =f(t_1,t_2,...,t_k)$. + \note{Satz}{Sei $\varphi$ eine gleichungsfreie Aussage in Skolemform. $\varphi$ ist genau dann erfüllbar, wenn $\varphi$ ein Herbrand-Modell besitzt.} - Für jede Herbrand-Struktur $A$, alle Variableninterpretationen $\rho$ - und alle variablenfreien Terme $t$ gilt dann $\rho(t) =t$. + Beweis: + \begin{itemize*} + \item Falls $\varphi$ ein Herbrand-Modell hat, ist $\varphi$ natürlich erfüllbar. + \item Sei nun $\varphi=\forall y_1...\forall y_n\psi$ erfüllbar. Dann existieren eine $\sum$-Struktur $A=(U_A,(f^A)_{f\in\Omega},(R^A)_{R\in Rel})$ und eine Variableninterpretation $\rho$ mit $A\vdash_\rho \varphi$. + \end{itemize*} - Ein Herbrand-Modell von $\varphi$ ist eine Herbrand-Struktur, die - gleichzeitig ein Modell von $\varphi$ ist. - - \begin{quote} - Satz - - Sei $\varphi$ eine gleichungsfreie Aussage in Skolemform. $\varphi$ ist - genau dann erfüllbar, wenn $\varphi$ ein Herbrand-Modell besitzt. - \end{quote} - - Beweis: - Falls $\varphi$ ein Herbrand-Modell hat, ist $\varphi$ - natürlich erfüllbar. - Sei nun $\varphi=\forall y_1...\forall y_n\psi$ - erfüllbar. Dann existieren eine $\sum$-Struktur - $A=(U_A,(f^A)_{f\in\Omega},(R^A)_{R\in Rel})$ und eine - Variableninterpretation $\rho$ mit $A\vdash_\rho \varphi$. - - \paragraph{Plan des Beweises}\label{plan-des-beweises} - - Wir definieren eine Herbrand-Struktur - $B=(D(\sum),(f^B)_{f\in\Omega},(R^B)_{R\in Rel})$: - Seien $f\in\Omega$ - mit $ar(f)=k$ und $t_1,...,t_k\in D(\sum)$. Um eine Herbrand-Struktur - $B$ zu konstruieren setzen wir $f^B(t_1,...,t_k) =f(t_1,...,t_k)$ - Sei - $R\in Rel$ mit $ar(R)=k$ und seien $t_1,...,t_k\in D(\sum)$. Dann setze - $(t_1,...,t_k)\in RB:\Leftrightarrow (\rho(t_1),...,\rho(t_k))\in RA$. + \paragraph{Plan des Beweises} + Wir definieren eine Herbrand-Struktur $B=(D(\sum),(f^B)_{f\in\Omega},(R^B)_{R\in Rel})$: + \begin{itemize*} + \item Seien $f\in\Omega$ mit $ar(f)=k$ und $t_1,...,t_k\in D(\sum)$. Um eine Herbrand-Struktur $B$ zu konstruieren setzen wir $f^B(t_1,...,t_k) =f(t_1,...,t_k)$ + \item Sei $R\in Rel$ mit $ar(R)=k$ und seien $t_1,...,t_k\in D(\sum)$. Dann setze $(t_1,...,t_k)\in RB:\Leftrightarrow (\rho(t_1),...,\rho(t_k))\in RA$. + \end{itemize*} Sei $\rho_B:Var \rightarrow D(\sum)$ beliebige Variableninterpretation. - \subparagraph{Behauptung 1:}\label{behauptung-1} - - Ist $\psi$ eine quantoren- und gleichungsfreie Aussage, so gilt - $A\vdash_{\rho}\psi \Leftrightarrow B\vdash_{\rho B} \psi$. Diese - Behauptung wird induktiv über den Aufbau von $\psi$ gezeigt. - - \subparagraph{Intermezzo}\label{intermezzo} + \paragraph{Behauptung 1: } + Ist $\psi$ eine quantoren- und gleichungsfreie Aussage, so gilt $A\vdash_{\rho}\psi \Leftrightarrow B\vdash_{\rho B} \psi$. Diese Behauptung wird induktiv über den Aufbau von $\psi$ gezeigt. + \paragraph{Intermezzo} Behauptung 1 gilt nur für quantorenfreie Aussagen - $\sum = (\Omega,Rel,ar)$ mit $\Omega =\{a\},ar(a) =0$ und - $Rel=\{E\},ar(E) =2$. Betrachte die Formel - $\varphi=\forall x(E(x,x)\wedge E(a,a))$ in Skolemform. - $A\vdash_\rho \varphi$ mit $U^A=\{a^A,m\}$ und - $E^A=\{(m,m),(a^A,a^A)\}$. Die konstruierte Herbrand-Struktur - $B:U_B=D(\sum) =\{a\}$ und $E^B=\{(a,a)\}$. + $\sum = (\Omega,Rel,ar)$ mit $\Omega =\{a\},ar(a) =0$ und $Rel=\{E\},ar(E) =2$. + Betrachte die Formel $\varphi=\forall x(E(x,x)\wedge E(a,a))$ in Skolemform. + $A\vdash_\rho \varphi$ mit $U^A=\{a^A,m\}$ und $E^A=\{(m,m),(a^A,a^A)\}$. + Die konstruierte Herbrand-Struktur $B:U_B=D(\sum) =\{a\}$ und $E^B=\{(a,a)\}$. - Betrachte nun die Formel $\psi=\forall x,y E(x,y)$. Dann gilt - $B\vdash_{\rho B}\psi$ und $A\not\vdash_\rho \psi$. + Betrachte nun die Formel $\psi=\forall x,y E(x,y)$. Dann gilt $B\vdash_{\rho B}\psi$ und $A\not\vdash_\rho \psi$. - Für allgemeine Formeln in Skolemform (also u.U. mit Quantoren) können - wir also Behauptung 1 nicht zeigen, sondern höchstens die folgende - Abschwächung. + Für allgemeine Formeln in Skolemform (also u.U. mit Quantoren) können wir also Behauptung 1 nicht zeigen, sondern höchstens die folgende Abschwächung. - \subparagraph{Behauptung 2:}\label{behauptung-2} + \paragraph{Behauptung 2:} + Ist $\psi$ eine gleichungsfreie Aussage in Skolemform, so gilt $A\vdash_\rho \psi \Rightarrow B\vdash_{\rho B}\psi$. + (hieraus folgt dann $B\vdash_{\rho B}\varphi$ wegen $A\vdash_\rho \varphi$) - Ist $\psi$ eine gleichungsfreie Aussage in Skolemform, so gilt - $A\vdash_\rho \psi \Rightarrow B\vdash_{\rho B}\psi$. (hieraus folgt dann - $B\vdash_{\rho B}\varphi$ wegen $A\vdash_\rho \varphi$) + Diese Behauptung wird induktiv über die Anzahl $n$ der Quantoren in $\psi$ bewiesen. - Diese Behauptung wird induktiv über die Anzahl $n$ der Quantoren in - $\psi$ bewiesen. + \subsection{Die Herbrand-Expansion} + verbleibende Frage: Wie erkennt man, ob eine gleichungsfreie Aussage in Skolemform ein Herbrand-Modell hat? - \subsection{Die Herbrand-Expansion}\label{die-herbrand-expansion} + Beispiel: Seien $\sum=(\{a,f\},\{P,R\},ar)$ und $\varphi=\forall x\forall y (P(a,x)\wedge\lnot R(f(y)))$. + Jedes Herbrand-Modell A von $\varphi$ + \begin{itemize*} + \item hat als Universum das Herbrand-Universum $D(\sum)=\{a,f(a),f^2 (a),...\}=\{f^n(a)|n\geq 0\}$ + \item erfüllt $f^A(f^n(a))= f^{n+1} (a)$ für alle $n\geq 0$ + \end{itemize*} - verbleibende Frage: Wie erkennt man, ob eine gleichungsfreie Aussage in - Skolemform ein Herbrand-Modell hat? + Um ein Herbrand-Modell zu konstruieren, müssen (bzw. können) wir für alle Elemente $s,t,u\in D(\sum)$ unabhängig und beliebig wählen, ob $(s,t)\in P^A$ und $u\in R^A$ gilt. + Wir fassen dies als "aussagenlogische B-Belegung" B der "aussagenlogischen atomaren Formeln" $P(s,t)$ bzw. $R(u)$ auf. - Beispiel: Seien $\sum=(\{a,f\},\{P,R\},ar)$ und - $\varphi=\forall x\forall y (P(a,x)\wedge\lnot R(f(y)))$. Jedes Herbrand-Modell A von $\varphi$ - hat als Universum das Herbrand-Universum $D(\sum)=\{a,f(a),f^2 (a),...\}=\{f^n(a)|n\geq 0\}$ - erfüllt $f^A(f^n(a))= f^{n+1} (a)$ für alle $n\geq 0$ + Jede solche aussagenlogische B-Belegung $B$ definiert dann eine Herbrand-Struktur $A_B$: + \begin{itemize*} + \item $P^{A_B} = \{(s,t)\in D(\sum)^2 |B(P(s,t))= 1\}$ + \item $R^{A_B} = \{u\in D(\sum) |B(R(u))= 1\}$ + \end{itemize*} - Um ein Herbrand-Modell zu konstruieren, müssen (bzw. können) wir für - alle Elemente $s,t,u\in D(\sum)$ unabhängig und beliebig wählen, ob - $(s,t)\in P^A$ und $u\in R^A$ gilt. Wir fassen dies als - ``aussagenlogische B-Belegung'' B der ``aussagenlogischen atomaren - Formeln'' $P(s,t)$ bzw. $R(u)$ auf. + Mit $\varphi=\forall x\forall y(P(a,x)\wedge\lnot R(f(y)))$ gilt dann $A_B \Vdash_\rho \varphi$ + \begin{itemize*} + \item $\Leftrightarrow A_B \Vdash_{\rho[x\rightarrow f^m(a)][y\rightarrow f^n(a)]} P(a,x)\wedge\lnot R(f(y))$ f.a. $m,n\geq 0$ + \item $\Leftrightarrow (a,fm(a))\in P^{A_B}$ und $f^{n+1}(a)\not\in R^{A_B}$ f.a. $m,n\geq 0$ + \item $\Leftrightarrow B(P(a,f^m(a)))= 1$ und $B(R(f^{n+1} (a)))= 0$ f.a. $m,n\geq 0$ + \item $\Leftrightarrow B(P(a,f^m(a))\wedge\lnot R(f^{n+1} (a)))= 1$ f.a. $m,n\geq 0$ + \end{itemize*} - Jede solche aussagenlogische B-Belegung $B$ definiert dann eine - Herbrand-Struktur $A_B$: - - $P^{A_B} = \{(s,t)\in D(\sum)^2 |B(P(s,t))= 1\}$ - - $R^{A_B} = \{u\in D(\sum) |B(R(u))= 1\}$ + Also hat $\varphi$ genau dann ein Herbrand-Modell, wenn es eine erfüllende B-Belegung $B$ der Menge aussagenlogischer Formeln $E(\varphi)=\{P(a,f^m(a))\wedge\lnot R(f^{n+1}(a)) | m,n\geq 0\}$ gibt. - Mit $\varphi=\forall x\forall y(P(a,x)\wedge\lnot R(f(y)))$ gilt dann - $A_B \Vdash_\rho \varphi$ - - $\Leftrightarrow A_B \Vdash_{\rho[x\rightarrow f^m(a)][y\rightarrow f^n(a)]} P(a,x)\wedge\lnot R(f(y))$ - f.a. $m,n\geq 0$ - $\Leftrightarrow (a,fm(a))\in P^{A_B}$ und - $f^{n+1}(a)\not\in R^{A_B}$ f.a. $m,n\geq 0$ - - $\Leftrightarrow B(P(a,f^m(a)))= 1$ und $B(R(f^{n+1} (a)))= 0$ f.a. - $m,n\geq 0$ - - $\Leftrightarrow B(P(a,f^m(a))\wedge\lnot R(f^{n+1} (a)))= 1$ f.a. - $m,n\geq 0$ + Beispiellösung: Setzt $B(P(s,t))= 1$ und $B(R(s))= 0$ für alle $s,t\in D(\sum)$. - Also hat $\varphi$ genau dann ein Herbrand-Modell, wenn es eine - erfüllende B-Belegung $B$ der Menge aussagenlogischer Formeln - $E(\varphi)=\{P(a,f^m(a))\wedge\lnot R(f^{n+1}(a)) | m,n\geq 0\}$ gibt. + Diese B-Belegung erfüllt $E(\varphi)$ und "erzeugt" die Herbrand-Struktur $A_B$ mit $P^{A_B}=D(\sum)^2$ und $R^{A_B}=\varnothing$. - Beispiellösung: Setzt $B(P(s,t))= 1$ und $B(R(s))= 0$ für alle - $s,t\in D(\sum)$. + Nach obiger Überlegung gilt $A_B\Vdash\varphi$, wir haben also ein Herbrand-Modell von $\varphi$ gefunden. - Diese B-Belegung erfüllt $E(\varphi)$ und ``erzeugt'' die - Herbrand-Struktur $A_B$ mit $P^{A_B}=D(\sum)^2$ und - $R^{A_B}=\varnothing$. - Nach obiger Überlegung gilt $A_B\Vdash\varphi$, wir haben also ein - Herbrand-Modell von $\varphi$ gefunden. + Sei $\varphi=\forall y_1\forall y_2...\forall y_n\psi$ gleichungsfreie Aussage in Skolemform. - Sei $\varphi=\forall y_1\forall y_2...\forall y_n\psi$ gleichungsfreie - Aussage in Skolemform. + Ziel: Konstruktion einer Menge aussagenlogischer Formeln, die genau dann erfüllbar ist, wenn $\varphi$ ein Herbrand-Modell hat. - Ziel: Konstruktion einer Menge aussagenlogischer Formeln, die genau dann - erfüllbar ist, wenn $\varphi$ ein Herbrand-Modell hat. + Die Herbrand-Expansion von $\varphi$ ist die Menge der Aussagen $E(\varphi)=\{\psi[y_1:=t_1][y_2:=t_2]...[y_n:=t_n]|t_1,t_2,...,t_n\in D(\sum)\}$ - Die Herbrand-Expansion von $\varphi$ ist die Menge der Aussagen - $E(\varphi)=\{\psi[y_1:=t_1][y_2:=t_2]...[y_n:=t_n]|t_1,t_2,...,t_n\in D(\sum)\}$ + Die Formeln von $E(\varphi)$ entstehen also aus $\psi$, indem die (variablenfreien) Terme aus $D(\sum)$ in jeder möglichen Weise in $\psi$ substituiert werden. - Die Formeln von $E(\varphi)$ entstehen also aus $\psi$, indem die - (variablenfreien) Terme aus $D(\sum)$ in jeder möglichen Weise in $\psi$ - substituiert werden. + Wir betrachten die Herbrand-Expansion von $\varphi$ im folgenden als eine Menge von aussagenlogischen Formeln. - Wir betrachten die Herbrand-Expansion von $\varphi$ im folgenden als - eine Menge von aussagenlogischen Formeln. + Die atomaren Formeln sind hierbei von der Gestalt $P(t_1,...,t_k)$ für $P\in Rel$ mit $ar(P)=k$ und $t_1,...,t_k\in D(\sum)$. - Die atomaren Formeln sind hierbei von der Gestalt $P(t_1,...,t_k)$ für - $P\in Rel$ mit $ar(P)=k$ und $t_1,...,t_k\in D(\sum)$. + \note{Konstruktion}{Sei $B:\{P(t_1,...,t_k)|P\in Rel,k=ar(P),t_1,...,t_k\in D(\sum)\}\rightarrow B$ eine + B-Belegung. Die hiervon induzierte Herbrand-Struktur $A_B$ ist gegeben durch $P^{A_B} = \{(t_1,...,t_k)|t_1,...,t_k\in D(\sum),B(P(t_1,...,t_k))= 1\}$ für alle $P\in Rel$ mit $ar(P)=k$. } - \begin{quote} - Konstruktion + \note{Lemma}{Für jede quantoren- und gleichungsfreie Aussage $\alpha$ und jede Variableninterpretation $\rho$ in $A_B$ gilt $A_B\Vdash_\rho\alpha \Leftrightarrow B(\alpha)= 1$.} - Sei - $B:\{P(t_1,...,t_k)|P\in Rel,k=ar(P),t_1,...,t_k\in D(\sum)\}\rightarrow B$ - eine B-Belegung. Die hiervon induzierte Herbrand-Struktur $A_B$ ist - gegeben durch - $P^{A_B} = \{(t_1,...,t_k)|t_1,...,t_k\in D(\sum),B(P(t_1,...,t_k))= 1\}$ - für alle $P\in Rel$ mit $ar(P)=k$. - \end{quote} + Beweis: + \begin{itemize*} + \item per Induktion über den Aufbau von $\alpha$ + \item I.A. $\alpha$ ist atomar, d.h. $\alpha= P(t_1,...,t_k)$ mit $t_1,...,t_k$ variablenlos $A_B\Vdash_\rho \alpha\Leftrightarrow (\rho(t_1),\rho(t_2),...,\rho(t_k))\in P^{A_B}\Leftarrow B(\alpha)= 1$ + \item I.S. + \begin{itemize*} + \item $\alpha=\beta\wedge\gamma: A_B\Vdash_\rho \alpha\Leftrightarrow A_B \Vdash_\rho\beta$ und $A_B\Vdash_\rho\gamma \Leftrightarrow B(\beta)=B(\gamma)= 1 \Leftrightarrow B(\alpha)= 1$ + \item $\alpha=\beta\vee\gamma$: analog + \item $\alpha=\beta\rightarrow\gamma$: analog + \item $\alpha=\lnot\beta$: analog + \end{itemize*} + \end{itemize*} - \begin{quote} - Lemma + \note{Lemma}{Sei $\varphi=\forall y_1 \forall y_2 ...\forall y_n\psi$ gleichungsfreie Aussage in Skolemform. Sie hat genau dann ein Herbrand-Modell, wenn die Formelmenge $E(\varphi)$ (im aussagenlogischen Sinn) erfüllbar ist.} - Für jede quantoren- und gleichungsfreie Aussage $\alpha$ und jede - Variableninterpretation $\rho$ in $A_B$ gilt - $A_B\Vdash_\rho\alpha \Leftrightarrow B(\alpha)= 1$. - \end{quote} + Beweis: Seien $A$ Herbrand-Struktur und $\rho$ Variableninterpretation. Sei $B$ die B-Belegung mit $B(P(t_1,...,t_k))= 1\Leftrightarrow(t_1,...,t_k)\in P^A$ für alle $P\in Rel$ mit $k=ar(P)$ und $t_1,...,t_k\in D(\sum)$. Dann gilt $A=A_B$. - Beweis: - per Induktion über den Aufbau von $\alpha$ - I.A. $\alpha$ ist - atomar, d.h. $\alpha= P(t_1,...,t_k)$ mit $t_1,...,t_k$ variablenlos - $A_B\Vdash_\rho \alpha\Leftrightarrow (\rho(t_1),\rho(t_2),...,\rho(t_k))\in P^{A_B}\Leftarrow B(\alpha)= 1$ - - I.S. - - $\alpha=\beta\wedge\gamma: A_B\Vdash_\rho \alpha\Leftrightarrow A_B \Vdash_\rho\beta$ - und - $A_B\Vdash_\rho\gamma \Leftrightarrow B(\beta)=B(\gamma)= 1 \Leftrightarrow B(\alpha)= 1$ - - $\alpha=\beta\vee\gamma$: analog - $\alpha=\beta\rightarrow\gamma$: - analog - $\alpha=\lnot\beta$: analog + \note{Satz von Gödel-Herbrand-Skolem}{Sei $\varphi$ gleichungsfreie Aussage in Skolemform. Sie ist genau dann erfüllbar, wenn die Formelmenge $E(\varphi)$ (im aussagenlogischen Sinn) erfüllbar ist.} - \begin{quote} - Lemma + Beweis: $\varphi$ erfüllbar $\Leftrightarrow$ $\varphi$ hat ein Herbrand-Modell $\Leftrightarrow$ $E(\varphi)$ ist im aussagenlogischen Sinne erfüllbar. - Sei $\varphi=\forall y_1 \forall y_2 ...\forall y_n\psi$ gleichungsfreie - Aussage in Skolemform. Sie hat genau dann ein Herbrand-Modell, wenn die - Formelmenge $E(\varphi)$ (im aussagenlogischen Sinn) erfüllbar ist. - \end{quote} + \note{Satz von Herbrand}{Eine gleichungsfreie Aussage $\varphi$ in Skolemform ist genau dann unerfüllbar, wenn es eine endliche Teilmenge von $E(\varphi)$ gibt, die (im aussagenlogischen Sinn) unerfüllbar ist. (Jacques Herbrand (1908-1931))} - Beweis: Seien $A$ Herbrand-Struktur und $\rho$ Variableninterpretation. - Sei $B$ die B-Belegung mit - $B(P(t_1,...,t_k))= 1\Leftrightarrow(t_1,...,t_k)\in P^A$ für alle - $P\in Rel$ mit $k=ar(P)$ und $t_1,...,t_k\in D(\sum)$. Dann gilt - $A=A_B$. + Beweis: $\varphi$ unerfüllbar $\Leftrightarrow$ $E(\varphi)$ unerfüllbar $\Leftrightarrow$ es gibt $M\subseteq E(\varphi)$ endlich und unerfüllbar - \begin{quote} - Satz von Gödel-Herbrand-Skolem - Sei $\varphi$ gleichungsfreie Aussage in Skolemform. Sie ist genau dann - erfüllbar, wenn die Formelmenge $E(\varphi)$ (im aussagenlogischen Sinn) - erfüllbar ist. - \end{quote} - - Beweis: $\varphi$ erfüllbar $\Leftrightarrow$ $\varphi$ hat ein - Herbrand-Modell $\Leftrightarrow$ $E(\varphi)$ ist im aussagenlogischen - Sinne erfüllbar. - - \begin{quote} - Satz von Herbrand - - Eine gleichungsfreie Aussage $\varphi$ in Skolemform ist genau dann - unerfüllbar, wenn es eine endliche Teilmenge von $E(\varphi)$ gibt, die - (im aussagenlogischen Sinn) unerfüllbar ist. - - (Jacques Herbrand (1908-1931)) - \end{quote} - - Beweis: $\varphi$ unerfüllbar $\Leftrightarrow$ $E(\varphi)$ unerfüllbar - $\Leftrightarrow$ es gibt $M\subseteq E(\varphi)$ endlich und - unerfüllbar - - \subsection{Algorithmus von Gilmore}\label{algorithmus-von-gilmore} - - Sei $\varphi$ gleichungsfreie Aussage in Skolemform und sei - $\alpha_1,\alpha_2,\alpha_3,...$ eine Aufzählung von $E(\varphi)$. + \subsection{Algorithmus von Gilmore} + Sei $\varphi$ gleichungsfreie Aussage in Skolemform und sei $\alpha_1,\alpha_2,\alpha_3,...$ eine Aufzählung von $E(\varphi)$. Eingabe: $\varphi$ + \begin{lstlisting} + n:=0; + repeat n := n +1; + until { alpha_1, alpha_2,..., alpha_n } ist unerfuellbar; + (dies kann mit Mitteln der Aussagenlogik, z.B. Wahrheitswertetabelle, getestet werden) + Gib "unerfuellbar" aus und stoppe. + \end{lstlisting} - \begin{verbatim} -n:=0; -repeat n := n +1; -until { alpha_1, alpha_2,..., alpha_n } ist unerfüllbar; - (dies kann mit Mitteln der Aussagenlogik, z.B. Wahrheitswertetabelle, getestet werden) -Gib "unerfüllbar" aus und stoppe. -\end{verbatim} - - Folgerung: Sei $\varphi$ eine gleichungsfreie Aussage in Skolemform. - Dann gilt: - Wenn die Eingabeformel $\varphi$ unerfüllbar ist, dann - terminiert der Algorithmus von Gilmore und gibt ``unerfüllbar'' aus. - - Wenn die Eingabeformel $\varphi$ erfüllbar ist, dann terminiert der - Algorithmus von Gilmore nicht, d.h. er läuft unendlich lange. + Folgerung: Sei $\varphi$ eine gleichungsfreie Aussage in Skolemform. Dann gilt: + \begin{itemize*} + \item Wenn die Eingabeformel $\varphi$ unerfüllbar ist, dann terminiert der Algorithmus von Gilmore und gibt "unerfüllbar" aus. + \item Wenn die Eingabeformel $\varphi$ erfüllbar ist, dann terminiert der Algorithmus von Gilmore nicht, d.h. er läuft unendlich lange. + \end{itemize*} Beweis: unmittelbar mit Satz von Herbrand - Zusammenfassung: alternative Semi-Entscheidungsverfahren für die Menge - der allgemeingültigen Formeln. - Berechne aus $\psi$ eine zu $\lnot\psi$ - erfüllbarkeitsäquivalente gleichungsfreie Formel $\varphi$ in - Skolemform. - Suche mit dem Algorithmus von Gilmore nach einer endlichen - Teilmenge $E'$ von $E(\varphi)$, die unerfüllbar ist. + Zusammenfassung: alternative Semi-Entscheidungsverfahren für die Menge der allgemeingültigen Formeln. + \begin{itemize*} + \item Berechne aus $\psi$ eine zu $\lnot\psi$ erfüllbarkeitsäquivalente gleichungsfreie Formel $\varphi$ in Skolemform. + \item Suche mit dem Algorithmus von Gilmore nach einer endlichen Teilmenge $E'$ von $E(\varphi)$, die unerfüllbar ist. + \end{itemize*} - \subsection{Berechnung von Lösungen}\label{berechnung-von-luxf6sungen} - Beispiel - $\gamma = \forall x,y (R(x,f(y))\wedge R(g(x),y))$ - - $\varphi = \forall x,yR(x,y)$ - Gilt $\{\gamma\}\Vdash\varphi$? nein, - denn $A\Vdash\gamma\wedge\lnot\varphi$ mit - $A=(\mathbb{N},f^A,g^A,R)$ - - f\textsuperscript{A(n)=g}A(n)=n+1\$ für alle $n\in\mathbb{N}$ - - $R^A = \mathbb{N}^2 \backslash\{( 0 , 0 )\}$ - Gibt es variablenfreie - Terme $s$ und $t$ mit $\{\gamma\}\Vdash R(s,t)$? - ja: z.B. - $(s,t)=(g(f(a)),g(a))$ oder $(s,t)=(g(a),g(a))$ oder $(s,t)=(a,f(b))$ - - Kann die Menge aller Termpaare $(s,t)$ (d.h. aller ``Lösungen'') mit - $\{\gamma\}\Vdash R(s,t)$ effektiv und übersichtlich angegeben werden? - - Wegen $\{\gamma\}\Vdash R(s,t) \Leftrightarrow\gamma\wedge\lnot R(s,t)$ - unerfüllbar ist die gesuchte Menge der variablenfreien Terme $(s,t)$ - semi-entscheidbar, d.h. durch eine Turing-Maschine beschrieben. - Im - Rest des Logikteils der Vorlesung ``Logik und Logikprogrammierung'' - wollen wir diese Menge von Termpaaren ``besser'' beschreiben (zumindest - in einem Spezialfall, der die Grundlage der logischen Programmierung - bildet). + \subsection{Berechnung von Lösungen} + \begin{itemize*} + \item Beispiel + \begin{itemize*} + \item $\gamma = \forall x,y (R(x,f(y))\wedge R(g(x),y))$ + \item $\varphi = \forall x,yR(x,y)$ + \end{itemize*} + \item Gilt $\{\gamma\}\Vdash\varphi$? nein, denn $A\Vdash\gamma\wedge\lnot\varphi$ mit + \begin{itemize*} + \item $A=(\mathbb{N},f^A,g^A,R)$ + \item $f^A(n)=g^A(n)=n+1$ für alle $n\in\mathbb{N}$ + \item $R^A = \mathbb{N}^2 \backslash\{( 0 , 0 )\}$ + \end{itemize*} + \item Gibt es variablenfreie Terme $s$ und $t$ mit $\{\gamma\}\Vdash R(s,t)$? + \begin{itemize*} + \item ja: z.B. $(s,t)=(g(f(a)),g(a))$ oder $(s,t)=(g(a),g(a))$ oder $(s,t)=(a,f(b))$ + \end{itemize*} + \item Kann die Menge aller Termpaare $(s,t)$ (d.h. aller "Lösungen") mit $\{\gamma\}\Vdash R(s,t)$ effektiv und übersichtlich angegeben werden? + \begin{itemize*} + \item Wegen $\{\gamma\}\Vdash R(s,t) \Leftrightarrow\gamma\wedge\lnot R(s,t)$ unerfüllbar ist die gesuchte Menge der variablenfreien Terme $(s,t)$ semi-entscheidbar, d.h. durch eine Turing-Maschine beschrieben. + \end{itemize*} + \item Im Rest des Logikteils der Vorlesung "Logik und Logikprogrammierung" wollen wir diese Menge von Termpaaren "besser" beschreiben (zumindest in einem Spezialfall, der die Grundlage der logischen Programmierung bildet). + \end{itemize*} - \begin{quote} - Erinnerung + \note{Erinnerung}{Eine Horn-Klausel der Prädikatenlogik ist eine Aussage der Form $\forall x_1\forall x_2...\forall x_n ((\lnot\bot\wedge\alpha_1 \wedge\alpha_2 \wedge...\wedge\alpha_m)\rightarrow\beta)$, mit $m\geq 0$, atomaren Formeln $\alpha_1,...,\alpha_m$ und $\beta$ atomare Formel oder $\bot$.} - Eine Horn-Klausel der Prädikatenlogik ist eine Aussage der Form - $\forall x_1\forall x_2...\forall x_n ((\lnot\bot\wedge\alpha_1 \wedge\alpha_2 \wedge...\wedge\alpha_m)\rightarrow\beta)$, - mit $m\geq 0$, atomaren Formeln $\alpha_1,...,\alpha_m$ und $\beta$ - atomare Formel oder $\bot$. - \end{quote} + Aufgabe: + $\varphi_1,...,\varphi_n$ gleichungsfreie Horn-Klauseln, $\psi(x_1,x_2,...,x_{\iota} )=R(t_1,...,t_k)$ atomare Formel, keine Gleichung. Bestimme die Menge der Tupel $(s_1,...,s_{\iota} )$ von variablenfreien Termen mit $\{\varphi_1,...,\varphi_n\}\Vdash\psi(s_1,...,s_{\iota} )=R(t_1,...,t_k)[x_1:=s_1]...[x_{\iota} :=s_{\iota} ]$, d.h., für die die folgende Formel unerfüllbar ist: $\bigwedge_{1\leq i\leq n} \varphi_i \wedge \lnot\psi(s_1,...,s_{\iota} ) \equiv \bigwedge_{1\leq i\leq n} \varphi_i\wedge(\psi(s_1,...,s_{\iota} )\rightarrow\bot)$ - Aufgabe: $\varphi_1,...,\varphi_n$ gleichungsfreie Horn-Klauseln, - $\psi(x_1,x_2,...,x_{\iota} )=R(t_1,...,t_k)$ atomare Formel, keine - Gleichung. Bestimme die Menge der Tupel $(s_1,...,s_{\iota} )$ von - variablenfreien Termen mit - $\{\varphi_1,...,\varphi_n\}\Vdash\psi(s_1,...,s_{\iota} )=R(t_1,...,t_k)[x_1:=s_1]...[x_{\iota} :=s_{\iota} ]$, - d.h., für die die folgende Formel unerfüllbar ist: - $\bigwedge_{1\leq i\leq n} \varphi_i \wedge \lnot\psi(s_1,...,s_{\iota} ) \equiv \bigwedge_{1\leq i\leq n} \varphi_i\wedge(\psi(s_1,...,s_{\iota} )\rightarrow\bot)$ + Erinnerung + \begin{itemize*} + \item Eine Horn-Formel der Prädikatenlogik ist eine Konjunktion von Horn-Klauseln der Prädikatenlogik. + \item Eine Horn-Klausel der Aussagenlogik ist eine Formel der Form $(\lnot\bot\wedge q_1\wedge q_2 \wedge...\wedge q_m)\rightarrow r$ mit $m\geq 0$, atomaren Formeln $q_1,q_2,...,q_m, r$ atomare Formel od. $\bot$. + \end{itemize*} - Erinnerung - Eine Horn-Formel der Prädikatenlogik ist eine Konjunktion - von Horn-Klauseln der Prädikatenlogik. - Eine Horn-Klausel der - Aussagenlogik ist eine Formel der Form - $(\lnot\bot\wedge q_1\wedge q_2 \wedge...\wedge q_m)\rightarrow r$ mit - $m\geq 0$, atomaren Formeln $q_1,q_2,...,q_m, r$ atomare Formel od. - $\bot$. + Beobachtung + \begin{itemize*} + \item Wir müssen die Unerfüllbarkeit einer gleichungsfreien Horn-Formel der Prädikatenlogik testen. + \item Ist $\varphi$ gleichungsfreie Horn-Klausel der Prädikatenlogik, so ist $E(\varphi)$ eine Menge von Horn-Klauseln der Aussagenlogik. + \end{itemize*} - Beobachtung - Wir müssen die Unerfüllbarkeit einer gleichungsfreien - Horn-Formel der Prädikatenlogik testen. - Ist $\varphi$ gleichungsfreie - Horn-Klausel der Prädikatenlogik, so ist $E(\varphi)$ eine Menge von - Horn-Klauseln der Aussagenlogik. + Schreib- und Sprechweise + \begin{itemize*} + \item $\{\alpha_1,\alpha_2,...,\alpha_n\}\rightarrow\beta$ für Horn-Klausel der Prädikatenlogik $(\lnot\bot\wedge\alpha_1 \wedge\alpha_2\wedge...\wedge\alpha_n)\rightarrow\beta$ insbes. $\varnothing\rightarrow\beta$ für $\lnot\bot\rightarrow\beta$ + \item $\{(N_i\rightarrow\beta_i) | 1\leq i\leq m\}$ für Horn-Formel $\bigwedge_{1\leq i\leq m} (N_i\rightarrow\beta_i)$ + \end{itemize*} - Schreib- und Sprechweise - - $\{\alpha_1,\alpha_2,...,\alpha_n\}\rightarrow\beta$ für Horn-Klausel - der Prädikatenlogik - $(\lnot\bot\wedge\alpha_1 \wedge\alpha_2\wedge...\wedge\alpha_n)\rightarrow\beta$ - insbes. $\varnothing\rightarrow\beta$ für $\lnot\bot\rightarrow\beta$ - - $\{(N_i\rightarrow\beta_i) | 1\leq i\leq m\}$ für Horn-Formel - $\bigwedge_{1\leq i\leq m} (N_i\rightarrow\beta_i)$ + Folgerung: Sei $\varphi =\bigwedge_{1\leq i\leq n} \varphi_i$ gleichungsfreie Horn-Formel der Prädikatenlogik. Dann ist $\varphi$ genau dann unerfüllbar, wenn $\bigcup_{1\leq i\leq n} E(\varphi_i)$ im aussagenlogischen Sinne unerfüllbar ist. - Folgerung: Sei $\varphi =\bigwedge_{1\leq i\leq n} \varphi_i$ - gleichungsfreie Horn-Formel der Prädikatenlogik. Dann ist $\varphi$ - genau dann unerfüllbar, wenn $\bigcup_{1\leq i\leq n} E(\varphi_i)$ im - aussagenlogischen Sinne unerfüllbar ist. + Beweis: Für $1\leq i\leq n$ sei $\varphi_i=\forall x_1^i,x_2^i,...,x_{m_i}^i \psi_i$. + Zur Vereinfachung nehme wir an, daß die Variablen $x_j^i$ für $1\leq i\leq n$ und $1\leq j\leq m_i$ paarweise verschieden sind. - Beweis: Für $1\leq i\leq n$ sei - $\varphi_i=\forall x_1^i,x_2^i,...,x_{m_i}^i \psi_i$. Zur Vereinfachung - nehme wir an, daß die Variablen $x_j^i$ für $1\leq i\leq n$ und - $1\leq j\leq m_i$ paarweise verschieden sind. + Folgerung: Eine gleichungsfreie Horn-Formel der Prädikatenlogik $\varphi=\bigwedge_{1\leq i\leq n} \varphi_i$ ist genau dann unerfüllbar, wenn es eine SLD-Resolution $(M_0\rightarrow\bot,M_1\rightarrow\bot,...,M_m\rightarrow\bot)$ aus $\bigcup_{1\leq i\leq n} E(\varphi_i)$ mit $M_m =\varnothing$ gibt. - Folgerung: Eine gleichungsfreie Horn-Formel der Prädikatenlogik - $\varphi=\bigwedge_{1\leq i\leq n} \varphi_i$ ist genau dann - unerfüllbar, wenn es eine SLD-Resolution - $(M_0\rightarrow\bot,M_1\rightarrow\bot,...,M_m\rightarrow\bot)$ aus - $\bigcup_{1\leq i\leq n} E(\varphi_i)$ mit $M_m =\varnothing$ gibt. + \subsection{Substitutionen} + Eine verallgemeinerte Substitution $\sigma$ ist eine Abbildung der Menge der Variablen in die Menge aller Terme, so daß nur endlich viele Variable $x$ existieren mit $\sigma(x) \not=x$. - \subsection{Substitutionen}\label{substitutionen-1} + Sei $Def(\sigma)=\{x\ Variable|x\not =\sigma(x)\}$ der Definitionsbereich der verallgemeinerten Substitution $\sigma$. Für einen Term $t$ definieren wir den Term $t\sigma$ (Anwendung der verallgemeinerten Substitution $\sigma$ auf den Term $t$) wie folgt induktiv: + \begin{itemize*} + \item $x\sigma=\sigma(x)$ + \item $[f(t_1 ,... ,t_k)]\sigma=f(t_1\sigma,... ,t_k\sigma)$ für Terme $t_1,... ,t_k,f\in\Omega$ und $k=ar(f)$ + Für eine atomare Formel $\alpha=P(t_1 ,... ,t_k)$ (d.h. $P\in Rel,ar(P) =k,t_1 ,... ,t_k$ Terme) sei $\alpha\sigma = P(t_1\sigma,... ,t_k\sigma)$ + \end{itemize*} - Eine verallgemeinerte Substitution $\sigma$ ist eine Abbildung der Menge - der Variablen in die Menge aller Terme, so daß nur endlich viele - Variable $x$ existieren mit $\sigma(x) \not=x$. - - Sei $Def(\sigma)=\{x\ Variable|x\not =\sigma(x)\}$ der - Definitionsbereich der verallgemeinerten Substitution $\sigma$. Für - einen Term $t$ definieren wir den Term $t\sigma$ (Anwendung der - verallgemeinerten Substitution $\sigma$ auf den Term $t$) wie folgt - induktiv: - $x\sigma=\sigma(x)$ - - $[f(t_1 ,... ,t_k)]\sigma=f(t_1\sigma,... ,t_k\sigma)$ für Terme - $t_1,... ,t_k,f\in\Omega$ und $k=ar(f)$ Für eine atomare Formel - $\alpha=P(t_1 ,... ,t_k)$ (d.h. $P\in Rel,ar(P) =k,t_1 ,... ,t_k$ Terme) - sei $\alpha\sigma = P(t_1\sigma,... ,t_k\sigma)$ - - Verknüpfungvon verallgemeinerten Substitutionen: Sind $\sigma_1$ und - $\sigma_2$ verallgemeinerte Substitutionen, so definieren wir eine neue - verallgemeinerte Substitution $\sigma_1 \sigma_2$ durch - $(\sigma_1 \sigma_2)(x) = (x\sigma_1)\sigma_2$. + Verknüpfungvon verallgemeinerten Substitutionen: Sind $\sigma_1$ und $\sigma_2$ verallgemeinerte Substitutionen, so definieren wir eine neue verallgemeinerte Substitution $\sigma_1 \sigma_2$ durch $(\sigma_1 \sigma_2)(x) = (x\sigma_1)\sigma_2$. Beispiel: Sei $x$ Variable und $t$ Term. Dann ist $\sigma$ mit $\sigma(y) =\begin{cases} t \quad\text{ falls } x=y \\ y \quad\text{ sonst }\end{cases}$ - eine verallgemeinerte Substitution. Für alle Terme $s$ und alle atomaren - Formeln $\alpha$ gilt $s\sigma=s[x:=t]$ und $\alpha\sigma=\alpha[x:=t]$. - Substitutionen sind also ein Spezialfall der verallgemeinerten - Substitutionen. + eine verallgemeinerte Substitution. Für alle Terme $s$ und alle atomaren Formeln $\alpha$ gilt + $s\sigma=s[x:=t]$ und $\alpha\sigma=\alpha[x:=t]$. + Substitutionen sind also ein Spezialfall der verallgemeinerten Substitutionen. - Beispiel: Die verallgemeinerte Substitution $\sigma$ mit - $Def(\sigma)=\{x,y,z\}$ und - $\sigma(x) =f(h(x')), \sigma(y) =g(a,h(x')), \sigma(z) =h(x')$ ist - gleich der verallgemeinerten Substitution - $[x:=f(h(x'))] [y:=g(a,h(x'))] [z:=h(x')] = [x:=f(z)] [y:=g(a,z)] [z:=h(x')]$. - Es kann sogar jede verallgemeinerte Substitution $\sigma$ als - Verknüpfung von Substitutionen der Form $[x:=t]$ geschrieben werden. - Vereinbarung: Wir sprechen ab jetzt nur von ``Substitutionen'', auch - wenn wir ``verallgemeinerte Substitutionen'' meinen. + Beispiel: Die verallgemeinerte Substitution $\sigma$ mit $Def(\sigma)=\{x,y,z\}$ und $\sigma(x) =f(h(x')), \sigma(y) =g(a,h(x')), \sigma(z) =h(x')$ ist gleich der verallgemeinerten Substitution $[x:=f(h(x'))] [y:=g(a,h(x'))] [z:=h(x')] = [x:=f(z)] [y:=g(a,z)] [z:=h(x')]$. + Es kann sogar jede verallgemeinerte Substitution $\sigma$ als Verknüpfung von Substitutionen der Form $[x:=t]$ geschrieben werden. + Vereinbarung: Wir sprechen ab jetzt nur von "Substitutionen", auch wenn wir "verallgemeinerte Substitutionen" meinen. - \begin{quote} - Lemma - - Seien $\sigma$ Substitution, $x$ Variable und $t$ Term, so dass - (i) - $x\not\in Def(\sigma)$ und - (ii) $x$ in keinem der Terme $y\sigma$ mit - $y\in Def(\sigma)$ vorkommt. Dann gilt - $[x:=t]\sigma=\sigma[x:=t\sigma]$. - \end{quote} - - Beispiele: Im folgenden sei $t=f(y)$. - Ist $\sigma=[x:=g(z)]$, so gilt - $x[x:=t]\sigma=t\sigma=t\not=g(z) =g(z)[x:=t\sigma] =x\sigma[x:=t\sigma]$. - - Ist $\sigma= [y:=g(x)]$, so gilt - $y[x:=t]\sigma=y\sigma=g(x) \not=g(f(g(x)))= g(x) [x:=t\sigma] =y\sigma[x:=t\sigma]$. - - Ist $\sigma= [y:=g(z)]$, so gelten - $Def([x:=t]\sigma) =\{x,y\}=Def(\sigma[x:=t\sigma]),[x:=t]\sigma(x) =f(g(z)) =\sigma[x:=t\sigma]$ - und $[x:=t]\sigma(y) =\sigma(z) =\sigma[x:=t\sigma]$, also - $[x:=t]\sigma=\sigma[x:=t\sigma]$. - - Beweis: Wir zeigen $y[x:=t]\sigma=y\sigma[x:=t\sigma]$ für alle - Variablen $y$. - $y=x$: Dann gilt $y[x:=t]\sigma=t\sigma$. Außerdem - $y\sigma=x$ wegen $y=x\not\in Def(\sigma)$ und damit - $y\sigma[x:=t\sigma]=x[x:=t\sigma]=t\sigma$. - $y\not =x$: Dann gilt - $y[x:=t]\sigma=y\sigma$ und ebenso $y\sigma[x:=t\sigma]=y\sigma$, da $x$ - in $y\sigma$ nicht vorkommt. - - \subsection{Unifikator/Allgemeinster - Unifikator}\label{unifikatorallgemeinster-unifikator} - - Gegeben seien zwei gleichungsfreie Atomformeln $\alpha$ und $\beta$. - Eine Substitution $\sigma$ heißt Unifikator von $\alpha$ und $\beta$, - falls $\alpha\sigma=\beta\sigma$. - - Ein Unifikator $\sigma$ von $\alpha$ und $\beta$ heißt allgemeinster - Unifikator von $\alpha$ und $\beta$, falls für jeden Unifikator - $\sigma'$ von $\alpha$ und $\beta$ eine Substitution $\tau$ mit - $\sigma'=\sigma \tau$ existiert. - - Aufgabe: Welche der folgenden Paare $(\alpha,\beta)$ sind unifizierbar? - \textbar{} $\alpha$ \textbar{} $\beta$ \textbar{} Ja \textbar{} Nein - \textbar{} \textbar{} --- \textbar{} --- \textbar{} --- \textbar{} --- - \textbar{} \textbar{} $P(f(x))$ \textbar{} $P(g(y))$ \textbar{} - \textbar{} \textbar{} $P(x)$ \textbar{}$P(f(y))$\textbar{}\textbar{} - \textbar{}$Q(x,f(y))$\textbar{} $Q(f(u),z)$\textbar{}\textbar{} - \textbar{}$Q(x,f(y))$\textbar{} $Q(f(u),f(z))$\textbar{}\textbar{} - \textbar{}$Q(x,f(x))$\textbar{} $Q(f(y),y)$\textbar{}\textbar{} - \textbar{}$R(x,g(x),g^2 (x))$\textbar{} $R(f(z),w,g(w))$ - \textbar{}\textbar{} - - \subsubsection{Zum allgemeinsten - Unifikator}\label{zum-allgemeinsten-unifikator} - - Eine Variablenumbenennung ist eine Substitution $\rho$, die $Def(\rho)$ - injektiv in die Menge der Variablen abbildet. - - \begin{quote} - Lemma - - Sind $\sigma_1$ und $\sigma_2$ allgemeinste Unifikatoren von $\alpha$ - und $\beta$, so existiert eine Variablenumbenennung $\rho$ mit - $\sigma_2=\sigma_1 \rho$. - \end{quote} - - Beweis: $\sigma_1$ und $\sigma_2$ allgemeinste Unifikatoren - $\Rightarrow$ es gibt Substitutionen $\tau_1$ und $\tau_2$ mit - $\sigma_1\tau_1 =\sigma_2$ und $\sigma_2\tau_2 =\sigma_1$. Definiere - eine Substitution $\rho$ durch: - $\rho(y) =\begin{cases} y\tau_1 \quad\text{ falls es x gibt, so dass y in } x\sigma_1 \text{ vorkommt}\\ y \quad\text{ sonst }\end{cases}$ - Wegen $Def(\rho)\subseteq Def(\tau_1)$ ist $Def(\rho)$ endlich, also - $\rho$ eine Substitution. - Für alle Variablen $x$ gilt dann - $x\sigma_1 \rho=x\sigma_1 \tau_1 =x\sigma_2$ und daher - $\sigma_2 =\sigma_1 \rho$. - Wir zeigen, dass $\rho(y)$ Variable und - $\rho$ auf $Def(\rho)$ injektiv ist: Sei $y\in Def(\rho)$. Dann - existiert Variable $x$, so dass $y$ in $x\sigma_1$ vorkommt. Es gilt - $x\sigma_1 =x\sigma_2\tau_2=x\sigma_1\tau_1\tau_2$, und damit - $y=y\tau_1 \tau_2 =y\rho \tau_2 =\rho(y)\tau_2$, d.h. $\rho(y)$ ist - Variable, die Abbildung $\rho:Def(\rho)\rightarrow\{z|z\ Variable\}$ ist - invertierbar (durch $\tau_2$) und damit injektiv. - - \subsubsection{Unifikationsalgorithmus}\label{unifikationsalgorithmus} + \note{Lemma}{Seien $\sigma$ Substitution, $x$ Variable und $t$ Term, so dass + \begin{itemize*} + \item (i) $x\not\in Def(\sigma)$ und + \item (ii) $x$ in keinem der Terme $y\sigma$ mit $y\in Def(\sigma)$ vorkommt. + Dann gilt $[x:=t]\sigma=\sigma[x:=t\sigma]$. + \end{itemize*} + } + Beispiele: Im folgenden sei $t=f(y)$. \begin{itemize*} - \itemsep1pt\parskip0pt\parsep0pt - \item - Eingabe: Paar$(\alpha,\beta)$ gleichungsfreier Atomformeln $\sigma:=$ - Substitution mit $Def(\sigma)=\varnothing$ (d.h. Identität) - \item - while $\alpha\sigma\not =\beta\sigma$ do - \item - Suche die erste Position, an der sich $\alpha\sigma$ und $\beta\sigma$ - unterscheiden - \item - if keines der beiden Symbole an dieser Position ist eine Variable - \item - then stoppe mit ``nicht unifizierbar'' - \item - else sei $x$ die Variable und $t$ der Term in der anderen Atomformel - (möglicherweise auch eine Variable) - - \begin{itemize*} - \item - if $x$ kommt in $t$ vor - \item - then stoppe mit ``nicht unifizierbar'' - \item - else $\sigma:=\sigma[x:=t]$ - \end{itemize*} - \item - endwhile - \item - Ausgabe: $\sigma$ + \item Ist $\sigma=[x:=g(z)]$, so gilt $x[x:=t]\sigma=t\sigma=t\not=g(z) =g(z)[x:=t\sigma] =x\sigma[x:=t\sigma]$. + \item Ist $\sigma= [y:=g(x)]$, so gilt $y[x:=t]\sigma=y\sigma=g(x) \not=g(f(g(x)))= g(x) [x:=t\sigma] =y\sigma[x:=t\sigma]$. + \item Ist $\sigma= [y:=g(z)]$, so gelten $Def([x:=t]\sigma) =\{x,y\}=Def(\sigma[x:=t\sigma]),[x:=t]\sigma(x) =f(g(z)) =\sigma[x:=t\sigma]$ und $[x:=t]\sigma(y) =\sigma(z) =\sigma[x:=t\sigma]$, also $[x:=t]\sigma=\sigma[x:=t\sigma]$. \end{itemize*} - \begin{quote} - Satz + Beweis: Wir zeigen $y[x:=t]\sigma=y\sigma[x:=t\sigma]$ für alle Variablen $y$. + \begin{itemize*} + \item $y=x$: Dann gilt $y[x:=t]\sigma=t\sigma$. Außerdem $y\sigma=x$ wegen $y=x\not\in Def(\sigma)$ und damit $y\sigma[x:=t\sigma]=x[x:=t\sigma]=t\sigma$. + \item $y\not =x$: Dann gilt $y[x:=t]\sigma=y\sigma$ und ebenso $y\sigma[x:=t\sigma]=y\sigma$, da $x$ in $y\sigma$ nicht vorkommt. + \end{itemize*} + \subsection{Unifikator/Allgemeinster Unifikator} + Gegeben seien zwei gleichungsfreie Atomformeln $\alpha$ und $\beta$. Eine Substitution $\sigma$ heißt Unifikator von $\alpha$ und $\beta$, falls $\alpha\sigma=\beta\sigma$. + + Ein Unifikator $\sigma$ von $\alpha$ und $\beta$ heißt allgemeinster Unifikator von $\alpha$ und $\beta$, falls für jeden Unifikator $\sigma'$ von $\alpha$ und $\beta$ eine Substitution $\tau$ mit $\sigma'=\sigma \tau$ existiert. + + Aufgabe: Welche der folgenden Paare $(\alpha,\beta)$ sind unifizierbar? + | $\alpha$ | $\beta$ | Ja | Nein | + | ------------------- | ---------------- | --- | ---- | + | $P(f(x))$ | $P(g(y))$ | | + | $P(x)$ | $P(f(y))$ | | + | $Q(x,f(y))$ | $Q(f(u),z)$ | | + | $Q(x,f(y))$ | $Q(f(u),f(z))$ | | + | $Q(x,f(x))$ | $Q(f(y),y)$ | | + | $R(x,g(x),g^2 (x))$ | $R(f(z),w,g(w))$ | | + + \subsubsection{Zum allgemeinsten Unifikator} + Eine Variablenumbenennung ist eine Substitution $\rho$, die $Def(\rho)$ injektiv in die Menge der Variablen abbildet. + + \note{Lemma}{Sind $\sigma_1$ und $\sigma_2$ allgemeinste Unifikatoren von $\alpha$ und $\beta$, so existiert eine Variablenumbenennung $\rho$ mit $\sigma_2=\sigma_1 \rho$.} + + Beweis: $\sigma_1$ und $\sigma_2$ allgemeinste Unifikatoren $\Rightarrow$ es gibt Substitutionen $\tau_1$ und $\tau_2$ mit $\sigma_1\tau_1 =\sigma_2$ und $\sigma_2\tau_2 =\sigma_1$. + Definiere eine Substitution $\rho$ durch: + $\rho(y) =\begin{cases} y\tau_1 \quad\text{ falls es x gibt, so dass y in } x\sigma_1 \text{ vorkommt}\\ y \quad\text{ sonst }\end{cases}$ + Wegen $Def(\rho)\subseteq Def(\tau_1)$ ist $Def(\rho)$ endlich, also $\rho$ eine Substitution. + \begin{itemize*} + \item Für alle Variablen $x$ gilt dann $x\sigma_1 \rho=x\sigma_1 \tau_1 =x\sigma_2$ und daher $\sigma_2 =\sigma_1 \rho$. + \item Wir zeigen, dass $\rho(y)$ Variable und $\rho$ auf $Def(\rho)$ injektiv ist: Sei $y\in Def(\rho)$. Dann existiert Variable $x$, so dass $y$ in $x\sigma_1$ vorkommt. Es gilt $x\sigma_1 =x\sigma_2\tau_2=x\sigma_1\tau_1\tau_2$, und damit $y=y\tau_1 \tau_2 =y\rho \tau_2 =\rho(y)\tau_2$, d.h. $\rho(y)$ ist Variable, die Abbildung $\rho:Def(\rho)\rightarrow\{z|z\ Variable\}$ ist invertierbar (durch $\tau_2$) und damit injektiv. + \end{itemize*} + + \subsubsection{Unifikationsalgorithmus} + \begin{itemize*} + \item Eingabe: Paar$(\alpha,\beta)$ gleichungsfreier Atomformeln $\sigma:=$ Substitution mit $Def(\sigma)=\varnothing$ (d.h. Identität) + \item while $\alpha\sigma\not =\beta\sigma$ do \begin{itemize*} - \item - \begin{enumerate*} - \def\labelenumi{(\Alph{enumi})} - \item - Der Unifikationsalgorithmus terminiert für jede Eingabe. - \end{enumerate*} - \item - \begin{enumerate*} - \def\labelenumi{(\Alph{enumi})} - \setcounter{enumi}{1} - \item - Wenn die Eingabe nicht unifizierbar ist, so terminiert der - Unifikationsalgorithmus mit der Ausgabe ``nicht unifizierbar''. - \end{enumerate*} - \item - \begin{enumerate*} - \def\labelenumi{(\Alph{enumi})} - \setcounter{enumi}{2} - \item - Wenn die Eingabe $(\alpha,\beta)$ unifizierbar ist, dann findet der - Unifikationsalgorithmus einen allgemeinsten Unifikator von $\alpha$ - und $\beta$. - \end{enumerate*} + \item Suche die erste Position, an der sich $\alpha\sigma$ und $\beta\sigma$ unterscheiden + \item if keines der beiden Symbole an dieser Position ist eine Variable + \item then stoppe mit "nicht unifizierbar" + \item else sei $x$ die Variable und $t$ der Term in der anderen Atomformel (möglicherweise auch eine Variable) + \begin{itemize*} + \item if $x$ kommt in $t$ vor + \item then stoppe mit "nicht unifizierbar" + \item else $\sigma:=\sigma[x:=t]$ + \end{itemize*} \end{itemize*} - \end{quote} + \item endwhile + \item Ausgabe: $\sigma$ + \end{itemize*} - \begin{enumerate*} - \def\labelenumi{(\Alph{enumi})} - \setcounter{enumi}{2} - \itemsep1pt\parskip0pt\parsep0pt - \item - besagt insbesondere, daß zwei unifizierbare gleichungsfreie - Atomformeln (wenigstens) einen allgemeinsten Unifikator haben. Nach - dem Lemma oben haben sie also genau einen allgemeinsten Unifikator - (bis auf Umbenennung der Variablen). - \end{enumerate*} + \note{Satz}{ + \begin{itemize*} + \item (A) Der Unifikationsalgorithmus terminiert für jede Eingabe. + \item (B) Wenn die Eingabe nicht unifizierbar ist, so terminiert der Unifikationsalgorithmus mit der Ausgabe "nicht unifizierbar". + \item (C) Wenn die Eingabe $(\alpha,\beta)$ unifizierbar ist, dann findet der Unifikationsalgorithmus einen allgemeinsten Unifikator von $\alpha$ und $\beta$. + \end{itemize*} + } + + (C) besagt insbesondere, daß zwei unifizierbare gleichungsfreie Atomformeln (wenigstens) einen allgemeinsten Unifikator haben. Nach dem Lemma oben haben sie also genau einen allgemeinsten Unifikator (bis auf Umbenennung der Variablen). Die drei Teilaussagen werden in getrennten Lemmata bewiesen werden. - \begin{quote} - Lemma (A) Der Unifikationsalgorithmus terminiert für jede - Eingabe($\alpha$, $\beta$). - \end{quote} + \note{Lemma (A)}{Der Unifikationsalgorithmus terminiert für jede Eingabe($\alpha$, $\beta$).} - Beweis: Wir zeigen, daß die Anzahl der in $\alpha\sigma$ oder - $\beta\sigma$ vorkommenden Variablen in jedem Durchlauf der - while-Schleife kleiner wird. Betrachte hierzu einen Durchlauf durch die - while-Schleife. Falls der Algorithmus in diesem Durchlauf nicht - terminiert, so wird $\sigma$ auf $\sigma[x:=t]$ gesetzt. Hierbei kommt - $x$ in $\alpha\sigma$ oder in $\beta\sigma$ vor und der Term $t$ enthält - $x$ nicht. Also kommt $x$ weder in $\alpha\sigma[x:=t]$ noch in - $\beta\sigma[x:=t]$ vor. + Beweis: Wir zeigen, daß die Anzahl der in $\alpha\sigma$ oder $\beta\sigma$ vorkommenden Variablen in jedem Durchlauf der while-Schleife kleiner wird. + Betrachte hierzu einen Durchlauf durch die while-Schleife. + Falls der Algorithmus in diesem Durchlauf nicht terminiert, so wird $\sigma$ auf $\sigma[x:=t]$ gesetzt. + Hierbei kommt $x$ in $\alpha\sigma$ oder in $\beta\sigma$ vor und der Term $t$ enthält $x$ nicht. + Also kommt $x$ weder in $\alpha\sigma[x:=t]$ noch in $\beta\sigma[x:=t]$ vor. - \begin{quote} - Lemma (B) Wenn die Eingabe nicht unifizierbar ist, so terminiert der - Unifikationsalgorithmus mit der Ausgabe ``nicht unifizierbar''. - \end{quote} + \note{Lemma (B)}{Wenn die Eingabe nicht unifizierbar ist, so terminiert der Unifikationsalgorithmus mit der Ausgabe "nicht unifizierbar".} - Beweis: Sei die Eingabe $(\alpha,\beta)$ nicht unifizierbar. Falls die - Bedingung $\alpha\sigma\not=\beta\sigma$ der while-Schleife irgendwann - verletzt wäre, so wäre $(\alpha,\beta)$ doch unifizierbar (denn $\sigma$ - wäre ja ein Unifikator). Da nach Lemma (A) der Algorithmus bei Eingabe - $(\alpha,\beta)$ terminiert, muss schließlich ``nicht unifizierbar'' - ausgegeben werden. + Beweis: Sei die Eingabe $(\alpha,\beta)$ nicht unifizierbar. + Falls die Bedingung $\alpha\sigma\not=\beta\sigma$ der while-Schleife irgendwann verletzt wäre, so wäre $(\alpha,\beta)$ doch unifizierbar (denn $\sigma$ wäre ja ein Unifikator). + Da nach Lemma (A) der Algorithmus bei Eingabe $(\alpha,\beta)$ terminiert, muss schließlich "nicht unifizierbar" ausgegeben werden. - \begin{quote} - Lemma (C1) Sei $\sigma'$ ein Unifikator der Eingabe $(\alpha,\beta)$, so - dass keine Variable aus $\alpha$ oder $\beta$ auch in einem Term aus - $\{y\sigma'|y\in Def(\sigma')\}$ vorkommt. Dann terminiert der - Unifikationsalgorithmus erfolgreich und gibt einen Unifikator $\sigma$ - von $\alpha$ und $\beta$ aus. Außerdem gibt es eine Substitution $\tau$ - mit $\sigma'=\sigma\tau$. - \end{quote} - - Beweis: - Sei $N\in\mathbb{N}$ die Anzahl der Durchläufe der - while-Schleife (ein solches $N$ existiert, da der Algorithmus nach Lemma - (A) terminiert). - Sei $\sigma_0$ Substitution mit - $Def(\sigma_0) =\varnothing$, d.h. die Identität. Für $1\leq i\leq N$ - sei $\sigma_i$ die nach dem $i$-ten Durchlauf der while-Schleife - berechnete Substitution $\sigma$. - Für $1\leq i\leq N$ sei $x_i$ die im - $i$-ten Durchlauf behandelte Variable $x$ und $t_i$ der entsprechende - Term $t$. - Für $0\leq i\leq N$ sei $\tau_i$ die Substitution mit - $\tau_i(x)=\sigma'(x)$ für alle - $x\in Def(\tau_i) =Def(\sigma')\backslash\{x_1,x_2,...,x_i\}$. - - Behauptung: 1. Für alle $0\leq i\leq N$ gilt $\sigma'=\sigma_i\tau_i$. - 2. Im $i$-ten Durchlauf durch die while-Schleife $(1\leq i\leq N)$ - terminiert der Algorithmus entweder erfolgreich (und gibt die - Substitution $\sigma_N$ aus) oder der Algorithmus betritt die beiden - else-Zweige. 3. Für alle $0\leq i\leq N$ enthalten - $\{\alpha\sigma_i,\beta\sigma_i\}$ und $T_i=\{y\tau_i|y\in Def(\tau_i)\}$ - keine gemeinsamen Variablen. - - Aus dieser Behauptung folgt tatsächlich die Aussage des Lemmas: - Nach - (2) terminiert der Algorithmus erfolgreich mit der Substitution - $\sigma_N$. Daher gilt aber $\alpha\sigma_N=\beta\sigma_N$, d.h. - $\sigma_N$ ist ein Unifikator. - Nach (1) gibt es auch eine Substitution - $\tau_n$ mit $\sigma'=\sigma_N\tau_n$. - - \begin{quote} - Lemma (C) Sei die Eingabe $(\alpha,\beta)$ unifizierbar. Dann terminiert - der Unifikationsalgorithmus erfolgreich und gibt einen allgemeinsten - Unifikator $\sigma$ von $\alpha$ und $\beta$ aus. - \end{quote} - - Beweis: Sei $\sigma'$ ein beliebiger Unifikator von $\alpha$ und - $\beta$. Sei $Y=\{y_1,y_2,... ,y_n\}$ die Menge aller Variablen, die in - $\{y\sigma'|y\in Def(\sigma')\}$ vorkommen. Sei $Z=\{z_1,z_2,...,z_n\}$ - eine Menge von Variablen, die weder in $\alpha$ noch in $\beta$ - vorkommen. Sei $\rho$ die Variablenumbenennung mit - $Def(\rho)=Y\cup Z,\rho(y_i) =z_i$ und $\rho(z_i)=y_i$ für alle - $1\leq i\leq n$. Dann ist auch $\sigma'\rho$ ein Unifikator von $\alpha$ - und $\beta$ und keine Variable aus $\alpha$ oder $\beta$ kommt in einem - der Terme aus $\{y\sigma'\rho|y\in Def(\sigma')\}$ vor. Nach Lemma (C1) - terminiert der Unifikationsalgorithmus erfolgreich mit einem Unifikator - $\sigma$ von $\alpha$ und $\beta$, so dass es eine Substitution $\tau$ - gibt mit $\sigma'\rho=\sigma\tau$. Also gilt - $\sigma'=\sigma(\tau\rho^{-1})$. Da $\sigma'$ ein beliebiger Unifikator - von $\alpha$ und $\beta$ war und da die Ausgabe $\sigma$ des Algorithmus - nicht von $\sigma'$ abhängt, ist $\sigma$ also ein allgemeinster - Unifikator. - - \begin{quote} - Satz - - \begin{itemize*} - \item - \begin{enumerate*} - \def\labelenumi{(\Alph{enumi})} - \item - Der Unifikationsalgorithmus terminiert für jede Eingabe. - \end{enumerate*} - \item - \begin{enumerate*} - \def\labelenumi{(\Alph{enumi})} - \setcounter{enumi}{1} - \item - Wenn die Eingabe nicht unifizierbar ist, so terminiert der - Unifikationsalgorithmus mit der Ausgabe ``nicht unifizierbar''. - \end{enumerate*} - \item - \begin{enumerate*} - \def\labelenumi{(\Alph{enumi})} - \setcounter{enumi}{2} - \item - Wenn die Eingabe $(\alpha,\beta)$ unifizierbar ist, dann findet der - Unifikationsalgorithmus immer einen allgemeinsten Unifikator von - $\alpha$ und $\beta$. - \end{enumerate*} - \end{itemize*} - \end{quote} - - \begin{enumerate*} - \def\labelenumi{(\Alph{enumi})} - \setcounter{enumi}{2} - \itemsep1pt\parskip0pt\parsep0pt - \item - besagt insbesondere, daß zwei unifizierbare gleichungsfreie - Atomformeln(wenigstens) einen allgemeinsten Unifikator haben. Damit - haben sie aber genau einen allgemeinsten Unifikator (bis auf - Umbenennung der Variablen). - \end{enumerate*} - - \subsection{Prädikatenlogische - SLD-Resolution}\label{pruxe4dikatenlogische-sld-resolution} - - Erinnerung - Eine Horn-Klausel der Prädikatenlogik ist eine Aussage der - Form - $\forall x_1 \forall x_2... \forall x_n ((\lnot\bot \wedge\alpha_1 \wedge\alpha_2 \wedge...\wedge\alpha_m)\rightarrow\beta)=\Psi$ - mit $m\geq 0$, atomaren Formeln $\alpha_1,...,\alpha_m$ und $\beta$ - atomare Formel oder $\bot$. Sie ist definit, wenn $\beta\not =\bot$. - - $E(\varphi) =\{\Psi[x_1 :=t_1 ][x_2 :=t_2 ]...[x_n:=tn]|t_1 ,t_2 ,...,t_n\in D(\sigma)\}$ - - Eine Horn-Klausel der Aussagenlogik ist eine Formel der Form - $(\lnot\bot\wedge q_1 \wedge q_2 \wedge... \wedge q_m)\rightarrow r$ mit - $m\geq 0$, atomaren Formeln $q_1,q_2,...,q_m,r$ atomare Formel oder - $\bot$. - - Schreib- und Sprechweise: Für die Horn-Klausel der Prädikatenlogik - $\forall x_1...\forall x_n(\lnot\bot \wedge \alpha_1 \wedge \alpha_2 \wedge...\wedge \alpha_m)\rightarrow\beta$ - schreiben wir kürzer - $\{\alpha_1,\alpha_2,...,\alpha_m\}\rightarrow\beta$. insbes. - $\varnothing\rightarrow\beta$ für - $\forall x_1...\forall x_n(\lnot\bot\rightarrow\beta)$ - - Erinnerung: Sei $\Gamma$ eine Menge von Horn-Klauseln der Aussagenlogik. - Eine aussagenlogische SLD-Resolution aus $\Gamma$ ist eine Folge - $(M_0 \rightarrow\bot,M_1 \rightarrow\bot,...,M_m\rightarrow\bot)$ von - Hornklauseln mit - $(M_0\rightarrow\bot)\in\Gamma$ und - für alle - $0\leq n -goal - < Frage ohne "?-" einfügen> -\end{verbatim} - - \begin{enumerate*} - \setcounter{enumi}{1} - \itemsep1pt\parskip0pt\parsep0pt - \item - Beispiel 2 (BSP2.PRO) - \end{enumerate*} - + \subsubsection{PROLOG aus logischer Sicht} + Was muss der Programmierer tun? \begin{itemize*} - \itemsep1pt\parskip0pt\parsep0pt - \item - Kollegen Meier und Müller arbeiten im Raum 1, Kollege Otto im Raum 2 - und Kollege Kraus im Raum 3. - \item - arbeitet\_in(meier,raum\_1). - \item - arbeitet\_in(mueller,raum\_1). - \item - arbeitet\_in(otto,raum\_2). - \item - arbeitet\_in(kraus,raum\_3). - \item - Netzanschlüsse gibt es in den Räumen 2 und 3. - \item - anschluss\_in(raum\_2). - \item - anschluss\_in(raum\_3). - \item - Ein Kollege ist erreichbar, wenn er in einem Raum mit Netzanschluss - arbeitet. - \item - erreichbar(K) :- arbeitet\_in(K,R),anschluss\_in(R). - \item - 2 Kollegen können Daten austauschen, wenn sie im gleichen Raum - arbeiten oder beide erreichbar sind. - \item - koennen\_daten\_austauschen(K1,K2) :- - arbeitet\_in(K1,R),arbeitet\_in(K2,R). - \item - koennen\_daten\_austauschen(K1,K2) :- erreichbar(K1),erreichbar(K2). + \item Formulierung einer Menge von Fakten und Regeln (kurz: Klauseln), d.h. einer Wissensbasis $M\equiv\{K_1,...,K_n\}$ + \item Formulierung einer negierten Hypothese (Frage, Ziel) $\lnot H\equiv\bigwedge_{i=1}^m H_i \equiv false\leftarrow \bigwedge_{i=1}^m H_i$ \end{itemize*} + Was darf der Programmierer erwarten? + \begin{itemize*} + \item Dass das "Deduktionstool" PROLOG $M \Vdash H$ zu zeigen versucht, d.h. $kt(\bigwedge_{i=1}^n K_i\wedge \lnot H)$ ) + \item ..., indem systematisch die Resolutionsmethode auf $\lnot H$ und eine der Klauseln aus $M$ angewandt wird, solange bis $\lnot H\equiv false\leftarrow true$ entsteht + \end{itemize*} + + \paragraph{Formulierung von Wissensbasen} + Beispiel 1 (BSP1.PRO) + \begin{itemize*} + \item Yoshihito und Sadako sind die Eltern von Hirohito. + \begin{itemize*} + \item vater\_von(yoshihito,hirohito). + \item mutter\_von(sadako,hirohito). + \end{itemize*} + \item Kuniyoshi und Chikako sind die Eltern von Nagako. + \begin{itemize*} + \item vater\_von(kunioshi,nagako). + \item mutter\_von(chikako,nagako). + \end{itemize*} + \item Akihito‘s und Hitachi‘s Eltern sind Hirohito und Nagako. + \begin{itemize*} + \item vater\_von(hirohito,akihito). + \item vater\_von(hirohito,hitachi). + \item mutter\_von(nagako,akihito). + \item mutter\_von(nagako,hitachi). + \end{itemize*} + \item Der Großvater ist der Vater des Vaters oder der Vater der Mutter. + \begin{itemize*} + \item grossvater\_von(G,E) :- vater\_von(G,V), vater\_von(V,E). + \item grossvater\_von(G,E) :-vater\_von(G,M),mutter\_von(M,E). + \end{itemize*} + \item Geschwister haben den gleichen Vater und die gleiche Mutter. + \begin{itemize*} + \item geschwister(X,Y) :- vater\_von(V,X), vater\_von(V,Y), mutter\_von(M,X), mutter\_von(M,Y). + \end{itemize*} + \end{itemize*} + + Visual Prolog benötigt aber einen Deklarationsteil für Datentypen und Aritäten der Prädikate, der für die o.g. Wissensbasis so aussieht: + \begin{lstlisting} + domains + person = symbol + predicates + vater_von(person,person) % bei nichtdeterministischen Praedikaten + mutter_von(person,person). % kann man "nondeterm" vor das + grossvater_von(person,person) % Praedikat schreiben, um die + geschwister(person,person) % Kompilation effizienter zu machen + clauses + < Wissensbasis einfuegen und Klauseln gleichen Kopfpraedikates gruppieren> + goal + < Frage ohne "?-" einfuegen> + \end{lstlisting} + Deklarationsteil + \begin{lstlisting} + domains + person, raum: symbol + predicates + arbeitet_in(person,raum) + ansluss_in(raum) + erreichbar(person) + koennen_daten_austauschen(person,person) + clauses + ... + goal + ... + \end{lstlisting} - \begin{verbatim} -domains - person, raum: symbol -predicates - arbeitet_in(person,raum) - ansluss_in(raum) - erreichbar(person) - koennen_daten_austauschen(person,person) -clauses - ... -goal - ... -\end{verbatim} + \paragraph{Verarbeitung Logischer Programme} + \paragraph{Veranschaulichung ohne Unifikation} + %\includegraphics[width=\linewidth]{Assets/Logik-prolog-ohne-unifikation.png) - \paragraph{Verarbeitung Logischer - Programme}\label{verarbeitung-logischer-programme} + Tiefensuche mit Backtrack: + Es werden anwendbare Klauseln für das erste Teilziel gesucht. Gibt es ... + \begin{itemize*} + \item ... genau eine, so wird das 1. Teilziel durch deren Körper ersetzt. + \item ... mehrere, so wird das aktuelle Ziel inklusive alternativ anwendbarer Klauseln im Backtrack-Keller abgelegt und die am weitesten oben stehende Klausel angewandt. + \item ... keine (mehr), so wird mit dem auf dem Backtrack-Keller liegendem Ziel die Bearbeitung fortgesetzt. + \end{itemize*} - \subparagraph{Veranschaulichung ohne - Unifikation}\label{veranschaulichung-ohne-unifikation} + Dies geschieht solange, bis + \begin{itemize*} + \item das aktuelle Ziel leer ist oder + \item keine Klausel (mehr) anwendbar ist und der Backtrack-Keller leer ist. + \end{itemize*} - \includegraphics[width=\linewidth]{Assets/Logik-prolog-ohne-unifikation.png} + \paragraph{Veranschaulichung mit Unifikation} + %\includegraphics[width=\linewidth]{Assets/Logik-prolog-mit-unifikation.png) - Tiefensuche mit Backtrack: Es werden anwendbare Klauseln für das erste - Teilziel gesucht. Gibt es \ldots{} - \ldots{} genau eine, so wird das 1. - Teilziel durch deren Körper ersetzt. - \ldots{} mehrere, so wird das - aktuelle Ziel inklusive alternativ anwendbarer Klauseln im - Backtrack-Keller abgelegt und die am weitesten oben stehende Klausel - angewandt. - \ldots{} keine (mehr), so wird mit dem auf dem - Backtrack-Keller liegendem Ziel die Bearbeitung fortgesetzt. - - Dies geschieht solange, bis - das aktuelle Ziel leer ist oder - keine - Klausel (mehr) anwendbar ist und der Backtrack-Keller leer ist. - - \subparagraph{Veranschaulichung mit - Unifikation}\label{veranschaulichung-mit-unifikation} + Zusätzliche Markierung der Kanten mit der Variablenersetzung (dem Unifikator). - \includegraphics[width=\linewidth]{Assets/Logik-prolog-mit-unifikation.png} + \subsubsection{PROLOG aus prozeduraler Sicht} + Beispiel: die "Hackordnung" + \begin{enumerate*} + \item chef\_von(mueller,mayer). + \item chef\_von(mayer,otto). + \item chef\_von(otto,walter). + \item chef\_von(walter,schulze). + \item weisungsrecht(X,Y) :- chef\_von(X,Y). + \item weisungsrecht(X,Y) :- chef\_von(X,Z), weisungsrecht(Z,Y). + \end{enumerate*} - Zusätzliche Markierung der Kanten mit der Variablenersetzung (dem - Unifikator). + \note{Deklarative Interpretation}{In einem Objektbereich $I=\{mueller, mayer, schulze, ...\}$ bildet das Prädikat $weisungsrecht(X,Y)$ $[X,Y]$ auf wahr ab, gdw. + \begin{itemize*} + \item das Prädikat $chef_von(X,Y)$ das Paar $[X,Y]$ auf wahr abbildet oder + \item es ein $Z\in I$ gibt, so dass + \begin{itemize*} + \item das Prädikat $chef_von(X,Z)$ das Paar $[X,Z]$ auf wahr abbildet und + \item das Prädikat $weisungsrecht(Z,Y)$ das Paar $[Z,Y]$ auf wahr abbildet. + \end{itemize*} + \end{itemize*} + } - \subsubsection{PROLOG aus prozeduraler - Sicht}\label{prolog-aus-prozeduraler-sicht} + \note{Prozedurale Interpretation}{Die Prozedur $weisungsrecht(X,Y)$ wird abgearbeitet, indem + \begin{enumerate*} + \item die Unterprozedur $chef_von(X,Y)$ abgearbeitet wird. Im Erfolgsfall ist die Abarbeitung beendet; anderenfalls werden + \item die Unterprozeduren $chef_von(X,Z)$ und $weisungsrecht(Z,Y)$ abgearbeitet; indem systematisch Prozedurvarianten beider Unterprozeduren aufgerufen werden. Dies geschieht bis zum Erfolgsfall oder erfolgloser erschöpfender Suche. + \end{enumerate*} + } - Beispiel: die ``Hackordnung'' 1. chef\_von(mueller,mayer). 2. - chef\_von(mayer,otto). 3. chef\_von(otto,walter). 4. - chef\_von(walter,schulze). 5. weisungsrecht(X,Y) :- chef\_von(X,Y). 6. - weisungsrecht(X,Y) :- chef\_von(X,Z), weisungsrecht(Z,Y). - \begin{quote} - Deklarative Interpretation In einem Objektbereich - $I=\{mueller, mayer, schulze, ...\}$ bildet das Prädikat - $weisungsrecht(X,Y)$ $[X,Y]$ auf wahr ab, gdw. - das Prädikat - $chef_von(X,Y)$ das Paar $[X,Y]$ auf wahr abbildet oder - es ein - $Z\in I$ gibt, so dass - das Prädikat $chef_von(X,Z)$ das Paar $[X,Z]$ - auf wahr abbildet und - das Prädikat $weisungsrecht(Z,Y)$ das Paar - $[Z,Y]$ auf wahr abbildet. - \end{quote} + | deklarative Interpretation | prozedurale Interpretation | + | ---------------------------------- | -------------------------- | + | Prädikat | Prozedur | + | Ziel | Prozeduraufruf | + | Teilziel | Unterprozedur | + | Klauseln mit gleichem Kopfprädikat | Prozedur-varianten | + | Klauselkopf | Prozedurkopf | + | Klauselkörper | Prozedurrumpf | - \begin{quote} - Prozedurale Interpretation Die Prozedur $weisungsrecht(X,Y)$ wird - abgearbeitet, indem 1. die Unterprozedur $chef_von(X,Y)$ abgearbeitet - wird. Im Erfolgsfall ist die Abarbeitung beendet; anderenfalls werden 2. - die Unterprozeduren $chef_von(X,Z)$ und $weisungsrecht(Z,Y)$ - abgearbeitet; indem systematisch Prozedurvarianten beider - Unterprozeduren aufgerufen werden.Dies geschieht bis zum Erfolgsfall - oder erfolgloser erschöpfender Suche. - \end{quote} - - \begin{tabular}{ll} - deklarative Interpretation & prozedurale Interpretation \\\hline - Prädikat & Prozedur \\ - Ziel & Prozeduraufruf \\ - Teilziel & Unterprozedur \\ - Klauseln mit gleichem Kopfprädikat & Prozedur-varianten \\ - Klauselkopf & Prozedurkopf \\ - Klauselkörper & Prozedurrumpf \\ - \end{tabular} - - Die Gratwanderung zwischen Wünschenswertem und technisch Machbarem - erfordert mitunter ``Prozedurales Mitdenken'', um 1. eine gewünschte - Reihenfolge konstruktiver Lösungen zu erzwingen, 2. nicht terminierende - (aber - deklarativ, d.h. logisch interpretiert - völlig korrekte) - Programme zu vermeiden, 3. seiteneffektbehaftete Prädikate sinnvoll - einzusetzen, 4. (laufzeit-) effizienter zu programmieren und 5. das - Suchverfahren gezielt zu manipulieren. + Die Gratwanderung zwischen Wünschenswertem und technisch Machbarem erfordert mitunter "Prozedurales Mitdenken", um + \begin{enumerate*} + \item eine gewünschte Reihenfolge konstruktiver Lösungen zu erzwingen, + \item nicht terminierende (aber - deklarativ, d.h. logisch interpretiert - völlig korrekte) Programme zu vermeiden, + \item seiteneffektbehaftete Prädikate sinnvoll einzusetzen, + \item (laufzeit-) effizienter zu programmieren und + \item das Suchverfahren gezielt zu manipulieren. + \end{enumerate*} Programm inkl. Deklarationsteil (BSP3.PRO) + \begin{lstlisting} + domains + person = symbol + predicates + chef_von(person,person) + weisungsrecht(person,person) + clauses + chef_von(mueller,mayer). + chef_von(mayer,otto). + chef_von(otto,walter). + chef_von(walter,schulze). + weisungsrecht(X,Y) :- chef_von(X,Y). + weisungsrecht(X,Y) :- chef_von(X,Z), weisungsrecht(Z,Y). + goal + weisungsrecht(Wer,Wem). + \end{lstlisting} - \begin{verbatim} -domains - person = symbol -predicates - chef_von(person,person) - weisungsrecht(person,person) -clauses - chef_von(mueller,mayer). - chef_von(mayer,otto). - chef_von(otto,walter). - chef_von(walter,schulze). - weisungsrecht(X,Y) :- chef_von(X,Y). - weisungsrecht(X,Y) :- chef_von(X,Z), weisungsrecht(Z,Y). -goal - weisungsrecht(Wer,Wem). -\end{verbatim} + Prädikate zur Steuerung der Suche nach einer Folge von Resolutionsschritten! - Prädikate zur Steuerung der Suche nach einer Folge von - Resolutionsschritten! - - !(cut) Das Prädikat $!/0$ ist stets wahr. In Klauselkörpern eingefügt - verhindert es ein Backtrack der hinter $!/0$ stehenden Teilziele zu den - vor $!/0$ stehenden Teilzielen sowie zu alternativen Klauseln des - gleichen Kopfprädikats. Die Verarbeitung von $!/0$ schneidet demnach - alle vor der Verarbeitung verbliebenen Lösungswege betreffenden Prozedur - ab. + !(cut) + Das Prädikat $!/0$ ist stets wahr. In Klauselkörpern eingefügt verhindert es ein Backtrack der hinter $!/0$ stehenden Teilziele zu den vor $!/0$ stehenden Teilzielen sowie zu alternativen Klauseln des gleichen Kopfprädikats. Die Verarbeitung von $!/0$ schneidet demnach alle vor der Verarbeitung verbliebenen Lösungswege betreffenden Prozedur ab. Prädikate zur Steuerung der Suche: $!/0$ - \includegraphics[width=\linewidth]{Assets/Logik-prädikate-suche.png} + %\includegraphics[width=\linewidth]{Assets/Logik-prädikate-suche.png) - Prädikate zur Steuerung der Suche nach einer Folge von - Resolutionsschritten \textbf{fail} Das Prädikat $fail/0$ ist stets - falsch. In Klauselkörpern eingefügt löst es ein Backtrack aus bzw. führt - zum Misserfolg, falls der Backtrack-Keller leer ist, d.h. falls es keine - verbleibenden Lösungswege (mehr) gibt. - \includegraphics[width=\linewidth]{Assets/Logik-prädikate-suche-fail.png} - \includegraphics[width=\linewidth]{Assets/Logik-prädikate-suche-fail-2.png} - \subsubsection{Listen und rekursive - Problemlösungsstrategien}\label{listen-und-rekursive-problemluxf6sungsstrategien} + Prädikate zur Steuerung der Suche nach einer Folge von Resolutionsschritten + **fail** + Das Prädikat $fail/0$ ist stets falsch. In Klauselkörpern eingefügt löst es ein Backtrack aus bzw. führt zum Misserfolg, falls der Backtrack-Keller leer ist, d.h. falls es keine verbleibenden Lösungswege (mehr) gibt. + ![BSP4.PRO](Assets/Logik-prädikate-suche-fail.png) + ![BSP4.PRO](Assets/Logik-prädikate-suche-fail-2.png) - Listen 1. $[]$ ist eine Liste. 2. Wenn $T$ ein Term und $L$ eine Liste - ist, dann ist 1. $[T|L]$ eine Liste. 2. $T.L$ eine Liste. - (ungebräuchlich) 3. $.(T,L)$ eine Liste. (ungebräuchlich) Das erste - Element $T$ heißt Listenkopf, $L$ heißt Listenkörper oder Restliste. 3. - Wenn $t_1, ... ,t_n$ Terme sind, so ist $[t_1,...,t_n]$ eine Liste. 4. - Weitere Notationsformen von Listen gibt es nicht. + \subsubsection{Listen und rekursive Problemlösungsstrategien} + Listen + \begin{enumerate*} + \item $[]$ ist eine Liste. + \item Wenn $T$ ein Term und $L$ eine Liste ist, dann ist + \begin{enumerate*} + \item $[T|L]$ eine Liste. + \item $T.L$ eine Liste. (ungebräuchlich) + \item $.(T,L)$ eine Liste. (ungebräuchlich) + \item Das erste Element $T$ heißt Listenkopf, $L$ heißt Listenkörper oder Restliste. + \end{enumerate*} + \item Wenn $t_1, ... ,t_n$ Terme sind, so ist $[t_1,...,t_n]$ eine Liste. + \item Weitere Notationsformen von Listen gibt es nicht. + \end{enumerate*} - Listen als kompakte Wissensrepräsentation: ein bekanntes Beispiel - (BSP5.PRO) - arbeiten\_in({[}meier, mueller{]}, raum\_1). - - arbeitet\_in(meier, raum\_1). - arbeitet\_in(mueller, raum\_1). - - arbeitet\_in(otto, raum\_2). - arbeiten\_in({[}otto{]}, raum\_2 ). - - arbeitet\_in(kraus, raum\_3). - arbeiten\_in({[}kraus{]}, raum\_3 ). - - anschluesse\_in({[}raum\_2, raum\_3{]}). - anschluss\_in(raum\_2). - - anschluss\_in(raum\_3). + Listen als kompakte Wissensrepräsentation: ein bekanntes Beispiel (BSP5.PRO) + \begin{lstlisting} + - arbeiten_in([meier, mueller], raum_1). + - arbeitet_in(meier, raum_1). + - arbeitet_in(mueller, raum_1). + - arbeitet_in(otto, raum_2). + - arbeiten_in([otto], raum_2 ). + - arbeitet_in(kraus, raum_3). + - arbeiten_in([kraus], raum_3 ). + - anschluesse_in([raum_2, raum_3]). + - anschluss_in(raum_2). + - anschluss_in(raum_3). + \end{lstlisting} - \textbf{Rekursion} in der Logischen Programmierung Eine Prozedur heißt - (direkt) rekursiv, wenn in mindestens einem der Klauselkörper ihrer - Klauseln ein erneuter Aufruf des Kopfprädikates erfolgt. Ist der - Selbstaufruf die letzte Atomformel des Klauselkörpers der letzten - Klausel dieser Prozedur - bzw. wird er es durch vorheriges - ``Abschneiden'' nachfolgender Klauseln mit dem Prädikat $!/0$ - , so - spricht man von Rechtsrekursion ; anderenfalls von Linksrekursion. Eine - Prozedur heißt indirekt rekursiv, wenn bei der Abarbeitung ihres - Aufrufes ein erneuter Aufruf derselben Prozedur erfolgt. + **Rekursion** in der Logischen Programmierung + Eine Prozedur heißt (direkt) rekursiv, wenn in mindestens einem der Klauselkörper ihrer Klauseln ein erneuter Aufruf des Kopfprädikates erfolgt. + Ist der Selbstaufruf die letzte Atomformel des Klauselkörpers der letzten Klausel dieser Prozedur - bzw. wird er es durch vorheriges "Abschneiden" nachfolgender + Klauseln mit dem Prädikat $!/0$ - , so spricht man von Rechtsrekursion ; anderenfalls von Linksrekursion. + Eine Prozedur heißt indirekt rekursiv, wenn bei der Abarbeitung ihres Aufrufes ein erneuter Aufruf derselben Prozedur erfolgt. - Wissensverarbeitung mit Listen: (BSP5.PRO) - erreichbar(K) :- - arbeitet\_in(K,R), anschluss\_in(R). - erreichbar(K) :- - anschluesse\_in(Rs), member(R, Rs), arbeiten\_in(Ks, R), member(K, Ks). - - koennen\_daten\_austauschen(K1,K2) :- - arbeitet\_in(K1,R),arbeitet\_in(K2,R). - - koennen\_daten\_austauschen(K1,K2) :- - arbeiten\_in(Ks,\emph{),member(K1,Ks), member(K2,Ks). - - koennen}daten\_austauschen(K1,K2) :- erreichbar(K1),erreichbar(K2). - - koennen\_daten\_austauschen(K1,K2) :- erreichbar(K1),erreichbar(K2). + Wissensverarbeitung mit Listen: (BSP5.PRO) + \begin{lstlisting} + - erreichbar(K) :- arbeitet_in(K,R), anschluss_in(R). + - erreichbar(K) :- anschluesse_in(Rs), member(R, Rs), arbeiten_in(Ks, R), member(K, Ks). + - koennen_daten_austauschen(K1,K2) :- arbeitet_in(K1,R),arbeitet_in(K2,R). + - koennen_daten_austauschen(K1,K2) :- arbeiten_in(Ks,_),member(K1,Ks), member(K2,Ks). + - koennen_daten_austauschen(K1,K2) :- erreichbar(K1),erreichbar(K2). + - koennen_daten_austauschen(K1,K2) :- erreichbar(K1),erreichbar(K2). + \end{lstlisting} BSP5.PRO + \begin{lstlisting} + domains + person, raum = symbol + raeume = raum* + personen = person* + predicates + arbeiten_in(personen, raum) + anschluesse_in(raeume) + erreichbar(person) + koennen_daten_austauschen(person,person) + member(person,personen) + member(raum,raeume) + clauses + ... (siehe oben) + member(E,[E|_]). + member(E,[_|R]) :- member(E,R). + goal + erreichbar(Wer). + \end{lstlisting} - \begin{verbatim} -domains - person, raum = symbol - raeume = raum* - personen = person* -predicates - arbeiten_in(personen, raum) - anschluesse_in(raeume) - erreichbar(person) - koennen_daten_austauschen(person,person) - member(person,personen) - member(raum,raeume) -clauses - ... (siehe oben) - member(E,[E|_]). - member(E,[_|R]) :- member(E,R). -goal - erreichbar(Wer). -\end{verbatim} + **Unifikation 2er Listen** + \begin{enumerate*} + \item Zwei leere Listen sind (als identische Konstanten aufzufassen und daher) miteinander unifizierbar. + \item Zwei nichtleere Listen $[K_1|R_1]$ und $[K_2|R_2]$ sind miteinander unifizierbar, wenn ihre Köpfe ($K_1$ und $K_2$) und ihre Restlisten ($R_1$ und $R_2$) jeweils miteinander unifizierbar sind. + \item Eine Liste $L$ und eine Variable $X$ sind miteinander unifizierbar, wenn die Variable selbst nicht in der Liste enthalten ist. Die Variable $X$ wird bei erfolgreicher Unifikation mit der Liste $L$ instanziert: $X:=L$. + \end{enumerate*} - \textbf{Unifikation 2er Listen} 1. Zwei leere Listen sind (als - identische Konstanten aufzufassen und daher) miteinander unifizierbar. - 1. Zwei nichtleere Listen $[K_1|R_1]$ und $[K_2|R_2]$ sind miteinander - unifizierbar, wenn ihre Köpfe ($K_1$ und $K_2$) und ihre Restlisten - ($R_1$ und $R_2$) jeweils miteinander unifizierbar sind. 3. Eine Liste - $L$ und eine Variable $X$ sind miteinander unifizierbar, wenn die - Variable selbst nicht in der Liste enthalten ist. Die Variable $X$ wird - bei erfolgreicher Unifikation mit der Liste $L$ instanziert: $X:=L$. + **Differenzlisten:** eine intuitive Erklärung + Eine Differenzliste $L_1 - L_2$ besteht aus zwei Listen $L_1$ und $L_2$ und wird im allgemeinen als $[L_1,L_2]$ oder (bei vorheriger Definition eines pre- bzw. infix notierten Funktionssymbols + -/2) als $-(L_1,L_2)$ bzw. $L_1-L_2$ notiert. - \textbf{Differenzlisten:} eine intuitive Erklärung Eine Differenzliste - $L_1 - L_2$ besteht aus zwei Listen $L_1$ und $L_2$ und wird im - allgemeinen als $[L_1,L_2]$ oder (bei vorheriger Definition eines pre- - bzw. infix notierten Funktionssymbols -/2) als $-(L_1,L_2)$ bzw. - $L_1-L_2$ notiert. + Sie wird (vom Programmierer, nicht vom PROLOG-System!) als eine Liste interpretiert, deren Elemente sich aus denen von $L_1$ abzüglich derer von $L_2$ ergeben. Differenzlisten verwendet man typischerweise, wenn häufig Operationen am Ende von Listen vorzunehmen sind. - Sie wird (vom Programmierer, nicht vom PROLOG-System!) als eine Liste - interpretiert, deren Elemente sich aus denen von $L_1$ abzüglich derer - von $L_2$ ergeben. Differenzlisten verwendet man typischerweise, wenn - häufig Operationen am Ende von Listen vorzunehmen sind. + Eine Definition + \begin{enumerate*} + \item Die Differenz aus einer leeren Liste und einer (beliebigen) Liste ist die leere Liste: $[] - L = []$ + \item Die Differenz aus einer Liste $[E|R]$ und der Liste $L$, welche $E$ enthält, ist die Liste $D$, + wenn die Differenz aus $R$ und $L$ (abzügl. $E$) die Liste $D$ ist: $[E|R]-L = D$, wenn $E\in L$ und $R-(L-[E]) = D$ + \item Die Differenz aus einer Liste $[E|R]$ und einer Liste $L$, welche $E$ nicht enthält, ist die Liste $[E|D]$, wenn die Differenz aus $R$ und $L$ die Liste $D$ ist: $[E|R] - L = [E|D]$, wenn $E\in L$ und $R-L=D$ + \end{enumerate*} - Eine Definition 1. Die Differenz aus einer leeren Liste und einer - (beliebigen) Liste ist die leere Liste: $[] - L = []$ 2. Die Differenz - aus einer Liste $[E|R]$ und der Liste $L$, welche $E$ enthält, ist die - Liste $D$, wenn die Differenz aus $R$ und $L$ (abzügl. $E$) die Liste - $D$ ist: $[E|R]-L = D$, wenn $E\in L$ und $R-(L-[E]) = D$ 3. Die - Differenz aus einer Liste $[E|R]$ und einer Liste $L$, welche $E$ nicht - enthält, ist die Liste $[E|D]$, wenn die Differenz aus $R$ und $L$ die - Liste $D$ ist: $[E|R] - L = [E|D]$, wenn $E\in L$ und $R-L=D$ + Differenzlisten: Ein Interpreter $interpret(Differenzliste,Interpretation)$ (BSP6.PRO) + \begin{enumerate*} + \item $interpret([[],_],[]).$ + \item $interpret([[E|R],L] , D ) :- loesche(E , L, L1),! , interpret( [ R , L1 ] , D ).$ + \item $interpret([[E|R],L] , [E|D] ) :- interpret([R,L],D).$ + \item $loesche(E, [E|R], R) :-!.$ + \item $loesche(E, [K|R], [K|L]) :- loesche(E,R,L).$ + \end{enumerate*} - Differenzlisten: Ein Interpreter - $interpret(Differenzliste,Interpretation)$ (BSP6.PRO) 1. - $interpret([[],_],[]).$ 2. - $interpret([[E|R],L] , D ) :- loesche(E , L, L1),! , interpret( [ R , L1 ] , D ).$ - 3. $interpret([[E|R],L] , [E|D] ) :- interpret([R,L],D).$ 4. - $loesche(E, [E|R], R) :-!.$ 5. - $loesche(E, [K|R], [K|L]) :- loesche(E,R,L).$ - - \subsubsection{Prolog-Fallen}\label{prolog-fallen} - - \paragraph{Nicht terminierende - Programme}\label{nicht-terminierende-programme} - - Ursache: ``ungeschickt'' formulierte (direkte oder indirekte) Rekursion - - \subparagraph{Alternierende - Zielklauseln}\label{alternierende-zielklauseln} - - Ein aktuelles Ziel wiederholt sich und die Suche nach einer Folge von - Resolutionsschritten endet nie: 1. $liegt_auf(X,Y) :- liegt_unter(Y,X).$ - 2. $liegt_unter(X,Y) :- liegt_auf(Y,X).$ - - $?- liegt_auf( skript, pult ).$ - logisch korrekte Antwort: nein - - tatsächliche Antwort: keine Logische Programmierung - - oder die Suche nach Resolutionsschritten endet mit einem Überlauf des - Backtrack-Kellers: (BSP8.PRO) 1. $liegt_auf(X,Y) :- liegt_unter(Y,X).$ - 2. $liegt_auf( skript , pult ).$ 3. - $liegt_unter(X,Y) :- liegt_auf(Y,X).$ - $?- liegt_auf( skript , pult ).$ - - logisch korrekte Antwort: ja - tatsächliche Antwort: keine - - \subparagraph{Expandierende - Zielklauseln}\label{expandierende-zielklauseln} - - Das erste Teilziel wird in jeden Resolutionsschritt durch mehrere neue - Teilziele ersetzt; die Suche endet mit einem Speicherüberlauf: - (BSP9.PRO) 1. $liegt_auf( notebook , pult ).$ 2. - $liegt_auf( skript , notebook ).$ 3. - $liegt_auf(X,Y) :- liegt_auf(X,Z), liegt_auf(Z,Y).$ - - $?- liegt_auf( handy , skript ).$ - logisch korrekte Antwort: nein - - tatsächliche Antwort: keine - - Auch dieses Beispiel lässt sich so erweitern, dass die Hypothese - offensichtlich aus der Wissensbasis folgt, die Umsetzung der - Resolutionsmethode aber die Vollständigkeit zerstört: 1. - $liegt_auf( notebook , pult ).$ 2. $liegt_auf( skript , notebook ).$ 3. - $liegt_auf(X,Y) :- liegt_auf(X,Z), liegt_auf(Z,Y).$ 4. - $liegt_auf( handy , skript ).$ - $?- liegt_auf( handy , pult ).$ - - logisch korrekte Antwort: ja - tatsächliche Antwort: keine - - Auch dieses Beispiel zeigt, dass das Suchverfahren ``Tiefensuche mit - Backtrack'' die Vollständigkeit des Inferenzverfahrens zerstört. - - \paragraph{Metalogische Prädikate und konstruktive - Lösungen}\label{metalogische-pruxe4dikate-und-konstruktive-luxf6sungen} - - Das Prädikat $not/1$ hat eine Aussage als Argument und ist somit eine - Aussage über eine Aussage, also metalogisch. I.allg. ist $not/1$ - vordefiniert, kann aber mit Hilfe von $call/1$ definiert werden. - $call/1$ hat Erfolg, wenn sein Argument - als Ziel interpretiert - - Erfolg hat. - - Beispiel (BSP10.PRO): 1. $fleissig(horst).$ 2. $fleissig(martin).$ 3. - $faul(X) :- not( fleissig(X) ).$ 4. $not(X) :- call(X), !, fail.$ 5. - $not( _ ).$ - $?- faul(horst).$ Antwort: nein - $?- faul(alex).$ - Antwort: ja - $?- faul(Wer).$ Antwort: nein - - Widerspruch \ldots{} und Beweis der Unvollständigkeit durch Metalogik - - \subsubsection{Typische Problemklassen für die Anwendung der Logischen - Programmierung}\label{typische-problemklassen-fuxfcr-die-anwendung-der-logischen-programmierung} - - \paragraph{Rekursive - Problemlösungsstrategien}\label{rekursive-problemluxf6sungsstrategien} - - \begin{quote} - Botschaft 1 Man muss ein Problem nicht in allen Ebenen überblicken, um - eine Lösungsverfahren zu programmieren. Es genügt die Einsicht, 1. wie - man aus der Lösung eines einfacheren Problems die Lösung des präsenten - Problems macht und 2. wie es im Trivialfall zu lösen ist. - \end{quote} - - \textbf{Türme von Hanoi} Es sind N Scheiben von der linken Säule auf die - mittlere Säule zu transportieren, wobei die rechte Säule als - Zwischenablage genutzt wird. Regeln: 1. Es darf jeweils nur eine Scheibe - transportiert werden. 2. Die Scheiben müssen mit fallendem Durchmesser - übereinander abgelegt werden. - - (doppelt) rekursive Lösungsstrategie: - $N = 0:$ Das Problem ist gelöst. - - $N > 0:$ 1. Man löse das Problem für N-Scheiben, die von der - Start-Säule zur Hilfs-Säule zu transportieren sind. 2. Man lege eine - Scheibe von der Start- zur Ziel-Säule. 3. Man löse das Problem für - N-Scheiben, die von der Hilfs-Säule zur Ziel-Säule zu transportieren - sind. - - Prädikate - $hanoi(N)$ löst das Problem für N Scheiben - - $verlege(N,Start,Ziel,Hilf)$ verlegt N Scheiben von Start nach Ziel - unter Nutzung von Hilf als Ablage - - Die Regeln zur Kodierung der Strategie (BSP11.PRO) - - $hanoi( N ) :- verlege( N , s1 , s2 , s3 ).$ - - $verlege( 0 , \_ , \_ , \_ ).$ - $verlege( N , S , Z , H ) :-$ - - $N1 = N - 1,$ - $verlege( N1 , S , H , Z ),$ - - $write("Scheibe von ", S," nach ", Z),$ - $verlege( N1 , H , Z , S ).$ - - \paragraph{Sprachverarbeitung mit - PROLOG}\label{sprachverarbeitung-mit-prolog} - - \begin{quote} - Botschaft 2 Wann immer man Objekte mit Mustern vergleicht, z.B. 1. eine - Struktur durch ``Auflegen von Schablonen'' identifiziert, 2. - Gemeinsamkeiten mehrerer Objekte identifiziert, d.h. ``eine Schablone - entwirft'' oder 3. ``gemeinsame Beispiele für mehrere Schablonen'' - sucht, mache man sich den Unifikations-Mechanismus zu nutzen. - \end{quote} + \subsubsection{Prolog-Fallen} + \paragraph{Nicht terminierende Programme } + Ursache: "ungeschickt" formulierte (direkte oder indirekte) Rekursion + \paragraph{Alternierende Zielklauseln} + Ein aktuelles Ziel wiederholt sich und die Suche nach einer Folge von Resolutionsschritten endet nie: + \begin{enumerate*} + \item $liegt_auf(X,Y) :- liegt_unter(Y,X).$ + \item $liegt_unter(X,Y) :- liegt_auf(Y,X).$ + \end{enumerate*} \begin{itemize*} - \itemsep1pt\parskip0pt\parsep0pt - \item - Eine kontextfreie Grammatik (Chomsky-Typ 2) besteht aus + \item $?- liegt_auf( skript, pult ).$ + \item logisch korrekte Antwort: nein + \item tatsächliche Antwort: keine \end{itemize*} + oder die Suche nach Resolutionsschritten endet mit einem Überlauf des Backtrack-Kellers: (BSP8.PRO) \begin{enumerate*} - \itemsep1pt\parskip0pt\parsep0pt - \item - einem Alphabet A, welches die terminalen (satzbildenden) Symbole - enthält - \item - einer Menge nichtterminaler (satzbeschreibender) Symbole N (= - Vokabular abzüglich des Alphabets: $N = V \backslash A$) - \item - einer Menge von Ableitungsregeln $R\subseteq N\times (N\cup A)^*$ - \item - dem Satzsymbol $S\in N$ + \item $liegt_auf(X,Y) :- liegt_unter(Y,X).$ + \item $liegt_auf( skript , pult ).$ + \item $liegt_unter(X,Y) :- liegt_auf(Y,X).$ \end{enumerate*} - \begin{itemize*} - \itemsep1pt\parskip0pt\parsep0pt - \item - \ldots{} und in PROLOG repräsentiert werden durch + \item $?- liegt_auf( skript , pult ).$ + \item logisch korrekte Antwort: ja + \item tatsächliche Antwort: keine \end{itemize*} + \paragraph{Expandierende Zielklauseln } + Das erste Teilziel wird in jeden Resolutionsschritt durch mehrere neue Teilziele ersetzt; die Suche endet mit einem Speicherüberlauf: (BSP9.PRO) \begin{enumerate*} - \itemsep1pt\parskip0pt\parsep0pt - \item - 1-elementige Listen, welche zu satzbildenden Listen komponiert werden: - $[der],[tisch],[liegt],...$ - \item - Namen, d.h. mit kleinem Buchstaben beginnende Zeichenfolgen: - $nebensatz,subjekt,attribut,...$ - \item - PROLOG-Regeln mit $l\in N$ im Kopf und $r\in(N\cup A)^*$ im Körper - \item - einen reservierten Namen: $satz$ + \item $liegt_auf( notebook , pult ).$ + \item $liegt_auf( skript , notebook ).$ + \item $liegt_auf(X,Y) :- liegt_auf(X,Z), liegt_auf(Z,Y).$ + \end{enumerate*} + \begin{itemize*} + \item $?- liegt_auf( handy , skript ).$ + \item logisch korrekte Antwort: nein + \item tatsächliche Antwort: keine + \end{itemize*} + + Auch dieses Beispiel lässt sich so erweitern, dass die Hypothese offensichtlich aus der Wissensbasis folgt, die Umsetzung der Resolutionsmethode aber die Vollständigkeit zerstört: + \begin{enumerate*} + \item $liegt_auf( notebook , pult ).$ + \item $liegt_auf( skript , notebook ).$ + \item $liegt_auf(X,Y) :- liegt_auf(X,Z), liegt_auf(Z,Y).$ + \item $liegt_auf( handy , skript ).$ + \end{enumerate*} + \begin{itemize*} + \item $?- liegt_auf( handy , pult ).$ + \item logisch korrekte Antwort: ja + \item tatsächliche Antwort: keine + \end{itemize*} + + Auch dieses Beispiel zeigt, dass das Suchverfahren "Tiefensuche mit Backtrack" die Vollständigkeit des Inferenzverfahrens zerstört. + + \paragraph{Metalogische Prädikate und konstruktive Lösungen} + Das Prädikat $not/1$ hat eine Aussage als Argument und ist somit eine Aussage über eine Aussage, also metalogisch. + I.allg. ist $not/1$ vordefiniert, kann aber mit Hilfe von $call/1$ definiert werden. $call/1$ hat Erfolg, wenn sein Argument - als Ziel interpretiert - Erfolg hat. + + Beispiel (BSP10.PRO): + \begin{enumerate*} + \item $fleissig(horst).$ + \item $fleissig(martin).$ + \item $faul(X) :- not( fleissig(X) ).$ + \item $not(X) :- call(X), !, fail.$ + \item $not( _ ).$ + \end{enumerate*} + \begin{itemize*} + \item $?- faul(horst).$ Antwort: nein + \item $?- faul(alex).$ Antwort: ja + \item $?- faul(Wer).$ Antwort: nein + \end{itemize*} + + Widerspruch ... und Beweis der Unvollständigkeit durch Metalogik + + \subsubsection{Typische Problemklassen für die Anwendung der Logischen Programmierung} + \paragraph{Rekursive Problemlösungsstrategien} + \note{Botschaft 1}{Man muss ein Problem nicht in allen Ebenen überblicken, um eine Lösungsverfahren zu programmieren. Es genügt die Einsicht, + \begin{enumerate*} + \item wie man aus der Lösung eines einfacheren Problems die Lösung des präsenten Problems macht und + \item wie es im Trivialfall zu lösen ist. + \end{enumerate*} + } + + **Türme von Hanoi** + Es sind N Scheiben von der linken Säule auf die mittlere Säule zu transportieren, wobei die rechte Säule als Zwischenablage genutzt wird. Regeln: + \begin{enumerate*} + \item Es darf jeweils nur eine Scheibe transportiert werden. + \item Die Scheiben müssen mit fallendem Durchmesser übereinander abgelegt werden. \end{enumerate*} - Ein Ableitungsbaum beschreibt die grammatische Struktur eines Satzes. - Seine Wurzel ist das Satzsymbol, seine Blätter in Hauptreihenfolge - bilden den Satz. - \includegraphics[width=\linewidth]{Assets/Logik-ableitungsbaum-beispiel.png} + (doppelt) rekursive Lösungsstrategie: + \begin{itemize*} + \item $N = 0:$ Das Problem ist gelöst. + \item $N > 0:$ + \begin{enumerate*} + \item Man löse das Problem für N-Scheiben, die von der Start-Säule zur Hilfs-Säule zu transportieren sind. + \item Man lege eine Scheibe von der Start- zur Ziel-Säule. + \item Man löse das Problem für N-Scheiben, die von der Hilfs-Säule zur Ziel-Säule zu transportieren sind. + \end{enumerate*} + \end{itemize*} + + Prädikate + \begin{itemize*} + \item $hanoi(N)$ löst das Problem für N Scheiben + \item $verlege(N,Start,Ziel,Hilf)$ verlegt N Scheiben von Start nach Ziel unter Nutzung von Hilf als Ablage + \end{itemize*} + + Die Regeln zur Kodierung der Strategie (BSP11.PRO) + \begin{itemize*} + \item $hanoi( N ) :- verlege( N , s1 , s2 , s3 ).$ + \item $verlege( 0 , \_ , \_ , \_ ).$ + \item $verlege( N , S , Z , H ) :-$ + \begin{itemize*} + \item $N1 = N - 1,$ + \item $verlege( N1 , S , H , Z ),$ + \item $write("Scheibe\ von ", S," nach ", Z),$ + \item $verlege( N1 , H , Z , S ).$ + \end{itemize*} + \end{itemize*} + + \paragraph{Sprachverarbeitung mit PROLOG} + \note{Botschaft 2}{Wann immer man Objekte mit Mustern vergleicht, z.B. + \begin{enumerate*} + \item eine Struktur durch "Auflegen von Schablonen" identifiziert, + \item Gemeinsamkeiten mehrerer Objekte identifiziert, d.h. "eine Schablone entwirft" oder + \item "gemeinsame Beispiele für mehrere Schablonen" sucht, + \end{enumerate*} + mache man sich den Unifikations-Mechanismus zu nutzen.} + + \begin{itemize*} + \item Eine kontextfreie Grammatik (Chomsky-Typ 2) besteht aus + \begin{enumerate*} + \item einem Alphabet A, welches die terminalen (satzbildenden) Symbole enthält + \item einer Menge nichtterminaler (satzbeschreibender) Symbole N (= Vokabular abzüglich des Alphabets: $N = V \backslash A$) + \item einer Menge von Ableitungsregeln $R\subseteq N\times (N\cup A)^*$ + \item dem Satzsymbol $S\in N$ + \end{enumerate*} + \item ... und in PROLOG repräsentiert werden durch + \begin{enumerate*} + \item 1-elementige Listen, welche zu satzbildenden Listen komponiert werden: $[der],[tisch],[liegt],...$ + \item Namen, d.h. mit kleinem Buchstaben beginnende Zeichenfolgen: $nebensatz,subjekt,attribut,...$ + \item PROLOG-Regeln mit $l\in N$ im Kopf und $r\in(N\cup A)^*$ im Körper + \item einen reservierten Namen: $satz$ + \end{enumerate*} + \end{itemize*} + + Ein Ableitungsbaum beschreibt die grammatische Struktur eines Satzes. Seine Wurzel ist das Satzsymbol, seine Blätter in Hauptreihenfolge bilden den Satz. + %\includegraphics[width=\linewidth]{Assets/Logik-ableitungsbaum-beispiel.png) \begin{enumerate*} - \itemsep1pt\parskip0pt\parsep0pt - \item - Alphabet - $ministerium, rektorat, problem, das, loest, ignoriert, verschaerft$ - \item - nichtterminale Symbole - $satz, subjekt, substantiv, artikel, praedikat,objekt$ - \item - Ableitungsregeln (in BACKUS-NAUR-Form) - - \begin{itemize*} - \item - $satz ::= subjekt praedikat objekt$ - \item - $subjekt ::= artikel substantiv$ - \item - $objekt ::= artikel substantiv$ - \item - $substantiv ::= ministerium | rektorat | problem$ - \item - $artikel ::= das$ - \item - $praedikat ::= loest | ignoriert | verschaerft$ - \end{itemize*} - \item - Satzsymbol $satz$ + \item Alphabet $ministerium, rektorat, problem, das, loest, ignoriert, verschaerft$ + \item nichtterminale Symbole $satz, subjekt, substantiv, artikel, praedikat,objekt$ + \item Ableitungsregeln (in BACKUS-NAUR-Form) \end{enumerate*} + \begin{itemize*} + \item $satz ::= subjekt praedikat objekt$ + \item $subjekt ::= artikel substantiv$ + \item $objekt ::= artikel substantiv$ + \item $substantiv ::= ministerium | rektorat | problem$ + \item $artikel ::= das$ + \item $praedikat ::= loest | ignoriert | verschaerft$ + \end{itemize*} + 4. Satzsymbol $satz$ Verketten einer Liste von Listen + ``` + % die Liste ist leer + verkette( [ ] , [ ] ) . - \begin{verbatim} -% die Liste ist leer -verkette( [ ] , [ ] ) . - -% das erste Element ist eine leere Liste -verkette( [ [ ] | Rest ] , L ) :- + % das erste Element ist eine leere Liste + verkette( [ [ ] | Rest ] , L ) :- verkette( Rest , L ). -% das erste Element ist eine nichtleere Liste -verkette([ [K | R ] | Rest ] , [ K | L ] ) :- + % das erste Element ist eine nichtleere Liste + verkette([ [K | R ] | Rest ] , [ K | L ] ) :- verkette( [ R | Rest ] , L ).4 -\end{verbatim} + ``` - \paragraph{Die ``Generate - and - Test'' - Strategie}\label{die-generate---and---test-strategie} + \paragraph{Die "Generate - and - Test" Strategie} + \note{Botschaft 3}{Es ist mitunter leichter (oder überhaupt erst möglich), für komplexe Probleme + \begin{enumerate*} + \item eine potentielle Lösung zu "erraten" und dazu + \item ein Verfahren zu entwickeln, welches diese Lösung auf Korrektheit testet, + \end{enumerate*} + als zielgerichtet die korrekte Lösung zu entwerfen. Hierbei kann man den Backtrack-Mechanismus nutzen.} - \begin{quote} - Botschaft 3 Es ist mitunter leichter (oder überhaupt erst möglich), für - komplexe Probleme 1. eine potentielle Lösung zu ``erraten'' und dazu 2. - ein Verfahren zu entwickeln, welches diese Lösung auf Korrektheit - testet, als zielgerichtet die korrekte Lösung zu entwerfen. Hierbei kann - man den Backtrack-Mechanismus nutzen. - \end{quote} + Strategie: Ein Prädikat $moegliche_loesung(L)$ generiert eine potentielle Lösung, welche von einem Prädikat $korrekte_loesung(L)$ geprüft wird: + \begin{itemize*} + \item Besteht $L$ diesen Korrektheitstest, ist eine Lösung gefunden. + \item Fällt $L$ bei diesem Korrektheitstest durch, wird mit Backtrack das Prädikat $moegliche_loesung(L)$ um eine alternative potentielle Lösung ersucht. + (vgl.: Lösen NP-vollständiger Probleme, Entscheidung von Erfüllbarkeit) + \end{itemize*} - Strategie: Ein Prädikat $moegliche_loesung(L)$ generiert eine - potentielle Lösung, welche von einem Prädikat $korrekte_loesung(L)$ - geprüft wird: - Besteht $L$ diesen Korrektheitstest, ist eine Lösung - gefunden. - Fällt $L$ bei diesem Korrektheitstest durch, wird mit - Backtrack das Prädikat $moegliche_loesung(L)$ um eine alternative - potentielle Lösung ersucht. (vgl.: Lösen NP-vollständiger Probleme, - Entscheidung von Erfüllbarkeit) + ein Beispiel: konfliktfreie Anordnung von $N$ Damen auf einem $N\times N$ Schachbrett (BSP13.PRO) + \begin{itemize*} + \item eine Variante: Liste strukturierter Terme + \begin{itemize*} + \item $[dame(Zeile,Spalte),...,dame(Zeile,Spalte)]$ + \item $[dame(1,2), dame(2,4), dame(3,1), dame(4,3) ]$ + \end{itemize*} + \item noch eine Variante: Liste von Listen + \begin{itemize*} + \item $[[Zeile, Spalte] , ... , [Zeile,Spalte] ]$ + \item $[ [1,2] , [2,4] , [3,1] , [4,3] ]$ + \end{itemize*} + \item ... und noch eine (in die Wissensdarstellung etwas "natürliche" Intelligenz investierende, den Problemraum enorm einschränkende) Variante: Liste der Spaltenindizes + \begin{itemize*} + \item $[ Spalte_zu_Zeile_1, ..., Spalte_zu_Zeile_N ]$ + \item $[ 2, 4, 1, 3 ]$ + \end{itemize*} + \end{itemize*} - ein Beispiel: konfliktfreie Anordnung von $N$ Damen auf einem - $N\times N$ Schachbrett (BSP13.PRO) - eine Variante: Liste - strukturierter Terme - $[dame(Zeile,Spalte),...,dame(Zeile,Spalte)]$ - - $[dame(1,2), dame(2,4), dame(3,1), dame(4,3) ]$ - noch eine Variante: - Liste von Listen - $[[Zeile, Spalte] , ... , [Zeile,Spalte] ]$ - - $[ [1,2] , [2,4] , [3,1] , [4,3] ]$ - \ldots{} und noch eine (in die - Wissensdarstellung etwas ``natürliche'' Intelligenz investierende, den - Problemraum enorm einschränkende) Variante: Liste der Spaltenindizes - - $[ Spalte_zu_Zeile_1, ..., Spalte_zu_Zeile_N ]$ - $[ 2, 4, 1, 3 ]$ + \paragraph{Heuristische Problemlösungsmethoden} + \note{Botschaft 4}{Heuristiken sind + \begin{enumerate*} + \item eine Chance, auch solche Probleme einer Lösung zuzuführen, für die man keinen (determinierten) Lösungsalgorithmus kennt und + \item das klassische Einsatzgebiet zahlreicher KI-Tools - auch der Logischen Programmierung. + \end{enumerate*} + } - \paragraph{Heuristische - Problemlösungsmethoden}\label{heuristische-problemluxf6sungsmethoden} + Was ist eine Heuristik? Worin unterscheidet sich eine heuristische Problemlösungsmethode von einem Lösungsalgorithmus? - \begin{quote} - Botschaft 4 Heuristiken sind 1. eine Chance, auch solche Probleme einer - Lösung zuzuführen, für die man keinen (determinierten) - Lösungsalgorithmus kennt und 2. das klassische Einsatzgebiet zahlreicher - KI-Tools - auch der Logischen Programmierung. - \end{quote} + Heuristiken bewerten die Erfolgsaussichten alternativer Problemlösungsschritte. Eine solche Bewertung kann sich z.B. ausdrücken in + \begin{itemize*} + \item einer quantitativen Abschätzung der "Entfernung" zum gewünschten Ziel oder der "Kosten" für das Erreichen des Ziels, + \item einer quantitativen Abschätzung des Nutzens und/oder der Kosten der alternativen nächsten Schritte, + \item eine Vorschrift zur Rangordnung der Anwendung alternativer Schritte, z.B. durch Prioritäten oder gemäß einer sequenziell abzuarbeitenden Checkliste. + \end{itemize*} - Was ist eine Heuristik? Worin unterscheidet sich eine heuristische - Problemlösungsmethode von einem Lösungsalgorithmus? + Ein Beispiel: Das Milchgeschäft meiner Großeltern in den 40er Jahren + \begin{itemize*} + \item Der Milchhof liefert Milch in großen Kannen. + \item Kunden können Milch nur in kleinen Mengen kaufen. + \item Es gibt nur 2 Sorten geeichter Schöpfgefäße; sie fassen 0.75 Liter bzw. 1.25 Liter. + \item Eine Kundin wünscht einen Liter Milch. + \end{itemize*} + \begin{enumerate*} + \item Wenn das große Gefäß leer ist, dann fülle es. + \item Wenn das kleine Gefäß voll ist, dann leere es. + \item Wenn beides nicht zutrifft, dann schütte so viel wie möglich vom großen in das kleine Gefäß. + \end{enumerate*} - Heuristiken bewerten die Erfolgsaussichten alternativer - Problemlösungsschritte. Eine solche Bewertung kann sich z.B. ausdrücken - in - einer quantitativen Abschätzung der ``Entfernung'' zum gewünschten - Ziel oder der ``Kosten'' für das Erreichen des Ziels, - einer - quantitativen Abschätzung des Nutzens und/oder der Kosten der - alternativen nächsten Schritte, - eine Vorschrift zur Rangordnung der - Anwendung alternativer Schritte, z.B. durch Prioritäten oder gemäß einer - sequenziell abzuarbeitenden Checkliste. - - Ein Beispiel: Das Milchgeschäft meiner Großeltern in den 40er Jahren - - Der Milchhof liefert Milch in großen Kannen. - Kunden können Milch nur - in kleinen Mengen kaufen. - Es gibt nur 2 Sorten geeichter Schöpfgefäße; - sie fassen 0.75 Liter bzw. 1.25 Liter. - Eine Kundin wünscht einen Liter - Milch. 1. Wenn das große Gefäß leer ist, dann fülle es. 2. Wenn das - kleine Gefäß voll ist, dann leere es. 3. Wenn beides nicht zutrifft, - dann schütte so viel wie möglich vom großen in das kleine Gefäß. - - Prädikat $miss_ab(VolGr, VolKl, Ziel, InhGr, InhKl)$ mit - VolGr - - Volumen des großen Gefäßes - VolKl - Volumen des kleinen Gefäßes - Ziel - - die abzumessende (Ziel-) Menge - InhGr - der aktuelle Inhalt im großen - Gefäß - InhKl - der aktuelle Inhalt im kleinen Gefäß + Prädikat $miss_ab(VolGr, VolKl, Ziel, InhGr, InhKl)$ mit + \begin{itemize*} + \item VolGr - Volumen des großen Gefäßes + \item VolKl - Volumen des kleinen Gefäßes + \item Ziel - die abzumessende (Ziel-) Menge + \item InhGr - der aktuelle Inhalt im großen Gefäß + \item InhKl - der aktuelle Inhalt im kleinen Gefäß + \end{itemize*} Beispiel-Problem: $?- miss_ab( 1.25 , 0.75 , 1 , 0 , 0 )4$ - \paragraph{Pfadsuche in gerichteten - Graphen}\label{pfadsuche-in-gerichteten-graphen} + \paragraph{Pfadsuche in gerichteten Graphen} + \note{Botschaft 5}{ + 1. Für die systematische Suche eines Pfades kann der Suchprozess einer Folge von Resolutionsschritten genutzt werden. Man muss den Suchprozess nicht selbst programmieren. + 2. Für eine heuristische Suche eines Pfades gilt Botschaft 4: Sie ist das klassische Einsatzgebiet zahlreicher KI-Tools - auch der Logischen Programmierung. + } - \begin{quote} - Botschaft 5 1. Für die systematische Suche eines Pfades kann der - Suchprozess einer Folge von Resolutionsschritten genutzt werden. Man - muss den Suchprozess nicht selbst programmieren. 2. Für eine - heuristische Suche eines Pfades gilt Botschaft 4: Sie ist das klassische - Einsatzgebiet zahlreicher KI-Tools - auch der Logischen Programmierung. - \end{quote} + Anwendungen + \begin{itemize*} + \item Handlungsplanung, z.B. + \begin{itemize*} + \item Suche einer Folge von Bearbeitungsschritten für ein Produkt, eine Dienstleistung, einen "Bürokratischen Vorgang" + \item Suche eines optimalen Transportweges in einem Netzwerk von Straßen-, Bahn-, Flugverbindungen + \end{itemize*} + \item Programmsynthese = Handlungsplanung mit ... + \begin{itemize*} + \item ... Schnittstellen für die Datenübergabe zwischen "Handlungsschritten" (= Prozeduraufrufen) und + \item ... einem hierarchischen Prozedurkonzept, welches die Konfigurierung von "Programmbausteinen" auf mehreren Hierarchie-Ebenen + \end{itemize*} + \end{itemize*} - Anwendungen - Handlungsplanung, z.B. - Suche einer Folge von - Bearbeitungsschritten für ein Produkt, eine Dienstleistung, einen - ``Bürokratischen Vorgang'' - Suche eines optimalen Transportweges in - einem Netzwerk von Straßen-, Bahn-, Flugverbindungen - Programmsynthese - = Handlungsplanung mit \ldots{} - \ldots{} Schnittstellen für die - Datenübergabe zwischen ``Handlungsschritten'' (= Prozeduraufrufen) und - - \ldots{} einem hierarchischen Prozedurkonzept, welches die - Konfigurierung von ``Programmbausteinen'' auf mehreren Hierarchie-Ebenen + Ein Beispiel: Suche einer zeitoptimalen Flugverbindung (BSP15.PRO) + \begin{itemize*} + \item Repräsentation als Faktenbasis $verbindung(Start,Zeit1,Ziel,Zeit2,Tag).$ + \item Start - Ort des Starts + \item Zeit1 - Zeit des Starts + \item Ziel - Ort der Landung + \item Zeit2 - Zeit der Landung + \item Tag - 0, falls Zeit1 und Zeit2 am gleichen Tag und 1 ansonsten + \item möglich: + \begin{itemize*} + \item $verbindung(fra,z(11,45),ptb,z(21,0),0).$ + \item $verbindung(fra,z(11,15),atl,z(21,25),0).$ + \item $verbindung(ptb,z(24,0),orl,z(2,14),1).$ + \item $verbindung(atl,z(23,30),orl,z(0,54),1).$ + \end{itemize*} + \end{itemize*} - Ein Beispiel: Suche einer zeitoptimalen Flugverbindung (BSP15.PRO) - - Repräsentation als Faktenbasis $verbindung(Start,Zeit1,Ziel,Zeit2,Tag).$ - - Start - Ort des Starts - Zeit1 - Zeit des Starts - Ziel - Ort der - Landung - Zeit2 - Zeit der Landung - Tag - 0, falls Zeit1 und Zeit2 am - gleichen Tag und 1 ansonsten - möglich: - - $verbindung(fra,z(11,45),ptb,z(21,0),0).$ - - $verbindung(fra,z(11,15),atl,z(21,25),0).$ - - $verbindung(ptb,z(24,0),orl,z(2,14),1).$ - - $verbindung(atl,z(23,30),orl,z(0,54),1).$ + In einer dynamischen Wissensbasis wird die bislang günstigste Verbindung in Form eines Faktes $guenstigste([ v(Von,Zeit1,Nach,Zeit2,Tag), ... ], Ankunftszeit, Tag ).$ festgehalten und mit den eingebauten Prädikaten $assert()$ - zum Einfügen des Faktes - und $retract ()$ - zum Entfernen des Faktes - bei Bedarf aktualisiert. + Zum Beispiel $guenstigste([v(fra,z(11,45),ptb,z(21,00),0),v(ptb,z(24,0),orl,z(2,14),1)],z(2,14),1).$ erklärt den Weg über Pittsburgh zum bislang günstigsten gefundenen Weg. - In einer dynamischen Wissensbasis wird die bislang günstigste Verbindung - in Form eines Faktes - $guenstigste([ v(Von,Zeit1,Nach,Zeit2,Tag), ... ], Ankunftszeit, Tag ).$ - festgehalten und mit den eingebauten Prädikaten $assert()$ - zum - Einfügen des Faktes - und $retract ()$ - zum Entfernen des Faktes - - bei Bedarf aktualisiert. Zum Beispiel - $guenstigste([v(fra,z(11,45),ptb,z(21,00),0),v(ptb,z(24,0),orl,z(2,14),1)],z(2,14),1).$ - erklärt den Weg über Pittsburgh zum bislang günstigsten gefundenen Weg. + \paragraph{"Logeleien" als Prolog-Wissensbasen} + \note{Botschaft 6}{ + \begin{enumerate*} + \item "Logeleien" sind oft Aussagen über Belegungen von Variablen mit endlichem Wertebereich, ergänzt um eine Frage zu einem nicht explizit gegebenen Wert. + \item Dabei handelt es sich um Grunde um eine Deduktionsaufgabe mit einer Hypothese zu einem mutmaßlichen Wert der gesuchten Variablen. Deshalb ist es oft auch mit dem "Deduktionstool" Prolog lösbar, denn Prolog tut im Grunde nichts anderes als ein ziel-gerichtetes "Durchprobieren" legitimer Deduktionsschritte im "Generate - and - Test" - Verfahren. + \end{enumerate*} + } - \paragraph{``Logeleien'' als - Prolog-Wissensbasen}\label{logeleien-als-prolog-wissensbasen} - \begin{quote} - Botschaft 6 1. ``Logeleien'' sind oft Aussagen über Belegungen von - Variablen mit endlichem Wertebereich, ergänzt um eine Frage zu einem - nicht explizit gegebenen Wert. 2. Dabei handelt es sich um Grunde um - eine Deduktionsaufgabe mit einer Hypothese zu einem mutmaßlichen Wert - der gesuchten Variablen. Deshalb ist es oft auch mit dem - ``Deduktionstool'' Prolog lösbar, denn Prolog tut im Grunde nichts - anderes als ein ziel-gerichtetes ``Durchprobieren'' legitimer - Deduktionsschritte im ``Generate - and - Test'' - Verfahren. - \end{quote} + Beispiel SUDOKU (BSP17.PRO) - Beispiel das ``Zebra-Rätsel''(BSP16.PRO): 1. Es gibt fünf Häuser. 2. Der - Engländer wohnt im roten Haus. 3. Der Spanier hat einen Hund. 4. Kaffee - wird im grünen Haus getrunken. 5. Der Ukrainer trinkt Tee. 6. Das grüne - Haus ist (vom Betrachter aus gesehen) direkt rechts vom weißen Haus. 7. - Der Raucher von Atem-Gold-Zigaretten hält Schnecken als Haustiere. 8. - Die Zigaretten der Marke Kools werden im gelben Haus geraucht. 9. Milch - wird im mittleren Haus getrunken. 10. Der Norweger wohnt im ersten Haus. - 11. Der Mann, der Chesterfields raucht, wohnt neben dem Mann mit dem - Fuchs. 12. Die Marke Kools wird geraucht im Haus neben dem Haus mit dem - Pferd. 13. Der Lucky-Strike-Raucher trinkt am liebsten Orangensaft. 14. - Der Japaner raucht Zigaretten der Marke Parliament. 15. Der Norweger - wohnt neben dem blauen Haus. + \paragraph{Tools für die formale Logik} + \note{Botschaft 7}{Auch in der formalen Logik gibt es Deduktionsaufgaben, bei der Variablenbelegungen gesucht sind, welche eine Aussage wahr machen: + \begin{enumerate*} + \item Meist geschieht das durch systematische Auswertung der Aussage, wozu das Suchverfahren von Prolog genutzt werden kann. + \item Auch hier geht es oft um gesuchte Werte für Variablen. Deshalb ist es oft auch mit dem "Deduktionstool" Prolog lösbar, denn Prolog tut im Grunde nichts anderes als ein ziel-gerichtetes "Durchprobieren" legitimer Deduktionsschritte im "Generate - and - Test" - Verfahren. + \end{enumerate*} + } - Jedes Haus ist in einer anderen Farbe gestrichen und jeder Bewohner hat - eine andere Nationalität, besitzt ein anderes Haustier, trinkt ein von - den anderen Bewohnern verschiedenes Getränk und raucht eine von den - anderen Bewohnern verschiedene Zigarettensorte. Fragen: - Wer trinkt - Wasser? - Wem gehört das Zebra? + Repräsentation von Aussagen als PROLOG-Term: + \begin{itemize*} + \item true, false: atom(true), atom(false) + \item $A1\wedge A2$: und(A1,A2) + \item $A1\vee A2$: oder(A1,A2) + \item $\lnot A$: nicht(A) + \item $A1\rightarrow A2$: wenndann(A1,A2) + \item $A1\leftarrow A2$: dannwenn(A1,A2) + \item $A1\leftrightarrow A2$: gdw(A1,A2) + \end{itemize*} - \begin{verbatim} -loesung(WT, ZB) :- - haeuser(H), nationen(N), getraenke(G), tiere(T), zigaretten(Z),aussagentest(H,N,G,T,Z), !, wassertrinker(N,G,WT), zebrabesitzer(N,T,ZB). -tiere(X) :- permutation([fuchs, hund, schnecke, pferd, zebra],X). -nationen([norweger|R]) :- permmutation([englaender, spanier, ukrainer, japaner], R). % erfüllt damit Aussage 10 -getraenke(X) :- permutation([kaffee, tee, milch, osaft, wasser], X), a9(X). % erfüllt damit Aussage 9 -zigaretten(X) :- permmutation([atemgold,kools,chesterfield, luckystrike, parliament], X). -haeuser(X) :- permutation([rot, gruen, weiss, gelb, blau], X), a6(X). -% parmutation/2, fuege_ein/3: siehe BSP13-PRO -wassertrinker([WT| _ ], [wasser| _ ], WT ) :- !. -wassertrinker([ _ |R1], [ _ |R2],WT) :- wassertrinker(R1, R2, WT). -zebrabesitzer([ZB| _ ], [zebra| _ ], ZB) :- !. -zebrabesitzer([ _ |R1], [ _ |R2],ZB) :- zebrabesitzer(R1, R2, ZB). -aussagentest(H,N,G,T,Z) :- - a2(H,N), a3(N,T), a4(H,G), a5(N,G), a7(Z,T), a8(H,Z), a11(Z,T), a12(Z,T),a13(Z,G), a14(N,Z), a15(H,N). - -a2([rot| _ ], [englaender| _ ]) :- ! -.a2([ _ |R1], [ _ |R2]) :- a2(R1, R2). -a3([spanier| _ ], [hund| _ ]) :- !. -a3([ _ |R1], [ _ |R2]) :- a3(R1, R2). -a4([gruen| _ ], [kaffee| _ ]) :- !. -a4([ _ |R1], [ _ |R2]) :- a4(R1, R2). -a5([ukrainer| _ ], [tee| _ ]) :- !. -a5([ _ |R1], [ _ |R2]) :- a5(R1, R2). -a6([weiss, gruen| _ ]) :- !. -a6([weiss| _ ]) :- !, fail.a6([ _ |R]) :- a6(R). -a7([atemgold| _ ], [schnecke| _ ]) :- !. -a7([ _ |R1], [ _ |R2]) :- a7(R1, R2). -a8([gelb| _ ], [kools| _ ]) :- !. -a8([ _ |R1], [ _ |R2]) :- a8(R1, R2). -a9([ _ , _ , milch, _ , _ ]). -a11([chesterfield| _ ], [ _ ,fuchs| _ ]) :-!. -a11([ _ , chesterfield| _ ], [fuchs| _ ]) :- !. -a11([ _ |R1], [ _ |R2]) :- a11(R1, R2). -a12([kools| _ ], [ _ , pferd| _ ]) :- !. -a12([ _ , kools| _ ], [pferd| _ ] ) :- !. -a12([ _ |R1], [ _ |R2]) :- a12(R1, R2). -a13([luckystrike| _ ], [osaft| _ ]) :- !. -a13([ _ |R1], [ _ |R2]) :- a13(R1, R2). -a14([japaner| _ ], [parliament| _ ]) :- !. -a14([ _ |R1], [ _ |R2]) :- a14(R1, R2). -%a15([blau| _ ], [ _, norweger| _ ]) :- !. -a15([ _ , blau| _ ], [norweger| _ ]) :- !. -%a15([ _ |R1], [ _ |R2]) :- a15(R1, R2). + Erfüllbarkeitstest: + \begin{itemize*} + \item $?- erfuellbar(gdw(wenndann(nicht(oder(atom(false),atom(X))),atom(Y)), atom(Z))).$ + \item X=true, Y=\_, Z=true ; steht für 2 Modelle (eines mit Y = true und eines mit Y = false) + \item X=false, Y=true, Z=true + \end{itemize*} -?- loesung(Wassertrinker, Zebrabesitzer). -\end{verbatim} + Ketten von Konjunktionen und Disjunktionen als PROLOG-Listen: + \begin{itemize*} + \item $A1\wedge A2\wedge ... \wedge An$: und verkettung([A1,A2, ..., An]) + \item $A1\vee A2\vee ...\vee An$: oder verkettung([A1,A2, ..., An]) + \end{itemize*} - Beispiel SUDOKU (BSP17.PRO): - Liste 9-elementliger Listen, die (von - links nach rechts) die Zeilen (von oben nach unten)repräsentieren - - Elemente einer jeden eine Zeile repräsentierenden Liste: - Ziffer, falls - dort im gegebenen Sudoku eine Ziffer steht - Anonyme Variable - andernfalls + Erfüllbarkeitstest: + \begin{itemize*} + \item $?- erfuellbar(undverkettung([true,X,Y,true]))$ + \item X = true, Y = true + \item $?- erfuellbar(oderverkettung([false,X,Y,false]))$ + \item X = true, Y = \_ + \item X = \_, Y = true + \end{itemize*} - \paragraph{Tools für die formale - Logik}\label{tools-fuxfcr-die-formale-logik} + Repräsentation von Termen als PROLOG-Term: + \begin{itemize*} + \item Wert: atom() + \item $A1\wedge A2$: und(A1,A2) + \item $A1\vee A2$: oder(A1,A2) + \item $\lnot A$: nicht(A) + \item $A1\rightarrow A2$: wenndann(A1,A2) + \item $A1\leftarrow A2$: dannwenn(A1,A2) + \item $A1\leftrightarrow A2$: gdw(A1,A2) + \item $A1\wedge A2\wedge ... \wedge An$: und verkettung([A1,A2, ..., An]) + \item $A1\vee A2\vee ...\vee An$: oder verkettung([A1,A2, ..., An]) + \end{itemize*} - \begin{quote} - Botschaft 7 Auch in der formalen Logik gibt es Deduktionsaufgaben, bei - der Variablenbelegungen gesucht sind, welche eine Aussage wahr machen: - 1. Meist geschieht das durch systematische Auswertung der Aussage, wozu - das Suchverfahren von Prolog genutzt werden kann. 2. Auch hier geht es - oft um gesuchte Werte für Variablen. Deshalb ist es oft auch mit dem - ``Deduktionstool'' Prolog lösbar, denn Prolog tut im Grunde nichts - anderes als ein ziel-gerichtetes ``Durchprobieren'' legitimer - Deduktionsschritte im ``Generate - and - Test'' - Verfahren. - \end{quote} + Termauswertung: + \begin{itemize*} + \item $?- hat_wert(und(atom(0.5),oder(atom(0.7),atom(0.3))),X).$ + \item X=0.5 + \end{itemize*} - Repräsentation von Aussagen als PROLOG-Term: - true, false: atom(true), - atom(false) - $A1\wedge A2$: und(A1,A2) - $A1\vee A2$: oder(A1,A2) - - $\lnot A$: nicht(A) - $A1\rightarrow A2$: wenndann(A1,A2) - - $A1\leftarrow A2$: dannwenn(A1,A2) - $A1\leftrightarrow A2$: gdw(A1,A2) - - Erfüllbarkeitstest: - - $?- erfuellbar(gdw(wenndann(nicht(oder(atom(false),atom(X))),atom(Y)), atom(Z))).$ - - X=true, Y=\_, Z=true ; steht für 2 Modelle (eines mit Y = true und - eines mit Y = false) - X=false, Y=true, Z=true - - Ketten von Konjunktionen und Disjunktionen als PROLOG-Listen: - - $A1\wedge A2\wedge ... \wedge An$: und verkettung({[}A1,A2, \ldots{}, - An{]}) - $A1\vee A2\vee ...\vee An$: oder verkettung({[}A1,A2, \ldots{}, - An{]}) - - Erfüllbarkeitstest: - $?- erfuellbar(undverkettung([true,X,Y,true]))$ - - X = true Y = true - $?- erfuellbar(oderverkettung([false,X,Y,false]))$ - - X = true Y = \emph{ - X = } Y = true - - Repräsentation von Termen als PROLOG-Term: - Wert: atom() - - $A1\wedge A2$: und(A1,A2) - $A1\vee A2$: oder(A1,A2) - $\lnot A$: - nicht(A) - $A1\rightarrow A2$: wenndann(A1,A2) - $A1\leftarrow A2$: - dannwenn(A1,A2) - $A1\leftrightarrow A2$: gdw(A1,A2) - - $A1\wedge A2\wedge ... \wedge An$: und verkettung({[}A1,A2, \ldots{}, - An{]}) - $A1\vee A2\vee ...\vee An$: oder verkettung({[}A1,A2, \ldots{}, - An{]}) - - Termauswertung: - - $?- hat_wert(und(atom(0.5),oder(atom(0.7),atom(0.3))),X).$ - X=0.5 - - Termauswertung unter Vorgabe des Wertebereiches: - - $?- hat_wert([0,0.3, 0.5, 0.7, 1], und(atom(X),oder(atom(0.5),atom(0.7))),Wert).$ - - X=0, Wert=0 - X=0.3, Wert=0.3 - X=0.5, Wert=0.5 - X=0.7, Wert=0.7 - - X=1, Wert=0.7 + Termauswertung unter Vorgabe des Wertebereiches: + \begin{itemize*} + \item $?- hat_wert([0,0.3, 0.5, 0.7, 1], und(atom(X),oder(atom(0.5),atom(0.7))),Wert).$ + \item X=0, Wert=0 + \item X=0.3, Wert=0.3 + \item X=0.5, Wert=0.5 + \item X=0.7, Wert=0.7 + \item X=1, Wert=0.7 + \end{itemize*} \end{multicols} \end{document} \ No newline at end of file