A questão:
Suponha que eu tenha uma especificação de um problema que consiste em axiomas e um objetivo (ou seja, o problema de prova associado é se o objetivo é satisfatório, considerando todos os axiomas). Suponhamos também que o problema não contenha inconsistências / contradições entre os axiomas. Existe uma maneira de determinar com antecedência (ou seja, sem antes construir uma prova completa) que provar o problema exigirá "raciocínio de ordem superior"?
Por "raciocínio de ordem superior", quero dizer aplicar etapas de prova que exigem que a lógica de ordem superior seja anotada. Um exemplo típico de "raciocínio de ordem superior" seria a indução: escrever um esquema de indução em princípio requer o uso de lógica de ordem superior.
Exemplo:
Pode-se especificar o problema da prova "A adição em dois números naturais é comutativa?" usando lógica de primeira ordem (isto é, defina o número natural por meio de construtores zero / succ, juntamente com axiomas padrão, juntamente com axiomas que definem recursivamente uma função "mais"). A comprovação desse problema requer indução na estrutura do primeiro ou do segundo argumento de "mais" (dependendo da definição exata de "mais"). Eu poderia saber disso antes de tentar prová-lo, por exemplo, analisando a natureza do problema de entrada ...? (Obviamente, este é apenas um exemplo simples para fins de ilustração - na realidade, isso seria interessante para problemas de prova mais difíceis do que a comutatividade do plus.)
Um pouco mais de contexto:
Em minha pesquisa, freqüentemente tento aplicar provadores automatizados de teoremas de primeira ordem como Vampire, eprover etc. para resolver problemas de prova (ou partes de problemas de prova), alguns dos quais podem exigir um raciocínio de ordem superior. Freqüentemente, os provadores precisam de bastante tempo para apresentar uma prova (desde que exista uma prova que exija apenas técnicas de raciocínio de primeira ordem). Obviamente, tentar aplicar um provador de teoremas de primeira ordem a um problema que requer raciocínio de ordem superior normalmente resulta em um tempo limite.
Portanto, tenho me perguntado se existem métodos / técnicas que possam me dizer com antecedência se um problema de prova exigirá técnicas de raciocínio de ordem superior (significando "não perca tempo tentando entregá-lo a um provador de teoremas de primeira ordem") ) ou não, pelo menos talvez para problemas específicos de entrada.
Procurei na literatura uma resposta para minha pergunta e perguntei a alguns colegas pesquisadores da área do teorema que provam isso - mas até agora não recebi boas respostas. Minha expectativa seria que exista alguma pesquisa sobre esse tópico de pessoas que tentem combinar provas interativas de teoremas e provas automatizadas de teoremas (comunidade Coq? Comunidade Isabelle (Sledgehammer)?) - mas até agora não consegui encontrar nada.
Acho que, em geral, o problema que descrevi aqui é indecidível (não é?). Mas talvez haja boas respostas para versões refinadas do problema ...?