È interessante notare che esiste una connessione tra l'eliminazione del taglio e il teorema di interpolazione. Innanzitutto il teorema di interpolazione sembra un rovescio dell'eliminazione della regola di miscelazione usata durante l'eliminazione del taglio. Questa eliminazione dice:
If G |- A and D, A |- B are cut-free proofs,
then there is a cut-free proof G, D |- B
Ora una forma di teorema di interpolazione basata su prove prive di taglio, può essere fatta come segue. È la versione capovolta dell'eliminazione. Inizia con G, D | - B e dà G | - A e 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
Metto di proposito un punto e virgola tra le premesse G e D. Qui è dove tracciamo la linea, quali premesse vogliamo vedere come consegna dell'interpolante e quali premesse vogliamo vedere usando l'interpolante.
Quando l'input è una prova senza taglio, lo sforzo dell'algroitmo è proporzionale al numero di nodi della prova senza taglio. Quindi è pratico un metodo lineare nell'input. Ad ogni passaggio di prova della prova senza taglio, l'algoritmo assembla l'interpolante introducendo un nuovo connettivo.
L'osservazione di cui sopra vale per la semplice costruzione dell'interpolazione, in cui richiediamo solo che l'interpolante abbia proposizioni simultaneamente da G e D. Gli interpolanti con una condizione variabile richiedono un po 'più di passaggi, poiché è necessario eseguire anche alcuni hinding variabili.
Probabilmente esiste una connessione tra la minimalità della prova senza taglio e la dimensione dell'interpolante. Non tutte le prove senza tagli sono minime. Ad esempio, le prove uniformi sono spesso più brevi delle prove senza tagli. Il lemma per prove uniformi è abbastanza semplice, un'applicazione di regole del modulo:
G |- A G, B |- C
----------------------
G, A -> B |- C
Può essere evitato, quando B non è usato nella dimostrazione di C. Quando B non è usato nella dimostrazione di C, abbiamo già G | - C, e quindi indebolendo G, A -> B | - C. L'interpolazione l'algoritmo menzionato qui, non presterà attenzione a questo.
I migliori saluti
Riferimenti: Teorema di interpolazione di Craig formalizzato e meccanizzato a Isabelle / HOL, Tom Ridge, Università di Cambridge, 12 lug 2006
http://arxiv.org/abs/cs/0607058v1
Il riferimento di cui sopra non mostra esattamente la stessa interpolazione, poiché utilizza multi-set nella parte conclusiva di un sequence. Inoltre non fa uso di implicazioni. Ma è interessante poiché supporta la mia richiesta di complessità e poiché mostra una verifica meccanizzata.