A validade das fórmulas de ordem superior geralmente não é decidível e os espaços de pesquisa são enormes ; portanto, tudo o que você pode esperar é tentar encontrar uma prova - supondo que ela exista - enumerando de forma inteligente o espaço da prova (pense em marreta , apropriadamente chamada) mas isso é difícil. Os humanos podem tocar o oráculo, fornecendo os principais lemas para guiar a prova.
Os provadores automatizados, por outro lado, normalmente lidam apenas com (subconjuntos de) lógicas decidíveis, por exemplo, lógica proposicional ou subclasses da lógica de primeira ordem, para que possam durar muito tempo, mas você sabe que será bem-sucedido eventualmente.
Observe que existem abordagens para permitir que os assistentes de provas encontrem esses lemamas importantes, por exemplo, IsaPlanner . A ferramenta adivinha lemamas (indutivos) por enumeração e teste aleatório e, em seguida, tenta prová-los. Ao iterar o processo, muitos lemas de, por exemplo, definições típicas de tipos de dados, podem ser encontrados automaticamente.
ABC pequeno
- validade - uma fórmula é válida e contém o que você atribui às variáveis livres.
- variáveis livres - aquelas variáveis que não são limitadas por quantificadores como e ∃∀∃
- decidibilidade - uma propriedade (booleana) é (Turing) decidível se houver um algoritmo que responda "sim" ou "não" (corretamente) após um período finito de tempo.
- lógica proposicional - também lógica de ordem zero ; nenhuma quantificação permitida.
- ∀ x . P( X )∀ f. f( 4 ) > 0
- lógica de ordem superior - você pode quantificar sobre (e "construir") objetos arbitrariamente complexos, por exemplo, funções de ordem superior (funções que assumem funções).