Intuição por trás de sistemas de prova

9

Estou tentando entender o artigo Sobre sistemas de prova p-Optimal e lógica para PTIME . Existe uma noção chamada sistemas de prova no artigo e eu não entendo:

Σ={0,1} ... Identificamos problemas com os subconjuntos de em .Σ QΣ

Penso que a intenção é codificar uma certa estrutura em (por exemplo, gráficos não direcionados) e subconjuntos dessas estruturas são problemas (por exemplo, gráficos planares).Σ

Um sistema de prova para um problema é uma função subjetiva computável em tempo polinomial. P : Σ *QQΣP:ΣQ

Agora, uma possibilidade é dizer que é o conjunto de todos os modelos possíveis em uma determinada estrutura (por exemplo, todos os gráficos não direcionados). Mas isso não faz sentido, porque por que os gráficos não direcionados devem ser mapeados em um subconjunto? Poderia ser máquinas de turing codificadas, mas isso também não faz sentido ...Σ

Alguma ideia?

Joachim
fonte

Respostas:

8

Pense em codificando algum tipo de objeto e como o conjunto de todos os objetos que satisfazem alguma propriedade. Pense como uma função que aceita (a codificação de) um par , onde é um objecto e é suposta "prova" de . A função é um "verificador de prova": ele verifica que representa realmente evidência válida que . Se assim for, ele retorna , caso contrário, ele retorna um elemento padrão de . Q P ( x , p ) x p x Q P p x Q x QΣQP(x,p)xpxQPpxQxQ

Como exemplo, suponha que codifique gráficos e deixe ser o conjunto (de codificações) dos gráficos hamiltonianos. Um possível é este: decodifique a entrada como onde é um gráfico e é uma lista de vértices de G ; verifique se é um ciclo hamiltoniano em G ; Se sim, retorne G Q P ( L , ) LΣQP(G,)GGGG caso contrário, retorne o gráfico em um ponto.

Você considerou o caso dos gráficos planares. Para obter um P adequadoP , precisamos de uma noção de evidência de planaridade verificável no tempo poli.

Em geral, a entrada para não precisa codificar um par ( x , p ) . O importante é que P pode extrair dois pedaços de informação a partir da sua entrada: o objeto em questão e a suposta evidência de que o objeto pertence a Q . Por exemplo, tomemos como Q o conjunto de todas as sentenças prováveis ​​em alguma teoria de primeira ordem. Agora P decodifica sua entrada como uma prova formal. Se a codificação for inválida, ela retornará P(x,p)PQQP. Se a codificação representar uma prova válida, ela retornará a instrução que foi comprovada pela prova (que provavelmente é a raiz da árvore de provas ou a última fórmula em uma sequência de instruções, dependendo de como você formaliza as provas).

Andrej Bauer
fonte
5

Você deve pensar na entrada do sistema de prova como o texto de uma prova π de um elemento q Q . Se o texto é válido que P ( π ) = q , caso contrário, P ( π ) é fixo alguns q 0Q . Nós queremos PPπqQP(π)=qP(π)q0 0QP seja polytime, pois isso significa que a prova é fácil de verificar.

Como exemplo, suponha que seja o conjunto de tautologias proposicionais e P seja qualquer sistema de prova no estilo Hilbert, que consiste em um conjunto de linhas , cada uma das quais é um axioma ou segue das linhas anteriores por meio de uma regra de derivação (geralmente Modus Ponens). Se a prova for válida, P deve exibir a última linha na prova. Caso contrário, envie alguma tautologia fixa como p ¬ p .QPPp¬p

De volta à sua primeira pergunta, é uma codificação de todas as estruturas de um determinado tipo que satisfazem alguma propriedade. Um exemplo são as tautologias. Outro exemplo é o conjunto de todos os gráficos que não são de 3 cores, que possuem um sistema de prova conhecido como cálculo de Hajós.Q

Yuval Filmus
fonte