La domanda:
Supponiamo che io abbia una specifica di un problema costituito da assiomi e un obiettivo (cioè il problema di prova associato è se l'obiettivo è soddisfacente dati tutti gli assiomi). Supponiamo anche che il problema non contenga incoerenze / contraddizioni tra gli assiomi. C'è un modo per determinare in anticipo (cioè senza prima costruire una prova completa) che per dimostrare il problema occorrerà un "ragionamento di ordine superiore"?
Con "ragionamento di ordine superiore" intendo applicare passaggi di prova che richiedono che la logica di ordine superiore sia scritta. Un esempio tipico di "ragionamento di ordine superiore" sarebbe l'induzione: la scrittura di uno schema di induzione in linea di principio richiede l'uso di una logica di ordine superiore.
Esempio:
Si può specificare il problema di prova "L'aggiunta su due numeri naturali è commutativa?" usando la logica del primo ordine (cioè definire il numero naturale tramite costruttori zero / succ insieme agli assiomi standard, insieme agli assiomi che definiscono ricorsivamente una funzione "più"). La dimostrazione di questo problema richiede l'induzione sulla struttura del primo o del secondo argomento di "più" (a seconda della definizione esatta di "più"). Avrei potuto saperlo prima di provare a provarlo, ad esempio analizzando la natura del problema di input ...? (Naturalmente, questo è solo un semplice esempio a scopo illustrativo - in realtà, questo sarebbe interessante per problemi di prova più difficili della commutatività di plus.)
Qualche altro contesto:
Nella mia ricerca, provo spesso ad applicare dimostratori di teorema del primo ordine automatizzati come Vampire, eprover ecc. Per risolvere problemi di prova (o parti di problemi di prova), alcuni dei quali potrebbero richiedere un ragionamento di ordine superiore. Spesso, i dimostratori richiedono un po 'di tempo per elaborare una prova (a condizione che ci sia una prova che richiede solo tecniche di ragionamento di primo ordine). Naturalmente, il tentativo di applicare un proore del teorema del primo ordine a un problema che richiede un ragionamento di ordine superiore si traduce in genere in un timeout.
Pertanto, mi sono chiesto se ci sono metodi / tecniche che possono dirmi in anticipo se un problema di prova richiederà tecniche di ragionamento di ordine superiore (che significa "non perdere tempo cercando di passarlo a un proveratore di teoremi del primo ordine" ) o no, almeno forse per particolari problemi di input.
Ho cercato in letteratura una risposta alla mia domanda e ho chiesto ad alcuni ricercatori dell'area del teorema di dimostrarlo - ma finora non ho ricevuto nessuna buona risposta. La mia aspettativa sarebbe che ci sia qualche ricerca su questo argomento da parte di persone che provano a combinare dimostrazione di teoremi interattivi e dimostrazione di teoremi automatizzati (comunità di Coq? Comunità di Isabelle (mazza)?) - ma finora non sono riuscito a trovare nulla.
Immagino che in generale, il problema che ho delineato qui sia indecidibile (vero?). Ma forse ci sono buone risposte per versioni raffinate del problema ...?