Il est intéressant de noter qu'il existe un lien entre l'élimination des coupures et le théorème d'interpolation. Tout d'abord, le théorème d'interpolation ressemble à l'inverse de l'élimination des règles de mélange utilisée lors de l'élimination des coupures. Cette élimination dit:
If G |- A and D, A |- B are cut-free proofs,
then there is a cut-free proof G, D |- B
Maintenant, une forme de théorème d'interpolation basée sur des preuves sans coupure peut être effectuée comme suit. C'est la version à l'envers de l'élimination. Il commence par G, D | - B et donne G | - A et 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
Je mets volontairement un point-virgule entre les prémisses G et D. C'est là que nous dessinons la ligne, quelles prémisses nous voulons voir comme délivrant l'interpolant, et quelles prémisses nous voulons voir en utilisant l'interpolant.
Lorsque l'entrée est une preuve sans coupure, l'effort de l'algorithme est proportionnel au nombre de nœuds de la preuve sans coupure. Donc c'est pratique une méthode linéaire en entrée. À chaque étape de preuve de la preuve sans coupure, l'algorithme assemble l'interpolant en introduisant un nouveau connecteur.
L'observation ci-dessus est valable pour la construction d'interpolation simple, où nous exigeons seulement que l'interpolant ait simultanément des propositions de G et D.Les interpolants avec une condition variable nécessitent un peu plus d'étapes, car il faut également effectuer un masquage variable.
Il existe probablement un lien entre la minimalité de l'épreuve sans coupure et la taille de l'interpolant. Toutes les épreuves sans coupure ne sont pas minimes. Par exemple, les épreuves uniformes sont souvent plus courtes que les épreuves sans coupure. Le lemme des preuves uniformes est assez simple, une application de règle de la forme:
G |- A G, B |- C
----------------------
G, A -> B |- C
Peut être évité, lorsque B n'est pas utilisé dans la preuve de C. Lorsque B n'est pas utilisé dans la preuve de C, nous avons déjà G | - C, et donc en affaiblissant G, A -> B | - C. L'interpolation algorithme mentionné ici, ne fera pas attention à ce sujet.
Meilleures salutations
Références: Théorème d'interpolation de Craig formalisé et mécanisé dans Isabelle / HOL, Tom Ridge, Université de Cambridge, 12 juillet 2006
http://arxiv.org/abs/cs/0607058v1
La référence ci-dessus ne montre pas exactement la même interpolation, car elle utilise plusieurs ensembles dans la partie conclusion d'un séquent. Il n'utilise pas non plus d'implication. Mais c'est intéressant car il supporte ma revendication de complexité, et puisqu'il montre une vérification mécanisée.