% infoneu 29.11.2011
% Skript infoneu.tex Math Logik fuer Informatiker
% Sammlung von Fehlerhinweisen aus dem WS 10/11 in Freiburg
% letzte Aenderung 17.11., 29.11., 22.12.2010
% neue Runde nach Luminy 11.10 - 17.10.2010 Freiburg
% Im Krankenhaus Korrektur gelesen am 13. bis 24.9.2010 
% Stand  11.9.2010 begonnen mit Ziegler-Skript von 2006/2007
% Vorspann: 10.2003 Auch Makros geändert. Deutsch. Book.
% nun mit fancyhdr
%  new theoremstyles tried new lists built in...
% this is an (AMS)latex file
% the latex file needs a file called lit.bib in order to run bibtex
% the first 386 lines contain the macros I used,
% the paper itself begins at line 450
% run also makeindex
%----------packages - Zaehlstruktur--------------------------------

\documentclass[11pt, a4paper, twoside]{book}

%%Seitenformat aus dem fancyhdr Anleitungsfile
\oddsidemargin = 18pt
\topmargin = 12pt% 0pt
\headheight = 12pt

\headsep = 25pt
\textheight = 609pt
\textwidth = 424pt

\marginparsep = 11pt
\marginparwidth = 54pt
 \footskip = 30pt
 \marginparpush = 5pt
\hoffset = 0pt
\voffset = 0pt
\paperwidth = 597pt
\paperheight
=845pt


%\textwidth14.8cm \textheight23cm \hoffset-8mm \voffset0mm
\usepackage{hyperref}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{a4}
\usepackage{latexsym, amsthm, mathrsfs}
%\usepackage{times}
\usepackage[latin1]{inputenc}  %man darf Umlaute schreiben
\usepackage{makeidx}
\usepackage{fancybox}
\usepackage{amscd}
\usepackage[all]{xy}
\usepackage{fancyhdr}
\pagestyle{fancy}

%\rhead{\thepage} \lhead{Logik f\"ur Studierende der Informatik, WS
%10/11}\cfoot{}

\fancyhead{} % clear all header fields
\fancyhead[RO,LE]{\bfseries \thepage} \fancyhead[LO]{Logik f\"ur
Studierende der Informatik WS 10/11} \fancyhead[RE]{{\small
\leftmark}}
\fancyfoot{} % clear all footer fields
\renewcommand{\headrulewidth}{0.4pt}
%\renewcommand{\footrulewidth}{0.4pt}


%\usepackage[german, english]{babel}
%\selectlanguage{german}
\usepackage{ngerman}
\makeindex
\input{xy}
\renewcommand{\baselinestretch}{1}
%\newcommand{\chapter}{\section}
%\newcommand{\section}{\subsection} geht wohl!

\newcommand{\schapter}{\chapter}
\newcommand{\ssection}{\section} %geht wohl!
\numberwithin{equation}{chapter}
%\numberwithin{equation}{section}

\newtheorem{theorem}{Satz}[chapter]
\newtheorem{lemma}[theorem]{Lemma}

\theoremstyle{definition} %fettes label, aber nich kursiv
%\newtheorem{definition}[theorem]{Definition}
\newtheorem{open}[theorem]{Open Problem}


%VORSICHT AUF DEUTSCH mit den englischen Standardnamen
\theoremstyle{plain} %fettes label. text kursiv
\newtheorem{question}[theorem]{Frage}
\newtheorem{frage}[theorem]{Frage}
\newtheorem{conjecture}[theorem]{Vermutung}
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{corollary}[theorem]{Korollar}
\newtheorem{fact}[theorem]{Beobachtung}
\newtheorem{claim}[theorem]{Behauptung}
\newtheorem{discussion}[theorem]{Diskussion}
\newtheorem{subclaim}[theorem]{Zwischenbehauptung}
\newtheorem{crucialclaim}[theorem]{Crucial Claim}
\newtheorem{maintheorem}[theorem]{Hauptsatz}
\newtheorem*{maintheorem*}{Main Theorem} %unnumeriert
\newtheorem*{theorem*}{Satz}
\newtheorem*{conjecture*}{Vermutung}
\newtheorem{definition}[theorem]{Definition}

\theoremstyle{remark}  %kursives label. text roman
\newtheorem{remark}[theorem]{Bemerkung}
%\newtheorem{open}[theorem]{Open Problem}
\newtheorem*{convention}{Konvention}
\newtheorem{example}[theorem]{Beispiel}
\newcommand{\nc}{\newcommand}
%
%------------old Roman functions-------------------------------
%
%alle im math mode. ensuremath waere schoner, ist aber nicht immer da
\nc{\nothing}[1]{}

\nothing{\nc{\dom}{{\rm dom}} \nc{\card}{{\rm card}} \nc{\lh}{{\rm
lh}} \nc{\lgg}{{\rm lg}} \nc{\rge}{\mbox{\rm rge}} \nc{\cf}{{\rm
cf}} \nc{\nex}{\mbox{\rm next}} \nc{\uhr}{\restriction}
\nc{\supt}{{\rm supt}} \nc{\supp}{{\rm supp}} \nc{\Lim}{{\rm Lim}}
\nc{\Leb}{{\rm Leb}}




\nc{\regularopen}{{\rm RO}} \nc{\prob}{{\rm Prob}}} \nc{\Ord}{{\rm
On}}
\nc{\reg}{{\rm Reg}} %regular cardinals
%------------new  additional functions -------------------------------
%neu: mit package opn, which is a part in amsmath
%

\nc{\nco}{\DeclareMathOperator}
\nco{\regularopen}{RO}
\nco{\prob}{Prob}
\nco{\On}{On}
\nco{\reduction}{red}
\nco{\Fn}{Fn}
\nco{\order}{o}
\nco{\ppower}{pp}
\nco{\pcf}{pcf} %possible cofinality
\nco{\tcf}{tcf} %true cofinality
\nco{\tlim}{tlim} %true lim
\nco{\limtext}{lim} %true lim
\nco{\prodt}{{\textstyle \prod}}
              %(die Produkte ohne Indizes moegen auch im Display
              % klein sein)
\nco{\symdiff}{\triangle}
\nco{\dom}{dom}
\nco{\card}{card}
\nco{\lh}{lh}
\nco{\lgg}{lg}
\nco{\rge}{rge}
\nco{\otp}{otp}

\nco{\cf}{cf} \nco{\nex}{next} \nc{\uhr}{\restriction}
\nco{\supt}{supt} \nco{\supp}{supp} \nco{\Lim}{Lim} \nco{\Leb}{Leb}
\nco{\invariant}{inv} \nco{\CF}{CF} \nco{\Sym}{Sym} \nco{\fr}{fr}
\nco{\type}{type} \nco{\rk}{rk}
%--------die Grundraeume---the ambient spaces----Baeume-------
\nc{\Bew}{{\rm Bew}} %%%%%%%%%%%%%Skript 2003/2004
\nc{\Kon}{{\rm Kon}}
\nc{\potom}{\ensuremath{{\cal P}(\omega)}}
\nc{\potinf}{\ensuremath{[\omega]^\omega}}
\nc{\pfin}{\ensuremath{{\cal P}(\omega)/{\rm fin}}}

\nc{\potfin}{\ensuremath{[\omega]^{<\omega}}}
\nc{\inn}{\ensuremath{{\omega^{\uparrow \omega}}}}
\nc{\hoch}{^{<\omega}}
\nc{\hocho}{^{\omega}}
\nc{\tree}[1]{{[} #1 {]}_0}
\nc{\tre}[2]{ {#1}_{#2}}


%---------Beweisraender, eqnarrays-----------------------------

\nc{\prooff}[1]{{\bf Proof} of #1:}
\nc{\goed}[1]{\ulcorner #1 \urcorner} %neu in Wien: Goedelnummern
%\nc{\proof}{\noindent {\bf Proof: }}
\nc{\proofend}{\makebox{} \hfill ${\dashv}$ \\}
\nc{\proofendof}[1]{\makebox{} \hfill $\boldmath{\square}_{\rm #1}$
\\} \nc{\beq}{\begin{eqnarray*}} \nc{\eeq}{\end{eqnarray*}}
\nc{\bde}{\begin{list}} \nc{\ede}{\end{list}}

%-----------neu in Israel, schoenere listen------------------------

\newenvironment{myrules}
{\begin{list}{}
{
 \setlength{\leftmargin}{0.5in}
% \setlength{\rightmargin}{0.6in}
 \setlength{\labelwidth}{1cm}
 \setlength{\labelsep}{0.2in}
 \setlength{\parsep}{0.5ex plus 0.2ex minus 0.1 ex}
 \setlength{\itemsep}{0.3ex plus 0.2 ex minus 0ex}
}}{\end{list}}

\newenvironment{myrules1}
{\begin{list}{}
{
 \setlength{\leftmargin}{0.5in}
% \setlength{\rightmargin}{0.6in}
 \setlength{\labelwidth}{0.8cm}
 \setlength{\labelsep}{0.2in}
 \setlength{\parsep}{0.5ex plus 0.2ex minus 0.1 ex}
 \setlength{\itemsep}{0.5ex plus 0.2 ex minus 0ex}
}}{\end{list}}


%Liste ohne automatische Inhalte der Items
\newenvironment{submanfred}{\begin{list}{}%
 {
  \setlength{\leftmargin}{2em}
 \setlength{\labelwidth}{1.25em}
  \setlength{\labelsep}{1.25em}
 \setlength{\topsep}{0.1ex plus0.2ex minus0.2ex}
  \setlength{\parsep}{0pt}  \setlength{\itemindent}{-1em}
   \setlength{\itemsep}{\topsep}}}%
{\end{list}}

% noch vier Listen von Manfred am 31.7.1998

\newcounter{subalph}
\newenvironment{subalph}{\begin{list}{(\alph{subalph})}%
 {\usecounter{subalph}
  \setlength{\leftmargin}{2em} \setlength{\labelwidth}{1.25em}
  \setlength{\labelsep}{0.75em} \setlength{\topsep}{0.5ex plus0.2ex minus0.2ex}
  \setlength{\parsep}{0pt}     \setlength{\itemsep}{\topsep}}}%
{\end{list}}

\newcommand{\greek}[1]{\ifthenelse{\value{#1}=1}{\mbox{$\alpha$}}%
  {\ifthenelse{\value{#1}=2}{\mbox{$\beta$}}{%
   \ifthenelse{\value{#1}=3}{\mbox{$\gamma$}}{%
   \ifthenelse{\value{#1}=4}{\mbox{$\delta$}}{%
   \ifthenelse{\value{#1}=5}{\mbox{$\varepsilon$}}{%
   \ifthenelse{\value{#1}=6}{\mbox{$\zeta$}}{%
   \ifthenelse{\value{#1}=7}{\mbox{$\eta$}}{%
   \ifthenelse{\value{#1}=8}{\mbox{$\theta$}}{%
   \ifthenelse{\value{#1}=9}{\mbox{$\iota$}}{%
   \ifthenelse{\value{#1}=10}{\mbox{$\kappa$}}{%
   \ifthenelse{\value{#1}=11}{\mbox{$\lambda$}}{%
   \ifthenelse{\value{#1}=12}{\mbox{$\mu$}}{%
   \ifthenelse{\value{#1}=13}{\mbox{$\nu$}}{%
   \ifthenelse{\value{#1}=14}{\mbox{$\xi$}}{%
   \ifthenelse{\value{#1}=15}{\mbox{$\rm o$}}{%
   \ifthenelse{\value{#1}=16}{\mbox{$\pi$}}{%
   \ifthenelse{\value{#1}=17}{\mbox{$\varrho$}}{%
   \ifthenelse{\value{#1}=18}{\mbox{$\sigma$}}{%
   \ifthenelse{\value{#1}=19}{\mbox{$\tau$}}{%
   \ifthenelse{\value{#1}=20}{\mbox{$\upsilon$}}{%
   \ifthenelse{\value{#1}=21}{\mbox{$\varphi$}}{%
   \ifthenelse{\value{#1}=22}{\mbox{$\chi$}}{%
   \ifthenelse{\value{#1}=23}{\mbox{$\psi$}}{\mbox{$\omega$}%
  }}}}}}}}}}}}}}}}}}}}}}}}%24 Zuklammern

\newcounter{subgreek}
\newenvironment{subgreek}{\begin{list}{(\greek{subgreek})}%
 {\usecounter{subgreek}
  \setlength{\leftmargin}{3em} \setlength{\labelwidth}{2.25em}
  \setlength{\labelsep}{0.75em}
  \setlength{\topsep}{0.5ex plus0.2ex minus0.2ex}
  \setlength{\parsep}{0pt}     \setlength{\itemsep}{\topsep}}}%
{\end{list}}

\newcounter{subarabic}
\newenvironment{subarabic}{\begin{list}{(\arabic{subarabic})}%
 {\usecounter{subarabic}
  \setlength{\leftmargin}{2em} \setlength{\labelwidth}{1.25em}
  \setlength{\labelsep}{0.75em}   \setlength{\topsep}{0.5ex plus0.2ex minus0.2ex}
  \setlength{\parsep}{0pt}     \setlength{\itemsep}{\topsep}}}%
{\end{list}}

\newcounter{subroman}
\newenvironment{subroman}{\begin{list}{(\roman{subroman})}%
 {\usecounter{subroman}
  \setlength{\leftmargin}{3em} \setlength{\labelwidth}{2.25em}
  \setlength{\labelsep}{0.75em}
\setlength{\topsep}{0.5ex plus0.2ex minus0.2ex}
  \setlength{\parsep}{0pt}     \setlength{\itemsep}{\topsep}}}%
{\end{list}}


%-----------------Namen fuer Forcings (aus 592)--------------------
\newcount\skewfactor

\def\mathunderaccent#1#2 {\let\theaccent#1\skewfactor#2
\mathpalette\putaccentunder}
\def\putaccentunder#1#2{\oalign{$#1#2$\crcr\hidewidth
\vbox to.2ex{\hbox{$#1\skew\skewfactor\theaccent{}$}\vss}\hidewidth}}
\def\name{\mathunderaccent\tilde-3 }
\def\Name{\mathunderaccent\widetilde-3 }

% \Name will produce a tilde of varying width.  E.g., try
% \name{x}, \Name{x}, \name{W}, \Name{W}, \name{xyz}. \Name{xyz}.

\nc{\nname}{\name}
%-------------stuff for Toeplitz---------------------------------

\nc{\even}{\ensuremath{\rm Even}}
\nc{\odd}{\ensuremath{\rm Odd}}

%-------------------Reste----------------------------------------

\nc{\al}{$\alpha$\  }
\nc{\om}{\omega}
\nc{\ep}{\varepsilon}
\nc{\tk}{\tilde{K}}
\nc{\concat}{\,\hat{} \,}   %im math mode
\nc{\force}{\Vdash}
\nc{\fb}{f_{\bar{M}}}
\nc{\such}{\, | \,}
\nc{\la}{\langle}
%-----Ideal and GOTHIC---------------------------------------------

\nc{\meager}{\ensuremath{{\cal M}}}
\nc{\lebesgue}{\ensuremath{{\cal N}}}
\nc{\nulll}{\ensuremath{{\cal N}}}
\nc{\ksigma}{\ensuremath{{\bf K}_\sigma}}
\nc{\ideal}{\ensuremath{{\cal I}}}
\nc{\ga}{\ensuremath{\frak a}}
\nc{\AAA}{{\cal A}}   %im math mode
\nc{\gc}{\ensuremath{\frak c}}
\nc{\gs}{\ensuremath{\frak s}}
\nc{\gh}{\ensuremath{\frak h}}
\nc{\gd}{\ensuremath{\frak d}}
\nc{\gb}{\ensuremath{\frak b}}
\nc{\gro}{\ensuremath{\frak g}}
\nc{\gu}{\ensuremath{\frak u}}
\nc{\gr}{\ensuremath{\frak r}}
\nc{\gt}{\ensuremath{\frak t}}
\nc{\fff}{\ensuremath{\frak f}}
\nc{\gm}{\ensuremath{\mathfrak{mcf}}}
\nc{\gge}{\ensuremath{\mathfrak e}}
\nc{\cfupro}{\ensuremath{\cf(\upro)}}
\nc{\cfvpro}{\ensuremath{\cf(\vpro)}}
\nc{\gp}{\ensuremath{\frak p}}
\nc{\gk}{\ensuremath{\frak k}}

%----Invariants of IDEALS--------------------------------------------

\nc{\add}[1]{\mbox{\ensuremath{{\rm add}(#1)}}}
\nc{\cov}[1]{\mbox{\ensuremath{{\rm cov}(#1)}}}
\nc{\unif}[1]{\mbox{\ensuremath{{\rm unif}(#1)}}}
\nc{\cof}[1]{{\mbox{\ensuremath{\rm cof}(#1)}}}

\nc{\addd}[2]{\mbox{\ensuremath{{\rm add}^{#1}(#2)}}}   %fuer ch4.
\nc{\covv}[2]{\mbox{\ensuremath{{\rm cov}^{#1}(#2)}}}   %unter #1 steht
\nc{\uniff}[2]{\mbox{\ensuremath{{\rm unif}^{#1}(#2)}}} %das Modell
\nc{\coff}[2]{{\mbox{\ensuremath{\rm cof}^{#1}(#2)}}}

\nc{\cd}{Cicho\'n's Diagram}

%---------Axiome und Prinzipien----------------------------------

\nc{\MA}{\mbox{\rm MA}}
\nc{\PA}{\mbox{\rm PA}}

\nc{\PFA}{\mbox{\rm PFA}}
\nc{\OCA}{\mbox{\rm OCA}}
\nc{\GCH}{\mbox{\rm GCH}}
\nc{\CH}{\mbox{\rm CH}}
\nc{\zfc}{\mbox{\rm ZFC}}\nc{\ZFC}{\mbox{\rm ZFC}}
\nc{\sch}{\mbox{\rm SCH}}
\nc{\zf}{\mbox{\rm ZF}}
\nc{\NCF}{\mbox{\rm NCF}} %! nicht mehr variabel programmiert,
\nc{\FD}{\mbox{\rm FD}}   %in den \indices ohne makro, damit sie
                          %in den subject Index kommen

\nc{\Borelhood}{Borel measurability} %according to Kechris
\nc{\Pieinseins}{\mbox{${\bf \Pi}^1_1$}}
\nc{\seinseins}{\mbox{${\bf\Sigma}^1_1$}}
\nc{\seinszwei}{\mbox{${\bf\Sigma}^1_2$}}
\nc{\seinsdrei}{\mbox{${\bf\Sigma}^1_3$}}
\nc{\Deleinszwei}{\mbox{${\bf\Delta}^1_2$}}


%_____________________________________________________________________
% macros aus Blass-Mildenberger. Von amstex aus in latex uebersetzt.
% Charakteristikennamen im file umbenannt, da sonst
% drei Makros fuer selbes gothisches Viech vorhanden

\nc{\up}{\ensuremath{{\cal U}\mbox{\ensuremath{\rm -prod}}\,\omega}}
\nc{\upp}{\ensuremath{{\cal U}'\mbox{\ensuremath{\rm -prod}}\,\omega}}
\nc{\upro}{\ensuremath{{\cal U}\mbox{\ensuremath{\rm -prod}}\,\om}}
\nc{\fupro}{\ensuremath{f({\cal U})\mbox{\ensuremath{\rm -prod}}\,\om}}
\nc{\vpro}{\ensuremath{{\cal V}\mbox{\ensuremath{\rm -prod}}\,\om}}
\nc{\fpro}{\ensuremath{{\cal F}\mbox{\ensuremath{\rm -prod}}\,\om}}


\nc{\cff}[1]{{\text{cf}\,(#1)}}           %cf mit richtiger parameter
                                          %Uebergabe
\nc{\cu}{\ensuremath{\cal U}}             %Vorsicht, dies gibt im
                                          %Text Nabla und so Quatsch
\nc{\ai}{\ensuremath{\forall^\infty}}     %geaendert ensuremath dazu
\nc{\ei}{\ensuremath{\exists^\infty}}     %auch geaendert
\nc{\ww}{\ensuremath{\omega^\omega}}      %auch geaendert
% alt:{{}^\omega\omega}

%--------------------------------------------------------------------
%  Axiomennamen und weniges Neues aus dem paper "between \gro and
%  \cf(\gd)", einige fiese Schreibhilfen


\nc{\gw}{groupwise dense}

\nc{\kk}{car\-dinal cha\-rac\-teris\-tic}
\nc{\joker}{\ast}
\nc{\gtc}{Galois-Tukey connection} %Vorsicht: heißt generalized


%------------some new stuff for F 314------------------------

\nc{\av}[1]{{\rm Av}_{#1}}
\nc{\eps}{\varepsilon}
\nc{\n}{{\bf n}}                 %for the blueprints
\nc{\m}{{\bf m}}

\nc{\marginparr}[1]{}
%  {\marginpar{\makebox[4mm]{} \framebox{\bf{#1}}}}
%  switch it on if you do want to read additions in the margins
\nc{\footnoteee}{} % I think the first footnote is no more a question
\nc{\footnotee}{}  % for some ad libitum notes

%\newcommand{\cal}{\mathcal}


%------------------new stuff for Fuchino, Vojtas---------------------

\nc{\divs}{{c_0 \setminus \ell^1}}
\nc{\divser}{(\divs, \leq^*)/\thickapproy}
\nc{\bfin}{\RO(\pfin \setminus\{0\},\subseteq^*)}
\nc{\bdivser}{\RO(\divser)}
\nc{\inc}{{\rm INC}}
\nc{\com}{{\rm COM}}
\nc{\thickapproy}{\makebox{}\!\!\thickapprox}
\nc{\lessi}{\leqslant}
\nc{\gessi}{\geqslant}
\nc{\interior}[1]{{\rm int}(#1)}
\nc{\closure}[1]{{\rm cl}(#1)}
\nc{\Vo}{Vojt\'a\v{s}}
\renewcommand{\l}{\langle}
\renewcommand{\r}{\rangle}

\nc{\precedeseq}{\leq^*} %%%take your favorite partial order!!!!
\nc{\precedes}{\prec}
%\renewcommand{\name}[1]{\dot{#1}}
\renewcommand{\phi}{\varphi}
%-------------------------neue Schreibhilfen fur the script--2003/2004---------------------
\nc{\A}{\mathfrak A} \nc{\B}{\mathfrak B} \nc{\N}{\mathbb N}
\nc{\Q}{\mathbb Q} \nc{\R}{\mathbb R} \nc{\Z}{\mathbb Z}
\nc{\F}{\mathbb F}
\nco{\subb}{sub}
\nc{\cF}{\mathscr F} \nc{\cS}{\mathcal S} \nc{\cC}{\mathcal C}

\nco{\poly}{poly} \nco{\lcm}{lcm}

\nco{\modu}{{\rm mod}\:}
\newcommand{\stick}{{{\ensuremath \mid\!\!\!\! {\raise0.6em\hbox{$\bullet$}}}}}

\nco{\Kongr}{Kongr}
\nco{\ind}{ind}
\nco{\lettercode}{lettercode} % fuer die Informatiksachen
\nco{\wordcode}{wordcode}
\nco{\confcode}{confcode}
\nco{\resu}{Res}
\nc{\blank}{b}
\nc{\trenn}{\stick}
\begin{document}

%-------------------------the script--2003/2004---------------------
\title{Logik f\"ur Studierende der Informatik\\[3ex]
Wintersemester 2010/2011, 2011/12\\
Albert-Ludwigs-Universit\"at Freiburg}
\author{Heike Mildenberger}
\date{12.12.2011}
%\institute{Heike Mildenberger, Albert-Ludwigs-Universit\"at Freiburg, Mathematisches Institut,
%Abteilung f\"ur Mathematische Logik, Eckerstr. 1, 79104 Freiburg im Breisgau}
\maketitle
\cleardoublepage
\pagenumbering{roman}\setcounter{page}{-1}
%\pagenumbering{roman}
%\setcounter{page}{-1}
\tableofcontents
\cleardoublepage
\pagenumbering{arabic}
\setcounter{page}{1}

\schapter{Aussagenlogik}\label{C1}



\ssection{Literaturempfehlungen}
 Die folgenden B\"ucher stehen immer
in der Mathematikb\"ucherei und können nicht ausgeliehen werden. Sie
sind eingeladen, Lesebesuche abzustatten. Au\ss erdem gibt es alle
drei Werke auch in der Bibliothek der Technischen Fakult\"at.

\noindent H.-D.~Ebbinghaus, J.~Flum, W.~Thomas.
\newblock {\em {Einf\"uhrung in die Mathematische Logik}}.
\newblock Hochschultaschenbuch, 4 edition, 1996.
\cite{EFT}

\noindent
Herbert Enderton.
\newblock {\em A Mathematical Introduction to Logic}.
\newblock Academic Press, 3 edition, 2001.\cite{EndertonL}

\noindent Michael Sipser.
\newblock{\em  Introduction to the Theory of Computation},
\newblock {PWS Publishing Company, Boston, 1997.} \cite{sipser}

Folgendes ausgezeichnete Lehrbuch gibt es in der 
Bibliothek für Mathematik und in der Lehrbuchsammlung II:

\noindent Martin Ziegler
\newblock{\em  Mathematische Logik},
\newblock {Birkhäuser, Mathematik kompakt, 2010.} \cite{Zieglerbuch}


Au\ss erdem stehen einige sehr gute B\"ucher und Artikel in den
Literaturangaben. Sie sollten sich keinesfalls nur auf dieses Skript 
beschränken!


\ssection{Die Bestandteile}

Wir beginnen jetzt die formale Entwicklung der Aussagenlogik\index{Aussagenlogik}
 (propositional logic, sententional logic).


Die {\em natürlichen Zahlen}\index{natürliche Zahl} 
sind $\N = \{0,1,2, \dots\}$\index{$\N$}.
Wir fassen jede natürliche Zahl $n$ auch als Vertreter einer 
Menge mit $n$ Elemente auf, und nehmen oft eine einfache Menge mit 
$n$ Elementen, nämlich die Menge 
der Vorgänger von $n$,
also $n = \{0,1 , \dots, n-1\}$.

\begin{definition}\label{1.1}
Die {\em Symbole der Aussagenlogik}\index{Symbole der Aussagenlogik}
sind wie folgt:
\begin{myrules}
\item[(a)] Klammern: ( (linke Klammer, Linksklammer, \"offnende Klammer) und )
(rechte Klammer, Rechtsklammer, schlie\ss ende Klammer)
\item[(b)]
Junktoren (propositional connectives)\index{Junktor}: $\neg$
(nicht),  $\wedge$ (und),  $\vee$ oder, $\rightarrow$ (wenn \dots
dann), $ \leftrightarrow$ (genau dann, wenn).
\item[(c)]
Satzsymbole\index{Satzsymbole}, auch Variable\index{aussagenlogische
Variable} genannt: $A_0$, $A_1$,\dots Wir lassen, wenn nicht anders
genannt, immer abz\"ahlbar unendlich (genaueres zu diesem Begriff findet man
 in 
Definition~\ref{2.12} und kurz danach) viele, durch $n \in \N =
\{0,1,\dots\}$ indizierte Variable $\{A_n \such n \in \N\}$ zu.
\end{myrules}
\end{definition}

\begin{definition}
Ein {\em Ausdruck}\index{Ausdruck der Aussagenlogik} ist eine
endliche Folge von Symbolen.
\end{definition}

 Zum Beispiel
 ist $\rightarrow ((A_4$ ein Ausdruck. Aber nur gewisse Ausdrücke
 haben eine Bedeutung, und diese
 werden Formeln genannt.


\begin{definition}\label{1.2}
  Wir definieren die Menge der
{\em Formeln der Aussagenlogik}\index{Formel der Aussagenlogik} wie
folgt:
\begin{myrules}
\item[(a)] Jedes Satzsymbol  ist eine Formel.
\item[(b)] Wenn $\alpha$ und $\beta$ Formeln sind, dann sind auch 
$\neg \alpha$ und
$(\alpha \wedge \beta)$ und $(\alpha \vee \beta)$, $(\alpha \rightarrow \beta)$ und
$(\alpha \leftrightarrow \beta)$ Formeln.
\item[(c)]
Kein Ausdruck ist dann eine Formel, wenn er es nicht aufgrund von (a) oder (b)
sein muss.
\end{myrules}
\end{definition}

Wir sagen $(\alpha \wedge \beta)$ entsteht aus $\alpha$ und $\beta$
durch Anwendung des Junktors $\wedge$. Indem wir die Junktoren 
(im Falle von $\neg$) als einstellige oder zweistellige Funktionen
auffassen, k\"onnen wir auch von unter diesen Funktionen
abgeschlossenen Mengen sprechen.


\begin{definition}
Sei $f$ eine $n$-stellige
Funktion, deren Definitionsbereich
irgendeine Menge ist.  Die Menge $M$ ist {\em unter $f$
abgeschlossen}\index{Abschluss unter einer Funktion}, genau dann,
wenn f\"ur alle $\vec{m}$ in  $M^n$, falls $f(\vec{m})$ definiert ist,
 auch $f(\vec{m})$ ein Element von $ M$ 
ist.
\end{definition}

Wir schreiben $$f[X]= f'' X = \{f(x) \such x \in X\}$$
und nennen diese Menge  
{\em die Bildmenge von $f$ angewandt auf $X$}\index{Bildmenge}.

\index{$f[X]$}\index{$f{''} X$}
Bemerkung: Beide Schreibweisen, $f[X]$ und $f{''}X$ sind eingebürgert.
Beachten Sie, dass $f(X) \neq f[X]$ sehr wohl möglich ist.

\begin{lemma}
Sei $M$ eine Menge, sei  $n \in \N$ und sei $f$ eine $n$-stellige Funkion.
Dann gibt es eine kleinste unter $f$ abgeschlossenen Obermenge von $M$.
\end{lemma}
 
\noindent Beweis. Wir definieren induktiv über $k \in \N$ eine Folge
$\langle M_k \such k \in \N\rangle = (M_k)_{k \in \N}$: $M_0 = M$, 
$M_{k+1} = M_k \cup f{''} M_k^n$. Dann ist  $M_\infty =
\bigcup_{k \in \N} M_k$ unter $f$ abgeschlossen.
Für jede gegen $f$ abgeschlossene Menge $A$ gilt:
$A \supseteq M_\infty$, denn induktiv folgt für alle $k$,
$A \supseteq M_k$.
\proofend

Entsprechend kann man \glqq abgeschlossen unter einer Menge von
Funktionen''\index{Abschluss unter einer Menge von Funktionen} definieren.
 Eine andere Art, Definition~\ref{1.2}(c) auszudrücken, ist zu sagen,
 dass
die Menge der Formeln dadurch erzeugt wird, dass die \glqq Menge der
Satzsymbole unter den Junktoren abgeschlossen wird''.  Da der (im
Sinne von $\subseteq$) kleinste Abschluss, n\"amlich der mit obigem
Schema gebildete,  genommen wird, gilt folgendes:


\begin{theorem}
{\em Induktionsprinzip für Eigenschaften}\index{Induktionsprinzip für 
Eigenschaften}
von Formeln.
Wenn eine Eigenschaft für die Satzsymbole wahr ist und bei Anwendung
der Junktoren erhalten bleibt, so ist sie für jede Formel wahr.
\end{theorem}


 Zum Beispiel nehmen wir folgende Eigenschaft:


\begin{lemma}\label{2.2}
Jede Formel hat gleich viele Linksklammern wie Rechtsklammern.
\end{lemma}

\noindent Beweis: Die Behauptung ist wahr für Satzsymbole, da diese keine
Klammern enthalten. Wenn $\alpha$ und $\beta$ Formeln mit der
behaupteten Eigenschaft sind, dann haben auch $\neg \alpha$, $
(\alpha \wedge \beta)$, $(\alpha \vee \beta)$, $ (\alpha \rightarrow
\beta)$ und $(\alpha \leftrightarrow \beta) $ die behauptetete
Eigenschaft. Wegen des Induktionsprinzips hat jede Formel die
gewünschte Eigenschaft. \proofend

\begin{lemma}\label{anf}
Keine Formel ist echtes Anfangsst\"uck einer anderen Formel.
\end{lemma}

\noindent Beweis: Die Behauptung ist eine Aussage \"uber alle Paare von Formeln. Wir
f\"uhren den Beweis induktiv \"uber den Aufbau der l\"angeren
Formel simultan für alle ihre Anfangsstücke. Die Behauptung ist wahr für Satzsymbole, da diese keine
nicht-leeren echten Anfangsst\"ucke haben. Wir zeigen induktiv:
\begin{myrules}\item[($\ast$)]
Jedes nicht-leere echte Anfangsst\"uck einer Formel hat
strikt mehr Linksklammern als Rechtsklammern oder nur $\neg$-Zeichen.
\end{myrules}

Die Behauptung f\"ur $\neg \alpha$ folgt unmittelbar aus der Behauptung für
 $\alpha$.  Jedes echte Anfangsst\"uck von $(\alpha \vee \beta)$
ist entweder ein echtes Anfangss\"uck von $\alpha$ oder ragt
in $\beta$ hinein. Im ersten Fall folgt
die Aussage aus der Induktionsvoraussetzung von $(\ast)$ und der
Tatsache, dass am Kopf des Anfangsst\"ucks eine unpaarige
Linksklammer steht. 
Im zweiten Fall, wenn das Anfangsst\"uck in $\beta$ hineinragt,
dann gibt es nach dem vorigen Lemma zu Beginn von $\beta$ im
Anfangsst\"uck eine Linksklammer mehr als Rechtsklammern. Der Teil
des Anfangsst\"ucks nach dem Beginn von $\beta$ hat nach der
Induktionsannahme ($\ast$) f\"ur $\beta$ wieder echt mehr
Linksklammern als Rechtsklammern, oder, falls es ganz $\beta$ ist,
gleich viele Linksklammern wie Rechtsklammern. Auf jeden Fall bleibt
eine unpaarige Linksklammer \"ubrig. \proofend


\"Uberlegen Sie sich, dass man statt der Klammern auch eine {\em
polnische Notation}\index{polnische Notation}  einf\"uhren k\"onnte:
$\wedge \alpha \beta$ entspricht dann $(\alpha \wedge \beta)$, usf.
Ist die polnische Notation eindeutig lesbar? Warum?


\section{Wahrheitsbelegungen}

Wir definieren, was es bedeutet, dass eine Formel aus anderen
Formeln logisch folgt.


\begin{definition}
Es bedeuten $W$ wahr und $F$ falsch. Sie werden die {\em
Wahrheitswerte}\index{Wahrheitswerte} genannt.
\end{definition}

\begin{definition}
Eine {\em Wahrheitsbelegung}\index{Wahrheitsbelegung}
$v$ für eine Menge $\mathcal S$ von Satzsymbolen ist eine Funktion
$$v \colon {\mathcal S} \to \{W,F\}.$$
\end{definition}

Sei $\bar{\mathcal S}$ der Abschluss von 
$\mathcal S$ unter den fünf Junktoren. 
Wenn $\cS = \{A_i \such i \in \N\}$ dann ist $\bar{\cS}$ also
die Menge aller Formeln.

\begin{theorem} {\em Induktionsprinzip f\"ur Definitionen.}
\index{Induktionsprinzip f\"ur Definitionen}
Induktiv \"uber den Aufbau der Formeln lassen sich Eigenschaften von
Formeln auf der Menge $\bar{\cS}$ definieren, indem man festlegt,
f\"ur welche $A \in \cS$ die Eigenschaft zutrifft, und festlegt, wie
sich das Zutreffen der Eigenschaft bei Anwendung eines Junktors
fortpflanzt. Induktiv \"uber den Aufbau der Formeln lassen sich
Funktionen auf der Menge $\bar{\cS}$ definieren, indem man die
Funktion auf $\cS$ definiert und festlegt, wie sich die
Funktionswerte bei der Anwendung eines Junktors verhalten.
\end{theorem}

Eine erste Anwendung ist:


\begin{definition}\label{erw}
Wir definieren  eine {\em Erweiterung $\bar{v}$ von $v$ auf
$\bar{\mathcal
 S}$}\index{Erweiterung der Wahrbeitsbelegung auf $\bar{\cS}$}
 wie folgt:
\begin{myrules}
\item[(1)] $\bar{v}(A) = v(A)$ für $A \in {\mathcal S}$,
\item[(2)] $\bar{v}(\neg \alpha) = W$ :gdw $\bar{v}(\alpha) = F$,
\item[(3)] $\bar{v}(\alpha \wedge \beta) = W$ :gdw
($\bar{v}(\alpha)= W$ und $\bar{v}(\beta)= W$),
\item[(4)] $\bar{v}(\alpha \vee \beta)=  W$ :gdw
($\bar{v}(\alpha)= W$ oder $\bar{v}(\beta)= W$),
\item[(5)] $\bar{v}(\alpha \rightarrow \beta)=  W$ :gdw
($\bar{v}(\alpha)= F$ oder $\bar{v}(\beta)= W$),
\item[(6)] $\bar{v}(\alpha \leftrightarrow \beta)=  W$ :gdw ($\bar{v}(\alpha)= W$ gdw
$\bar{v}(\beta)= W$).
\end{myrules}
$\bar{v}$ wird manchmal auch  Wahrheitsbelegung genannt, so wie wir
schon $v$ Wahrheitsbelegung genannt haben. (Da $\bar{v}$ sich
eindeutig aus $v$ ergibt, ist diese Benennung nicht gef\"ahrlich.)
\end{definition}

Die obige Definition l\"asst sich auch in den bekannten {\em
Wahrheitstafeln f\"ur Junktoren}\index{Wahrheitstafel eines
Junktors} schreiben mit der Konvention, dass der Wahrheitswert von
$\alpha$ in der linken Spalte steht und der von $\beta$ in der
oberen Zeile (dies ist bei asymmetrischen Junktoren wichtig):
\medskip

\noindent
\begin{tabular}{c|c|c|}
$\neg$ &  W & F \\
\hline & F & W\\
\hline \end{tabular} \quad
\begin{tabular}{c|c|c|}
$\wedge$ &  W & F \\
\hline W & W & F\\
\hline F & F & F \\
\hline \end{tabular} \quad
\begin{tabular}{c|c|c|}
$\vee$ &  W & F \\
\hline W & W & W\\
\hline F & W & F \\
\hline \end{tabular} \quad
\begin{tabular}{c|c|c|}
$\rightarrow$ &  W & F \\
\hline W & W & F\\
\hline F & W & W \\
\hline \end{tabular} \quad
\begin{tabular}{c|c|c|}
$\leftrightarrow$ &  W & F \\
\hline  W & W & F\\
\hline
F & F & W\\
\hline
\end{tabular}

\medskip

\noindent \"Uberlegen Sie sich: Nach dem Induktionsprinzip ist durch
Definition~\ref{erw}
 $\bar{v}$ auf ganz $\bar{\mathcal S}$
wohldefiniert.


\begin{convention} Wir lassen die \"au\ss erste Klammer um eine Formel
machmal weg. Beim weiteren Zusammensetzen schreiben wir die Klammer
dann nat\"urlich, denn wir wollen ja die eindeutige Lesbarkeit
garantieren.
\end{convention}

\begin{example}
Als Beispiel für das Ausrechnen von $\bar{v}$
 betrachten wir folgende Formel $\alpha$:
$$
\alpha=((A_2 \rightarrow (A_1 \rightarrow A_6)) 
\leftrightarrow ((A_2 \wedge A_1) \rightarrow A_6))$$
mit der Wahrheitsbelegung $v$ für $A_1, A_2, A_6$: $v(A_1)=W$,
$v(A_2)= W$, $ v(A_6)=F$. Wir rechnen nun die Erweiterung $\bar{v}$ von $v$ 
an der Stelle $\alpha$  aus:
 $\bar{v}(A_1 \rightarrow A_6)=
F$, $\bar{v}(A_1 \wedge A_2)= W$, $\bar{v}((A_2 \wedge A_1)
\rightarrow A_6))= F$, $\bar{v}((A_2 \rightarrow (A_1 \rightarrow
A_6)))= F$, und wir erhalten schließlich $\bar{v}(\alpha) =W$.
\end{example}

\begin{definition}
Wir sagen, dass {\em eine Wahrheitsbelegung $v$ eine Formel $\varphi$
erfüllt}\index{Erfüllung}, wenn $\bar{v}(\varphi) = W$
ist. Dazu muss natürlich der Definitionsbereich von $v$ jedes
Satzsymbol in $\varphi$ enthalten.
\end{definition}


\begin{definition}
$\top$\index{$\top$} ist eine Abk\"urzung f\"ur $A_0 \vee \neg A_0$.
$\perp$\index{$\perp$} ist eine Abk\"urzung f\"ur $A_0 \wedge \neg
A_0$.
\end{definition}

$\top$ steht für true, und $\perp$ steht für die Umkehrung: falsch.


\section{Tautologische Implikation und \"aquivalente Formeln}
Nun betrachten wir eine Formelmenge $\Sigma$, die als Menge 
der Vorsausstzungen fungiert,
und eine weitere Formel $\tau$, die eine Schlussfolgerung sein kann.

\begin{definition}
Wir sagen {\em $\Sigma$ impliziert tautologisch $\tau$} oder {\em
$\Sigma$ impliziert $\tau$}\index{tautologische Implikation}, in
Zeichen $ \Sigma \models \tau$\index{$\models$},
 gdw folgendes der Fall ist:
Für jede Wahrheitsbelegung $v$ aller Symbole, die in $\Sigma$ oder in $\tau$ auftreten,
gilt: Wenn $\bar{v}$ jedes Element von $\Sigma$ erfüllt, dann erfüllt $\bar{v}$ auch $\tau$.
\end{definition}

Falls $\Sigma$ die leere Menge ist, dann bedeutet das, dass jede
Wahrheitsbelegung der Satzsymbole in $\tau$ die Formel $\tau$
erfüllt. In diesen Falle sagen wir, dass $\tau$ eine
(aussagenlogische) Tautologie ist und schreiben $\models \tau$. Noch
einmal explizit:

\begin{definition}
\begin{myrules}
\item[(a)]
$\tau$ ist {\em allgemeing\"ultig oder eine
Tautologie}\index{Tautologie}\index{allgemeing\"ultig}, gwd für alle
Wahrheitsbelegungen $v \colon S \to \{W,F\}$, $\bar{v}(\tau) = W$.
\item[(b)]
$\tau$ ist eine {\em erf\"ullbar}\index{erf\"ullbar}, gwd es eine
Wahrheitsbelegung $v \colon S \to \{W,F\}$ gibt, so dass
$\bar{v}(\tau) = W$.
\end{myrules}
\end{definition}

\begin{fact}
$\top$ is allgemeing\"ultig. $\perp$ ist nicht erf\"ullbar.
\end{fact}

Wenn $\Sigma$ nur ein
Element enthält, dann schreiben wir $\sigma \models \tau$ statt $\{\sigma\}\models \tau$.

\begin{definition}
Wenn sowohl $\sigma \models \tau$ als auch $\tau \models \sigma$,
dann sagen wir, dass $\sigma$ und $\tau$ {\em (tautologisch)
äquivalent}\index{tautologisch äquivalent} sind. Wir schreiben
$\sigma \equiv \tau$\index{$\equiv$}.
\end{definition}


\begin{fact}
\begin{myrules}
\item[(1)]
$\sigma \equiv \tau$ gdw $\sigma \leftrightarrow \tau$
allgemeing\"ultig ist.
\item[(2)]  $\sigma$ is allgemeing\"ultig gdw $\sigma \equiv \top$.
\item[(3)]  $\sigma$ is erf\"ullbar gdw $\sigma \not\equiv \perp$.
\item[(4)]  $\equiv$ ist eine \"Aquivalenzrelation auf der Menge der
Formeln.
\end{myrules}
\end{fact}

 {\bf Einschub:} Sie wundern sich vielleicht über den
Spielraum der Festlegung, welche Junktoren zum Aufbau der
aussagenlogischen Formeln zulässig sind. Die folgenden
Übungsaufgaben zeigen, dass es viel Spielraum gibt:

\begin{definition}
Eine Junktorenmenge $\mathcal J$ heißt {\em
vollständig}\index{vollst\"andige Junktorenmenge}, gdw es zu jeder
aussagenlogischen Formel $\sigma$ eine (tautologisch) äquivalente
aussagenlogische Formel $\tau$ gibt, die nur Junktoren aus $\mathcal
J$ enthält.
\end{definition}

\begin{myrules}
\item[Ü1.] Für den Junktor $|$ (\glqq Scheffer stroke'', \glqq weder noch'') gilt:
$\bar{v}((\varphi |\psi)) = W$ gdw $\bar{v}(\varphi) = F$ und
$\bar{v}(\psi) = F$ für alle Erweiterungen $\bar{v}$ von
Wahrheitsbelegungen $v$. Zeigen Sie, dass $\{|\}$ eine vollständige
Junktorenmenge ist.

\item[Ü2.] Zeigen Sie, dass $\{ \neg, \rightarrow \}$ eine vollständige Junktorenmenge ist.
Analoges gilt für $\vee$ anstelle von $\rightarrow$ und für $\wedge$ anstelle von $\rightarrow$.
Wie ist die Lage für $\leftrightarrow$ anstelle von $\rightarrow$?


\item[Ü3.$^*$] Für den  Junktor $+$ (\glqq entweder oder'') gilt:
$\bar{v}((\varphi + \psi)) = W$ gdw $\bar{v}(\varphi) = W$ oder
$\bar{v}(\psi)=W$,
 aber nicht beide wahr, für alle Erweiterungen $\bar{v}$ von Wahrheitsbelegungen $v$.
Zeigen Sie, dass $\{\wedge, \leftrightarrow, + \}$ eine vollständige
Junktorenmenge ist
 und --- ist der $^*$-Teil der Aufgabe --- dass jedoch keine ihrer
echten Teilmengen voll\-ständig ist.
\end{myrules}

F\"ur schlanke Beweise \"uber Eigenschaften von Formeln, die bei
\"aquivalenten Formeln gleich entschieden werden, bietet es sich
daher an, mit der recht kleinen vollst\"andigen Junktorenmenge
$\{\neg, \wedge\}$ zu arbeiten. Dies werden wir in manchen
Induktionsbeweisen aus Sparsamkeitsgr\"unden tun.



\begin{definition} Sei $\varphi$ eine Formel, aufgebaut aus $\wedge$,
$\vee$, $\neg$, $\top$ und $\perp$. Die {\em duale Formel
$\varphi^\ast$}\index{duale Formel} ensteht durch Vertauschen von
$\vee$ und $\wedge$, $\top $ und $\perp$.
\end{definition}

\begin{lemma}\label{ers} $\varphi \equiv \psi$ gdw $\varphi^\ast \equiv
\psi^\ast$.
\end{lemma}

\noindent Beweis durch Induktion \"uber den Aufbau der Formeln. \proofend

\begin{theorem}\label{grund} F\"ur Variable $A$, $B$, $C$ gelten die folgenden
Grund\"aquivalenzen:
\begin{equation*}
\begin{array}{r c l r}
 A \wedge A & \equiv & A &
\mbox{Idempotenz}\index{Idempotenz}\\
 A \wedge B & \equiv & B \wedge A & \mbox{Kommutativit\"at}\index{Kommutativit\"at}\\
  ((A
\wedge B) \wedge C) & \equiv & (A \wedge (B \wedge C)) &
\mbox{Assoziativit\"at}\index{Assoziativit\"at}\\
(A \wedge (A \vee B)) & \equiv & A & \mbox{Absorption}\index{Absorption}\\
(A \wedge (B\vee C)) &\equiv &(A \wedge B) \vee (A \wedge C)
& \mbox{Distributivit\"at}\index{Distributivit\"at}\\
 \perp \wedge \,A  & \equiv & \perp & \mbox{Kleinstes Element}\index{kleinstes Element}\\
 \top \wedge \,A  & \equiv & A & \mbox{Gr\"o\ss tes Element}\index{gr\"o\ss tes Element}
\end{array}
\end{equation*}
\end{theorem}

Da das Assoziativgesetz gilt, sind folgende Abk\"urzungen
wohldefiniert: Sei $I=\{i_m \such m < n\}$ eine nicht-leere endliche
Menge. Wir schreiben
\begin{eqnarray*} \bigwedge_{i \in I } \varphi_i &:=& \varphi_{i_0}
\wedge \dots \wedge \varphi_{i_{n-1}},\\
\bigvee_{i \in I } \varphi_i &:=& \varphi_{i_0} \vee \dots \vee
\varphi_{i_{n-1}},
\end{eqnarray*}
f\"ur irgendeine Klammerung des Ausdrucks auf der rechten Seite, die
aus ihm eine Formel macht. Wieviele solche Klammerungen gibt es?




 Wir setzen
\begin{eqnarray*} \bigwedge_{i \in \emptyset } \varphi_i &:=& \top,\\
\bigvee_{i \in \emptyset } \varphi_i &:=& \perp,
\end{eqnarray*}
Wir benutzen die Schreibweise auch f\"ur Formelmengen, die nicht
durch Indizes beschrieben werden:
$\bigwedge \Phi = \bigwedge_{\varphi \in \Phi} \varphi$ usf.
Im Falle eines unendlichen $\Phi$ gehört $\bigwedge \Phi$ allerdings 
nicht zur Aussagenlogik, sondern zu einer sogenannten infinitären Sprache.

Die Ersetzung ist eine Technik, Formeln von innen her komplexer zu
machen:

\begin{definition} Seien $\varphi$, $\psi$ Formeln, und sei $A$
eine Variable. Dann ist $\varphi(A\backslash \psi)$ (sprich $\varphi$, $A$
ersetzt durch $\psi$) die Formel, die aus $\varphi$ entsteht, indem
jedes Vorkommen von $A$ durch $\psi$ ersetzt wird.
\end{definition}

Wie zeigt man, dass $\varphi(A \backslash \psi)$ tats\"achlich ein Formel ist?

\begin{lemma} Ersetzungslemma.\index{Ersetzungslemma der
Aussagenlogik} Sei $\varphi \equiv \varphi'$ und sei $A$ eine
Variable und $\psi$ eine Formel. Dann ist $\varphi(A\backslash \psi) \equiv
\varphi'(A\backslash\psi)$ und $\psi(A\backslash\varphi) \equiv \psi(
A\backslash\varphi')$.
\end{lemma}

\begin{lemma} $\varphi \vee\neg \varphi$ is allgemeing\"ultig.
Diese Regel wird auch {\em tertium non datur}\index{Tertium non
datur} genannt. Englisch: Excluded middle.
\end{lemma}


\begin{theorem} Es gelten die de Morgan'schen Regeln:\index{De
Morgan'sche Regeln}
\begin{eqnarray*}
\neg \neg A & \equiv & A, \\
\neg(A \vee B) & \equiv & (\neg A \wedge \neg B),\\
\neg(A \wedge B) & \equiv & (\neg A \vee \neg B).\\
\end{eqnarray*}
\end{theorem}
\noindent Beweis: Man rechnet man mit Definition~\ref{erw} nach,
dass $\bar{v}$, angewandt auf die linke Seite, mit $\bar{v}$,
angewandt auf die rechte Seite, f\"ur alle Wahrheitsbelegungen $v$ von
$A$ und $B$ \"ubereinstimmt \proofend

Bemerkung:
Wir haben die de Morgan'schen Regeln separat von den Grund\"aquivalenzen geschrieben, weil sie die Negation beschreiben. Die Grund\"aquivalenzen beschreiben einen distributiven Verband mit gr\"o\ss tem und kleinstem Element. 
Die Negation gibt
die Komplementierung, die aus einem distributiven Verband eine
 Boole'sche Algebra (siehe Abschnitt~\ref{C1.6}) macht.


\begin{definition}\label{literaldef} Ein {\em Literal}\index{Literal} ist eine
Variable oder eine negierte Variable.
\end{definition}

\begin{definition} Eine aussagenlogische Formel $\varphi$ ist in
\em{disjunktiver Normalform}\index{disjunktive Normalform} gdw es $k
\in \N$ und $m_i \in \N$, $i<k$, und Literale $A_{i,j}$, $i<k$, $j<
m_i$, gibt, so dass
$$\varphi= \bigvee_{i<k} \bigwedge_{j < m_i} A_{i,j}.$$
Eine aussagenlogische Formel $\varphi$ ist in \em{konjunktiver
Normalform}\index{konjunktive Normalform} gdw es $k \in \N$ und $m_i
\in \N$, $i<k$, und Literale $A_{i,j}$, $i<k$, $j< m_i$, gibt, so
dass
$$\varphi= \bigwedge_{i<k} \bigvee_{j < m_i} A_{i,j}.$$
\end{definition}

Welcher Normalformtyp gestattet unmittelbares Ablesen der
Erf\"ullbarkeit?

\begin{theorem} Jede Formel ist zu einer Formel in konjunktiver Normalform
und zu einer Formel in disjunktiver Normalform \"aquivalent.
\end{theorem}

\noindent 
Beweis: Simultan f\"ur beide Aussagen, induktiv \"uber den Aufbau
der Formel. Da wir beide Normalformen gleichzeitig durch die
Induktion hochtragen, ist der $\neg$-Schritt automatisch.
Der $\wedge$-Schritt f\"ur die konjunktive NF ist einfach.
Wir zeigen den $\wedge$-Schritt f\"ur die disjunktive NF 
$(\bigvee_{i<k} \bigwedge_{j < m_i} A_{i,j})
\wedge (\bigvee_{i'<k'} \bigwedge_{j' < m'_{i'}} B_{i',j'}) \equiv
 \bigvee_{i<k, i' <k'} (\bigwedge_{j < m_i} A_{i,j} \wedge \bigwedge_{j' < m'_{i'}} 
B_{i',j'})$. Die anderen Schritte zeigt man durch Negieren und Anwendung der
de Morgan'schen Regeln und R\"uckgriff auf die Induktionsvoraussetzung.\proofend

\"Ubung: F\"uhren Sie den $\vee$-Schritt f\"ur die konjunktive NF 
durch.


\begin{corollary}\label{1.29}
Jede \"Aquivalenz l\"asst sich mit Hilfe des
Ersetzungslemmas~\ref{ers} aus den Grund\"aquivalenzen~\ref{grund}
und aus den de Morgan'schen Regeln formal herleiten.
\end{corollary}

\noindent
Beweisskizze: Der Beweis des vorigen Theorems wird aus den
Grundaussagen und Ersetzungen in Grundaussagen gef\"uhrt. Dann darf
man jetzt schon verwenden, dass man mit Hilfe des
Ersetzungslemmas~\ref{ers} aus den Grund\"aquivalenzen~\ref{grund}
formal hergeleitet hat, dass jede der beiden zu untersuchenden
Aussagen in disjunktiver Normalform dasteht. Nun d\"unnt man mit den
Absorptionsgesetzen die Disjunktionsglieder
in $\bigvee_{i<k}\bigwedge_{j < m_i} A_{i,j}$ aus, indem man
die unerf\"ullbaren Disjunktionsglieder (bei denen es $j$, $j'$ gibt mit
$A_{i,j} = \neg A_{i,j'}$)  und 
diejenigen, zu denen es noch ein schw\"acheres Disjunktionsglied
gibt, wegl\"asst. Dann ordnet man die Reihenfolge der minimal
starken Disjunktionsglieder um und ordnet auch die
Konjunktionsglieder innerhalb jedes Disjunktionsglieds beliebig um.
Man pr\"uft ob es eine Umordnung der ersten Formel gibt, so dass
nach der Anwendung des Idempotenzgesetzes auf beiden Seiten, die
erste Formel als Zeichenreihe wie die zweite Formel aussieht.
\proofend

Nat\"urlich kann man \"Aquivalenz von $\varphi$ und $\psi$ auch
einfach semantisch pr\"ufen: Man geht alle Belegungen der Variablen
in beiden Formel durch, und f\"ur jede Belegung $v$ muss gelten
$\bar{v}(\varphi)= W $ gdw $\bar{v}(\psi) = W$. Die semantische
Pr\"ufung wird uns zum Beweis des Satzes~\ref{1.38} dienen.

Wir haben also $\varphi \equiv \psi$ gdw es eine formale Herleitung
der \"Aquivalenz gibt.

\begin{remark} Die skizzierten Berechnungsverfahren sind NP-hart.
(Beweis: Satz von Cook im Kapitel 2.7.) Es ist also unbekannt,
ob es ein polynomiales Verfahren zum Feststellen logischer \"Aquivalenz
gibt.
\end{remark}

\section{Kompaktheit und Entscheidbarkeit}

In desem wichtigen Abschnitt beweisen wir eine Kompaktheitseigenschaft 
für die Aussagenlogik und die Entcheidbarkeit der Menge der erfüllbaren 
Formeln. 
Um nicht zu viel mengentheoretische Technik zu benötigen, beschränken wir 
uns auf abzählbar viele Satzsymbole. Die Analoga für größere Symbolmengen
werden hier nicht bewiesen



\begin{definition}\label{2.12}
Eine Menge $X$ heißt {\em abzählbar} gdw es eine surjektive Funktion
$f \colon {\mathbb N} \to X$ gibt.
\end{definition}

\begin{definition}
Eine Menge $X$ heißt {\em abzählbar'} gdw es eine injektive Funktion
$f \colon X \to
 {\mathbb N} $ gibt.
\end{definition}

\begin{lemma} Abzählbar und abzählbar' sind äquivalent.
\end{lemma}

 Beweis: \glqq $\Rightarrow$'': Sei $f \colon \N \to X$ surjektiv.
 F\"ur $x \in X$ sei $g(x) := \min\{ n \such f(n) = x \}$. Dann ist
 $ g \colon X \to \N$ injektiv, da $f$ eine Funktion ist.

 \glqq $\Leftarrow$'': Sei $g \colon X \to \N$ injektiv. Sei $X \neq
 \emptyset$ und sei $x_0 \in X$. Wir definieren
 \begin{equation*} f(n) = \left\{ \begin{array}{ll}
 x, & \mbox{ wenn } g(x) = n;\\
 x_0, & \mbox{ wenn } n \not \in g{''}X.
 \end{array}
 \right.
 \end{equation*}
 Dann ist $f \colon \N \to X$
 surjektiv.  \proofend

\begin{definition}
Seien $A$ und $B$ Mengen.
 $$A \times B = \{ (a,b) \such a \in A, b \in B\}.$$
Sei $n = \{0, 1, \dots, n-1\} \in \N$. 
$$A^ n = \{ f \such
f \colon n \to A\} = \{\{(0,f(0)), \dots,( n-1,f(n-1))\} 
\such f \colon n \to A\}.$$
\end{definition}
Man identifiziert oft den endlichen Graphen 
$\{(0,f(0)), \dots, (n-1,f(n-1))\}$
mit dem Tupel $(f(0), \dots, f(n-1))$. In diesem Sinne ist also 
$A \times A = A^2$.

\begin{lemma}
$\bigcup_{n\in {\mathbb N}} {\mathbb N}^n$ ist abzählbar. Die Menge
der endlich langen Zeichenreihen (W\"orter) \"uber einem
abz\"ahlbaren Alphabet ist abz\"ahlbar.
\end{lemma}

Beweisskizze: Man zeigt jeweils, z.~B.\ durch
 ein diagnonales Abzählverfahren:
\begin{myrules}
\item[(a)] Wenn $A$ und $B$ abz\"ahlbar sind, dann ist auch $A \times
B$ abz\"ahlbar. 
\item[(b)]
Wenn f\"ur $n \in \N$ die Menge  $A_n$ abz\"ahlbar ist, dann ist auch
$\bigcup_{n\in \N} A_n$ abz\"ahlbar.
\end{myrules}
\proofend

\begin{corollary}
Die Menge der aussagenlogischen Formeln ist abz\"ahlbar.
\end{corollary}


Eine wichtige Tatsache ist der Kompaktheitssatz der Aussagenlogik.

\begin{definition}
 Eine Menge $\Sigma$ von
Formeln ist erfüllbar\index{Erfüllbarkeit in der Aussagenlogik} gdw
es eine Wahrheitsbelegung gibt, die jedes Element von $\Sigma$ erfüllt.
\end{definition}



\begin{theorem} {\em Kompaktheitssatz f\"ur die Aussagenlogik}\index{Kompaktheitssatz f\"ur die Aussagenlogik}.
Sei $\Sigma$ eine abzählbare Menge von Formeln,
so dass jede endliche Teilmenge von $\Sigma$ erfüllbar ist. Dann ist
auch $\Sigma$ erfüllbar.
\end{theorem}

\noindent
Beweis: Nennen wir $\Sigma$ endlich erfüllbar gdw jede endliche Teilmenge von $\Sigma$
erfüllbar ist. Unter Verwendung dieser Definition können wir den Kompaktheitssatz wie folgt
formulieren: Wenn $\Sigma$ endlich erfüllbar ist, dann ist $\Sigma$ erfüllbar.
Der Beweis besteht aus zwei Teilen. Im ersten Teil erweitern wir unsere
 gegebene endlich
 erfülbare Menge $\Sigma$ zu einer maximalen endlich erfüllbaren
Menge $\Delta$.
Im zweiten Schritt verwenden wir $\Delta$, um eine Wahrheitsbelegung zu wählen,
die $\Sigma$ erfüllt.

Wir w\"ahlen eine Liste $\alpha_1, \alpha_2,\dots$ der Menge aller
Formeln, die mit den natürlichen Zahlen indiziert ist.

Wir definieren nun $\Delta_0 = \Sigma$. Für jede natürliche Zahl $n$
definieren wir nun $\Delta_{n+1} = \Delta_n \cup \{\alpha_{n+1}\}$,
wenn dies endlich erfüllbar ist, sonst definieren wir $\Delta_{n+1}
= \Delta_n \cup \{\neg \alpha_{n+1}\}$. Sei $\Delta$ die Vereinigung
der $\Delta_n$.

Wir beweisen nun durch Induktion über $n$: Jedes $\Delta_n$ ist
endlich erfüllbar. Die Induktionsaussage gilt für $n=0$, weil
$\Sigma$ nach Voraussetzung des Satzes endlich erfüllbar ist. Wir
nehmen nun an, dass $\Delta_n$ endlich erfüllbar sei, und zeigen,
dass dann auch $\Delta_{n+1}$ endlich erfüllbar ist. Wir müssen
zeigen, dass $\Delta_n \cup
 \{\alpha_{n+1}\}$ oder $\Delta_n \cup \{\neg \alpha_{n+1}\}$
endlich erfüllbar ist. Wenn dies nicht der Fall ist, können wir
endliche Teilmengen $\Sigma_0$ und $\Sigma_1$ von $\Delta_n$ wählen,
so dass beide, $\Sigma_0 \cup \{\alpha_{n+1}\}$ und $\Sigma_1 \cup
\{\neg \alpha_{n+1}\}$, nicht erfüllbar sind. Dann ist aber
$\Sigma_0 \cup \Sigma_1 \subseteq \Delta_n$ endlich und nicht
erfüllbar, weil jede Wahrheitsbelegung entweder $\alpha_{n+1}$ oder
$(\neg \alpha_{n+1})$ erfüllen muss. Das steht im Widerspruch zu
unserer Induktionsannahme.

Dann ist auch $\Delta$, die aufsteigende Vereinigung der $\Delta_n$,
endlich erfüllbar. Und $\Delta$ ist maximal im folgenden Sinn: Für
jede Formel $\alpha$ ist $\alpha \in \Delta$ oder $\neg \alpha \in
\Delta$.

Nun definieren wir eine Wahrheitsbelegung $v$ wie folgt: Für jedes Satzsymbol $A$ setzen
wir $v(A)=W $ gdw $A \in \Delta$.

Behauptung: Für jede Formel $\varphi$ gilt: $\bar{v}(\varphi)=W$ gdw
$\varphi \in \Delta$.

Wir beweisen die Behauptung durch Induktion über den Aufbau von
$\varphi$. Wenn $\varphi$ ein Satzsymbol ist, dann gilt die
Behauptung aufgrund der Definition von $v$ und von $\bar{v}$. Nun
sei $\varphi= \neg \psi$ und die Behauptung gelte für $\psi$. Dann
ist $\bar{v}(\varphi)=W$ gdw $\bar{v}(\psi)=F$ gdw $\psi \not\in
\Delta $ wegen der Induktionsannahme. $\psi \not\in \Delta$
impliziert aber nun $\neg\psi = \varphi \in \Delta$, da $\Delta$ ja
maximal ist. Umgekehrt gilt auch, wenn $\varphi \in \Delta$ dann
$\psi \not\in \Delta$, da $\Delta$ ja endlich erfüllbar ist. Dehalb
haben wir $\bar{v}(\varphi)=W$ gdw $\varphi \in \Delta$, wie
gewünscht. Die anderen Fälle, in denen $\varphi$ von der Form $(\psi
\wedge \chi)$, $(\psi \vee \chi)$, $(\psi \rightarrow \chi)$, $(\psi
\leftrightarrow \chi)$ ist, sind ähnlich. Wenn Sie die Aufgabe Ü2
über die Junktoren gemacht haben, können Sie sich auf $\vee$ oder
$\wedge$ oder $\rightarrow$ alleine beschränken (nicht jedoch auf
$\leftrightarrow$, wie Ü3 zeigt).

Nun haben wir, dass $v$ eine Wahrheitsbelegung ist, die jede Formel
von $\Delta$ erfüllt und daher erst recht jede Formel von $\Sigma
\subseteq\Delta$ erfüllt. Also ist $\Sigma$ wie gewünscht erfüllbar.
\proofend

\medskip

\begin{corollary} Wenn $\Sigma \models \tau$, dann gibt es ein endliches $\Sigma_0 \subseteq
\Sigma$, so dass $\Sigma_0 \models \tau$.
\end{corollary}

Beweis: Wenn es keine endliche Teilmenge $\Sigma_0$ von $\Sigma$
gibt, die $\varphi$ impliziert, dann ist $\Sigma\cup\{\neg\varphi\}$
endlich erfüllbar, und daher nach dem Kompakheitssatz erfüllbar.
\proofend

\medskip



\begin{myrules}
\item[\"U4.]
Nun eine Aufgabe mit etwas Topologie: Zeigen Sie, dass die Anzahl
der logisch nicht äquivalenten Vervollständigungen einer
konsistenten Menge $C$ aussagenlogischer Formeln entweder endlich
oder $2^\omega$ (dies ist die Mächtigkeit des Kontinuums) ist.

Hinweis: Wir f\"uhren eine Topologie $\tau$ ein auf der Menge aller
Vervollst\"andigungen. Eine Basis $\mathcal B$ f\"ur die Menge
$\tau$ der offenen Mengen ist gegeben durch
\begin{eqnarray*} {\mathcal B} & = & \{
[\varphi ] \such
\varphi \mbox{ Formel}\},\\[1pt]
[\varphi] &=& \{ \Sigma \such \varphi \in \Sigma\}.
\end{eqnarray*}
Dies ist eine Basis aus clopen (abgeschlossenen und offenen) 
 Mengen. Nach dem Kompaktheitssatz ist
der Raum $$(\{ \Sigma \such \Sigma \mbox{ Vervollst\"andigung von }
C\}, \tau)$$ kompakt. Kompakte R\"aume mit Basen aus clopen Mengen
hei\ss en auch kompakte nulldimensionale R\"aume, 
sind entweder endlich oder betten die Äste eines perfekten Baumes (ein
perfekter Baum\index{perfekter Baum} ist ein 
abz\"ahlbar unendlich hoher bin\"arer Baum, auch $2^{<\omega}$ genannt)
ein \cite{Engelking}.
\end{myrules}

Man k\"onnte nat\"urlich Def.~\ref{1.1} dahingegehend \"andern, dass
man \"uberabz\"ahlbar viele Variablen zu\"asst, z.B., $A_r$, $r \in
\R$.

\begin{theorem}
Der Kompaktheitssatz gilt auch für überabzählbare
Mengen aussagenlogischer Formeln.
\end{theorem}

\noindent Beweis durch transfinite Induktion. Dies ist eine
Technik aus der Mengenlehre. Eine rudimentäre Einführung gibt es 
in Kapitel~\ref{C7}. 


\begin{theorem}\label{1.38}
Die Menge der aussagenlogischen Tautologien ist entscheidbar\index{entscheidbar}.
\end{theorem}

\noindent Beweis: Für eine gegebene Formel gibt es einen Algorithmus oder eine
effektive Prozedur, die in endlicher Zeit entscheidet, ob $\varphi$
eine Tautologie ist oder nicht. Ein mögliches Verfahren sieht wie folgt aus:
 Wir erstellen eine Liste aller
Möglichkeiten, den in $\varphi$ auftretenden Satzsymbolen
Wahrheitswerte zuzuordnen.
 Für jede dieser Möglichkeiten $v$ berechnen wir den sich ergebenden Wahrheitwert von $\varphi$,
$\bar{v}(\varphi)$. Wenn dieser Wahrheitswert für alle $v$ $W$ ist,
dann ist $\varphi$ eine Tautologie, sonst nicht. 
Ein weiteres Verfahren kann man aus einen Beweis der Korollars
~\ref{1.29} herleiten. \proofend

Wir werden im Kapitel \"uber Komplexit\"atstheorie lernen, von
welcher seitlichen Komplexit\"at der gerade geschilderte Algorithmus
ist.

\ssection{Boole'sche Algebren}\label{C1.6}

Die Strukturklasse der Boole'schen Algebren ist eng mit der
 Aussagenlogik verwandt.

\begin{definition}
Eine {\em Boole'sche Algebra}\index{Boole'sche  Algebra} $(B, 0, 1,
\sqcap, \sqcup, {}^c)$ ist eine Menge $B$ mit zwei ausgezeichneten
Elementen 0 und 1 und Operationen $\sqcap, \sqcup \colon B\times B
\to B$ und ${}^c \colon  B\to B$, f\"ur die folgenden Gleichungen
gelten: {\small
\begin{equation*}
\begin{array} {r c l r c l l}
a \sqcap a & = & a &  a \sqcup  a & = &  a & (1.1) \mbox{ Idempotenz}\\
 a \sqcap  b & = &  b \sqcap  a &  a
\sqcup  b &  = & b \sqcup  a & (1.2) \mbox{ Kommutativit\"at}\\
 (a \sqcap  b) \sqcap c & = & a \sqcap  (b \sqcap  c)& (a
\sqcup  b) \sqcup  c & = & a \sqcup  (b \sqcup c) & (1.3) \mbox{ Assoziativit\"at}\\
 a \sqcap (a \sqcup
b) & = & a & a \sqcup (a \sqcap b) &  =&  a & (1.4) \mbox{ Absorption}\\
 a \sqcap (b \sqcup c) &=&
(a \sqcap b) \sqcup  (a \sqcap c) & a \sqcup  (b \sqcap  c) & =& (a
\sqcup b) \sqcap  (a \sqcup c) & (1.5) \mbox{ Distributivit\"at}\\
 0 \sqcap  a & = & 0 &  1 \sqcup  a &= & 1 & (1.6) \mbox{ Extrema}\\
  a
\sqcap  a^c &=&  0 &   a \sqcup  a^c & = & 1 &(1.7) \mbox{
Komplementierung}\index{Komplementierung}
\end{array}
\end{equation*}}
\end{definition}

 Die Axiome
entsprechen den grundlegenden \"Aquivalenzen von Satz~\ref{grund}.
Das zweite Distributivit\"atsaxiom ist \"uberfl\"ussig. In
Boole'schen Algebren gelten die de Morgan'schen Regeln. Eine
Struktur $(V, \sqcup, \sqcap)$, in der (1.1), (1.2), (1.3) und (1.4)
gelten, ist ein {\em Verband}\index{Verband}. Wenn $(P,\leq)$ eine
partielle Ordnung ist, in der je zwei Elemente ein Supremum (oder Maximum)
und ein
Infimum (oder Minumum) haben, ist $(P, \inf, \sup)$ ein Verband. 
Jeder Verband hat
diese Gestalt, wenn man $a \leq b$ durch $a \sqcup b = a$ oder,
\"aquivalent, durch $a \sqcap b = b$ definiert. Die Gleichungen
(1.6) bedeuten, dass 0 und 1 kleinstes und gr"o\ss tes Element sind;
(1.7) dr\"uckt aus, dass $a^c$ ein Komplement von $a$ ist. In einem
distributiven Verband\index{distributiver Verband}, d.h. in einem
Verband, in dem (1.5) gilt, gibt es immer nur h\"ochstens ein
Komplement. Eine Boole'sche Algebra ist also  ein \glqq
komplement\"arer distributiver Verband''.

\medskip

Beispiel 1: Sei $X$ eine Menge. Dann ist die Potenzmenge ${\mathcal
P}(X)$ zusammen mit den ausgezeichneten Elementen $\emptyset$ und
$X$ und den Operationen Durchschnitt, Vereinigung und Komplement
$A^c = X \setminus A$ eine Boole'sche Algebra, die {\em
Potenzmengenalgebra}\index{Potenzmengenalgebra} von $X$.

\begin{theorem} Stone.
Jede endliche Boole'sche Algebra ist isomorph zu einer
Potenzmengenalgebra. Jede unendliche Boole'sche Algebra ist isomorph
zu einer Unteralgebra einer Potenzmengenalgebra. \end{theorem}

\noindent
Beweis: Sei $B$ eine endliche Boole'sche Algebra. Wie definieren: $x
\in B$ ist ein {\em Atom}\index{Atom}, genau dann wenn $(\forall y \leq x )(y=x
\vee y = 0)$. Sei $A \subseteq B$ die Menge der Atome von $B$. Die
Abbildung $\varphi \colon (B,\sqcup, \sqcap, {}^c, 0,1)  \to
({\mathcal P}(A), \cup,\cap, {}^c, \emptyset, A)$ mit $\varphi(b) =
\{ x \in A \such x \leq b\}$ ist ein Isomorphismus der beiden
Boole'schen Algebren, d.h. $\varphi$ ist treu bez\"uglich aller
Funktionen und Konstanten und bijektiv.


F\"ur den allgemeinen Fall definieren wir: $U \subseteq B$ ist ein
{\em Ultrafilter auf $B$}\index{Ultrafilter auf einer Boole'schen Algebra
$(B,0,1,\sqcup_B,\sqcap_B,{}(^c)^B)$}
gdw $U$ gegen $\sqcap_B$ abgeschlossen ist und $(\forall u \in
U)((\forall v \in B)(u\sqsubseteq_B v \rightarrow v \in U)$ und $0
\not\in U$ ist und $U$ $\subseteq$-maximal mit diesen Eigenschaften
ist.  Sei $S(B) = \{U \such U$ Ultrafilter auf $B\}$, der sogenannte
{\em Stoneraum}\index{Stoneraum} von $B$. Wir definieren $\varphi
\colon B \to {\mathcal P}(S(B))$ durch $\varphi(b) = \{ U \in
S(B)\such b \in U \}$. Man rechnet wieder nach, dass $\varphi$ eine
Einbettung von $(B,0,1,\sqcup,\sqcap, ^c)$ 
nach $({\mathcal P}(S(B)), \emptyset, S(B), \cup,\cap, X \mapsto S(B) \setminus X)$ ist (zu Isomorphismus fehlt nur die Surjektivit\"at).
\proofend

 Beispiel 2: Die Elemente der
{\em Lindenbaumalgebra}\index{Lindenbaumalgebra} $LA_n$ sind
\"Aquivalenzklassen $\varphi/\equiv$ von Formeln $\varphi$, die
h\"ochstens die Variablen $A_0, . . . ,A_{n-1}$ enthalten. Wenn man
definiert
\begin{eqnarray*}
1 & = &  \top/\equiv \\
0 & = & \perp/\equiv \\
(\varphi/\equiv) \sqcap  (\psi/\equiv) & = &  (\varphi  \wedge
\psi)/\equiv \\
 (\varphi/\equiv) \sqcup (\psi/\equiv) & = & (\varphi \vee \psi)/\equiv\\
  (\varphi/\equiv)^c & = & \neg \varphi/\equiv,
  \end{eqnarray*}
wird $(LA_n, \sqcup, \sqcap, {}^c, \top, \perp)$ zu einer
Boole'schen Algebra. $LA_n$ is isomomorph zur Potenzmengenalgebra
einer Menge mit $2^n$ Elementen, hat also $2^{2^n}$ Elemente. $LA_n$
wird von den $A_n/\equiv$ frei erzeugt\index{freie Erzeugung}, d.h.
jede aus den $A_i$ gebildeten  erf\"ullbare Formel $\varphi$
gen\"ugt in der Lindenbaumalgebra der Gleichung  $(\varphi/\equiv)
\neq 0$.



\schapter {Komplexitätstheorie}\label{C2}

\ssection{Turingmaschinen}\label{S2.1}

Das Gebiet \glqq Rekursionstheorie'', seit einigen Jahren  auch \glqq
Berechenbarkeitstheorie'' genannt, untersucht die  prinzipielle
Berechenbarkeit von Problemen aus der Informatik. 
Zum Beispiel nennen wir das Problem der Hamiltonpfade: Welche endlichen Graphen 
haben einen Pfad, der jeden
Vertex genau einmal berührt?
Ein Problem in
diesen Sinne ist (nach einer geeigneten Kodierung, 
in unserem Beispiel kann man die Graphen als endliche Matrizen über $\N$ kodieren und diese
Matrizen wiederum als naürliche Zahlen) eine Teilmenge von
${\mathbb N}$. Da es nur abzählbar viele Programme gibt, zeigt ein 
Abz\"ahlbarkeitsargument, dass es
nicht berechenbare Teilmengen von $\N$ gibt.

\smallskip

 Wenn man schon weiß, dass $A\subseteq {\mathbb N}$
berechenbar ist, kann man weiter fragen: Wieviel Zeit braucht ein
Algorithmus, um die Frage \glqq Ist $n \in A$?'' zu  beantworten?
Fragen dieser Art gehören in das Gebiet \glqq Komplexitätstheorie''.

\smallskip

Es gibt viele Modelle, Algorithmen exakt zu fassen: C$^{++}$,
Perlscripts, Ihre Lieblingsprogrammiersprache, Turing-Maschinen,
Registermaschinen, Flussdiagramme. Alle diese Modelle werden hier
jeweils auf Maschinen mit unbegrenztem Speicherplatz idealisiert.
Mit viel Geduld und schrittweiser Übersetzungsarbeit kann man
zeigen, dass alle gängigen Berechnungsmodelle gleich stark sind: Was
unter einem Modell berechenbar ist, bleibt in jedem anderen Modell
berechenbar. Dies ist die {\em Church'sche These}, dass es genau einen
Begriff \glqq rekursiv''\index{rekursiv} (auch
berechenbar\index{berechenbar}, effektiv\index{effektiv} oder
effektiv berechenbar\index{effektiv berechenbar} oder
entscheidbar\index{entscheidbar} genannt) gibt.

Und mit noch geduldigerer Übersetzungsarbeit kann man zeigen, dass
auch die Zahl der Berechnungsschritte  bis auf konstante Faktoren
und kleine polynomiale Verzerrungen recht unabhängig vom gewählten
(deterministischen oder nicht determinsistischen) Berechnungsmodell ist. 
Wir verlieren also nicht
nicht viel, wenn wir uns zunächst auf das Modell der
Turing-Berechnungen beschränken. Bei diesen betrachten wir
deterministische und nicht deterministische Berechnungsmodelle.
Einige der
wichtigsten Komplexit\"atsklassen werden mit Hilfe der Zeitkomplexit\"at nicht 
deterministischer Algorithmen definiert.

Bildlich gesprochen hat eine Turingmaschine\index{Turingmaschine}
ein nach rechts unendlich langes Band und einen Lesekopf, der auf
das Band Symbole schreiben und sich nach links und nach rechts
bewegen kann. Am Anfang enthält das Band eine endliche Inputfolge
als Inschrift, die das Zeichen \glqq leer'' (wir nehmen $\emptyset$
als Zeichen f\"ur \glqq leer'') nicht enthält, und ist sonst leer.
Die Maschine rechnet, bis sie einen Output $q_{ak}$ (\glqq
akzeptieren'', \glqq ja'') oder $q_{ab}$ (\glqq ablehnen'', \glqq
nein'') liefert, oder rechnet unendlich lange, ohne zu stoppen.

\setlength{\unitlength}{0.6cm}
\begin{picture}(21,6)
\begin{thicklines}

\put(1.2,2.5){\line(1,0){18}}

\put(1.2,0.5){\line(0,1){2}} \put(2.0,1.3){$($}
\put(3.2,0.5){\line(0,1){2}} \put(4.0,1.3){$\ast$}
\put(5.2,0.5){\line(0,1){2}} \put(6.0,1.3){$\ast$}
\put(7.2,0.5){\line(0,1){2}} \put(8.0,1.3){$\stick$}
\put(9.2,0.5){\line(0,1){2}} \put(10.0,1.3){$\ast$}
\put(11.2,0.5){\line(0,1){2}} \put(12.0,1.3){$)$}
\put(13.2,0.5){\line(0,1){2}} \put(14.0,1.3){$\blank$}
\put(15.2,0.5){\line(0,1){2}} \put(16.0,1.3){$\blank$}
\put(17.2,0.5){\line(0,1){2}} \put(18.0,1.3){$\dots$}
\put(1.2,0.5){\line(1,0){18}}



\end{thicklines}

\put(5.2,5.5){\line(1,0){2}} \put(5.2,3.5){\line(0,1){2}}
\put(6.0,4.3){$q$} \put(6.2,3.5){\vector(0,-1){1}}
\put(5.2,3.5){\line(1,0){2}} \put(7.2,3.5){\line(0,1){2}}
\end{picture}


\begin{definition}
Eine Turingmaschine (TM) ist ein 7-Tupel $M=(Q,\Sigma, \Gamma,
\delta,$ $q_0,$ $q_{ak},q_{ab})$, das folgende Bedingungen erfüllt:

\begin{myrules}
\item[1.] $Q$ ist die endliche Menge der {\em Zustände}\index{Zustand}.
\item[2.] $\Sigma$ ist das endliche {\em Eingabe-Alphabet}\index{Eingabe-Alphabet}, das das Symbol $\blank$ nicht enthält.
\item[3.] $\Gamma$ ist das {\em Band-Alphabet}\index{Band-Alphabet}, 
das $\blank$ enthält und $\Sigma$ als Teilmenge hat.
\item[4.] $\delta \colon Q \times \Gamma \to Q \times \Gamma \times\{L,R\}$ ist die
{\em Übergangsfunktion}\index{Übergangsfunktion}, auch {\em
Turingtafel}\index{Turingtafel} genannt.
\item[5.] $q_0\in Q$ ist der Anfangszustand\index{Anfangszustand}.
\item[6.] $q_{ak}\in Q$ ist der Akzeptierungszustand\index{Akzeptierungszustand}.
\item[7.] $q_{ab}\in Q$, $q_{ab}\neq q_{ak}$, ist der Ablehnungszustand\index{Ablehnungszustand}.
\end{myrules}
\end{definition}


\begin{definition} Der sogenannte {\em Kleene-Stern}\index{Kleene-Stern}
Sei $\Sigma$ eine Menge. Dann ist
$$\Sigma^\ast= \{ (a_0, \dots, a_{n-1}) \such n \in \N, a_i \in
\Sigma\}$$ die Menge der endlichen Tupel aus $\Sigma$, die auch
{\em W\"orter \"uber $\Sigma$}\index{Wort} genannt werden.
\end{definition}
Wir lassen \"ublicherweise Kommata und Klammern weg, wenn wir
W\"orter schreiben $(a_0,\dots, a_{n-1}) = a_0\dots a_{n-1}$. 
Dies setzt natürlich die Wohlunterscheidbarkeit der Buchstaben voraus.

Eine Turingmaschine 
$M$ rechnet anschaulich gesprochen
 wie folgt: Ein Input ist von der Form $w= w_1w_2 \dots
w_n \in \Sigma^*$. Am Anfang der Berechnung ist $w$ auf die ersten
$n$ Zellen des Bandes geschrieben und der Rest des Bandes ist
unbeschriftet. Der Lesekopf beginnt auf der ersten Zelle des Bandes.
Dann verläuft die Berechnung nach der Übergangsfunktion wie in Definition \ref{2.3} bis \ref{2.5} beschrieben. Auf der
ersten Zelle des Bandes ist die Bewegung $ L$ des Lesekopfes nicht
erlaubt, er bleibt dann nur stehen. Die Berechnung fährt fort, bis
$M$ entweder in den Zustand $q_{ab}$ oder $ q_{ak}$ eintritt. Genau
in diesen beiden Zuständen hält $M$. Sonst fährt $M$ auf immer fort.

\begin{definition}\label{2.3}
Eine {\em Konfiguration} von $M$ ist eine Folge $uqv \in \Gamma^*
\times Q \times \Gamma^*$.
\end{definition}

Die Bedeutung ist: $M$ ist im Zustand $q$, das Wort $u$ steht links vom
Lesekopf auf dem Band und und rechts davon steht das Wort $v$, der Lesekopf
steht auf dem ersten Symbol von $v$. Wir verwenden hier $a$, $b$, $c$ f\"ur
Buchstaben und $u$, $v$ f\"ur W\"orter. 


\begin{definition}\label{nachf}
Seien $u$, $v$ W\"orter, und $a$, $b$, $c$ Buchstaben.  Ein
Konfiguration $uaqbv$ hat als {\em Nachfolgerkonfiguration}
\begin{eqnarray*} uq'acv  &\mbox{ gdw }&  \delta(q,b) =(q',c,L), \mbox{ und}\\
uacq'v & \mbox{  gdw }& \delta(q,b) =(q',c,R).
\end{eqnarray*}

Ein Konfiguration $qbv$ hat als Nachfolgerkonfiguration
\begin{eqnarray*}
q'cv  &\mbox{ gdw }& \delta(q,b) =(q',c,L), \mbox{ und }\\
cq'v  &\mbox{ gdw }& \delta(q,b) =(q',c,R).
\end{eqnarray*}
\end{definition}

Nun folgt eine sehr wichtige dreiteilige Definition:

\begin{definition}\label{2.5}
\begin{myrules}
 \item[(1)]
 $M$ {\em akzeptiert}\index{akzeptieren}  den Input $w$ gdw 
es ein $k \in \N$ und eine Folge
von Konfigurationen $C_0$, $C_1$, \dots, $C_k$ gibt, so dass die
folgenden Bedingungen erfüllt werden:
\begin{myrules}
\item[1.] $C_0$ ist die {\em Anfangskonfiguration}\index{Anfangskonfiguration} $q_0w$ von $M$.
\item[2.] $C_{i+1}$ ist die  {\em Nachfolgerkonfiguration}
\index{Nachfolgerkonfiguration} von $C_i$ für alle $i$.
\item[3.] $C_k$ ist die Konfiguration mit dem Zustand $q_{ak}$.
\end{myrules}

\item[(2)] Sei $M$ eine TM, die angesetzt auf jeglichen Input, immer
nach endlich vielen Schritten hält. (Für Kenner: Wenn man diese
Forderung weglässt, dann werden auch rekursiv aufzählbare Mengen
Akzeptierungsmengen. Aber wir möchten hier, dass alle
Akzeptierungsmengen rekursiv entscheidbar sind). Die Menge der
Folgen aus $\Sigma$, die $M$ akzeptiert, wird die Akzeptierungsmenge
$A=A(M)$ genannt. Wir sagen auch $M$ akzeptiert $A$, wenn $A =
A(M)$.

\item[(3)] Ein Menge $A\subseteq \Sigma^\ast$ hei\ss t {\em Turing-berechenbar}
\index{Turing-berechenbar} gdw es eine auf jedem Input nach endlich
vielen Schritten stoppende Turingmschine $M$ gibt, so dass $A=A(M)$.
\end{myrules}
\end{definition}

Nach der Church'schen These kann man diese exakte Definition nun als
Definition von \glqq berechenbar'' nehmen. Wir werden das von nun an
tun.

\ssection{Einige Beispiele von Turingmaschinen}

Unsere Beispiele werden nicht genau in den eben beschriebenen Rahmen
eingepasst, sondern eher intuitiv beschrieben.

\medskip

{\bf Beispiel 1}: Ein $M$ mit $A(M) = \{ 0^{2^n} \such n \in
{\mathbb N}\}$.

Sei ein Input $w$ gegeben. Sei $\Sigma = \{0\}$, $\Gamma=\{0,{\tt
x},\blank\}$.

\nothing{
1. Pr\"ufe, on das Wort die Form $0x^k$
(dann wird $k= 2^n-1$ sein beim $n$-ten Schleifendurchlauf)
 hat. Wenn ja, akzeptiere.
 Wenn nein, gehe zur\"uck an den linken Rand.

2. Gehe von links nach rechts \"uber das Wort und schreibe $x$ 
statt jeder zweiten 0.
Wenn nach dem Ersetzen einer paarigen 0 ein Endst\"uck der 
Form $x^k0x^\ell$
(dann wird $k= \ell = 2^n-1$ sein beim $n$-ten Schleifendurchlauf)
hat, lehne ab.
Sonst gehe zur\"uck nach rechts. Gehe zu Schritt 1.
}
 
1. Gehe von nach rechts das Band entlang und setze jede zweite 0
durch $x$.

2. Wenn die Anzahl der Nullen ungerade und größer 1 ist, lehne $w$
ab.

3. Wenn das Band eine einzige $0$ enthält, dann akzeptiere den Input
$w$.

4. Gehe zum Anfang des Bandes zurück.

5. Wiederhole Schritt 1.

Zustände $\{q_0,q_{ak},q_{ab},q_1,q_2,q_3,q_4\}$. Dank xy-pictures
haben wir nun folgende Skizze

\bigskip

$$\xymatrix{
& & & *+[o][F-]{q_4}\ar@(ul,u)^{0,{\tt x}\rightarrow L}
\ar[dl]_<<{\blank\rightarrow R} &\\
*+[o][F-]{q_0} \ar[rr]_{0 \rightarrow \blank,R}  \ar[d]^{\blank,{\tt x}\rightarrow R}
&& *+[o][F-]{q_1} \ar[rr]_{0\rightarrow {\tt x},R} \ar[d]^{\blank
\rightarrow R} \ar@(ul,u)^{{\tt x}\rightarrow R} &&
*+[o][F-]{q_2} \ar@/_/[d]_{0\rightarrow  0,R}
\ar@(ur,r)^{{\tt x}\rightarrow R} \ar[ul]_{\blank\rightarrow L}\\
*+[o][F-]{q_{ab}} && *+[o][F-]{q_{ak}} && *+[o][F-]{q_3}
\ar@/_/[u]_{0 \rightarrow {\tt x},R} \ar@(dr,r)_{{\tt x}\rightarrow
R} \ar@/^1pc/[llll]^{\blank \rightarrow L}& }$$

\nothing{
\bigskip

Die Übergangsfunktion von $M$:

$q_0$: auf der ersten Zelle:\\
$\delta(q_0,0) =  (q_1,\blank,R)$\\
$\delta(q_0,\blank) =  (q_{ab},\blank,R)$\\
$\delta(q_0,{\tt x}) =  (q_{ab},{\tt x},R)$

$q_1$: am Anfang der Reihe, auf der 2. Zelle, prüfen, ob noch andere
Buchstaben au\ss er ${\tt x}$ auf dem Band stehen:
\\
$\delta(q_1,0) =  (q_2,{\tt x},R)$\\
$\delta(q_1,\blank) =  (q_{ak},\blank,R)$\\
$\delta(q_1,{\tt x}) =  (q_1,{\tt x},R)$

$q_2$: ungerader Zustand, aber nicht auf dem linkesten Platz, 0 bleibt:\\
$\delta(q_2,0) =  (q_3,0,R)$\\
$\delta(q_2,\blank) =  (q_4,\blank,L)$\\
$\delta(q_2,{\tt x}) =  (q_3,{\tt x},R)$

$q_3$: gerader Zustand, aber nicht am linkesten Platz,
wechselt sich mit $q_2$ ab:\\
$\delta(q_3,0) =  (q_2,{\tt x},R)$\\
$\delta(q_3,\blank) =  (q_{ab},\blank,R)$\\
$\delta(q_3,{\tt x}) =  (q_3,{\tt x},R)$

$q_4$:  gehe zurück nach links, bis zu $\blank$ (das ja in der
ersten Zelle
steht):\\
$\delta(q_4,0) =  (q_4,0,L)$\\
$\delta(q_4,\blank) =  (q_1,\blank,R)$\\
$\delta(q_4,{\tt x}) =  (q_4,{\tt x},L)$\\
}

Jedes Mal, wenn $M$ Schritt 1 wiederholt, dividiert $M$ die Anzahl
der Nullen durch 2. Die Maschine sieht, ob die Anzahl der Nullen
gerade oder 1 ist, wenn nicht, lehnt sie ab. Wenn $M$ genau eine
Null sieht, dann akzeptiert $M$ den Input.


\medskip

{\bf Beispiel 2}: Ein $M$ mit $A(M) = \{w \#w \such w \in
\{0,1\}^*\}$.

Sei ein Input $w$ gegeben.

1. $M$ schaut sich $w$ an, um zu überprüfen, ob $w$ genau ein $\#$
Symbol enthält. Wenn nicht, lehnt $M$ $w$ ab.

2. $M$ geht auf dem Band hin und her und überprüft, ob entprechende
Zellen zu  beiden Seiten von $\#$ dasselbe Symbol enthalten. Wenn
nicht, lehnt $M$ $w$ ab. $M$ löscht Symbole, nachdem sie überprüft
wurden, um in Auge zu behalten, welche Symbole einander entsprechen.
Vorschlag: $Q \supset\Sigma\times Q'$, um das Gelesene als Zustand
im Gedächtnis zu behalten.

3. Wenn alle Symbole zur linken Seite von $\#$ gelöscht sind,
überprüft $M$, ob kein Symbol auf der rechten Seite von $\#$ übrig
bleibt. Wenn ja, abzeptiert $M$ $w$.


Bemerkung: Ein \"Ubergangsdiagramm findet sich im Buch von Sipser
in Kapitel 3.1.
\medskip



{\bf Beispiel 3}: Ein $M$ mit $A(M) = \{a^i b^j c^k \such i \cdot j
= k \mbox{ und } i,j,k >0\}$.

Sei ein Input $w$ gegeben.

1. $M$ schaut sich $w$ an, um zu überprüfen, ob $w$ von der Form
$a^i b^j c^k$ ist. Wenn nicht, lehnt $M$ $w$ ab.

2. Der Lesekopf geht zum Anfang des Bandes.

3. $M$ löscht ein $a$, und sein Lesekopf geht nach rechts, bis ein
$b$ auftritt. Dann löscht $M$ ein $b$ und ein $c$, abwechselnd, bis
kein $b$ mehr übrigbleibt.

4. $M$ schreibt die $b$ wieder hin, und wiederholt Schritt 3. Wenn
kein $a$ mehr da ist, überprüft $M$ on kein $c$ mehr da ist. Wenn
ja, akzeptiert $M$ $w$, und im anderen Fall lehnt $M$ $w$ ab.
\medskip

{\bf Beispiel 4}: Ein $M$ mit $A(M) = \{\# x_1 \#x_2 \dots \# x_\ell
\such \forall  i\neq  j ( x_i\in \{0,1\}^* \wedge x_i \neq x_j)\}$.

Angesetzt auf einen Input $w$, arbeitet $M$ mit zwei Marken, d.h.
zwei neuen Zeichen, die auch beide dasselbe Zeichen sein köennen.
Ein markiertes $\#$ ist eine Zelle, in der eine Marke (statt $\#$)
steht. Eine Marke bewegen heißt, dass an ihre alte Stelle wieder
$\#$ geschrieben wird.

1. $M$ schreibt eine Marke auf das erste Bandsymbol. Wenn das Symbol
$\blank$ ist, akzeptiert
 $M$ $w$. Wenn das Symbol kein $\#$ ist, lehnt $M$ $w$ ab. Sonst geht $M$ zum nächsten
Schritt über.


2. $M$ geht nach rechts zum nächsten $\#$ und schreibt eine Marke
darauf. Wenn es kein zweites $\#$ gibt, abzepiert $M$ $w$. Sonst
gibt es nun zwei Marken, die linke und die rechte genannt.

3. $M$ vergeicht die zwei Folgen auf den rechten Seiten der
markierten $\#$en.  Wenn sie übereinstimmen, lehnt  $M$ $w$ ab.

4. $M$ bewegt die rechte Marke zum nächsten $\#$-Symbol. Wenn die
rechte Marke schon vor einem $\blank$ steht, bewegt $M$ die linke
Marke zum ihr nächstfolgenden $\#$-Symbol und holt die rechte Marke
zurück auf das der linken Marke nächstfolgende $\#$-Symbol. Wenn es
kein solches nächstfolgendes $\#$ gibt, auf das die rechte Marke
zurückgeholt werden kann, dann akzeptiert $M$ $w$.

5. $M$ wiederholt Schritt 3.


\begin{myrules}
\item[\"Ubung] K\"onnte man die Beispiele auch programmieren, wenn
die Turingmaschine nicht schreiben darf? Welche Mengen kann eine
Turingmaschine, die nicht schreiben darf, akzeptieren? Ungeduldige
Leser finden die Anwort mit \glqq google'' unter \glqq
Schleifenlemma'' oder ``Pumping Lemma''.
\end{myrules}

\ssection{Mehrbandturingmaschinen}\label{S2.3}
 Es gibt mehrere
Varianten zu Turingmaschinen, die sich jedoch in in der Klasse der
akzepierten Mengen nicht unterscheiden. Eine Mehrbandturingmaschine
ist eine TM mit mehreren Bändern. Jedes Band hat einen eigenen
Lesekopf. Am Anfang ist der Input auf Band 1 geschrieben und die
anderen Bänder sind leer. Die Übergangsfunktion beschreibt die
gleichzeitige Arbeit aller $k$  Leseköpfe:
$$\delta \colon Q \times\Gamma^k \to Q \times \Gamma^k \times
\{L,R\}^k,$$ wenn $k$ die Anzahl der Bänder ist. Der Ausdruck
$$\delta(q_i,a_1,\dots,a_k) = (q_j,b_1,\dots,b_k,L,R,\dots L)$$
bedeutet: Falls die TM im Zustand $q_i$ die Einträge
$(a_1,\dots,a_k)$ liest, dann schreiben ihre Leseköpfe die Symbole
$(b_1,\dots,b_k)$ in diese Zellen, und bewegen sich wie beschrieben
nach rechts oder links und die Maschine geht in den Zustand $q_j$.
Wir beschr\"anken uns hier wieder auf Turingmaschinen, die auf jedem
Berechnungsast nach endlich vielen Schritten stoppen.



Falls der Lesekopf auf dem ersten Feld des Bandes steht, bleibt er
beim Befehl $L$ einfach auf demselben Feld.

\"Ahnliches f\"ur die Bewegungen des Lesekopfes nach rechts. Die
Nachfolgerkonfiguration kann l\"anger sein als ihr Vorg\"anger, wenn
der Lesekopf nach rechts in die Region, wo bis jetzt nur $b$'s
stehen,  l\"auft.




\begin{theorem}\label{Baenderreduktion}
Zu jeder Mehrband-TM gibt es eine Einband-TM, die dieselbe Menge
akzeptiert.
\end{theorem}

Der Beweis wird durch Programmieren einer Turingtafel gef\"uhrt.
Siehe \cite[Theorem~3.8]{sipser}. Um den Kombinationen der Bewegungen der
verschiedenen Lesek\"opfe Herr zu werden, wird der Lesekopf nach
links bewegt, nur wenn alle Lesek\"opfe sich nach links bewegen.
Sonst wird der Lesekopf nach rechts bewegt, und die B\"ander, auf denen sich die jeweiligen Einzellesek\"opfe nach links bewegen sollten, werden statt dessen
um zwei Felder nach rechts ger\"uckt.

\smallskip

  Der Entscheidbarkeitsbegriff
hängt also nicht von der Anzahl der Bänder ab, obwohl man mit höhere
Bänderzahl vielleicht ``eleganter'' und ``schneller'' rechnen kann.
Die Schnelligkeit werden wir mathematisch durch den Begriff
``Zeitkomplexität'' erfassen.

\ssection{Nicht deterministische Turingmschinen}

Bei nicht-deterministischen\index{nicht-deterministisch} Maschinen
ist der Zielbereich der Übergangsfunktion $\delta$ nun die
Potenzmenge ${\mathcal P}$ des früheren Zielbereichs:
$$\delta \colon Q \times \Gamma \to {\mathcal P}(Q\times \Gamma\times\{L,R\}).$$
Die Interpretation einer Berechnung ist nun ein Baum, der sich von
jeder Konfiguration aus genau in alle Konfigurationen, die durch
Punkte in der Menge $\delta$ beschrieben werden, verzweigt. Wenn ein Ast
dieses Baumes zum Akzeptierungszustand führt, dann akzeptiert die
Maschine den Input.



Da obige Definition in Worten recht knapp ist, 
geben wir hier noch eine ausf\"uhrliche Definitionen
des nicht deterministischen Berechnens:

\begin{definition} Eine nichdeterministische {\em Turingmaschine} ist ein 7-Tupel
$$M= (Q, \Sigma, \Gamma, b, q_0, S, F, \delta)$$
dessen Komponenten die folgenden Bedeutungen haben:

\begin{myrules}
\item[$Q$:] ist die nicht leere endliche Menge der Zustände,
\item[$\Gamma$:] ist die nicht leere endliche Menge der Bandsymbole,
\item[$\Sigma$:] $\Sigma \subseteq\Gamma$ ist die Menge der Eingabesymbole,
\item[$\blank$:] das Leersymbol, $\blank \in \Gamma\smallsetminus \Sigma$. Im Anfangszustand
stehen in allen bis auf endlich vielen Feldern Leerzeichen.
\item[$q_0$:] $\in Q$ ist der Anfangszustand,
\item[$S$:] $S \subseteq Q$, die Menge der Stopp\-zust\"ande,
\item[$F$:] $F \subset S$ die Menge der akzeptierenden Zust\"ande,
\item[$\delta$:] die \"Ubergangsfunktion $\delta \colon 
(Q\smallsetminus S) \times \Gamma \to
{\mathcal P}(Q\times \Gamma \times \{R,L\})$. $\delta(q,X)= (p,Y,D)$
bedeutet: im Zustand $q$ wird $X$ gelesen und durch $Y$
überschrieben, die neue Zustand ist $q$, und der Lesekopf geht in
Richtung $D$.
\end{myrules}
Wir betrachten nur nichtdeterministische Turingmaschinen, die l\"angs jedes Berechnungsastes stoppen. 

\end{definition}



\begin{definition}
Die Fortsetzung von $\delta$ auf Konfigurationen:

Konfigurationsbeschreibungen (IDs- instantaneous descriptions). Eine
Konfiguration beschreibt die Stellung des Lesekopfes, den Zustand
$q$ und die Bandinschrift vom linken Rand bis zur Stellung des
Lesekopfes oder bis zur ersten Stelle, rechts von der nur noch $b$'s
stehen, je nachdem, welches weiter rechts liegt.  Üblicherweise
nimmt man $Q\cap \Gamma=\emptyset$ and und schreibt $(q,X)$ direkt
vor das Feld, auf dem der Lesekopf steht, wenn dort der Buchstabe
$X$ steht. So braucht man keine extra Koordinate f\"ur die Stellung
des Lesekopfes. Sei $w= a_0a_1 \dots a_{k-1}$ das Eingabewort. Dann
ist die Anfangskonfiguration von $M$ angesetzt auf $w$ folgendes
$k$-Tupel: $C_0=((q_0,a_0),a_1, \dots a_{k-1})$.
Wir schreiben $q(C) = q$, falls
$C=(a_0,a_1, a_2, \dots,  a_{i-1},  a_i, (q,
a_{i+1}),\dots, a_{n-1})$.
Die Konfiguration 
$$
C=(a_0,a_1, a_2, \dots,  a_{i-1},  a_i, (q,
a_{i+1}),\dots, a_{n-1})$$ hat die  Menge der (direkten)
Nachfolgerkonfigurationen
\begin{multline*}
\hat{\delta}(a_0,a_1, a_2, \dots,  a_{i-1}, (q, a_{i}),\dots,
a_{n-1})\\
=\{ (a_0, a_1, a_2, \dots , a_{i-2}, (q', a_{i-1}),
 a'_{i}, \dots , a_{n-1})  \such \delta(q,a_{i}) \ni(q',a'_{i},L)\} \cup\\
\{ (a_0, a_1, a_2, \dots , a'_{i}, (q', a_{i+1}), \dots,
 a_{n-1}) \such \delta(q,a_{i}) \ni(q',a'_{i},R)\}.
\end{multline*}
 Die Nachfolgermenge  einer Konfigurationenmenge ist
die Vereinigung der Mengen der Nachfolgerkonfigurationen. Wir
schreiben $\hat{\delta}$ auch f\"ur diese auf die Potenzmenge des
Konfigurationenraums geliftete Funktion, also $\hat{\delta}({\mathscr C})
= \{\hat{\delta}(C) \such C\in {\mathscr C}\}$. F\"ur $C' \in
{\hat{\delta}}^{(n)}(\{C\})$ ($n$ Iterationen, f\"ur ein beliebiges
$n$) schreibt man $C \vdash C'$.


Eine {\em Berechnung} ist eine endliche oder unendliche Folge von
endlichen Mengen von Konfigurationen. Die Nachfolgermenge  einer
Konfigurationenmenge ist die Vereinigung der Mengen der
Nachfolgerkonfigurationen. Ein Pfad in einer Berechnung ist eine
Konfigurationenfolge, die jeweils aus Nachfolgerkonfigurationen
besteht. Die Berechnung beginnt mit der Einermenge der
Anfangskonfiguration.
\end{definition}

\begin{definition}
Die Menge der akzeptierten W\"orter ist
\begin{equation*}
\begin{split}
A(M) = & \{ w\in \Sigma^* \such
\mbox{ es gibt ein }n \in \N,\\
&\mbox{ es gibt }C_0,\dots, C_n, C_0 \mbox{ ist der Anfangszustand,
} C_i \vdash C_{i+1}, q(C_n)\in F\}
\end{split}
\end{equation*}
\end{definition}

\begin{theorem}\label{nichtdet-det}
Zu jeder nicht deterministischen TM gibt es eine deterministische TM,
die dieselbe Menge akzeptiert.
\end{theorem}

\noindent Beweis \cite[Theorem~3.10]{sipser}. F\"ur Turingmaschinen, die 
l\"angs jedes Berechnungsastes stoppen (dies trifft nach unserer Definition immer zu, doch viele Autoren nehmen eine schwächere Definition), 
kann man die deterministische Abarbeitung
aller \"Aste der nicht deterministischen Berechnung
nach Belieben anordnen. Wenn man diese Forderung hingegen wegl\"asst, 
dann charakterisiert de Satz die rekursiv aufz\"ahlbaren Mengen, 
und die deterministische Simulation muss ``breadth first'' durchgeführt werden
und resultiert dann in einer deterministischen TM, die nicht 
notwendigerweise stoppt.
Dies hei\ss t, dass in jedem Block von Simulationsschritten
alle \"Aste der nicht deterministischen Berechnung  gleichzeitig um einen Schritt l\"anger simuliert werden.  Man simuliert also  den Niveaus nach 
(der Breite nach) durch einen gedachten Suchbaum: Jedes Niveau wird 
vor dem Aufstieg zu einem höheren Knoten im Baum abgearbeitet.

 \nothing{ Sei $\Sigma$ ein
Input-Alphabet. Wir können Elemente von $\Sigma^*$ durch natürliche
Zahlen kodieren. Kodieren\index{kodieren} hei\ss t: Auf berechenbare
Weise injektiv abbilden.
 Es ist leicht zu beweisen, dass jede Akzeptierungsmenge
$A(M)$ rekursiv ist. Sei $A$ rekursiv durch die Formel $\varphi(v_0)
\in {\mathcal L}(+,\cdot,E,0.1)$. Induktiv über den simultanen Aufbau
eines Beweises im Sinne von $\vdash $ von $\varphi(n)$ oder
$\neg\varphi(n)$  aus $A_E$ mit etwas Programmierkunst zeigt man
auch die Umkehrung. }

\begin{corollary}
Sei $A\subseteq\Sigma^*$. Die folgenden Aussagen sind äquivalent:
\begin{myrules}
\item[1.] $A$ ist von der Form $A(M)$ für eine TM $M$, also Turing-berechenbar.
\item[2.] $A$ ist von der Form $A(M)$ für eine Mehrband-TM $M$.
\item[3.] $A$ ist von der Form $A(M)$ für eine nicht-deterministische TM $M$.
\end{myrules}
\end{corollary}

\ssection{Zeitkomplexität}

Innerhalb der berechenbaren Mengen treffen wir nun Einteilungen nach
der Komplexit\"at der berechnenden Algorithmen. Die
Zeitkomplexit\"at bezieht sich auf die Zahl der Rechenschritte. Es
gibt auch noch die Raum-Komplexit\"at, die die Anzahl der
gebrauchten Speicherpl\"atze misst.


\begin{definition}
Sei $M$ eine deterministische oder nichtdeterministische
 TM, die auf jedem Input anhält. Die {\em Zeitkomplexität}\index{Zeitkomplexit\"at}
  von $M$
ist die Funktion $f \colon {\mathbb N} \to {\mathbb N}$, bei der
$f(n)$  das Maximum der Schrittzahl von $M$ für einen Input der
Länge $n$ ist. In nicht deterministischen Fall wird zus\"atzlich noch
das Maximum \"uber alle Berechnungspfade gebildet (und dieses
existiert nach dem Lemma von (Denes) K\"onig: Ein endlich
verzweigender Baum mit unbesch\"ankter H\"ohe hat einen unendlich
langen Ast. Da wir unendlich lange \"Aste ausschlie\ss en, ist unser
Berechnungsbaum also immer nur endlich hoch.) Ein Schritt ist ein
Übergang von eine Konfiguration zu ihrer Nachfolgerkonfiguration.
Wir sagen \glqq $M$ läuft in Zeit $f$'' oder \glqq $M$ ist ein
$f$-Zeit-TM'' (statt $f$-Zeit auch $f(n)$-Zeit, wenn $f(n)$ ein Term
von $n$ ist).
\end{definition}

\begin{definition}
Seien $f,g\colon {\mathbb N} \to {\mathbb N}$. Wir schreiben $f =
O(g)$, wenn es ein $c\in {\mathbb N} \setminus\{0\}$ gibt, so dass
für alle hinreichend großen  $n$, $f(n) \leq c \cdot g(n)$.
 Wir schreiben $f = o(g)$ wenn es für alle $\eps >0$ ein $n_0$ gibt, so dass
für alle $n\geq n_0$, $f(n) \leq \eps \cdot g(n)$.
\end{definition}

{\bf Beispiel}: Wir analysieren nun die Zeitkomplexität folgender TM
$M$, die $ A(M)= \{0^k1^k \such k\geq 0\}$ hat.

Sei ein Input $w$ der Länge $n$ gegeben:

1. Gehe das Band entlang, und lehne $w$ ab, wenn es ein 0 rechts von
einer 1 gibt.

2. Wenn es sowohl eine 0 als auch eine 1 auf dem Band gibt, gehe das
Band entlang und lösche sowohl eine einzige 0 als auch eine einzige
1. Wiederhole gegebenenfalls Schritt 2.

3. Wenn eine 0 aber keine 1 übrig bleibt oder umgekehrt, lehnt $w$
ab. Wenn weder eine 0 noch eine 1 übrigbleibt, dann akzeptiert $w$.

Anweisung 1 braucht $n$ Schritte. $M$ braucht dann noch einmal $n$
Schritte, um den Lesekopf wieder zurück auf die erste Zelle zu
bewegen. Insgesamt sind es also $O(n)$ Schritte. In jeder Runde der
Anweisung 2 muss $M$ das Band lesen und zwei Symbole löschen.
 Es kann höchstens $n/2$ Runden gehen, und deshalb ist die Anzahl der Schritte für
Anweisung 2 höchstens $n/2 \cdot  O(n) = O(n^2)$. Anweisung 3
braucht noch einmal $n$ Schritte. Alle Anweisungen zusammen brauchen
also  $O(n) + O(n^2) +O(n) = O(n^2)$ Schritte. Die Zeitkomplexität
von $M$ ist daher $O(n^2)$.


\begin{definition}
Sei $t \colon {\mathbb N} \to {\mathbb N}$. Die {\em
Zeitkomplexitätsklasse} $[N]ZEIT(t)$ ist die Menge
$$\{A\such A= A(M)\mbox{ für eine  [nicht-deterministische] } 
O(t)\mbox{-Zeit TM } M\}.$$
\end{definition}

Wir zeigten, dass $A_0 = \{ 0^k 1^k\such k \in {\mathbb N}\}$ zu
$ZEIT(O(n^2))$ gehört. Kann man dies verbessern?
 Tatsächtlich gibt es eine $O(n \cdot \lg(n))$-TM mit Akzeptierungsmenge $A_0$.
Außerdem gibt es eine $O(n)$-TM mit zwei Bändern und
Akzeptierungsmenge $A_0$. Die Zeitkomplexität kann also von der Wahl
des Berechnungsmodells abhängen. Für die verschiedenen
Turingmaschinen, die wir bis jetzt betrachteten, gilt:
\begin{theorem}
Sei $t\colon {\mathbb N} \to {\mathbb N}$ so dass für alle $n$,
$t(n) \geq n$.
\begin{myrules}
\item[1.] Jede $t$-Zeit-Mehrband-TM ist äquivalent zu einer $O(t^2)$-Zeit-TM mit einem Band.
Äquivalent heißt: haben dieselbe Akzeptierungsmenge.
\item[2.] Jede nicht-deterministische $t$-Zeit-TM ist äquivalent zu einer
(deterministischen) $2^{O(t)}$-Zeit-TM
\end{myrules}
\end{theorem}

Beweis: Man schaut sich die in den Beweisen von
Satz~\ref{Baenderreduktion} und Satz~\ref{nichtdet-det} skizzierten
Algorithmen an und sch\"atzt deren Schrittzahl ab.


Deshalb unterscheiden sich Einband- und Mehrband-Turing\-maschinen
höchs\-tens um die Anwendung eines Polynoms, während sich
deterministische und nicht-deterministische Turingmaschinen
höchstens um eine Exponentiation unterscheiden. Wir sehen
Polynome als klein und Exponentiationen als groß an. Alle ver\-nünftigen
deterministischen Berechnungsmodelle sich polynomial äquivalent,
d.h. ihre Arbeitsschritte  können  in polynomialer Zeit ineinander
übersetzt werden und ihre Zeitkomplexitäten unterscheiden sich
höchstens um die Anwendung einer polynomialen Funktion.

\begin{definition}
Folgende Menge heißt \glqq Komplexitätsklasse $P$\index{$P$}'':
$$P = \{ A(M) \such \mbox{ für ein } k \in {\mathbb N}
\mbox{ ist } M \mbox{ eine deterministische } n^k \mbox{-Zeit-TM}\}.$$ D.h., $P=
\bigcup_k ZEIT(n^k) $.
\end{definition}
\begin{definition}
Folgende Menge heißt \glqq Komplexitätsklasse $NP$\index{$NP$}'':
$$NP = \{ A(M) \such \mbox{ für ein } k \in {\mathbb N}
\mbox{ ist } M \mbox{ eine nicht-deterministische } n^k
\mbox{-Zeit-TM}\}.$$ D.h., $P= \bigcup_k ZEIT(n^k) $.
\end{definition}
$P$ is unabhängig von der Wahl des Berechnungsmodells, solange es
deterministisch ist. Nach heutiger Auffassung entspricht $P$ 
 der Klasse der Probleme
(= Akzeptierungsmengen), die prinzipiell mit einem Computer berechnet
werden können.

\ssection{Beispiele für Probleme in $P$}

\begin{definition}
\begin{myrules}
\item[(1)]
Ein gerichteter Graph ist eine Stuktur $(V,E)$ aus einer endlichen
Menge $V$ und aus einer Relation $E \subseteq V\times V \setminus \{
(v,v) \such v\in V\}$. $V$ steht für vertex, vertices, $E$ steht für
(directed) edge, (gerichtete) Kante.
\item[(2)]
Seien $s,t\in V$. Ein Pfad in $(V,E)$ von $s$ nach $t$ ist eine
Folge $s_0,\dots s_n$, so dass $s_0 =s$, $s_n=t$ und für alle i
$(s_i,s_{i+1}) \in E$.
\begin{multline*}
PFAD= \{(V,E,s,t)\such (V,E) \mbox{ ist ein}\\
\mbox{gerichteter Graph mit einem
  Pfad von $s$ nach $t$}\}.
\end{multline*}
\end{myrules}
\end{definition}

\begin{theorem}
$PFAD \in P$.
\end{theorem}

\noindent
Beweis: Wenn ein Input $(V,E,s,t)$ der Größe $n$ gegeben ist, gehe
wie folgt vor:

1. Setze eine Marke auf $s$.

2. Betrachte die Kanten in $E$. Wenn $a$ markiert ist, und $(a,b)\in
E$, dann markiere auch $b$.

3. Wiederhole Punkt 2. bis kein weiterer Punkt mehr markiert werden
kann.

4. Wenn $t$ eine Marke hat, akzeptiere $(V,E,s,t)$. Sonst lehne
$(V,E,s,t)$ ab.

Wir kodieren einen Graphen $(V,E)$ mit $|V|=m$ durch einen $m\times m$-Matrix,
haben also Input-Größe $n = m^2$ und $|V| = O(\sqrt{n})$.
Anweisungen 1 und 4 brauchen jeweils  nur einen Schritt. Anweisung 2
kann höchstens $|V|$ Mal ausgeführt werden. Jede einzelne Anwendung
benötigt höchstens $O(n)$ Schritte. Somit ist die Gesamtzahl der
Schritte höchstens $1+1+|V|\cdot O(n) = O(n^{\frac{3}{2}})$ und $PFAD \in P$.
Hier ist $|V|$ die Mächtigkeit von $V$, d.h. die Anzahl seiner
Elemente. \proofend

\begin{definition}
\begin{myrules}
\item[(1)]
Zwei natürliche Zahlen heißen {\em relativ prim}\index{relativ prim}
zueinander, wenn 1 ihr größter gemeinsamer Teiler ist.
\item[(2)]
$$RELPRIM\index{RELPRIM} =\{ (n,m) \such \mbox{$n$ und $m$ sind relativ prim}\}.$$
\end{myrules}
\end{definition}

\begin{theorem}
$RELPRIM \in P$.
\end{theorem}
\noindent
Beweis: Wenn ein Input $(x,y)$ der Größe $n$ gegeben ist, gehe wie
folgt vor:

1. Ersetze $x$ durch $x \modu y$.

2. Vertausche $x$ und $y$.

3. Wiederhole Anweisung 1 und 2 bis $y = 0$.

4. Wenn $x=1$, akzeptiere den Input, sonst lehne ihn ab.

Wir analysieren nun die Zeitkomplexität dieses Algorithmus. Nach
einer Anwendung von 1 ist $x<y$. Nach einer Anwendung von  2 ist
$x>y$, da sie vertauscht wurden. Jede Anwendung von 1 halbiert nun
$x$ (oder $y$, je nachdem, wer gerade dran ist): Wenn $x/2 \geq  y$
ist, dann $x\modu y <y \leq x/2$,
 und somit erhalten wir eine Zahl $< x/2$ . Wenn $x/2 <y$ ist, dann $x\modu y
= x-y < x/2$ und somit erhalten wie wieder ein Zahl $<x/2$.

Mit jeden Anwendung von 2 werden $x$ und $y$ vertauscht, deshalb
sind die ursprünglichen Werte von $x$ und $y$ nach je zwei
Anwendungen von 1 und 2 halbiert. Daher könnnen 1 und 2 höchstens
$2\cdot \min(\log_2x,\log_2y)$ Mal angewendet werden. Da $\log_2 n
=O(n)$  und da jede Anwendung von 1 oder 2 nur
 polynomiale Zeit dauert und zur Kodierung der Zahlen $\leq n$
höchstens noch einmal $\poly(\log_2n)$ braucht, 
ist die gesamte Berechnungszeit polynomial.
\proofend

\ssection{$NP$-Vollst\"andigkeit und der Satz von Cook}

An dem Beispiel $PFAD$ sahen wir, dass Mengen die auf den ersten
Blick exponentiell erscheinen, dennoch polynomial sein können. Doch
nicht alle Probleme sind so einfach wie $PFAD$: Es gibt zahlreiche
Probleme, für die nicht bekannt ist, ob sie in $P$ liegen. Viele
dieser Probleme liegen in $NP$, der Klasse mit \glqq Überprüfungen
in polynomialer Zeit''.  Wir beschäftigen uns hier mit einigen
berühmten Vertretern, die zudem noch $NP$-vollständig (s.u.) oder
$NP$-hart sind.

\begin{definition}
Eine {\em Überprüfung}\index{Überpr\"ufung} 
für eine Menge $A$ ist ein Algorithmus $V$
zur Untersuchung von Paaren $(u,c)$, so dass
$$A = \{u \in \Sigma^* \such V \mbox{ akzeptiert } (u,c)
 \mbox{ für ein } c\}.$$
Wenn $V$ in polynomialer Zeit in Abhängigkeit von $(u,c)$ läuft und
wenn die Länge von $c$ polynomial von der Länge von $u$ abhängt,
dann sagen wir, dass $V$ eine Überprüfung in polynomialer Zeit ist.
Eine Folge $c$, 
so dass $V$ $(u,c)$ akzeptiert, heißt {\em Zertifikat}\index{Zertifikat} für
$u$.
\end{definition}

Die Überprüfung verwendet also eine Zusatzinformation $c$ aus
$\Gamma^{\leq p(|w|)}$ für ein (von $A$, aber nicht von $w$
abhängendes) Polynom $p$. Hier steht $x^{\leq y}$ für die Menge
aller Folgen (= Wörter) über $x$ der Länge höchstens $y$. Für
$\Gamma$ mit mindestens zwei Elementen ist das Abarbeiten aller
Zusatzinformationen also von exponentieller Schrittzahl.

\begin{theorem}
$NP$ ist die Klasse (nun ja, es ist modulo Isomorphie keine echte
Klasse)  der Mengen, die eine Überprüfung in polynomialer Zeit
haben.
\end{theorem}

\noindent Beweis: Warum reicht einmal Raten (n\"amlich das Erraten eines
zertifikats) zu Anfang aus? Die
\"Ubergangstafel einer nicht deterministischen TM darf ja bei jedem
Berechnungsschritt raten. Wir werden dies im Beweis des Satzes von
Cook~\ref{Cook} sehen: Jedes Problem in $NP$ l\"asst sich durch eine
in polynomialer Zeit berechenbare Reduktion in das Problem $3-SAT$
\"ubersetzen, und $3-SAT$ hat einen Algorithmus, der zu Anfang einmal
ein Zertifikat polynomialer L\"ange err\"at. \proofend

\begin{definition}
Sei $\Sigma$ ein Alphabet. Eine Funktion $f\colon \Sigma^* \to
\Sigma^*$ heißt in polynomialer Zeit berechenbar, gdw es eine
polynomiale TM gibt, die aus den Input $w$ den Output $f(w)$ (auf
den ersten Zellen des Bandes, wenn die Maschine in den Stoppzustand
$q_{ak}$ eintritt) liefert. $q_{ab}$ kommt nicht mehr vor.
\end{definition}

\begin{definition}
Eine Menge $A$ heißt {\em in polynomialer Zeit
 auf eine Menge $B$ reduzierbar}\index{reduzierbar}, und wir schreiben
$A\leq_P B$ gdw es eine in  polynomialer Zeit berechenbare Funktion
$f$ gibt so dass für alle $w \in \Sigma^*$:
$$w \in  A \mbox{ gdw } f(w) \in B.$$
$f$ wird eine Reduktion von $A$ auf $B$ in polynomialer Zeit
genannt.
\end{definition}
\nothing{ Dies ist eine Analogie zur Reduzierbarkeit $\leq_m$ in der
Rekursionstheorie. }
\begin{definition}
Eine Menge $A$ heißt {\em
$NP$-vollständig}\index{$NP$-vollst\"andig}, gdw $A\in NP$ und für
jedes $B\in NP$, $B\leq_P A$
\end{definition}

Wir werden zeigen, dass es $NP$-vollständige Mengen gibt, Es ist
$P=NP$ gdw eine
 (und damit jede) $NP$-vollständige Menge in $P$ ist.
Unser Beispiel eine $NP$-vollständigen Menge ist\index{$SAT$}
$$SAT= \{\varphi \such \varphi \mbox{ ist
eine erfüllbare Formel der Aussagenlogik}\}.$$

\begin{theorem}\label{Cook} Cook, 1970.
$SAT$ ist $NP$-vollständig.
\end{theorem}

\noindent
Beweis: Es ist leicht zu sehen, dass $SAT$ in $NP$ ist: Ein
Zertifikat für eine Formel $\varphi$ ist eine Wahrheitsbelegung der
Satzvariablen in $\varphi$, die $\varphi$ erfüllt. Da 
$$\varphi \in
SAT \leftrightarrow \neg \varphi \mbox{ ist nicht allgemeing\"ultig},$$ 
bezeugt
unser im Beweis des Satzes \ref{1.38} skizzierten Algorithmus, der
tats\"achlich in $NP$ ist, die Behauptung.

\smallskip

Sei $A \in NP$. Wir zeigen, dass $A \leq_P SAT$ ist. Sei $N$
eine nichtdeterministische $n^k$-Zeit-TM, so dass $A(N)= A$ für eine
feste natürliche Zahl $k$.
Wir schreiben $N$ so, dass $N$ auf jedem Input $w$ genau $|w|^k$ Schritte 
l\"auft und dann stoppt und dazu nicht mehr als $|w|^k$ Zellen braucht.
 Eine Berechnungsmatrix für $N$ mit Input
$w$ ist eine $n^k \times n^k$-Matrix, deren Zeilen die
Konfigurationen eines Astes einer Berechnung von $N$ auf den Input
$w$ hin sind. Wir nehmen an, dass jede Konfiguration mit dem Symbol
$\#$ beginnt und endet. Die erste Zeile der Matrix ist die
Anfangskonfiguration von $N$ mit Input $w$, und jede weitere Zeile
folgt
 aus ihrer
Vorgängerzeile gemäß der nicht-deterministischen Übergangsfunktion
von $N$.
 Die Berechnungsmatrix akzeptiert $w$ gdw eine ihrer
 Zeilen eine Akzeptierungskonfiguration ist.

\smallskip

Wir beschreiben nun eine Reduktion $f$ von $A$ auf $SAT$ in
polynomialer Zeit. Auf den Input $w$ liefert $f$ eine Formel
$$f(w) = \varphi_w$$
der Aussagenlogik.
 Sei $C= Q \cup \Gamma$,
$Q$ die Zustandsmenge von $N$, $\Gamma$ das Bandalphabet von $N$.
Die Satzsmbole von $\varphi$ sind von der Form $x_{i,j,s}$ mit $1
\leq i,j\leq n^k$ und $s\in C$. Die $n^k \times n^k$ Matrix hat
$(n^k)^2$ Zellen. Die Zelle in Zeile $i$ und Spalte $j$ wird
$z(i,j)$ genannt.

$\varphi_w$ ist von der Form $\varphi_{\rm Zelle} \wedge
\varphi_{{\rm Anfang},w} \wedge \varphi_{\rm Bewegung}
\wedge\varphi_{\rm Akzeptierung}$.  Wir beschreiben nun  diese vier
Teile einzeln.

Das Satzsymbol $x_{i,j,s}$ hat die Bedeutung: $z(i,j)$ enthält das
Symbol $s$. $\varphi_{\rm Zelle}$ garantiert, dass $z(i,j)$ genau
$s$ enthält.

$$\varphi_{\rm Zelle} = \bigwedge_{1\leq i,j\leq n^k} [
\bigvee_{s\in C} x_{i,j,s} \wedge \bigwedge_{s,t\in C, s\neq t}
\neg (x_{i,j,s} \wedge x_{i,j,t})].$$

$\varphi_{{\rm Anfang},w}$ garantiert, dass die erste Zeile der
Matrix die Anfangskonfiguration von $N$ mit Input $w$ ist.

\begin{multline*}
\varphi_{{\rm Anfang},w}= x_{1,1,q_0} \wedge
x_{1,3,w_1} \wedge \dots \wedge x_{1,n+1,w_n} \wedge
x_{1,n+3,\eps}\wedge
\\
\dots \wedge x_{1,n^k-1,\eps} \wedge x_{1,n^k,\eps}.
\end{multline*}

$\varphi_{\rm Akzeptierung}$ garantiert, dass eine
Akzeptierungkongfiguration in der Matrix auftritt zu einer Zeit
vor einer Ablehnungskonfiguration.

$$\varphi_{\rm Akzeptierung} = \bigvee_{1\leq j \leq n^k} x_{n^k,j,q_{ak}}
$$\nothing{\wedge \bigwedge_{i'<i, j\leq n^k}\neg x_{i',j,q_{ab}}).$$}

Und schließlich garantiert $\varphi_{\rm Bewegung}$,
 dass jede Zeile der Matrix eine Konfiguration enthält, die aus der vorherigen Zeile folgt.
Eine $2\times 3$-Untermatrix der Matrix heißt zulässig, gdw sie der
Übergangsfunktion $\delta$ von $N$ folgt: Z.B., wenn
$\delta(q_1,a) = \{(q_2,b,R)\}$ und
$\delta(q_1,b)=\{(q_2,c,L), (q_3,a,R)\}$, dann ist die
Untermatrix $ \left(\begin{matrix}
{a,q_1,b}\\
{q_2,a,c} \end{matrix}\right) $ zulässig, und die  Untermatrix $
\left(\begin{matrix}
{a,q_1,b}\\
{q_2,a,a}
\end{matrix}\right)
$ ist unzulässig. Auch bei Untermatrizen, die gerade nicht die
Stelle des Lesekopfes in der Mitte enthalten, ist klar, wie man
Zulässigkeit definiert. Folgendes ist leicht zu sehen: Wenn die
erste Zeile der Matrix der
 Anfangskonfiguration entspricht und jede Untermatrix zulässig ist, dann folgt die
 Gesamtmatrix der
Übergangsfunktion. Nun konstruieren wir die Formel $\varphi_{\rm
Bewegung}$.
%Wir schreiben die sechs Elemente $a_1\dots a_6$ einer $2\times 3$-Untermatrix
%$\begin{matrix}{a_1,a_2,a_3}\\{a_4,a_5,a_6}\end{matrix}$ in einer Reihe.
Die $(i,j)$-Untermatrix ist die Untermatrix in den Zeilen $i$ und
$i+1$ und in den Spalten $j-1,j,j+1$. Deren Zulässigkeit kann wie
folgt ausgedrückt werden:
\begin{multline*}
\varphi_{{\rm zul}(i,j)}=\\[2ex]
\bigvee_{\tiny{\left(\begin{matrix}
 {a_1,a_2,a_3}\\{a_4,a_5,a_6}\end{matrix}\right)
 \mbox{ ist  zulässig}}}
(x_{i,j-1,a_1} \wedge x_{i,j,a_2} \wedge x_{i,j+1,a_3} \wedge
x_{i+1,j-1,a_4} \wedge x_{i+1,j,a_5} \wedge x_{i+1,j+1,a_6}).
\end{multline*}

Nun beschreibt $\varphi_{\rm Bewegung}$ die Zulässigkeit aller
$2\times 3$-Untermatrizen
$$\varphi_{\rm Bewegung} = \bigwedge_{1\leq i <n^k, 1<j<n^k} \varphi_{{\rm zul}(i,j)}.$$


Schließlich betrachten wir die Komplexität dieser Reduktion. Die
Größe von $\varphi_{\rm Zelle}$ ist $O(n^{2k})$, von $\varphi_{{\rm
Anfang},w}$ ist $O(n^k)$, von $\varphi_{\rm Bewegung}$ und von
$\varphi_{\rm Akzeptierung}$ $O(n^{2k})$. Also erhalten wir insgesamt
$O(n^{2k})$. Die Anzahl der Satzvariablen ist $O(n^{2k})$, und
deshalb ist die Länge von $\varphi$ in der Klasse $O(\log_2 n)\cdot
O(n^{2k})$, also in $O(n^{2k+1})$ und somit ein Polynom in $n$. Wir
brauchen $O(\log_2 n)$, um die wachsenden Indizes binär zu
schreiben, denn das Alphabet ist ja fest, und darf nicht mit $n$
wachsen.

Aus der Konstruktion von $w \mapsto \varphi_{w}$ folgt, dass es
einen nichtdeterministischen akzeptierenden Lauf von $N$ angesetzt
auf $w$
 gibt
genau dann, wenn es eine Belegung der Satzvariablen  $x_{i,j,s}$,
$i,j \leq n^k$, $s \in C$ gibt, so dass  $\varphi_w$ wahr ist.
\proofend

Der obige Beweis zeigt etwas mehr: Eine KNF-Formel (Formel in
konjunktiver Normalform) ist eine Konjunktion von Disjunktionen 
der Form
$$ \bigwedge_{i<k} \bigvee_{j< m_i} L_{i,j}$$ 
mit Literalen $L_{i,j}$ (siehe Def.~\ref{literaldef}).
Wenn f\"ur alle $i$, $m_i\leq 3$ ist, 
sagen wir, dass die Formel eine 3-KNF-Formel
ist. 3-$SAT$\index{3-$SAT$} ist die Menge der erfüllbaren
3-KNF-Formeln.

\begin{corollary}
3-$SAT$ ist $NP$-vollständig.
\end{corollary}

\noindent 
Beweis. In polynomialer Zeit können wir die Formel $\varphi$ des
obigen Beweises in eine KNF-Formel umformen. Weiterhin können wir
eine Disjunktion von Satzsymbolen  und Negationen von Satzsymbolen
in eine Konjunktion von Disjunktionen von höchtens drei Satzsymbolen
und Negationen von Satzsymbolen umformen, z.B.\ $\phi=B_1 \vee \dots \vee
B_n$ in
\begin{multline*}
\phi_{\rm 3-KNF}=
((B_1 \vee B_2\vee C_1) \wedge (\neg C_1 \vee B_3 \vee C_2) \wedge
(\neg C_2 \vee B_3 \vee C_3)\\ \wedge \dots \wedge (\neg C_{n-3} \vee
B_{n-1} \vee B_n)
.\end{multline*}
Man zeigt induktiv \"uber $n$:
Es gibt eine Wahrheitsbelegung $v$ von $B_1$,\dots $B_n$, so dass
$\bar{v}(B_1 \vee \dots \vee
B_n)=W$ gdw es eine Wahrheitsbelegung $v_\ast$ von $B_1$, \dots, $B_n$ und
$C_1$,\dots, $C_{n-3}$ gibt, f\"ur die $\bar{v_\ast}(\phi_{\rm 3-KNF})=W$.
 
So ist die (fast) KNF $\varphi_w$ zu der 3-KNF-Formel 
$\phi_{w,{\rm 3-KNF}}$ äquivalent, und letztere
kann in polynomialer Zeit in der L\"ange von $\varphi$
berechnet werden. Es folgt, dass 3-$SAT$ $NP$-vollständig ist.
\proofend



\begin{theorem}
2-$SAT$ ist in $P$.
\end{theorem}

\noindent
(Auch habe ich nirgends einen Beweis gefunden, das Folgende ist
selbst ausgedacht. In Sipser steht dies als Übungs\-aufgabe. Ist
2-$SAT$ $P$-vollständig?)

Am leichtesten geht es mit der Resolutionsmethode, die wir in
Kapitel~\ref{C8}
 kennenlernen werden. Es gibt hierzu auch Hinweise in Exercise 36
\cite{schoning}. Formeln in KNF mit h\"ochstens zwei Literalen pro
Konjunktionsglied hei\ss en {\em Krom-Formeln}. Horn-Formeln (siehe
Kapitel~\ref{C8}) sind spezielle Krom-Formeln.

Skizze einer etwa $O(n^9)$-Zeit-Turingmaschine: Sei $\varphi =
\bigwedge_{i<I} (a_{i,1} \vee a_{i,2})$ gegeben und $a_{i,j} = A_k$
oder $= \neg A_k$ für Satzvariablen $A_0$ bis $A_n$, $n\leq
|\varphi|$. Wir berechnen einen gerichteten Graphen  $(V,E) = (\{A_i
\such i\leq n \}\cup \{\neg A_i \such i\leq n\}, E)$, so dass
($(a,b) \in E$ und $(\neg b, \neg a) \in E$) gdw $(\neg a \vee b)$
ein Konjunktionsglied von $\varphi$ ist oder $(b \vee \neg a)$ ein
Konjunktionsglied in $\varphi$ ist. 
Die Idee dabei ist: $(\neg a \vee b)$ ist ein Konjunktionsglied, also impliziert
$\phi$ die Formeln $a \rightarrow b$ und $\neg b \rightarrow a$.
 Falls $(\neg)a \vee (\neg)a $ 
Konjuktionsglied ist,
setzen wir $\bar{v_0}(a) = W(F)$ und $\bar{v_0}(\neg a) =F(W)$.
(Mit $a = A_i$ oder $\neg A_i$
und dann $\neg a = A_i$.)


Wir erweitern nun in $(2n)^5$ Schritten die Kantenmenge um jeweils
eine Kante oder um keine Kante. 

1. Wir setzen $E= F_0$.

2. Sei vor dem Schritt $s$ der Graph
$(V,F_s)$ gegeben, $F_s \supseteq E$, $v_s \supseteq v_0$. 
Wir w\"ahlen drei Vertizes $a,
b, c \in V$, die durch eine Schrittnummerierung f\"ur den Schritt
$s$ estimmt werden, so dass jedes der $(2n)^3$ Tripel $(2n)^2$ oft
vorkommt. Dann f\"ugen wir $(a,c) \in F_{s+1}\setminus F_s$ gdw
$(a,b) \in F_s$ und $(b,c) \in F_s$ und $(a,c) \not\in F_s$.
Falls $v_s(a) = W$ und $(a,(\neg)b) \in F_{s+1}$ (also $a \rightarrow (\neg) b)$
aus $\phi$ folgt, setzen wir 
$v_{s+1}(b) = W(F)$ und $v_{s+1}(\neg b)$ gespiegelt.
Falls $v_s(a) = F$ und $(\neg a,(\neg) b) \in F_{s+1}$, setzen wir
 $v_{s+1}(b) = 
W(F)$ und $v_{s+1}(\neg b)$ gespiegelt.

3. Falls $F_{s+1} \supsetneq F_s$ und $v_{s+1}$ eine partielle Wahrheitsbelegung ist, gehe zu Schritt 2.

%Nun zeigt man induktiv \"uber die Schritte:
4.
$\varphi$ is erf\"ullbar gdw f\"ur kein Literal $a$, $(\neg a,a)$
$(a,\neg a) \in F_s$ und f\"ur kein Literal $a$, $v_s(a) = W$ und $v_s(A)=F$.

Da $|F_s|\leq n^2$, braucht man $\leq n^4$ Schritte, um zu 
pr\"ufen, ob 
f\"ur kein Literal $a$, $(\neg a,a) \in F_s$
$(a,\neg a) \in F_s$.

Wir beweisen die Korrektheit des Algorithmus, indem wir zeigen, dass 
wir nach positiver Pr\"ufung einen weiteren Algorithmus 
anschlie\ss en k\"onnen, der eine Wahrheitsbelegung ermittelt, 
die $\phi$ wahr macht.


Wir arbeiten nun
$O(n^2)$-viele Schritte zur Erstellung einer Belegung: 
Sei $F_{s+1} = F_s$ und sei $v_{s+1} = v_s$.

$A_i$ hei\ss t positiv entschieden, wenn $(\neg A_i,A_i) \in F_s$,
d.h. wenn $\phi \models \neg A_i \rightarrow A_i$, oder wenn $v_{s+1}(A_i)=W$, und 
$A_i$ hei\ss t negativ entschieden, wenn $(A_i,\neg A_i) \in F_s$ oder 
$v_{s+1}(A_i)=F$. 
Sonst hei\ss t $A_i$ unentschieden.
Im ersten Schritt setzen wir 
$v_{s+2}\supseteq v_{s*1}$ und $v_{s+2}(A_i) = W$ gdw $A_i$ positiv entschieden, 
und
$v_{s+2}(A_i) = F$ gdw $ A_i$ negativ entschieden.
Danach nehmen wir die erste unentschiedene Satzvariable und setzen
$v_{s+3} \supseteq v_{s+2}$ und  $v_{s+3}(A_j) =
W$ und $v_{s+3}((\neg)A_k)= W$ gdw $(A_j,(\neg)A_k) \in F_s$.
Wir behaupten, dass $\phi$ erf\"ullbar ist gdw
$\phi (A_j =W)$ erf\"ullbar ist.
Sonst gibt es ein $A_k$, so dass $(A_j,  A_k)$ und $( A_j, \neg A_k)$ beide in 
$F_s$
vorkommen. Dann ist aber $A_j \rightarrow A_k$ und $A_j \rightarrow \neg A_k$ 
und auch $A_k \rightarrow \neg A_j$
eine Konsequenz von $\phi$, und somit auch $(A_j,\neg A_j) \in F_s$ und
$A_j$ negativ entschieden, im Widerspruch zu Unentschiedenheit
von $A_j$ mit $v_{s+2}$. 
So machen wir induktiv weiter mit der Erweiterung der Belegungen
und der Erhaltung der (Nicht-)Erf\"ullbarkeit, 
bis alle unentschiedenen Variablen belegt sind.
Dies geht $r\leq n$ Schritte und das Verfahren endet mit einer Belegung
$v_{s+1+r}$, die $\phi$ wahr macht.
 \proofend






\ssection{Beispiele von Mengen in $NP$}

Weitere $NP$-vollständige Probleme sind $CLIQUE$, $HAMPFAD$,\\
 $TEILSUMME$.

Beweise zur Vollst\"andigkeit findet man
in Michael Sipser ``Introduction to the Theorie of
Computation'' \cite{sipser}. Wir beweisen nur, dass die Probleme in $NP$ sind.


\begin{definition}
Sei $(V,E) =G$ ein gerichteter Graph. Ein Hamiltonpfad ist ein Pfad,
der jeden Punkt genau einmal enthält.
$$HAMPFAD = \{(V,E,s,t) \such \mbox{ es gibt einen Hamiltonpfad von $s$ nach $t$ in } (V,E)\}.$$
\end{definition}

Folgender Algorithmus zeigt, dass $HAMPFAD \in NP$:

Für gegebenen Input $((V,E,s,t),c)$:

1. Prüfe, ob $c=(c_0,\dots,c_{m-1})$ eine Folge der Länge $|V|$ von
paarweise ungleichen Elementen aus $V$  ist.

2. Überprüfe, ob $s$ das erste und $t$ das letzte Element von $c$
sind.

3. Schaue, ob  für jedes $i<m$, ob $(c_i,c_{i+1}) \in E$. Wenn dies
für ein $i$ fehlschlägt, lehne $(V,E,s,t,c)$ ab. Sonst akzeptiere
sie.

Nach unseren Vorarbeiten (z.B.\ auch die Maschine von Beispiel 4)
sehen wir, dass dieser Algorithmus in polynomialer Zeit läuft.

Wir wenden uns nun den ungerichteten Graphen zu. Diese sind üblicher
als die gerichteten Graphen und werden oft einfach nur Graphen
genannt.

\begin{definition}
Ein (ungerichteter) Graph ist eine Paar $(V,E)$, so dass $V$ eine
Menge ist und $E\subseteq P \times E \setminus\{(v,v) \such v\in
V\}$ eine symmetrische
 Relation ist, d.g., dass für alle $(v,w) \in E$ auch $(w,v) \in E$ ist.
$(v,w)\in E$ heißt Kante von $(V,E)$, und $v\in V$ heißt Knoten oder
Vertex.
\end{definition}

\begin{definition}
Sei $k \in {\mathbb N}$. Eine $k$-Clique in $(V,E)$ ist eine
Teilmenge $C$ von $V$ mit $|C|= k$, so dass für je zwei $x\neq y \in C$ gilt:
$(x,y)\in E$.

$$CLIQUE = \{(V,E,k) \such (V,E) \mbox{ ist ein ungerichteter Graph mit einer $k$-Clique}\}.$$
\end{definition}

Folgender Algorithmus zeigt, dass $CLIQUE \in NP$:

Für gegebenen Input $((V,E,k),c)$:

1. Prüfe, ob $c=(c_0,\dots,c_{k-1})$ eine Menge von $k$ Elementen
aus $V$ ist.

2. Schaue, ob für jedes $i<j<k$, ob $(c_i,c_{j}) \in E$.

3. Genau wenn die Antworten zu 1 und zu 2 positiv sind, akzeptiere
$(V,E,k,c)$.










\begin{definition}
$TEILSUMME = \{(S,t) \such S=\{x_1,\dots , x_n\} \subseteq {\mathbb
N}, \exists \langle y_1,\dots ,y_\ell\rangle$,  so dass $y_i \in S$
und $\sum_{i\leq \ell} y_i = t\}$. Die $y_i$ müssen nicht paarweise
verschieden sein.
%Es gibt keine Schranke für $\ell$ in Abhängigkeit von $|S|$.
\end{definition}

Folgender Algorithmus zeigt, dass $TEILSUMME \in NP$:

Für gegebenen Input $((S,t),c)$:

1. Prüfe, ob $c$ ein Folge von Zahlen mit Summe $t$ ist.

2. Schaue, ob alle Einträge der Folge $c$ Elemente aus $S$ sind.

3. Genau wenn die Antworten zu 1 und zu 2 positiv sind, akzeptiere
$(S,t,c)$.

\bigskip

Sind diese Mengen nun auch in $P$ oder nur in $NP$? Die Antworten
auf diese Fragen sind nicht bekannt. Tatsächlich ist nicht bekannt,
ob es überhaupt eine Menge in $NP \setminus P$ gibt. Man weiß nur
$$NP \subseteq EXPZEIT = \bigcup_{k\in {\mathbb N}} ZEIT(2^{n^k}).$$

Die Frage $P = NP$ wird heute als das wichtigste offene Problem in
der theoretischen Informatik angesehen.



 \schapter{Die Logik der ersten
Stufe}\label{C3}


Wie betrachten jetzt eine Logik, die viel reicher als die Aussagenlogik ist,
nämlich die Logik der ersten Stufe\index{Logik der ersten Stufe}, auch
Prädikatenlogik\index{Prädikatenlogik}
genannt.
Insbesondere kann diese Logik
Ideen ausdrücken, die in verschiedenen mathematischen Theorien vorkommen.
Zuerst führen wie eine Beschreibung der Symbole einer Sprache erster Stufe ein:

\smallskip

a) Logische Symbole\index{logische Symbole} 
:

\begin{myrules}
\item[0.] Klammern ( und ),
\item[1.] Junktoren $\rightarrow$ und $\neg$,
\item[2.] Variable\index{Variable}  $ v_0,v_1, \dots$
\item[3.] Gleichheitszeichen $=$,
\item[4.] Quantor\index{Quantor} $\forall$.
 \end{myrules}

b) Zur Menge $\tau$ der nichtlogischen Symbole\index{nichtlogische Symbole} gehören (je nach Auswahl)
\begin{myrules}
\item[0.] Prädikatssymbole\index{Prädikatssymbol}: Für jede natürliche Zahl $n >0$
 eine leere, endliche oder
unendliche Menge $n$-stelliger Prädikatssymbole,
\item[2.] Konstantensymbole\index{Konstantensymbol}: Eine leere, endliche oder
unendliche Menge von
Symbolen,
\item[3.] Funktionssymbole\index{Funktionssymbol}: Für jede natürliche Zahl $n>0$ eine
leere, endliche oder unendliche  Menge
$n$-stelliger Funktionssymbole.
\end{myrules}

%Begin 4. Sitzung
%\setcounter{chapter}{2}
%\setcounter{page}{}
%\setcounter{theorem}{}

$\tau$ wird {\em Symbolmenge}, {\em Sprache}\index{Sprache}, similarity type,
signature, Signatur\index{Signatur} genannt. Es ist auch $\tau= \emptyset$ gestattet.
$\tau$ und ${\mathcal L}(\tau)$ (s.u.) werden {\em Sprache} genannt.

Bemerkungen: Das Gleichheitszeichen ist ein zweistelliges Prädikatssymbol, es wird jedoch im
Gegensatz zu den anderen zweistelligen Prädikatssymbolen als logisches Symbol betrachtet.
Die Wörter \glqq logische Symbole'' und \glqq nichtlogische Symbole'' sind
einfach Namen, die sich, obwohl sie nicht sehr sinnvoll sind, etabliert haben.


Andernfalls sagt man explizit, dass man mit einer Sprache ohne Gleichheit arbeitet
(non-equational language).

Beachten Sie, dass es tatsächlich viele verschiedene Sprachen der ersten
Stufe gibt, die von der Wahl
der Prädikats-, Konstanten- und Funktionssymbole abhängen. Zwei Beispiele sind:

In der {\em Sprache der Mengenlehre}\index{Sprache der Mengenlehre}
gibt neben dem Gleichheitszeichen nur ein zweistelliges Prädikatssymbol: $\in$.
Es gibt keine anderen Prädikatssymbole jeglicher Stelligkeit und keine Konstantensymbole und keine
Funktionssymbole.

In der  {\em Sprache der elementaren Zahlentheorie}\index{Sprache der
elementaren Zahlentheorie} gibt
es genau ein zweistelliges Prädikatssymbol $<$,
ein Konstantensymbol 0, ein einstelliges Funktionssymbol
$S$ (für die Nachfolgerfunktion) und drei zweistellige Funktionssymbole $+$, $\cdot$, $E$,
die die Addition, die Multiplikation und die Exponentiation darstellen.
Wir schreiben $Exy$ für $x^y$, da wir alles auf einer Linie schreiben möchten.
Die Exponentiation gehört manchmal nicht zur Sprache der Zahlentheorie.


\ssection{Terme und Formeln}

Wie bisher ist ein Ausdruck eine endliche Folge von Symbolen. Nur bestimmte Ausdrücke
haben eine Bedeutung, und diese heißen Formeln\index{Formel der ersten Stufe}.
Zunächst legen wir fest, was Terme sind.

\begin{definition}{\em Terme}\index{Term}.
\begin{myrules}
\item[1.] Jedes Konstantensymbol und jede Variable ist ein Term.
\item[2.] Wenn $f$ ein $n$-stelliges Funktionssymbol ist und $t_1, \dots, t_n$ Terme sind,
dann ist auch $ft_1\dots t_n$ ein Term. (Beachten Sie, dass wir keine Klammern und keine
Kommata schreiben. Wenn Sie dies auf $+$, $\cdot$ und $E$ anwenden, erhalten Sie
die sogenannte polnische Notation. Eine Zeitlang  wurde die umgekehrte
polnische Notation $t_1\dots t_nf$ auf Hewlett-Packard-Taschenrechnern
benutzt.)
\item[3.] Nur die Zeichenreihen, die sich durch endlichmalige Anwendung von
1.\ und von 2.\ erzeugen lassen, sind Terme.
\end{myrules}
\end{definition}


Natürlich liegt uns hier ein weiteres Beispiel einer induktiven Definition vor:
Ein Ausdruck ist demnach ein Term genau dann, wenn er es aufgrund der Regeln 1 und 2 sein muss.
 Wir sehen, dass die Menge der Terme durch Abschluss der Menge der Konstantensymbole und der
Variablen unter den Funktionssymbolen erzeugt wird. Wenn es keine Funktionssymbole in der Sprache
 gibt, dann sind die Konstantensymbole und die Variablen die einzigen Terne und  eine Definition
durch Induktion ist nicht notwendig.
Einige Beispiele für Terme in der Sprache der elementaren Zahlentheorie:\\
$+v_2Sv_1$, in verständlicherer Form $v_2 + Sv_1$,\\
$SSS0$,\\
$+Ev_1SSEv_300$, zurückübersetzt  $v_1^{SSv_3^0} + 0$.

\begin{lemma} Kein Term ist eachtes Anfangsst\"uck eines anderen Terms.
\end{lemma}


\noindent Beweis: Induktiv \"uber den Aufbau der Terme.\proofend

Als nächstes kommen wir nun zu der einfachsten Art von Formeln, den sogenannten atomaren Formeln.
\begin{definition}
{\em Atomare Formeln}\index{atomare Formel}, auch {\em Primformel}\index{Primformel} genannt, sind
Ausdrücke der Form $Pt_1\dots t_n$ mit einem $n$-stelligen Prädikatssymbol
$P$ oder dem Gleichheitssymbol = (dann ist $n=2$) und Termen $t_1, \dots, t_n$.
\end{definition}

 Dieser Begriff wird also explizit
definiert und nicht durch Induktion. Die atomaren Formel sind die Bausteine, aus
denen kompliziertere Formeln aufgebaut werden.
Die Rolle der atomaren Formeln ist also analog zur Rolle der Satzvariablen in der Aussagenlogik.
Wenn die Symbolmenge groß ist, kann schon die Menge der atomaren Formel überabzählbar sein.
Überlegen Sie sich ein Beispiel.

\begin{definition}
Nun definieren wir für jede Symbolmenge $\tau$ die Menge 
${\mathcal L}(\tau)$, die   {\em die Sprache der ersten 
Stufe zur Symbolmenge $\tau$} oder 
{\em die Menge der ${\mathcal L}(\tau)$-Formeln} genannt wird:
\index{${\mathcal L}(\tau)$-Formel}\index{${\mathcal L}(\tau)$} 
${\mathcal L}(\tau)$ ist die kleinste Menge, für die 
folgendes gilt:
\begin{myrules}
\item[1.] Jede atomare Formel ist eine Formel.
\item[2.] Wenn $\varphi$ eine Formel ist, dann ich auch $\neg \varphi$ eine Formel.
\item[3.] Wenn $\varphi$ und $\psi$ Formeln ist, dann ist auch $(\varphi \rightarrow \psi)$ eine Formel
\item[4.] Wenn $\psi$ eine Formel ist und $v$ eine Variable ist, dann ich auch $\forall v \psi$
eine Formel.
\end{myrules}
\end{definition}

Wir sagen, dass die Menge der Formeln dadurch erzeugt wird, dass die
Menge der atomaren Formeln unter den Junktoren und den Quantoren abgeschlossen wird. Wieder gilt
\begin{lemma} Keine Formel ist echtes Anfangsst\"uck einer anderen Formel.
\end{lemma}



Wir geben als Beispiele zwei Formeln der Mengenlehre:

$(\forall v_2 \in v_2 v_1)$, in geläufigerer Form $(\forall v_2 v_2 \in v_1)$,
auch
$(\forall v_2)( v_2 \in v_1)$, $\forall v_2 v_2 \in v_1$ u.ä.,\\
$\neg \forall v_1\neg \forall v_2 \in v_2 v_1$ auch $\exists v_1
\forall  v_2 v_2 \in v_1$.

Diese erste Formel sagt: \glqq Jede Menge ist ein Element von $v_1$'', und die zweite drückt aus:
 \glqq es gibt eine Menge, die jede Menge als Element enthält.''
Es gibt einen wichtigen Unterschied zwischen diesen beiden Beipielen: Im zweiten Beispiel
haben wir einen vollständigen Satz, im ersten Beispiel hingegen haben wir eine Formel, deren
Bedeutung von der Interpretation der Variablen abhängt. $v_1$ wird eine freie Variable
der ersten Formel genannt. Wir geben  jetzt eine genaue Definition dieses Begriffs:

\begin{definition}
Die Eigenschaft {\em \glqq $v$ tritt frei  in der
Formel $\varphi$ auf''}\index{freie Varbiable}  wird induktiv über den Aufbau von $\varphi$
definiert.
\begin{myrules}
\item[0.] Wenn $\varphi$ atomar ist, dann tritt $v$ frei in $\varphi$ auf
gdw $v$ eine Variable in $\varphi$ ist.
\item[1.] $v$ tritt frei in $\neg \varphi$ auf gdw $v$ frei in $\varphi$ auftritt.
\item[2.] $v$ tritt frei in $(\varphi \rightarrow \psi)$ auf gdw $v$ in $\varphi$
oder in $\psi$ frei auftritt.
\item[3.] $v$ tritt frei in $\forall v_i\varphi$ auf gdw $v$ frei in $\varphi$ auftritt
und ungleich $v_i$ ist.
\end{myrules}
Wir schreiben ${\rm fr}(\varphi)$\index{ ${\rm fr}(\varphi)$} für
die Menge aller Variablen, die frei in $\varphi$ auftreten,
\end{definition}

\begin{definition}
Wenn keine Variable frei in der Formel $\varphi$ auftritt, dann
sagen wir, dass $\varphi$ ein {\em Satz}\index{Satz} ist.
\end{definition}
Die Sätze  sind die Formeln mit einer vollständigen Bedeutung. Sie ist unabhängig
von der Interpretion der Variaben. Dies werden wir im Koinzidenzlemma beweisen.

\begin{definition}
Die Variablen, die in $\varphi$ überhaupt vorkommen, heißen die
{\em Variablen von $\varphi$}\index{Variable von $\varphi$}. Die Variablen
von $\varphi$, die nicht frei in der Formel $\varphi$ auftreten,
heißen die {\em gebundenen Variablen von $\varphi$}\index{gebundene
Variable}.
\end{definition}

Wir werden die beiden Weisen des Vorkommens genauer unterscheiden, wenn wir die
Semantik der Logik der ersten Stufe vorstellen.

\ssection{Abkürzungen und Klammern}

Um unsere Fomeln einfacher lesen zu können, erlauben wir uns, Ausdrücke zu schreiben, die streng
genommen keine Formeln sind, aber einfach in Formeln übertragen werden können:

\smallskip

Abkürzungen:\\
$(\alpha \vee \beta)$ für $\neg \alpha \rightarrow \beta$\\
$(\alpha \wedge \beta)$ für $\neg (\alpha \rightarrow \neg\beta)$\\
$(\alpha \leftrightarrow \beta)$ für
$((\alpha \rightarrow \beta) \wedge (\beta \rightarrow \alpha))$\\
$\exists v \alpha$ für $\neg \forall v \neg \alpha$\\
$t_1 =t_2$ für $=t_1t_2$\\
$t_1 \neq t_2$ für $\neg = t_1t_2$

 \smallskip

Klammern:\\
0. Wir lassen die äußersten Klammern weg.\\
1. $\exists v$ und $\forall v$ beziehen sich auf sowenig wie möglich. (Beispiel:
$\forall v_1 v_1\in v_2 \wedge v_1 \in v_3$).\\
2. $\alpha \rightarrow \beta \rightarrow \gamma$ steht für $\alpha \rightarrow
(\beta \rightarrow \gamma)$.

\ssection{Wahrheit und Modelle}

In der Aussagenlogik weien Wahrheitsbelegungen den Satzsymbolen und dann auch
beliebigen Formeln Wahrheitswerte zu. 
In der Logik der ersten Stufe wird die Rolle
der Wahrheitbelegung durch Strukturen übernommen.
Strukturen liefern eine Bedeutung für die Quantoren und
 die nichtlogischen Symbole der jeweiligen Sprache
ersten Stufe.

\begin{definition}
Eine {\em Struktur}\index{Struktur} $\A=(A,(P^\A)_{P\in \tau},
(F^\A)_{f\in \tau}, (c^\A)_{c\in \tau})$, für eine gegebene Sprache erster Stufe ist eine Funktion,
die als Definitionsbereich $\{\forall\}$ vereinigt mit der
Menge der nichtlogischen Symbole der Sprache hat und
für die folgendes gilt:

\begin{myrules}
\item[0.] $\A$ weist dem Quantor $\forall$ eine nicht leere
Menge $|\A|=A$ zu, die das Universum von $\A$ oder der Träger von $\A$ (domain, universe, support)
genannt wird. Wir schreiben oft $A$ für $|\A|$.
\item[1.]
$\A$ weist jedem $n$-stelligen Prädikatssymbol $P$ ein $n$-stelliges Prädikat
 $P^\A \subseteq |\A|^n$ zu,
d.h.\ $P^\A$ ist eine Menge von $n$-Tupeln von Elementen des Universums $|\A|$.
\item[2.]
$\A$ weist jedem Konstantensymbol  $c$ ein Element $c^\A \in |\A|$ zu.
\item[3.]
$\A$ weist jedem $n$-stelligen Funktionssymbol  eine $n$-stellige Funktion\\ $f^\A \colon|\A|^n \to
|\A|$ zu.
\end{myrules}
\end{definition}

Die Idee ist: 
$\A$ gibt dem Quantor $\forall$ die Bedeutung für jedes Element von $A$.
Außerdem weist $\A$ den Prädikats-, Funktions- und Konstantensymbolen der Sprache Bedeutungen  zu.
 Wir verlangen, dass die $n$-stelligen Funktionssymbole so interpretiert werden wie totale
Funktionen auf dem Definitionsbereich  $A^n$.

Nun möchten wie eine Bedeutung für den Satz \glqq die Formel
$\varphi$ ist wahr in der Struktur $\A$'' angeben. Hierfür müssen
wir zuerst eine Bedeutung für die Vabiablen unserer Logik
definieren. Eine Belegung\index{Belegung} in $\A$ oder eine
$\A$-Belegung ist eine Funktion $s$ von der Menge der Variablen in
$|\A|$. Wir wollen
\begin{quote}
\glqq $\A$ mit der Belegung $s$ erfüllt $\varphi$'',
\end{quote}
kurz $\A \models \varphi[s]$, auch $(\A,s)\models \varphi$,
 für beliebige $\A$-Belegungen  per Induktion über $\varphi$ definieren.

Zuerst erhalten alle Terme Bedeutungen, indem wir $s$ zu einer Funktion $\bar{s}$
auf der Menge der Terme erweitern:

\begin{definition}
Sei $s \colon \{v_0,v_1,\dots\} \to A$ eine Belegung für die 
$\tau$-Struktur $\A$.
Wir definieren die Fortsetzung $\bar{s}$ von $s$ auf die Menge 
der $\tau$-Terme
wie folgt:\\
1. $\bar{s}(v)= s(v)$\\
2. $\bar{s}(c) = c^\A$\\
3. Wenn $t_1, \dots ,t_n$ Terme sind und $f$ eine $n$-stelliges Funktionssymbol ist, dann ist
$\bar{s}(ft_1\dots t_n)= f^\A(\bar{s}(t_1),\dots, \bar{s}(t_n))$.
\end{definition}



Um die Quantorenschritte in der Definition von \glqq $\A$ mit der
Belegung $s$ erfüllt $\varphi$'' richtig zu behandeln, definieren
wir zunächst eine Art, Belegungen $s$ in einem ihrer Argumente
eventuell zu ändern:

\begin{definition}\label{models}
Wenn $s$ eine $\A$-Belegung ist und $x$ eine Variable ist und $a$ ein Element von $|\A|$ ist,
 dann ist $s(x|a)$ (sprich \glqq $s$, $x$ ersetzt durch $a$'') die folgende $\A$-Belegung:
\begin{equation*}
s(x|a)(y) = \left\{\begin{array}{ll}
s(y), \mbox{ falls } y \neq x\\
a, \mbox{ falls } y = x.
\end{array}
\right.
\end{equation*}
\end{definition}

Warum haben wir \glqq eventuell zu ändern'' geschrieben?
Wenn $s(x)=a$, dann ist $s(x|a) = s$.

\begin{definition}
{\em \glqq $\A$ mit der Belegung $s$ erfüllt $\varphi$''} 
\index{$\models$ für die Sprache der ersten Stufe}
wird induktiv
über den Aufbau von $\varphi$ gleichzeitig für alle $s$ definiert:

Wenn $\varphi$ atomar ist, dann gilt:
\begin{myrules}
\item[1.] $\A \models t_1= t_2 [s]$ gdw $\bar{s}(t_1)=\bar{s}(t_2)$.

\item[2.] Für jedes $n$-stellige Prädikatssymbol $P$, $ \A \models Pt_1 \dots t_n[s]$ gdw
\\
$\langle \bar{s}(t_1),\dots, \bar{s}(t_n)\rangle \in P^\A$.

\end{myrules}
F\"ur zusammengesetzte $\phi$ gilt:
\begin{myrules}

\item[3.] $\A \models \neg \varphi[s]$ gdw nicht $\A \models \varphi[s]$.

\item[4.] $\A \models (\varphi \to \psi)[s]$ gdw $\A \not\models \varphi[s]$ oder $\A \models \psi[s]$.

\item[5.] $\A \models \forall x \varphi[s]$ gdw für jedes $a \in A$, $\A \models \varphi[s(x|a)]$.
\end{myrules}

Statt $\A \models \varphi[s]$ schreibt man auch $(\A,s) \models
\varphi$, und man nennt eine Struktur $\A$ zusammen mit einer Belegung $s$
 eine {\em Interpretation}\index{Interpretation} $(\A,s)$.

\end{definition}


Aus der \glqq Erfüllt-Relation'' $\models$ wird nun, analog wie in der Aussagenlogik,
die logische Implikation für die Logik der ersten Stufe definiert. 
Es folgt nun
eine der wichtigsten Definitionen in der gesamten Vorlesung:

\begin{definition}
Sei $ \Gamma$ eine Formelmenge und sei $\varphi$ eine Formel. {\em \glqq
$\Gamma$ impliziert $\varphi$''}\index{$\Gamma\models \varphi$},
(oder {\em \glqq aus $\Gamma$ folgt $\varphi$''} oder {\em \glqq $\varphi$
folgt aus $\Gamma$''} oder, in Zeichen, $\Gamma\models \varphi$ ) gdw
für jede Struktur $\A$ der Sprache von $\Gamma \cup \{\varphi\}$ und
für jede $\A$-Belegung $s$ gilt: Wenn $(\A,s)$ jedes Element von
$\Gamma$ erfüllt, dann erfüllt $(\A,s)$ auch $\varphi$.
\end{definition}

%Beginn 5.Sitzung
%\setcounter{chapter}{3}
%\setcounter{theorem}{7}

Wenn $\Gamma$ nur ein Element $\Gamma$ hat, dann schreiben wir
$\gamma \models \varphi$ statt $\{\gamma\}\models \varphi$. Wenn
$\Gamma$ leer ist, dann schreiben wir $\models \varphi$ statt
$\emptyset \models \varphi$, und sagen dass $\varphi$ allgemeingültig
(valid, gültig)\index{allgemeingültig} ist. Die gültigen Formeln der
Logik der ersten Stufe entsprechen den Tautologien der
Aussagenlogik. $\varphi$ ist gültig gdw wenn jede Struktur $\A$  und
jede $\A$ Belegung zusammen $\varphi$ erfüllen.

\smallskip

{\em Vorsicht:} Die logische Implikation $\models$ heißt auf deutsch die Folge-Relation oder auch
die Folgerungsrelation.
Letzters ist leicht zweideutig, wie Sie in den nächsten Vorlesungen sehen werden
(es kann auch  die Relation $\vdash$ unter \glqq Folgerung'' verstanden werden).
Wenn wir den Gödel'schen Vollständigkeitssatz bewiesen haben 
(ab Ende des Kapitels~\ref{C4}),
können wir mit der
Zweideutigkeit leben, da wir dann wissen, dass $\models$ und $\vdash$ äquivalent sind.

\smallskip

Der folgende Satz beschreibt die Rolle der freien Variablen.
\begin{theorem}\label{3.14}
{\em Koinzidenzlemma}\index{Koinzidenzlemma}. Seien $s_1$ und $s_2$
$\A$-Belegungen, die auf den Variablen, die frei in $\varphi$
auftreten, übereinstimmen. Dann gilt
$$\A \models \varphi[s_1] \mbox{ gdw } \A \models \varphi[s_2].$$
\end{theorem}

\noindent
Beweis durch Induktion über den Aufbau von $\varphi$.

Fall 1: $\varphi$ ist atomar. $\varphi= Pt_1 \dots t_n$ ($P$ kann
auch das Gleichheitszeichen sein). In diesem Fall tritt jede
Variable in $\varphi$ frei auf. Deshalb stimmen $s_1$ und $s_2$ auf
allen Variablen in $t_i$ für jedes $i$ überein, und $\bar{s_1}(t_i)
= \bar{s_2}(t_i)$ für jedes $i$. Daher ist $\A \models \varphi[s_1]$
gdw $(\bar{s_1}(t_1),\dots,\bar{s_1}(t_n)) \in P^\A$ gdw
$(\bar{s_2}(t_1),\dots,\bar{s_2}(t_n)) \in P^\A$ gdw  $\A \models
\varphi[s_2]$, wie gewünscht.

Fall 2 und Fall 3: $\varphi$ ist von der Form $\neg \alpha$ oder
$(\alpha \rightarrow \beta)$. Diese Fälle folgen direkt aus den
Induktionsannahmen.

Fall 4 (der interessante Fall): $\varphi= \forall x \psi$. Dann ist
jede Variable frei in $\varphi$ gdw sie frei in $\psi$ und nicht
gleich $x$ ist. Somit stimmen $s_1(x|a)$ und $s_2(x|a)$ für jedes
Element $a$ von $|\A|$ auf den freien Variablen von $\psi$ überein.
Nach der Induktionannahme gilt f\"ur jedes $a \in A$,
 $\A\models \psi[s(x|a)]$ gdw $\A
\models \psi[s(x|a)]$.
 Da dies für beliebiges $a$ gilt, folgt, dass $\A \models \forall x \psi[s_1]$ gdw
$\A\models \forall x \psi[s_2]$. \proofend

\begin{corollary}\label{3.9}
Wenn $\sigma$ ein Satz ist, dann gilt $\A\models \sigma[s]$ für
keine Belegung oder aber für alle Belegungen.
\end{corollary}

Wir sagen, dass der Satz $\sigma$ wahr in $\A$ ist gdw
wenn $\A$ mit mit jeder $\A$-Belegung erfüllt, geschrieben $ \A \models \sigma$. Sonst ist
$\sigma$ falsch in $\A$. Wenn $\sigma$ wahr in $(\A,s)$ ist, dann ist $(\A,s)$
 ein Modell von $\sigma$.
Wenn $\Sigma$ eine Menge von Sätzen ist, dann ist $(\A,s)$ ein Modell von 
 $\Sigma$ gdw $(\A,s)$ ein
Modell von jedem Satz  $\Sigma$ ist.

\begin{corollary}\label{3.10} Seien $\Sigma$ eine Menge von Sätzen und 
sei $\tau$ ein Satz.
Dann gilt $\Sigma \models \tau$ gdw jedes Modell von $\Sigma$ auch ein Modell von $\tau$ ist.
\end{corollary}

Beachten Sie, dass die Definition der logischen Implikation für die Logik der
ersten Stufe viel komplizierter als für die Aussagenlogik ist. Um zu entscheiden, ob eine
Formel gültig ist oder nicht, müssen wir jede Struktur der Sprache und jede Belegung beachten
 und dann prüfen, ob $(\A,s)$ $\varphi$ erfüllt oder nicht. Deshalb ist es nicht klar, ob die
Menge der gültigen Formeln der Logik der ersten Stufe entscheidbar ist.
Tatsächlich werden wir zeigen, dass die Gültigkeit nicht entscheidbar ist.
Überraschenderweise impliziert der Gödelsche Vollständigkeitssatz,
dass die Menge der gültigen Formeln  der Logik der ersten Stufe effektiv aufzählbar ist.
Wir werden diese Aufzählbarkeit im Anschluss an den G\"odel'schen Vollst\"andigkeitssatz zeigen und die Unentscheidbarkeit im Kapitel \"uber die G\"odel'schen Unvollst\"andigkeitss\"atze zeigen.

In einer vielleicht etwas willkürlichen, jedoch allgemein akzeptierten Aufteilung
gehört $\models$ zu den semantischen Begriffen, die sich unmittelbar mit den Strukturen
beschäftigen. Wir werden nun noch zwei weitere semantische Begriffe definieren,
bevor wir uns auf die sogenannte synaktische Seite begeben.

\begin{definition}
Sei $\A$ eine Struktur und sei $\fr(\varphi) \subseteq
\{v_0,\dots,v_{n-1}\}$ und seien $a_0, \dots, a_{n-1}$ Elemente aus
$|\A|$. Dann schreiben wir
$$\A \models \varphi[a_0,\dots,a_{n-1}]$$
gdw $(\A,s) \models \varphi$ für $s(v_i) = a_i$, $i = 0, \dots,
n-1$.
\end{definition}

\begin{definition}
$P \subseteq |\A|^n$  ist {\em definierbar in $\A$}\index{definierbar in
$\A$} gdw es eine Formel $\varphi$ mit den freien Variablen aus
$\{v_0,\dots, v_{n-1}\}$ gibt, so dass $P=\{(a_0,\dots,a_{n-1}) \such
\A \models \varphi[a_0,\dots, a_{n-1}])\}.$ Wir sagen hierzu
{\em $\varphi$ definiert $P$ in  $\A$}.
\end{definition}

Wir betrachten zum Beispiel Definierbarkeit in der
 Struktur $\mathfrak N =({\mathbb N}, 0,1,+,\cdot)$:
 Einige Relationen sind in $\mathfrak N$
definierbar, andere nicht. Da es nur abzählbar viele Formeln gibt, sind nur abzählbar viele
Relationen definierbar. Es gibt jedoch überabzählbar viele Relationen auf $\mathbb N$.
Zum Beispiel ist die Ordungsrelation  $\{ (n,m) \such n < m \}$ definierbar
und die Menge der Primzahlen und die Exponentiationsrelation $\{ (n,m,s) \such
s = n^m\}$. Die erstgenannte wird durch die Formel $\exists v_3 v_1 + Sv_3 = v_2$ definiert,
die zweite durch die Formel $ 1 < v_1 \wedge \forall
v_2 \forall v_3(v_1= v_2 \cdots v_3 \rightarrow v_2 = 1 \vee v_3 =1)$ und die dritte durch
eine kompliziertere Formel, die wir im sogenannten G\"odel'schen
$\beta$-Lemma~\ref{betaLemma} sehen werden. Wir werden im Kapitel
\"uber die Unvollst\"andigkeitss\"atze auch zeigen,
dass jede entscheidbare Relation und 
jede effektiv aufzählbare Relation und viele weitere
Relationen auf $\mathbb N$ in $\mathfrak N$ definierbar sind.

Es ist oft viel schwieriger zu zeigen, dass eine gegebene Relation in einer gegebenen Struktur $\A$
nicht definierbar ist. 
Ein hinreichendes Kriterium für Nicht-Definierbarkeit in $\A$ ist zum Beispiel
die Existenz eines Automorphismus $i$ von $\A$, der $P$ bewegt, d.h. $i{''}P :=
\{i(\bar{a}) $ $\such \bar{a} \in P\}\neq P$. Hier schreiben wir
$i(\bar{a}) = (i(a_0),\dots , i(a_{n-1}))$.

\begin{definition}
Seien $\A$ und $\B$ $\tau$-Strukturen. $i$ ist ein {\em 
Isomorphismus von $\A$ auf
$\B$}\index{Isomorphismus} gdw
$i \colon A \to B$ eine Bijektion ist, die alle Symbole in $\tau$ erhält.
In Formeln heißt dies:
\begin{myrules}
\item[(a)]
$i(c^\A ) = c^\B$ für jedes Konstantensymbol $c\in \tau$,
\item[(b)]
$P^\A(a_0,\dots,a_{n-1})$ gdw $P^\B(i(a_0),\dots,i(a_{n-1}))$ für jedes $n$ und jedes
Symbol für ein $n$-stelliges Prädikat $P \in \tau$
und 
\item[(c)]
$i(f^\A(a_0,\dots a_{n-1}))=f^\B(i(a_0),\dots i(a_{n-1}))$ für jedes $n$ und jedes
Symbol für eine $n$-stellige Funktion in $\tau$.
\end{myrules}
$\A$ und $\B$ heißen isomorph\index{isomorph}, in Zeichen
$\A\cong \B$\index{$\cong$}, 
wenn es einen Isomorphismus von $\A$ auf $\B$ gibt.

Isomrophismen von $\A$ auf $\A$ hei\ss en Automorphismen\index{Automorphismus}.
\end{definition}

\begin{lemma}
Jeder Isomorphismus von $\A$ auf $\B$ ist treu f\"ur
jede definierbare Relation.
\end{lemma}

\noindent
Beweis: Dies zeigt man induktiv über den Aufbau der definierenden
Formel. Übung!







\schapter{Der G\"odel'sche Vollständigkeitssatz}\label{C4}

In diesem Kapitel beweisen wir Schritt f\"ur Schritt
 den G\"odel'schen Vollständigkeitssatz.


\ssection{Beweistheorie}

Der Begriff der Gültigkeit  ist in der Logik der ersten Stufe ($\Gamma \models
\phi$) 
recht kompliziert. Gibt es
eine einfachere Definition? Können wir zum Beispiel für eine Sprache mit nur endlich
vielen nichtlogischen Symbolen die Menge der gültigen Formeln effektiv aufzählen? Gödel
gab eine positive Antwort. Dieses Ergebnis 
ist eines der Korollare aus dem Gödel'schen Vollständigkeitssatz.

Die Idee des Vollst\"andigkeitssatzes ist einfach. Wir zeigen, dass
jede g\"ultige Formel mit einfachen Mitteln aus der leeren
 Voraussetzungsmenge beweisbar ist. 
Hierzu pr\"azisieren wir den Beweisbegriff wie folgt:
Wir geben eine entscheidbare Menge $\Lambda$ gültiger logischer
Axiome\index{gültige logische Axiome}
an. Dann nennen wir eine endliche Folge von Formeln einen {\em formalen Beweis}\index{formaler Beweis},
wenn jede dieser
Formeln ein logisches Axiom ist oder unter Verwendung 
der Schlussregel Modus Ponens
 aus früheren Formeln folgt. Die Modus Ponens Regel (MP)\index{modus ponens} lautet:
$$ \mbox{Aus $\varphi$ und $(\varphi \rightarrow \psi)$ folgt $\psi$.}$$

Die Menge der formalen Beweise ist entscheidbar. (Überlegen Sie sich das,
nachdem Sie die Definition gesehen haben.)
Nun ist eine Formel ein formaler Satz gdw sie die
letzte Formel eines Beweises ist. Da die Menge der Beweise entscheidbar ist, folgt, dass
 die Menge der formalen Sätze effektiv aufzählbar ist.
Da die Menge der formalen Beweise mit der Menge der gültigen Formeln 
übereinstimmt, ist daher such die letztere effektiv aufzählbar.

\medskip

{\bf Formale Beweise}

Wir geben nun ein kurzes vollst\"andiges Regelwerk f\"ur formale Beweise an:
Sei eine Sprache $\tau$ der ersten Stufe gegeben. 
Wir folgen hier dem dem sogenannten Hilbert'schen Beweiskalk\"ul,
der in den Büchern von Joseph Shoenfield \cite{Shoenfield},
Herbert Enderton
\cite{EndertonL} und Ziegler \cite{Zieglerbuch} beschrieben wird.
Eine äquivalenter Beweiskalk\"ul, der sogenannte 
Sequenzenkalkül \index{Sequenzenkalkül}, wird 
in den Lehrbüchern von
 Hermes \cite{Hermes}, Ebbinghaus, Flum und Thomas \cite{EFT}
und auch Ziegler \cite{Zieglerbuch}  beschrieben.

Wir definieren
zun\"achst
 eine besondere Menge von Formeln
$\Lambda$, die Menge der logischen Axiome. 

Einschub: Wie ist der Begriff \glqq Axiom'' im Duden definiert?

\begin{definition}\label{4.1}
 Der sogenannte {\em Hilbertkalkül}\index{Hilbertkalkül} für Beweise.
Die Menge $\Lambda$ der {\em logischen Axiome}\index{logisches Axiom} 
besteht aus sechs
Teilmengen. $\varphi$ heißt eine Verallgemeinerung von $\psi$ gdw
für ein $n \geq 0$ und Variablen $x_0 \dots, x_{n-1}$ gilt
$$\varphi = \forall x_0 \dots \forall x_{n-1} \psi.$$
Wir gestatten auch $n = 0$.
Die logischen Axiome sind Verallgemeinerungen 
von Formeln aus den Gruppen 1 bis 6. Seien $x,y$
Variablen und $\alpha$, $\beta$ Formeln. 
Wir beschreiben nun die Gruppen 1 bis 6:
\begin{myrules}
\item[1.] Alle Tautologien der Aussagenlogik.
\item[2.] Ersetzungsaxiome: $\forall x \alpha \rightarrow \alpha _t^x$, wenn $t$ für $x$ in
$\alpha$ eingesetzt werden kann.
Wann $t$ überhaupt für $x$ eingesetzt werden kann, wird in Definition~\ref{einschr}
beschrieben. Die Formel
$\alpha_t^x$ wird in Definition~\ref{3.14} definiert.
\item[3.] $\forall x(\alpha \rightarrow \beta) \rightarrow (\forall x \alpha \rightarrow
\forall x \beta)$.
\item[4.] $\alpha \rightarrow \forall x \alpha$, wenn $x$ nicht frei in $\alpha$ auftritt.
\item[5.] $ x = x$.
\item[6.]  $x= y \rightarrow (\alpha \rightarrow \alpha')$, wenn $\alpha$ atomar ist und
$\alpha'$ aus $\alpha$ dadurch entsteht, dass $x$ durch $y$ an einigen  Stellen ersetzt wird.
\end{myrules}

Sei nun $\Gamma$ eine Menge von Formeln und sei $\varphi$ eine
Formel. Ein Beweis von $\varphi$ aus $\Gamma$ ist eine Folge
$\langle \alpha_0,\dots, \alpha_n\rangle$ von Formeln, so dass
$\alpha_n = \varphi$ und für jedes $ i \leq n$ gilt:
\begin{myrules}
\item[1.] $\alpha_i \in \Gamma \cup \Lambda$ oder
\item[2.]
es gibt $j,k < i$ so dass $\alpha _k = (\alpha_j \rightarrow \alpha_i)$ ist.
In diesem Falle ergibt sich $\alpha_i$ aus vorangehenden $\alpha_j$ und $\alpha_k$ aus dem
 modus ponens.
\end{myrules}

Wenn es einen Beweis von $\varphi$ aus $\Gamma$ gibt, dann sagen
wir, dass $\varphi$ aus $\Gamma$ {\em beweisbar}\index{beweisbar} ist,
und schreiben $\Gamma
\vdash \varphi$.
\end{definition}

\medskip


Gruppe 1: Tautologien.

Die Tautologien der Logik der ersten Stufe ergeben sich aus den
Tautologien der Aussagenlogik, die nur $\neg$ und $\rightarrow$ (
nicht aber $\wedge$, $\vee$, $\leftrightarrow$
 enthalten), indem wir jedes Satzsymbol durch eine Formel der Logik der ersten Stufe ersetzen.
In Gruppe 1 nehmen wie auch alle Verallgemeinerungen solcher Formeln auf.
Zum Beispiel gehört die Formel $\forall x [(\forall y \neg Py
\rightarrow \neg Px) \rightarrow (Px \rightarrow  \neg \forall y
\neg
 Py )]$  zu Gruppe 1, weil sie eine Verallgemeinerung der Formel in eckigen Klammern ist und
 sich die Formel in eckigen Klammern aus der folgenden Tautologie der Aussagenlogik ergibt:
$$(A\rightarrow \neg B)\rightarrow (B\rightarrow \neg A).$$

Eine andere Art, die Menge der Tautologien der ersten Stufe zu
erklären, ist folgende: Nennen wir eine Formel {\em Satzsymbolformel}
\index{Satzsymbolformel} 
gdw sie entweder
atomar ist oder von der Form $\forall x \alpha$ ist. 
Bei manchen Autoren werden die Satzsymbolformeln auch Primformeln genannt, 
aber
prim war bei uns schon ein Synonym f\"ur atomar. Jede Formel der
Logik der ersten Stufe wird aus Satzsymbolformeln mithilfe der Junktoren
$\neg$ und $\rightarrow$  aufgebaut. Nun definieren wir die
Tautologien der Aussagenlogik um, indem wir die Primformeln wie
 Satzsymbole behandeln und nur die Junktoren $\neg$ und $\rightarrow$ verwenden. Dann darf
\glqq außen'' noch verallgemeinert werden. Das Ergebnis ist die Menge der Tautologien der Logik
der ersten Stufe.

\medskip

Gruppe 2: Ersetzung\index{Ersetzung von $x$ durch $t$}. Von der Technik 
her ist dies die komplexeste Axiomengruppe.

\begin{definition}\label{einschr}%4.2
Wir definieren induktiv über den Aufbau von $\alpha$, 
wann {\em $t$ für $x$ in $\alpha$ eingesetzt
werden kann}. Man sagt hierf\"ur auch 
{\em \glqq$x$ ist frei f\"ur $t$ in $\alpha$''.}

\begin{myrules}
\item[1.] $t$ kann in atomaren $\alpha$ immer für $x$ eingesetzt werden.
\item[2.] $t$ kann in $\neg\alpha$ für $x$ eingesetzt werden gdw dies für $\alpha$
möglich ist. $t$ kann in $(\alpha \rightarrow \beta)$ für $x$ eingesetzt werden, gdw dies für
$\alpha$ und für $\beta$ der Fall ist.
\item[3.] $t$ kann in $ \forall y \alpha$ für $x$ eingesetzt werden gdw
\begin{myrules}
\item[(a)] $x$ in $\forall y \alpha$ nicht frei auftritt, oder
\item[(b)] $x\neq y$ und $y$ in $t$ nicht auftritt und $t$ in $\alpha$ für $x$ eingesetzt werden kann.
\end{myrules}
\end{myrules}
\end{definition}

\begin{lemma}\label{4.3} $x$ ist frei f\"ur $t$ in $\alpha$ gdw kein freies Vorkommen
 von $x$ im Wirkungsbereich eines Quantors von $\alpha$ ist, der eine
 Variable von $t$ bindet.
\end{lemma}

\begin{definition}\label{4.4}
Nun definieren wir für Formeln $\alpha$, Variablen $x$ und Terme $t$ die Formel $\alpha_t^x$,
unter der Voraussetzung, dass  $t$ für $x$ in $\alpha$ eingesetzt
werden kann.
$\alpha_t^x$ heißt $\alpha$, $x$ ersetzt durch $t$.
Die Formel $\alpha_t^x$   wird indukiv über den Aufbau von $\alpha$
definiert, und --- Vorsicht --- ist nicht immer definiert.
\begin{myrules}
\item[1.] Für atomares $\alpha$ ergibt sich $\alpha_t^x$, indem wir in $\alpha$ alle $x$ durch $t$
ersetzen.
\item[2.] $(\neg \alpha)_t^x = \neg \alpha _t^x$, wenn $t$ für $x$ in
$\alpha$ eingesetzt werden kann, undefiniert sonst,
\item[3.] $(\alpha \rightarrow \beta)_t^x = (\alpha^x_t \rightarrow \beta_t^x)$, wenn
$t$ für $x$ in $\alpha$ eingesetzt werden kann und in $\beta$ eingesetzt werden kann, und
undefiniert sonst,
\item[4.] $(\forall y \alpha)_t^x$
ist
\begin{myrules1}
\item[(a)] $\forall y \alpha$, falls $y=x$,
\item[(b)] $\forall y (\alpha_t^x)$, falls $y\neq x$ und
$x$ in $\forall y \alpha$ nicht frei auftritt,
\item[(c)] $\forall y \alpha_t^x$, falls $x\neq y$ und $y$ in $t$ nicht auftritt und
$t$ in $\alpha$ für $x$ eingesetzt werden kann,
\end{myrules1}
und undefiniert, falls keiner der drei Fälle eintritt.
\end{myrules}
\end{definition}

Hier wird es interessant. Es scheint, dass $(\forall x \alpha \rightarrow \alpha_t^x)$ ein
vernünftiges (d.h. korrektes, s.u.) Axiom ist und dass
wir die ungewöhnliche Einschränkung der Definition nicht brauchen.
Ohne die Einschränkung bei der Definition kann das Axiom aber falsch sein, wenn nämlich $x$
für  ein freies $y$ eingesetzt wird. Zum Beispiel schauen wir die Formel
$\alpha= \exists y ( y \neq x)$  und $t = y$ an. Dann wird
$\forall x \alpha \rightarrow \alpha_t^x$ zu
$$\forall x \exists y (x \neq y) \rightarrow \exists y ( y \neq y),$$
was
offensichtlich für jede Struktur falsch ist, deren Universum mehr als ein Element hat.
Wir lösen dieses Problem, indem wir $\alpha$, $x$ und $t$ einschränken wie in
Definition~\ref{einschr}.
Erhalten wir nun tatsächlich eine gültige Formel $\forall x \alpha \rightarrow \alpha_t^x$,
 wenn $t$ für $x$ in $\alpha$ eingesetzt werden kann?

\begin{lemma}\label{4.5}
Ersetzungslemma oder Substitutionslemma\index{Ersetzungslemma}
\index{Substitutionslemma}.
Wenn der Term $t$ in der Formel $\alpha$ für die Variable $x$ eingesetzt werden kann, dann
$$\A \models \alpha_t^x[s] \mbox{ gdw } \A \models \alpha [s(x|\bar{s}(t))].$$
\end{lemma}

\noindent Beweis: Wir führen den interessantesten Schritt vor: Sei $\varphi =
\forall y \alpha$, und sei $x\neq y$ und trete $y$ nicht in $t$ auf
und möge $t$ für $x$ in $\alpha$ eingesetzt werden können. Dann
$\A \models \varphi_t^x[s]$\\
 gdw
$\A \models \forall y \alpha_t^x [s]$\\
gdw
f.a.\ $a \in A$, $\A \models \alpha_t^x[s(y|a)]$ \\
gdw (IV)
f.a.\ $a\in A$, $\A \models \alpha [s(y|a)(x|\bar{s}(y|a)(t))]$\\
gdw (da $x \neq y$ und da $y$ in $t$ nicht auftritt)
f.a.\ $a\in A$, $\A \models \alpha [s(x|\bar{s}(t))(y|a)]$\\
gdw
$\A \models \forall y \alpha [s(x|\bar{s}(t))]$
\\
gdw $\A \models \varphi[s(x|\bar{s}(t))]$.

\medskip

Wir führen einen weiteren sehr interessanten Schritt vor, den von
Definition~\ref{einschr} Punkt 4(b): Sei $\varphi = \forall y \alpha$, und sei
$x\neq y$ und trete $x$ nicht frei in $\forall y\alpha$ auf. Dann
$\A \models \varphi_t^x[s]$\\
 gdw
$\A \models \forall y \alpha_t^x [s]$\\
gdw
f.a.\ $a \in A$, $\A \models \alpha_t^x[s(y|a)]$ \\
gdw (IV)
f.a.\ $a\in A$, $\A \models \alpha [s(y|a)(x|\bar{s}(y|a)(t))]$\\
gdw (da $x \neq y$ und da $x$ in $\alpha$ nicht frei auftritt, 
Koinzidenzlemma, Satz~\ref{3.14})
f.a.\ $a\in A$, $\A \models \alpha [s(y|a)]$\\
gdw
$\A\models \forall y\alpha[s]$\\
gdw (wieder Koinzidenzlemma, Satz~\ref{4.14})
$\A \models \forall y \alpha [s(x|\bar{s}(t))]$
\\
gdw $\A \models \varphi[s(x|\bar{s}(t))]$. \proofend

\begin{corollary}\label{4.6}
Die Ersetzungsaxiome sind gültig.
\end{corollary}
\noindent
Beweis: Nehmen wir an, dass $t$ in $\alpha$ für $x$ eingesetzt werden kann und $(\A,s)$ die Formel
$\forall x\alpha$  erfüllt . Wir müssen zeigen, dass $(\A,s)$ auch $\alpha_t^x$
erfüllt. Wir wissen, dass
$\A \models \alpha [s(x|a)]$ für jedes $a \in |\A|$. Dann gilt dies insbesondere für
$a = \bar{s}(t)$. Damit ist die Formel $(\forall x \alpha \rightarrow \alpha_t^x)$
gültig, wie gewünscht.
\proofend

\smallskip

\begin{theorem}\label{4.7} Gültigkeitssatz\index{Gültigkeitssatz}.
Jedes Axiom ist gültig, d.h., wenn $\varphi$ ein logisches Axiom ist
und $\A$ eine Struktur ist und $s$ eine $\A$-Belegung ist, dann gilt
$(\A,s) \models \varphi$.
\end{theorem}
\noindent
Beweis: Beachten wir zuerst, dass jede Verallgemeinerung einer
gültigen Formel auch gültig ist. Wenn zum Beispiel $\varphi$ die
Formel $\forall x \psi$ mit einem gültigen $\psi$ ist, dann haben
wir $\A \models \psi[s]$ für alle $\A$, $s$, gdw $\A \models
\psi[s(x|a)]$ für alle $\A$, $s$, $a$, gdw $\A \models \varphi[s]$.

Derselbe Beweis funktioniert, wenn $\varphi$ von der Form $\forall
x_1 \dots \forall x_n \psi$ ist.

Somit ist zu zeigen, dass alle Formeln in allen sechs Axiomengruppen gültig sind. Das ist klar für
die Tautologien, da sie sich aus Tautologien der Aussagenlogik ergeben. Wir haben für
die 2.\ Gruppe schon gezeigt, dass die Ersetzungsaxiome gültig sind.

\medskip

Nun kommen wir zur Gruppe 3:

Betrachten wir das Axiom
$$\forall x (\alpha \rightarrow \beta) \rightarrow (\forall x \alpha
\rightarrow \forall x \beta)$$
Um die Gültigkeit dieses Axioms zu sehen, genügt es zu zeigen, dass
$\A \models \forall x \beta[s]$, wenn $\A \models \forall x (\alpha \rightarrow \beta) [s]$
und $\A \models \forall x \alpha[s]$.
Die beiden Voraussetzungen implizieren
$\A \models (\alpha \rightarrow\beta)[s]$ für alle $a \in |\A|$ und
 $\A \models \alpha [s(x|a)]$ für alle $a \in |\A|$. Zusammen ergibt dies
und $\A \models \beta[s(x|a)]$ für alle $a \in |\A|$,
also $\A \models \forall x \beta[s]$.

\medskip

Gruppe 4. Betrachten wir das Axiom
$$\alpha \rightarrow \forall x \alpha,$$
für $\alpha$, in dem $x$ nicht frei auftritt. Für die Korrektheit
haben wir zu zeigen: Für alle $(\A, s)$: Wenn $(\A,s) \models
\alpha$, dann auch $(\A,s) \models \forall x \alpha$. Letzteres
heißt, dass für jedes $a \in A$, $\A \models \alpha[s(x|a)]$. Nun
stimmen aber $s$ und $s(x|a)$ für alle $a \in |\A|$ auf den freien
Variablen von $\alpha$ überein, da $x$ nicht frei in $\alpha$
auftritt.  Nach dem Koinzidenzlemma für Belegungen gilt, dass $\A
\models \varphi[s(x|a)$ für jedes $a \in \A$. Deshalb ist $\A
\models \forall x \varphi[s]$.

\medskip

Gruppe 5: Klar.

\medskip

Gruppe 6: Wir nehmen ein atomares $\alpha$ und betrachten das Axiom. $x = y \rightarrow
(\alpha \rightarrow \alpha')$.
Hierbei sei $\alpha'$  die Abwandlungvon $\alpha$, in der $x$ an manchen Stellen durch $y$ ersetzt wurde.
Wir zeigen für alle $(\A, s)$: Wenn $\A \models \alpha [s]$ und $s(x) = s(y)$,
dann $\A \models \alpha'[s]$. Nehmen wir an, dass $\alpha= Pt_1 \dots t_n$ und $\alpha' = Pt'_1
\dots t'_n$ und dass $t'_i$ aus $t_i$
 durch Ersetzung einiger $x$ durch $y$ entsteht. Die Relation $P$ kann auch das Gleichheitszeichen sein.
 Da $s(x) = s(y)$ ist, ist
auch
$\bar{s}(t_i) = \bar{s}(t_i')$, wie man induktiv über den Aufbau der Terme zeigt.
Daher ist $(\bar{s}(t_1),\dots, \bar{s}(t_n)) \in P^\A$ gdw $(\bar{s}(t_1'),\dots, \bar{s}(t'_n))
\in P^\A$ und daher
$\A\models Pt_1\dots t_n[s]$ gdw $\A\models Pt_1'\dots t'_n[s]$.
Es folgt, dass $\A \models \alpha'[s]$.
\proofend

So, nun haben wir also zwei Begriffe logischer Implikation: $\Gamma
\vdash \varphi$ bedeutet, dass es einen Beweis von $\varphi$ aus
$\Gamma$ (und den logischen Axiomen $\Lambda$) gibt.
 Und $\Gamma \models \varphi$ ($\Gamma$ impliziert $\varphi$ logisch) bedeutet:
Für jede Struktur $\A$ und jede Belegung $ s$ gilt: Wenn $(\A,s)$
alle $\gamma$ aus $\Gamma$ erfüllt, dann erfüllt $(\A,s)$ auch
$\varphi$. Der Gültigkeitssatz\index{G\"ultigkeitssatz} oder Korrektheitssatz stellt eine
Verbindung zwischen den beiden Begriffen her:

\begin{theorem}\label{4.8}
Korrektheitssatz\index{Korrektheitssatz}. Wenn $\Gamma \vdash
\varphi$, dann $\Gamma \models \varphi$.
\end{theorem}

\noindent
Beweis: Per Induktion über die kürzeste Länge eines formalen Beweises von
$\varphi$ aus $\Gamma$. Sei $\varphi_1 \dots \varphi_n = \varphi$
ein Beweis von $\varphi$ aus $\Gamma$ minimaler Länge.

Fall 1: $\varphi$ ist ein logisches Axiom. Dann folgt aus dem
Gültigkeitssatz, dass $\emptyset$ die Formel $\varphi$ logisch
impliziert. Daher impliziert $\Gamma$ die Formel $\varphi$ logisch.

Fall 2: $\varphi \in \Gamma$. Dann impliziert $\Gamma$ $\varphi$.

Fall 3: Es gibt $i,j < n$, so dass $\varphi_i = (\varphi_j
\rightarrow \varphi)$. Nach der Induktionsannahme impliziert
$\Gamma$ die beiden Formeln $\varphi_i$ und $\varphi_j$ logisch,
 weil es kürzerere Beweise aus $\Gamma$ für $\varphi_i$ und für $\varphi_j$ gibt. Es folgt, dass
$\Gamma \varphi$ logisch impliziert. \proofend

Der Korrektheitssatz liefert auch ein Korollar, das die Begriffe Konsistenz und Erfüllbarkeit
in eine Richtung verbindet:

\begin{definition}\label{4.9}
\begin{myrules}
\item[1.] Eine Formelmenge $\Gamma$ ist {\em widerspruchsfrei}\index{widerspruchsfrei} oder
 {\em konsistent}\index{konsistent} (consistent)
 gdw es keine Formel $\varphi$ gibt,
so dass $\Gamma$ sowohl $\varphi$ als auch $\neg\varphi$ beweist.
\item[2.] $\Gamma$ ist erfüllbar (satisfiable) gdw es eine Struktur $\A$ und eine Belegung $s$ gibt, so dass
$(\A,s)\models \varphi$ für jedes $\varphi \in \Gamma$.
\end{myrules}
\end{definition}

Die Konsistenz wird als syntaktischer Begriff aufgefasst, da sie sich mit dem Konzept \glqq
Beweis'' befasst, die Erfüllbarkeit hingegen wird als semantischer Begriff aufgefasst, da sie sich
mit dem Konzept \glqq Struktur'' befasst. Der Korrektheitsatz liefert uns nun folgendes

\begin{corollary}\label{4.10}
Wenn $\Gamma$ erfüllbar ist, dann ist $\Gamma$ auch konsistent.
\end{corollary}
\noindent
Beweis: Wenn $\Gamma$ nicht konsistent wäre, dann würde $\Gamma$
sowohl $\varphi$ als auch $\neg \varphi$ für ein $\varphi$ beweisen.
Wegen des Korrektheitssatzes bedeutet dies, dass $\Gamma$ die Formel
$\varphi$ und $\neg \varphi$ logisch impliziert. Da $\varphi
\wedge\neg\varphi$ in jeder Struktur $\A$ mit jeder $\A$-Belegung
$s$ falsch ist, kann $\Gamma$ nicht erfüllbar sein. \proofend

Der Vollständigkeitssatz liefert Umkehrungen zum Korrektheitssatz und zu dessen Korollar.

\begin{theorem*}
{\bf Der G\"odel'sche Vollständigkeitssatz.}\index{Vollständigkeitssatz}\index{G\"odel'scher Vollst\"andigkeitssatz}
\begin{myrules}
\item[(a)] Jede konsistente Formelmenge ist erfüllbar.
\item[(b)] Wenn $\Gamma \models \varphi$, dann $\Gamma \vdash \varphi$.
\end{myrules}
\end{theorem*}

Auf den folgenden sechs Seiten werden wir den Satz beweisen.

\ssection{Metasätze}

Dem Beweis des Vollständigkeitssatzes stellen wir zunächst einige Sätze über
formale  Beweise voran. Diese werden Metasätze genannt, da sie Sätze über das
Konzept von Sätzen sind. Diese Ergebnisse erklären auch unsere Wahl der logischen Axiome.

Wir sagen, dass $\{\alpha_1,\dots,\alpha_n\}$ die Formel
$\beta$ tautologisch impliziert gdw die Formel 
\nothing{$\alpha_1 \rightarrow \alpha_2
\rightarrow \cdots \rightarrow \alpha_n \rightarrow \beta$ eine Tautologie
(das heißt ein Axiom aus der ersten Gruppe) ist.
Erinnern Sie sich daran, dass $ \alpha_1 \rightarrow \alpha_2
\rightarrow \cdots \rightarrow \alpha_n \rightarrow \beta$
nach unseren Klammerunterdrückungsregeln für}
$(\bigwedge_{1\leq i \leq n} \alpha_i) \rightarrow \beta$ ein Axiom aus der
ersten Gruppe ist.

\begin{lemma}\label{4.11}
 (Metasatz über die
Tautologische Implikation) Wenn $\Gamma$ die Formeln $\alpha_0,\alpha_1,
 \dots, \alpha_{n-1}$ beweist, und
 $\{ \alpha_0,\dots,\alpha_{n-1}\}$ die Formel
$\beta$ tautologisch impliziert, dann beweist $\Gamma$ auch $\beta$.
\end{lemma}

\noindent
Beweis: Da die Formel  $\bigwedge_{i<n} \alpha_i \rightarrow \beta$ eine Tautologie ist, ist sie
ein logisches Axiom und somit aus $\Gamma$ beweisbar. Wir können nun den modus ponens
 $n$ Mal anwenden, um zu zeigen, dass $\Gamma$ die Formel $\beta$ beweist: 
\begin{equation*}
\Bigl(\bigwedge_{i<n} \alpha_i \rightarrow \beta\Bigr) \leftrightarrow
 (\alpha_0 \rightarrow (\alpha_1
\rightarrow \cdots \rightarrow (\alpha_{n-1} \rightarrow \beta ) \dots ))
\end{equation*}
\proofend

\begin{lemma}\label{4.12} (Deduktionsmetasatz) Wenn $\Gamma \cup \{\gamma\}$ die Formel
$\varphi$ beweist, dann beweist $\Gamma$ auch die Formel $(\gamma
\rightarrow \varphi)$.
\end{lemma}

\noindent
Beweis: Wir zeigen durch Induktion über die kürzeste Länge eines
Beweises von $\varphi$ aus $\Gamma \cup \{\gamma\}$, dass $(\gamma
\rightarrow \varphi)$ aus $\Gamma$ beweisbar ist.

Fall 1: $\varphi = \gamma$. Dann beweist $\Gamma$ offensichtlich
$(\gamma \rightarrow \varphi)$, da $\gamma \rightarrow \gamma$ eine
Tautologie ist.

Fall 2: $\varphi$ ist ein logisches Axiom oder ein Element von
$\Gamma$. Dann beweist schon $\Gamma$ alleine die Formel $\varphi$.
Und $\{\varphi\}$ impliziert tautologisch $(\gamma \rightarrow
\varphi)$. Es folgt aus der tautologischen Implikation, dass $\Gamma$
die Formel $(\gamma \rightarrow \varphi)$ beweist.

Fall 3: $\varphi$ entsteht durch modus ponens aus $\psi$ und $\psi
\rightarrow \varphi$. Nach  Induktionsannahme beweist $\Gamma$ dann
die Formeln $(\gamma \rightarrow \psi)$ und $(\gamma \rightarrow
(\psi \rightarrow \varphi))$. Aus dem Lemma über die tautologischen
Implikation, angewandt mit der Tautologie 
$(\gamma\rightarrow \phi) \leftrightarrow (\gamma \rightarrow \psi) \wedge 
(\gamma \rightarrow (\psi \rightarrow \phi))$, folgt nun, dass 
$\Gamma$ die Formel $(\gamma\rightarrow
\varphi)$ beweist. \proofend

\begin{lemma}\label{4.13} Reductio ad absurdum\index{reductio ad absurdum},
Widerspruchsbeweis, RAA. Wenn $\Gamma\cup \{\varphi\}$ nicht
konsistent ist, dann beweist $\Gamma$ die Formel $\neg\varphi$.
\end{lemma}
\noindent 
Beweis: Nach Annahme gibt es eine Formel $\beta$, so dass $\Gamma\cup
\{\varphi\}$ sowohl $\beta$ als auch $\neg  \beta$ beweist. Mit dem
Deduktionsmetasatz erhalten wir, dass $\Gamma$ sowohl $(\varphi
\rightarrow \beta)$ als auch $(\varphi \rightarrow \neg \beta)$
beweist. Es folgt aus der tautologischen Implikation, dass $\Gamma$
die Formel $\neg \varphi$ beweist.

Viele einzelne Beweisschritte verstecken sich hinter dem vorigen
deutschen Satz: Aus $(\varphi \rightarrow \beta)$ beweist man mit
einer Tautologie und MP $(\neg \beta\rightarrow \neg \varphi)$. Aus
$(\varphi \rightarrow \neg \beta)$ beweist man mit einer Tautologie
und MP $(\neg \neg \beta \rightarrow \neg \varphi)$. Hieraus erhält
man mit MP $(\neg \beta \rightarrow \neg \varphi) \wedge (\neg \neg
\beta \rightarrow \neg \varphi)$. Außerdem ist $(\neg
\beta\vee\neg\neg \beta)$ eine Tautologie. MP gibt nun $\neg
\varphi$. \proofend

\begin{lemma}\label{4.14}
(Erste Regel über die Verallgemeinerung). Wenn $\Gamma$ die Formel
$\varphi$ beweist, und $x$ in keiner Formel von $\Gamma$ frei
auftritt, dann beweist $\Gamma$ die Formel $\forall x \varphi$.
\end{lemma}

\noindent
Beweis. Wir zeigen durch Induktion über die kürzeste Länge eines
Beweises von $\varphi$ aus $\Gamma$, dass $\Gamma$ die Formel
$\forall x \varphi$ beweist.

Fall 1: $\varphi$  ist ein logisches Axiom. Dann ist $\forall x
\varphi$ auch ein logisches Axiom und somit beweist $\Gamma$ die
Formel $\forall x \varphi$. Wir haben vereinbart, dass alle
Verallgemeinerungen logischer Axiome wieder logische Axiome sind.

Fall 2: $\varphi \in \Gamma$. Dann tritt $x$ nicht frei in $\varphi$
auf. Deshalb ist $(\varphi \rightarrow \forall x \varphi)$ ein Axiom
der Gruppe~4. Somit beweist $\Gamma$ sowohl $\varphi$ als auch
$(\varphi \rightarrow \forall x \varphi)$. Also beweist $\Gamma$
auch $\forall x \varphi$.

Fall 3: $\varphi$ entsteht via modus ponens aus $\psi$ und $\psi
\rightarrow \varphi$. Jedoch gehört folgende Formel zu Axiomengruppe
3:
$$\forall x (\psi \rightarrow \varphi ) \rightarrow (\forall x \psi \rightarrow \forall x \varphi).$$
Aus der Induktionsvoraussetzung erhalten wir $\Gamma \vdash \forall
x \psi$ und $\Gamma\vdash \forall x (\psi \rightarrow \varphi)$. Aus
der Anwendung des modus ponens  auf das Axiom erhalten wir einen Beweis
von $\forall x \varphi$ aus $\Gamma$. \proofend

\begin{lemma}\label{4.15} Einfache Tatsachen über die Ersetzung.
\begin{myrules}
\item[(a)]
$x$ kann in jeder Formel für sich selbst eingesetzt werden.
\item[(b)] $t$ kann in $\varphi$ für $x$ eingesetzt werden,
wenn keine Variable von $\varphi$ in $t$ auftritt.
\item[(c)] Wenn $x,y$ Variablen sind und $y$ nicht in $\varphi$ auftritt, dann kann
$x$ in $\varphi^x_y$ für $y$ eingesetzt werden, und es gilt
$(\varphi_y^x)_x^y = \varphi$ ($x$ wird zu $y$ und dann wieder zu
$x$).
\item[(d)] Wenn $x,y,z$ Variablen sind und $x \neq z$ ist und $t$ für $x$ in $\varphi$
eingesetzt werden kann, dann kann $t$ für $x$ in $\varphi_z^y$
eingesetzt werden.
\item[(e)] Wir nehmen an, dass $t$ für $x$ in $\varphi$ eingesetzt werden
könne, $y$ ein Variable sei, die nicht in $\varphi$ auftrete, und
$c$ ein Konstantensymbol sei. Der Term $t_y^c$ und die Formel
$\varphi_y^c$ entstehen dadurch, dass wir in $t$ und $\varphi$ $c$
durch $y$ ersetzen. Dann kann  in $\varphi_y^c$ $t_y^c$ für $x$
eingesetzt werden.
\end{myrules}
\end{lemma}
\noindent
Beweisskizze: Induktiv \"uber den Aufbau von $\phi$ werden 
die gebundenen Variablen
in geeignete neue Variablen umbenannt. \proofend


\begin{lemma}\label{4.16} Zweite Regel über die Verallgemeinerung. Wenn $\Gamma$ die Formel $\varphi$
beweist und $c$ ein Konstantensymbol ist, das nicht in $\Gamma$
auftritt, dann gibt es eine Variable $y$, die in $\varphi$ nicht
auftritt, so dass $\Gamma$ die Formel $\forall y \varphi_y^c$
beweist.
\end{lemma}
\noindent Beweis: Induktiv über den Aufbau eines Beweises von $\varphi$ aus
$\Gamma$. Beim Induktionsschritt: modus ponens.

\begin{lemma}\label{4.17} Dritte
Regel über die Verallgemeinerung. Wenn $\Gamma$ die Formel
$\varphi_c^x$ beweist und $c$ ein Konstantensymbol ist, das weder in
$\Gamma$ noch in $\varphi$ auftritt, dann beweist $\Gamma$ die
Formel $\forall x \varphi$,
 und es gibt eine Ableitung hierfür, in der $c$ nicht auftritt.
\end{lemma}
\noindent
Beweis: Vom vorigen Lemma haben wir eine Ableitung von $\forall
y((\varphi_c^x)_y^c)$ aus $\Gamma$, in der $c$ nicht auftritt, wenn
$y$ neu ist. Aber da $c$ nicht in $\varphi$ auftritt, haben wir auch
$$((\varphi_c^x)_y^c) = \varphi_y^x.$$

Es bleibt zu zeigen, dass $\forall y \varphi_y^x \vdash \forall x
\varphi$. Dies folgt, wenn man weiß, dass $\forall y  \varphi_y^x
\rightarrow \varphi$ ein Axiom ist. Dies folgt aus
$(\varphi_y^x)^y_x =\varphi$ und den Ersetzungsaxiomen in Gruppe 2.
\proofend


\begin{lemma}\label{4.18} Metasatz über die Umbenennung von Variablen. Wenn $\varphi$ eine Formel, $t$
ein Term und $x$ eine Variable ist, dann gibt es eine Formel
$\varphi'$ so dass
\begin{myrules}
\item[(a)] $t$ für $x$ in $\varphi'$ eingesetzt werden kann, und
\item[(b)]
$\varphi \rightarrow \varphi'$ und $\varphi' \rightarrow \varphi$
beweisbar sind.
\end{myrules}
\end{lemma}
\noindent
Beweis: {\bf Übung}


\ssection{Der eigentliche Beweis}

Wir wiederholen noch einmal:

\begin{theorem}\label{4.19}
{\bf Der Gödel'sche Vollständigkeitssatz}
 \begin{myrules}
\item[(a)]
Jede konsistente Formelmenge ist erfüllbar.
\item[(b)]
Wenn $\Gamma \models \varphi$, dann $\Gamma \vdash \varphi$
\end{myrules}
 \end{theorem}

\noindent
Beweis: Es genügt, (a) zu beweisen, denn aus (b) erhält man (a) wie
folgt: Impliziere $\Gamma$ die Formel $\varphi$ logisch. Wir möchten
zeigen,
 dass $\Gamma$ $\varphi$ auch beweist. Wenn $\Gamma \cup\{\neg \varphi\}$ inkonsistent ist, dann
beweist $\Gamma$ die Formel $\varphi$ durch reductio ad
absurdum, und deshalb beweist $\Gamma$ $\varphi$ durch tautologische
Implikation, wie gewünscht. Daher können wir annehmen, dass $\Gamma
\cup \{ \neg \varphi\}$ konsistent ist. Dann ist nach (a) dieses
auch erfüllbar. Dies widerspricht unserer Annahme, dass $\Gamma$ die
Formel $\varphi$ logisch impliziert.

\smallskip

Umgekehrt gilt auch, dass aus (b) (a) folgt: Sei $\Gamma$ nicht erf\"ullbar.
Dann gilt f\"ur alle $\phi$, dass $\Gamma \models \phi \wedge \neg\phi$.
Dann gilt nach (b), 
$\Gamma \vdash \phi \wedge \neg\phi$, also ist $\Gamma$ inkonsistent.

\smallskip


Nun beweisen wir (a). Sei $\Gamma$ konsistent. Dann definieren wir eine neue Formelmenge
$\Delta$ in einer um die Konstantensymbole $c_0, c_1 \dots$ erweiterten Sprache, so dass
folgendes gilt:
\begin{myrules}
\item[(i)] $\Gamma \subseteq \Delta$,
\item[(ii)] $\Delta$ ist in der erweiterten Sprache {\em maximalkonsistent}\index{maximalkonsistent},
d.h. für alle $\varphi\in{\mathcal L}(\tau \cup \{c_i \such i\in \N
\})$ ist $\varphi \in \Delta$ oder ist $\neg \varphi \in \Delta$.
\item[(iii)] $\Delta$ ist eine {\em Henkin-Menge}\index{Henkin-Menge}, d.h.\
für jede Formel $\varphi$ und jede Variable $x$ gibt es eine
Konstante $c$, so dass die Formel $(\neg \forall x \varphi
\rightarrow \neg \varphi_c^x)$ ein Element von $\Delta$ ist.
\end{myrules}

Danach konstruieren wir aus $\Delta$ eine Struktur $\A$ und eine
Belegung $s$, so dass $(\A,s)$ $\varphi$ erfüllt.

Wir beschreiben nun die Definition von $\Delta$, die
sich in  abzählbar viele Erweiterungen der ersten Art und
eine Erweiterung der zweiten Art zergliedert.
 Für jede Formel der Sprache ${\mathcal L}= {\mathscr
L}_0$ und jede Variable $x$ wählen wir ein neues Konstantensymbol
$c_\varphi^x$, das wir zu ${\mathcal L}$ hinzufügen, und erhalten so
die Sprache ${\mathcal L_1}$. Dann erweitern wir $\Gamma$ für alle
$\varphi \in {\mathcal L}$ und alle Variablen $x$ um die Formel
$(\neg\forall x\varphi \rightarrow \neg \varphi^x_{c_\varphi^x})$
und erhalten so ${\Gamma}_1$.

\begin{claim}\label{4.20}%4.11
$\Gamma_1$ ist konsistent.
\end{claim}
\noindent
Beweis: Annahme: $\Gamma_1$ wäre widerspruchsvoll. Wir denken uns
$\Gamma_1$ schrittweise aus $\Gamma$ aufgebaut, und nehmen die
minimale Schrittzahl, so dass $\Gamma \cup\{\psi_0,\dots, $
$\psi_n,\psi_{n+1}\}$ widerspruchsvoll ist. Dann folgt nach RAA:
$\Gamma \cup\{\psi_0,\dots,\psi_n\} \vdash \neg\psi_{n+1}$.
$\psi_{n+1} $ ist  von der Form $(\neg \forall x \varphi \rightarrow
\neg \varphi^x_{c^x_\varphi})$. Also ist $\neg \psi_{n+1} = \neg
\forall x \varphi \wedge \varphi^x_{c_\varphi^x}$. Wir haben daher
$\Gamma \cup\{\psi_0,\dots,\psi_n\} \vdash \neg \forall x\varphi$
und $\Gamma \cup\{\psi_0,\dots,\psi_n\} \vdash
\varphi_{c_\varphi^x}^x$.

Aus letzterem erhalten wir mit dem Lemma~\ref{4.7} (der dritten
Regel über die Verallgemeinerung) $\Gamma
\cup\{\psi_0,\dots,\psi_n\} \vdash \forall x \varphi$. Nun ist also
schon $\Gamma \cup\{\psi_0,\dots,\psi_n\}$ widerspruchsvoll, im
Widerspruch zur Minimalität. \proofend

Jetzt wiederholen wir diese Konstruktion, und erhalten aus der
Sprache ${\mathcal L}_1$ die  Sprache ${\mathcal L}_2$ und die
Formelmenge $\Gamma_2$, so dass $\Gamma_2$ alle Formeln der Form
$(\neg \forall \varphi \rightarrow \neg \varphi^x_{c_\phi^x})$
enthält, für jede Formel $\varphi$, die in ${\mathcal L}_1$, aber
nicht in ${\mathcal L}_0$ ausgedrückt werden kann. Dann folgt wieder
aus der Behauptung~\ref{4.11}, dass die Konsistenz von $\Gamma_1$
jene von $\Gamma_2$ impliziert. Durch wiederholte Erweiterungen
dieser Art erhalten wir eine Kette $\Gamma \subseteq \Gamma_1
\subseteq \Gamma_2 \dots$ in den Spachen ${\mathcal L} \subseteq
{\mathcal L}_1 \subseteq {\mathcal L}_2 \dots$. Schließlich
definieren wir $\Gamma^* = \bigcup \{\Gamma_n \such n \in {\mathbb
N} \}$ und ${\mathcal L}^* = \bigcup \{{\mathcal L}_n \such  n \in
{\mathbb N}\}$. Eine aufsteigende Vereinigung von widerspruchsfreien
Mengen ist widerspruchsfrei, da man für einen Widerspruch nur
endlich viel Elemente braucht.

\begin{claim}\label{4.21}
$\Gamma^*$ ist Teilmenge einer maximalkonsistenten Formelmenge
$\Delta$ in der Sprache ${\mathcal L}^*$. $\Delta$ ist ebenfalls eine
Henkin-Menge, da Erweiterungen von Henkin-Mengen in derselben Sprache
Henkin-Mengen bleiben.
\end{claim}
\noindent Beweis:
Wir beweisen die Behauptung hier nur für den Fall eine abzählbaren Formelmenge $\Gamma$.
Die Behauptung für überabzählbare $\Gamma$ ist auch richtig, doch
hierzu braucht man überabzählbar lange Auflistungen, und das heißt überabzählbare
Ordinalzahlen.

\begin{claim}\label{4.22}
Jede konsistente Formelmenge $\Gamma^*$ in einer abzählbaren Sprache ${\mathcal L}$ kann zu
einer maximalkonsistenten Formelmenge $\Delta$ erweitert werden.
\end{claim}
\noindent
Beweis: Sei $\varphi_0, \varphi_1 \dots$ eine Liste der Formel der
Sprache ${\mathcal L}^*$. Wir definieren $\psi_n$ per Induktion über
$n$. Wenn $\Gamma \cup \{\psi_0,\dots , \psi_{n-1}\} \cup\{\phi
_n\}$ konsistent ist, dann setzen wir $\psi_n = \varphi_n$. Sonst
beweist $\Gamma \cup \{\psi_0, \dots, \psi_{n-1}\}$ die Formel $\neg
\varphi_n$ und wir definieren $\psi_n = \neg
 \varphi_n$. Induktiv über $n$ zeigt
man nun, dass $\Gamma \cup \{ \psi_0, \dots, \psi_n\}$ konsistent
ist. Daher ist $\Gamma \cup \{\psi_i\such i < \omega \}$ konsistent.
Da für jede Formel $\varphi$ oder $\neg \varphi$ zu $\Delta$ gehört,
ist $\Delta$ maximalkonsistent, wie gewünscht. \proofend

Somit sind nun (i), (ii) und (iii) unseres Beweisplanes  erreicht.
Wir  definieren nun die Struktur $\A$ wie folgt:
Sei ${\mathcal T}$ die Menge der ${\mathcal L}^*$-Terme.
Wir schreiben $t \approx t_2$ und sagen, dass $t_1$ und $t_2$ äquivalent sind,
wenn die Formel $t_1 = t_2$ in $\Delta$ ist.

\begin{claim}\label{4.23}
$\approx$ ist eine Äquivalenzrelation.
\end{claim}
\noindent
Beweis: Dies folgt aus den Fakten über die Gleichheit (a), (b), (c) und Einsetzen der
Terme für $x,y,z$. Falls dies verboten sein sollte, nimmt man zuerst
andere Variablennamen anstelle von $x,y,z$, die nicht in den fraglichen Termen vorkommen.
\proofend

Nun schreiben wir $[t]$ für die Äquivalenzklasse von $t$. Das Universum von
$\A$ ist die Menge ${\mathcal T}/\approx$ all dieser Äquivalenzklassen. Nun sei

\begin{myrules}
\item[(a)] Für jedes $n$-stelliges Prädikatssymbol $P$
$$P^\A = \{ \la[t_1],\dots, [t_n] \r \such Pt_1 \dots t_n \in \Delta\}.$$
\item[(b)] Für jedes  $n$-stelliges Funktionssymbol $P$
$$f^\A([t_1],\dots, [t_n])  = [ft_1\dots t_n].$$
\item[(c)] Für jedes Konstantensymbol $c$ ist $c^\A = [c]$.
\end{myrules}

\begin{claim}\label{4.24}
$P^\A$ und $f^\A$ sind wohldefiniert.
Wenn für $i< n$, $[t_i] = [t'_i]$, dann gehört $Pt_0\dots t_{n-1}$ zu $\Delta$ gdw
$Pt'_0\dots  t'_{n-1}$ zu $\Delta$ gehört.
$[ft_0\dots t_{n-1}] = [ft'_0 \dots t'_{n-1}]\in \Delta$.
\end{claim}
\noindent
Beweis: Die Wohldefiniertheit folgt aus den Teilen (d) und (e) des Lemmas
über die Fakten über die Gleichheit.
Wenn $[t_i] = [t'_i]$, dann ist $t_i = t'_i \in \Delta$.
Daher ist wieder nach den Fakten über die Gleichheit und der Abgeschlossenheit
von $\Delta$ unter $\vdash$ ($\Delta$ ist ja maximal widerspruchsfrei)
auch $(Pt_0\dots t_{n-1} \leftrightarrow Pt'_0\dots  t'_{n-1})$ in $\Delta$ gehört.
Hieraus folgt dann, dass  $Pt_0\dots t_{n-1}$ zu $\Delta$ gehört gdw
$Pt'_0\dots  t'_{n-1}$ zu $\Delta$ gehört.
Wenn für alle $i$  $t_i = t'_i \in \Delta$, dann ist
nach selben Argumenten auch $ft_0\dots t_{n-1} = ft'_0 \dots t'_{n-1}\in \Delta$.
\proofend

Die $A$-Belegung $s$ ist definiert durch $s(x) = [x]$ für jede Variable $x$.

\begin{claim}\label{4.25}
$(\A,s) \models \varphi$ gdw $\varphi \in \Delta$.
\end{claim}
\noindent
Beweis:
 Wir verwenden die erste Regel über die Verallgemeinerung, den Metasatz über
 die tautologische Implikation, das Ersetzungslemma, die Eigenschaften einer maximalkonsistenten
Henkin-Menge und den Metasatz über die Umbenennung von Variablen.

Zuerst beachten wir, dass für jeden Term $t$ die Gleichheit $\bar{s}(t)=[t]$
gilt.
Dies beweisen wir durch Induktion über den Aufbau von $t$: Wenn $t$ eine Variable oder ein
Konstantensymbol ist, dann folgt dies aus der Definition von $s$. Wenn $t$
von der Form $ft_1,\dots t_n$ ist dann haben wir $\bar{s}(t) =
f^\A(\bar{s}(t_1),\dots, \bar{s}(t_n))$, das nach
Induktionsannahme gleich $f^\A([t_1],\dots [t_n])$ ist.
Letzteres ist nach Definition von $f^\A$ gleich $[t]$.

\smallskip

Wir beweisen nun die zentrale Behauptung der Induktion über den
Aufbau von $\varphi$. $\phi $ sei atomar. Wenn $\varphi$ die Formel
$t_1 = t_2$ ist, dann haben wir $\A \models \varphi[s] $ gdw
$\bar{s}(t_1) = \bar{s}(t_2)$ gdw $[t_1] = [t_2]$ gdw  $t_1 = t_2
\in \Delta$. Wenn $\phi $ die Formel $Pt_1 \dots t_n$ ist, dann $\A
\models \varphi[s]$ gdw $\la\bar{s}(t_1),\dots ,\bar{s}(t_n) \r)\in
P^\A$ gdw $\la [t_1], \dots ,[t_n] \r \in P^\A$ gdw $Pt_1\dots t_n
\in \Delta$. Der letzte Schritt verwendete die Definition von
$P^\A$.

\smallskip

$\varphi  = \neg \psi$.  Wir haben $(\A ,s) \models \varphi$  gdw
$(\A,s) \not\models \psi$  gdw $ \psi \not\in \Delta$ gdw $\varphi
\in \Delta$. Der letzte Schritt verwendete die Maximalkonsistenz von
$\Delta$.

\smallskip

$\varphi = (\psi \rightarrow \gamma) $. Wir haben $\A \models (\psi
\rightarrow \gamma)[s]$ gdw ($\A \not\models \psi[s]$ oder $\A
\models \gamma[s]$) gdw ($\psi \not\in \Delta$ oder $\gamma \in
\Delta$) gdw ($\neg\psi \in \Delta$ oder $\gamma \in \Delta$).
Letzteres impliziert wegen der Maximalität von $\Delta$, dass $(\psi
\rightarrow \gamma) \in \Delta$. Sei umgekehrt $(\psi \rightarrow
\gamma)
 \in \Delta$. Dann können wegen der Konsistenz von $\Delta$ nicht sowohl $\psi$ als auch
$\neg
 \gamma$ zu $\Delta$ gehören. Wegen der Maximalkonsistenz von $\Delta$ erhalten wie
daher $\neg \psi \in \Delta$ oder $\gamma\in \Delta$.

\smallskip

$\varphi = \forall x \psi$. Zu zeigen ist $\A \models \forall x
\psi [s]$ gdw $\forall x \psi \in \Delta$. Erfülle $\A$ die Formel
$\forall x \psi$ mit $s$. Wir wählen ein Konstantensymbol $c$, so
 dass das Axiom $(\neg \forall x \psi \rightarrow \neg \psi_c^x)$ zu $\Delta$ gehört.
Dies ist möglich, da $\Delta$ eine Henkin-Menge ist. Nach Annahme
gilt $\A \models \psi[s(x|[c])]$  und  $[c] = \bar{s}(c)$. Nach
Ersetzungslemma ist $\A \models \psi_c^x[s]$. Nach Induktionsannahme
ist $\psi_c^x \in \Delta$ und deshalb $\neg \forall x \psi \not\in
\Delta$ wegen des obigen Henkinaxioms. Weil $\Delta$ maximal
konsistent ist, ist daher $\forall x \psi \in \Delta$.

Nun nehmen wir an, dass $\A \not\models \forall x \psi[s]$. Dann gibt es einen Term
$t$, so dass $\A \not\models \psi[s(x|[t])]$ und  $[t] = \bar{s}(t)$.
Wir möchten nun mithilfe des
Ersetzungslemmas folgern, dass $\A \not\models \psi_t^x[s]$.
Das Problem ist aber, dass wir nicht wissen, ob das Ersetzungslemma anwendbar ist,
da nicht klar ist, ob $t$ für $x$ in  $\psi$ eingesetzt werden kann.
Mit dem Metasatz zu Umbenennung von Variablen  können wir eine Formel $\psi'$ wählen,
so dass $\psi \vdash \psi' \vdash \psi$ und so dass in $\psi'$
$t$ für $x$ eingesetzt werden kann. Nach der ersten Verallgemeinerungsregel haben wir
$\forall x \psi \vdash \forall x \psi'$, da $\forall x \psi$ die Formel $\psi$ und
$\psi$ die Formel $\psi'$ beweist. Wir haben:

$\A \not\models \psi[s(x|[t])]$ nach Voraussetzung.
Da $\psi$ und $\psi'$ logisch äquivalent sind, ist
$\A \not\models \psi'[s(x|[t])]$. Nach dem Ersetzungslemma folgt hieraus
$\A \not\models (\psi')^x_t[s]$. Dann ist nach Induktionsannahme
$(\psi')_t^x\not\in \Delta$. Da $\forall x \psi' \rightarrow (\psi')_t^x$ ein logisches Axiom
und $\Delta$ abgeschlossen unter beweisbarer Implikation ist, haben wir daher
$\forall x \psi' \not\in \Delta$.
Da $\forall x \psi \vdash \forall x \psi'$, ist $\forall x\psi\not\in \Delta$.
\proofend


\ssection{Korollare aus dem Vollständigkeitssatz}

Der Vollständigkeitssatz hat wichtige Folgen für die Relation $\models$ der logischen
Implikation und für die Größe von Modellen von Theorien in der Sprache erster Stufe.

\begin{theorem}\label{4.26}
Der Kompaktheitssatz\index{Kompaktheitssatz für die Logik der ersten Stufe}.
\begin{myrules}
\item[(a)] Wenn jede endliche
Teilmenge von $\Gamma$ erfüllbar ist, dann ist auch $\Gamma$ erfüllbar.

\item[(b)] Wenn $\Gamma$ die Formel $\phi
$ logisch impliziert, dann gibt
 es ein endliches $\Gamma_0 \subseteq \Gamma$, so dass $\Gamma_0$ die Formel
$\varphi$ impliziert.
\end{myrules}
\end{theorem}
\noindent
Beweis. (a) Wegen des Vollständigkeitssatzes sind Erfüllbarkeit und Konsistenz gleichwertig.
Deshalb genügt es, (a) für \glqq konsistent'' statt \glqq erfüllbar'' zu beweisen. Wenn jede endliche
Teilmenge von $\Gamma$ konsistent ist, dann ist auch $\Gamma$ konsistent, da ein
Widerspruchsbeweis aus $\Gamma$ nur eine endliche Teilmenge von $\Gamma$ verwenden würde.

(b) Der Vollständigkeitssatz impliziert, dass die Relationen $\vdash$
(beweist) und $\models$ (impliziert logisch) gleichwertig sind.
Deshalb genügt es, (b) für die Relation $\vdash$ zu beweisen. Wenn
$\Gamma$ die Formel $\varphi$ beweist, dann gibt ein einen endlichen
Beweis von $\varphi$ aus $\Gamma$. Sei $\Gamma_0$ die endliche Menge
von Formeln aus $\Gamma$, die im Beweis verwendet werden. Dann
beweist $\Gamma_0$ $\varphi$. \proofend

Ein Beispiel für eine Anwendung des Kompaktheitssatzes: Ein Modell
einer Satzmenge $\Gamma$ ist eine Struktur $\A$, in der jeder Satz
aus $\Gamma$ wahr ist. Da $\Gamma$ nur Sätze enthält, brauchen wir
keine Belegung. Der Kompaktheitssatz impliziert, dass es keine
Satzmenge gibt, deren Modelle genau die Strukturen mit endlichen
Universum sind: Wenn $\Gamma$ eine solche Satzmenge wäre und für $n$
der Satz $\varphi_n$ sagt, dass es mindestens $n$ Elemente im
Universum gibt, dann wäre die Menge $\Gamma^* = \Gamma \cup \{
\varphi_n \such n < \omega \}$ endlich erfüllbar. (\glqq $\Gamma$
ist endlich erfüllbar'' ist ein Jargon-Ausdruck, und heißt korrekt:
\glqq jede endliche Teilmenge von $\Gamma$ ist erfüllbar''.) Nach
dem Kompaktheitssatz hat $\Gamma^*$ ein Modell. Diese ist auch ein
Modell von $\Gamma$ und hat natürlich ein unendliches Universum.

\medskip

Unsere nächste Anwendung des Vollständigkeitssatzes verwendet die
Begriffe \glqq Entscheidbarkeit\index{Entscheidbarkeit}'' und 
\glqq effektive Aufzählbarkeit\index{effektive Aufzählbarkeit}'',
die wir im Kapitel \"uber Komplexit\"atstheorie definierten. Eine Sprache erster Stufe
heißt \glqq effektiv'' gdw wenn die Menge ihrer nichtlogischen Symbole abzählbar ist und darüber
hinaus die drei Relationen
\begin{equation*}
\begin{split}
&\{ (P,n) \such P \mbox{ ist ein } n \mbox{-stelliges Prädikatssymbol}\}\\
&\{ (f,n) \such f \mbox{ ist ein } n \mbox{-stelliges Funktionssymbol}\}\\
&\{ c \such c \mbox{ ist ein Konstantensymbol}\}.
\end{split}
\end{equation*}

entscheidbar sind. Zum Beispiel ist jede Sprache mit nur endlich vielen nichtlogischen
Symbolen effektiv. Das Teilgebiet der mathematischen Logik, das
Rekursiontheorie\index{Rekursionstheorie} oder auch Berechenbarkeitstheorie genannt wird, befasst sich mit den Begriffen
\glqq Entscheidbarkeit'' und \glqq effektive Aufzählbarkeit''.

\begin{theorem}\label{4.27} Aufzählbarkeitssatz\index{Aufzählbarkeitssatz}. Sei
$\Gamma$ eine entscheidbare Formelmenge in einer effektiven Sprache.
Dann ist die Menge der logischen Implikationen aus $\Gamma$ $\{
\varphi \such \Gamma \models \varphi\}$ effektiv aufzählbar.
\end{theorem}
\noindent
Beweis. Weil die Sprache effektiv ist, sind die Menge der Formel die Menge $A$ der logischen
Axiome und die Menge der endlichen Beweise aus $\Gamma$ entscheidbar. Somit können wir
 eine effektive Liste der logischen Implikationen aus $\Gamma$ herstellen, indem wir
die Menge der Beweise aus $\Gamma$ aufzählen und die letzte Formel jedes Beweises in unsere
effektive Aufzählung aufnehmen. \proofend

\begin{definition}\label{4.28}
Eine Theorie\index{Theorie} ist eine Satzmenge $\Gamma$. Genauer: Eine $\tau$-Theorie oder auch
${\mathcal L}(\tau)$-Theorie ist eine Satzmenge in ${\mathcal L}(\tau)$.
\end{definition}

Dies könnte man natürlich auch für andere Logiken als die Logik ${\mathcal L}$ erster
Stufe betrachten, und dieses Spezialgebiet heißt allgemeine Modelltheorie
(abstract model theory).


\begin{definition}\label{4.29}
$\Gamma\subseteq {\mathcal L}(\tau)$ 
heißt {\em vollständig}\index{vollständige Theorie} in ${\mathscr
L}(\tau)$ gdw für jeden Satz $\varphi \in {\mathcal L}(\tau)$ gilt:
$\Gamma \models \varphi$ oder $\Gamma \models \neg \varphi$.
\end{definition}

Die meisten konsistenten Theorien sind nicht vollständig! Ohne Beweis geben wir hier
Beispiele für vollständige Theorien:

1. In the Sprache ${\mathcal L}(\emptyset)$: die Theorie der unendlichen Mengen.

2. In der Sprache ${\mathcal L}(<)$: die Theorie der dichten offenen linearen Ordnungen.

3. In der Sprache ${\mathcal L}(+,\cdot)$: die Theorie der algebraisch abgeschlossenen
Körper einer festen Charakteristik.

\begin{definition}\label{4.30}
Sei ${\mathfrak M}$ eine $\tau$-Struktur. $Th({\mathfrak M})
= \{\phi
 \in {\mathcal L}(\tau) \such \varphi \mbox{ Satz und } {\mathfrak M} \models \varphi\}$
heißt {\em die Theorie von ${\mathfrak M}$}\index{$Th({\mathfrak M})$} (in der Sprache
erster Stufe).
\end{definition}

4. Die Theorie jeder $\tau$-Struktur ${\mathfrak M}$ ist
vollständig. (Genau dann, wenn ${\mathfrak M}$ endlich ist,
beschreibt die Theorie von ${\mathfrak M}$ bis auf Isomorphie eindeutig,
d.h., alle Elemente von ${\rm Mod}(Th({\mathfrak M})) =
\{ {\mathfrak N} \such {\mathfrak N} \models Th({\mathfrak M})\}$
sind zu ${\mathfrak M}$ isomorph.
Falls zusätzlich $\tau$ endlich ist, ist diese Theorie sogar endlich axiomatisierbar.)

\begin{corollary} \label{janiczak}%(Satz von Antoni Janiczak 1953)
\index{Janiczak}
Sei $\Gamma$ eine entscheidbare Satzmenge einer effektiven Sprache. Sei
$\Gamma$ vollständig. Dann ist die Menge der Folgerungen aus $\Gamma$ entscheidbar.
\end{corollary}
\noindent
Beweis: Nach dem Aufzählbarkeitssatz sind sowohl diese Menge als
auch ihr Komplement (die Menge der Formeln $\phi
$, dass $\Gamma$ die
Formel $\neg
 \varphi$ beweist) effektiv aufzählbar.
Jede effektiv aufzählbare Menge, die ein effektiv auszählbares Komplement
hat, ist aber entscheidbar mit folgendem Verfahren:
 Wir können schrittweise  abwechselnd die Menge und
auch ihr Komplement  aufzählen und darauf warten, dass ein gegebener Satz in einer der
zwei Aufzählungen auftritt.
\proofend

Unsere dritte Anwendung des Vollständigkeitssatzes betrifft die Größe (Mäch\-tig\-keit) von
Modellen. Eine Struktur heißt abzählbar\index{abzählbare Struktur} gdw ihr Universum abzählbar ist.


\begin{theorem}\label{4.32} Satz von Löwenheim und Skolem\index{Satz von Löwenheim und Skolem},
Spezialfall für abzählbare Sprachen.
Sei $\Gamma$ eine konsistente Menge von
Sätzen in einer abzählbaren Sprache. Dann hat $\Gamma$ ein abzählbares Modell.
Wenn $\Gamma$
eine unendliches Modell hat, dann hat $\Gamma$ auch ein überabzählbares Modell.
\end{theorem}
\noindent
Beweis. Des Beweis des Vollständigkeitssatzes zeigt, dass jede konsistente Satzmenge in
einer abzählbaren Sprache ein abzählbares Modell hat.

Nun nehmen wir an, dass $\A$ ein unendliches Modell von $\Gamma$ ist.
Wir nehmen eine überabzählbare Menge neuer Konstantensymbole $\{ c_i \such i <\aleph_1 \}$
 und erweitern $\Gamma$,
indem wir für je zwei neue  ungleiche Konstantensymbole $c_i$ und $c_j$ den
Satz $c_i \neq c_j$ zu $\Gamma$ hinzufügen.

Wir nennen diese erweiterte Satzmenge $\Gamma^*$. Jede endliche Teilmenge $\Gamma_0^*$
von $\Gamma^*$ ist
erfüllbar, denn wir können in  $\A$ die endlich vielen
in $\Gamma_0$ vorkommenden $c_i$ durch endlich viele verschiedene Punkte
interpretieren  und so ein Modell $\Gamma^*_0$ erhalten.
Nach der Version des Vollständigkeitssatzes für
überabzählbare Formelmengen  --- wenn Sie misstrauisch sind, da
in der Vorlesung nur die abzählbare Version bewiesen wurde,
lesen Sie in einem Mengenlehrebuch \"uber transfinite Induktion nach ---
 hat $\Gamma^*$ ein Modell ${\B}^*=
({\B}, (c_i^{{\B}^*})_{i< {\aleph_1}})$.
Wenn wir die nun ${\B}^*$ auf die Sprache $\tau$ beschränken,
dann haben wir ein überabzählbares Modell ${\B}$ von $\Gamma$. \proofend

Der Satz von Löwenheim und Skolem hat überraschende Konsequenzen. Zum Beispiel
haben die  natürlichen Axiome für die Struktur ${\mathfrak N}=
({\mathbb N}, 0,1,+,\cdot)$ der Arithmetik auch
ein überabzählbares Modell. Wenn wir hingegen in einer abzählbaren Sprache
Axiome für eine große Struktur wie das Mengenuniversum hinschreiben, dann
haben unsere Axiome, wenn sie konsistent sind,  notwendig ein abzählbares Modell
(dieser Sachverhalt heißt das Skolem'sche Paradoxon\index{Skolem'sches Paradoxon}).

Diese
Sachverhalte zeigen eine Schwäche der Sprache der ersten Stufe: Keine
Axiomenmenge (auch nicht in einer überabzählbaren Symbolmenge)
kann  eine gegebene unendliche Struktur bis auf Isomorphie
eindeutig charakterisieren.


\schapter[Der Polynomiale Primzahltest von AKS]{Der polynomiale Primzahltest
von Agrawal, Kayal und Saxena}\label{S4}

In diesem Kapitel lernen wir einen wirklich trickreichen Algorithmus
kennen,  die L\"osung eines jahrzehntelang offenen Problems: Gibt es
einen Primzahltest von polynomialer Komplexit\"at?

2004 wurde dieses Problem von Agrawal, Kayal und Saxena bejahend
gel\"ost \cite{AgrawalKayalSaxena}. Es ist ein sehr eleganter
Algorithmus, dessen Korrektheit auf etwas Algebra endlicher
K\"orper beruht.

\ssection{Die Idee und Hintergrundnotation}

Wir schreiben $(a,n)$ f\"ur den gr\"o\ss ten gemeinsamen Teiler von
$a$ und $n$ in diesem Kapitel.

\begin{lemma}\label{idee}
Sei  $a\in  \Z$, $n\in  \N$, $n \geq 2$, und $(a, n)$ = 1. Dann ist
$n$  prim gdw
\begin{equation*} (X + a)^n = X^n + a \:(\modu n).
\end{equation*}
\end{lemma}

Beweis: Sei $X$ beliebig, oder eben eine Unbekannte, wie in der
Algebra.
 F\"ur $0 < i < n$ ist ${n\choose i} a^{n-i}$  der Koeffizient von 
$X^i$ in $(X + a)^n -(X^n + a)$.
Wenn $n$ prim ist, dann ist ${n \choose i} = 0 (\modu n)$ f\"ur
jedes $i$. Wenn $n$ zusammengesetzt ist, dann nehmen wir eine
Primzahl $q | n$, so dass $q^k ||n$, das hei\ss t, dass $q^k$ die Zahl $n$
teilt und $q^{k+1}$ dieses nicht tut. Dann z\"ahlt man, zu welcher
Potenz $q$ in ${n \choose q}= \frac{(n' \cdot q^k)!}{(n' \cdot q^k -
q)! q!} $ vorkommt. Sei $a_1 = 1$ und sei $a_{k+1}= q a_n +1$.




 F\"ur den Z\"ahler gilt
$$q^{a_k} || (n' \cdot q^k)!,$$
f\"ur den Nenner gilt:
$$
q^{a_k-k+1} || (n'q^k - q)!q!.$$
Daher haben wir $q^k {\not|} {n \choose q}$. Da
$(n,a) =1$, ist $q {\not|} a$ und daher $q {\not|} a^{n-q}$ und $q^k
{\not|} a^{n-q}$. Daher ist der Koeffizient von $X^q$ nicht 0 modulo
$q^k$ und erst recht nicht 0 modulo $n$.
\nothing{
Nun z\"ahlt man f\"ur $i \neq q$, zu welcher
Potenz $q$ in ${n \choose i}= \frac{(n' \cdot q^k)!}{(n' \cdot q^k -
i)! i!} $ vorkommt. 
F\"ur $i < q$ gilt:
F\"ur den Z\"ahler gilt
$$q^{a_k} || (n' \cdot q^k)!,$$
f\"ur den Nenner gilt:
$$
q^{a_k-k} || (n'q^k - i)!i!.$$
Daher haben wir $q^k {||} {n \choose i}$ f\"ur $i < q$.

F\"ur $i > q$ gilt:
F\"ur den Z\"ahler gilt
$$q^{a_k} || (n' \cdot q^k)!,$$
f\"ur den Nenner gilt:
$$
q^{a_k-k+1} \not | (n'q^k - i)!i!.$$
Daher haben wir $q^k {|} {n \choose i}$ f\"ur $i < q$.
Alle anderen Koeffizienten sind also durch $q^k$ teilbar und 
wir haben
$\sum_{i=1}^{n-1}{n \choose i} X^i a^i = {n \choose q} X^q a^{n-q} \neq 0 \mod q^k$.
}


 \proofend


$\Z_n$  sei der Ring der ganzen Zahlen modulo $n$ und $\F_p$ sei der
K\"orper mit $p$ Elementen f\"ur eine Primzahl $p$.

Wenn $p$ prim ist und $h(X)$ ein irreduzibles Polynom der Grades d
\"uber $\F_p$ ist, dann ist $\F_p [X] / (h(X))$ ein endlicher
K\"orper mit $p^d$ Elementen.


Wir schreiben $f(X) = g(X) (\modu h(X), n)$ f\"ur die Gleichung $
f(X) = g(X) $ im Ring $\Z_n[X]/(h(X))$.


Wir schreiben $\tilde{O}(t(n))$ f\"ur $O(t(n) \cdot \poly(\log
t(n))$ f\"ur Funktionen $t(n)$ und irgendeine polynomiale Funktion
$\poly$. Zum Beispiel ist  $\tilde{O}(\log^k (n)) = O(\log^k (n)
\cdot \poly(\log \log ( n))) = O(\log^{k+\varepsilon}(n))$ f\"ur
jedes $\varepsilon > 0$. Wir schreiben $\log$ f\"ur den Logarithmus
zur Basis 2 und $\ln$ f\"ur den nat\"urlichen Logarithmus.


\begin{definition}
F\"ur $r \in \N$ und $a \in \Z$ mit  $(a, r) = 1$ ist {\em die
Ordnung von $a$ modulo $r$}, kurz $o_r(a)$, die kleinste nat\"urliche
Zahl $k$, so dass  $a^k = 1 (\modu r)$.
\end{definition}


F\"ur $r\in \N$, ist $\phi(r)$ die {\em
Eulerfunktion}\index{Eulerfunktion} von $r$, d.h., die Anzahl der
Zahlen kleiner als $r$, die zu $r$ relativ prim sind.

Aus der Betrachtung der multiplikativen Gruppe ergibt sich $o_r(a) |
\phi(r)$ f\"ur jedes $a$, $r$ mit $(a, r) = 1$.

\begin{lemma}[\cite{Nair1982}]\label{nair}
Sei $\lcm(m)$ das kleinste gemeinsame Vielfache von $\{1,2, \dots,
m\}$. F\"ur $m \geq 9$ gilt  $\lcm(m) \geq 2^m$.
\end{lemma}

\noindent Beweis: 
Es ist $(1-x)^{n-m} = \sum_{r=0}^{n-m}(-x)^r  {n-m \choose r}$.
F\"ur $1 \leq m \leq n$ betrachten wir das Integral
$$ I(m,n)=\int_0^1 x^{m-1}(1-x)^{n-m} dx = \sum_{r=0}^{n-m} (-1)^r {n-m \choose r} \frac{1}{m+r}.
$$
Da alle Nenner $\leq n$ sind, gilt $I(m,n) \cdot \lcm(n) \in \N$.
Andrerseits k\"onnen wir $I(m,n)$ durch wiederholte partielle 
Integration umformen: {\footnotesize
\begin{equation*}
\begin{split}
&\left( \frac{x^m}{m} (1-x)^{n-m}\right)' =\\
& x^{m-1}(1-x)^{n-m} -
\frac{x^m}{m}(n-m) (1-x)^{n-m-1}, \\
&\left( \frac{x^{m+1}}{m(m+1)} (n-m)(1-x)^{n-m-1}\right)' =\\
& \frac{x^{m}}{m}
(n-m)(1-x)^{n-m-1} - 
\frac{x^{m+1}}{m(m+1)}(n-m)(n-m-1) (1-x)^{n-m-2},\\
&\vdots \mbox{(insgesamt $n-m$ Gleichungen)}\\
&\left( \frac{x^{n-1}}{m(m+1)(m+2)\dots (n-1)} (n-m)(n-m-1) 
\dots 2(1-x)^{1}\right)' =\\ 
&\frac{x^{n-2}}{m(m+1)\dots (n-2)}
(n-m)(n-m-1)\dots 2(1-x)^{1} -
\frac{x^{n-1}}{m(m+1)\dots (n-1)}(n-m)(n-m-1)\dots 1 (1-x)^{0}.
\end{split}
\end{equation*}}

Nun summieren wir die $n-m$ Gleichungen
 auf und bilden auf und beachten, dass die 
rechten Seiten eine Teleskopsumme bilden und sich daher zu $x^{m-1}(1-x)^{n-m}
-\frac{x^{n}}{m(m+1)\dots (n-1)}(n-m)(n-m-1)\dots 1 (1-x)^{0}$ aufsummieren.
Dann bilden wir auf beiden Seiten das Integral von 0 bis 1. Auf linken Seite
 verschwinden alle Stammfunktionen an der Stelle $x=0$ und an der Stelle $x=1$.
Daher ist die rechte Seite null, und wir haben also
\begin{eqnarray*}
I(m,n)&=&\int_0^1 x^{m-1}(1-x)^{n-m} dx\\ &=&
\int_0^1 x^{n-1} \frac{(n-m)(n-m-1) \cdot \dots \cdot 1}
{m(m+1)\cdot \dots \cdot (n-1)}dx\\& =& \frac{m! (n-m)!}{m \cdot n!} \\&=&
\frac{1}{m \cdot {n \choose m}}
\end{eqnarray*}


Also gilt: $$(\forall m \leq n)(m \cdot \textstyle{{n \choose m}} \mid \lcm(n)).$$
Nun wenden wir dies f\"ur $(n',m) = (2n,n)$ und f\"ur $(n',m) = (2n+1,n+1)$ an und erhalten
$n \cdot {2n \choose n} \mid \lcm(2n)$.
Da $(2n+1){2n \choose n} = (n+1){2n+1 \choose n+1}$, teilen sowohl
$n {2n \choose n}$ als auch $(2n+1){2n \choose n}$ das kleinste 
gemeinsame Vielfache $\lcm(2n+1)$.
Da $(n, 2n+1) =1$, erhalten wir $n(2n+1){2n \choose n} \mid  \lcm(2n+1)$ .
Daher ist 
$$
\lcm(2n+1) \geq n(2n+1){2n \choose n}.
$$
 Da ${2n \choose n}$ der f\"uhrende der $2n +1$
 Summanden der binomialen Entwicklung von $(1 +1)^{2n}$ ist, folgt
$$
(2n+1) \cdot {2n \choose n} \geq 2^{2n}.
$$
Also erhalten wir
$\lcm(2n+1) \geq n\cdot 4^n$. F\"ur $n \geq 2$ ist also $\lcm(2n+1) \geq 2^{2n+1}$, und f\"ur $n \geq 4$ ist
$\lcm(2n+2) \geq \lcm(2n+1) \geq 2^{2n+2}$. Also haben wir f\"ur alle $m \geq 9$,
$$\lcm(m) \geq 2^m.$$ \vskip-4ex \proofend

\ssection{Der Algorithmus und seine Korrektheit}

{\tt Auf die Eingabe $n$ hin, tue folgendes: \begin{myrules}
\item[(1)]
Wenn es $a,b \leq n$ gibt, so dass $b > 1$ und $n = a^b$, dann gebe
{\sc zusammengesetzt} aus.
\item[(2)]
Finde das kleinste $r$, so dass $o_r(n) > \log^2(n)$.
\item[(3)] Wenn es ein $a \leq r$ gibt mit $(a,n) > 1$, dann gebe
{\sc zusammengesetzt} aus.
\item[(4)] Wenn $n \leq r$, dann gebe  {\sc prim} aus.
\item[(5)]
F\"ur $a=1$ bis $\lfloor \sqrt{\phi(r)} \log(n)\rfloor$ tue das
folgende: Wenn $$(X + a)^n \neq X^n + a \:(\modu(X^r-1, n)),$$ dann
gebe {\sc zusammengesetzt} aus.
\item[(6)] Gebe {\sc prim} aus.
\end{myrules}
}

\begin{theorem}\label{korrekt} Der Algorithmus gibt {\sc prim} aus gdw $n$ prim
ist.
\end{theorem}

\begin{lemma}
Wenn  $n$ prim ist, dann gibt der Algorithmus {\sc prim} aus.
\end{lemma}
Beweis: Wenn $n$ prim ist, dann geben Schritte (1) und (3) nicht
{\sc zusammengesetzt} aus und die Schleife in Schritt (5) tut dies
nach Lemma~\ref{idee} ebenfalls nicht. Daher identifiziert der
Algorithmus $n$ im Schritt (4) oder im Schritt (6) als prim.
\proofend


Nun kommen wir zur umgekehrten Implikationsrichtung: Wenn der
Algorithmus im Schritt (4) {\sc prim} ausgibt, dann ist $n$ wirklich
prim, denn sonst h\"atte der Algorithmus im Schritt (3) einen echten
Teiler gefunden. Nun nehmen wir an, dass der Algorithmus im Schritt
(6) {\sc prim} ausgibt.


Im Schritt (2) findet der Algorithmus ein geeignetes $r$, und in
Schritt (5) l\"auft $a$ \"uber einen geeigneten Bereich.

Wir zeigen zuerst, dass ein gen\"ugend kleines $r$ gefunden wird:


\begin{lemma}\label{5.6}
Es gibt ein $r \leq \max\{3, \lceil \log^5( n)\rceil\}$, so dass
$(r,n)=1$ und $o_r(n)
> (\log_2 (n))^2$.
\end{lemma}

\noindent
Beweis: Die Behauptung stimmt f\"ur $n = 2$ und $r=3$. Nun sei $n >
2$. Dann ist $m=\lceil \log^5( n)\rceil
> 10$ und Lemma~\ref{nair} gilt f\"ur dieses $m$. Seien $r_1$, $r_2$, \dots, $r_t$
alle Zahlen, so dass entweder  $o_{r_i}(n)\leq  \log^2( n)$ oder
$r_i | n$.
Sei $R$ der Abschluss von $\{r_1,\dots , r_t\}$ unter 
teilerfremden Produkten.
 F\"ur jedes $r\in R$ gilt: 
Da f\"ur alle $i$ gilt: Da $r_i \mid n^{o_{r}(n)} -1 $ oder $r_i \mid n$, 
teilt $r$  
das Produkt 
$$
n \cdot
\prod_{i=1}^{\lfloor \log^2(n)\rfloor} (n^i -1) < n^{\log^4(n)} \leq
2^{\log^5(n)}.
$$ 
Nach Lemma~\ref{nair} ist $\lcm(m) \geq 2^m$ und
daher gibt es ein $s \leq m$, so dass $s \not\in \{r_1,\dots, r_t\}$.
Wenn $ (s, n) = 1$, dann ist $o_s(n) > \log^2 (n)$, wie gew\"unscht.
Wenn $(s, n)
> 1$ und $s {\not|} n$, dann folgt aus $(s,n) \in \{r_1,\dots, r_t\}\subset
 R$, 
dass $r = \frac{s}{(s,n)} \not\in R$, denn sonst w\"are $s\in R$.
Daher ist $o_r(n) > \log^2(n)$. \proofend


Da $o_r(n)
> 1$, gibt es einen Primteiler $p$ von $n$, so dass $o_r(p) > 1$. $ p > r$,
denn sonst w\"urden Schritt (3) oder (4) die Primheit von $n$
entscheiden. Da $ (n, r) = 1$ (wieder w\"urden andernfalls Schritt
(3) oder Schritt (4) die Primheit von $n$ entscheiden) sind $p, n
\in \Z^\ast_r$. Wir halten $p$ und $r$ f\"ur den Rest des Abschnitts
fest. Wir setzen $$\ell = \lfloor \sqrt{\phi(r)} \log(n)\rfloor.$$


Schritt (5) pr\"uft $\ell$ Gleichungen. Wenn der Algorithmus nicht
{\sc zusammengesetzt} ausgibt, dann ist
$$(X + a)^n = X^n + a (\modu X^r-1, n)$$ f\"ur jedes 
$a \in \{0, \dots ,\ell\}$. Dies impliziert
\begin{equation}\label{3} (X + a)^n = X^n + a \:(\modu X^r - 1,
p)\end{equation}
 f\"ur $a \in \{0,\dots ,\ell\}$.
Nach Lemma~\ref{idee} haben wir
\begin{equation}\label{4} (X + a)^p = X^p + a \: (\modu X^r -1,
p)\end{equation}
 f\"ur alle $a\leq n$.

Aus \eqref{3} und \eqref{4} folgt
$((X+a)^{\frac{n}{p}} -X^{\frac{n}{p}})^p = (X+a)^n -X^n = a (\modu X^r-1, p)$
und daher
\begin{equation}\label{5}
(X + a)^{\frac{ n}{ p}} = X ^{\frac{n} {p}} + a \: (\modu X^r -1, p)
\end{equation}
f\"ur $a \in \{0,\dots, \ell\}$.

\begin{definition}\label{5.7}
 F\"ur ein Polynom $f(X)$ and number $m \in  \N$ sagen wir
$m$ ist {\em introspektiv f\"ur $f(X)$}\index{introspektiv f\"ur $f(X)$}
 gdw $$ [f(X)]^m = f(X^m) \:(\modu
X^r- 1, p).$$ \end{definition}

Gleichungen \eqref{4} und \eqref{5} sagen, dass $\frac{n}{p}$ und
$p$ beide introspektiv sind f\"ur $X +a$ f\"ur alle $a \in \{0,
\dots, \ell\}$.



\begin{lemma}\label{5.8}
Wenn  $m$ and $m'$ introspektiv f\"ur $f(X)$ sind, dann ist auch $m
\cdot m'$ introspektiv.
\end{lemma}

Beweis: Da $m$ introspektiv f\"ur $f(X)$ ist, folgt  $[f(X)]^{m\cdot
m'} = [f(X^m)]^{m'}(\modu X^r - 1, p)$. Da $m'$ introspektiv f\"ur
$f(X)$ ist, haben wir nach Ersetzung von $X$ durch $X^m$
$$[f(Xm)]^{m'} =f(X^{m\cdot m'}) (\modu X^{m\cdot r} - 1, p)
=f(X^{m\cdot m'}) (\modu X^r - 1, p),$$ (letzteres, da  $X^r - 1 |
X^{m\cdot r} - 1)$.  \proofend

F\"ur jedes $m$ ist auch die Menge der Polynome, f\"ur welche $m$
introspektiv ist, unter der Multiplikation abgeschlossen.


\begin{lemma}\label{5.9}
Wenn $ m$ introspektiv f\"ur $f(X)$ und $g(X)$ ist,  dann ist $m$
auch introspektiv f\"ur  $f(X) \cdot g(X)$.
\end{lemma}

\noindent Beweis: Wir haben
\begin{multline*}
[f(X) \dot g(X)]^m
=[f(X)]^m \cdot [g(X)]^m =f(X^m) \cdot g(X^m) (\modu X^r - 1, p).
\end{multline*}\vskip -5ex \proofend

Aus den beiden Lemmata erhalten wir, dass jede Zahl in
$$I = \{(\frac{n}{ p })^i \cdot p^j) \such i, j \in \N\}$$
introspektiv f\"ur jedes Polynom in der Menge
$$P =
\{\prod_{a = 0} ^\ell (X + a)^{e_a} \such e_a \in \N\}$$
ist.

Nun definieren wir zwei Gruppen.
Die erste Gruppe ist $G=(\{i \modu r \such i \in I \}, \cdot)$.
Es ist eine Untergruppe von $\Z^\ast_r$, da $(n,r) = 1$.
Wir setzen $|G| = t$. Da $G$ von $n$ und $p$ modulo $r$ erzeugt wird und
da $o_r(n) > \log^2(n)$, ist auch $t \geq \log^2(n)$.

F\"ur die Definition der zweiten, entscheidenden Gruppe, brauchen wir etwas
K\"orpertheorie:
\begin{definition}\cite[2.41, 2.43, 2.44]{LidlNiederreiter}
\begin{myrules}
\item[(1)] Sei $n \in \N \setminus\{0\}$. Der Zerf\"allungsk\"orper von $X^n -1$ \"uber einem
K\"orper $K$ hei\ss t {\em der $n$-te zyklotomische K\"orper \"uber $K$}\index{zyklotomischer K\"orper}
 und wird mit $K^{(n)}$ bezeichnet. Die Wurzeln von $X^n -1$ in $K^{(n)}$
 hei\ss en {\em die $n$-ten Einheitswurzeln \"uber $K$}\index{Einheitswurzel}.
Sei $E^{(n)}$ die Menge dieser $n$-ten Einheitswurzeln.
\item[(2)]
Sei $K$ ein K\"orper der Charakteristik $p$ und sei $n$ eine positive, nicht durch $p$
teilbare Zahl. Dann hei\ss t jeder Generator der zyklischen Gruppe $(E^{(n)}, \cdot)$
{\em primitive $n$-te Einheitswurzel \"uber $K$}\index{primitive $n$-te Einheitswurzel}.
\item[(3)]
Sei $K$ ein K\"orper der Charakteristik $p$ sei $n$ eine positive, nicht durch $p$
teilbare Zahl, und sei $\zeta$ eine primitive $n$-te Einheitswurzel \"uber $K$. Dann
hei\ss t das Polynom
$$Q_n(X) = \prod_{s=1,(s,n)=1}^n (X- \zeta^s)$$
das {\em $n$-te zyklotomische Polynom \"uber $K$}\index{zyklotomische Polynom}.
\end{myrules}
\end{definition}


Sei also $Q_r(X)$ das $r$-te zyklotomische Polynom \"uber $\F_p$. $Q_r(X)$ teilt $X^r -1$ und
zerf\"allt in irreduzible Faktoren des Grades $o_r(p)$
(siehe \cite[Theorem~2.47]{LidlNiederreiter}). Sei $h(X)$ ein solcher
irreduzibler Faktor. Da $o_r(p) > 1$, ist der Grad von $h(X)$
echt positiv. Von nun an rechnen wir modulo $h(X)$. Sei $H $ die von $X$, $X+1$,
\dots, $X+\ell$ in  der multiplikativen Gruppe von $F = \Z_p / (h(X))$ erzeugte Gruppe.

\begin{lemma}\label{5.10}[Hendrik Lenstra Jr.]
$|H| \geq {t + \ell \choose t-1}$.
\end{lemma}

\noindent Beweis: Wenn $h(X)= 0$, dann ist $Q_r(X)=0$ und daher ist $X$ eine $r$-te primitive Einheitswurzel \"uber $F$.
Seien $f(X)$ und $g(X)$ Polynome in $F_p[X]$ und 
seien $f(X) \neq g(X)$ und seien beide vom Grad $<t$.
Wir zeigen, dass auch $f(X)/(h(X)) \neq g(X)/(h(X))$.
Sei $m \in I$. Dann ist $(f(X))^m = (g(X))^m 
(\modu h(X))$ und da beide introspektiv sind, ist
auch $f(X^m) = g(X^m) (\modu h(X))$.
Nun schr\"anken wir dies auf $m \in G$ ein und erhalten 
$f(X^m) - g(X^m) = 0 (\modu h(X))$.
Da $(m,r) = 1$ f\"ur alle $m \in G$, ist auch 
$X^m$ eine primitive Einheitswurzel.
Also haben wir $t = |G|$ primitive Einheitswurzeln von
$f(X) - g(X)$, die alle verschieden sind, und daher ist $f(X) = g(X)
(\modu h(X))$, da beide vom Grad $<t$ sind.

Die Elemente $X$, $X+1$, \dots, $X+\ell$ sind paarwise verschieden 
in $\Z_p$, da $p > r
\geq \sqrt{r} \log(n) > \lfloor \sqrt{\phi(r)}\rfloor \log(n)= \ell$.
Der Grad von $h(X)$ ist $>1$ und daher sind alle $X+ a$, 
$0 \leq a \leq \ell$ nicht
$0 (\modu h(X))$. Daher gibt es mindestens ${t + \ell \choose t-1}$
verschiedene Polynome vom Grad $< t$ in $H$.
\proofend

\begin{lemma}\label{5.12}
 Wenn $n$ keine Potenz von $p$ ist, dann ist $|H| \leq n^{\sqrt{t}}$.
\end{lemma}

\noindent Beweis: Wir nehmen
$$\hat{I} = \left\{ \left( \frac{n}{p}\right) ^i \cdot p^j \such 0\leq i,j \leq
\lfloor \sqrt{t} \rfloor \right\}. $$
Wenn $n$ keine Potenz von $p$ ist, dann ist $|\hat{I}| \geq (\lfloor\sqrt{t}
\rfloor +1)^2 > t$. Da $|G| = t$, gibt es also $m_1> m_2 \in \hat{I}$, so dass
$m_1 = m_2 (\modu r)$.
Daher ist auch $X^{m_1} = X^{m_2} (\modu X^r -1)$.
F\"ur $f(X) \in P$ ist also
\begin{eqnarray*}
[f(X)]^{m_1} & = & f(X^{m_1}) \:(\modu X^r -1,p)\\
& = & f(X^{m_2}) \:(\modu X^r -1 ,p)\\
& = & [f(X)]^{m_2} \:(\modu X^r-1,p).
\end{eqnarray*}
Daher ist jedes $f(X) \in H$ eine Nullstelle von $Y^{m_1} - Y^{m_2}$ in $F= {\mathbb F}_p / (h(X))$.
Da der Grad von $Y^{m_1} - Y^{m_2}$  h\"ochstens
$m_1 \leq (\frac{n}{p} \cdot p)^{\lfloor \sqrt{t} \rfloor } \leq n^{\sqrt{t}}$ ist,
kann es nur so viele Nullstellen geben. Daher ist $|H| \leq n^{\sqrt{t}}$.
\proofend


\begin{lemma}\label{5.13}
Wenn der Algorithmus {\sc prim} ausgibt, dann ist $n$ prim.
\end{lemma}
\noindent Beweis:
\begin{eqnarray*}
|H| & \geq & {t + \ell \choose t-1}  \\
&\geq &{\ell +1 + \lfloor \sqrt{t} \log  \rfloor
 \choose \lfloor \sqrt{t} \log n\rfloor}
 \quad (\mbox{da } t > \sqrt {t} \log n)\\
 &\geq&
{2\lfloor \sqrt{t} \log (n) \rfloor +1
 \choose \lfloor \sqrt{t} \log n\rfloor}
\quad  (\mbox{da }\ell = \lfloor \sqrt{\phi(r)} \log (n) \rfloor \geq
 \lfloor\sqrt {t} \log (n)\rfloor)\\
&>& 2^{ \lfloor\sqrt {t} \log (n)\rfloor}
\quad\quad (\mbox{da }
 \lfloor\sqrt {t} \log n\rfloor > \lfloor \log^2(n) \rfloor \geq 1)\\
 &\geq& n^{\sqrt{t}}.
 \end{eqnarray*}
Nach dem vorigen Lemma ist  $n $
eine Potenz von $ p$. Also ist $n = p^k$ f\"ur ein $k \geq 1$. Falls $k > 1$, dann
 gibt der Algorithmus im ersten Schritt {\sc zusammengesetzt} aus.
 Also ist $k=1$ und $n=p$ prim.
Damit ist Satz~\ref{korrekt} bewiesen.


\ssection{Die Komplexit\"at des Algorithmus}

Wir benutzen folgenden
\begin{theorem}\cite[Chapter~3]{GathenGerhard}
Die Addition, Multiplikation und die Division zweier $m$-stelliger Zahlen k\"onnen
 in
$\tilde{O}(m)$ Schritten durchgef\"uhrt werden.
\end{theorem}
\proofend
\begin{theorem}\cite[Corollary~4.6]{GathenGerhard}
Sie $h$ ein Polynom vom Grad $\leq r$.
Die Addition, Multiplikation und die Division zweier 
Polynome in ${\mathbb F}_n/(h(X))$ k\"onnen
 in
$\tilde{O}(r^2)$ Schritten der Schrittgr\"o\ss e $\tilde{O}((\log n)^2)$ 
durchgef\"uhrt werden.
\end{theorem}
\proofend



\begin{theorem}
Die asymptotische Zeitkomplexit\"at des Algorithmus ist $\tilde{O}(\log^{21/2}(n))$.
\end{theorem}

\noindent Beweis: Der erste Schritt braucht asymptotisch 
$\tilde{O}(\log^5(n))$ Schritte. Wir brauchen nur $\log(n)$ viele mögliche $b$ zu prüfen, und für alle diese $b$ sukzessive wachsend prüfen wir erst, ob
 $(n/2)^b \leq n$, $(n/4)^b \leq n$
usf. Irgendwann ändert sich der Wahrheitswert. Dann halbieren wir jenes Intervall, das mindestens eins kürzer ist als im vorigen Schritt. So haben wir 
$\log(n) \cdot \frac{\log(n) +1}{2}$ Halbierungs und Prüfungsschritte.
Jeder Schritt dauert hat $\tilde{O}(\log(n))$ Rechenschritte in den Halbierungen und in den Multiplikationen und in den $\leq$-Vergleichen.
In \cite[Chapter~3]{GathenGerhard} gibt es einen 
$\tilde{O}(\log^3(n))$-Algorithmus.

\smallskip

Im zweiten Schritt wird $r > \log^2(n)$ durch sukzessives Probieren gefunden.
Der Algorithmus testet in einer Probe $r$, ob $n^k \neq 1 (\modu r)$ f\"ur $k \leq
\log^2(n)$ indem er $n$, $n^2$, usf.\ ausrechnet. Dies braucht f\"ur ein festes $r$,
$O(\log^2(n))$ Multiplikationen modulo $r$ und wird daher in 
$\tilde{O}(\log^2(n))$ Schritten gehen. Nach Lemma~\ref{5.6} wissen wir, dass nur
$ O(\log^5(n))$ viele $r$ probiert werden m\"ussen. Also braucht Schritt 2 asymptotisch
$ \tilde{O}(\log^7(n))$ Zeit.

\smallskip

Im dritten Schritt werden f\"ur $r$ Zahlen $(r,n)$ gebildet. Jede solche
Rechnung braucht $O(\log(n))$ Schritte nach
\cite{GathenGerhard}. Daher ist die Komplexit\"at dieses Schritts asymptotisch
$\tilde{O}(r\log(n))$,
also $\tilde{O}(\log^6(n))$.

Schritt 4 braucht nur $O(\log(n))$ Schritte.

Im f\"unften Schritt pr\"uft der Algorithmus $\lfloor \sqrt{\phi(r)} \log(n)\rfloor$
Schritte. Jeder Schritt braucht $O(\log(n))$ Multiplikationen von Polynomen des
Grades $r$ mit Koeffizienten der Gr\"o\ss e  $O(\log(n))$.
  Also ist die asymptotische
Zeitkomplexit\"at des f\"unften Schritte $\tilde{O}(r \sqrt{\phi(r)} \log^3(n)) =
\tilde{O}(\log^{21/2} (n))$.
Dieses bestimmt die Gesamtabsch\"atzung der asymptotischen Zeitkomplexit\"at.
\proofend

\schapter{Die Gödel'schen Unvollständigkeitss\"atze}\label{C6}

In diesem Kapitel werden wir einige konkrete nicht rekursive Mengen sehen.
Unser erstes Beispiel ist das Halteproblem.
Im ersten Gödel'schen Unvollständigkeitssatz zeigen wir, dass 
für genügend reiche Symbolmengen $\tau$ die Menge der allgemeingültigen Sätze 
in ${\mathcal L}(\tau)$ nicht rekursiv ist. Dann betrachten wir 
die Zahlentheorie und einige rekursiv axiomatisierbare Teiltheorien. 
Zum Schluss geben wir einen recht vollständigen Beweis des 
zweiten Gödel'schen Unvollständigkeitssatzes.


\ssection{Die Unentscheidbarkeit des Halteproblems f\"ur Turingmaschinen}
\label{S6.1}

Wir kehren zu Turingmaschinen zur\"uck, um
auf schnelle Weise eine unentscheidbare Menge
herzustellen.
Wir lassen nun auch Turingmaschinen zu, die niemals stoppen
stoppen. 

\begin{definition}
$M$ {\em akzeptiert im weiteren Sinne das Wort $w$} gdw $M$ angesetzt auf $w$ stoppt.
D.h., nach endlich vielen Anwendungen
von $\delta$ auf die Anfangskonfiguration
$(q_0,w)$ wird eine Konfiguration mit Zustand in $F$ erreicht.
\end{definition}

\nothing{$M$ akzeptiert $w$ nicht: $(M,w)$ stoppt nicht, oder $(M,w)$ stoppt
in einem Nicht-Akzeptierungszustand
}

\begin{definition}
Die Menge der von $M$ im weiteren Sinne akzeptierten Wörter, traditionell auch Sprache von $M$
genannt, ist die folgende Menge
$$L(M)= \{ w \in \Sigma^* \such M \mbox{ akzeptiert }w\}.$$
\end{definition}

Nun folgt eine der wichtigsten Definitionen der Mathematik.
G\"odel 1931, Church, Turing, 1936.

\begin{definition}
$L \subseteq \Sigma^\ast$  heißt {\em rekursiv aufzählbar}, wenn es
eine nicht notwendigerweise stoppende Turingmaschine $M$ gibt,
die genau $L=L(M)$ im weiteren Sinne akzeptiert.
\end{definition}

\begin{theorem}
$L \subseteq \Sigma^\ast$ ist entscheidbar, gdw es eine Turingmaschine
die $L$ im weiteren Sinne akzeptiert und eine Turingmaschine gibt,
die $\Sigma^* \smallsetminus L$ im weiteren Sinne akzeptiert.
\end{theorem}
\noindent Beweis:
Die Vorw\"artsrichtung folgt daraus, dass Komplemente entscheidbarer Mengen
entscheidbar sind. F\"ur die R\"uckrichtung
sei $L(M_1)=L$ und $L(M_2) = \Sigma^\ast \setminus L$.
 Wir lassen $M_1$ und $M_2$, beide angesetzt auf $w$,
 abwechselnd einen Schritt ausf\"uhren. Genau eine der Maschinen akzeptiert $w$
im weiteren Sinne.
 Es ist nun leicht, $M_1$ und $M_2$ zu einer Turingmaschine zusammenzusetzen,
 die immer stoppt und genau $L$ akzeptiert.
 \proofend

\begin{remark}
Es gibt eine
 {\em Aufzählungsmaschine}\index{Aufzählungsmaschine} $A_M$ von $L(M)$: 
$A_M$ gibt im Akzeptierungszustand von $M$ ein Wort aus,
das in $L(M)$ aufgenommen wird,
löscht die Eingabe und untersucht das nächste Wort mit $M$. Außerdem  
mischt $A_M$ die Untersuchungen,
da $A_M$  bei einer nicht haltenden Untersuchung ja nicht abstürzen soll.
\end{remark}

\begin{definition}
G\"odelnummern in einem kleinen festen Alphabet
f\"ur alle Turingmaschinen mit beliebigem endlichen
$\Gamma$, $Q$.

Sei $Q=\{q_i \such i \leq n\}$, $q_0$ Anfang.

Sei $\Gamma=\{B=x_0,x_1,x_2,\dots, x_{m}\}$.

Wir setzen $$\Sigma_U=\{\stick, \triangle, \ast, (, ), L, R\}.$$
%und nehmen $\Sigma_u \cap \Gamma = \emptyset$ an. Falls dies nicht
%der Fall ist, weichen wir auf ein anderes 6-elementiges
% Alphabet aus.
Nun definieren wir ein Codewort in f\"ur $M$, auch 
{\em G\"odelnummer\index{Gödelnummer einer Turingmaschine} von $M$} genannt,
in $\Sigma_U$: Wir schreiben $\ast^{(i)}$ für das Wort
$\underbrace{\ast\dots\ast}_i$.
Sei $B=x_0$. Für eine Zeile der Tafel $\delta$,
 $\delta(q_i,x_j)=(q_{i'},x_{j'},R)$, schreiben wir
 $$
(\ast^{(i)}\stick \ast^{(j+2)}\stick \ast^{(i')}\stick \ast^{(j'+2)}\stick R)
$$
und wir schreiben die Tupel in $\delta$ in irgendeiner  Anordnung
einfach hintereinander
und erhalten so $\#(M)$, die {\em G\"odelnummer} von $M$.
\end{definition}

Wir führen die Idee einer einheitlichen Kodierung noch weiter, um alle Turingmaschinen
und alle endlichen Bandinschriften zu erfassen:

\begin{definition}
  Codewert f\"ur Wörter über $\Gamma =\Sigma_U \cup
\{x_i \such i \leq n \}$:
\begin{eqnarray*}
\lettercode(x_{i}) &=&  \triangle\ast^{(i+2)}\triangle \mbox{ für
$x_i \in \Gamma\smallsetminus \Sigma_U$} \\
\lettercode(X) &=& X \mbox{ für } X \in \Sigma_U\\
\wordcode(X_0 \dots X_{k-1}) &=& \lettercode(X_0)\dots \lettercode(X_{k-1}).
\end{eqnarray*}
\end{definition}

$\wordcode(\#M)=\#M$.

\begin{definition}
Das {\em Halteproblem}\index{Halteproblem} ist  die folgende Menge:
$$H = \{(\#(M)\stick\wordcode(w))\such M\mbox{ TM und $M$ akzeptiert $w$}\}.$$
\end{definition}

$H \subset \Sigma_U^*$.

\begin{theorem}
Das Halteproblem $H$ ist nicht Turing-entscheidbar.
Genauer: Das Komplement $\Sigma_U^* \smallsetminus H = H^c$ des
Halteproblems ist nicht rekursiv aufzählbar.
\end{theorem}

\noindent Beweis:
Annahme es gibt eine TM $M$, die das Komplement des Halteproblems, $H^c=\Sigma_U^*
\smallsetminus H$,
 aufzählt.
Dann gilt:
$$\mbox{$M$ akzeptiert $\#(M)$} \Leftrightarrow  \mbox{$(\#(M)\stick \#(M)) \in H^c$}
\Leftrightarrow \mbox{$M$ akzeptiert $\#(M)$ nicht}.$$
\proofend

 \ssection{Der erste Gödel'sche Unvollständigkeitssatz}

Sei $T$ eine entscheidbare Satzmenge in einer effektiven 
Sprache ersten Stufe.
Wir haben gesehen, dass die Menge der Sätze, die aus $T$ logisch folgen,
effektiv aufzählbar ist.
Ist sie auch entscheidbar?


Wir beginnen auf der spielerischen Seite der Kunst mit einem
Gedicht von Hans Magnus Enzensberger:

\bigskip

\noindent
{\em Hommage \`a Gödel\index{Gödel}}

\medskip

\noindent Münchhausens Theorem, Pferd, Sumpf und Schopf,\\
ist bezaubernd, aber vergiß nicht:\\
Münchhausen war ein  Lügner.

\medskip

\noindent Gödels Theorem wirkt auf den ersten Blick \\
etwas unscheinbar, doch bedenk:\\
Gödel hat Recht.

\medskip


\noindent \glqq In jedem genügend reichhaltigen System,\\
lassen sich Sätze formulieren,\\
die innerhalb des Systems\\
weder beweisbar noch widerlegbar sind,\\
es sei denn, das System\\
wäre selber inkonsistent.''

\medskip

\noindent Du kannst deine eigene Sprache\\
in deiner eigenen Sprache beschreiben:\\
aber nicht ganz.\\
Du kannst dein eigenes Gehirn\\
mit deinem eigenen Gehirn erforschen,\\
aber nicht ganz. \\
Usw.

\medskip

\noindent Um sich zu rechtfertigen\\
muß jedes denkbare System \\
sich transzendieren,\\
d.h. zerstören.

\medskip

\noindent \glqq Genügend reichhaltig'' oder nicht:\\
Widerspruchsfreiheit\\
ist eine Mangelerscheinung\\
oder ein Widerspruch.

\medskip


\noindent (Gewißheit = Inkonsistenz.)

\medskip

\noindent Jeder denkbare Reiter, \\
also auch Münchhausen,\\
also auch du bist ein Subsystem\\
eines genügend reichhaltigen Sumpfes.

\medskip

\noindent Und ein Subsystem dieses Subsystems\\
ist der eigene Schopf,
dieses Hebezeug,\\
für Reformisten und Lügner.

\medskip

\noindent In jedem genügend reichhaltigen System, \\
also auch in diesen Sumpf hier\\
lassen sich Sätze formulieren\\
die innerhalb des Systems\\
weder beweis- noch widerlegbar sind.

\medskip

\noindent Diese Sätze nimm in die Hand\\
und zieh.

\medskip



In diesem Teil der Vorlesung beschreiben wir eine einfache endliche Menge
$A_E$ von Sätzen in der Sprache $\{+,\cdot,E, 0,1\}$ der Arithmetik
mit einem zweistelligen Funktionssymbol  $E$ für die Exponentiation  und zeigen,
dass die Menge der logischen Folgerungen aus jeder konsistenten Obermenge
von $A_E$ unentscheidbar ist.
Dann zeigen wir, dass genügend Eigenschaften der Exponentiation 
schon aus der Theorie $Q$ folgen.
Zusammen mit dem Korollar~\ref{janiczak} über vollständige entscheidbare Satzmengen
erhalten wir dann, dass keine entscheidbare
konsistente Obermenge von $Q$ vollständig ist.
Dieses Korollar ist sehr wichtig und wird 
{\em Erster Gödel'scher Unvollständigkeitssatz} genannt.

\smallskip

Ein mathematisch exakter  Beriff von Entscheidbarkeit
heißt \glqq Rekursivität'' und wurde im Kapitel \"uber Turingmaschinen 
definiert. 

\smallskip

Eine {\em Theorie}\index{Theorie} 
ist eine Menge von Sätzen in einer Sprache erster
Stufe. Sei $T$ eine Theorie in einer Sprache, die das
Konstantensymbal $0$ und das Funktionssymbol $S$ für eine
einstellige Funktion enthält. Wir verwenden den Term $S^n 0$ für die
natürliche Zahl $n$ und schreiben einfach $n$. Außerdem schreiben
wir $\varphi(n_1,\dots,n_k)$ für
$(\cdots((\varphi(v_1,\dots,v_k))^{v_1}_{n_1})^{v_2}_{n_2})
\cdots)^{v_k}_{n_k}$.

\begin{definition}
Eine Formel $\varphi$ stellt eine $k$-stellige Relation $R\subseteq
{\mathbb N}^k$ in $T$ \index{Darstellung in $T$} dar
 gdw für alle $_1,\dots,n_k \in {\mathbb N}$ folgendes gilt:
\begin{equation}
\begin{split}
&\langle n_1,\dots,n_k\rangle \in R \mbox{ gdw } T\vdash \varphi(n_1,\dots,n_k), \mbox{ und }\\
&\langle n_1,\dots,n_k\rangle \not\in R \mbox{ gdw } T\vdash \neg
\varphi(n_1,\dots,n_k).
\end{split}
\end{equation}

$R$ heißt darstellbar in $T$ gdw es eine Formel $\varphi$ gibt, die
$R$ in $T$ darstellt.
\end{definition}


\begin{theorem}
Eine $k$-stellige Relation $R\subseteq {\mathbb N}^k$
ist rekursiv\index{rekursive Relation} gdw
$R$ in einer endlichen Theorie $T$
darstellbar ist.
\end{theorem}
\noindent Beweis:
Durch abwechselndes Berechnen eines Schrittes einer Herleitung 
$T \vdash \phi$ und eines Schrittes einer Herleitung von 
$T \vdash \neg \phi$ erh\"alt man die Richtung $\Leftarrow$
im  folgenden Satz. Durch \"Ubersetzung der Turingtafel,
die die Rekursivit\"at bezeugt, in die Sprache erster Stufe erh\"alt man eine darstellende Formel, die die Richtung $\Rightarrow$ 
beweist. \proofend



Wir definieren nun eine endliche Theorie $A_E$, die
 einige der Eigenschaften des Standardmodells\index{${\mathfrak N}_E$}
$${\mathfrak N}_E =
({\mathbb N},0,1,+,\cdot,E,S,\leq)$$ (mit der
Nachfolgerfunktion $S$, der Kleinergleichrelation $\leq$ und
der Exponentiation $E$) der Arithmetik beschreibt.
Wir zeigen, dass jede rekursive Relation in $A_E$  
darstellbar ist.



Danach gehen wir zu dem bekannteren Standardmodell\index{${\mathfrak N}$}
$${\mathfrak N} =
({\mathbb N},0,1,+,\cdot,S,\leq)$$ 
zeigen wir analoge Resultate ohne die Exponentiation, für die endlich
axiomatisierbare Theorie $Q \subseteq Th(\mathfrak N)$ 
und die nicht endlich axiomatisierbare, 
dafür aber in $\Sigma_1$-Sätzen (Def.~\ref{sigma1}) axiomatisierbare 
Theorie $Q^*$.


 Aus diesen Tatsachen
 und aus einigen Lemmata erhalten wir danach recht einfach die gewünschten Ergebnisse über
Unentscheidbarkeit und Unvollständigkeit.

\medskip

\begin{definition}
\begin{myrules}
\item[(1)]
Die Axiome von $A_E$\index{$A_E$}:

\noindent S1. $\forall x Sx \neq 0$.\\
S2. $ \forall x \forall y (Sx=Sy \rightarrow x=y)$.

\smallskip

\noindent L1. $ \forall x\forall y (x<Sy \leftrightarrow x \leq y)$.\\
L2. $\forall x (x\not<0)$.\\
L3. $\forall x \forall y  (x < y \vee x=y \vee y <x)$.

\smallskip

\noindent A1. $\forall x (x+0 = x)$.\\
A2. $\forall x \forall y (x+Sy =S(x+y))$.

\smallskip

\noindent M1. $\forall x (x\cdot0 = 0)$.\\
M2. $\forall x \forall y (x\cdot Sy = x \cdot y +x)$.

\smallskip

\noindent E1. $\forall x (xE0 = S0)$.\\
E2. $\forall x \forall y (x ESy = (xEy) \cdot x)$.

\item[(2)] Die Axiome der 
{\em Robinson'schen Theorie $Q$}\index{$Q$}\index{Robinsons $Q$} sind $A_E$ ohne E1 und E2, also in der Sprache $\{=,1.+,\cdot, S, \leq\}$
abgefasst.
\item[(2)] Die Axiome der 
{\em Cobham'schen Theorie $Q^*$}\index{$Q^*$}\index{$Q^*$}
\index{Cobhams Theorie $Q^\ast$} sind\\
$Q^*_1$.  Für alle $n, m \in \N$:
$S^n(0) + S^m(0) = S^{n+m}(0)$.\\
$Q^*_2$. Für alle $n, m \in \N$,
$S^n(0) \cdot S^m(0) = S^{n\cdot m}(0)$.\\
$Q^*_3$. Für alle $n \in N$: $(\forall x)(x < S^n(0) 
\leftrightarrow (x = S^0(0) \vee\dots \vee x = S^n(0))$.
\end{myrules} 
\end{definition}

Jeder Satz aus $A_E$ und somit jede Folgerung aus $A_E$
ist im Standardmodell ${\mathfrak N}_E$ von $A_E$ wahr. 
Jedoch ist nicht jeder
Satz, der in ${\mathfrak N}_E$ wahr ist, eine Folgerung aus $A_E$.
Denn jede Theorie einer festen Struktur ist vollständig. Wir werden
sehen, dass $A_E$ in einem starken Sinne unvollständig ist.

Man zeigt induktiv über den Aufbau der quantorenfreien Sätze: 
Quantorenfreie Sätze, die in
${\mathfrak N}_E$/$\mathfrak N$ wahr sind, können aus $A_E$/$Q$ (und sogar 
aus $Q^\ast$) gefolgert (=formal bewiesen) werden.

% bishier 19.5.
%\setcounter{chapter}{3}
%\setcounter{theorem}{2}
\ssection{Gödelnummern}

Wir zeigen, dass jede rekursive Relation nicht nur in einer geeigneten endlichen
Theorie, sondern auch in $A_E$ darstellbar ist.
Wie können wir zeigen, dass jede Relation auf den natürlichen Zahlen, die unter Verwendung der Beweisbarkeit aus einer endlichen Theorie 
definiert wird, in einer Theorie der Arithmetik,  wie zum Beispiel in $A_E$, 
dargestellt werden kann?

Die Lösung dieses Problems wird durch die Verwendung von Gödelnummern\index{Gödelnummern} geliefert.
Diese sind Kodenummern in ${\mathbb N}$ für die zentralen syntaktischen Objekte der Logik:
Symbole, Terme, Formeln und Beweise aus einer endlichen VOraussetzungsmenge $T$ (im Sinne der Definition von $\vdash$).
Wir werden zeigen, dass die Menge der natürlichen Zahlen, die Beweise der Logik ersten Stufe
 kodieren, in $A_E$ darstellbar ist. Aus diesem Resultat folgt die Darstellbarkeit
 beliebiger rekursiver Relationen in $A_E$.

Zuerst beschreiben wir eine Funktion $h$, die jedem Symbol aus einer
gegebenen Sprache erster Stufe eine Kodenummer zuweist: Für die
logischen Symbole wird $h$ wie folgt definiert Die Zahlen 1, 3, 5,
7, 9  sind die Werte von $h$ für die Symbole  (, ), $\neg $,
$\rightarrow$, =. Für die Variablen sei $h(v_n)=9+2n+2$. Wir setzen
$h(\forall)=0$ und verwenden die andern gerade Zahlen, um die
anderen nichtlogischen Symbole in der effektiven Sprache
(=Symbolmenge)  zu kodieren.  Obwohl unser zentrales Interesse den
Sprachen mit endlich vielen nichtlogischen Symbolen gilt, nehmen
wie lediglich an, dass unsere Symbolmenge rekursiv ist. Dies
bedeutet, dass die folgende Mengen in $A_E$ darstellbar sind:

\begin{equation*}
\begin{split}
&\{k \such k \mbox{ ist $h(c)$ für ein Konstantensymbol $c$}\},
\\
&\{\langle k,n \rangle \such k \mbox{ ist $h(P)$ für ein
$n$-stelliges Prädikatensymbol $P$}\},
\\
&\{\langle k,n \rangle \such k \mbox{ ist $h(f)$ für ein
$n$-stelliges Funktionssymbol $f$}\}.
\end{split}
\end{equation*}

Dies gilt offensichtlich, wenn diese Mengen endlich sind.

Für eine endliche Folge $s_0,\dots,s_n$ von Symbolen unserer Sprache ${\mathcal L}(\tau)$
(diese Folge kann ein sinnvoller Ausdruck der Sprache sein oder einfach nur eine Zeichenreihe)
definieren wir die Gödelnummer $\goed{(s_0,\dots,s_n)}$ wie folgt.
Sei $p_0,p_1 \dots$ die streng monotone Aufzählung der Primzahlen.
\begin{eqnarray*}
\goed{(s_0,\dots,s_n)}  & =& \langle \langle h(s_0),\dots, h(s_n) \rangle \rangle \mbox{ mit}\\
\langle \langle k_0,\dots, k_n \rangle \rangle &=& 2^{k_0+1}\cdot \dots \cdot p_n^{k_n+1}.
\end{eqnarray*}

Wenn $\Phi$ eine Menge von endlichen Folgen von Symbolen ist, dann schreiben wir $\goed{\Phi}$
für die Menge $\{ \goed{\eps} \such \eps \in \Phi\}$.
Wir brauchen auch Kodenummern für Beweise: Wenn $\langle \alpha_0,\dots,\alpha_n\rangle$ eine
endliche Folge von Formeln ist, dann setzen wir $$\goed{(\langle\alpha_0,\dots,\alpha_n\rangle)}
= \langle\langle \goed{\alpha_0},\dots, \goed{\alpha_n}\rangle \rangle.$$

Nun muss man zeigen, dass jeder syntaktische Begriff unserer Sprache erste Stufe in $A_E$
darstellbar ist, wenn er in Gödelnummern übersetzt wird. Im folgenden sagen wir
kurz \glqq darstellbar'' anstelle von \glqq darstellbar in $A_E$''.

Warnung: Ab hier ist der Rest des Kapitels nur eine Skizze.
Die Durchführung der ausgelassenen Beweise ist nicht schwer, würde jedoch
 etliche
Sitzungen dauern. 

\begin{lemma}
\begin{myrules}
\item[1.] Die Menge der Gödelnummern für Variablen ist darstellbar.

\item[2.] Die Menge der Gödelnummern für Terme ist darstellbar.

\item[3.] Die Menge der Gödelnummern für atomare Formeln ist darstellbar.

\item[4.] Die Menge der Gödelnummern für Formeln ist darstellbar.

\item[5.] Sei ${\rm ers}$ die folgende dreistellige Funktion:
${\rm ers}(\goed{\alpha},\goed{x},\goed{t}) = \goed{\alpha^x_t}$
für Formeln $\alpha$, Terme $t$ und Variablen $x$, und sonst undefiniert.
Dann ist der Graph von ${\rm ers}$ eine darstellbare vierstellige Relation.

\item[6.] Die Funktion, die $n$ auf die Gödelnummer $\goed{n}$ abbildet, ist darstellbar.

\item[7.] Sei ${\rm frei}$ die folgende zweistellige Relation:
$\langle \goed{\alpha},\goed{x}\rangle \in {\rm frei}$ gdw
$x$ in $\alpha$ frei auftritt.
Dann ist ${\rm frei}$ darstellbar.

\item[8.] Die Menge der Gödelnummern für Sätze ist darstellbar.

\item[9.] Sei ${\rm ein}$ die folgende dreistellige Relation:
$\langle \goed{\alpha},\goed{x},\goed{t}\rangle \in ein$
gdw in $\alpha$ $t$ für $x$ eingesetzt werden kann.
Dann ist ${\rm ein}$ darstellbar.

\item[10.] Sei ${\rm all}$ die folgende zweistellige Relation:
$\langle \goed{\alpha},\goed{\beta}\rangle \in {\rm all}$
gdw $\beta$ eine Verallgemeinerung von  $\alpha$ ist.
Dann ist ${\rm all}$ darstellbar.

\item[11.] Die Menge der Gödelnummern für logische Axiome ist darstellbar.

\item[12.] Sie $A$ eine Menge von Formeln, so dass $\goed{A} $ darstellbar ist.
Dann ist $\{ \goed{D} \such D $ ist ein Beweis aus $ A \} $ darstellbar.

\item[13.] Jede rekursive Relation ist darstellbar in $A_E$.
\end{myrules}
\end{lemma}
\noindent
Beweis:
1. Dies ist die Menge $\{ a  \such \exists b< a (a = \langle\langle
11 + 2b\rangle \rangle)\}$.

13. Sei $R$ eine einstellige rekursive Relation. Dann ist $ R$ durch
eine Formel $\varphi$ in einer endlichen Theorie $T$ darstellbar.
Wir definieren $f(n)=$ das kleinste $d$,  so das $d = \goed{D}$ für
einen Beweis $D$ von $\varphi(S^n 0)$ oder $\neg \varphi(S^n 0 )$
aus $T$ ist. Dann ist $f$ darstellbar in $A_E$: Für
$\goed{\varphi(S^n 0)} = k_m $ ist $f(n) = \langle \langle
k_0,\dots, k_m\rangle\rangle$, falls $T \vdash  \varphi(S^n 0)$, und
sonst gilt Analoges mit $\neg \varphi(S^n 0)$. Daher ist  $R$ in
$A_E$ darstellbar. Dasselbe Argument gilt für $n$-stellige
Relationen.


\begin{theorem} Der starke Unentscheidbarkeitssatz\index{starker Unentscheidbarkeitssatz}. Sie $T$ eine Theorie, so dass $T\cup A_E$
konsistent ist. Dann ist die Menge
$$\{\goed{\varphi} \such
\varphi \mbox{  ist ein Satz und  } T\vdash \varphi \}$$ nicht
rekursiv.
\end{theorem}

Beweis: Für jedes $n$ definieren wir die Formel $\varphi_n$ wie
folgt: Wenn $n$ die Gödel\-nummer einer Formel $\varphi$ ist, die
nur eine freie Variable $v_1$ hat, dann setzen wir $\varphi_n =
\varphi$. Im anderen Fall nehmen wir für $\varphi_n$ die Formel $v_1
= v_1$.

Schließlich setzen wir $$R_n = \{k  \such T\cup A_E \vdash
\varphi_n(S^k 0)\}.$$

Sei $R$ eine rekursive Teilmenge von $\mathbb N$. Dann gibt es  nach
unserer Definition von Rekursivität und nach dem Punkt 13 des obigen
Lemmas eine Formel $\varphi_R(v_1)$ so dass:
\begin{equation*}
\begin{split}
k \in R &\mbox{ gdw  } A_E \vdash \varphi_R(S^k 0),
\\
k\not\in R & \mbox{ gdw } A_E \vdash \neg \varphi_R(S^k 0).
\end{split}
\end{equation*}
Dann gilt natürlich erst recht:
\begin{equation*}
\begin{split}
k \in R &\mbox{ gdw  } T\cup A_E \vdash \varphi_R(S^k 0),
\\
k\not\in R & \mbox{ gdw } T\cup A_E \vdash \neg \varphi_R(S^k 0).
\end{split}
\end{equation*}


Nun setzen wir $\goed{\varphi_R(v_1)}=n$ und erhalten $R = R_n$.
$R_n$, $n\in \omega$, ist also eine Auzählung aller rekursiven
einstelligen Relationen.


Wir nehmen nun indirekt an, dass $\{\goed{\varphi} \such \varphi$ ist
ein Satz und $T\vdash \varphi\}$ rekursiv ist. Dann ist auch
$\{\goed{\varphi} \such \varphi$ ist ein Satz und $T\vdash \bigwedge
A_E \rightarrow \varphi\}$ rekursiv. Somit ist $\{\goed{\varphi}
\such \varphi$ ist ein Satz und $T \cup A_E \vdash \varphi\}$
rekursiv. Nun schränken wir dies ein auf bestimmte Sätze und
erhalten:
$$\{\langle k,n\rangle\such T \cup A_E \vdash \varphi_n(S^k 0)\}$$
ist rekursiv.
Nach unserer Definition der Relationen $R_n$ ist also
$\{\langle k,n\rangle \such k \in R_n\}$ rekursiv.
Es gibt also ein $\psi(v_1,v_2)$, das $\{\langle k,n\rangle \such k \in R_n\}$ in $A_E$ darstellt.
Dann gibt es $\psi'(v_1) =\psi(v_1,v_1)$,  so dass für alle $n$,
  $A_E \vdash \psi'(S^n 0) \leftrightarrow \varphi_n(S^n 0)$.

Doch nun definieren wir eine weitere Menge:
$$n\in R \mbox{ gdw  } n \not\in R_n.$$
Auch diese Menge $R$ ist rekursiv, denn $n\in R$ gdw $T\cup A_E \not\vdash \psi'(S^n 0)$.

Dieses ist aber ein Widerspruch, da sich im Punkte $n$ die beiden Relationen $R_n$ und
$R$ unterscheiden. \proofend

\begin{corollary} (Starke Version des Gödel'schen Unvollständigkeitssatzes)
Sei $T$ eine rekursive Menge von Axiomen, und sei $T\cup A_E$
konsistent. Dann ist $T$ unvollständig: Es gibt einen Satz
$\varphi$, so dass $T\not\vdash \varphi$ und $T\not\vdash
\neg\varphi$.
\end{corollary}
\noindent
Beweis: Nach dem Satz über die starke Unentscheidbarkeit ist die
Menge $X= \{\goed{\varphi} \such \varphi $ ist ein Satz und $ T
\vdash \varphi\}$ nicht rekursiv. Wenn $T$ vollständig wäre, dann
wäre aber $X$ rekursiv.

Dies zeigt man wie folgt: Wenn $T$ vollständig ist, dann definieren
wir eine totale Funktion $f$ wie folgt: $f(n) $ das kleinste $d$, so
dass entweder $n$ keine Gödelnummer eines Satzes ist oder aber $ n =
\goed{\varphi}$ für einen Satz $\varphi$ und $d$ von der Form
$\goed{D}$ für einen Beweis $D$ aus $T$ von $\varphi$ oder von $\neg
\varphi$ ist. Die Funktion $f$ ist rekursiv, da $T$ eine rekursive
Axiomenmenge hat. Nun haben wir $n \in X$  gdw $ n$ die Gödelnummer
eines Satzes ist und $f(n)$ ein Beweis von $\varphi$ ist und
$\goed{\varphi} = n$ ist.
 Dies widerspricht der Nicht-Rekursivität von $X$.
 \proofend


Einige bekannte Spezialfälle des starken Unentscheidbarkeitssatzes sind:
Sei ${\mathfrak N}_E =(\N, +,\cdot, E, 0, 1)$.

\begin{corollary} Sei $T=Th({\mathfrak N}_E)$ die Zahlentheorie\index{Zahlentheorie}. Dann ist
$\goed{T}$ nicht rekursiv.
\end{corollary}
\noindent
Beweis $T \cup A_E$ ist konsistent, da $A_E \subseteq T$. Und da es
sich um eine unter $ \models$ und unter $\vdash$ abgeschlossenen
Menge handelt,  ist $T= \{\varphi \such \varphi$ ist ein Satz und
$T\vdash \varphi\}$. Deshalb folgt das Ergebnis aus dem starken
Unentscheidbarkeitssatz. \proofend

\begin{corollary}
Sei $S$ die Menge der allgemeingültigen Sätze in der Sprache der Arithmetik.
Dann ist $\goed{S}$ nicht rekursiv.
\end{corollary}

Beweis: Dies folgt aus dem starken Unentscheinbarkeitssatz,
 weil $S \cup A_E$ offensichtlich konsistent  ist.
\proofend

Nun können wir diese Ergebnisse verstärken. Erinnern Sie sich daran,
dass $A \subseteq {\mathbb N}$ definierbar in ${\mathfrak N}_E$ ist, gdw
es eine Formel $\varphi$ gibt, so dass $k \in A$ gdw ${\mathfrak N}_E
\models \varphi(k)$.

Ein rekursives $A$ ist definierbar in ${\mathfrak N}_E$, da jede Formel
$\varphi$ die $A$ in $A_E$ darstellt, $A$ auch in ${\mathfrak N}_E$
definiert. Dei Umkehrung ist falsch: als Beispiel ist die Menge
$\goed{\{\varphi \such \varphi$ ist ein Satz und $A_E \vdash
\varphi\}}$ nicht rekursiv aber definierbar in ${\mathfrak N}_E$.

Wie haben gesehen, dass $\goed{Th({\mathfrak N}_E)}$ nicht rekursiv ist.
Da dies vollständig ist, haben wir sogar

\begin{theorem}
Undefinierbarkeitssatz\index{Undefinierbarkeitssatz}.
$\goed{Th({\mathfrak N}_E)}$ ist nicht definierbar in ${\mathfrak N}_E$.
\end{theorem}

\noindent
Beweis: Dieser ist ähnlich wie der Beweis des starken
Unentscheidbarkeitssatzes. Für jedes $n$ sei $\varphi_n$ die Formel
mit der Gödelnummer $n$, wenn eine solche solche existiert und die
freie Variable $v_1$ hat, sonst sei $\varphi_n$ die Formel
$v_1=v_1$.


Sei $A_n = \{ k \such {\mathfrak N} \models \varphi_n(k) \}$. Dann
ist $\{ A_n\such n \in {\mathbb N}\}$ eine Aufzählung aller in
$\mathfrak N$ definierbaren Mengen. Nehmen wir nun an, dass
$\goed{Th({\mathfrak N})}$ in $\mathfrak N$ definierbar wäre. Dann
wäre die Menge
$$A = \{ n \such n \not\in A_n\}$$
auch definierbar in $\mathfrak N$. Da $n\in A$ gdw
$\goed{\varphi_n(n)} \not\in \goed{Th({\mathfrak N})}$. Aber da $A$
sich von allen $A_n$'s unterscheidet, ist dies ein Widerspruch.
\proofend



Die vorstehenden Ergebnisse haben wir in der Sprache der Arithmetik
mit Exponentiation ausgedrückt\index{Definierbarkeit der Exponentiation}.
Sie sind aber auch gültig für die Arithmetik ohne Exponentiation.

\begin{theorem}
$E$ ist definierbar in $Q$, g.h. es gibt eine Formel
$\phi_E$ so dass für alle $n,m,u in \N$ gilt
$n^m =u$ gdw $Q \vdash \phi(S^n(0), S^m(0), S^u(0)$.
\end{theorem}

\noindent Beweis:
Wir zeigen, dass Folgen kodierbar sind. $a^b$ wird durch die Folge
$(1, a, a^2, a^3, \dots, a^b)$ gegeben.
Deren Glieder erf\"ullen die Formel $a_0 =1$ und $a_{n+1} =
a_n \cdot a$, und $a_b$ ist das gesuchte $a^b$.
Wenn also die gesamte Folge in $Q$ definierbar ist, dann ist auch
die Exponentiationsfunktion definierbar.

\begin{lemma}\label{betaLemma} Das G\"odel'sche $\beta$-Lemma.
Es gibt eine Funktion $\beta \colon \N^3 \to \N$ mit den folgenden 
Eigenschaften
\begin{myrules} 
\item[(a)]
F\"ur jede Folge $(a_0, \dots, a_r)$ \"uber $\N$ gibt es $t$, $p \in \N$, 
so dass f\"ur $i \leq r$, $\beta(t,p i) = a_i$.
\item[(b)] Es gibt eine $\{0,1, + , \cdot\}$-Formel $\chi(v_0, \dots, v_3)$,
 die $\beta$  definiert im folgenden Sinn: 
$$Q\vdash \chi(S^t(0),S^p(0),S^i(0),S^a(0)) \mbox{ gdw } 
\beta(t,p, i) = a.$$
\end{myrules}
\end{lemma}
\noindent Beweis des Lemmas: Wir nehmen eine Primzahl $p
 \geq a_i$ f\"ur $i \leq r$ und $p \geq  r+1$ und setzen
$$t= 1 \cdot p + a_0 p^1 + 2 p^2  + \dots + (r+1) p^{2r} + a_r p^{2r+1}.$$
$t$ kodiert den Graphen von $t$ in  $p$-adischer Weise. 
$$\beta(t,p,i) = a \mbox{ gdw } Q \vdash \chi(S^t(0),S^p(0),S^i(0),S^a(0)),$$
mit folgenden Formeln 
\begin{equation*}
\begin{split}
\psi(v_0,\dots, v_3) =  
\exists v_4 v_5 v_6 & 
(v_0 = v_4 + v_5((v_2 +1) + v_3 v_1 + v_5 v_1^2)\\
& \wedge v_3 < v_1 \wedge v_4 < v_5 \wedge\\
& \exists v_7 (v_5 = v_7^{2} \wedge
\exists v_8 (\forall v_9 (v_9 \mid v_5 \rightarrow v_ 7\mid  v_9))))
 \end{split} 
\end{equation*}
und $\chi(v_0, \dots v_3)$  sagt, dass $v_3$ das $<$-minimale Element ist, so 
dass 
$\psi(v_0,\dots, v_3)$ wahr ist.
\proofend

Gödel zeigte das $\beta$-Lemma durch Verwendung des 
chinesischen Restsatzes\index{chinesischer Restsatz}.
Eine Struktur $\A$ heißt {\em entscheidbar}\index{entscheidbare Struktur} 
gdw  $\goed{Th({\A})}$
rekursiv ist.
Wir wissen also nun, dass nicht nur die Struktur
${\mathfrak N}_E$ sondern auch 
die Struktur ${\mathfrak N}_M$ unentscheidbar ist.

\begin{corollary}
Alle S\"atze dieses Kapitels, auch diejenigen im nächsten Abschnitt,
\"uber $A_E$ gelten auch f\"ur $Q$.
\end{corollary}

\smallskip

Man kann zeigen, dass die Struktur
$${\mathfrak N}_P = (N,0,S,+ ,<)$$ entscheidbar ist, die 
{\em Presburger-Arithmetik}\index{Presburger-Arithmetik}.
Hieraus folgt insbesondere, dass die Multiplikation nicht in
${\mathfrak N}_P$ definierbar ist.

\smallskip

Wir können auch die verwandten Strukturen $({\mathbb Z}, +,\cdot)$,
$({\mathbb Q},+,\cdot)$,
$({\mathbb R};+,\cdot)$ und $({\mathbb C},+,\cdot)$ der Mengen der ganzen, rationalen,
reellen und komplexen Zahlen betrachten.
Die Menge der natürlichen Zahlen ist in den ersten beiden Strukturen definierbar,
daher sind diese unentscheidbar, Die letzten beiden Strukturen sind entscheidbar
aufgrund tiefer liegender Ergebnisse aus der Algebra.

\ssection{Der zweite Gödel'sche Unvollständigkeitssatz}

Sei $T$ eine rekursive Theorie, die $A_E$ enthält. Wegen userer obigen Ergebnisse wissen wir, dass
$$\{\goed{D},\goed{\varphi}) \such
D \mbox{ ist ein Beweis von $\varphi$ aus }T\}$$ rekursiv ist und
somit durch eine Formel $\Bew_T(v_1,v_2)$ darstellbar  in $A_E$ ist.
Nun betrachten wir den Satz $\neg \exists d ({\rm Bew}_T(d,
\goed{0=1}))$. Dieser Satz der Arithmetik drückt die Eigenschaft
\glqq $T$ ist konsistent'' in der ersten Stufe aus, und wir
schreiben ihn als ${\rm Kon}_T$. Wir skizzieren nun die Beweisidee
für den Beweis der Tatsache, dass für alle genügend starken Theorien
$T$ der Satz ${\rm Kon}_T$ nicht aus $T$ beweisbar ist. Zunächst
betrachten wir die folgende allgemeine Tatsache


\begin{theorem}
Fixpunktsatz\index{Fixpunktsatz}. In der Sprache der Arithmetik gibt es für jede Formel $\beta$ mit nur einer
freien Variablen einen Satz $\sigma$, so dass $A_E$ den Satz $\sigma \leftrightarrow
\beta(\goed{\sigma})$ beweist.
\end{theorem}

\noindent
Beweis. Sei $f$ die
rekursive Funktion, die jedem Paar $(\goed{\alpha},n)$ den Wert $\goed{\alpha(n)}$
zuweist.
% bis hier 2.6.
Stelle $\theta(v_1,v_2,v_3)$  $f$ in $A_E$ dar.
Wir betrachten nun die Formel
$$\gamma(v_1) = \forall v_3(\theta(v_1,v_1,v_3) \rightarrow \beta(v_3)).$$
Sei $q = \goed{\gamma}$.
Dann erfüllt der Satz
$$\sigma = \gamma(q) = \forall v_3 (\theta(q,q,v_3)
\rightarrow \beta(v_3))$$
das Gewünschte:
Weil $\theta(v_1,v_2,v_3)$ die obige Funktion $f$ darstellt und $\goed{\sigma}$
der Wert dieser Funktion an der Stelle $(q,q)$ ist, gilt
$$A_E \vdash \forall v_3
(\theta(q,q,v_3) \leftrightarrow
v_3 = \goed{\sigma}).$$

$\sigma = \forall v_3(\theta(q,q,v_3) \rightarrow \beta(v_3))$.\\

Sei $A_E \vdash \sigma$. Dann $A_E \vdash \forall  v_3(\theta(q,q,v_3) \rightarrow \beta(v_3))$.
Wir setzen $v_3 = \goed{\sigma}$ ein.
$A_E \vdash \theta (q,q,\goed{\sigma})\rightarrow \beta(\goed{\sigma}).$
Also erhalten wir
$A_E \cup \{\sigma \} \vdash \beta(\goed{\sigma})$.
$A_E \vdash \sigma \rightarrow \beta(\goed{\sigma})$.

Umgekehrt \\
$A_E \vdash \beta(\goed{\sigma}) \rightarrow (\forall v_3 \theta(q,q,v_3)
\rightarrow \beta(v_3))$.\\
$A_E \vdash \beta(\goed{\sigma}) \rightarrow \sigma$.

Somit ist $A_E \vdash \sigma \leftrightarrow \beta(\goed{\sigma})$, wie gewünscht.
\proofend

\medskip

Nehmen wir nun an, dass $T$ eine Theorie und $\goed{T}$ rekursiv ist.

\begin{definition}\label{luegner} Der Lügnersatz $\sigma$.
Sei $\beta(v_2)$ die Formel $\neg \exists v_1 {\rm Bew}_T(v_1,v_2)$.
 Wir wenden den Fixpunktsatz auf $\beta$ an und  erhalten dadurch einen Satz $\sigma$, so dass $A_E
\models \sigma \leftrightarrow \beta(\goed{\sigma})$.

\glqq Ich bin wahr genau dann, wenn es keinen Beweis für mich gibt.''
\end{definition}

Dann sagt $\sigma$, dass $\sigma$ aus $T$ unbeweisbar ist:

\begin{lemma}
Wenn $T \supseteq A_E$ konsistent und rekursiv ist, dann $T \not\vdash \sigma$.
\end{lemma}

Beweis:
Wir nehmen an, dass $T$ $\sigma$ beweist. Dann sei $D$ ein solcher Beweis von $\sigma$ aus $T$
 und sei $d$ seine Gödelnummer. Dann ist $A_E \vdash
{\rm Bew}_T(d,\goed{\sigma})$. Deshalb gilt $A_E \vdash \neg
\beta(\goed{\sigma})$, daher $A_E \vdash \neg \sigma$. Weil $T$ die
Theorie $A_E$ enthält, also $T \vdash \neg \sigma$. Somit beweist
$T$ sowohl $\sigma$ als auch $\neg \sigma$, und deshalb ist $T$
inkonsistent. \proofend

\begin{definition}\label{sigma1} Eine 
$S_{\rm ar}=\{0,1,+,\cdot, S, \leq\}$-Formel\index{$S_{\rm ar}$} $\phi$ heißt
{\em $\Sigma_1$-Formel}\index{$\Sigma_1$-Formel}, 
wenn sie nur Existenzquantoren und 
$\forall$-Quantoren der Form $\forall x < S^n(0)$ 
für geeignete $n \in \N$ (sogenannte {\em 
beschränkte $\forall$-Quantoren}\index{beschränkter $\forall$-Quantor}) enthält. 
\end{definition}


\begin{definition} Sei $T$ eine $S_{\rm ar}$-Theorie.
$\Bew_T(x)$ ist eine {\em gute $T$-Beweisbarkeits\-formel}
\index{gute $T$-Beweisbarkeitsformel}
gdw die folgenden Bedingungen erfüllt sind:
\begin{myrules}
\item[(1)] $\Bew_T(x)$ ist $\Sigma_1$, und $\Bew_T(n)$ ist wahr gdw es einen
Satz $\psi$ gibt, so dass $n=\goed{\psi}$ und $T\vdash\psi$.
\item[(2)] Für $\Sigma_1$-Sätze $\psi$: $T\vdash(\psi\to \Bew_T(\goed{\psi}))$.
\item[(3)] Für alle Sätze $\psi$ und $\gamma$: $T\vdash (\Bew_T(\goed{\psi})\wedge
\Bew_T(\goed{(\psi\to\gamma))})\to \Bew_T(\goed{\gamma})$.
\end{myrules}
\end{definition}

\begin{definition} Sei $T$ eine $S_{\rm ar}$-Theorie.
$(T,\Bew_T(x))$ erfüllt die {\em Löb-Axiome}\index{Löb-Axiome}
gdw die folgenden Bedingungen erfüllt sind:
\begin{myrules}
\item[(L1)] $T \vdash \phi$ impliziert $T \vdash \Bew_T(\goed{\phi}))$.
\item[(L2)] $T\vdash(\Bew_T(\goed{\psi}) \rightarrow  
\Bew_T(\goed{\Bew_T(\goed{\phi})}))$.
\item[(L3)] Für alle Sätze $\psi$ und $\gamma$: 
$T\vdash (\Bew_T(\goed{\psi})\wedge
\Bew_T(\goed{(\psi\to\gamma)}))\to \Bew_T(\goed{\gamma}))$.
\end{myrules}
\end{definition}


\begin{lemma}
Sei $\Bew_T$ eine  gute $\Sigma_1$-Beweisformel für $T$. Dann erfüllt $(T,\Bew_T)$
die Löb-Axiome.
\end{lemma}

Ein wichtiges Beispiel einer Theorie $T$, die $A_E$ enthält, für die
es eine gute $T$-Beweisbarkeitsformel gibt, ist die
Peano-Arithmetik:

\begin{definition}
Die \emph{Peano-Arithmetik}\index{Peano-Arithmetik}, kurz $\PA$.
ergibt sich, indem wir
zu $Q$ für jede Formel $\varphi$, die möglicherweise zusätzlich zu $x$
weitere freie Variablen enthält,
das folgende  Induktionsaxiom für die natürlichen Zahlen\index{Induktionsaxiom
für die natürlichen Zahlen} hinzufügen:
$$(\varphi(0)\wedge \forall
  x(\varphi(x)\to\varphi(Sx)))\to\forall x\varphi(x).
$$
\end{definition}

\begin{theorem} Satz von L\"ob.
Die Peano-Arithmetik $\PA$ und $\zfc$ (siehe nächstes Kapitel)
haben jeweils ein
gutes $\Sigma_1$-Beweispr\"adikat.
\end{theorem}
\noindent Beweis: Siehe Hinman \cite{hinman:logic} oder Ziegler
\cite[Kapitel~18 und 20]{Zieglerbuch}.

\begin{definition}
Wir schreiben $\Kon_T $ für $\neg \Bew_T(\goed{0=1})$.\index{$\Kon_T$}
\end{definition}

\begin{theorem}
Zweiter Gödel'scher Unvollständigkeitssatz.\index{Zweiter Gödel'scher Unvollständigkeitssatz}
Sei  $T$ eine konsistente, rekursive (oder auch nur rekursiv aufzählbare)
Axiomenmenge ist, so dass es eine Beweisbarkeitsformel für $T$ gibt, derart
dass $(T, \Bew_T(x))$ die Löb-Axiome erfüllt. Dann $T\nvdash \Kon_T$.
\end{theorem}
\noindent
Beweis.
 Sei $\sigma$ wie oben in Definition~\ref{luegner} gewählt. Zuerst zeigen wir,
dass $T\vdash \Kon_T\to\sigma$. Da $T\nvdash \sigma$, folgt, dass
$T\nvdash\Kon_T$.

\smallskip

Es genügt zu zeigen, dass $T\vdash \neg\sigma\to\neg \Kon_T$. Wir
haben:

\smallskip

\noindent
$T\vdash \Bew_T(\goed{\sigma})\to \Bew_T(\goed{(\Bew_T(\goed{\sigma}))})$ nach
Axiom (L2) von $\Bew_T(x)$\\
$T\vdash \Bew_T(\goed{\sigma})\to(\sigma\to 0=1)$ nach Wahl von $\sigma$\\
$T\vdash \Bew_T(\goed{(\Bew_T(\goed{\sigma})\to(\sigma\to 0=1))})$, denn
$A_E\subseteq T$ beweist alle wahren $\Sigma_1$-Sätze\\
$T\vdash(\Bew_T(\goed{(\Bew_T(\goed{\sigma}))})\wedge
\Bew_T(\goed{(\Bew_T(\goed{\sigma})\to(\sigma\to 0=1))}))\to \Bew_T(\goed{(\sigma\to
0=1)})$ nach Axiom (L3) für $\Bew_T(x)$.

\smallskip

\noindent
Wir wissen aber, dass $T$ sowohl die zweite Hypothese der letzten Implikation
als auch den Satz $\Bew_T(\goed{\sigma})\to \Bew_T(\goed{(\Bew_T(\goed{\sigma}))})$
beweist. Somit haben wir:

\noindent
$T\vdash \Bew_T(\goed{\sigma})\to \Bew_T(\goed{(\sigma\to 0=1)})$.

\noindent
Nach Axiom (L3) für die Formel $\Bew_T(x)$
erhalten wir:
$$T\vdash(\Bew_T(\goed{\sigma})\wedge \Bew_T(\goed{(\sigma\to 0=1)}))\rightarrow
\Bew_T(\goed{(0=1)}).
$$
Also $T\vdash \Bew_T(\goed{\sigma})\to \Bew_T(\goed{(0=1)})$.
$T\vdash\neg\sigma\to \Bew_T(\goed{\sigma})$ nach Wahl von $\sigma$.
Es folgt, dass $T \vdash \neg\sigma\to\neg
 \Kon_T$, wie gewünscht.
\proofend


Die Bedingung, dass  $T$  eine gute Beweisformel hat, ist
allerdings nicht so einfach zu verifizieren und führt tiefer in die
Beweistheorie (als Gebiet gemeint, in der heutzutage gängigen
Einteilung der mathematischen Logik in Beweistheorie, Rekursionstheorie,
Mengenlehre und Modelltheorie).

Wir formulieren den zweiten Gödelschen Unvollständigkeitssatz noch einmal 
für die gängigen Axiomensysteme $\PA$ und $\ZFC$:

\begin{corollary}
$\PA \not\vdash \Kon_{\PA}$ und $ZFC \not\vdash \Kon_{\ZFC}$.
\end{corollary}


\schapter{Mengenlehre\index{Mengenlehre}}\label{C7}

\ssection{Die Axiomensysteme $\zf$ und \zfc}

$\zf$\index{$\zf$} steht für die beiden Namen Zermelo und Fränkel.
 $\zfc$ steht für Zermelo\index{Zermelo},
Fraenkel\index{Fraenkel}, und Choice\index{$\zfc$}.

Duden: Axiom: als absolut richtig anerkannter
Grundsatz, gültige Wahrheit, die keines Beweises bedarf.

\begin{definition}
\begin{myrules}
\item[(1)] Zum Axiomensystem $\zf$ gehören folgenden Axiome und 
Axiomenschemata:

{\bf Axiom 0}: {\em Existenzaxiom}. Es gibt die leere Menge.
$$\exists x \forall y (y\not\in x).$$

{\bf Axiom 1}: {\em Extensionalität}\index{Extensionalität} (Ext). Mengen, die dieselben Elemente
enthalten, sind gleich. $$\forall x \forall y(
\forall z ( z \in x \leftrightarrow z \in y) \rightarrow y = x).$$

{\bf Axiom 2}: {\em Fundierungsaxiom}\index{Fundierungsaxiom} (Fund). Die $\in$-Relation ist fundiert, d.h.,
jede nicht leere Menge hat ein $\in$-minimales Element,
$$\forall x(\exists y \in x
\rightarrow \exists y \in x (\neg \exists z (z \in y \wedge z \in x)))$$

{\bf Axiom 3}: {\em Aussonderungsschema}\index{Aussonderungsschema}
(Comprehension) (Aus). Für alle $\varphi \in {\mathcal L}(\in)$ mit
$\fr(\varphi) \subseteq \{ x,z,w_1,w_2, \dots, w_n\}$ gilt folgendes
$$\forall z \forall w_1 \dots \forall w_n \exists y \forall x (x \in y \leftrightarrow
x \in z \wedge \varphi).$$

{\bf Axiom 4}:
{\em Paarmengenaxiom}\index{Paarmengenaxiom} (Pairing) (Paar) $$\forall x \forall y \exists z (x \in z \wedge y \in z).$$

{\bf Axiom 5}: Vereinigungsmengenaxiom\index{Vereinigungsmenge} (Union) (Verein) $$\forall F \exists A
\forall Y \forall x (x \in Y \wedge Y \in F \rightarrow x \in A).$$

{\bf Axiom 6}: {\em Ersetzungsschema}\index{Ersetzungsschema} (Replacement) (Ers).

$\exists! x$ heißt \glqq es gibt genau ein $x$'.

 Für alle $\varphi \in {\mathcal L}(\in)$ mit
$\fr(\varphi) \subseteq \{ x,y,A,w_1,w_2, \dots, w_n\}$ gilt
folgendes
$$\forall A \forall w_1 \dots \forall w_n (\forall x \in A \exists! y \varphi
\rightarrow \exists Y \forall y (\exists x \in A \varphi
\leftrightarrow y \in Y)).$$


{\bf Axiom 7}: {\em Unendlichkeitsaxiom}\index{Unendlichkeitsaxiom} (Infinity) (Inf)

Sei $x$ eine Menge.
Nach (Aus) gibt es  $\emptyset = \{ z \in x \such z \neq z \}$.
$$\exists x (\emptyset \in x
\wedge \forall y \in x (y \cup \{y \} \in x)).$$



{\bf Axiom 8}: {\em Potenzmengenaxiom}\index{Potenzmengenaxiom} (Powerset axiom)

Sei $x \subseteq y$ eine Abkürzung für $\forall z \in x (z\in y)$
$$\forall x \exists y \forall z (z \subseteq x \rightarrow z \in y).$$

\item[(2)] 
Zum Axiomensystem $\zfc$ gehören alle Axiome von $\zf$ und zusätzlich noch
das

{\bf Axiom 9}: {\em Auswahlaxiom}\index{Auswahlaxiom} (Axiom of Choice)
$$\forall {\mathcal F} (\forall Y \in {\mathcal F} Y \neq \emptyset
\rightarrow \exists f \colon {\mathcal F} \to \bigcup {\mathcal F} \forall Y \in {\mathcal F}
f(Y) \in Y ).$$
\end{myrules}
\end{definition}

\ssection[Das Auswahlaxiom]{Das Auswahlaxiom, der Satz von Tychonoff, das Zorn'sche
Lemma und der Wohlordnungssatz}

Anmerkung: $\bigcup \cF$\index{$\bigcup \cF$} ist die
mengentheoretische Schreibweise für $\bigcup_{X\in \cF} X$, also für
$\{y\such (\exists X \in \cF)( y\in X)\}.$

\smallskip

In diesem Kapitel folgen wir der Konvention, dass $\varphi$ (ohne
jegliches Hintergrundmodell) steht für \glqq $\zfc\models \varphi$'',
äquivalent \glqq $\varphi$ ist ein Satz'', \glqq $\varphi$ gilt'',
\glqq $\varphi$ ist wahr'' usf. Dies ergibt natürlich nur Sinn bei
Formeln $\varphi$ ohne freie Variablen.

\smallskip

Wenn man die Mengenlehre wie im vorigen Kapitel mit Modellen
betrachten möchte, dann muss man auf klassengroße Modelle $({\bf
V},\in) \models \zfc$ zurückgreifen. Hier ist ${\bf V}$ die Allklasse
aller Mengen. ${\bf V}$ selbst ist keine Menge. $(({\bf V},\in),s)
\models \varphi$ wird induktiv über den Aufbau von $\varphi$
definiert, wörtlich wie in Definition~\ref{models}.  Doch Sie kennen
sicher aus Ihrem Studium schon andere Techniken, wie man \glqq
$\varphi$ ist ein Satz'' verfiziert, nämlich durch einen Beweis.

\smallskip

\zfc hat acht Axiome und zwei Axiomenschemata (dies sind zwei mal
abzählbar unendlich viele Axiome). Die Liste gibt es in Kapitel~9.
Hier stellen wir nur ein Axiom daraus vor:

\begin{definition}
{\em Das Auswahlaxiom}\index{Auswahlaxiom} (kurz: AC) sagt: Jede
Familie $\cF$ nicht leerer Mengen hat eine
Auswahlfunktion\index{Auswahlfunktion}, d.h., es gibt eine Funktion
$f \colon \cF \to \bigcup \cF$, so dass für alle $X \in \cF$, $f(X)
\in X$.

Eine Funktion mit der beschriebenen Eigenschaft heißt {\em
Auswahlfunktion für $\cF$}\index{Auswahlfunktion}.
\end{definition}


\begin{definition}
Sei $I \neq\emptyset$ eine Indexmenge. Für $i \in I$, sei $X_i$ eine
Menge. Wir definieren das {\em Produkt}\index{Produkt}
$$\prod_{i\in I} X_i := \{ f \colon I \to \bigcup_{i\in I}X_i \such (\forall i \in I)
(f(i) \in X_i)\}.$$
\end{definition}

\begin{theorem}\label{tychohoff}
 Der Satz von Tychonoff\index{Satz von Tychonoff}.
Falls kein $X_i$ leer ist, so ist $\prod_{i\in I}X_i$ nicht leer.
\end{theorem}


Beweis: Wir setzen $\cF= \{\{i\}\times X_i \such i \in I\}$ und
nehmen eine Auswahlfunktion $f \colon \cF \to \bigcup_{i\in I}
(\{i\}\times X_i)$. Dann gibt es ein $g \in \prod_{i\in I} X_i$,
nämlich $g(i) = \mbox{zweite Koordinate von}(f(\{i\} \times X_i))$.
\proofend

\begin{theorem}\label{utychohoff}
Auf der Basis von ZF: Der Satz von Tychonoff impliziert das
Auswahlaxiom.
\end{theorem}

Beweis: Übung.

\begin{definition}
Eine lineare (auch: totale) Ordnung\index{lineare Ordnung} ist ein
Paar $\langle A, R\rangle$, so dass $R$ die Menge $A$ linear ordnet,
d.h., dass $R$ eine Relation ist, die die folgenden Eigenschaften hat
\begin{myrules}
\item[1.] Transitivität\index{Transitivität} $\forall x,y,z \in A (xRy \wedge yRz \rightarrow xRz)$

\item[2.] Irreflexivität:\index{Irreflexivität} (auch Antisymmetrie) $\forall x \in A \neg xRx$.

\item[3.] Trichotomie:\index{Trichotomie} (Linearität, Konnexität, Totalität)
$\forall x,y \in A  (xRy \vee yRx \vee x=y)$.
\end{myrules}
\end{definition}



\begin{definition}
 $\langle A,R\rangle$ heißt {\em Wohlordnung}\index{Wohlordnung},
gdw $\langle A,R \rangle$ eine lineare Ordnung ist, in der
 jede nicht leere Teilmenge von $A$ ein $R$-minimales Element hat.
$\forall y ( (y \subseteq A \wedge \exists x \in y) \rightarrow
\exists z \in y ( \forall u \in y (\neg  u Rz)))$.
\end{definition}

Man überlege sich, dass die hier geforderten $R$-minimalen Elemente
auch die $R$-kleinsten sind, d.h, dass man $(\neg  u Rz)$ durch $(u=z
\vee zRu)$ ersetzen kann.

\smallskip


Gegenbeispiele: $({\mathbb Q},<)$,  $({\mathbb Z},<)$, $({\mathbb
R},<)$.

Beispiele: $({\mathbb N},<)$,  $(\{0,1,2\},<)$, $(\aleph_1,<)$.



\begin{theorem}\label{zermelo}
 Der {\em Wohlordnungssatz}\index{Wohlordnungssatz}, Zermelo\index{Zermelo} 1904.
Auf der Basis von ZF gilt: AC $\leftrightarrow \forall A \exists R
(\langle A,R\rangle $ Wohlordnung).
\end{theorem}

Beweis. $\leftarrow$. Sei $\bigcup {\mathcal F}$ via $R$
wohlgeordnet. Dann ist $f(Y) = \min_{R}(Y)$ eine gewünschte
Auswahlfunktion.

$\rightarrow$ (vorläufig noch nicht ganz begründet) Sei $A$ gegeben.
Sei $h \colon {\mathcal P}(A) \setminus \{0\} \to A$ eine
Auswahlfunktion auf ${\mathcal P}(A)$. Nun definieren wir durch
transfinite Rekursion eine Funktion $g \colon (\beta,\in) \to A$
durch $g(\alpha) = h( A \setminus g'' \alpha)$, falls $g'' \alpha
\neq A$ $g$ ist injektiv, und daher gibt es ein $\beta$, so dass $g''
\beta = A$. Nun setzen wir für $a,b \in A$, $aRb \leftrightarrow
g^{-1}(a) \in g^{-1}(b)$. \proofend

\section{Transfinite Induktion und Rekursion}

\begin{definition}
Eine Menge $x$ heißt {\em transitiv}\index{transitive Menge} gdw
$\forall y \in x (\forall z \in y (z \in x))$.
\end{definition}

Beispiele: $\emptyset$, $\{\emptyset\}$, $\{\emptyset, \{
\emptyset\}\}$, $\{\emptyset,\{\emptyset\},\{\{\emptyset\}\}\}$,
$\{\emptyset,\{\emptyset\},\{\emptyset,\{\emptyset\}\}\}$.

Gegenbeispiele: $\{\{\emptyset\}\}$, $x \neq \emptyset$, dann ist
$\{x\}$ nicht transitiv.

\begin{definition}
Eine Menge $x$ heißt {\em Ordinalzahl (kurz On)}\index{Ordinalzahl}
gdw $x$ transitiv ist und $\langle x,\in \rangle$ eine Wohlordnung
ist.
\end{definition}


\begin{definition}
Eine Ordinalzahl $\alpha$ heißt {\em Nachfolgerordinalzahl}\index{
Nachfolgerordinalzahl} gdw es eine Ordinalzahl $\beta \in \alpha $
gibt, so dass $\alpha = \beta \cup \{\beta\}$.

Eine Ordinalzahl $\alpha$ heißt {\em Limesfolgerordinalzahl}\index{
Limesfolgerordinalzahl} gdw $\alpha \neq \emptyset$ und $\alpha$
keine Nachfolgerordinalzahl ist.

\end{definition}




\begin{definition}\label{2.18}
Eine Klasse $G$ von Paaren heißt Operation auf $D$ gdw $\forall x
\in D \exists! y (\l x,y\r\in G)$. Wir schreiben $G \colon D \to
{\bf V}$.
\end{definition}

\begin{theorem}
Der Satz über die transfinite Induktion, hier in der Formulierung
mit einer Klassenvariablen $X$.

Sei $X \subseteq On$ und sei $0 \in X$ und sei für alle $\alpha \in
X $ auch $S(\alpha) \in X$ und sei für alle Limesordinalzahlen
$\lambda \subseteq X$ auch $\lambda \in X$. Dann ist $X = On$.
\end{theorem}

Beweis: Wir nehmen an, dass es ein $\alpha \in On \setminus X$ gäbe.
Dann gibt es ein minimales Element $\beta$ in der Menge  $\alpha
\cap(On \setminus X)$. Nach den Voraussetzungen über $X$ ist $\beta
\neq 0$. $\beta$ kann auch kein Nachfolger sein, da $X$ unter
Nachfolgerbildung abgeschlossen ist. Und falls schließlich  $\beta$
eine Limesordinalzahl wäre, hätten wir $\beta \subseteq X$ und daher
nach Voraussetzung $\beta \in X$. Also ist $X= On$. \proofend



Definitionen über transfinite Induktion heißen transfinite Rekursion
und werde nun  begründet. Wieder  arbeiten wir mit Klassenvariablen,
die für Ausdrücke in der Sprache der ersten Stufe stehen, so dass
$\forall x \exists ! y \varphi$ gilt für geeignetes $\varphi $, das
die Definition der Operation  $F$ ist. Ein geeignetes anderes
$\psi$, das im Beweis erst aufgebaut wird, wird die Definition der
Operation $G$ sein.





\begin{theorem}
Der Satz über die transfinite Rekursion.\index{transfinite
Rekursion} Für $F \colon {\bf V} \to {\bf V}$ gibt es ein eindeutig
bestimmtes $G \colon On \to {\bf V}$, so dass
$$\forall \alpha ( G(\alpha) = F(G\restriction \alpha)).$$
\end{theorem}

Beweis: Zunächst zeigen wir die Eindeutigkeit von $G$. Seien $G_1,
G_2$ zwei Klassen, die den Rekursionsbedingungen genügen. Dann gilt
$G_1(0) = F(\emptyset) = G_2(0)$, und, wenn $G_1\restriction \alpha
= G_2 \restriction \alpha$, dann ist $G_(\alpha) = F(G_1\restriction
\alpha) = F(G_2\restriction \alpha) = G_2(\alpha)$. Nach dem Satz
über die transfinite Induktion ist daher $G_1 =G_2$.

Nun zur Existenz: $g \in {\bf V}$ heißt $\delta$-Approximation gdw
$\dom(g) =\delta \in On$ und $\forall \alpha \in \delta (g(\alpha) =
F(g \restriction \alpha))$. Für je zwei Approximationen, sagen wir,
für eine $\delta$-Approximation $g$ und eine $\delta'$-Approximation
$g'$, zeigt man durch Induktion über $\alpha < \delta \cap \delta'$,
dass $g\restriction \delta \cap \delta' = g' \restriction \delta \cap
\delta'$. Danach zeigt man durch transfinite Induktion, dass $\forall
\delta (\exists \delta\mbox{-Approximation } g)$. Zum Schluss
definiert man $G(\alpha) = g(\alpha)$ für eine beliebige
$\delta$-Approximation $g$, so dass $\delta > \alpha$. \proofend

Nun zurück zum Wohlordnungssatz, Satz~\ref{zermelo}.

Beweis: $\rightarrow$ Sei $A$ gegeben. Sei $h \colon {\mathcal P}(A)
\setminus \{0\} \to A$ eine Auswahlfunktion auf ${\mathcal P}(A)$.
Nun definieren wir durch transfinite Rekursion eine Operation  $G
\colon On \to A \cup \{A\}$ durch
$$G(\alpha) = \left\{
\begin{array}{ll}
 h( A \setminus G'' \alpha), & \mbox{ falls } G'' \alpha \neq A,\\
A, & \mbox{ sonst.}
\end{array}
\right.
$$
$G \restriction (G^{-1})''A$ is injektiv, wie man induktiv zeigt. Es
gibt daher  ein $\beta$ so dass $G'' \beta = A$. Sonst wäre $G \colon
On \to A$ injektiv, und daher $On = (G^{-1}) '' A$ nach dem
Ersetzungsaxiom eine Menge, was dem Satz von Burali-Forti
widerspricht. $\beta$ ist eindeutig. Nun setzen wir für $a,b \in A$,
$aRb \leftrightarrow G^{-1}(a) \in G^{-1}(b)$ und erhalten eine
Wohlordnung $R$ von $A$, so dass $(A,R) \cong (\beta,\in)$. \proofend

\begin{definition}
Ein geordnetes Paar $\l P,<\r$ heißt {\em
Halbordnung}\index{Halbordnung} oder {\em partielle Ordnung}
(partial order)\index{partielle Ordnung}, gdw $<$ eine transitive,
irreflexive Relation ist.
\end{definition}

\begin{definition}\label{fundrel}
1. Eine Teilmenge $K$ einer Halbordnung heißt {\em
Kette}\index{Kette}, gdw
$$\forall x,y \in K ( x=y \vee x<y \vee y<x).$$

2. Eine Halbordnung heißt {\em induktiv}\index{induktive
Halbordnung}, wenn jede Kette $K$ eine obere Schranke hat, das heißt
es gibt ein $s \in P$, so dass für alle $x \in K$ $s \geq x$.

3. Ein maximales Element ist ein Element $x \in P$, so dass für all
$y$, $y\not> x$

\end{definition}

\begin{theorem}
\begin{myrules}
\item[1.] {\em Das Lemma von Zorn}\index{Zornsches Lemma}. (\zfc). Jede nicht leere
induktive Halbordnung hat ein maximales Element.
\item[2.] Auf der Basis von ZF folgt aus dem Lemma von Zorn das Auswahlaxiom.
\end{myrules}
\end{theorem}


Beweis: 1. Sei $R$ eine Wohlordnung auf $P$ und sei $f\colon
(\alpha,\in) \cong\l P,R \r$. Wir definieren induktiv über $\beta <
\alpha$ eine Funktion $G \colon \alpha \to {\bf V}$. Wir setzen
$$G(\beta) =\left\{
\begin{array}{l}
\mbox{ die $R$-kleinste obere Schranke von $\rge(G \restriction
\beta)$ die nicht
in $\rge((G \restriction \beta)$ ist},\\
\mbox{falls es so eine gibt},
\\\{P\}, \\ \mbox{falls es keine obere Schranke von
$\rge(G \restriction \beta)$ gibt,  die nicht in $\rge((G
\restriction\beta)$ ist.}
\end{array}
\right.
$$

Nun zeigt man induktiv über $\alpha \in \On$, dass
 $G \colon \alpha \to K \cup \{P\}$ für eine Kette $K\subseteq P$.
Ausserdem folgt der Induktivität von $\l P,<\r$, dass die kleinste
Zahl mit $G(\beta)=P$ eine Nachfolgerordinalzahl ist,
 denn andernfalls wäre $\{G(\gamma) \such \gamma <\beta\}$ eine Kette ohne maximales Element.


Die Definition von $G$ wird  also bei einer Nachfolgerzahl
$\beta=\gamma \cup \{\gamma\}$ zu konstant $P$, weil der zweite Fall
des Fallunterscheidung eintritt.


Sei $\gamma$ der direkte $\in$-Vorgänger von $\beta$. Dann ist
$G(\gamma)$ ein maximales Element.


2. Sei $A$ gegeben. Wir setzen $P= \{ \l B,S \r \such B \subseteq A,
S \mbox{ Wohlordnung auf } B \}$, und definieren $\prec$ auf $P$
durch
$$\l B,S\r \prec \l B', S'\r \leftrightarrow \exists c \in B'
(\l B,S \r \cong \l \{b \in B' \such b S' c\},S'\r.$$

Man rechnet nach, dass $\l P,\prec \r $ eine induktive Halbordnung
ist. Das Lemma von Zorn liefert nun ein maximales Element $\l B,S\r$
in $\l P,\prec\r$. Falls $B \neq A$, kann man die Wohlordnung $\l
B,S \r $ um einen grössten Punkt verlängern, und hat daher einen
Widerspruch zur Maximalität. Daher ist $B=A$. \proofend

Es gibt zahlreiche Verwandte des Auswahlaxioms, und es gibt Bücher,
die sich alleine dem Auswahlaxiom widmen: \cite{RubinRubin} gibt
äquivalente Versionen an, und \cite{Jech:AC} behandelt auch echt
schwächere Varianten. Wir stellen noch eine Äquivalenz ohne Beweis
vor:

\begin{theorem}
\begin{myrules}
\item[1.] (\zfc). Jeder Vektorraum hat eine Basis.
\item[2.] (Blass, 1984 \cite{Blass:AC}) Auf der Basis von ${\rm ZF}$:
Wenn jeder Vektorraum eine Basis
hat, dann gilt das Auswahlaxiom.
\end{myrules}
\end{theorem}


\begin{theorem}
Sei $\phi$ eine der folgenden Aussagen:
\begin{myrules}
\item[1.] Es gibt einen freien Ultrafilter.
\item[2.] Es gibt Primideale.
\item[3.] Wenn $f\colon \R \to \R$ nicht $\ep$-$\delta$-stetig ist, dann gibt es eine
Folge $\langle x_n\such n\in \N\rangle$, so dass $\lim_n f(x_n) \neq
f(\lim_n x_n)$.
\item[4.] (Für Mengentheoretiker.) Es gibt disjunkte stationäre Teilmengen von
$\omega_1$.
\end{myrules}
Dann gilt:
\begin{myrules}
\item[(a)]
$\zfc \vdash \phi$,
\item[(b)] $\zf \not\vdash \phi$,
\item[(c)] $\zf \cup\{\phi\} \not\vdash \zfc$.
\end{myrules}

\end{theorem}
\noindent Beweis: Die Behauptungen (a) lernen Sie für
(1), (2) und (3) sicherlich in einer Vorlesung.
Die Eigenschaften (b) und (c) benutzen Forcing 
zum Beweis, eine mengentheoretische Technik, 
die in dieser Vorlesung nicht vorgestellt werden kann.

\schapter{Logisches Programmieren}\label{C8}

\ssection{Die Resolutionsmethode}\label{S8.1}

In diesem Abschnitt kehren wir  zur\"uck zur Aussagenlogik. Wir
sahen, dass man mit disjunktiven Normalformen einfacher rechnen kann
als mit allgemeinen Formeln. Nun sehen wir eine andere Methode, die
auf konjunktive Normalformen zugeschnitten ist, die
Resolutionsmethode\index{Resolutionsmethode}.

\begin{definition}\begin{myrules}

\item[(1)] Eine Klausel\index{Klausel} $C$
ist eine endliche Menge von Literalen $L$.
\item[(2)]

Eine Belegung $v$ der Variablen erf\"ullt die Klausel $C$, wenn
$\bar{v}(L) = W$ f\"ur ein $L \in C$. Anders ausgedr\"uckt, wenn
$\bar{v}(\bigvee_{L \in C} L)= W$.
\item[(3)] Sei $\cC$ eine endliche Menge von
Klauseln. Eine Belegung $v$ erf\"ullt $\cC$, wenn $\bar{v}$ alle
$C \in \cC$ erf\"ullt. Das kann man auch schreiben als
$\bar{v}(\bigwedge_{C \in \cC} \bigvee_{L \in C} L) = W$.
\end{myrules}
\end{definition}

\begin{definition} Sei $A$ eine Variable, $C = \{A\} \cup P$ und $D = \{\neg A\}
\cup Q$ zwei Klauseln. Dann ist $P \cup Q$ eine {\em
Resultante}\index{Resultante} von $C$ und $D$.
Wir schreiben $P \cup Q = \resu_A(P,Q)$.
\end{definition}

\begin{theorem}\label{resolutionsmeth}
(Die Resolutionsmethode). Eine endliche Menge $\cC$ von Klauseln ist
genau dann erf\"ullbar, wenn sich aus $\cC$ durch sukzessives Bilden
von Resultanten niemals die leere Klausel ergibt.
\end{theorem}

\noindent Beweis: Der Beweis beruht
auf folgender Beobachtung: Sei mit $\cC|A = W$ die Menge der
Klauseln bezeichnet, die man aus $\cC$ erh\"alt, wenn man $A = W$
setzt. Das hei\ss t, dass man alle Klauseln, in denen $A$ vorkommt,
wegl\"asst und in den verbleibenden Klauseln alle Vorkommen von
$\neg A$ streicht. Entsprechend sei $\cC |A = F$ definiert. Dann
gilt das folgende Lemma:

\begin{lemma}\label{8.4}
Sei $v$ eine Belegung der Variablen von $\cC$ und $\bar{v}(A) =
W$. Dann ist $\bar{v}(\bigwedge\cC)= W$  genau dann, wenn $\bar{v}(\cC|
A = W)= W$ ist. Analoges gilt f\"ur $F$ statt $W$.
Sei $v$ eine Belegung der Variablen von $\cC$ und $v(A) =
F$. Dann ist $\bar{v}(\bigwedge\cC)= W$  genau dann, wenn $\bar{v}(\cC|
A = F)= W$ ist.
%\item[(b)]
% Aus $\cC$ ergibt sich durch
%sukzessives Bilden von Resultanten genau dann die leere Klausel,
%wenn das gleiche f\"ur $\cC|A = W$ und f\"ur $\cC|A = F$ gilt.
%\end{myrules}
\end{lemma}
\noindent Beweis: Sei $v(A)=W$.
Aus der Definition der Fortsetzung von $v$ folgt:
$\bar{v}(\bigvee_i L_i) = W$ wenn $A$ unter den $L_i$ ist, und
$\bar{v}(\bigvee_i L_i)=\bar{v}(\bigvee_{i\neq j} L_i)$ wenn $L_j = \neg A$.
Gepiegeltes gilt für $v(A)=F$.
\proofend

\begin{lemma}\label{8.5}
Sei $\phi \equiv \psi$. 
Dann ist $\phi$ erf\"ullbar genau dann, wenn $\psi$ erf\"ullbar ist.
\end{lemma}
\noindent Beweis: Definition von $\phi \equiv \psi$. \proofend

Die Umkehrung gilt nicht. $A_0$ und $A_1$ sind beide erf\"ullbar, also ist
$A_0$ erf\"ullbar genau dann wenn $A_1$ erf\"ullbar ist, aber $A_0$ 
ist nicht \"aquivalent mit $A_1$.

\begin{lemma}
\begin{myrules} 
\item[(1)]
Seien $P$, $Q$ Klauseln in den Variablen $A_0$, \dots, $A_{n-1}$.
$(\bigvee P) \wedge (\bigvee Q)$ ist \"aquivalent zu
$(\bigvee P) \wedge (\bigvee Q) \wedge \bigwedge_{i < n} (\bigvee \resu_{A_i}(P,Q))$.
\item[(2)]
Seien $P$, $Q$ Klauseln in den Variablen $A_0$, \dots, $A_{n-1}$.
$(\bigvee P) \wedge (\bigvee Q)$ ist erf\"ullbar gdw
$(\bigvee P) \wedge (\bigvee Q) \wedge \bigwedge_{i < n} (\bigvee \resu_{A_i}(P,Q))$
erf\"ullbar ist.
\item[(3)]
$\bigwedge\cC$ ist \"aquivalent zu $\bigwedge(\cC\cup \{\resu_{A_i}(C_1, C_2) \such C_1, C_2 \in \cC,
i < n\})$.
\item[(4)]
$\cC$ ist erf\"ullbar gdw $\cC\cup \{\resu_{A_i}(C_1, C_2) \such C_1, C_2 \in \cC,
i < n\}$ erf\"ullbar ist.
\end{myrules}
\end{lemma}


\noindent Beweis: (1) Sei $\bar{v}(\bigvee P \wedge \bigvee Q)= W$ und 
sei $A_i$ eine
Variable. Sei $v(A_i) = F$ (der andere Fall geht gespiegelt).
Dann gilt nach Lemma~\ref{8.4} $\bar{v}(P|
A = F)= W$ und $\bar{v}(Q|
A = F)= W$. Sei $P = \{A, P_1, \dots, P_{k-1}\}$ und sei
$Q= \{\neg A, Q_1, \dots, Q_{\ell-1}\}$. Da $\bar{v}(P) = W$, ist
$\bar{v} (\{P_1, \dots, P_{k-1}\}) = W$.
Daher ist auch
$\bar{v} (\resu_A(P,Q)) = W$.
Da $A$ und $F$ beliebig waren, gilt dies f\"ur alle Variablen und alle Wahrheitswerte.

Teil (3) folgt daraus, dass man (1) iterativ auf alle Paare von Klauseln in
$\cC$ anwenden kann.
\proofend


Ende des Beweises von Satz~\ref{resolutionsmeth}
Sei $\cC$ eine endliche Menge von Klauseln in den Variablen
$A_0, \dots A_{n-1}$.
Das zweite
Lemma, so oft angewandt, wie es verschiedene Klauseln
\"uber $\{A_0, \dots, A_{n-1}\}$ gibt, n\"amlich h\"ochstens $4^n$, da jede
Variable in jeder Klausel entweder gar nicht, positiv oder negiert oder
(positiv und negiert) vorkommen kann, beweist den Satz. 
\proofendof{\ref{resolutionsmeth}}

Sowohl die semantische Methode, 
Erf\"ullbarkeit zu pr\"ufen (rate eine Belegung $v$
der Variablen und rechne dann $\bar{v}(\bigvee_{C \in \cC} \bigwedge C)$ aus)
 als auch die Resolutionsmethode haben
 exponentielle Zeitkomplexit\"at. Wir sahen im Satz von Cook, dass das
 Erf\"ullbarkeitsproblem
 f\"ur Formeln in KNF  $NP$-vollst\"andig ist.

Es ist unbekannt, ob es bessere Algorithmen gibt.

\ssection{Der Satz von Herbrand und automatisches Beweisen}

Nun betrachten wir das Erf\"ullbarkeitsproblem (oder dual dazu das
Allgemeing\"ultigkeitsproblem) in der Sprache der ersten Stufe.
Beide Probleme sind von der gleichen Komplexit\"at, da $\varphi$
nicht erf\"ullbar ist gdw $\neg \varphi$ allgemeing\"ultig ist.
Wir kennen diese Komplexität schon:
Das Erfüllbarkeitsproblem ist nicht entscheidbar. Jedoch ist sein Komplement
rekursiv aufz\"ahlbar: Nach dem G\"odelschen Vollständigkeitssatz
ist die Menge der allgemeing\"ultigen Formeln rekursiv aufz\"ahlbar.
Somit ist auch die Menge der unerf\"ullbaren Formel rekursiv
aufz\"ahlbar.  Wir werden nun einen weiteren Algorithmus zur
Ausz\"ahlung aller unerf\"ullbaren Formeln vorstellen.
Im Gegensatz  zu dem im
Kapitel \glqq Unvollst\"andigkeitss\"atze'' skizzierten Algorithmus
arbeitet der jetzige Algorithmus mehr mit der semantischen Seite als mit den formalen Beweisen des Beweiskalk\"uls f\"ur die Logik der ersten Stufe. 
Der Algorithmus wurde 1930 von Herbrand vorgestellt und basiert
auf einer Kombination  folgender Gedankenschritte und Methoden:
 
\begin{myrules}
\item[(1)] Resolutionsmethode f\"ur den quantorenfreien Kern
\item[(2)] Skolemisierung der zu untersuchenden Formel, 
so dass nur noch eine Allformel dasteht.
\item[(3)] Reduktion auf Sprachen ohne die Gleichheit.
\item[(4)] Arbeit mit Termodellen (nicht modulo =) und Unifizierung
\end{myrules}

F\"ur den ersten Schritt k\"onnen wir die Ergebnisse des vorigen
Abschnitts verwenden, denn es gilt folgendes:

\begin{lemma}  Sei $F(A_0, \dots , A_{k-1})$ eine aussagenlogische Formel,
in den paarweise verschiedenen Variablen $A_i$. F\"ur jedes $i<k$
sei $\alpha_i$ ein Literalformel (d.h., eine atomare Formel oder
negierte atomare Formel) der Form $R(t_0, \dots , t_{n-1})$ oder
$\neg R(t_0, \dots , t_{n-1})$. Die
$\alpha_i$ seien paarweise verschieden. Dann ist $F(\alpha_0, \dots
, \alpha_{k-1})$ allgemeing\"ultig, wenn $F(A_0, \dots,
A_{k-1})$ allgemeing\"ultig ist.
\end{lemma}

Der Beweis ist offensichtlich.

\begin{remark}
Beachten Sie: $R(t_0, \dots , t_{n-1})$ und $R(t'_0, \dots , t'_{n-1})$
sind vielleicht nicht äquivalent, wenn 
auch nur ein $t_i$ nicht buchstäblich mit  $t'_i$ übereinstimmt.
Die Formel 
$$R(t_0, \dots , t_{n-1})\vee\neg R(t'_0, \dots , t'_{n-1})$$
is genau dann allgemeingültig, wenn die beiden Zeichenreihen
$R(t_0, \dots , t_{n-1})$ und $R(t'_0, \dots , t'_{n-1})$ übereinstimmen.
Sie ahnen vielleicht jetzt schon, dass die Unifikation (das ist ein 
Überführungsverfahren eines Tupels von Termen in ein anderes Tupel, das wir
später kennenlernen) von Termen 
für die Entscheidung der Allgemeingültigkeit aussagenlogischer Kombinationen 
von Literalformeln obiger Form relevant ist.
\end{remark}
 
Nun kommen wir zur Skolemisierung, dem zweiten Bestandteil des Herbrand'schen 
Verfahrens zur Aufzählung der allgemeingültigen Formeln.

\begin{convention} Wir schreiben in diesem Abschnitt
alle Formeln in {\em bereinigter}\index{bereinigte Formel} 
Form, d.h. keine gebundene Variable ist
gleich benannt wie ein freie Variable, und alle gebundenen Variablen
sind paarweise verschieden benannt. 
\end{convention}

Da $Q x \phi(x)$ \"aquivalent zu $Q y
\phi(y)$ ist, hat jede Formel eine \"aquivalente bereinigte Formel.


\begin{definition}
Eine Formel ist in {\em pr\"anexer Normalform}\index{pr\"anexe Normalform},
wenn alle Quantoren am
Anfang der Formel stehen, wenn also die Formel die Gestalt
$$Q_{0} x_{0} Q_{1} x_{1} \dots Q_{n-1} x_{n-1} \psi$$ 
hat
hat $\psi$ quantorenfrei ist  und $Q \in \{\exists, \forall\}$.
\end{definition}


\begin{lemma}
(Pr\"anexe Normalform). Jede Formel l\"asst sich in eine \"aquivalente
pr\"anexe Formel umwandeln.
\end{lemma}

\noindent Beweis, induktiv \"uber den Aufbau der Formeln.
Sei $\phi = \phi_0 \wedge \phi_1$, und seien
$\phi_i =Q^i_0 x^i_0 Q^i_1 x^i_1 \dots Q^i_{n_i-1} x^i_{n_i-1} \psi_i$
f\"ur $i=0,1$ schon in pr\"anexer Normalform.
Wir nennen die $x^0_j$ und die $x^1_k$ so um, dass
$$(\forall j < n_0)( \forall k < n_1)( x^0_j \neq x^1_k).$$
Dann ist $\phi$ \"aquivalent zu
$$Q^0_0 x^0_0 Q^0_1 x^0_1 \dots Q^0_{n_0-1} x^0_{n_0-1}Q^1_0 x^1_0
 Q^1_1 x^1_1 \dots Q^1_{n_1-1} x^1_{n_1-1}
(\psi_0 \wedge \psi_1).$$ 
Für den Induktionsschritt $\phi = \neg \psi$ nehmen wir an, dass $\psi$ in
pränexer Normalform ist und ziehen dann die Quantoren mithilfe
der Umwandlungen von $\neg \forall $ in $\exists \neg$ und 
$\neg \exists $ in $\forall \neg$ die Quantoren nach vorne.
Die Induktionsschritte der Form $\phi = Qx \psi$ bereiten keine Arbeit.
 \proofend

\begin{definition}
Eine {\em universelle Formel}\index{universelle Formel} hat die Form
$\forall x_0 . . . \forall x_{n-1} \psi$,
wobei $\psi$ eine quantorenfreie Formel ist.
 {\em Existentielle Formeln}\index{existentielle Formeln}
haben die Form 
$\exists x_0 . . . \exists x_{n-1} \psi$,
wobei $\psi$ eine quantorenfreie Formel ist.
  \end{definition}

\begin{theorem} (Skolem-Normalform\index{Skolem-Normalform}).
Zu jeder ${\mathcal L}(\tau)$-Aussage $\phi$ kann man eine Spracherweiterung
${\mathcal L}(\tau')$  und einen universellen ${\mathcal L}(\tau')$-Satz $\phi'$
 angeben, derart, dass $\phi$
in einer $\tau$-Struktur ${\mathfrak A}$ genau dann gilt, wenn sich
${\mathfrak A}$ zu einem $\tau'$-Modell von $\phi'$
expandieren l\"asst. $\phi$ ist also genau dann erf\"ullbar, wenn $\phi'$
erf\"ullbar ist.
\end{theorem}

\noindent Beweis: 
Wir nummerieren nun die $\forall$-$\exists$-Blöcke von rechts an, 
da im $n$-ten Induktionsschritt der mit $n$ indizierte Block umgewandelt wird.

Wir nehmen an, dass die Formel schon in
bereinigter pr\"anexer Normalform ist, und f\"uhren Induktion \"uber
die Anzahl der Quantorenbl\"ocke. Nachdem wir einen Quantor
$\forall \bar{x}_{n-1}$ eventuell davor schreiben (beachten Sie:
$\lh(\bar{x_n}) = 0$ ist erlaubt), 
k\"onnen wir o.B.d.A. annehmen,
dass 
$$\phi = \forall \bar{x}_{n-1} \exists \bar{y}_{n-1} \dots
\forall \bar{x}_{0} \exists \bar{y}_{0} \psi(\bar{x}_0,\bar{y}_0,\dots, 
\bar{x}_{n-1},\bar{y}_{n-1},\bar{z})$$ mit einem
quantorenfreien $\psi$, das auch der quantorenfreie Kern von
$\phi$ genannt wird. Hierbei stehen $\forall \bar{x}_i$ f\"ur
$\forall x_{i,0} \dots \forall x_{i,m_i-1} $ mit der Tupel\/l\"ange
$\lh(\bar{x}_i)= m_i$\index{Tupel\/länge}\index{$\lh$} und 
$\exists \bar{y}_i$ f\"ur $\exists y_{i,0} \dots \exists
y_{i,\ell_i-1} $ mit der Tupel\/l\"ange $\ell_i$.

\smallskip

Induktionsschritt: Sei $\phi =\forall \bar{x}_{n-1} \exists
\bar{y}_{n-1} \chi$, so dass $\chi= \chi(\bar{x}_0, \dots
\bar{x}_{n-2}, \bar{x}_{n-1}, \bar{y}_{n-1}, \bar{z})$ nach
Induktionsannahme schon eine Allformel ist. Wir nehmen ein neues
Funktionssymbol $F_{n-1}$ f\"ur eine $\sum_{j<n}m_{j} + \lh(\bar{z})$-stellige 
Funktion mit
$\ell_{n-1}$-stelligen Wertebereich (oder $\ell_{n-1}$ Funktionen
mit jeweils einstelligem Wertebereich).

Wir zeigen:
\begin{equation}\tag{$\ast$}
\begin{split}
&\phi \mbox{ ist  erf\"ullbar, gdw}\\
&\forall \bar{x}_{n-1} \chi(\bar{x}_0, \dots
\bar{x}_{n-2}, \bar{x}_{n-1}, F_{n-1}(\bar{x}_0, \dots, \bar{x}_{n-1},\bar{z}),
 \bar{z}) \mbox{ ist 
erf\"ullbar.}
\end{split}
\end{equation}
Wir schreiben $\bar{x} = (\bar{x}_0, \dots ,\bar{x}_{n-1})$.
Die Implikation $\glqq \Rightarrow$ in ($\ast$) folgt direkt aus
Auswahlaxiom, das garantiert, dass es zu  $\forall \bar{x} \exists y
\chi(\bar{x}, \bar{y}, \bar{z})$ 
eine {\em Auswahlfunktion}\index{Auswahlfunktion} $F$ gibt, 
so dass $\forall x
\chi(\bar{x},F(\bar{x},\bar{z}))$. 
\nothing{$F$ ist eine Auswahlfunktion zu dem
Mengensystem $$\{( (\bar{x},\bar{z}), \{ \bar{y} \such 
\chi(\bar{x},\bar{y},\bar{z}) \}) \such
(\bar{x},\bar{z}) \in A^{\sum_{j<n}m_{j}+\lh(\bar{z})}\}.$$}
Eine Funktion hei\ss t Auswahlfunktion\index{Auswahlfunktion} 
zu einem Mengensystem
$$\{( (\bar{x},\bar{z}), \{ \bar{y} \such 
\chi(\bar{x},\bar{y},\bar{z}) \}) \such
(\bar{x},\bar{z}) \in A^{\sum_{j<n}m_{j}+\lh(\bar{z})}\},$$
wenn f\"ur alle $(\bar{x},\bar{z}) \in A^{
\sum_{j<n}m_{j}+\lh(\bar{z}}$, 
$F(\bar{x},\bar{z}) \in \{\bar{y} \such \chi(\bar{x},\bar{y},\bar{z}))\}$.
 

Die Implikation \glqq $\Leftarrow$'' in ($\ast$) beweist man
durch \glqq Vergessen'' von $F$. \proofend


\begin{proposition} Falls $\phi$ in einer Sprache 
ohne das Gleichheitszeichen formuliert ist, finden wir
 im Satz \"uber die Skolem'sche Normalform
 immer ein $\phi'$ ohne Gleichheitszeichen.
\end{proposition}

 Man nennt die neu
eingef\"uhrten Konstanten und Funktionszeichen in $\tau' \setminus
\tau$ {\em Skolemfunktionen}\index{Skolemfunktionen}.
 Streng genommen haben wir keine Funktionssymbole für Funktionen mit $\ell_i$-stelliger Bildmenge in einer
zur ersten Stufe gehörenden Symbolmenge,
doch man kann leicht jede solche Funktion als $\ell_i$ Funktionen 
(nämlich die Komponentenfunktionen) mit einstelliger Bildmenge schreiben. 

Durch Bilden der negierten Formeln erh\"alt man:

\begin{corollary}(Herbrand-Normalform). Zu jeder ${\mathcal L}(\tau)$-Aussage
$\phi$ kann man
eine Spracherweiterung $\tau'$ und einen existentiellen ${\mathcal L}(\tau')$-Satz
$\phi'$ angeben, der
genau dann allgemeing\"ultig ist, wenn $\phi$ allgemeing\"ultig ist.
\end{corollary}





Wir betrachten nun nur S\"atze $\phi$, denn jede Formel mit freien
Variablen ist allgemeing\"ultig, genau dann wenn die
All-Abquantifizierung aller freien Variablen allgemeing\"ultig ist.


\begin{definition}
Sei $\phi$ ein Allsatz in Skolemform.  Falls es kein
Konstantensymbol in $\phi$ (oder in der Sprache) gibt, f\"ugen wir
ein Konstantensymbol $a$ hinzu.  Das {\em Herbrand-Universum
$D(\phi)$ von $\phi$}\index{Herbrand-Universum} ist die kleinste
Menge, so dass folgendes gilt
\begin{myrules}
\item[(a)] Jede Konstante in $\phi$ und $a$ sind Elemente von
$D(\phi)$,
\item[(b)] wenn $t_0, \dots, t_n \in D(\phi)$ und $f$ ein Funktionssymbol ist
(entweder eine Skolemfunkion oder eine alte Funktion), dann ist $f
t_0 \dots t_{n-1} \in D( \phi)$.
\end{myrules}
\end{definition}

\begin{definition}
Sei $\phi$ ein Allsatz in Skolemform.  Eine Struktur $\A$ mit
Tr\"ager $A$ hei\ss t {\em Herbrand-Struktur von
$\phi$}\index{Herbrand-Struktur}, wenn folgendes gilt
\begin{myrules}
\item[(a)] $A=D(\phi)$,
\item[(b)] wenn  $f$ ein Funktionssymbol ist
(entweder eine Skolemfunkion oder eine alte Funktion), dann ist
f\"ur alle $t_0, \dots, t_n \in D(\phi)$,  $f^\A( t_0 \dots t_{n-1})
= f t_0 \dots t_{n-1} \in D( \phi)$.
\end{myrules}
\end{definition}

\begin{definition}
$\A$ hei\ss t {\em Herbrandmodell von $\phi$}\index{Herbrandmodell}
gdw $\A$ eine Herbrandstruktur f\"ur $\phi$ ist und $\A \models
\phi$.
\end{definition}


Hat jeder erfüllbare Allsatz in Skolemform ein Herbrand-Modell?
Wenn zwei Terme $t_0$, $t_1$ 
im Herbrand-Universum als unterschiedlich interpretiert sind, 
gibt es Schwierigkeiten,
wenn die Sprache $=$ enth\"alt und die Formel $\phi$ zum Beispiel $t_0 =
t_1$ fordert. Wir betrachten daher in diesem Kapitel nicht die ganze
erste Stufe, sondern 
lassen das Gleichheitszeichen weg.
Man verliert dadurch keine Ausdrucksst\"arke, wenn wir uns nur für die
Erfüllbarkeit interessieren. Dies zeigen wir im Folgenden:

\begin{definition}
Eine zweistellige Relation $E$ heißt 
{\em Kongruenzrelation auf einer Struktur
$\mathfrak A$}\index{Kongruenzrelation}, gdw wenn
$E$ eine Äquivalenzrelation\index{Aquivalenzrelation} 
(d.h. reflexiv, symmetrisch und transitiv) ist, 
so dass für alle $P \in \tau$ und $f \in \tau$ und $c \in \tau$ gilt:
\begin{myrules}
\item[(1)] Wenn $P$ $n$-stellig ist, dann gilt für alle 
$\bar{a}, \bar{b} \in A^n$,
$$((\bigwedge_{i<n} a_i E b_i) \rightarrow 
(\bar{a}\in P^{\mathfrak A} \leftrightarrow \bar{b}\in P^{\mathfrak A})).$$
\item[(2)] Wenn $f$ $n$-stellig ist, dann gilt für alle 
$\bar{a}\bar{b} \in A^n$, $a_n,b_n \in A$,
$$((\bigwedge_{i<n+1} a_i E b_i) \rightarrow 
(f^{\mathfrak A}(\bar{a})= a_n
 \leftrightarrow f^{\mathfrak A}(\bar{b})= b_b)).$$
\item[(3)] Wenn $c\in \tau$ eine Konstante ist, dann gilt für alle 
$a,b \in A$,
$$(a E b \rightarrow 
(c^{\mathfrak A}= a\leftrightarrow c^{\mathfrak A}=b)).$$
\end{myrules}
\end{definition}


Sei $E \not\in \tau$.
Beachten Sie, dass man \glqq 
$E$ ist in allen $\tau$-Strukturen eine Kongruenzrelation'' 
für endliches $\tau$ in einem Satz $\Kongr(E,\tau)$
der ersten Stufe ausdrücken kann. 
 $\phi(\frac{=}{E})$ entstehe aus $\phi$, indem man jedes Gleichheitszeichen durch ein $E$ ersetzt. 

\begin{theorem}
Sei $\phi \in {\mathcal L}(\tau)$ und $E\not\in \tau$. 
Dann ist $\phi$ erfüllbar
 gdw $\phi(\frac{=}{E}) \wedge \Kongr(E,\tau)$ erfüllbar ist.
\end{theorem}
\noindent Beweis: Die Vorwärtsrichtung folgt daraus, dass die Gleichheit eine
Kongruenzrelation ist. Für die Rückwärtstichtung nehmen wir ein Modell
von   $\phi(\frac{=}{E}) \wedge \Kongr(E,\tau)$ und interpretieren jede
$E$-Klasse als ein Element und übertragen alle Relationen und Funktionen
treu auf den Quotienten. Die so erhaltene Quotienten-Struktur ist ein Modell von $\phi$. \proofend

\begin{theorem}\label{vonschoning} Sei $\Phi$ eine Menge von Allsätzen 
in einer Sprache ohne das
Gleichheitszeichen. Dann hat $\Phi$ ein Modell gdw $\Phi$ ein
Herbrandmodell hat.
\end{theorem}

\noindent
Beweis: Wir wiederholen die Henkin-Konstruktion. 
Sie liefert bei minimaler Wahl der 
Konstantenmenge automatisch ein Herbrandmodell. \proofend



\begin{proposition} Falls $\phi$ in einer Sprache 
ohne das Gleichheitszeichen formuliert ist, finden wir
 im Satz \"uber die Skolem'sche Normalform
 immer ein $\phi'$ ohne Gleichheitszeichen.
\end{proposition}

Nachdem wir uns nach den vorigen effektiven Übersetzungen
 auf Existenzsätze ohne Gleichheitszeichen
beschränken können,  kehren wir zurück zum Erfüllbarkeitsproblem
für Formeln, oder dual dazu, zum Allgeingültigkeitsproblem:


\begin{theorem}(Satz von Herbrand\index{Satz von Herbrand}). Sei $\psi(x_0, \dots, x_{n-1})$
eine quantorenfreie Formel
in einer Sprache ${\mathcal L}(\tau)$, die mindestens eine Konstante enth\"alt.
Dann ist
$$\exists x_0 \exists x_1 \dots \exists x_{n-1} \psi(x_0, x_1,\dots , x_{n-1})$$
genau dann allgemeing\"ultig, wenn es $m \in \N$ und Terme ohne Variable
$$t_0^0, t_1^0, \dots, t^0_{m-1}, t^1_0, t^1_1, \dots, t^1_{n-1},
\dots, t^{m-1}_0, t^{m-1}_{1}, \dots, t^{m-1}_{n-1}$$
gibt, f\"ur die die quantorenfreie Aussage
$$\bigvee_{i=0}^{m-1} \psi(\bar{t^i}) =
\psi(t_0^0, t_1^0, \dots, t^0_{m-1}) \vee \psi( t^1_0, t^1_1, \dots, t^1_{n-1})\vee
\dots \vee \psi(t^{m-1}_0, t_1^{m-1}, \dots, t^{m-1}_{n-1})$$
allgemeing\"ultig ist.
\end{theorem}

\noindent Beweis: $t_0^0, t_1^0, \dots, t^0_{m-1}, t^1_0, t^1_1, \dots, t^1_{n-1},
\dots, t^{m-1}_0, t^{m-1}_{1}, \dots, t^{m-1}_{n-1}$
impliziert natürlich $\phi$, denn die Kontraposition 
des entsprechenden Ersetzungsaxioms 
(erinnern Sie sich an den Hilbertkalkül?) ist korrekt.

Für die umgekehrte Implikation nehmen wir an, dass für jede beliebige Wahl 
der konstanten Terme $ t_i^j$ die Formel 
$$\bigwedge_{i=0}^{m-1} \neg \psi(\bar{t^i}) =
\neg \psi(t_0^0, t_1^0, \dots, t^0_{m-1}) \wedge
 \neg \psi( t^1_0, t^1_1, \dots, t^1_{n-1})\wedge
\dots \wedge \neg \psi(t^{m-1}_0, t_1^{m-1}, \dots, t^{m-1}_{n-1})$$
erfüllbar ist.
Dann ist die Theorie
$$\{\neg \psi(t_0, \dots, t_{n-1}) \such t_i \mbox{ Terme ohne freie
Variablen}\}$$
endlich erfüllbar und somit nach dem Kompaktheitssatz erfüllbar. 
Sei $\mathfrak A$ ein Modell. In dieser Theorie sind alle Sätze 
quantorenfrei und daher sind sie Allsätze. 
Nach dem Satz~\ref{vonschoning} hat
die Theorie dann auch ein Herbrandmodell. 
In diesem sind alle Punkte konstante Terme, und daher erfüllt das 
Herbrandmodell
$\forall x_0 \dots \forall x_{n-1} \neg\psi$. Also ist $\phi$ nicht
allgemeingültig.
\proofend

\begin{definition} Sei $\phi = \forall x_0 \dots, \forall x_{n-1} \psi$
ein Skolemsatz in einer Sprache ohne Gleichheitszeichen. Die {\em
Herbrand-Expansion $E(\phi)$ von $\phi$}\index{Herbrand-Expansion}
ist definiert durch
$$(\phi) = \{ \psi(\frac{t_0}{x_0}, \dots, \frac{t_{n-1}}{x_{n_1}})
\such t_0, \dots, t_{n-1} \in D(\phi\}.$$
\end{definition}

Als Korollar des Satzes von Herbrand erhalten wir:
\begin{theorem} (G\"odel, Herbrand, Skolem)
Sei $\phi$ ein Skolemsatz in einer Sprache ohne Gleichheitszeichen.
Dann ist $\phi$ erf\"ullbar gew $E(\phi)$ als Menge
aussagenlogischer Formeln aufgefasst, ein Modell hat.
\end{theorem}

Nun kommen wir zum letzten Schritt des Herbrand'schen Aufzählverfahrens aller
allgemeingültigen Formeln:
Wann hat eine quantorenfreie Formel der ersten Stufe kein Modell?
Dies ist ein aussagenlogisches Problem (das wir schon kennen) und ein
Unifikationsproblem. Die Bestandteile (d.h., die einzelnen Disjunktions- und 
die Konjunktionsglieder) der Formel sind ja von der Form
$$R(s_0,\dots, s_{n-1})$$ 
mit Termen $s_i$ und Relationssymbolen oder negierten Relationssymbolen
$R$.

\begin{definition}
$$S^0(x_0, \dots , x_{n-1}) = (s^0_0(x_0, \dots , x_{n-1}),\dots,
s^0_{k-1}(x_0, \dots , x_{n-1}))$$ und
$$S^1(x_0, \dots , x_{n-1}) = (s^1_0(x_0, \dots , x_{n-1}),\dots,
s^1_{k-1}(x_0, \dots , x_{n-1}))$$
seien zwei gleich lange Folgen von Termen. Eine Termfolge
$T = (t_0, \dots , t_{n-1})$ unifiziert\index{unifizieren}
$S^0$ und $S^1$, wenn
$$S^0(t_0,\dots, t_{n-1}) = S^1(t_0,\dots, t_{n-1}).$$
Hier steht $S^j(t_0,\dots, t_{n-1})$ für
$$\langle s^j_{k'}(\frac{t_0}{x_0}, \dots, 
\frac{t_{n-1}}{x_{n-1}}) \such k' < k\rangle.$$
\end{definition}

\begin{remark}
Beachten Sie, dass es in den sukzessiven Ersetzungen ganz entscheidend auf die Reihenfolge ankommt:
$$
s_{k'}(\frac{t_0}{x_0}, \dots, 
\frac{t_{n-1}}{x_{n-1}})$$
steht für 
$$
((s_{k'}(\frac{t_0}{x_0}), \dots)( 
\frac{t_{n-1}}{x_{n-1}}).$$ 
Ersetzung ist die Substitution aus dem vierten Kapitel, die es auf der
 syntaktischen Seite dort in $\alpha_x^t$ gibt.
Die Bildung $\alpha_x^t$ bedeutet die Bildung $s(\frak{t}{x})$ (dies heißt, $s$,
 in dem alle Vorkommen von $x$ durch $t$ ersetzt sind) für jeden 
Term $s$ in $\alpha$. 
Schon in Kapitel 3 sahen wir eine
entsprechende Substitution auf der semantischen Seite.
In den $t_i$ können die Variabeln $x_j$ mit $j \geq i$ vorkommen.
\end{remark}

\begin{theorem}(Unifikationssatz, Julia Robinson). Wenn $S^0$ und $S^1$ unifizierbar sind, gibt es
 eine universelle
unifizierende Termfolge\index{universelle unifizierende Termfolge} 
$U(x_0,\dots ,x_{n-1})$.
 Das hei\ss t, dass
$$S^0(U(x_0,\dots ,x_{n-1}))=S^1(U(x_0,\dots ,x_{n-1})$$
 und dass eine Termfolge
$T$ genau dann $S^0$ und $S^1$ unifiziert, wenn es Terme $r_0, \dots , r_{n-1}$
gibt, so dass
$$T = U(r_0, \dots , r_{n-1}).$$
Man kann $U$ durch ein einfaches Verfahren finden, das gleichzeitig entscheidet,
ob $S^0$ und $S^1$ unifizierbar sind.
\end{theorem}


\noindent Beweis: Wir geben einen Algorithmus an und beweisen dessen
Korrektheit.
Wir fassen $S^0$, $S^1$ als die Menge 
der Gleichungen 
$$S= \{s^0_i = s^1_i \such i <n\}$$ 
auf. Eine Folge von Ersetzungen $T$ für die $x_i$  unifiziert $S$,
 wenn alle Gleichungen in $S$ allgemeingültig sind, d.h., in mit 
$\forall x_0 \dots \forall x_n$ 
abquantifizierter Form gelten.
Unser Unifikationsverfahren formt $S$ in äquivalente (und auch nicht stärkere)
Gleichungssysteme um. Wir wenden, solange es geht, (in irgendeiner 
möglichen Reihenfolge) die folgenden beiden Umwandlungsschritte an:
\begin{myrules}
\item[(1)]
Wenn $S$ eine Gleichung $f^0 t^0_0 \dots t^0_{\ell_0-1} =
f^1 t^1_0 \dots t^1_{\ell_1-1}$
enthält und $f^0 \neq f^1$, dann ist $S$ nicht unifizierbar und 
das Verfahren bricht ab. Wenn hingegen $f^0 = f^1$, 
dann ersetzen wir die Gleichung durch
$t^0_j = t^1_j$, $j < \ell_0$. (Es ist dann automatisch $\ell_0 = \ell_1$.)
Überlegen Sie sich mithilfe des Termrangs\index{Termrang}\index{$\rk(t)$} 
(definiert durch
$\rk(x_i)= 0$, $\rk(f s_0 \dots 
s_{n-1}) =
\max\{\rk(s_i) \such i<n\} + 1$), dass es im Verfahren nur 
endlich viele Schritte der ersten Art geben kann.
 
\item[(2)]
Wenn $S$ eine Gleichung der Form $x_i = s$ enthält, und $s$ ein 
zusammengesetzter Term ist, in dem die Variable $x_i$ vorkommt, 
dann bricht das Verfahren ab und $S$ ist nicht unifizierbar.
Wenn $s = x_i$, dann streichen wir die Gleichung einfach durch.
Wenn $x_i$ nicht in $s$ vorkommt, dann ersetzen wir in allen
 {\em anderen} Gleichngen in $S$ die Variable $x_i$ durch den Term $s$. 
Beachten Sie, dass von nun an $x_i$ nicht mehr in $S$ vorkommt. 
Es gibt also höchstens $n$ Schritte der zweiten Art.
\end{myrules}

Wenn das Verfahren nicht abbricht mit dem Ergebnis, 
dass es keine Unifizierung gibt, dann stoppt das Verfahren, 
wenn das umgewandelte $S$ -- nach Umnummerierung der Variablen -- die Gestalt
$$\{x_{m}= u_{m}(x_0,\dots, x_{m-1}), \dots, x_{n-1}=u_{n-1}(x_0,\dots
x_{m-1})\}$$ hat
für ein $0 \leq m \leq n-1$.
Eine gesuchte universelle unifizierende Termfolge ist dann
$$U=(x_0,\dots x_{m-1},u_m, \dots u_{n-1}).$$
Da das Verfahren erfolgreich stoppt, hat $S$ also im Stoppzusand nur noch
Gleichungen der Art $t^0_j = t^1_j$, in denen die beiden $t^i_j$ 
genau die gleiche Zeichenreihe sind. 
Die Menge dieser Gleichungen ist natürlich allgemeingültig.



Wir zeigen nun (ohne Umnummerierung), dass $U$ tatsächlich 
eine universale unifizierende Folge ist.


Sei $$U = \subb^U_{n^U-1} \circ \dots \circ \subb_0^U=
(\subb^U_0, \dots,  \subb_{n^U-1}^U)$$
mit
$$\subb_k^U = 
\frac{t_k^U(x_\ell \such \ell \in n \setminus\{j_0^U,\dots, j_k^U\})}{x_{j_k^U}}$$
für $k < n^U$.
Sei $$V = (\subb^V_0, \dots,  \subb_{n^V-1}^V)$$
mit
$$\subb_k^V = 
\frac{t_k^V(x_\ell \such \ell \in n \setminus\{j_0^V,\dots j_k^V\})}{x_{j_k^V}}$$
für $k < n^V$ und sei $$S^0(V) = S^1(V).$$
Wir zeigen, $V = R\circ U = U(R)$ für eine geeignete Ersetzung $R$.


Werde $x_{j_0^u}$ in der Ersetzung $V$ im $\ind(j_0^U)$-ten Schritt
in $\subb^V_{\ind(j_0^U)}$ behandelt
Dann ist für $i = 0,1$, 
\begin{multline*}
 S^i V =\\
(S^i \frac{t_0^U}{x_{j_0^U}})(\subb_0^V(\frac{t_0^U}{x_{j_0^U}}), 
\dots, \subb_{\ind^V(j_0^U)-1}^V(\frac{t_0^U}{x_{j_0^u}}),
\subb_{\ind^V(j_0^U)+1}^V, \dots, \subb_{n^V-1}^V).
\end{multline*}

Für alle $x_i$ mit $i \neq j_0^U$ ist dies klar. Für 
$x_{j_0^U}$ überlegt man sich, was $V$ vor der Ersetzung von
$x_{j_0^U}$, also in 
$(\subb_0^V(\frac{t_0^U}{x_{j_0^U}}), 
\dots, \subb_{\ind^V(j_0^U)-1}^V(\frac{t_0^U}{x_{j_0^u}}))$, bewirkt, und was
$\subb_{\ind^V(j_0^U)}^V(x_{j_0^U}$ getan hätte.

In den $\subb_{\ind^V(j_0^U)+1}^V$, \dots, $\subb_{n^V-1}^V$ kommt 
$x_{j_0^U}$ nicht vor.
Sukzessive zieht man mehr Schritte von $U$ nach vorne, bis alle Ersetzungen in $U$ in der Mitte im Term auf der rechten Seite der Gleichung stehen.
Dies ist gestattet, da $U$ nur Variablen identifiziert, die 
durch die Gleichung $S^0 U = S^1 U$ gefordert werden.
\proofend

\nothing{
Set eine nicht leere Menge M von Literalen gegeben. Wir f\"uhren
folgendes aus:
{\tt
$sub = []$ (die Identit\"atssubstitution)\\
 while $|M[sub]| > 1$,
\begin{myrules}
\item[{\bf begin}] Lese die Literale in $M[sub]$ von links nach rechts bis
zur erstes Abweichung in den Zeichenreihen.
\begin{myrules}\item[{\bf Wenn}] keines der beiden Zeichen eine Variable
ist, dann gebe \glqq nicht unifizierbar'' aus
\item[{\bf sonst}]
    \begin{myrules}
     \item[{\bf begin}] sei $x$ eine Variable im ersten Literal und sei
     $t\neq x$ ein Term der in einem anderen Literal an dieser Stelle
beginnt.
\begin{myrules}
      \item[{\bf wenn}] $x$ in $t$ vorkommt, dann gebe nicht unifizierbar aus und halte
\begin{myrules} \item[{\bf sonst}] $sub := sub[\frac{t}{x}]$ dh. zuerst sub und im Ergebnis
von $sub$ wird $x$ durch $t$ ersetzt
\end{myrules}\end{myrules}
\item[{\bf end}]\makebox{}
\end{myrules}\end{myrules}
\item[{\bf end}]\makebox{}
\end{myrules}
gebe $sub$ als universellen Unifikator aus. }
\medskip
 Die innere Schleife dauert h\"ochstens so lange, wie viele
verschiedenen Variablen es in $M$ gibt, da jedesmal eine Variable
verschwindet, da sie durch einen Term ersetzt wird, der sie nicht
enth\"alt. Die while-Schleife wird nur verlassen, wenn $|M[sub]| =
\{\phi[sub] \such \phi \in M\}$ eine Einermenge ist. Also gibt es
eine unifiziernde Folge.
Wir zeigen, dass tats\"achlich der universelle Unifikator gefunden
wird. Sei $i$ ein Z\"ahler daf\"ur, wie oft die while-Scheife schon
durchlaufen ist und sei $sub_i$  die Substition, die nach dem $i$-ten
Durchlauf berechnet ist. Wir zeigen induktiv \"uber $i$, dass f\"ur
jede unifizierbare Menge $M$ und jeden Unifizierer $sub'$ gilt: Es
gibt Terme $(r_0, \dots, r_i)$ so dass $sub' = sub_i (\frac{r_0}{x_0}
\dots \frac{x_i}{r_i})$.  
$$
\begin{array}{r c l r}
sub_i (\frac{r_0}{x_0}, \dots, \frac{x_i}{r_i}) 
&=& (sub_{i-1} (\frac{t}{x_i}) \frac{r_0}{x_0}, \dots, \frac{x_i}{r_i})&\\
&=&(sub_{i-1}(\frac{t}{x_i}) \frac{r_0}{x_0}, 
\dots, \frac{x_i}{r_i}))( \frac{t(\frac{r_i}{x_i})}{x} & 
\mbox{ da $x_i$ in $t$ nicht
vorkommt}
 \\
&=&(sub_{i-1}(\frac{t}{x_i}) \frac{r_0}{x_0}, 
\dots, \frac{x_i}{r_i})) )\frac{t(\frac{r_{i-1}}{x_i})}{x_i} &\mbox{ da } x_i \not\in \dom(r_i) \\
 &=&sub_{i-1}(\frac{r_0}{x_0}, \frac{r_{i-1}}{x_{i-1}}) &\mbox{ da }x_i 
r_{i-1} = t r_{i-1}\\
  &=& sub' &\mbox{ nach der Induktionsvoraussetzung}
\end{array}
$$}
\proofend

\begin{corollary}
 Sei $\psi(x_0, \dots , x_{n-1})$ eine quantorenfreie ${\mathcal L}(\tau)$-Formel
 ohne Gleichheitszeichen
und $m$ eine naturliche Zahl. Man kann effektiv entscheiden, ob
es konstante Terme
$$t_0^0, t_1^0, \dots, t^0_{m-1}, t^1_0, t^1_1, \dots, t^1_{n-1},
\dots, t^{m-1}_0, t_1^{m-1}, \dots, t^{m-1}_{n-1}$$
gibt, f\"ur die die quantorenfreie Aussage
$$\phi =\bigvee_{i=0}^{m-1} \psi(\bar{t^i}) =
\psi(t_0^0, t_1^0, \dots t^0_{n-1}) \vee \psi( t^1_0, t^1_1, \dots, t^1_{n-1})\vee
\dots \vee \psi(t^{m-1}_0, t_1^{m-1}, \dots, t^{m-1}_{n-1})$$
allgemeing\"ultig ist.
\end{corollary}

\noindent Beweis: Die Formel enthält womöglich freie Variablen. Daher ist sie
allgemeingültig, genau dann wenn ihre mit $\forall$ abquantifizierte Form allgemeingültig ist. Man prüft, ob sich für jedes Symbol $R$, das in $\phi$ 
vorkommt, für alle
Literalformeln der Art
$$(\neg) R(s^i_0, \dots, s^i_{n-1})$$
jeden $\bar{s}^i$ such mit jedem $ \bar{s}^{i'}$
in der Formel unifizieren lässt, und wählt sukzessive Unifikatoren.
Wenn das Unifikationsverfahren erfolgreich endet, dann prüft man, 
ob die aussagenlogische Formel $\psi$ 
allgemeingültig ist. Sie ist allgemeingültig genau dann,
 wenn die Formel $$\psi(x_0, \dots, x_{m-1}, u_m,\dots, u_{n-1})$$ 
allgemeingültig ist (nach geeigneter Umnummerierung).
 Diese Formel kann man aussagenlogisch behandeln mit unserem ersten Kapitel. 
Sie ist allgemeingültig, genau dann, wenn ihre Allabquantifizierung 
allgemeingültig ist.
Genau dann, wenn beide Prüfungen positiv enden, ist die Aussage 
allgemeingültig. \proofend

Bemerkung: Jedoch  kann man nicht entscheiden, 
ob es im Satz von Herbrand ein $m$
gibt, so wie dort
(dies zeigt man wie im ersten G\"odel'schen Unvollst\"andigkeitssatz).
Nur bei festem $m$ und gegebenen $t_i^j$, $j< m$,
 kann man die Prüfung starten.
Der Satz von Herbrand gibt eine positive Antwort, wenn die Formel  
allgemeingültig ist. Doch bis zu welchem $m$ soll man den Suchalgorithmus 
laufen lassen? Wir erhalten also wieder wie im Gödel'schen 
Vollständigkeitssatz und
dem ersten Unvollständigkeitssatz zusammen, dass die Menge der 
allgemeingültigen ${\mathcal L}(\tau)$-Formeln rekursiv aufzählbar
und im Allgemeinen nicht rekursiv ist.
(Dies ist sie allerhöchstens bei ganz kleinen Symbolmengen $\tau$).





\bibliographystyle{plain}
\addcontentsline{toc}{chapter}{Literaturverzeichnis}
\bibliography{../freiburg/sh/lit}

\renewcommand{\indexname}{Index}
\addcontentsline{toc}{chapter}{Index}
\input{infoneu.ind}
\label{indexanfang}
\end{document}


\renewcommand{\indexname}{Subject Index}
\newhead{Subject Index}
\input{info.ind}

\end{document}
