Die Frage:
Angenommen, ich habe eine Spezifikation eines Problems, das aus Axiomen und einem Ziel besteht (dh das zugehörige Beweisproblem ist, ob das Ziel unter Berücksichtigung aller Axiome erfüllbar ist). Nehmen wir auch an, dass das Problem keine Inkonsistenzen / Widersprüche zwischen den Axiomen enthält. Gibt es eine Möglichkeit, im Voraus zu bestimmen (dh ohne zuerst einen vollständigen Beweis zu erstellen), dass der Beweis des Problems "Argumentation höherer Ordnung" erfordert?
Mit "Argumentation höherer Ordnung" meine ich das Anwenden von Beweisschritten, die das Aufschreiben von Logik höherer Ordnung erfordern. Ein typisches Beispiel für "Argumentation höherer Ordnung" wäre Induktion: Das Aufschreiben eines Induktionsschemas erfordert im Prinzip die Verwendung von Logik höherer Ordnung.
Beispiel:
Man kann das Beweisproblem "Ist die Addition auf zwei natürliche Zahlen kommutativ?" Verwenden der Logik erster Ordnung (dh Definieren der natürlichen Zahl über Konstruktoren null / sukz zusammen mit Standardaxiomen zusammen mit Axiomen, die rekursiv eine "Plus" -Funktion definieren). Um dieses Problem zu beweisen, ist eine Einführung in die Struktur des ersten oder zweiten Arguments von "plus" erforderlich (abhängig von der genauen Definition von "plus"). Könnte ich das gewusst haben, bevor ich versucht habe, es zu beweisen, z. B. indem ich die Art des Eingabeproblems analysiere ...? (Dies ist natürlich nur ein einfaches Beispiel zu Illustrationszwecken - in Wirklichkeit wäre dies für schwierigere Beweisprobleme interessanter als die Kommutativität von Plus.)
Noch mehr Kontext:
In meiner Forschung versuche ich häufig, automatisierte Theoremprüfer erster Ordnung wie Vampire, Eprover usw. anzuwenden, um Beweisprobleme (oder Teile von Beweisproblemen) zu lösen, von denen einige möglicherweise eine Argumentation höherer Ordnung erfordern. Häufig benötigen Prüfer einige Zeit, um einen Beweis zu erbringen (vorausgesetzt, es gibt einen Beweis, der nur Argumentationstechniken erster Ordnung erfordert). Natürlich führt der Versuch, einen Satzbeweiser erster Ordnung auf ein Problem anzuwenden, das Argumentation höherer Ordnung erfordert, in der Regel zu einer Zeitüberschreitung.
Daher habe ich mich gefragt, ob es Methoden / Techniken gibt, die mir im Voraus sagen können, ob für ein Beweisproblem Argumentationstechniken höherer Ordnung erforderlich sind (was bedeutet: "Verschwenden Sie keine Zeit damit, es einem Theorembeweiser erster Ordnung zu übergeben"). ) oder nicht, zumindest für bestimmte Eingabeprobleme.
Ich habe in der Literatur nach einer Antwort auf meine Frage gesucht und einige Kollegen aus dem Bereich Theorem gefragt, die dies beweisen - aber bisher habe ich keine guten Antworten erhalten. Ich gehe davon aus, dass Menschen, die versuchen, die Prüfung interaktiver Theoreme mit der Prüfung automatisierter Theoreme zu kombinieren (Coq-Community? Isabelle-Community (Vorschlaghammer)?), Nachforschungen zu diesem Thema anstellen - aber bisher konnte ich nichts finden.
Ich denke, dass das Problem, das ich hier umrissen habe, im Allgemeinen nicht zu entscheiden ist (oder?). Aber vielleicht gibt es gute Antworten für verfeinerte Versionen des Problems ...?