Interessanterweise gibt es eine Verbindung zwischen Einschalt- und Eliminierung der Interpolationsschaltung Theorem. Zuallererst sieht der Interpolationssatz wie eine Umkehrung der Mischregeleliminierung aus, die während der Schnitteliminierung verwendet wird. Diese Eliminierung sagt:
If G |- A and D, A |- B are cut-free proofs,
then there is a cut-free proof G, D |- B
Nun kann eine Form des Interpolationstheorems, das auf schnittfreien Beweisen basiert, wie folgt durchgeführt werden. Es ist die verkehrte Version der Beseitigung. Es beginnt mit G, D | - B und gibt G | - A und D, A | - B:
If G; D |- B is a cut free proof,
then there is a formula A (the interpolant)
and cut free proofs G |- A and D, A |- B,
and A uses only propositions simultaneously from G and D
Ich setze absichtlich ein Semikolon zwischen die Prämissen G und D. Hier zeichnen wir die Linie, welche Prämissen wir als Interpolationsmittel liefern wollen und welche Prämissen wir mit dem Interpolationsmittel sehen wollen.
Wenn die Eingabe ein Freischnitt-Proof ist, ist der Aufwand des Algorithmus proportional zur Anzahl der Knoten des Freischnitt-Proofs. So ist es praktisch eine Methode linear in der Eingabe. Bei jedem Beweisschritt des Freischnitt-Beweises setzt der Algorithmus die Interpolante zusammen, indem er eine neue Verbindung einführt.
Die obige Beobachtung gilt für die einfache Interpolationskonstruktion, bei der nur vorausgesetzt wird, dass der Interpolant gleichzeitig Aussagen von G und D enthält. Interpolanten mit variabler Bedingung erfordern ein wenig mehr Schritte, da auch eine variable Behinderung erforderlich ist.
Möglicherweise besteht ein Zusammenhang zwischen der Minimalität des Cut-Free-Proofs und der Größe des Interpolanten. Nicht alle Proofs ohne Schnitte sind minimal. Beispielsweise sind einheitliche Proofs oft kürzer als geschnittene Proofs. Das Lemma für einheitliche Beweise ist ganz einfach, eine Regelanwendung der Form:
G |- A G, B |- C
----------------------
G, A -> B |- C
Kann vermieden werden, wenn B nicht im Beweis von C verwendet wird. Wenn B nicht im Beweis von C verwendet wird, haben wir bereits G | - C und somit durch Schwächen von G, A -> B | - C. Die Interpolation Der hier erwähnte Algorithmus wird darauf nicht eingehen.
Freundliche Grüße
Referenzen: Craig's Interpolation Theorem, formalisiert und mechanisiert in Isabelle / HOL, Tom Ridge, Universität Cambridge, 12. Juli 2006
http://arxiv.org/abs/cs/0607058v1
Die obige Referenz zeigt nicht genau die gleiche Interpolation, da sie Mehrfachmengen im Abschlussteil einer Folge verwendet. Auch macht es keinen Gebrauch von Implikation. Aber es ist interessant, da es meine Behauptung der Komplexität stützt und eine mechanisierte Verifikation zeigt.