15 votos

El teorema de completitud de Gödel y la indecidibilidad de la lógica de primer orden

Estoy trabajando a través de este módulo En este sentido, me gustaría hablar de los dos ejercicios que aparecen inmediatamente después del enunciado del teorema de completitud de Godel.

En primer lugar, observe la definición 2.1 del texto: Una frase $\varphi$ es válido si es cierto en todos los modelos. Por el contrario, $\varphi$ es satisfaciendo si es verdadera en algún modelo. Entonces los ejercicios se dan de la siguiente manera:

  1. Dejemos que $\varphi$ sea una sentencia en lógica de primer orden. Demuestre que $\varphi$ es válido si y sólo si $\neg\varphi$ no es satisfacible, y en consecuencia que $\varphi$ es satisfacible si y sólo si $\neg\varphi$ no es válido.

  2. Supongamos que tenemos un algoritmo $\mathcal{A}$ para saber si una sentencia de la lógica de primer orden es satisfacible o no. Demuestre que podemos usar esto para obtener un algoritmo $\mathcal{B}$ para saber si una sentencia de la lógica de primer orden es demostrable o no. A la inversa, supongamos que tenemos un algoritmo $\mathcal{B}$ para saber si una sentencia de la lógica de primer orden es demostrable o no. Demuestre que podemos usar esto para obtener un algoritmo $\mathcal{A}$ para saber si una sentencia de la lógica de primer orden es satisfacible o no.

El primer ejercicio parece bastante sencillo. Mi respuesta:

  1. Dejemos que $\mathscr{M}$ ser un modelo y leer " $\varphi$ es cierto en $\mathscr{M}$ " para $\mathscr{M}\models\varphi$ . Entonces, por las definiciones anteriores y los hechos básicos de la lógica (como las leyes de DeMorgan para los cuantificadores), la equivalencia $\forall \mathscr{M} (\mathscr{M}\models\varphi) \equiv \neg\exists \mathscr{M} (\mathscr{M}\models\neg\varphi)$ se mantiene como se desea. Lo mismo ocurre con el replanteamiento introducido por "en consecuencia" en el ejercicio, es decir $\exists \mathscr{M}(\mathscr{M}\models \varphi) \equiv \neg\forall(\mathscr{M}\models\neg\varphi)$ .

¿Tiene sentido? ¿Alguien ha detectado algún error o tiene ganas de sugerir mejoras de algún tipo?

Muy bien. Ahora el segundo ejercicio es donde las cosas se ponen más interesantes, al menos para mí, porque no entiendo del todo esta idea de correspondencia entre "válido" y "demostrable", que es el núcleo del teorema de completitud de Gödel.

Mirando lo que Wikipedia tiene que decir sobre el teorema, siento que básicamente entiendo el resultado, pero todavía no estoy seguro de cómo lo aplicaría en términos del segundo ejercicio.

Tomemos la primera parte del problema: todo lo que tengo es un algoritmo $\mathcal{A}$ que decide la satisfacción de $\varphi$ . El teorema de completitud establece una equivalencia entre la demostrabilidad sintáctica y la validez semántica. No consigo averiguar cómo cruzar el abismo que va de la satisfabilidad a la validez, ni encontrar la conexión lógica que necesitaría para utilizar el teorema para resolver mi problema.

Mientras buscaba preguntas similares antes de publicar, encontré este que ofrece algunos estímulos para la reflexión, pero que se ocupa de diferentes supuestos, a saber: un algoritmo que toma un $\varphi$ y devuelve $\varphi'$ tal que $\varphi$ es satisfacible si $\varphi'$ es válido. Veo que esto se acerca a lo que necesito, pero de nuevo no veo cómo adaptarlo a mis propósitos.

¿Alguien puede ofrecer una pista, una sugerencia o una indicación de algún tipo? Se lo agradecería mucho.

10 votos

+1 por todos los deberes que has hecho antes de venir a pedir ayuda, y por el cuidado que has puesto en el formato.

3 votos

Es muy amable al decirlo. Gracias @EthanBolker

2 votos

@RebeccaBonham Son preguntas como estas entre todo el fango de esta página las que me hacen querer volver cada día.

7voto

Bram28 Puntos 18

Tienes la idea correcta para la parte 1, pero es inusual usar la notación lógica que haces: $\neg$ , $\forall$ y $\exists$ son operadores lógicos, pero $\models$ es un símbolo metalógico; a los puristas no les gustará que los mezcles. Por lo tanto, es mejor utilizar los términos ingleses "some" y "all" y "not".

Para la parte 2: ¡aquí es donde se utiliza el resultado de la parte 1! En particular, para decidir si $\varphi$ es válido o no, puede decidir si $\neg \varphi$ es satisfacible o no: si $\neg \varphi$ es satisfacible, entonces $\varphi$ no es válido, pero si $\neg \varphi$ no es satisfacible, entonces $\varphi$ es válido. Y ahora sólo hay que combinar eso con el resultado de completitud de Godel (para ser precisos: el teorema de que un enunciado es demostrable si y sólo si es válido... la parte más difícil de "si" es el teorema de completitud): si $\varphi$ es válido, entonces es demostrable, y si $\varphi$ no es válido, entonces no es demostrable.

Así que para la primera parte: si tienes algoritmo $\mathcal{A}$ que puede averiguar si $\varphi$ es satisfactoria o no para cualquier $\varphi$ , entonces diseñe el algoritmo $\mathcal{B}$ que está tratando de averiguar si $\varphi$ es demostrable o no de la siguiente manera:

  1. Toma en $\varphi$

  2. Negar $\varphi$

  3. Algoritmo de llamada $\mathcal{A}$ con $\neg \varphi$

4a. Si el algoritmo $\mathcal{A}$ dice que $\neg \varphi$ es satisfacible, entonces imprime ' $\varphi$ no es demostrable".

4b. Si el algoritmo $\mathcal{A}$ dice que $\neg \varphi$ no es satisfacible, entonces imprime ' $\varphi$ es demostrable".

0 votos

Gracias, agradezco la sugerencia. Tomaré nota para el futuro. (Un inciso: ¿podría decir unas palabras sobre lo que quiere decir, concretamente, con "metalógico"?)

1 votos

@RebeccaBonham $\models$ es un símbolo "meta-lógico" en el sentido de que se utiliza para expresar una declaración sobre una declaración lógica. Es decir, $\varphi$ es una declaración lógica, y $\mathscr{M}\models\varphi$ es una declaración sobre esa declaración lógica.

0 votos

Lo tengo, gracias.

7voto

Pavel Sayekat Puntos 8

Para mis propios fines, archivo aquí mi mejor intento de integrar, de manera compacta, todo lo que se mencionó en las respuestas a mi pregunta original. Cualquier comentario o crítica de cualquier tipo es siempre bienvenido. Gracias de nuevo a los colaboradores.

Definiciones. Una sentencia $\varphi$ es válido si es cierto en todos los modelos. Por el contrario, $\varphi$ es satisfaciendo si es verdadera en algún modelo.

Teorema de integridad con solidez. Una sentencia en lógica de primer orden es demostrable si y sólo si es válida.

Entonces, las respuestas a los problemas planteados anteriormente pueden darse de la siguiente manera:

  1. Dejemos que $\mathscr{M}_x$ ser un modelo, $x\in\mathbb{N}$ . Sea $\varphi$ sea una sentencia en lógica de primer orden. Sea $P(x)$ sea el predicado " $\varphi$ es cierto en $\mathscr{M}_x$ ." Entonces $\forall x P(x) \equiv \neg \exists x P(x)$ y $\exists x P(x) \equiv \neg \forall x \neg P(x)$ por las definiciones anteriores y las leyes de De Morgan.

  2. Supongamos que tenemos $\mathcal{A}$ . Sea $\mathcal{B}$ sea el algoritmo definido por el siguiente procedimiento. Paso 1: tomar $\varphi$ como entrada. Paso 2: negar $\varphi$ . Paso 3: llamar $\mathcal{A}$ con entrada $\neg\varphi$ , escrito $\mathcal{A}(\neg\varphi)$ . Paso 4, caso (a): Si $\mathcal{A}(\neg\varphi)$ vuelve " $\neg\varphi$ es satisfacible", entonces por las equivalencias anteriores $\varphi$ no es válida y por el teorema de completitud no es demostrable. Paso 4, caso (b): Si $\mathcal{A}(\neg\varphi)$ vuelve " $\neg\varphi$ no es satisfacible", entonces por las equivalencias anteriores $\varphi$ es válida y por el teorema de completitud es demostrable. Así, haciendo uso de $\mathcal{A}$ hemos obtenido $\mathcal{B}$ tal que $\mathcal{B}$ decide si $\varphi$ es demostrable o no. Por un argumento simétrico podemos obtener $\mathcal{A}$ si se da $\mathcal{B}$ .

2 votos

Para 1. El $\mathscr{M}_x$ es un poco raro... ¿cuál es el índice aquí? De nuevo, puede ser mejor evitar la notación lógica formal por completo aquí, ya que todo esto es meta-lógica, en lugar de lógica formal. Así que, por ejemplo, diría: $\varphi$ es válido si y sólo si (por definición de válido) $\varphi$ es verdadera en todos los modelos posibles si y sólo si (por pura lógica) no hay ningún modelo en el que $\varphi$ es falsa si y sólo si (por semántica) no hay ningún modelo en el que $\neg \varphi$ es verdadera si y sólo si (por definición de satisfabilidad) $\neg \varphi$ no es satisfacible.

1 votos

Para 2. El teorema de completitud dice que un enunciado es demostrable si es válido. Pero para responder a esta pregunta, necesitas fortalecer el teorema de que un enunciado es demostrable si y sólo si es válido. Recuerda que necesitas un procedimiento de decisión, es decir, que si $\varphi$ es demostrable, entonces $\mathcal{B}$ dirá que es demostrable, y si $\varphi$ no es demostrable, entonces $\mathcal{B}$ dirá que no es demostrable. Por lo tanto, si usted encuentra que $\neg \varphi$ no es válida, entonces tienes que ser capaz de concluir que no es demostrable, lo que sólo puedes hacer si tienes un "si y sólo si

1 votos

De hecho, esta es la diferencia clave entre la completitud de la lógica de primer orden y la indecidibilidad de la lógica de primer orden: es completa en el sentido de que si una fórmula es válida, puede ser demostrada... y de hecho hay un algoritmo que, cuando se le da esa fórmula, será capaz de decir que es demostrable (y de hecho puede incluso producir una prueba). Pero ese algoritmo completo no es un procedimiento de decisión, ya que para ello necesita también decir que una fórmula que no es válida no es demostrable. Y como resulta (y como el documento trata de mostrar) no puede haber tal procedimiento de decisión.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X