Was sind die allgemeinen Richtlinien für die Prüfung Ihrer Beweise? Ich glaube, das ist wichtig für Doktoranden wie mich. Ich weiß bereits, was wir tun müssen, um etwas zu beweisen, aber Sie müssen immer alles überprüfen, bevor Sie es versenden. Auch an Ihren eigenen Berater.
Ich habe mir durch Ausprobieren einige Strategien erarbeitet und viele Ratschläge von meinem Berater erhalten. Aber das ist immer eine sehr mühsame Arbeit. Wenn Sie mit etwas fertig sind, möchten Sie normalerweise nur mit dem nächsten Problem fortfahren, aber Sie müssen sich immer noch an das aktuelle Problem halten, bis alles perfekt ist. Hier präsentiere ich ein Beispiel meiner eigenen Trickliste:
- Füllen Sie die Details aus. Es gibt viele Fehler an Stellen, an denen Sie schreiben: "Es ist klar, dass ...", "Ohne Verlust der Allgemeinheit ..." usw.
- Probieren Sie einige Zahlen aus. Versuchen Sie extreme Fälle wie "Was passiert, wenn ich oder n = 1000 setze ? ".
- Halten Sie ein sauberes Notizbuch. Schreiben Sie jeden Tag darauf und vergleichen Sie es mit Ihren groben Notizen. Ich versuche auch in Latex zu schreiben, ich habe so viele Fehler gefunden.
Was sind die allgemeinen Strategien, die Sie anwenden, um Ihre Beweise zu überprüfen?
Das Ziel dieser Frage ist es, es zu einem Community-Wiki zu machen.
quelle
Antworten:
Softwareentwickler haben eine Vorstellung, die sie " Codegerüche " nennen. Dies sind Symptome im Code, die auf ein tieferes Problem hinweisen können. Software-Ingenieure sammeln mentale Geruchslisten, um sich dessen bewusst zu sein (dh zu lange Methoden oder zu viele Parameter). Dies bedeutet nicht unbedingt, dass ein Problem vorliegt, sondern weist lediglich darauf hin, dass der Verfasser möglicherweise eine Überprüfung durchführen möchte.
Ich schlage vor, dass wir auch "Beweisgerüche" berücksichtigen sollten . Dies gibt Ihnen keinen Algorithmus zum Überprüfen Ihrer Beweise, sondern eine Sprache und eine Metapher zum Erkennen möglicher Probleme bei Beweisen. Einige Beispiele für Beweise riechen:
Es gibt auch subtilere Gerüche. Wenn ein Beweis beispielsweise den Binomialsatz verwendet, um einen Ausdruck zu erweitern, und später den Binomialsatz verwendet, um zu einer geschlossenen Form zurückzukehren, liegt möglicherweise eine direkte Manipulation an der geschlossenen Form vor, die dasselbe Ergebnis liefert.
Mein Vorschlag ist, eine (mentale oder schriftliche) Liste solcher Gerüche zusammenzustellen und beim Lesen Ihrer Arbeit auf sie zu prüfen. Der schöne Nebeneffekt dieses Ansatzes ist, dass Sie dadurch auch ein besserer Leser werden.
Hinweis: Ich hatte die Hoffnung, mit dieser Antwort die rigorose Antwort von Lamports How to Write a Proof, auf die in der Antwort von M. Alaggan verwiesen wird, auf intuitive Weise zu ergänzen.
quelle
Es gibt eine sehr gute Arbeit von Leslie Lamport ( Wie man einen Proof schreibt ). Es ist eigentlich ein Vorschlag von ihm, detaillierte Beweise so zu schreiben, dass:
(1) Ermöglicht das direkte Erkennen von Fehlern
(2) Verdeutlicht, welche Annahmen und Theoreme in welchen Teilen verwendet wurden, und macht es ziemlich einfach zu sehen, was passiert, wenn Sie (zum Beispiel) schwächere Annahmen verwenden möchten
Es gibt auch einige Community-Erfahrungen und inspirierende Kommentare zu dieser Technik auf MO, die positive Erfahrungen im Allgemeinen (und einige andere Ressourcen auch) zeigen.
Update: Es gibt eine neue Version Wie man einen Proof für das 21. Jahrhundert schreibt .
quelle
Dick Lipton hat einen schönen Artikel mit dem Titel " Wie man beweist, dass ein Beweis ein Beweis ist "
quelle
Ich erinnere mich an einen populären Bericht vor langer Zeit darüber, wie Physiker mit einem analogen Problem umgehen. Wer weiß, wie genau die folgende Version davon ist; Korrekturen sind willkommen. Aber ich fand die zugrunde liegende Strategie ziemlich bemerkenswert.
Sie erklärten, wie sie an Schwarze Löcher glaubten. Schwarze Löcher waren anfangs rein mathematische Konstrukte, wie andere seltsame Objekte in der Physik wie Wurmlöcher. Ihre Strategie war bemerkenswert: Sie warfen mathematisch andere Objekte auf das zu testende Objekt. Wurmlöcher haben ihre Tests nicht bestanden, weil sie herausfanden, dass das Wurmloch selbst bei Vorhandensein eines normalen physischen Objekts, vielleicht eines Asteroiden, zusammenbrechen würde. Aber Schwarze Löcher haben diesen Test bestanden: Das Schwarze Loch würde überleben, wenn ein Asteroid darauf geworfen würde. Also haben sie versucht, einen Stern darauf zu werfen. Gleiches Ergebnis. Schließlich warfen sie ein weiteres Schwarzes Loch auf das Schwarze Loch und es überlebte. Infolgedessen waren sie zuversichtlich genug, dass es Schwarze Löcher gab, um sie tatsächlich im realen Universum zu suchen.
Die Relevanz und Anwendung der oben genannten Strategie besteht also darin, Dinge nach Ihren Wünschen zu werfen. Überlebt es die Gesundheitskontrolle ? Wenn Sie eine notwendige Annahme entfernen, bricht sie dann wie gewünscht zusammen? Kollabiert es so, wie es sollte, wenn es auf Fälle angewendet wird, die außerhalb seines Anwendungsbereichs liegen? Hält es vernünftigen Verallgemeinerungen und Spezialisierungen stand? Schauen Sie sich die Liste der Heuristiken in Polya's How to Solve It an . Versuchen Sie, Ihren Beweis mit diesen Heuristiken zu mutieren, und prüfen Sie, ob er so steht und fällt, wie er sollte.
quelle
Ich denke, einer der sichersten Ansätze besteht darin, mehrere unabhängige Beweise zu erstellen. Dann können Sie sicher sein, dass Ihr Hauptergebnis korrekt ist, auch wenn Sie in einigen Details eines Beweises einen Fehler haben.
quelle
Eine Technik, die ich für nützlich befunden habe, besteht darin, darüber nachzudenken, welche anderen Ergebnisse die Proof-Strategie nachweisen könnte. Wenn ich die Proof-Strategie leicht anpassen kann, um ein großes offenes Problem zu beweisen, oder sogar ein Problem, das nicht offen ist, dessen Lösung im Vergleich zur Komplexität der Proof-Strategie jedoch viel zu kompliziert ist, dann ist das ein großer Grund zu bezweifeln der Beweis.
quelle
Ich überprüfe meine Proofs immer wieder mit einem Proof-Checker wie COQ oder ISABELLE . Wenn Sie Ihren Proof in einer dieser Programmiersprachen nachweisen können, können Sie sicher sein, dass Ihr Proof korrekt ist. So einfach wie ein Lambda-Term;).
quelle