Die Beweistheorie ist ein Teilgebiet der mathematischen Logik, das Beweise als formale mathematische Objekte behandelt, was deren Analyse mit mathematischen Techniken ermöglicht. Beweise werden üblicherweise als induktiv definierte Datenstrukturen dargestellt, wie Listen oder Bäume. Diese werden gemäß den Axiomen und Schlussregeln des betrachteten logischen Systems konstruiert. Die Beweistheorie ist von syntaktischer Natur im Gegensatz zur Modelltheorie, die von semantischer Natur ist.
Manchmal wird die Beweistheorie auch als Teil der philosophischen Logik aufgefasst, dabei ist vor allem die Idee der beweistheoretischen Semantik von Interesse.
Obwohl die Formalisierung der Logik durch die Werke von Gottlob Frege, Giuseppe Peano, Bertrand Russell, Richard Dedekind und anderen bereits weit entwickelt war, wird der Beginn der modernen Beweistheorie David Hilbert zugeschrieben, der das so genannte Hilbertprogramm initiierte und in den 1920er Jahren im Zuge des Grundlagenstreits systematisch ausbaute. Kurt Gödels Arbeiten führten zuerst zu großen Fortschritten, widerlegten aber schließlich dieses Programm: Der Vollständigkeitssatz verhieß gute Aussichten für Hilberts Ziel, sämtliche Mathematik auf ein finitistisches formales System zu reduzieren; der Unvollständigkeitssatz zeigte allerdings später, dass dies unerreichbar ist. Diese Resultate wurden in einem Beweiskalkül ausgeführt, welchen man Hilbert-Kalkül nennt.
Zeitgleich mit den beweistheoretischen Arbeiten von Gödel legte Gerhard Gentzen die Grundpfeiler für das, was heute als strukturelle Beweistheorie bekannt ist. In wenigen Jahren führte Gentzen die grundlegenden Formalismen des natürlichen Schließens (gleichzeitig mit und unabhängig von Jaskowski) und des Sequenzenkalküls ein und machte wesentliche Fortschritte bei der Formalisierung der intuitionistischen Logik. Des Weiteren führte er die wichtige Idee des analytischen Beweises ein und gab den ersten kombinatorischen Beweis der Konsistenz der Peano-Arithmetik.
Die informalen Beweise, die in der Mathematik üblicherweise benutzt werden, sind nicht mit den formalen Beweisen der Beweistheorie zu verwechseln. Die informalen Beweise gleichen Skizzen, aus denen Experten im Prinzip formale Beweise rekonstruieren könnten. Das Schreiben von formalen Beweisen würde allerdings für Mathematiker dieselben Nachteile wie das Programmieren in Maschinensprache haben.
Im Bereich des maschinengestützten Beweisens werden formale Beweise mit Hilfe von Computern erzeugt. Solche Beweise können auch automatisch mittels Computern überprüft werden. Das Überprüfen von Beweisen ist üblicherweise trivial, im Gegensatz zum Finden von Beweisen, das typischerweise sehr schwierig ist. Informale Beweise in der mathematischen Literatur hingegen werden durch Peer-Review überprüft. Dies kann mehrere Wochen dauern und solche Beweise können immer noch Fehler enthalten.
Die drei bekanntesten Arten von Beweiskalkülen sind:
Jeder dieser Kalküle kann für eine axiomatische Formalisierung der Aussagenlogik oder Prädikatenlogik der klassischen oder intuitionistischen Art benutzt werden. Die meisten Kalküle eignen sich zudem auch für die meisten Modallogiken und für viele substrukturelle Logiken, wie z. B. die lineare Logik oder die Relevanzlogik. Es ist eher außergewöhnlich, Logiken zu finden, die sich nicht mit einem dieser Kalküle darstellen lassen.
Wie bereits früher erwähnt wurde, war das Hilbertprogramm der Ansporn für die mathematische Untersuchung von Beweisen in formalen Theorien. Die zentrale Idee dieses Programms war, die Konsistenz der formalen Theorien, die von Mathematikern benutzt werden, mit einem finitistischen Beweis zu zeigen und so mit einem metamathematischen Argument diese Theorien zu fundieren. Genauer ausgedrückt, gilt es zu zeigen, dass rein universelle Aussagen (gemeint sind die beweisbaren -Sätze der Arithmetischen Hierarchie) finitistisch wahr sind.
Das Scheitern des Programms wurde durch Gödels Unvollständigkeitssatz herbeigeführt. Dieser Satz zeigte, dass jede ω-konsistente Theorie, die genügend stark ist, um gewisse einfache arithmetische Aussagen auszudrücken, ihre eigene Konsistenz nicht beweisen kann. Die Aussage, dass eine Theorie konsistent ist, ist in Gödels Formulierung ein -Satz.
In diesem Bereich wurde viel Forschung betrieben und unter anderem wurden folgende Resultate gefunden:
Strukturelle Beweistheorie ist ein Teilgebiet der Beweistheorie, welches Beweiskalküle studiert, in denen der Begriff des analytischen Beweises sinnvoll ist. Der Begriff des analytischen Beweises wurde von Gentzen für den Sequenzenkalkül eingeführt. In diesem Fall sind analytische Beweise diejenigen Beweise, die schnittfrei sind. In Systemen natürlichen Schließens kann man auch eine Interpretation für den Begriff des analytischen Beweises finden, wie von Dag Prawitz gezeigt wurde. In diesem Fall ist die Definition aber kompliziert. Ungewöhnlichere Beweiskalküle wie Jean-Yves Girards Beweisnetze ermöglichen auch eine Definition des Begriffs des analytischen Beweises.
Strukturelle Beweistheorie ist durch den Curry-Howard-Isomorphismus auch mit der Typentheorie verbunden. Der Curry-Howard-Isomorphismus zeigt eine Analogie zwischen der Normalisierung in Systemen natürlichen Schließens und der Beta-Reduktion im typisierten Lambdakalkül auf. Dadurch wird die Grundlage für die intuitionistische Typentheorie, welche von Per Martin-Löf entwickelt wurde, geschaffen. Dieser Zusammenhang kann auch noch auf kartesisch abgeschlossene Kategorien ausgeweitet werden.
In der Linguistik, Typen-logischen Grammatik, kategorischen Grammatik und der Montague-Grammatik werden Formalismen, welche aus der strukturellen Beweistheorie stammen, benutzt, um eine formale Semantik der natürlichen Sprache zu finden.