A motivação que você declara para lidar com a indecidibilidade também se aplica a problemas decididos, mas difíceis. Se você tiver um problema difícil de NP ou PSPACE, normalmente precisaremos usar alguma forma de aproximação (no sentido amplo do termo) para encontrar uma solução.
É útil distinguir entre diferentes noções de aproximação.
( ε , δ)
Aqui está um exemplo de uma noção diferente de aproximação. Suponha que você execute um cálculo como multiplicar dois números grandes e deseje verificar se a multiplicação estava correta. Existem muitas técnicas heurísticas usadas na prática para verificar a correção sem repetir o cálculo novamente. Você pode verificar se os sinais foram multiplicados para obter o sinal correto. Você pode verificar se os números têm a paridade correta (propriedades dos números pares / ímpares). Você pode usar uma verificação mais sofisticada, como lançar noves. Todas essas técnicas têm uma propriedade comum que elas podem lhe dizer se você cometeu um erro, mas não podem garantir se você obteve a resposta certa. Essa propriedade pode ser vista como uma aproximação lógica, porque você pode provar que o cálculo original está errado, mas pode não ser capaz de provar que está correto.
Todas as verificações que mencionei acima são exemplos de uma técnica chamada interpretação abstrata. A interpretação abstrata torna completamente rigorosa uma noção de aproximação lógica distinta das aproximações numéricas e probabilísticas. O problema que descrevi com a análise de um único cálculo se estende ao caso mais complexo de análise de um programa. A literatura sobre interpretação abstrata desenvolveu técnicas e estruturas para raciocínio lógico aproximado sobre programas e, mais recentemente, sobre lógicas. As seguintes referências podem ser úteis.
- Resumo Interpretação em poucas palavras de Patrick Cousot, que é uma visão geral simples.
- Resumo da abstração por Patrick Cousot, como parte de seu curso. Há um exemplo muito bonito de abstração para determinar as propriedades de um buquê de flores. A analogia do buquê inclui pontos fixos e pode ser feita matematicamente precisa.
- Curso sobre interpretação abstrata de Patrick Cousot, se você quiser toda a profundidade e detalhes.
- Interpretação abstrata e aplicação a programas lógicos , Patrick Cousot e Radhia Cousot, 1992. Aplica-se a programas lógicos, conforme sua solicitação. A seção inicial também formaliza o procedimento de exclusão de noves como uma interpretação abstrata.
Tudo isso geralmente tem sido aplicado ao raciocínio sobre programas de computador. Houve um trabalho bastante recente sobre a aplicação de idéias da interpretação abstrata para estudar procedimentos de decisão para lógicas. O foco não foi a lógica modal, mas a satisfação na lógica proposicional e nas teorias de primeira ordem livres de quantificadores. (Desde que eu trabalhei neste espaço, um artigo abaixo é meu)
- Uma generalização do método de Staalmarck por Aditya Thakur e Thomas Reps, 2012. Dá uma generalização do método de Staalmarck a problemas na análise de programas.
- O produto reduzido de domínios abstratos e a combinação de procedimentos de decisão , Patrick Cousot, Radhia Cousot e Laurent Mauborgne, 2011. Este artigo estuda a técnica de Nelson-Oppen para combinar procedimentos de decisão e mostra que ela também pode ser usada para combinações incompletas, que é particularmente interessante se você tiver problemas indecidíveis.
- Solvers de satisfação são analisadores estáticos , meu trabalho com Leopold Haller e Daniel Kroening, 2012. Aplica a visão de aproximação baseada em treliça para caracterizar os solucionadores existentes. Você também pode ver meus slides sobre o assunto .
Agora, nenhum dos artigos acima responde a sua pergunta específica sobre atacar problemas de satisfação que são indecidíveis. O que esses trabalhos fazem é ter uma visão orientada por aproximação de problemas lógicos que não são numéricos ou probabilísticos. Essa visão foi aplicada extensivamente para refletir sobre programas e acredito que ela aborda exatamente o que você está perguntando.
Para aplicá-lo à lógica modal, eu sugeriria que um ponto de partida é usar a semântica algébrica de Jonsson e Tarski ou a semântica posterior de Lemmon e Scott. Isso ocorre porque a interpretação abstrata é formulada em termos de redes e funções monótonas, portanto, álgebras booleanas com operadores são uma semântica conveniente para se trabalhar. Se você deseja começar com os quadros de Kripke, pode aplicar o teorema da dualidade de Jonsson e Tarski (que alguns podem chamar de dualidade de Stone) e derivar a representação algébrica. Depois disso, você pode aplicar os teoremas da interpretação abstrata para aproximação lógica.