Kann man ein Programm schreiben das einfache mathematische Sätze beweist?

...komplette Frage anzeigen

5 Antworten

Es gibt "theorem prover", aber die sind komplex (schreibt man nicht mal eben selbst), erfordern eine spezielle Notation (also keine natürliche Sprache) als Input und können durch den Unvollständigkeitssatz auch nicht universell sein.

Antwort bewerten Vielen Dank für Deine Bewertung

Nein, da ein Programm immer nur eine endliche Anzahl von Summen aus drei aufeinander folgenden Zahlen berechnen kann, was nicht ausreichend ist

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von KrasserTypxd
11.06.2016, 19:24

Du hast meine Frage nicht verstanden.

1

Ja, man kann.

Allerdings sind herkömmliche Programiersprachen, so wie du sie wahrscheinlich kennst, nicht sehr gut geeignet dafür. Es gibt neben dieser imperativen Programmierung auch die sogenannte

prädikative Programmierung.

Bekannteste Vertreter sind Prolog oder IQ.

Mit dieser Programmierlogik kann man in der Tat mathematische Sätze beweisen.

https://de.wikipedia.org/wiki/Logische\_Programmierung

Antwort bewerten Vielen Dank für Deine Bewertung

Möglich ist das, aber kompliziert und zeitaufwändig.

LG Willibergi

Antwort bewerten Vielen Dank für Deine Bewertung

ist sicher nicht einfach....du müsstest dann jedem Ausdruck einen bestimmten wert zuweisen bzw Wortkombinationen im vorhinein klar definieren. 

.....die if Struktur möchte ich mir gar nicht vorstellen :D

Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von NoHumanBeing
11.06.2016, 19:36

Parsing macht man mittels Automaten, nicht mit verschachtelten If-Anweisungen.

So kann Dein C-Compiler beispielsweise Deinen Programmcode lesen. Der muss ihn ja auch "verstehen". Ist natürlich nicht "einfach". Man benötigt da schon umfassende Kenntnisse in Theoretischer Informatik und im Compilerbau. Solange die Sprache hinreichend formal ist, ist es aber zumindest möglich, dass ein Programm die Sprache "versteht".

Das grundsätzliche Problem ist allerdings, dass die Mathematik in sich nicht widerspruchsfrei ist. Der Unvollständigkeitssatz besagt, dass ein formales System entweder trivial oder unvollständig oder widersprüchlich ist. Er besagt weiterhin, dass man die Widerspruchsfreiheit eines Systems nicht in diesem System selbst beweisen kann. Du wirst also zwangsläufig entweder auf Sätze stoßen, die Du mit dem Formalismus nicht beweisen kannst oder aber auf einen Widerspruch im Formalismus selbst.

3

Was möchtest Du wissen?