In seiner Antwort auf diese Frage , Stephane Gimenez wies mich auf eine Normalisierungsalgorithmus Polynom-Zeit für Beweise in linearer Logik. Der Proof in Girards Papier verwendet Proof-Netze, die ein Aspekt der linearen Logik sind, über den ich eigentlich nicht viel weiß.
Jetzt habe ich bereits versucht, Aufsätze über Proof-Netze zu lesen (wie etwa die Aufzeichnungen von Pierre-Louis Curien ), aber ich habe sie nicht wirklich verstanden. Meine Frage lautet also: Wie soll ich über sie nachdenken? Mit "wie man über sie nachdenkt" meine ich sowohl die informelle Intuition hinter ihnen (z. B. wie sie sich rechnerisch verhalten oder wie sie mit Sequenzen zusammenhängen) als auch welche Theoreme über sie ich beweisen sollte, um sie wirklich zu bekommen.
Bei der Beantwortung dieser Frage können Sie davon ausgehen, dass (1) ich die Beweistheorie der linearen Logik gut kenne (einschließlich solcher Dinge wie der Schnitteliminierungsbeweis und auch in fokussierter Form), (2) ihre kategoriale Semantik in Bezug auf Kohärenzräume oder über Day Convolution und (3) die grundlegenden Grundlagen der GoI-Konstruktion.
quelle
Antworten:
Beweisnetze sind im Wesentlichen aus drei Gründen interessant:
1) IDENTITÄT DER BEWEISE. Sie geben eine Antwort auf das Problem "Wann sind zwei Beweise gleich"? In der Folgerechnung können Sie viele verschiedene Beweise desselben Satzes haben, die sich nur unterscheiden, weil die Folgerechnung eine Reihenfolge unter den Abzugsregeln erzwingt, auch wenn dies nicht erforderlich ist. Natürlich kann man eine Äquivalenzrelation zu sequentiellen Kalkülbeweisen hinzufügen, aber dann muss man zeigen, dass sich die Schnitteliminierung bei Äquivalenzklassen richtig verhält, und es ist auch notwendig, modulo umzuschreiben, was wesentlich technischer ist als einfaches Umschreiben. Beweisnetze lösen das Problem des Umgangs mit Äquivalenzklassen, indem sie eine Syntax bereitstellen, bei der jede Äquivalenzklasse für ein einzelnes Objekt reduziert wird. Diese Situation ist ohnehin ein bisschen idealistisch, da aus vielen Gründen Beweise oft mit irgendeiner Form von Äquivalenz erweitert werden.
2) KEINE KOMMUTATIVEN SCHNITTSTUFEN. Die Schnitteliminierung auf Proof-Netzen hat einen ganz anderen Geschmack als auf Folgesteinen, da kommutative Schnitteliminierungsschritte verschwinden. Der Grund ist, dass in Beweisnetzen die Abzugsregeln nur durch ihren Kausalzusammenhang verbunden sind. Kommutative Fälle entstehen dadurch, dass eine Regel von einer anderen kausal nicht verwandten Regel verborgen werden kann. Dies kann nicht in Proof-Netzen geschehen, in denen kausal unabhängige Regeln weit voneinander entfernt sind. Da die meisten Fälle der Schnitteliminierung kommutativ sind, ergibt sich eine auffallende Vereinfachung der Schnitteliminierung. Dies war besonders nützlich für die Untersuchung von Lambda-Kalkülen mit expliziten Substitutionen (weil Exponentials = explizite Substitutionen). Auch diese Situation ist idealisiert, da einige Präsentationen von Proof-Netzen kommutative Schritte erfordern. Jedoch,
3) RICHTIGKEITSKRITERIEN. Beweisnetze können durch Übersetzung aufeinanderfolgender Kalkülbeweise definiert werden, aber normalerweise wird ein System von Beweisnetzen nicht als solches akzeptiert, es sei denn, es ist mit einem Korrektheitskriterium versehen, dh einem Satz graphentheoretischer Prinzipien, die den durch die Übersetzung von a erhaltenen Satz von Graphen charakterisieren sequentieller Kalkülnachweis. Der Grund für das Erfordernis eines Korrektheitskriteriums ist, dass die freie Grafiksprache, die von der Menge der Beweisnetzkonstruktoren (als Links bezeichnet) erzeugt wird, "zu viele Diagramme" enthält, in dem Sinne, dass einige Diagramme keinem Beweis entsprechen. Die Relevanz des Ansatzes der Korrektheitskriterien wird normalerweise völlig missverstanden. Es ist wichtig, weil es nicht-induktive Definitionen des Beweises liefert und erschreckend unterschiedliche Perspektiven auf die Art der Abzüge bietet. Die Tatsache, dass die Charakterisierung nicht induktiv ist, wird in der Regel kritisiert, während es genau das ist, was interessant ist. Natürlich ist es nicht leicht zu formalisieren, aber auch dies ist seine Stärke: Proof-Netze liefern Erkenntnisse, die durch die übliche induktive Perspektive auf Beweise und Begriffe nicht verfügbar sind. Ein grundlegender Satz für Beweisnetze ist der Satz der Sequenzialisierung, der besagt, dass jeder Graph, der das Korrektheitskriterium erfüllt, induktiv als Beweis für einen sequentiellen Kalkül zerlegt werden kann (Rückübersetzung in den korrekten Graphen).
Lassen Sie mich zu dem Schluss kommen, dass es nicht genau gesagt werden kann, dass Proof-Netze eine klassische und lineare Version des natürlichen Deduktionsverfahrens sind. Der Punkt ist, dass sie das Problem der Identität von Beweisen lösen (oder zu lösen versuchen) und dass die natürliche Folgerung dasselbe Problem für eine minimale intuitionistische Logik erfolgreich löst. Beweisnetze können aber auch für intuitionistische Systeme und für nichtlineare Systeme durchgeführt werden. Tatsächlich funktionieren sie besser für intuitionistische Systeme als für klassische Systeme.
quelle
Girard stellte fest, dass der natürliche Abzug genau auf diese Weise asymmetrisch ist. Deshalb passt es zur intuitionistischen Logik. Beweisnetze sind ein Versuch von Girard, eine symmetrische Form der natürlichen Deduktion zu erfinden .
In meiner ursprünglichen Antwort habe ich etwas übersehen: Proof-Netze sind eine Möglichkeit, Beweise zu schreiben, und wir wissen, dass Beweise Programme sind. Proof-Netze sind also auch eine Möglichkeit, Programme zu schreiben.
Die traditionelle funktionale Notation für das Schreiben von Programmen ist asymmetrisch, genau wie die natürliche Deduktion. Proof-Netze weisen also auf eine Art und Weise hin, Programme in symmetrischer Form zu schreiben . So kommen Prozesskalküle ins Bild.
Eine andere Art der Darstellung der Symmetrie ist die Logikprogrammierung, die ich in zwei Abhandlungen untersucht habe: Eine typisierte Grundlage für direktionale Logikprogramme und übergeordnete Aspekte der Logikprogrammierung
quelle
Ich konzentriere mich darauf, wie Beweisnetze mit der sequentiellen Berechnung zusammenhängen, und lasse dynamischeres Zeug übrig.
Beweisnetze abstrahieren sequentielle Kalkülbeweise: Ein Beweisnetz repräsentiert eine Reihe von sequentiellen Kalkülbeweisen. Beweisnetze vergessen unwichtige Unterschiede zwischen aufeinanderfolgenden Kalkülbeweisen (wie welche Formel unter welcher zerlegt wird). Das wichtige Theorem ist hier die "Sequentialisierung", die ein Beweisnetz in einen sequentiellen Kalkülnachweis umwandelt.
quelle
Dies bezieht sich hauptsächlich auf den Teil Ihrer Frage, wie sie sich rechnerisch verhalten. Ein Weg, um Proof-Netze aus rechnerischer Sicht gut zu verstehen, besteht darin, etwas konkretere Interpretationen zu betrachten (z. B. Prozessalgebra).
Das könnte Sie interessieren:
Das Papier von Abramsky (der CLL-Abschnitt über Beweisausdrücke): Computergestützte Interpretationen der linearen Logik . In diesem Artikel werden auch einige Ergebnisse vorgestellt, die den entsprechenden Ergebnissen für Proof-Netze nahe kommen. Dies kann daher beim zweiten Aspekt Ihrer Frage hilfreich sein.
Die Arbeit von Honda und Laurent, die zeigt, wie eine bestimmte Art von Proof Nets, genannt Polarized Proof Nets, Pi-Kalkül-Prozessen entspricht, und die oben von Martin Berger erwähnt wurde: Eine genaue Entsprechung zwischen einem typisierten Pi-Kalkül und einem polarisierten Proof Netze
(hier mache ich schamlos Werbung für meine eigene Arbeit) Der Entwurf: Proof-Netze in prozessalgebraischer Form
Es gibt auch einige Arbeiten zu Proof-Netzen und Lambda-Kalkül, die ebenfalls wesentliche Intuitionen vermitteln. Zum Beispiel das Folgende von Delia Kesner und Stéphane Lengrand:
Vielleicht interessieren Sie sich auch für diese Art von Arbeit (sehr orientiert an theoretischen Aspekten), die sich auf Proof Structures stützt, um die Strong Normalization-Eigenschaft von LL von Michele Pagani und Lorenzo Tortora de Falco im Detail zu belegen.
Welche Sätze sollte man im Allgemeinen studieren? Nun, ich bin kaum eine Autorität, aber vielleicht möchten Sie sich "Sequentialisierung" (in Bezug auf Proof-Netze und sequentielle Proofs; siehe das Original-TCS-Papier zu LL) und den starken Normalisierungsbeweis (ziemlich kompliziert, wie erwartet, aber viele wichtige) ansehen PN-Theoreme sind damit verwandt (oder, um es zu beweisen).
Wenn Sie mit dem Fokussieren vertraut sind, könnte Sie dieses Papier von Andreoli auch interessieren:
Hoffe das hilft. Auch diese Referenzen erheben keinen Anspruch auf Vollständigkeit.
am besten Dimitris
quelle
In letzter Zeit wurden interessante Arbeiten durchgeführt, um die Beziehung zwischen Proofnetz und fokussierten Kalkülen enger zu machen, indem "multi-fokussierte" Varianten verwendet wurden, in denen möglicherweise mehrere linke Löcher gleichzeitig vorhanden sind, und um "maximal fokussierte" Proofs zu untersuchen. Wenn Sie den richtigen Kalkül auswählen, können maximal fokussierte Beweise MLL-Beweisenetzen oder in der klassischen Logik Expansionsbeweisen entsprechen ( The Isomorphism Between Expansion Proofs and Multi-Focused Sequent Proofs , Kaustuv Chaudhuri, Stefan Hetzl und Dale Miller, 2013).
quelle
Sie können meinen Artikel " Eine Übersicht über Proofnetze und Matrizen für Substrukturlogiken " lesen .
Abstrakt:
quelle