5268 lines
230 KiB
TeX
5268 lines
230 KiB
TeX
\documentclass[a4paper]{article}
|
||
\usepackage[ngerman]{babel}
|
||
\usepackage[utf8]{inputenc}
|
||
\usepackage{multicol}
|
||
\usepackage{calc}
|
||
\usepackage{ifthen}
|
||
\usepackage[landscape]{geometry}
|
||
\usepackage{amsmath,amsthm,amsfonts,amssymb}
|
||
\usepackage{color,graphicx,overpic}
|
||
\usepackage{xcolor, listings}
|
||
\usepackage[compact]{titlesec} %less space for headers
|
||
\usepackage{mdwlist} %less space for lists
|
||
\usepackage{pdflscape}
|
||
\usepackage{verbatim}
|
||
\usepackage[most]{tcolorbox}
|
||
\usepackage[hidelinks,pdfencoding=auto]{hyperref}
|
||
\usepackage{bussproofs}
|
||
\usepackage{fancyhdr}
|
||
\usepackage{lastpage}
|
||
\pagestyle{fancy}
|
||
\fancyhf{}
|
||
\fancyhead[L]{Logik und Logikprogrammierung}
|
||
\fancyfoot[L]{\thepage/\pageref{LastPage}}
|
||
\renewcommand{\headrulewidth}{0pt} %obere Trennlinie
|
||
\renewcommand{\footrulewidth}{0pt} %untere Trennlinie
|
||
|
||
\pdfinfo{
|
||
/Title (Logik und Logikprogrammierung - Cheatsheet)
|
||
/Creator (TeX)
|
||
/Producer (pdfTeX 1.40.0)
|
||
/Author (Robert Jeutter)
|
||
/Subject ()
|
||
}
|
||
|
||
%%% Code Listings
|
||
\definecolor{codegreen}{rgb}{0,0.6,0}
|
||
\definecolor{codegray}{rgb}{0.5,0.5,0.5}
|
||
\definecolor{codepurple}{rgb}{0.58,0,0.82}
|
||
\definecolor{backcolour}{rgb}{0.95,0.95,0.92}
|
||
\lstdefinestyle{mystyle}{
|
||
backgroundcolor=\color{backcolour},
|
||
commentstyle=\color{codegreen},
|
||
keywordstyle=\color{magenta},
|
||
numberstyle=\tiny\color{codegray},
|
||
stringstyle=\color{codepurple},
|
||
basicstyle=\ttfamily,
|
||
breakatwhitespace=false,
|
||
}
|
||
\lstset{style=mystyle, upquote=true}
|
||
|
||
%textmarker style from colorbox doc
|
||
\tcbset{textmarker/.style={%
|
||
enhanced,
|
||
parbox=false,boxrule=0mm,boxsep=0mm,arc=0mm,
|
||
outer arc=0mm,left=2mm,right=2mm,top=3pt,bottom=3pt,
|
||
toptitle=1mm,bottomtitle=1mm,oversize}}
|
||
|
||
% define new colorboxes
|
||
\newtcolorbox{hintBox}{textmarker,
|
||
borderline west={6pt}{0pt}{yellow},
|
||
colback=yellow!10!white}
|
||
\newtcolorbox{importantBox}{textmarker,
|
||
borderline west={6pt}{0pt}{red},
|
||
colback=red!10!white}
|
||
\newtcolorbox{noteBox}{textmarker,
|
||
borderline west={3pt}{0pt}{green},
|
||
colback=green!10!white}
|
||
|
||
% define commands for easy access
|
||
\renewcommand{\note}[2]{\begin{noteBox} \textbf{#1} #2 \end{noteBox}}
|
||
\newcommand{\warning}[1]{\begin{hintBox} \textbf{Warning:} #1 \end{hintBox}}
|
||
\newcommand{\important}[1]{\begin{importantBox} \textbf{Important:} #1 \end{importantBox}}
|
||
|
||
|
||
% This sets page margins to .5 inch if using letter paper, and to 1cm
|
||
% if using A4 paper. (This probably isn't strictly necessary.)
|
||
% If using another size paper, use default 1cm margins.
|
||
\ifthenelse{\lengthtest { \paperwidth = 11in}}
|
||
{ \geometry{top=.5in,left=.5in,right=.5in,bottom=.5in} }
|
||
{\ifthenelse{ \lengthtest{ \paperwidth = 297mm}}
|
||
{\geometry{top=1.3cm,left=1cm,right=1cm,bottom=1.2cm} }
|
||
{\geometry{top=1.3cm,left=1cm,right=1cm,bottom=1.2cm} }
|
||
}
|
||
|
||
% Redefine section commands to use less space
|
||
\makeatletter
|
||
\renewcommand{\section}{\@startsection{section}{1}{0mm}%
|
||
{-1ex plus -.5ex minus -.2ex}%
|
||
{0.5ex plus .2ex}%x
|
||
{\normalfont\large\bfseries}}
|
||
\renewcommand{\subsection}{\@startsection{subsection}{2}{0mm}%
|
||
{-1explus -.5ex minus -.2ex}%
|
||
{0.5ex plus .2ex}%
|
||
{\normalfont\normalsize\bfseries}}
|
||
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{0mm}%
|
||
{-1ex plus -.5ex minus -.2ex}%
|
||
{1ex plus .2ex}%
|
||
{\normalfont\small\bfseries}}
|
||
\makeatother
|
||
|
||
% Don't print section numbers
|
||
\setcounter{secnumdepth}{0}
|
||
|
||
\setlength{\parindent}{0pt}
|
||
\setlength{\parskip}{0pt plus 0.5ex}
|
||
% compress space
|
||
\setlength\abovedisplayskip{0pt}
|
||
\setlength{\parskip}{0pt}
|
||
\setlength{\parsep}{0pt}
|
||
\setlength{\topskip}{0pt}
|
||
\setlength{\topsep}{0pt}
|
||
\setlength{\partopsep}{0pt}
|
||
\linespread{0.5}
|
||
\titlespacing{\section}{0pt}{*0}{*0}
|
||
\titlespacing{\subsection}{0pt}{*0}{*0}
|
||
\titlespacing{\subsubsection}{0pt}{*0}{*0}
|
||
|
||
\begin{document}
|
||
|
||
\raggedright
|
||
\begin{multicols}{3}\scriptsize
|
||
% multicol parameters
|
||
% These lengths are set only within the two main columns
|
||
%\setlength{\columnseprule}{0.25pt}
|
||
\setlength{\premulticols}{1pt}
|
||
\setlength{\postmulticols}{1pt}
|
||
\setlength{\multicolsep}{1pt}
|
||
\setlength{\columnsep}{2pt}
|
||
|
||
\subsubsection{Probleme mit natürlicher Sprache}
|
||
|
||
\begin{enumerate*}
|
||
\item Zuordnung von Wahrheitswerten zu natürlichsprachigen Aussagen ist problematisch. (Ich habe nur ein bißchen getrunken.)
|
||
\item Natürliche Sprache ist oft schwer verständlich.
|
||
\item Natürliche Sprache ist mehrdeutig.
|
||
\item Natürliche Sprache hängt von Kontext ab.
|
||
\end{enumerate*}
|
||
|
||
\section{Aussagenlogik}
|
||
In der Aussagenlogik gehen wir von ``Aussagen'' aus, denen wir (zumindest prinzipiell) Wahrheitswerte zuordnen können.
|
||
|
||
Die Aussagen werden durch ``Operatoren'' verbunden.
|
||
|
||
Für zusammengesetzten Aussagen verwenden wir $\varphi,\psi$ usw.
|
||
|
||
Durch die Wahl der erlaubten Operatoren erhält man unterschiedliche ``Logiken''.
|
||
|
||
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:
|
||
\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.
|
||
\end{enumerate*}
|
||
|
||
Beispielformel: $\lnot((\lnot p_4 \vee p_1)\wedge\bot)$
|
||
|
||
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
|
||
\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:
|
||
\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''
|
||
\end{itemize*}
|
||
|
||
\subsection{Konstruktion von Deduktionen}
|
||
Aus der Annahme der Aussage $\varphi$ folgt $\varphi$ unmittelbar: eine triviale Deduktion
|
||
|
||
$\varphi$ mit Hypothesen $\{\varphi\}$ und Konklusion $\varphi$.
|
||
|
||
\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}
|
||
|
||
\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$}
|
||
\end{prooftree}
|
||
\begin{prooftree}
|
||
\AxiomC{$\varphi\wedge\psi$}
|
||
\RightLabel{\scriptsize ($\wedge E_2$)}
|
||
\UnaryInfC{$\psi$}
|
||
\end{prooftree}
|
||
|
||
\subsubsection{Implikationseinführung}
|
||
Ist D eine Deduktion von $\psi$ mit Hypothesen aus $\Gamma\cup\{\varphi\}$, so ergibt sich die folgende Deduktion von $\varphi\rightarrow\psi$ mit Hypothesen aus $\Gamma$:
|
||
\begin{prooftree}
|
||
\AxiomC{$\psi$}
|
||
\RightLabel(\scriptsize ($\rightarrow I)$)
|
||
\UnaryInfC{$\varphi\rightarrow\psi$}
|
||
\end{prooftree}
|
||
|
||
\subsubsection{Implikationselimination oder modus ponens}
|
||
Ist D eine Deduktion von $\varphi$ mit Hypothesen aus $\Gamma$ und ist E eine Deduktion von $\varphi\rightarrow\psi$ mit Hypothesen aus $\Gamma$, so ergibt sich die folgende Deduktion von $\psi$ mit Hypothesen aus $\Gamma$:
|
||
\begin{prooftree}
|
||
\AxiomC{$\varphi$}
|
||
\AxiomC{$\varphi\rightarrow\psi$}
|
||
\RightLabel(\scriptsize ($\rightarrow E)$)
|
||
\BinaryInfC{$\varphi$}
|
||
\end{prooftree}
|
||
|
||
\subsubsection{Disjunktionselimination}
|
||
Ist D eine Deduktion von $\varphi\vee\psi$ mit Hypothesen aus $\Gamma$, ist E eine Deduktion von $\sigma$ mit Hypothesen aus $\Gamma\cup\{\varphi\}$und ist F eine Deduktion von $\sigma$ mit Hypothesen aus $\Gamma\cup\{\psi\}$, so ergibt sich die folgende Deduktion von $\sigma$ mit Hypothesen aus $\Gamma$:
|
||
\begin{prooftree}
|
||
\AxiomC{$\varphi\vee\psi$}
|
||
\AxiomC{$\sigma$}
|
||
\AxiomC{$\sigma$}
|
||
\RightLabel(\scriptsize ($\vee E)$)
|
||
\TrinaryInfC{$\sigma$}
|
||
\end{prooftree}
|
||
|
||
\subsubsection{Negationseinführung}
|
||
Ist D eine Deduktion von $\bot$ mit Hypothesen aus $\Gamma\cup\{\varphi\}$, so ergibt sich die folgende Deduktion von $\lnot\varphi$ mit Hypothesen aus $\Gamma$:
|
||
\begin{prooftree}
|
||
\AxiomC{$\bot$}
|
||
\RightLabel(\scriptsize ($\lnot I)$)
|
||
\UnaryInfC{$\varphi$}
|
||
\end{prooftree}
|
||
|
||
\subsection{Negationselimination}
|
||
Ist D eine Deduktion von $\lnot\varphi$ mit Hypothesen aus $\Gamma$ und ist E eine Deduktion von $\varphi$ mit Hypothesen aus $\gamma$, so ergibt sich die folgende Deduktion von $\bot$ mit Hypothesen aus $\Gamma$:
|
||
\begin{prooftree}
|
||
\AxiomC{$\lnot\varphi$}
|
||
\AxiomC{$\varphi$}
|
||
\RightLabel(\scriptsize ($\lnot E)$)
|
||
\BinaryInfC{$\bot$}
|
||
\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}
|
||
|
||
\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$:
|
||
\begin{prooftree}
|
||
\AxiomC{$\bot$}
|
||
\RightLabel(\scriptsize ($raa)$)
|
||
\UnaryInfC{$\varphi$}
|
||
\end{prooftree}
|
||
|
||
\subsection{Regeln des natürlichen Schließens}
|
||
\begin{quote}
|
||
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$''.
|
||
|
||
Eine Formel $\varphi$ ist ein Theorem, wenn $\varnothing\Vdash\varphi$
|
||
gilt.
|
||
\end{quote}
|
||
|
||
\subsubsection{Bemerkung}\label{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.
|
||
|
||
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}
|
||
|
||
\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}$
|
||
\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))$
|
||
|
||
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}$
|
||
|
||
\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:
|
||
$inf\{B(\gamma )|\gamma \in \Gamma \}\leq B(\phi)$
|
||
|
||
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.
|
||
|
||
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}
|
||
|
||
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."
|
||
|
||
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}
|
||
|
||
\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$.
|
||
\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}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\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}
|
||
|
||
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?
|
||
|
||
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?
|
||
|
||
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)$.
|
||
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$.
|
||
|
||
\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}
|
||
|
||
\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$
|
||
\end{itemize*}
|
||
|
||
\subsubsection{Konsistente Mengen}\label{konsistente-mengen}
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
Sei $\Gamma$ eine Menge von Formeln. $\Gamma$ heißt inkonsistent, wenn
|
||
$\Gamma\vdash\bot$ gilt. Sonst heißt $\Gamma$ konsistent.
|
||
\end{quote}
|
||
|
||
\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}
|
||
|
||
\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$.
|
||
\end{enumerate*}
|
||
|
||
\begin{quote}
|
||
Lemma 2
|
||
|
||
Sei $\Delta$ maximal konsistent und $\varphi$ Formel. Dann gilt
|
||
$\varphi\not\in\Delta\Leftrightarrow\lnot\varphi\in\Delta$.
|
||
\end{quote}
|
||
|
||
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)
|
||
|
||
\subsection{Erfüllbare Mengen}\label{erfuxfcllbare-mengen}
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
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)
|
||
|
||
\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$ (*)
|
||
|
||
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 $<n$.
|
||
\item
|
||
I.S.: Sei $\varphi$ Formel der Längen$>1$. $\Rightarrow$ Es gibt
|
||
Formeln $\alpha$ und $\beta$ der Länge$<n$ mit
|
||
$\varphi\in\{\lnot\alpha,\alpha\wedge\beta,\alpha\vee\beta,\alpha\rightarrow\beta\}$.
|
||
|
||
\begin{itemize*}
|
||
\item
|
||
Wir zeigen (*) für diese vier Fälle einzeln auf den folgenden
|
||
Folien.
|
||
\item
|
||
Zur Erinnerung: $\Delta$ max. konsistent, $\varphi$ Formel
|
||
\item
|
||
Lemma 1: $\Delta\vdash\varphi\Rightarrow\varphi\in\Delta$
|
||
\item
|
||
Lemma 2:
|
||
$\varphi\not\in\Delta\Leftarrow\Rightarrow\lnot\varphi\in\Delta$
|
||
\end{itemize*}
|
||
\item
|
||
$\varphi =\lnot\alpha$.
|
||
$B(\varphi) = 1_B \Leftarrow\Rightarrow B(\alpha) = 0_B \Leftarrow\Rightarrow \alpha\not\in\Delta\Leftarrow\Rightarrow \Delta \owns\lnot\alpha =\varphi$
|
||
\item
|
||
$\varphi =\alpha\wedge\beta$.
|
||
\end{enumerate*}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
$B(\varphi) = 1_B \Rightarrow B(\alpha) =B(\beta) = 1_B \Rightarrow\alpha,\beta\in\Delta\Rightarrow\Delta\vdash\varphi$
|
||
denn $\frac{\alpha\quad\beta}{\alpha\wedge\beta}$ ist Deduktion
|
||
$\Rightarrow\varphi\in\Delta$.
|
||
\item
|
||
$\varphi$ $\in$ $\Delta$ $\Rightarrow\Delta\vdash\alpha$ und
|
||
$\Delta\vdash\beta$ denn $\frac{\varphi}{\alpha}$ und
|
||
$\frac{\varphi}{\beta}$ sind Deduktionen.
|
||
$\Rightarrow\alpha,\beta\in\Delta\Rightarrow B(\alpha),B(\beta) = 1_B=\Rightarrow B(\varphi) = 1_B$
|
||
\end{itemize*}
|
||
|
||
\begin{enumerate*}
|
||
\setcounter{enumi}{2}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
$\varphi =\alpha\vee\beta$.
|
||
\end{enumerate*}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
$B(\varphi) = 1_B \Rightarrow B(\alpha) = 1_B$ oder $B(\beta) = 1_B$
|
||
|
||
\begin{itemize*}
|
||
\item
|
||
angenommen,
|
||
$B(\alpha) = 1_B \Rightarrow\alpha\in\Delta\Rightarrow\Delta\vdash\varphi$
|
||
denn $\frac{\alpha}{\varphi}$ ist Deduktion
|
||
$\Rightarrow\varphi\in\Delta$
|
||
\item
|
||
angenommen, $B(\alpha) = 0_B \Rightarrow B(\beta) = 1_B$. weiter
|
||
analog.
|
||
\end{itemize*}
|
||
\item
|
||
$\varphi\in\Delta$. Dann gilt
|
||
$\Delta\cup\{\lnot\alpha ,\lnot\beta\}\vdash \bot$ aufgrund der
|
||
Deduktion \includegraphics[width=\linewidth]{Assets/Logik-beispiel-8.png} Da $\Delta$
|
||
konsistent ist, folgt
|
||
$\Delta\not=\Delta\cup\{\lnot\alpha,\lnot\beta\}$ und damit
|
||
$\lnot\alpha\in\Delta$ oder $\lnot\beta\in\Delta$.
|
||
$\Rightarrow\alpha\in\Delta$ oder $\beta\in\Delta$ nach Lemma 2
|
||
$\Rightarrow B(\alpha) = 1_B$ oder $B(\beta) =1_B$
|
||
$\Rightarrow B(\varphi) = 1_B$.
|
||
\end{itemize*}
|
||
|
||
\begin{enumerate*}
|
||
\setcounter{enumi}{3}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
$\varphi = \alpha\rightarrow\beta$.
|
||
\end{enumerate*}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
$B(\varphi) = 1_B \Rightarrow B(\alpha) = 0_B$ oder
|
||
$B(\beta) = 1_B \Rightarrow\lnot\alpha\in\Delta$ oder $\beta\in\Delta$
|
||
Aufgrund nebenstehender Deduktionen gilt in beiden Fällen
|
||
$\Delta\vdash\alpha\rightarrow\beta\Rightarrow\varphi\in\Delta$
|
||
\includegraphics[width=\linewidth]{Assets/Logik-beispiel-9.png}
|
||
\item
|
||
$\varphi\in\Delta$. Angenommen,
|
||
$B(\varphi) = 0_B = \Rightarrow B(\alpha) = 1_B, B(\beta) = 0_B$
|
||
$\Rightarrow\alpha\in\Delta, \beta\not\in\Delta \Rightarrow \lnot\beta\in\Delta$
|
||
Aufgrund der nebenstehenden Deduktion gilt $\Delta\vdash\bot$, d.h.
|
||
$\Delta$ ist inkonsistent, im Widerspruch zur Annahme.
|
||
$\Rightarrow B(\varphi) = 1_B$
|
||
\includegraphics[width=\linewidth]{Assets/Logik-beispiel-10.png}
|
||
\end{itemize*}
|
||
|
||
\begin{quote}
|
||
Lemma
|
||
|
||
Sei $\Gamma$ eine Menge von Formeln und $\varphi$ eine Formel. Dann gilt
|
||
$\Gamma\not\Vdash_B\varphi\Leftarrow\Rightarrow\Gamma\cup\{\lnot \varphi\}$
|
||
erfüllbar.
|
||
\end{quote}
|
||
|
||
Beweis: $\Gamma\not\Vdash_B\varphi$ $\Leftarrow\Rightarrow$ es gibt
|
||
passende B-Belegung $B$ mit
|
||
$inf\{B(\gamma)|\gamma\in\Gamma\} \not\leq_B B(\varphi)$
|
||
$\Leftarrow\Rightarrow$ es gibt passende B-Belegung $B$ mit
|
||
$inf\{B(\gamma)|\gamma\in\Gamma\}= 1_B$ und $B(\varphi)=0_B$
|
||
$\Leftarrow\Rightarrow$ es gibt passende B-Belegung $B$ mit
|
||
$B(\gamma) = 1_B$ für alle $\gamma\in\Gamma$ und $B(\lnot\varphi) = 1_B$
|
||
$\Leftarrow\Rightarrow \Gamma\cup\{\lnot\varphi\}$ erfüllbar
|
||
|
||
\begin{quote}
|
||
Beobachtung: Sei $W$ einer der Wahrheitswertebereiche $B, K_3, F, H_R$
|
||
und $B_R,\Gamma$ eine Menge von Formeln und $\varphi$ eine Formel. Dann
|
||
gilt $\Gamma\Vdash W\varphi\Rightarrow\Gamma\Vdash B\varphi$.
|
||
\end{quote}
|
||
|
||
Beweis: Sei $B$ beliebige B-Belegung, die zu jeder Formel in
|
||
$\Gamma\cup\{\varphi\}$ paßt. definiere W-Belegung $B_W$ durch
|
||
$B_W(pi) = \begin{cases} 1_W \quad\text{ falls } B(p_i) = 1_B \\ 0_W \quad\text{ sonst} \end{cases}$.
|
||
per Induktion über die Formelgröße kann man für alle Formeln $\psi$, zu
|
||
denen $B$ paßt, zeigen:
|
||
$B_W(\psi) = \begin{cases} 1_W \quad\text{ falls } B(\psi) = 1_B \\ 0_W \quad\text{ sonst.} \end{cases}$
|
||
(*)
|
||
|
||
Wir unterscheiden zwei Fälle: -
|
||
$inf\{B(\gamma)|\gamma\in\Gamma\}= 1_B \Rightarrow inf\{B_W(\gamma)|\gamma\in\Gamma\} = 1_W$
|
||
(wegen (\emph{)) $\Rightarrow 1_W = B_W(\varphi)$ (wegen
|
||
$\Gamma\Vdash_W\varphi$) $\Rightarrow 1_B = B(\varphi)$ (wegen (}))
|
||
$\Rightarrow inf\{B(\gamma)|\gamma\in\Gamma\} = 1_B \leq B(\varphi)$ und
|
||
-
|
||
$inf\{B(\gamma)|\gamma\in\Gamma\} \not= 1_B \Rightarrow inf\{B(\gamma)|\gamma\in\Gamma\}= 0_B$
|
||
$\Rightarrow inf\{B(\gamma)|\gamma\in\Gamma\}= 0_B \leq B(\varphi)$.
|
||
|
||
Da $B$ beliebig war, gilt $\Gamma\Vdash_B \varphi$.
|
||
|
||
\begin{quote}
|
||
Satz (Vollständigkeitssatz)
|
||
|
||
Sei $\Gamma$ eine Menge von Formeln, $\varphi$ eine Formel und $W$ einer
|
||
der Wahrheitswertebereiche $B,K_3 , F, B_R$ und $H_R$. Dann gilt
|
||
$\Gamma\Vdash_W\varphi \Rightarrow \Gamma\vdash\varphi$. Insbesondere
|
||
ist jede W-Tautologie ein Theorem.
|
||
\end{quote}
|
||
|
||
Beweis: indirekt - $\Gamma\not\Vdash$ - $\Gamma\cup\{\lnot\varphi\}$
|
||
konsistent - $\exists\Delta\supseteq\Gamma\cup\{\lnot\varphi\}$ maximal
|
||
konsistent - $\Rightarrow\Delta$ erfüllbar -
|
||
$\Gamma\cup\{\lnot\varphi\}$ erfüllbar - $\Gamma\not\Vdash_B \varphi$\\-
|
||
$\Gamma\not\Vdash_W \varphi$
|
||
|
||
\subsection{Vollständigkeit und
|
||
Korrektheit}\label{vollstuxe4ndigkeit-und-korrektheit}
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Seien $\Gamma$ eine Menge von Formeln und $\varphi$ eine Formel. Dann
|
||
gilt $\Gamma\vdash\varphi\Leftarrow\Rightarrow\Gamma\Vdash_B \varphi$.
|
||
Insbesondere ist eine Formel genau dann eine B-Tautologie, wenn sie ein
|
||
Theorem ist.
|
||
\end{quote}
|
||
|
||
Beweis: Folgt unmittelbar aus Korrektheitssatz und Vollständigkeitssatz.
|
||
|
||
\begin{quote}
|
||
Bemerkung: - gilt für jede ``Boolesche Algebra'', z.B. $B_R$ -
|
||
$\Gamma\vdash\varphi$ ohne ($raa$)
|
||
$\Leftarrow\Rightarrow\Gamma\Vdash_{H_R} \varphi$ (Tarksi 1938)
|
||
\end{quote}
|
||
|
||
\subsubsection{Folgerung 1:
|
||
Entscheidbarkeit}\label{folgerung-1-entscheidbarkeit}
|
||
|
||
\begin{quote}
|
||
Satz: die Menge der Theoreme ist entscheidbar.
|
||
\end{quote}
|
||
|
||
Beweis: Sei $\varphi$ Formel und $V$ die Menge der vorkommenden atomaren
|
||
Formeln. Dann gilt $\varphi$ Theorem - $\Leftarrow\Rightarrow\varphi$
|
||
B-Tautologie - $\Leftarrow\Rightarrow$ für alle Abbildungen
|
||
$B:V\rightarrow\{0_B, 1_B\}$ gilt $B(\varphi) = 1_B$
|
||
|
||
Da es nur endlich viele solche Abbildungen gibt und $B(\varphi)$
|
||
berechnet werden kann, ist dies eine entscheidbare Aussage.
|
||
|
||
\subsubsection{Folgerung 2: Äquivalenzen und
|
||
Theoreme}\label{folgerung-2-uxe4quivalenzen-und-theoreme}
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
Zwei Formeln $\alpha$ und $\beta$ heißen äquivalent
|
||
$(\alpha\equiv\beta)$, wenn für alle passenden B-Belegungen $B$ gilt:
|
||
$B(\alpha) =B(\beta)$.
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
Satz: Es gelten die folgenden Äquivalenzen: 1.
|
||
$p_1 \vee p_2 \equiv p_2 \vee p_1$ 2.
|
||
$(p_1 \vee p_2 )\vee p_3 \equiv p_1 \vee (p_2 \vee p_3 )$ 3.
|
||
$p_1 \vee (p_2 \wedge p_3 )\equiv (p_1 \vee p_2 )\wedge (p_1 \vee p_3 )$
|
||
4. $\lnot(p_1 \vee p_2 )\equiv\lnot p_1 \wedge\lnot p_2$ 5.
|
||
$p_1 \vee p_1 \equiv p_1$ 6.
|
||
$(p_1 \wedge \lnot p_1 )\vee p_2 \equiv p_2$ 7.
|
||
$\lnot\lnot p_1\equiv p_1$ 8. $p_1 \wedge\lnot p_1 \equiv\bot$ 9.
|
||
$p_1 \vee\lnot p_1 \equiv\lnot\bot$ 10.
|
||
$p_1 \rightarrow p_2 \equiv \lnot p_1 \vee p_2$
|
||
\end{quote}
|
||
|
||
Beweis: Wir zeigen nur die Äquivalenz (3): Sei $B$ beliebige B-Belegung,
|
||
die wenigstens auf $\{p_1, p_2, p_3\}$ definiert ist. Dazu betrachten
|
||
wir die Wertetabelle: \textbar{} $B(p_1)$ \textbar{} $B(p_2)$ \textbar{}
|
||
$B(p_3)$ \textbar{} $B(p_1\vee(p_2\wedge p_3))$ \textbar{}
|
||
$B((p_1\vee p_2)\wedge(p_1 \vee p_3 ))$ \textbar{} \textbar{} --------
|
||
\textbar{} -------- \textbar{} -------- \textbar{}
|
||
--------------------------- \textbar{}
|
||
--------------------------------------- \textbar{} \textbar{} $0_B$
|
||
\textbar{} $0_B$ \textbar{} $0_B$ \textbar{} $0_B$ \textbar{} $0_B$
|
||
\textbar{} \textbar{} $0_B$ \textbar{} $0_B$ \textbar{} $1_B$ \textbar{}
|
||
$0_B$ \textbar{} $0_B$ \textbar{} \textbar{} $0_B$ \textbar{} $1_B$
|
||
\textbar{} $0_B$ \textbar{} $0_B$ \textbar{} $0_B$ \textbar{} \textbar{}
|
||
$0_B$ \textbar{} $1_B$ \textbar{} $1_B$ \textbar{} $1_B$ \textbar{}
|
||
$1_B$ \textbar{} \textbar{} $1_B$ \textbar{} $0_B$ \textbar{} $0_B$
|
||
\textbar{} $1_B$ \textbar{} $1_B$ \textbar{} \textbar{} $1_B$ \textbar{}
|
||
$0_B$ \textbar{} $1_B$ \textbar{} $1_B$ \textbar{} $1_B$ \textbar{}
|
||
\textbar{} $1_B$ \textbar{} $1_B$ \textbar{} $0_B$ \textbar{} $1_B$
|
||
\textbar{} $1_B$ \textbar{} \textbar{} $1_B$ \textbar{} $1_B$ \textbar{}
|
||
$1_B$ \textbar{} $1_B$ \textbar{} $1_B$ \textbar{}
|
||
|
||
Die anderen Äquivalenzen werden analog bewiesen.
|
||
|
||
Aus dieser Liste von Äquivalenzen können weitere hergeleitet werden:
|
||
|
||
Beispiel: Für alle Formeln $\alpha$ und $\beta$ gilt
|
||
$\lnot(\alpha\wedge\beta)\equiv\lnot\alpha\vee\lnot\beta$.
|
||
|
||
Beweis:
|
||
$\lnot(\alpha\wedge\beta) \equiv \lnot(\lnot\lnot\alpha\wedge\lnot\lnot\beta) \equiv \lnot\lnot(\lnot\alpha\vee\lnot\beta) \equiv \lnot\alpha\vee\lnot\beta$
|
||
|
||
\begin{quote}
|
||
Bemerkung Mit den üblichen Rechenregeln für Gleichungen können aus
|
||
dieser Liste alle gültigen Äquivalenzen hergeleitet werden.
|
||
\end{quote}
|
||
|
||
\paragraph{Zusammenhang zw. Theoremen und
|
||
Äquivalenzen}\label{zusammenhang-zw.-theoremen-und-uxe4quivalenzen}
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Seien $\alpha$ und $\beta$ zwei Formeln. Dann gilt
|
||
$\alpha\equiv\beta\Leftarrow\Rightarrow(\alpha\leftrightarrow\beta)$ ist
|
||
Theorem.
|
||
\end{quote}
|
||
|
||
Beweis: $\alpha\equiv\beta$ - $\Leftarrow\Rightarrow$ für alle passenden
|
||
B-Belegungen $B$ gilt $B(\alpha)=B(\beta)$ -
|
||
$\Leftarrow\Rightarrow \{\alpha\}\Vdash_B\beta$ und
|
||
$\{\beta\}\Vdash_B \alpha$ -
|
||
$\Leftarrow\Rightarrow \{\alpha\}\vdash\beta$ und
|
||
$\{\beta\}\vdash\alpha$ (nach Korrektheits- und Vollständigkeitssatz)
|
||
|
||
es bleibt z.z., dass dies äquivalent zu
|
||
$\varnothing\vdash(\alpha\leftrightarrow\beta)$ ist. - $\Rightarrow$:
|
||
Wir haben also Deduktionen mit Hypothesen in $\{\alpha\}$ bzw. in
|
||
$\{\beta\}$ und Konklusionen $\beta$ bzw.$\alpha$. Es ergibt sich eine
|
||
hypothesenlose Deduktion von $\alpha\leftrightarrow\beta$:
|
||
\includegraphics[width=\linewidth]{Assets/Logik-deduktion-1.png} - $\Leftarrow$: Wir haben
|
||
also eine hypothesenlose Deduktion von $\alpha\leftrightarrow\beta$. Es
|
||
ergeben sich die folgenden Deduktionen mit Hypothesen $\beta$ bzw.
|
||
$\alpha$ und Konklusionen $\alpha$ bzw. $\beta$:
|
||
\includegraphics[width=\linewidth]{Assets/Logik-deduktion-2.png}
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Sei $\alpha$ eine Formel. Dann gilt $\alpha$ ist Theorem
|
||
$\Leftarrow\Rightarrow\alpha\equiv\lnot\bot$.
|
||
\end{quote}
|
||
|
||
Beweis: $\alpha$ ist Theorem - $\Leftarrow\Rightarrow\alpha$ ist
|
||
B-Tautologie (Korrektheits- und Vollständigkeitssatz) -
|
||
$\Leftarrow\Rightarrow$ für alle passenden B-Belegungen $B$ gilt
|
||
$B(\alpha) = 1_B$ - $\Leftarrow\Rightarrow$ für alle passenden
|
||
B-Belegungen $B$ gilt $B(\alpha) =B(\lnot\bot)$ -
|
||
$\Leftarrow\Rightarrow\alpha\equiv\lnot\bot$
|
||
|
||
\subsubsection{Folgerung 3: Kompaktheit}\label{folgerung-3-kompaktheit}
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Sei $\Gamma$ eine u.U. unendliche Menge von Formeln und $\varphi$ eine
|
||
Formel mit $\Gamma\Vdash_B\varphi$. Dann existiert
|
||
$\Gamma'\subseteq\Gamma$ endlich mit $\Gamma'\Vdash_B \varphi$.
|
||
\end{quote}
|
||
|
||
Beweis: $\Gamma\Vdash_B\varphi$ - $\Rightarrow\Gamma\vdash\varphi$ (nach
|
||
dem Vollständigkeitssatz) - $\Rightarrow$ es gibt Deduktion von
|
||
$\varphi$ mit Hypothesen $\gamma_1,...,\gamma_n\in\Gamma$ -
|
||
$\Rightarrow\Gamma'=\{\gamma_1,...,\gamma_n\}\subseteq\Gamma$ endlich
|
||
mit $\Gamma'\vdash\varphi$ - $\Rightarrow\Gamma'\Vdash_B\varphi$ (nach
|
||
dem Korrektheitssatz).
|
||
|
||
\begin{quote}
|
||
Folgerung (Kompaktheits- oder Endlichkeitssatz)
|
||
|
||
Sei $\Gamma$ eine u.U. unendliche Menge von Formeln. Dann gilt $\Gamma$
|
||
unerfüllbar $\Leftarrow\Rightarrow\exists\Gamma'\subseteq\Gamma$
|
||
endlich: $\Gamma'$ unerfüllbar
|
||
\end{quote}
|
||
|
||
Beweis: $\Gamma$ unerfüllbar -
|
||
$\Leftarrow\Rightarrow\Gamma\cup\{\lnot\bot\}$ unerfüllbar -
|
||
$\Leftarrow\Rightarrow\Gamma\Vdash_B\bot$ - $\Leftarrow\Rightarrow$ es
|
||
gibt $\Gamma'\subseteq\Gamma$ endlich: $\Gamma'\Vdash_B\bot$ -
|
||
$\Leftarrow\Rightarrow$ es gibt $\Gamma'\subseteq\Gamma$ endlich:
|
||
$\Gamma'\cup\{\lnot\bot\}$ unerfüllbar - $\Leftarrow\Rightarrow$ es gibt
|
||
$\Gamma'\subseteq\Gamma$ endlich: $\Gamma'$ unerfüllbar
|
||
|
||
\subsubsection{1. Anwendung des Kompaktheitsatzes:
|
||
Färbbarkeit}\label{anwendung-des-kompaktheitsatzes-fuxe4rbbarkeit}
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
Ein Graph ist ein Paar $G=(V,E)$ mit einer Menge $V$ und
|
||
$E\subseteq\binom{V}{2} =\{X\subseteq V:|V\Vdash 2\}$. Für $W\subseteq V$ sei $G\upharpoonright_W= (W,E\cap\binom{W}{2})$
|
||
der von $W$ induzierte Teilgraph. Der Graph G ist 3-färbbar, wenn es
|
||
eine Abbildung $f:V\rightarrow\{1,2,3\}$ mit $f(v)\not=f(w)$ für alle
|
||
$\{v,w\}\in E$.
|
||
\end{quote}
|
||
|
||
Bemerkung: Die 3-Färbbarkeit eines endlichen Graphen ist NP-vollständig
|
||
|
||
\begin{quote}
|
||
Satz Sei $G= (N,E)$ ein Graph. Dann sind äquivalent 1. $G$ ist
|
||
3-färbbar. 2. Für jede endliche Menge $W\subseteq N$ ist
|
||
$G\upharpoonright_W$ 3-färbbar.
|
||
\end{quote}
|
||
|
||
Beweis: - $1.\Rightarrow 2.$ trivial - $2.\Rightarrow 1.$ Sei nun, für
|
||
alle endlichen Menge $W\subseteq N$, der induzierte Teilgraph
|
||
$G\upharpoonright_W$ 3-färbbar.
|
||
|
||
Wir beschreiben zunächst mit einer unendlichen Menge $\Gamma$ von
|
||
Formeln, dass eine 3-Färbung existiert: - atomare Formeln $p_{n,c}$ für
|
||
$n\in N$ und $c\in\{1,2,3\}$ (Idee: der Knoten n hat die Farbe c) -
|
||
$\Gamma$ enthält die folgenden Formeln: - für alle
|
||
$n\in N:p_{n, 1} \vee p_{n, 2} \vee p_{n, 3}$ (der Knoten n ist gefärbt)
|
||
- für alle
|
||
$n\in N:\bigwedge_{1\leq c< d \leq 3} \lnot(p_{n,c} \wedge p_{n,d})$
|
||
(der Knoten n ist nur mit einer Farbe gefärbt) - für alle
|
||
$\{m,n\}\in E: \bigwedge_{1\leq c\leq 3} \lnot(p_{m,c} \wedge p_{n,c})$
|
||
(verbundene Knoten m und n sind verschieden gefärbt)
|
||
|
||
Behauptung: Jede endliche Menge $\Delta\subseteq\Gamma$ ist erfüllbar.
|
||
|
||
Begründung: - Da $\Delta$ endlich ist, existiert endliche Menge
|
||
$W\subseteq N$, so dass jede atomare Formel in $\Delta$ die Form
|
||
$p_{n,c}$ für ein $n\in W$ und ein $c\in\{1,2,3\}$ hat. - Nach Annahme
|
||
existiert $f_W:W\rightarrow\{1,2,3\}$ mit $f_W(m) \not=f(n)$ f.a.
|
||
$\{m,n\}\in E\cap\binom{W}{2}$. - Definiere
|
||
$B:\{p_{n,c}|n\in W, 1 \leq c\leq 3\}\rightarrow\{0,1\}$ durch
|
||
$B(p_{n,c}) = \begin{cases} 1 \quad\text{ falls } f_W(n) = c \\ 0 \quad\text{ sonst.} \end{cases}$
|
||
- Diese Belegung erfüllt $\Delta$, d.h. $\Delta$ ist erfüllbar, womit
|
||
die Behauptung gezeigt ist.
|
||
|
||
Nach dem Kompaktheitssatz ist also $\Gamma$ erfüllbar. Sei $B$
|
||
erfüllende Belegung. Für $n\in N$ existiert genau ein $c\in\{1,2,3\}$
|
||
mit $B(p_{n,c}) =1$. Setze $f(n) =c$. Dann ist $f$ eine gültige Färbung
|
||
des Graphen $G$.
|
||
|
||
\subsubsection{2. Anwendung des Kompaktheitsatzes:
|
||
Parkettierungen}\label{anwendung-des-kompaktheitsatzes-parkettierungen}
|
||
|
||
Idee: Gegeben ist eine Menge von quadratischen Kacheln mit gefärbten
|
||
Kanten. Ist es möglich, mit diesen Kacheln die gesamte Ebene zu
|
||
füllen,so dass aneinanderstoßende Kanten gleichfarbig sind?
|
||
|
||
Berühmtes Beispiel: Mit diesen 11 Kacheln kann die Ebene gefüllt werden,
|
||
aber dies ist nicht periodisch möglich.
|
||
\includegraphics[width=\linewidth]{Assets/Logik-parkettierung-1.png}
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
Ein Kachelsystem besteht aus einer endlichen Menge C von ``Farben'' und
|
||
einer Menge K von Abbildungen $\{N,O,S,W\}\rightarrow C$ von
|
||
``Kacheln''. Eine Kachelung von $G\subseteq Z\times Z$ ist eine
|
||
Abbildung $f:G\rightarrow K$ mit - $f(i,j)(N) =f(i,j+ 1 )(S)$ für alle
|
||
$(i,j),(i,j+ 1 )\in G$ - $f(i,j)(O) =f(i+ 1 ,j)(W)$ für alle
|
||
$(i,j),(i+ 1 ,j)\in G$
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Sei $K$ ein Kachelsystem. Es existiert genau dann eine Kachelung von
|
||
$Z\times Z$, wenn für jedes $n\in N$ eine Kachelung von
|
||
$\{(i,j) :|i|,|j| \leq n\}$ existiert.
|
||
\end{quote}
|
||
|
||
Beweis: - $\Rightarrow$: trivial - $\Leftarrow$: Wir beschreiben
|
||
zunächst mit einer unendlichen Menge $\Gamma$ von Formeln, dass eine
|
||
Kachelung existiert: atomare Formeln $p_{k,i,j}$ für $k\in K$ und
|
||
$i,j\in Z$ (Idee: an der Stelle $(i,j)$ liegt die Kachel $k$, d.h.
|
||
$f(i,j) =k$) Für alle $(i,j)\in Z$ enthält $\Gamma$ die folgenden
|
||
Formeln: - eine der Kacheln aus $K$ liegt an der Stelle
|
||
$(i,j):\bigvee_{k\in K} p_{k,i,j}$ - es liegen nicht zwei verschiedene
|
||
Kacheln an der Stelle
|
||
$(i,j): \bigwedge_{k,k'\in K,k\not=k'} \lnot(p_{k,i,j}\wedge p_{k',i,j})$
|
||
- Kacheln an Stellen $(i,j)$ und $(i,j+1)$ ``passen übereinander'':
|
||
$\bigvee_{k,k'\in K,k(N)=k'(S)} (p_{k,i,j}\wedge p_{k',i,j+1})$ -
|
||
Kacheln an Stellen $(i,j)$ und $(i+1,j)$ ``passen nebeneinander'':
|
||
$\bigvee_{k,k'\in K,k(W)=k'(O)} (p_{k,i,j}\wedge p_{k',i+1,j})$
|
||
|
||
Sei nun $\Delta\subseteq\Gamma$ endlich. - $\Rightarrow$ es gibt
|
||
$n\in N$, so dass $\Delta$ nur atomare Formeln der Form $p_{k,i,j}$ mit
|
||
$|i|,|j|\leq n$ enthält. - Voraussetzung $\Rightarrow$ es gibt Kachelung
|
||
$g:\{(i,j) :|i|,|j| \leq n\}\rightarrow K$ für $k\in K$ und
|
||
$|i|,|j|\leq n$ definiere
|
||
$B(p_{k,i,j}) = \begin{cases} 1_B \quad\text{ falls } g(i,j) =k \\ 0_B \quad\text{ sonst} \end{cases}$
|
||
- $\Rightarrow B(\sigma) = 1_B$ für alle $\sigma\in\Delta$ (da $g$
|
||
Kachelung) - Also haben wir gezeigt, dass jede endliche Teilmenge von
|
||
$\Gamma$ erfüllbar ist. - Kompaktheitssatz $\Rightarrow$ es gibt
|
||
B-Belegung $B$ mit $B(\gamma) = 1_B$ für alle $\gamma\in\Gamma$ -
|
||
$\Rightarrow$ es gibt Abbildung $f:Z\times Z\rightarrow K$ mit
|
||
$f(i,j) =k \Leftarrow\Rightarrow B(p_{k,i,j}) = 1_B$. - Wegen
|
||
$B\Vdash\Gamma$ ist dies eine Kachelung.
|
||
|
||
Weitere Anwendungen des Kompaktheitsatzes - abz. partielle Ordnungen
|
||
sind linearisierbar - abz. Gleichungssystem über $\mathbb{Z}_2$ lösbar
|
||
$\Leftarrow\Rightarrow$ jedes endliche Teilsystem lösbar -
|
||
Heiratsproblem - Kőnigs Lemma (Übung) - \ldots{}
|
||
|
||
Bemerkung: Der Kompaktheitssatz gilt auch, wenn die Menge der atomaren
|
||
Formeln nicht abzählbar ist. Damit gelten die obigen Aussagen
|
||
allgemeiner: - 3-Färbbarkeit: beliebige Graphen - Linearisierbarkeit:
|
||
beliebige partielle Ordnungen - Lösbarkeit: beliebig große
|
||
Gleichungssysteme über $\mathbb{Z}_2$ - \ldots{}
|
||
|
||
\subsection{Erfüllbarkeit}\label{erfuxfcllbarkeit}
|
||
|
||
\begin{quote}
|
||
Erfüllbarkeitsproblem
|
||
|
||
Eingabe: Formel $\Gamma$
|
||
|
||
Frage: existiert eine B-Belegung $B$ mit $B(\Gamma) = 1_B$.
|
||
\end{quote}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
offensichtlicher Algorithmus: probiere alle Belegungen durch (d.h.
|
||
stelle Wahrheitswertetabelle auf)$\rightarrow$ exponentielle Zeit
|
||
\item
|
||
``Automaten, Sprachen und Komplexität'': das Problem ist
|
||
NP-vollständig
|
||
\item
|
||
nächstes Ziel:spezielle Algorithmen für syntaktisch eingeschränkte
|
||
Formeln $\Gamma$
|
||
\item
|
||
Spätere Verallgemeinerung dieser Algorithmen (letzte Vorlesung des
|
||
Logik-Teils von ``Logik und Logikprogrammierung'') bildet Grundlage
|
||
der logischen Programmierung.
|
||
\end{itemize*}
|
||
|
||
\subsubsection{Hornformeln (Alfred Horn,
|
||
1918-2001)}\label{hornformeln-alfred-horn-1918-2001}
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
Eine Hornklausel hat die Form
|
||
$(\lnot\bot\wedge p_1\wedge p_2\wedge ... \wedge p_n)\rightarrow q$ für
|
||
$n\geq 0$, atomare Formeln $p_1 ,p_2 ,... ,p_n$ und $q$ atomare Formel
|
||
oder $q=\bot$. Eine Hornformel ist eine Konjunktion von Hornklauseln.
|
||
\end{quote}
|
||
|
||
Schreib- und Sprechweise - $\{p_1,p_2 ,... ,p_n\}\rightarrow q$ für
|
||
Hornklausel
|
||
$(\lnot\bot\wedge p_1 \wedge p_2 \wedge ...\wedge p_n)\rightarrow q$
|
||
insbes. $\varnothing\rightarrow q$ für $\lnot\bot\rightarrow q$ -
|
||
$\{(M_i\rightarrow q_i)| 1 \leq i\leq n\}$ für Hornformel
|
||
$\bigwedge_{1 \leq i \leq n} (M_i\rightarrow q_i)$
|
||
|
||
Bemerkung, in der Literatur auch: -
|
||
$\{\lnot p_1,\lnot p_2 ,... ,\lnot p_n,q\}$ für
|
||
$\{p_1 ,... ,p_n\}\rightarrow q$ mit $q$ atomare Formel -
|
||
$\{\lnot p_1,\lnot p_2 ,... ,\lnot p_n\}$ für
|
||
$\{p_1 ,... ,p_n\}\rightarrow\bot$ - $\Box$ für
|
||
$\varnothing\rightarrow\bot$, die ``leere Hornklausel''
|
||
|
||
\subsubsection{Markierungsalgorithmus}\label{markierungsalgorithmus}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Eingabe: eine endliche Menge $\Gamma$ von Hornklauseln.
|
||
\end{itemize*}
|
||
|
||
\begin{enumerate*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
while es gibt in $\Gamma$ eine Hornklausel $M\rightarrow q$, so dass
|
||
alle $p\in M$ markiert sind und $q$ unmarkierte atomare Formel ist: do
|
||
markiere $q$ (in allen Hornklauseln in $\Gamma$)
|
||
\item
|
||
if $\Gamma$ enthält eine Hornklausel der Form $M\rightarrow\bot$, in
|
||
der alle $p\in M$ markiert sind then return ``unerfüllbar'' else
|
||
return ``erfüllbar''
|
||
\end{enumerate*}
|
||
|
||
Beweis einer Folgerung: Beispiel - Ziel ist es, die folgende Folgerung
|
||
zu zeigen:
|
||
$\{(AK\vee BK),(AK\rightarrow BK),(BK\wedge RL\rightarrow\lnot AK),RL\}\Vdash\lnot AK$
|
||
- Lemma: man muß Unerfüllbarkeit der folgenden Menge zeigen:
|
||
$\{(AK\vee BK),(AK\rightarrow BK),(BK\wedge RL\rightarrow \lnot AK),RL,\lnot\lnot AK\}$
|
||
- Dies ist keine Menge von Hornklauseln! - Idee: ersetze $BK$ durch
|
||
$\lnot BH$ in allen Formeln. - Ergebnis: - Aus $AK\vee BK$ wird
|
||
$\lnot BH\vee AK\equiv BH\rightarrow AK\equiv\{BH\}\rightarrow AK$. -
|
||
Aus $AK\rightarrow BK$ wird
|
||
$AK\rightarrow\lnot BH\equiv\lnot AK\vee\lnot BH\equiv AK\wedge BH\rightarrow\bot\equiv\{AK,BH\} \rightarrow\bot$.
|
||
- Aus $BK\wedge RL\rightarrow\lnot AK$ wird
|
||
$\lnot BH\wedge RL\rightarrow\lnot AK\equiv BH\vee\lnot RL\vee\lnot AK\equiv RL\wedge AK\rightarrow BH\equiv\{RL,AK\}\rightarrow BH$
|
||
- $RL\equiv (\varnothing\rightarrow RL)$ -
|
||
$\lnot\lnot AK\equiv (\varnothing\rightarrow AK)$ - Wir müssen also
|
||
zeigen, dass die folgende Menge von Hornklauseln unerfüllbar ist:
|
||
$\{\{BH\}\rightarrow AK,\{AK,BH\}\rightarrow\bot,\{RL,AK\}\rightarrow BH,\varnothing\rightarrow RL,\varnothing\rightarrow AK\}$
|
||
|
||
Der Markierungsalgorithmus geht wie folgt vor: 1. Runde: markiere $RL$
|
||
aufgrund der Hornklausel $\varnothing\rightarrow RL$ 2. Runde: markiere
|
||
$AK$ aufgrund der Hornklausel $\varnothing\rightarrow AK$ 3. Runde:
|
||
markiere $BH$ aufgrund der Hornklausel $\{RL,AK\}\rightarrow BH$
|
||
|
||
dann sind keine weiteren Markierungen möglich.
|
||
|
||
In der Hornklausel $\{AK,BH\}\rightarrow\bot$ sind alle atomaren Formeln
|
||
aus $\{AK,BH\}$ markiert. Also gibt der Algorithmus aus, dass die Menge
|
||
von Hornklauseln nicht erfüllbar ist.
|
||
|
||
Nach unserer Herleitung folgern wir, dass das Teil $A$ heil ist.
|
||
|
||
\begin{enumerate*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Der Algorithmus terminiert: in jedem Durchlauf der while-Schleife wird
|
||
wenigstens eine atomare Formel markiert. Nach endlich vielen Schritten
|
||
terminiert die Schleife also.
|
||
\item
|
||
Wenn der Algorithmus eine atomare Formelqmarkiert und wenn $B$ eine
|
||
B-Belegung ist, die $\Gamma$ erfüllt, dann gilt $B(q) = 1_B$. Beweis:
|
||
wir zeigen induktiv über $n$: Wenn $q$ in einem der ersten $n$
|
||
Schleifendurchläufe markiert wird, dann gilt $B(q) = 1_B$.
|
||
\end{enumerate*}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
I.A. Die Aussage gilt offensichtlich für $n=0$.
|
||
\item
|
||
I.S. werde die atomare Formel $q$ in einem der ersten $n$
|
||
Schleifendurchläufe markiert. Dann gibt es eine Hornklausel
|
||
$\{p_1,p_2 ,... ,p_k\}\rightarrow q$, so dass $p_1 ,... ,p_k$ in den
|
||
ersten $n-1$ Schleifendurchläufen markiert wurden. Also gilt
|
||
$B(p_1)=...=B(p_k) = 1_B$ nach IV. Da $B$ alle Hornformeln aus
|
||
$\Gamma$ erfüllt, gilt insbesondere
|
||
$B(\{p_1 ,p_2 ,... ,p_k\}\rightarrow q) = 1_B$ und damit $B(q) = 1_B$.
|
||
\end{itemize*}
|
||
|
||
\begin{enumerate*}
|
||
\setcounter{enumi}{2}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Wenn der Algorithmus ``unerfüllbar'' ausgibt, dann ist $\Gamma$
|
||
unerfüllbar. Beweis: indirekt, wir nehmen also an, dass der
|
||
Algorithmus ``unerfüllbar'' ausgibt, $B$ aber eine B-Belegung ist, die
|
||
$\Gamma$ erfüllt. Sei $\{p_1 ,... ,p_k\}\rightarrow\bot$ die
|
||
Hornklausel aus $\Gamma$, die die Ausgabe ``unerfüllbar'' verursacht
|
||
(d.h. die atomaren Formeln $p_1 ,... ,p_k$ sind markiert). Nach 2.
|
||
gilt $B(p_1) =...=B(p_k) = 1_B$, also
|
||
$B(\{p_1 ,p_2 ,... ,p_k\}\rightarrow\bot) = 0_B$ im Widerspruch zur
|
||
Annahme, dass $B$ alle Hornklauseln aus $\Gamma$ erfüllt. Also kann es
|
||
keine erfüllende B-Belegung von $\Gamma$ geben.
|
||
\item
|
||
Wenn der Algorithmus ``erfüllbar'' ausgibt, dann erfüllt die folgende
|
||
B-Belegung alle Formeln aus $\Gamma$:
|
||
$B(p_i)=\begin{cases} 1_B \quad\text{ der Algorithmus markiert } p_i \\ 0_B \quad\text{ sonst} \end{cases}$
|
||
Beweis:
|
||
|
||
\begin{itemize*}
|
||
\item
|
||
Sei $M\rightarrow q$ eine beliebige Hornklausel aus $\Gamma$.
|
||
\item
|
||
Ist ein $p\in M$ nicht markiert, so gilt
|
||
$B(\bigwedge_{p\in M} p) = 0_B$ und damit $B(M\rightarrow q) = 1_B$.
|
||
\item
|
||
Sind alle $p\in M$ markiert, so wird auch $q$ markiert, also
|
||
$B(q) = 1_B$ und damit $B(M\rightarrow q) = 1_B$.
|
||
\item
|
||
Gilt $q=\bot$, so existiert unmarkiertes $p\in M$ (da der
|
||
Algorithmus sonst ``unerfüllbar'' ausgegeben hätte), also
|
||
$B(M\rightarrow\bot) = 1_B$ wie im ersten Fall. Also gilt
|
||
$B(M\rightarrow q) = 1_B$ für alle Hornklauseln aus $\Gamma$, d.h.
|
||
$\Gamma$ ist erfüllbar.
|
||
\end{itemize*}
|
||
\end{enumerate*}
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Sei $\Gamma$ endliche Menge von Hornklauseln. Dann terminiert der
|
||
Markierungsalgorithmus mit dem korrekten Ergebnis.
|
||
\end{quote}
|
||
|
||
Beweis: Die Aussagen 1.-4. beweisen diesen Satz.
|
||
|
||
Bemerkungen: - Mit einer geeigneten Implementierung läuft der
|
||
Algorithmusin linearer Zeit. - Wir haben sogar gezeigt, dass bei Ausgabe
|
||
von ``erfüllbar'' eine erfüllende B-Belegung berechnet werden kann.
|
||
|
||
\subsubsection{SLD-Resolution}\label{sld-resolution}
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
Sei $\Gamma$ eine Menge von Hornklauseln. Eine 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$ - für alle
|
||
$0\leq n<m$ existiert $(N\rightarrow q)\in\Gamma$ mit $q\in M_n$ und
|
||
$M_{n+1} = M_n\backslash\{q\}\cup N$
|
||
\end{quote}
|
||
|
||
Beispiel: -
|
||
$\Gamma =\{\{BH\}\rightarrow AK,\{AK,BH\}\rightarrow\bot,\{RL,AK\}\rightarrow BH,\varnothing\rightarrow RL,\varnothing\rightarrow AK\}$
|
||
- $M_0 =\{AK,BH\}$ - $M_1 =M_0 \backslash\{BH\}\cup\{RL,AK\}=\{RL,AK\}$
|
||
- $M_2 =M_1 \backslash\{RL\}\cup\varnothing =\{AK\}$ -
|
||
$M_3 =M_2 \backslash\{AK\}\cup\varnothing =\varnothing$
|
||
|
||
\begin{quote}
|
||
Lemma A
|
||
|
||
Sei $\Gamma$ eine (u.U. unendliche) Menge von Hornklauseln und
|
||
$(M_0\rightarrow\bot, M_1\rightarrow\bot,... , M_m\rightarrow\bot)$ eine
|
||
SLD-Resolution aus $\Gamma$ mit $M_m=\varnothing$. Dann ist $\Gamma$
|
||
nicht erfüllbar.
|
||
\end{quote}
|
||
|
||
Beweis: - indirekt: angenommen, es gibt B-Belegung $B$ mit
|
||
$B(N\rightarrow q) = 1_B$ für alle $(N\rightarrow q)\in\Gamma$. - Wir
|
||
zeigen für alle $0\leq n\leq m$ per Induktion über n: es gibt $p\in M_n$
|
||
mit $B(p) = 0_B$ (4) - I.A.: $n=0:(M_0 \rightarrow\bot,...)$
|
||
SLD-Resolution $\Rightarrow(M_0\rightarrow\bot)\in\Gamma$ -
|
||
$\Rightarrow B(M_0\rightarrow\bot) = 1_B$ - $\Rightarrow$ es gibt
|
||
$p\in M_0$ mit $B(p) = 0_B$ - I.V.: sei $n<m$ und $p\in M_n$ mit
|
||
$B(p) = 0_B$ - I.S.:
|
||
$(... ,M_n\rightarrow\bot,M_{n+ 1}\rightarrow\bot,...)$ SLD-Resolution
|
||
$\Rightarrow$ es gibt $(N\rightarrow q)\in\Gamma$ mit
|
||
$M_{n+1} =M_n\backslash\{q\}\cup N$ und $q\in M_n$. Zwei Fälle werden
|
||
unterschieden: 1. $p\not=q$: dann gilt $p\in M_{n+1}$ mit $B(p) = 0_B$
|
||
2. $p=q:(N\rightarrow q)\in\Gamma\Rightarrow B(N\rightarrow q) = 1_B$ es
|
||
gibt $p'\in N\subseteq M_{n+1}$ mit $B(p')=0_B$ in jedem der zwei Fälle
|
||
gilt also (4) für $n+1$. - Damit ist der induktive Beweis von (4)
|
||
abgeschlossen. - Mit $m=n$ haben wir insbesondere ``es gibt $p\in M_m$
|
||
mit $B(p) = 0_B$'' im Widerspruch zu $M_m=\varnothing$. Damit ist der
|
||
indirekte Beweis abgeschlossen.
|
||
|
||
\begin{quote}
|
||
Lemma B
|
||
|
||
Sei $\Gamma$ eine (u.U. unendliche) unerfüllbare Menge von Hornklauseln.
|
||
Dann existiert eine SLD-Resolution
|
||
$(M_0\rightarrow\bot,...,M_m\rightarrow\bot)$ aus $\Gamma$ mit
|
||
$M_m=\varnothing$.
|
||
\end{quote}
|
||
|
||
Beweis: Endlichkeitssatz: es gibt $\Delta\subseteq\Gamma$ endlich und
|
||
unerfüllbar. Bei Eingabe von$\Delta$ terminiert Markierungsalgorithmus
|
||
mit ``unerfüllbar'' - $r\geq 0...$ Anzahl der Runden - $q_i...$
|
||
Atomformel, die in $i$ Runde markiert wird $(1\leq i\leq r)$
|
||
|
||
Behauptung: Es gibt $m\leq r$ und SLD-Resolution
|
||
$(M_0\rightarrow\bot,...,M_m\rightarrow\bot)$ aus $\Delta$ mit
|
||
$M_m=\varnothing$ und $M_n\subseteq\{q_1,q_2,... ,q_{r-n}\}$ f.a.
|
||
$0\leq n\leq m$. (5)
|
||
|
||
Beweis der Behauptung: Wir konstruieren die Hornklauseln
|
||
$M_i\rightarrow\bot$ induktiv: - I.A.: Da der Markierungsalgorithmus mit
|
||
``unerfüllbar'' terminiert, existiert eine Hornklausel
|
||
$(M_0\rightarrow\bot)\in\Gamma$ mit $M_0\subseteq\{q_1,... ,q_{r- 0}\}$.
|
||
$(M_0\rightarrow\bot)$ ist SLD-Resolution aus $\Delta$, die (5) erfüllt.
|
||
- I.V.: Sei $n\leq r$ und $(M_0\rightarrow\bot,... ,M_n\rightarrow\bot)$
|
||
SLD-Resolution, so dass (5) gilt. - I.S.: wir betrachten drei Fälle: 1.
|
||
Fall $M_n=\varnothing$: mit $m:=n$ ist Beweis der Beh. abgeschlossen. 2.
|
||
Fall $n=r$: Nach (5) gilt $M_n\subseteq\{q_1,...,q_{r-n}\}=\varnothing$.
|
||
Mit $m:=n$ ist der Beweis der Beh. abgeschlossen. 3. Fall $n<r$ und
|
||
$M_n \not=\varnothing$. Sei $k$ maximal mit
|
||
$q_k\in M_n\subseteq\{q_1,q_2,... ,q_{r-n}\}$. Also existiert
|
||
$(N\rightarrow q_k)\in\Delta$, so dass $N\subseteq\{q_1,... ,q_{k-1}\}$.
|
||
Setze
|
||
$M_{n+1}=M_n\backslash\{q_k\}\cup N\subseteq\{q_1,... ,q_{k-1}\}\subseteq\{q_1,...,q_{r-(n+1)}\}$.
|
||
|
||
Damit ist der induktive Beweis der Beh. abgeschlossen, woraus das Lemma
|
||
unmittelbar folgt.
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Sei $\Gamma$ eine (u.U. unendliche) Menge von Hornklauseln. Dann sind
|
||
äquivalent: 1. $\Gamma$ ist nicht erfüllbar. 2. Es gibt eine
|
||
SLD-Resolution
|
||
$(M_0\rightarrow\bot,M_1\rightarrow\bot,... ,M_m\rightarrow\bot)$ aus
|
||
$\Gamma$ mit $M_m=\varnothing$.
|
||
\end{quote}
|
||
|
||
Beweis: Folgt unmittelbar aus Lemmata A und B.
|
||
|
||
Beispiel:
|
||
$\Gamma=\{\{a,b\}\rightarrow\bot,\{a\}\rightarrow c, \{b\}\rightarrow c,\{c\}\rightarrow a,\varnothing\rightarrow b$;
|
||
alle SLD-Resolutionen aus$\Gamma$ kann man durch einen Baum beschreiben:
|
||
\includegraphics[width=\linewidth]{Assets/Logik-beispiel-11.png}
|
||
|
||
Die Suche nach einer SLD-Resolution mit $M_m=\varnothing$ kann
|
||
grundsätzlich auf zwei Arten erfolgen: - Breitensuche: - findet
|
||
SLD-Resolution mit $M_m=\varnothing$ (falls sie existiert), da Baum
|
||
endlich verzweigend ist (d.h. die Niveaus sind endlich) - hoher
|
||
Platzbedarf, da ganze Niveaus abgespeichert werden müssen (in einem
|
||
Binärbaum der Tiefe $n$ kann es Niveaus der Größe $2^n$ geben) -
|
||
Tiefensuche: - geringerer Platzbedarf (in einem Binärbaum der Tiefe $n$
|
||
hat jeder Ast die Länge $\leq n$) - findet existierende SLD-Resolution
|
||
mit $M_m=\varnothing$ nicht immer (siehe Beispiel)
|
||
|
||
\subsection{Zusammenfassung
|
||
Aussagenlogik}\label{zusammenfassung-aussagenlogik}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Das natürliche Schließen formalisiert die ``üblichen'' Argumente in
|
||
mathematischen Beweisen.
|
||
\item
|
||
Unterschiedliche Wahrheitswertebereiche formalisieren unterschiedliche
|
||
Vorstellungen von ``Wahrheit''.
|
||
\item
|
||
Das natürliche Schließen ist vollständig und korrekt für den
|
||
Booleschen Wahrheitswertebereich.
|
||
\item
|
||
Der Markierungsalgorithmus und die SLD-Resolution sind praktikable
|
||
Verfahren, um die Erfüllbarkeit von Hornformeln zu bestimmen.
|
||
\end{itemize*}
|
||
|
||
\section{Kapitel 2: Prädikatenlogik}\label{kapitel-2-pruxe4dikatenlogik}
|
||
|
||
Beispiel: Graphen
|
||
\includegraphics[width=\linewidth]{Assets/Logik-prädikatenlogik-graph.png} Um über diesen
|
||
Graphen Aussagen in der Aussagenlogik zu machen, verwenden wir Formeln
|
||
$\varphi_{i,j}$ für $1\leq i,j\leq 9$ mit
|
||
$\varphi_{i,j}=\begin{cases} \lnot\bot\quad\text{ falls} (v_i,v_j) Kante\\ \bot\quad\text{ sonst}\end{cases}$
|
||
- Die aussagenlogische Formel $\bigvee_{1\leq i,j\leq 9} \varphi_{i,j}$
|
||
sagt aus, dass der Graph eine Kante enthält. - Die aussagenlogische
|
||
Formel $\bigwedge_{1\leq i\leq 9} \bigvee_{1\leq j\leq 9} \varphi_{i,j}$
|
||
sagt aus, dass jeder Knoten einen Nachbarn hat - Die aussagenlogische
|
||
Formel
|
||
$\bigvee_{1\leq i,j,k\leq 9 verschieden} \varphi_{i,j}\wedge\varphi_{j,k}\wedge\varphi_{k,i}$
|
||
sagt aus, dass der Graph ein Dreieck enthält. Man kann so vorgehen, wenn
|
||
der Graph bekannt und endlich ist. Sollen analoge Aussagen für einen
|
||
anderen Graphen gemacht werden, so ist die Kodierungsarbeit zu
|
||
wiederholen.
|
||
|
||
Beispiel: Datenbanken - Im folgenden reden wir über die Studenten und
|
||
die Lehrenden in Veranstaltungen zur Theoretischen Informatik in diesem
|
||
Semester. Betrachte die folgenden Aussagen: - Jeder ist Student oder
|
||
wissenschaftlicher Mitarbeiter oder Professor. - Dietrich Kuske ist
|
||
Professor. - Kein Student ist Professor. - Jeder Student ist jünger als
|
||
jeder Professor. - Es gibt eine Person, die an den Veranstaltungen
|
||
``Logik und Logikprogrammierung'' und ``Algorithmen und
|
||
Datenstrukturen'' teilnimmt. - Es gibt eine Person, die kein
|
||
wissenschaftlicher Mitarbeiter ist und nicht an beiden Veranstaltungen
|
||
teilnimmt. - Jeder Student ist jünger als die Person, mit der er am
|
||
besten über Informatik reden kann. - Um sie in der Aussagenlogik machen
|
||
zu können, müssen wir atomare Aussagen für ``Hans ist Student'', ``Otto
|
||
ist jünger als Ottilie'' usw. einführen. Dies ist nur möglich, wenn 1.
|
||
alle involvierten Personen bekannt sind und fest stehen und 2. es nur
|
||
endlich viele involvierte Personen gibt. - Sollen analoge Aussagen für
|
||
das vorige oder das kommende Jahr gemacht werden, so ist die gesamte
|
||
Kodierungsarbeit neu zu machen.
|
||
|
||
\subsection{Kodierung in einer
|
||
``Struktur''}\label{kodierung-in-einer-struktur}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Grundmenge: Die Studenten und die Lehrenden in Veranstaltungen zur
|
||
Theoretischen Informatik in diesem Sommersemester
|
||
\item
|
||
Teilmengen:
|
||
\item
|
||
$S(x)$ ``x ist Student''
|
||
\item
|
||
$LuLP(x)$ ``x nimmt an der Veranstaltung LuLP teil''
|
||
\item
|
||
$AuD(x)$ ``x nimmt an der Veranstaltung AuD teil''
|
||
\item
|
||
$Pr(x)$ ``x ist Professor''
|
||
\item
|
||
$WM(x)$ ``x ist wissenschaftlicher Mitarbeiter''
|
||
\item
|
||
Relationen:
|
||
\item
|
||
$J(x,y)$ ``x ist jünger als y''
|
||
\item
|
||
Funktion:
|
||
\item
|
||
$f(x)$ ist diejenige Person (aus dem genannten Kreis), mit der x am
|
||
besten über Informatik reden kann.
|
||
\item
|
||
Konstante:
|
||
\item
|
||
$dk$ Dietrich Kuske
|
||
\end{itemize*}
|
||
|
||
Die in der Aussagenlogik nur schwer formulierbaren Aussagen werden nun -
|
||
Für alle $x$ gilt $S(x)\vee WM(x)\vee Pr(x)$ - $Pr(dk)$ - Für alle $x$
|
||
gilt $S(x)\rightarrow\lnot Pr(x)$ - Für alle $x$ und $y$ gilt
|
||
$(S(x)\wedge Pr(y))\rightarrow J(x,y)$ - Es gibt ein $x$ mit
|
||
$LuLP(x)\wedge AuD(x)$ - Es gibt ein $x$ mit
|
||
$((\lnot LuLP(x)\vee\lnot AuD(x))\wedge\lnot WM(x))$ - Für alle $x$ gilt
|
||
$S(x)\rightarrow J(x,f(x))$
|
||
|
||
Bemerkung: Diese Formulierungen sind auch brauchbar, wenn die Grundmenge
|
||
unendlich ist. Sie sind auch unabhängig vom Jahr (im nächsten Jahr
|
||
können diese Folien wieder verwendet werden).
|
||
|
||
Ziel - Wir wollen in der Lage sein, über Sachverhalte in ``Strukturen''
|
||
(Graphen, Datenbanken, relle Zahlen, Gruppen\ldots{} ) zu reden. - Dabei
|
||
soll es ``Relationen'' geben, durch die das Enthaltensein in einer
|
||
Teilmenge oder Beziehungen zwischen Objekten ausgedrückt werden können
|
||
(z.B. $S(x),J(x,y),...$ ) - Weiter soll es ``Funktionen'' geben, durch
|
||
die Objekte (oder Tupel von Objekten) auf andere Objekte abgebildet
|
||
werden (z.B. $f$) - Nullstellige Funktionen (ohne Argumente): Konstante
|
||
(z.B. $dk$)
|
||
|
||
Fragen - Nach welchen Regeln bildet man korrekte Formeln? - Was ist eine
|
||
Struktur? - Wann hat eine Aussage in einer Struktur eine Bedeutung (ist
|
||
``sinnvoll'')? - Wann ``gilt'' eine Aussage in einer Struktur? - Gibt es
|
||
Formeln, die in allen Strukturen gelten? - Kann man solche Formeln
|
||
algorithmisch identifizieren? Gibt es einen Beweiskalkül wie das
|
||
natürliche Schließen oder die SLD-Resolution? - \ldots{}\ldots{}\ldots{}
|
||
|
||
\subsection{Syntax der
|
||
Prädikatenlogik}\label{syntax-der-pruxe4dikatenlogik}
|
||
|
||
Formeln machen Aussagen über Strukturen. Dabei hat es keinen Sinn zu
|
||
fragen, ob eine Formel, die über Studenten etc. redet, im Graphen $G$
|
||
gilt.
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
Eine Signatur ist ein Tripel $\sum=(\Omega, Rel,ar)$, wobei $\Omega$ und
|
||
$Rel$ disjunkte Mengen von Funktions- und Relationsnamen sind und
|
||
$ar:\Omega\cup Rel\rightarrow\mathbb{N}$ eine Abbildung ist.
|
||
\end{quote}
|
||
|
||
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. - typische Funktionsnamen:
|
||
$f, g, a, b...$ mit $ar(f),ar(g) > 0$ und $ar(a) =ar(b) = 0$ - typische
|
||
Relationsnamen: $R,S,...$
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
Die Menge der Variablen ist $Var=\{x_0,x_1 ,...\}$.
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
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}
|
||
|
||
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)$
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
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}
|
||
|
||
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))$
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
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$
|
||
|
||
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))$
|
||
|
||
\subsection{Aufgabe}\label{aufgabe}
|
||
|
||
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? \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{}
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
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}
|
||
|
||
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{}
|
||
|
||
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.
|
||
|
||
\begin{quote}
|
||
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 - $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\}$.
|
||
|
||
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))))$
|
||
|
||
$\varphi [x:=t]$ ``soll das über $t$ aussagen, was $\varphi$ über $x$
|
||
ausgesagt hat.''
|
||
|
||
Gegenbeispiel: Aus $\exists y$ $Mutter(x) =y$ mit Substitution
|
||
$[x:=Mutter(y)]$ wird $\exists y$ Mutter$(Mutter(y)) =y$.
|
||
|
||
\begin{quote}
|
||
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$
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
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
|
||
|
||
\subsection{Natürliches Schließen}\label{natuxfcrliches-schlieuxdfen-1}
|
||
|
||
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: 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}
|
||
|
||
\subsection{Korrektheit}\label{korrektheit-1}
|
||
|
||
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$?
|
||
|
||
Frage: Gilt $\Gamma\vdash\varphi\Rightarrow \Gamma\Vdash\varphi$ bzw.
|
||
$\varphi$ ist Theorem $\Rightarrow\varphi$ ist allgemeingültig?
|
||
|
||
Der Beweis des Korrektheitslemmas für das natürliche Schließen kann ohne
|
||
große Schwierigkeiten erweitert werden. Man erhält
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
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.
|
||
|
||
Zunächst kümmern wir uns um Atomformeln der Form $t_1 =t_2$. Hierfür
|
||
gibt es die zwei Regeln $(R)$ und $(GfG)$:
|
||
|
||
\begin{quote}
|
||
Reflexivität (ausführlich)
|
||
|
||
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}
|
||
|
||
\begin{quote}
|
||
Gleiches-für-Gleiches in mathematischen Beweisen
|
||
|
||
,,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''
|
||
|
||
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}
|
||
|
||
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}
|
||
|
||
Die folgenden Beispiele zeigen, dass wir bereits jetzt die üblichen
|
||
Eigenschaften der Gleichheit (Symmetrie, Transitivität, Einsetzen)
|
||
folgern können.
|
||
|
||
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: 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$.
|
||
|
||
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}
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
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.
|
||
|
||
\subsubsection{$\forall$ in math.
|
||
Beweisen}\label{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"
|
||
|
||
\begin{quote}
|
||
$\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
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
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.
|
||
|
||
\subsubsection{$\forall$ -Elimination in math.
|
||
Beweisen}\label{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"
|
||
|
||
\begin{quote}
|
||
$\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
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
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. \textgreater{} Dann gilt $\Gamma\Vdash\varphi$.
|
||
\end{quote}
|
||
|
||
Beweis: Analog zum Beweis von Lemma V2.
|
||
|
||
\subsubsection{$\exists$ in math.
|
||
Beweisen}\label{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''
|
||
|
||
\begin{quote}
|
||
$\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}$
|
||
|
||
Bedingung: $x$ kommt in den Hypothesen und in $\sigma$ nicht frei vor
|
||
\end{quote}
|
||
|
||
\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}
|
||
|
||
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.
|
||
|
||
\subsubsection{$\exists$ -Einführung in math.
|
||
Beweisen}\label{exists--einfuxfchrung-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"
|
||
|
||
\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}
|
||
|
||
Beweis: analog zu obigen Beweisen.
|
||
|
||
\subsubsection{Regeln des natürlichen Schließens
|
||
(Erweiterung)}\label{regeln-des-natuxfcrlichen-schlieuxdfens-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)
|
||
\end{itemize*}
|
||
|
||
\begin{quote}
|
||
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.
|
||
\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:
|
||
|
||
\begin{quote}
|
||
Korrektheitssatz
|
||
|
||
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\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}
|
||
|
||
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}
|
||
|
||
\subsection{Vollständigkeit}\label{vollstuxe4ndigkeit-1}
|
||
|
||
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 $\sum$-Formeln und eine $\sum$-Formel
|
||
$\varphi$ mit $\Gamma\Vdash\varphi$ und $\Gamma\not\vdash\varphi$?
|
||
|
||
Frage: Gilt $\Gamma\Vdash\varphi \Rightarrow \Gamma\vdash\varphi$ bzw.
|
||
$\varphi$ ist allgemeingültig $\Rightarrow\varphi$ ist Theorem?
|
||
|
||
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$
|
||
|
||
\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*}
|
||
\end{enumerate*}
|
||
|
||
\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*}
|
||
\end{itemize*}
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Sei $\Delta^+$ maximal konsistente Menge von $\sum^+$-Formeln mit
|
||
Konkretisierungen. Dann ist $\Delta^+$ erfüllbar.
|
||
\end{quote}
|
||
|
||
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^+$.
|
||
|
||
\begin{quote}
|
||
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.
|
||
\end{quote}
|
||
|
||
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}
|
||
|
||
Beweis: Folgt unmittelbar aus Korrektheitssatz und Vollständigkeitssatz.
|
||
|
||
\subsubsection{Folgerung 1: Kompaktheit}\label{folgerung-1-kompaktheit}
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
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).
|
||
|
||
\begin{quote}
|
||
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
|
||
\end{quote}
|
||
|
||
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
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\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$
|
||
- 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}$)
|
||
|
||
\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}
|
||
|
||
\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$
|
||
|
||
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.
|
||
|
||
\subsubsection{Der Satz von Church}\label{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'':
|
||
|
||
\begin{quote}
|
||
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.
|
||
\end{quote}
|
||
|
||
Unser Beweis reduziert die unentscheidbare Menge PCP auf die Menge der
|
||
erfüllbaren Horn-Formeln.
|
||
|
||
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$.
|
||
|
||
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$).
|
||
|
||
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)$
|
||
|
||
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$.
|
||
|
||
\begin{quote}
|
||
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.
|
||
\end{quote}
|
||
|
||
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$.
|
||
|
||
\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}
|
||
|
||
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.
|
||
|
||
\begin{quote}
|
||
Folgerung (Church 1936)
|
||
|
||
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.
|
||
|
||
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}
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
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 ))$.
|
||
|
||
\begin{quote}
|
||
Lemma
|
||
|
||
Die Menge $Th(N)$ aller Sätze $\varphi$ mit $N\Vdash\varphi$ ist nicht
|
||
entscheidbar.
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
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 ))$.
|
||
\end{quote}
|
||
|
||
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$.
|
||
|
||
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)$.
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Sei $A$ eine Struktur, so dass $Th(A)$ semi-entscheidbar ist. Dann ist
|
||
$Th(A)$ entscheidbar.
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
Korollar Die Menge $TH(N)$ der Aussagen $\varphi$ mit $N\Vdash\varphi$
|
||
ist nicht semi-entscheidbar.
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
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'').
|
||
\end{quote}
|
||
|
||
\subsection{2. Semi Entscheidungsverfahren für allgemeingültige
|
||
Formeln}\label{semi-entscheidungsverfahren-fuxfcr-allgemeinguxfcltige-formeln}
|
||
|
||
bekanntes Verfahren mittels natürlichem Schließen: Suche hypothesenlose
|
||
Deduktion mit Konklusion $\psi$.
|
||
|
||
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$
|
||
|
||
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.
|
||
|
||
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.
|
||
|
||
Behauptung: $\varphi$ erfüllbar $\Rightarrow \varphi_{GI}$ erfüllbar
|
||
|
||
Behauptung: es gilt nicht $\varphi$ erfüllbar $\Leftarrow\varphi_{GI}$
|
||
erfüllbar
|
||
|
||
\begin{quote}
|
||
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: - $\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}
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
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}
|
||
|
||
Beweis: per Induktion über den Aufbau des Terms t
|
||
|
||
\begin{quote}
|
||
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$
|
||
\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}
|
||
|
||
Beweis: per Induktion über den Aufbau der Formel $\varphi$
|
||
|
||
\begin{quote}
|
||
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
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
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.
|
||
\end{quote}
|
||
|
||
Beweis: Setzte $\varphi' =\varphi_{GI}\wedge Kong_{\sum}$ und zeige:
|
||
$\varphi$ erfüllbar $\Leftrightarrow \varphi'$ erfüllbar.
|
||
|
||
\subsection{Skolemform}\label{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.
|
||
|
||
Bemerkung: Betrachte die Formel $\exists x\exists y E(x,y)$. Es gibt
|
||
keine Formel in Skolemform, die hierzu äquivalent ist.
|
||
|
||
2 Schritte: 1. Quantoren nach vorne (d.h. Pränexform) 2.
|
||
Existenzquantoren eliminieren
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
\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}
|
||
|
||
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))$
|
||
|
||
\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.
|
||
|
||
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
|
||
|
||
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
|
||
|
||
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.
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Aus einer Formel $\varphi$ kann man eine erfüllbarkeitsäquivalente
|
||
Formel $\varphi$ in Skolemform berechnen. Ist $\varphi$ gleichungsfrei,
|
||
so auch $\varphi$.
|
||
\end{quote}
|
||
|
||
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}$
|
||
|
||
Dann ist $\bar{\varphi}=\varphi_n$ erfüllbarkeitsäquivalente (ggf.
|
||
gleichungsfreie) Formel in Skolemform.
|
||
|
||
\subsection{Herbrand-Strukturen und
|
||
Herbrand-Modelle}\label{herbrand-strukturen-und-herbrand-modelle}
|
||
|
||
Sei $\sum= (\Omega,Rel,ar)$ eine Signatur. Wir nehmen im folgenden an,
|
||
dass $\Omega$ wenigstens ein Konstantensymbol enthält.
|
||
|
||
Das Herbrand-Universum $D(\sum)$ ist die Menge aller variablenfreien
|
||
$\sum$-Terme.
|
||
|
||
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))),...\}$
|
||
|
||
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)$.
|
||
|
||
Für jede Herbrand-Struktur $A$, alle Variableninterpretationen $\rho$
|
||
und alle variablenfreien Terme $t$ gilt dann $\rho(t) =t$.
|
||
|
||
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$.
|
||
|
||
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}
|
||
|
||
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)\}$.
|
||
|
||
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.
|
||
|
||
\subparagraph{Behauptung 2:}\label{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$)
|
||
|
||
Diese Behauptung wird induktiv über die Anzahl $n$ der Quantoren in
|
||
$\psi$ bewiesen.
|
||
|
||
\subsection{Die Herbrand-Expansion}\label{die-herbrand-expansion}
|
||
|
||
verbleibende Frage: Wie erkennt man, ob eine gleichungsfreie Aussage in
|
||
Skolemform ein Herbrand-Modell hat?
|
||
|
||
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$
|
||
|
||
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.
|
||
|
||
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\}$
|
||
|
||
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$
|
||
|
||
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.
|
||
|
||
Beispiellösung: Setzt $B(P(s,t))= 1$ und $B(R(s))= 0$ für alle
|
||
$s,t\in D(\sum)$.
|
||
|
||
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.
|
||
|
||
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 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.
|
||
|
||
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)$.
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\end{quote}
|
||
|
||
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
|
||
|
||
\begin{quote}
|
||
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.
|
||
\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$.
|
||
|
||
\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)$.
|
||
|
||
Eingabe: $\varphi$
|
||
|
||
\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.
|
||
|
||
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.
|
||
|
||
\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).
|
||
|
||
\begin{quote}
|
||
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$.
|
||
\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)$
|
||
|
||
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 - 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 -
|
||
$\{\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.
|
||
|
||
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.
|
||
|
||
\subsection{Substitutionen}\label{substitutionen-1}
|
||
|
||
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$.
|
||
|
||
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.
|
||
|
||
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}
|
||
|
||
\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$
|
||
\end{itemize*}
|
||
|
||
\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 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. Nach
|
||
dem Lemma oben haben sie also genau einen allgemeinsten Unifikator
|
||
(bis auf Umbenennung der Variablen).
|
||
\end{enumerate*}
|
||
|
||
Die drei Teilaussagen werden in getrennten Lemmata bewiesen werden.
|
||
|
||
\begin{quote}
|
||
Lemma (A) Der Unifikationsalgorithmus terminiert für jede
|
||
Eingabe($\alpha$, $\beta$).
|
||
\end{quote}
|
||
|
||
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}
|
||
|
||
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<m$ existiert $(N\rightarrow q)\in\Gamma$ mit $q\in M_n$ und
|
||
$M_{n+1} =M_n\backslash\{q\}\cup N$
|
||
|
||
\begin{quote}
|
||
Definition
|
||
|
||
Sei $\Gamma$ eine Menge von gleichungsfreien Horn-Klauseln der
|
||
Prädikatenlogik. Eine SLD-Resolution aus $\Gamma$ ist eine Folge
|
||
$((M_0\rightarrow\bot,\sigma_0),(M_1\rightarrow\bot,\sigma_1),...,(M_m\rightarrow\bot,\sigma_m))$
|
||
von Horn-Klauseln und Substitutionen mit -
|
||
$(M_0\rightarrow\bot)\in\Gamma$ und $Def(\sigma_0)=\varnothing$ - für
|
||
alle $0\leq n<m$ existieren
|
||
$\varnothing\not=Q\subseteq M_n,(N\rightarrow\alpha)\in\Gamma$ und
|
||
Variablenumbenennung $\rho$, so dass - $(N\cup\{\alpha\})\rho$ und $M_n$
|
||
variablendisjunkt sind, - $\sigma_{n+1}$ ein allgemeinster Unifikator
|
||
von $\alpha\rho$ und $Q$ ist und -
|
||
$M_{n+1} = (M_n\backslash Q\cup N\rho)\sigma_{n+1}$.
|
||
\end{quote}
|
||
|
||
Ziel: Seien $\Gamma=\{\varphi_1,...,\varphi_n\}$ Menge gleichungsfreier
|
||
Horn-Klauseln, $\Psi(x_1,x_2 ,...,x_{\iota}) =R(t_1 ,...,t_k)$ atomare
|
||
Formel, keine Gleichung und $(s_1,...,s_{\iota})$ Tupel variablenloser
|
||
Terme. Dann sind äquivalent: 1.
|
||
$\Gamma\Vdash\Psi(s_1,...,s_{\iota}). 2.$ Es gibt eine SLD-Resolution $((M\_n\rightarrow\bot,\sigma\emph{n))}\{0\leq n\leq m\}$ aus $\Gamma\cup\{M_0\rightarrow\bot\}$ mit
|
||
$M_0=\{\Psi(x_1,...,x_{\iota})\}$ und $M_m=\varnothing$ und eine
|
||
Substitution $\tau$, so dass $s_i=x_i\sigma_0 \sigma_1 ...\sigma_m\tau$
|
||
für alle $1\leq i\leq \iota$ gilt.
|
||
|
||
\begin{quote}
|
||
Lemma
|
||
|
||
Sei $\Gamma$ Menge von gleichungsfreien Horn-Klauseln der
|
||
Prädikatenlogik und $(M_n \rightarrow\bot,\sigma_n))_{0\leq n\leq m}$
|
||
eine SLD-Resolution aus $\Gamma\cup\{M_0\rightarrow\bot\}$ mit
|
||
$M_m=\varnothing$. Dann gilt
|
||
$\Gamma\Vdash\Psi\sigma_0 \sigma_1\sigma_2...\sigma_m$ für alle
|
||
$\Psi\in M_0$.
|
||
\end{quote}
|
||
|
||
Konsequenz:
|
||
$\Gamma=\{\varphi_1,...,\varphi_n\},M_0 =\{\Psi(x_1,...,x_{\iota})\},\tau$
|
||
Substitution, so dass
|
||
$s_i=x_i \sigma_0 \sigma_1 \sigma_2 ...\sigma_m \tau$ variablenlos für
|
||
alle $1\leq i \leq \iota$. Nach dem Lemma gilt also
|
||
$\Gamma \Vdash\Psi(x_1,...,x_{\iota})\sigma_0 ...\sigma_m$ und damit
|
||
$\Gamma\Vdash\Psi(x_1 ,...,x_{\iota} )\sigma_0 ...\sigma_m\tau=\Psi(s_1,...,s_{\iota} )$.
|
||
Die Implikation $(2)\Rightarrow (1)$ des Ziels folgt also aus diesem
|
||
Lemma.
|
||
|
||
\begin{quote}
|
||
Lemma
|
||
|
||
Sei $\Gamma$ eine Menge von definiten gleichungsfreien Horn-Klauseln der
|
||
Prädikatenlogik, sei $M\rightarrow\bot$ eine gleichungsfreie
|
||
Horn-Klausel und sei $\nu$ Substitution, so dass $M\nu$ variablenlos ist
|
||
und $\Gamma\Vdash M\nu$ gilt. Dann existieren eine prädikatenlogische
|
||
SLD-Resolution $((M_n \rightarrow\bot,\sigma_n))_{0 \leq n\leq m}$ und
|
||
eine Substitution $\tau$ mit $M_0=M,M_m=\varnothing$ und
|
||
$M_0 \sigma_0 \sigma_1... \sigma_m \tau=M_{\nu}$.
|
||
\end{quote}
|
||
|
||
Konsequenz:
|
||
$\Gamma=\{\varphi_1,...,\varphi_n\},M=\{\psi(x_1 ,...,x_{\iota})\},s_1,...,s_\iota\}$
|
||
variablenlose Terme, so dass
|
||
$\{\varphi_1 ,...,\varphi_n\}\Vdash\psi(s_1,...,s_{\iota}) =\psi(x_1 ,...,x_{\iota})\nu$
|
||
mit $\nu(x_i)=s_i$. Dann existieren SLD-Resolution und Substitution
|
||
$\tau$ mit
|
||
$M_0\sigma 0...\sigma_m\tau=M\nu=\{\psi (s_1,...,s_{\iota} )\}$. Die
|
||
Implikation $(1)\Rightarrow (2)$ des Ziels folgt also aus diesem Lemma.
|
||
|
||
\begin{quote}
|
||
Satz
|
||
|
||
Sei $\Gamma$ eine Menge von definiten gleichungsfreien Horn-Klauseln der
|
||
Prädikatenlogik, sei $M\rightarrow\bot$ eine gleichungsfreie
|
||
Horn-Klausel und sei $\nu$ Substitution, so dass $M\nu$ variablenlos
|
||
ist. Dann sind äquivalent: - $\Gamma\Vdash M\nu$ - Es existieren eine
|
||
SLD-Resolution $((M_n\rightarrow\bot,\sigma_n))_{0\leq n\leq m}$ aus
|
||
$\Gamma\cup\{M\nu\rightarrow\bot\}$ und eine Substitution $\tau$ mit
|
||
$M_0=M,M_m=\varnothing$ und $M_0\sigma_0\sigma_1...\sigma_m\tau=M\nu$.
|
||
\end{quote}
|
||
|
||
Konsequenz:
|
||
$\Gamma =\{\varphi_1,...,\varphi_n\},M_0 =\{\psi(x_1,...,x_{\iota})\}=\{R(t_1,t_2,...,t_k)\}$.
|
||
Durch SLD-Resolutionen können genau die Tupel variablenloser Terme
|
||
gewonnen werden, für die gilt:
|
||
$\{\varphi_1,...,\varphi_n\}\Vdash\psi (s_1,...,s_{\iota})$
|
||
|
||
\subsection{Zusammenfassung
|
||
Prädikatenlogik}\label{zusammenfassung-pruxe4dikatenlogik}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Das natürliche Schließen formalisiert die ``üblichen'' Argumente in
|
||
mathematischen Beweisen.
|
||
\item
|
||
Das natürliche Schließen ist vollständig und korrekt.
|
||
\item
|
||
Die Menge der allgemeingültigen Formeln ist semi-entscheidbar, aber
|
||
nicht entscheidbar.
|
||
\item
|
||
Die Menge der Aussagen, die in $(\mathbb{N},+,*,0,1)$ gelten, ist
|
||
nicht semi-entscheidbar.
|
||
\item
|
||
Die SLD-Resolution ist ein praktikables Verfahren, um die Menge der
|
||
``Lösungen'' $(s_1,...,s_{\iota})$ von
|
||
$\Gamma\Vdash\psi(s_1,...,s_{\iota})$ zu bestimmen (wobei $\Gamma$
|
||
Menge von gleichungsfreien Horn-Klauseln und $\psi$ Konjunktion von
|
||
gleichungsfreien Atomformeln sind.
|
||
\end{itemize*}
|
||
|
||
\section{Logische Programmierung}\label{logische-programmierung}
|
||
|
||
\subsection{Einführung in die Künstliche Intelligenz
|
||
(KI)}\label{einfuxfchrung-in-die-kuxfcnstliche-intelligenz-ki}
|
||
|
||
Ziel: Mechanisierung von Denkprozessen
|
||
|
||
Grundidee (nach G.W. Leibniz) 1. lingua characteristica -
|
||
Wissensdarstellungssprache 2. calculus ratiocinator -
|
||
Wissensverarbeitungskalkül
|
||
|
||
\textbf{Teilgebiete der KI} - Wissensrepräsentation - maschinelles
|
||
Beweisen (Deduktion) - KI-Sprachen: Prolog, Lisp - Wissensbasierte
|
||
Systeme - Lernen (Induktion) - Wissensverarbeitungstechnologien
|
||
(Suchtechniken, fallbasiertes Schließen, Multiagenten-Systeme) - Sprach-
|
||
und Bildverarbeitung
|
||
|
||
\subsection{Logische Grundlagen}\label{logische-grundlagen}
|
||
|
||
\subsubsection{PROLOG - ein
|
||
``Folgerungstool''}\label{prolog---ein-folgerungstool}
|
||
|
||
Sei $M$ eine Menge von Aussagen, $H$ eine Hypothese.
|
||
|
||
$H$ folgt aus $M(M \Vdash H)$, falls jede Interpretation, die zugleich
|
||
alle Elemente aus $M$ wahr macht (jedes Modell von M), auch $H$ wahr
|
||
macht. Für endliche Aussagenmengen $M=\{A_1, A_2, ... , A_n\}$ bedeutet
|
||
das: $M \Vdash H$, gdw. $ag(\bigwedge_{i=1}^n A_i\rightarrow A)$ bzw.
|
||
(was dasselbe ist) $kt(\bigwedge_{i=1}^n A_i \wedge \lnot A)$
|
||
|
||
\subsubsection{Aussagen in PROLOG: HORN-Klauseln des
|
||
PK1}\label{aussagen-in-prolog-horn-klauseln-des-pk1}
|
||
|
||
|
||
\includegraphics[width=\linewidth]{Assets/Logik-prolog-horn.png}
|
||
|
||
$A(X_1,...,X_n), A_i(X_1,...,X_n)$ quantorfreie Atomformeln, welche die
|
||
allquantifizierten Variablen $X_1,...,X_n$ enthalten können
|
||
|
||
Varianten / Spezialfälle 1. Regeln (vollständige HORN-Klauseln)
|
||
$\forall X_1... \forall X_n(A(X_1,...,X_n)\leftarrow \bigwedge_{i=1}^n A_i(X_1,...,X_n))$
|
||
2. Fakten (HORN-Klauseln mit leerem Klauselkörper)
|
||
$\forall X_1...\forall X_n(A(X_1,...,X_n)\leftarrow true)$ 3. Fragen
|
||
(HORN-Klauseln mit leerem Klauselkopf)
|
||
$\forall X_1...\forall X_n(false \leftarrow \bigwedge_{i=1}^n A_i(X_1,...,X_n))$
|
||
4. leere HORN-Klauseln (mit leeren Kopf \& leerem Körper)
|
||
$false\leftarrow true$
|
||
|
||
Effekte der Beschränkung auf HORN-Logik 1. Über HORN-Klauseln gibt es
|
||
ein korrektes und vollständiges Ableitungsverfahren. -
|
||
$\{K_1, ...,K_n\} \Vdash H$ , gdw. $\{K_1,...,K_n\} \vdash_{ROB} H$ 1.
|
||
Die Suche nach einer Folge von Resolutionsschritten ist
|
||
algorithmisierbar. - Das Verfahren ``Tiefensuche mit Backtrack'' sucht
|
||
systematisch eine Folge, die zur leeren Klausel führt. - Rekursive
|
||
und/oder metalogische Prädikate stellen dabei die Vollständigkeit in
|
||
Frage. 3. Eine Menge von HORN-Klauseln mit nichtleeren Klauselköpfen ist
|
||
stets erfüllbar; es lassen sich keine Widersprüche formulieren. -
|
||
$K_1 \wedge K_2...\wedge K_n \not= false$
|
||
|
||
Die systematische Erzeugung von (HORN-) Klauseln 1.
|
||
Verneinungstechnischen Normalform (VTNF): $\lnot$ steht nur vor
|
||
Atomformeln - $\lnot\lnot A\equiv A$ 2. Erzeugung der Pränexen
|
||
Normalform (PNF): $\forall, \exists$ stehen vor dem Gesamtausdruck -
|
||
$\forall X A(X) \rightarrow B \equiv \exists X(A(X)\rightarrow B)$ -
|
||
$\exists X A(X) \rightarrow B \equiv \forall X(A(X)\rightarrow B)$ 3.
|
||
Erzeugung der SKOLEM`schen Normalform (SNF): $\exists$ wird eliminiert
|
||
Notation aller existenzquantifizierten Variablen als Funktion derjenigen
|
||
allquantifizierten Variablen, in deren Wirkungsbereich ihr Quantor
|
||
steht. Dies ist keine äquivalente - , wohl aber eine die
|
||
Kontradiktorizität erhaltende Umformung. 4. Erzeugung der Konjunktiven
|
||
Normalform (KNF) Durch systematische Anwendung des Distributivgesetzes
|
||
$A\vee (B\wedge C)\equiv (A\vee B)\wedge(A\vee C)$ lässt sich aus der
|
||
SNF $\forall X_1...\forall X_n A(X_1,...,X_n)$ stets die äquivalente KNF
|
||
$\forall X_1...\forall X_n((L_1^1\vee...\vee L_1^{n_1})\wedge...\wedge(L_m^1\vee...\vee L_m^{n_m}))$
|
||
erzeugen. Die $L_i^k$ sind unnegierte oder negierte Atomformeln und
|
||
heißen positive bzw. negative Literale. 5. Erzeugung der Klauselform
|
||
(KF) Jede der Elementardisjunktionen $(L_1^j \vee...\vee L_1^{j_k})$ der
|
||
KNF kann man als äquivalente Implikation (Klausel)
|
||
$(L_i^j \vee...\vee L_i^{j_m})\leftarrow(L_1^{j_{m+1}}\wedge ...\wedge L_1^{j_k})$
|
||
notieren, indem man alle positiven Literale $L_i^j,...,L_i^{j_m}$
|
||
disjunktiv verknüpft in den DANN-Teil (Klauselkopf) und alle negativen
|
||
Literale $L_i^{j_{m+1}},...,L_i^{j_k}$ konjunktiv verknüpft in den
|
||
WENN-Teil (Klauselkörper) notiert. 6. Sind die Klauseln aus Schritt 5.
|
||
HORN? In dem Spezialfall, dass alle Klauselköpfe dabei aus genau einem
|
||
Literal bestehen, war die systematische Erzeugung von HORN-Klauseln
|
||
erfolgreich; anderenfalls gelingt sie auch nicht durch andere Verfahren.
|
||
Heißt das etwa, die HORN-Logik ist eine echte Beschränkung der
|
||
Ausdrucksfähigkeit? Richtig, das heißt es.
|
||
|
||
Im Logik-Teil dieser Vorlesung lernten Sie eine Resolutionsmethode für
|
||
Klauseln kennenlernen - \ldots{} deren Algorithmisierbarkeit allerdings
|
||
an der ``kombinatorischen Explosion'' der Resolutionsmöglichkeiten
|
||
scheitert, aber \ldots{} - \ldots{} in der LV ``Inferenzmethoden''
|
||
können Sie noch ein paar ``Tricks'' kennenlernen, die ``Explosion''
|
||
einzudämmen
|
||
|
||
\subsubsection{Inferenz in PROLOG: Resolution nach
|
||
ROBINSON}\label{inferenz-in-prolog-resolution-nach-robinson}
|
||
|
||
gegeben: - Menge von Regeln und Fakten M $M=\{K_1,...,K_n\}$ - negierte
|
||
Hypothese $\lnot H$
|
||
$\lnot H\equiv \bigwedge_{i=1}^m H_i \equiv false \rightarrow \bigwedge_{i=1}^m H_i$
|
||
|
||
Ziel: Beweis, dass $M \Vdash H$.
|
||
$kt(\bigwedge_{i=1}^n K_i \wedge \lnot H)$
|
||
|
||
Eine der Klauseln habe die Form $A\leftarrow \bigwedge_{k=1}^p B_k$.
|
||
($A,B_k$- Atomformeln)
|
||
|
||
Es gebe eine Substitution (Variablenersetzung) $\nu$ für die $A$ und
|
||
eines der $H_i$ (etwa $H_l$) vorkommenden Variablen, welche $A$ und
|
||
$H_l$ syntaktisch identisch macht.
|
||
|
||
$M\equiv \bigwedge_{i=1}^n K_i\wedge \lnot(\bigwedge_{i=1}^m H_i)$ ist
|
||
kontradiktorisch ($kt\ M‘$), gdw. $M‘$ nach Ersetzen von $H$ durch
|
||
$\bigwedge_{i=1}^{l-1}\nu(H_i)\wedge\bigwedge_{k=1}^p\nu(B_k)\wedge\bigwedge_{i=l+1}^m \nu(H_i)$
|
||
noch immer kontradiktorisch ist.
|
||
|
||
Jetzt wissen wir also, wie man die zu zeigende Kontradiktorizität auf
|
||
eine andere - viel kompliziertere Kontradiktorizität zurückführen kann.
|
||
Für $p=0$ und $m=1$ wird es allerdings trivial. Die sukzessive Anwendung
|
||
von Resolutionen muss diesen Trivialfall systematisch herbeiführen:
|
||
|
||
\begin{quote}
|
||
Satz von ROBINSON
|
||
|
||
$M'\equiv\bigwedge_{i=1}^n K_i\wedge \lnot H$ ist kontradiktorisch
|
||
($kt\ M‘$), gdw. durch wiederholte Resolutionen in endlich vielen
|
||
Schritten die negierte Hypothese $\lnot H\equiv false \leftarrow H$
|
||
durch die leere Klausel $false\leftarrow true$ ersetzt werden kann.
|
||
\end{quote}
|
||
|
||
Substitution - Eine (Variablen-) Substitution $\nu$ einer Atomformel $A$
|
||
ist eine Abbildung der Menge der in $A$ vorkommenden Variablen $X$ in
|
||
die Menge der Terme (aller Art: Konstanten, Variablen, strukturierte
|
||
Terme). - Sie kann als Menge von Paaren $[Variable,Ersetzung]$ notiert
|
||
werden: $\nu=\{[x,t]: x\in X, t=\nu(x)\}$ - Für strukturierte Terme wird
|
||
die Substitution auf deren Komponenten angewandt:
|
||
$\nu(f(t_1,...,t_n)) = f(\nu(t_1),...,\nu(t_n))$ - Verkettungsoperator
|
||
$\circ$ für Substitutionen drückt Hintereinander-anwendung aus:
|
||
$\sigma\circ\nu(t)=\sigma(\nu(t))$ - Substitutionen, die zwei Terme
|
||
syntaktisch identisch machen, heißen Unifikator: $\nu$unifiziert zwei
|
||
Atomformeln (oder Terme) $s$ und $t$ (oder: heißt Unifikator von $s$ und
|
||
$t$), falls dessen Einsetzung $s$ und $t$ syntaktisch identisch macht.
|
||
|
||
\paragraph{Unifikation}\label{unifikation}
|
||
|
||
Zwei Atomformeln $p(t_{11},...,t_{1n})$ und $p_2(t_{21},...,t_{2n})$
|
||
sind unifizierbar, gdw. - sie die gleichen Prädikatensymbole aufweisen
|
||
($p_1= p_2$), - sie die gleichen Stelligkeiten aufweisen ($n = m$) und -
|
||
die Terme $t_{1i}$ und $t_{2i}$ jeweils miteinander unifizierbar sind.
|
||
|
||
Die Unifizierbarkeit zweier Terme richtet sich nach deren Sorte: 1. Zwei
|
||
Konstanten $t_1$ und $t_2$ sind unifizierbar, gdw. $t_1= t_2$ 2. Zwei
|
||
strukturierte Terme $f(t_{11},...,t_{1n})$ und $f(t_{21},...,t_{2n})$
|
||
sind unifizierbar, gdw. - sie die gleichen Funktionssymbole aufweisen
|
||
($f_1= f_2$), - sie die gleichen Stelligkeiten aufweisen ($n=m$) und -
|
||
die Terme $t_{1i}$ und $t_{2i}$ jeweils miteinander unifizierbar sind.
|
||
3. Eine Variable $t_1$ ist mit einer Konstanten oder einem
|
||
strukturierten Term $t_2$ unifizierbar. $t_1$ wird durch $t_2$ ersetzt
|
||
(instanziert): $t_1:= t_2$ 4. Zwei Variablen $t_1$ und $_2$ sind
|
||
unifizierbar und werden gleichgesetzt: $t_1:=t_2$ bzw. $t_2:= t_1$
|
||
|
||
Genügt ``irgendein'' Unifikator? - ein Beispiel -
|
||
$K_1: p(A,B)\leftarrow q(A)\wedge r(B)$ - $K_2:q(c)\leftarrow true$ -
|
||
$K_3:r(d)\leftarrow true$ - $\lnot H: false\leftarrow p(X,Y)$ -
|
||
Unifikatoren für $H_1^0$ und Kopf von $K_1$: -
|
||
$\nu^1 = \{[X,a],[Y,b],[A,a],[B,b]\}$ - $\nu^2 =\{[X,a],[Y,B],[A,a]\}$ -
|
||
$\nu^3 =\{[X,A],[Y,b],[B,b]\}$ - $\nu^4=\{[A,X],[B,Y]\}$ \ldots{} -
|
||
Obwohl $\{K_1, K_2, K_3\}\Vdash H$, gibt es bei Einsetzung von $\nu^1$,
|
||
$\nu^2$ und $\nu^3$ keine Folge von Resolutionsschritten, die zur leeren
|
||
Klausel führt. - Bei Einsetzung von $\nu^4$ hingegen gibt es eine solche
|
||
Folge. - Die Vollständigkeit des Inferenzverfahrens hängt von der Wahl
|
||
des ``richtigen'' Unifikators ab. - Dieser Unifikator muss möglichst
|
||
viele Variablen variabel belassen. Unnötige Spezialisierungen versperren
|
||
zukünftige Inferenzschritte. - Ein solcher Unifikator heißt
|
||
\textbf{allgemeinster Unifikator} bzw. ``most general unifier''
|
||
(m.g.u.).
|
||
|
||
\begin{quote}
|
||
Allgemeinster Unifikator
|
||
|
||
Eine Substitution heißt allgemeinster Unifikator (most general unfier;
|
||
m.g.u.) zweier (Atomformeln oder) Terme $s$ und $t$
|
||
($\nu= m.g.u.(s,t)$), gdw. 1. die Substitution $\nu$ ein Unifikator von
|
||
$s$ und $t$ ist und 2. für jeden anderen Unifikator $\sigma$ von $s$ und
|
||
$t$ eine nichtleere und nicht identische Substitution $\tau$ existiert,
|
||
so dass $\sigma=\tau\circ\nu$ ist. graphisch betrachtet:
|
||
\includegraphics[width=\linewidth]{Assets/Logik_allgemeinster-unifikator.png}
|
||
\end{quote}
|
||
|
||
Der Algorithmus zur Berechnung des m.g.u. zweier Terme $s$ und $t$
|
||
verwendet Unterscheidungsterme: Man lese $s$ und $t$ zeichenweise
|
||
simultan von links nach rechts. Am ersten Zeichen, bei welchem sich $s$
|
||
und $t$ unterscheiden, beginnen die Unterscheidungsterme $s*$ und $t*$
|
||
und umfassen die dort beginnenden (vollständigen) Teilterme.
|
||
|
||
Algorithmus zur Bestimmung des allgemeinsten Unifikators 2er Terme
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
input: s, t
|
||
\item
|
||
output: Unifizierbarkeitsaussage, ggf. $\nu= m.g.u.( s , t )$
|
||
\item
|
||
$i:=0;\nu_i:=\varnothing;s_i:=s; t_i=t$
|
||
\item
|
||
Start: $s_i$ und $t_i$ identisch?
|
||
\item
|
||
ja $\Rightarrow$ s und t sind unifizierbar, $\nu=\nu_i=m.g.u.(s,t)$
|
||
(fertig)
|
||
\item
|
||
nein $\Rightarrow$ Bilde die Unterscheidungsterme $s_i^*$ und $t_i^*$
|
||
|
||
\begin{itemize*}
|
||
\item
|
||
$s_i^*$ oder $t_i^*$ Variable?
|
||
\item
|
||
nein $\Rightarrow$ $s$ und $t$ sind nicht unifizierbar (fertig)
|
||
\item
|
||
ja $\Rightarrow$ sei (o.B.d.A.) $s_i^*$ eine Variable
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
$s_i^* \subseteq t_i^*$? (enthält $t_i^*$ die Variable $s_i^*$?)
|
||
\item
|
||
ja $\Rightarrow$ $s$ und $t$ sind nicht unifizierbar (fertig)
|
||
\item
|
||
nein $\Rightarrow$
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
$\nu':=\{[s,t']: [s,t]\in\nu, t':=t|_{s*\rightarrow t*}\}\cup \{[s_i^*, t_i^*]\}$
|
||
\item
|
||
$s':=\nu'(s_i); t':=\nu'(t_i); i:=i+1;$
|
||
\item
|
||
$\nu_i:=\nu'; s_i:=s'; t_i:=t';$
|
||
\item
|
||
gehe zu Start
|
||
\end{itemize*}
|
||
\end{itemize*}
|
||
\end{itemize*}
|
||
\end{itemize*}
|
||
|
||
\subsection{Logische Programmierung}\label{logische-programmierung-1}
|
||
|
||
\subsubsection{Einordnung des logischen
|
||
Paradigmas}\label{einordnung-des-logischen-paradigmas}
|
||
|
||
|
||
\includegraphics[width=\linewidth]{Assets/Logik-logische-programmierung-einordnung.png}
|
||
|
||
``deskriptives'' Programmierparadigma = 1. Problembeschreibung - Die
|
||
Aussagenmenge $M =\{K_1,...,K_n\}$, über denen gefolgert wird, wird in
|
||
Form von Fakten und Regeln im PK1 notiert. - Eine mutmaßliche Folgerung
|
||
(Hypothese) $H$ wird in Form einer Frage als negierte Hypothese
|
||
hinzugefügt. 2. (+) Programmverarbeitung - Auf der Suche eines Beweises
|
||
für $M \Vdash H$ werden durch mustergesteuerte Prozedur-Aufrufe
|
||
Resolutions-Schritte zusammengestellt. - Dem ``Programmierer'' werden
|
||
(begrenzte) Möglichkeiten gegeben, die systematische Suche zu
|
||
beeinflussen.
|
||
|
||
\subsubsection{Syntax}\label{syntax}
|
||
|
||
Syntax von Klauseln \textbar{} \textbar{} Syntax \textbar{} Beispiel
|
||
\textbar{} --- \textbar{} --- \textbar{} --- \textbar{} Fakt \textbar{}
|
||
praedikatensymbol(term,\ldots{}term). \textbar{}
|
||
liefert(xy\_ag,motor,vw). Regel \textbar{}
|
||
praedikatensymbol(term,\ldots{}term) :-
|
||
praedikatensymbol(term,\ldots{}term) ,\ldots{} ,
|
||
praedikatensymbol(term,\ldots{}term). \textbar{} konkurrenten(Fa1,Fa2)
|
||
:- liefert(Fa1,Produkt,\emph{),liefert(Fa2,Produkt,}). Frage \textbar{}
|
||
?- praedikatensymbol(term,\ldots{}term) , \ldots{}
|
||
,praedikatensymbol(term,\ldots{}term). \textbar{} ?-
|
||
konkurrenten(ibm,X), liefert(ibm,\_,X).
|
||
|
||
Syntax von Termen \textbar{} \textbar{} \textbar{} Syntax \textbar{}
|
||
Beispiele \textbar{} \textbar{} --- \textbar{} --- \textbar{} ---
|
||
\textbar{} --- \textbar{} Konstante \textbar{} Name \textbar{}
|
||
Zeichenfolge, beginnend mit Kleinbuchstaben, die Buchstaben, Ziffern und
|
||
\_ enthalten kann. \textbar{} otto\_1 , tisch, hund \textbar{}\textbar{}
|
||
beliebige Zeichenfolge in ``\ldots{}'' geschlossen \textbar{} ``Otto'',
|
||
``r@ho'' \textbar{}\textbar{} Sonderzeichenfolge \textbar{}
|
||
\%\&§$€ | Zahl | Ziffernfolge, ggf. mit Vorzeichen, Dezimalpunkt und Exponentendarstellung | 3, -5, 1001, 3.14E-12 Variable | allg. | Zeichenfolge, mit Großbuchstaben oder \_ beginnend | X, Was, _alter | anonym | Unterstrich | \_ strukturierter Term | allg. | funktionssymbol( term , ... , term ) | nachbar(chef(X)) | Liste | leere Liste | [ ] | | ${[}term\textbar{}restliste{]}\$
|
||
\textbar{} $[mueller|[mayer|[]]]$ \textbar{}\textbar{}
|
||
$[term , term , ... , term ]$ \textbar{} $[ mueller, mayer, schulze ]$
|
||
|
||
BACKUS-NAUR-Form - PROLOG-Programm ::= Wissensbasis Hypothese -
|
||
Wissensbasis ::= Klausel \textbar{} Klausel Wissensbasis - Klausel ::=
|
||
Fakt \textbar{} Regel - Fakt ::= Atomformel. - Atomformel ::=
|
||
Prädikatensymbol (Termfolge) - Prädikatensymbol ::= Name - Name ::=
|
||
Kleinbuchstabe \textbar{}Kleinbuchstabe Restname \textbar{}
|
||
``Zeichenfolge'' \textbar{} Sonderzeichenfolge - RestName ::=
|
||
Kleinbuchstabe \textbar{} Ziffer \textbar{} \_ \textbar{} Kleinbuchstabe
|
||
RestName \textbar{} Ziffer RestName \textbar{} \_ RestName - \ldots{}
|
||
|
||
\subsubsection{PROLOG aus logischer
|
||
Sicht}\label{prolog-aus-logischer-sicht}
|
||
|
||
Was muss der Programmierer tun? - Formulierung einer Menge von Fakten
|
||
und Regeln (kurz: Klauseln), d.h. einer Wissensbasis
|
||
$M\equiv\{K_1,...,K_n\}$ - Formulierung einer negierten Hypothese
|
||
(Frage, Ziel)
|
||
$\lnot H\equiv\bigwedge_{i=1}^m H_i \equiv false\leftarrow \bigwedge_{i=1}^m H_i$
|
||
|
||
Was darf der Programmierer erwarten? - Dass das ``Deduktionstool''
|
||
PROLOG $M \Vdash H$ zu zeigen versucht, d.h.
|
||
$kt(\bigwedge_{i=1}^n K_i\wedge \lnot H)$ ) - \ldots{}, indem
|
||
systematisch die Resolutionsmethode auf $\lnot H$ und eine der Klauseln
|
||
aus $M$ angewandt wird, solange bis $\lnot H\equiv false\leftarrow true$
|
||
entsteht
|
||
|
||
\paragraph{Formulierung von
|
||
Wissensbasen}\label{formulierung-von-wissensbasen}
|
||
|
||
\begin{enumerate*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Beispiel 1 (BSP1.PRO)
|
||
\end{enumerate*}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Yoshihito und Sadako sind die Eltern von Hirohito.
|
||
\item
|
||
vater\_von(yoshihito,hirohito).
|
||
\item
|
||
mutter\_von(sadako,hirohito).
|
||
\item
|
||
Kuniyoshi und Chikako sind die Eltern von Nagako.
|
||
\item
|
||
vater\_von(kunioshi,nagako).
|
||
\item
|
||
mutter\_von(chikako,nagako).
|
||
\item
|
||
Akihito`s und Hitachi`s Eltern sind Hirohito und Nagako.
|
||
\item
|
||
vater\_von(hirohito,akihito).
|
||
\item
|
||
vater\_von(hirohito,hitachi).
|
||
\item
|
||
mutter\_von(nagako,akihito).
|
||
\item
|
||
mutter\_von(nagako,hitachi).
|
||
\item
|
||
Der Großvater ist der Vater des Vaters oder der Vater der Mutter.
|
||
\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).
|
||
\item
|
||
Geschwister haben den gleichen Vater und die gleiche Mutter.
|
||
\item
|
||
geschwister(X,Y) :- vater\_von(V,X), vater\_von(V,Y),
|
||
mutter\_von(M,X), mutter\_von(M,Y).
|
||
\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{verbatim}
|
||
domains
|
||
person = symbol
|
||
predicates
|
||
vater_von(person,person) % bei nichtdeterministischen Prädikaten
|
||
mutter_von(person,person). % kann man "nondeterm" vor das
|
||
grossvater_von(person,person) % Prädikat schreiben, um die
|
||
geschwister(person,person) % Kompilation effizienter zu machen
|
||
clauses
|
||
< Wissensbasis einfügen und Klauseln gleichen Kopfprädikates gruppieren>
|
||
goal
|
||
< Frage ohne "?-" einfügen>
|
||
\end{verbatim}
|
||
|
||
\begin{enumerate*}
|
||
\setcounter{enumi}{1}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Beispiel 2 (BSP2.PRO)
|
||
\end{enumerate*}
|
||
|
||
\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).
|
||
\end{itemize*}
|
||
|
||
Deklarationsteil
|
||
|
||
\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}\label{verarbeitung-logischer-programme}
|
||
|
||
\subparagraph{Veranschaulichung ohne
|
||
Unifikation}\label{veranschaulichung-ohne-unifikation}
|
||
|
||
|
||
\includegraphics[width=\linewidth]{Assets/Logik-prolog-ohne-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}
|
||
|
||
|
||
\includegraphics[width=\linewidth]{Assets/Logik-prolog-mit-unifikation.png}
|
||
|
||
Zusätzliche Markierung der Kanten mit der Variablenersetzung (dem
|
||
Unifikator).
|
||
|
||
\subsubsection{PROLOG aus prozeduraler
|
||
Sicht}\label{prolog-aus-prozeduraler-sicht}
|
||
|
||
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}
|
||
|
||
\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.
|
||
|
||
Programm inkl. Deklarationsteil (BSP3.PRO)
|
||
|
||
\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!
|
||
|
||
!(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}
|
||
|
||
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}
|
||
|
||
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.
|
||
|
||
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).
|
||
|
||
\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.
|
||
|
||
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).
|
||
|
||
BSP5.PRO
|
||
|
||
\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}
|
||
|
||
\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$.
|
||
|
||
\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.
|
||
|
||
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) 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}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
Eine kontextfreie Grammatik (Chomsky-Typ 2) besteht aus
|
||
\end{itemize*}
|
||
|
||
\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$
|
||
\end{enumerate*}
|
||
|
||
\begin{itemize*}
|
||
\itemsep1pt\parskip0pt\parsep0pt
|
||
\item
|
||
\ldots{} und in PROLOG repräsentiert werden durch
|
||
\end{itemize*}
|
||
|
||
\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$
|
||
\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}
|
||
|
||
\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$
|
||
\end{enumerate*}
|
||
|
||
Verketten einer Liste von Listen
|
||
|
||
\begin{verbatim}
|
||
% die Liste ist leer
|
||
verkette( [ ] , [ ] ) .
|
||
|
||
% 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 ] ) :-
|
||
verkette( [ R | Rest ] , L ).4
|
||
\end{verbatim}
|
||
|
||
\paragraph{Die ``Generate - and - Test''
|
||
Strategie}\label{die-generate---and---test-strategie}
|
||
|
||
\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: - 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) - 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}\label{heuristische-problemluxf6sungsmethoden}
|
||
|
||
\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}
|
||
|
||
Was ist eine Heuristik? Worin unterscheidet sich eine heuristische
|
||
Problemlösungsmethode von einem Lösungsalgorithmus?
|
||
|
||
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äß
|
||
|
||
Beispiel-Problem: $?- miss_ab( 1.25 , 0.75 , 1 , 0 , 0 )4$
|
||
|
||
\paragraph{Pfadsuche in gerichteten
|
||
Graphen}\label{pfadsuche-in-gerichteten-graphen}
|
||
|
||
\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 - 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) -
|
||
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(<Fakt>)$ - zum
|
||
Einfügen des Faktes - und $retract (<Fakt>)$ - 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}\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 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.
|
||
|
||
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?
|
||
|
||
\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).
|
||
|
||
?- loesung(Wassertrinker, Zebrabesitzer).
|
||
\end{verbatim}
|
||
|
||
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
|
||
|
||
\paragraph{Tools für die formale
|
||
Logik}\label{tools-fuxfcr-die-formale-logik}
|
||
|
||
\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}
|
||
|
||
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
|
||
|
||
\end{multicols}
|
||
\end{document} |