Lógica Computacional
Nota 09. Tableaux semánticos para la lógica de predicados11Esta nota se basa en material elaborado por el prof. Favio Miranda y en el libro de Ben-Ari M., Mathematical Logic for Computer Science

Noé Salomón Hernández S

1 Tableaux semánticos

El método de tableaux semánticos es un método de demostración por refutación. Antes de presentar las formalidades de este método, vamos a construir algunos tableaux informalmente para mostrar las dificultades que debemos afrontar y como se motivan sus soluciones, para esto necesitamos de la siguiente definición.

Definición 1.1.

Un término cerrado es un término que no tiene variables. Por ejemplo, 0, f(0), f(f(0)), c y h(a,f(b)) son términos cerrados; mientras que x, g(y,z) y h(x,a) no lo son.

1.1 Ejemplos de Tableaux Semánticos

Instanciar fórmulas universales con los términos cerrados

Consideremos la fórmula válida:

ψ=x(P(x)Q(x))(xP(x)xQ(x)),

y construyamos un tableaux para su negación.

El enunciado ¬xQ(x) será verdadero en un modelo solo si existe un elemento en el dominio c tal que cQ. Usemos la primera constante a1 para representar este elemento e instanciamos la fórmula con ella:

Como las fórmulas xP(x) y x(P(x)Q(x)) están cuantificadas universalmente, deben ser verdaderas para todo elemento del universo. Instanciamos estas fórmulas con la constante a1:

Aplicando la regla β a la fórmula P(a1)Q(a1), obtenemos inmediatamente un tableaux cerrado, como era de esperarse para la negación de una fórmula válida.

Este ejemplo nos muestra que las fórmulas cuantificadas existencialmente deben ser instanciadas con una constante que represente el elemento del universo que debe existir. Una vez que se introduce una constante o un término cerrado, las fórmulas cuantificadas universalmente se pueden instanciar con dicho elemento.

No use la misma constante dos veces para instanciar fórmulas existenciales

Enseguida se mostrará un intento de construir un tableaux para la negación de la fórmula ψ=x(P(x)Q(x))(xP(x)xQ(x)), la cual es satisfacible pero no válida. Así que ¬ψ es satisfacible, aunque su tableaux está cerrado. ¿Qué estuvo mal?

Al instanciar ¬xP(x) no debimos usar la constante a1 ya que fue escogida para instanciar ¬xQ(x). Elegir la misma constante significa que el mismo elemento del universo satisface a ambas fórmulas, lo cual no necesariamente tiene que ser así. De hecho, ψ es verdadera en los modelos que toman como dominio a un solo elemento, pero puede ser insatisfacible para universos con más elementos.

Una nueva constante debe seleccionarse para cada instancia de una fórmula existencial:

No elimine las fórmulas universales

Siguiendo con el tableaux del ejemplo previo, la fórmula universal x(P(x)Q(x)) se tiene que instanciar con a1, y también con a2 ya que debe ser cierta para todos los elementos del universo. De manera que las fórmulas universales nunca son eliminadas del tableaux, permanecen activas todo el tiempo para aplicarse a las nuevas constantes que son introducidas:

El tableaux quedó abierto. Es posible definir un modelo para ¬ψ tomando un universo con únicamente dos elementos, digamos A={1,2}, además a1=1, a2=2, P={1} y Q={2}. Un modelo infinito para la misma fórmula considera A=, P=“ser par” y Q=“ser impar”. Así ¬ψ, por lo que ψ no es válida.

Una rama puede no terminar

En la nota pasada vimos que la lógica de predicados es indecidible, es decir, no existe algoritmo que determine si una fórmula φ es válida. Esto implica que, dado un conjunto de fórmulas Γ y una fórmula ψ, no existe algoritmo para saber si Γψ o no, puesto que conocer si Γψ es equivalente a determinar si Γψ es una fórmula válida.

El método de tableaux semánticos no es un procedimiento de decisión para determinar si se satisfacen las fórmulas de la lógica de predicados, ya que no hay manera de conocer si una rama que no se cierra define un modelo infinito o se cerrará en algún momento. Esto se ejemplifica al construir un tableaux semántico para averiguar si la fórmula φ=xyP(x,y) se satisface. Aparentemente, no se aplican reglas, ya que la fórmula está cuantificada universalmente y solo la instanciamos con términos cerrados que aparecen antes en las fórmulas que etiquetan un nodo.

Sin embargo, recordemos que un modelo define un universo no vacío; por lo tanto, podemos elegir arbitrariamente la constante a1 para representar ese elemento. La construcción del tableaux comienza instanciando φ y luego instanciando la fórmula existencial con una nueva constante a2.

la constante a2 se usa ahora para instanciar de nueva cuenta la fórmula universal φ; esto resulta en una fórmula existencial que es instanciada con una nueva constante a3:

La construcción del tableaux semántico no terminará, dada la rama infinita que se generó. Para φ se pueden encontrar modelos con universos infinitos; por ejemplo, tome donde A=def, y P=def<. De igual modo, a φ la satisfacen modelos finitos, incluso en donde el universo consiste de un solo elemento.

La construcción del tableaux debe ser sistemática

El tableaux que aparece abajo corresponde a la conjunción de xyP(x,y), que ya sabemos que es satisfacible, y de x(Q(x)¬Q(x)), que no se satisface. Sin embargo, la rama puede continuar indefinidamente, porque estamos eligiendo aplicar reglas sólo a las subfórmulas de xyP(x,y), como hicimos en el ejemplo anterior. Esta rama nunca se cerrará aunque la fórmula sea insatisfacible. Se necesita una construcción sistemática para asegurarse de que las reglas se apliquen a todas las fórmulas que etiquetan un nodo.

1.2 El algoritmo para construir tableaux semánticos

Definición 1.2.

Una literal cerrada es una fórmula atómica cerrada P(a1,,an), una fórmula atómica cuyos argumentos son términos cerrados, o la negación de una fórmula atómica cerrada ¬P(a1,,an). Si es P(a1,,an), entonces c=¬P(a1,,an), mientras que si es ¬P(a1,,an), entonces c=P(a1,,an). Decimos que y c son un par de literales cerradas complementarias.

1.3 Clasificación de las fórmulas γ y δ

A la clasificación de las fórmulas en α y β expuesta en la Nota 04, añadimos las siguientes clasificaciones, donde c es una constante.

γγ1xφφ[x:=t]t es términocerrado arbitrario¬xφ¬φ[x:=t]t es términocerrado arbitrarioδδ1xφφ[x:=c]c es una cte. nueva¬xφ¬φ[x:=c]c es una cte. nueva

1.4 Construcción de tableaux semánticos

Definición 1.3.

Sea Γ={φ1,,φn} un conjunto de fórmulas de la lógica de predicados. Un tableaux para Γ, denotado 𝒯(Γ), es una extensión obtenida recursivamente como sigue:

  1. 1.

    El árbol formado por la rama cuyos nodos son φ1,,φn es una tableaux para Γ.

  2. 2.

    Si 𝒯 es un tableaux para Γ, la extensión que se obtiene después de aplicarle alguna de las reglas α, β, δ o γ es un tableaux para Γ.

  3. 3.

    Es todo.

Definición 1.4.

Una rama de un tableaux está cerrada si en ella figura un par de literales cerradas complementarias. De otro modo, la rama está abierta. Un tableaux está cerrado, si todas sus ramas están cerradas. Si hay una rama abierta, consideramos al tableaux como abierto.

Notemos que una fórmula φ es válida si y solo si no hay modelo ni ambiente que satisfagan a ¬φ, de manera que el método de tableaux semánticos en la lógica de predicados se usa para demostrar la validez de una fórmula φ al exhibir un tableaux para ¬φ que se cierra.

Es importante que al aplicar la construcción descrita en la Definición 1.3 se tome en cuenta lo siguiente:

  1. 1.

    Si φ es una fórmula a la que se le aplicó una extensión α, β o δ en todas las ramas no marcadas, entonces φ se considera inactiva y no puede tomarse nuevamente para una extensión.

  2. 2.

    La regla γ puede utilizarse para realizar una extensión cualquier número de veces, utilizando distintos términos cerrados en cada ocasión. La regla γ permanece siempre activa.

  3. 3.

    No se debe usar la misma constante dos veces para instanciar fórmulas existenciales.

  4. 4.

    Cualquier extensión de una fórmula φ debe realizarse sobre todas las ramas no marcadas del tableaux en la que φ está activa, y únicamente sobre éstas.

  5. 5.

    Se prefiere la aplicación de la regla α sobre la regla β. Adicionalmente, se busca aplicar la regla δ antes que la regla γ.

  6. 6.

    El uso de la regla γ se debe posponer hasta que sea estrictamente necesario.

  7. 7.

    La regla γ debe utilizar en su extensión términos cerrados ya presentes, a menos de que no existan.

1.5 El método de tableaux semánticos es correcto y completo

El método de tableaux es correcto como lo anuncia el siguiente teorema.

Teorema 1.5.

Si hay un tableaux cerrado para Γ, entonces Γ no tiene un modelo.

Este método también es completo con respecto a la refutación.

Teorema 1.6.

Si Γ no tiene un modelo, entonces existe un tableaux 𝒯(Γ) cerrado.

De lo anterior se desprende el siguiente corolario con el que relacionamos a los tableaux semánticos con la consecuencia lógica.

Corolario 1.7.

Γφ syss podemos obtener un tableaux 𝒯(Γ{¬φ}) que sea cerrado.

1.6 Ejemplo

Determine si el argumento lógico correcto {xy(P(x)(Q(x)R(y))),P(c)}¬(z¬Q(z)) es correcto.

Como el tableaux se cerró, el principio de refutación indica que el argumento lógico es correcto.

2 Ejercicios

  1. 1.

    Determine si las siguientes fórmulas son válidas a través de un tableaux semántico.

    • x(P(x)Q(x))xP(x)xQ(x),

    • x(P(x)Q(x))(xP(x)xQ(x)).

  2. 2.

    Determine si los siguientes conjuntos de fórmulas son satisfacibles a través de un tableaux semántico.

    • {x¬P(x),x(P(x)¬P(f(x)))},

    • {P(a),x(P(x)¬P(f(x)))},

    • {x¬P(x,a),P(a,b),xy(¬P(x,y)P(y,x))}.

  3. 3.

    Decida mediante un tableaux semántico si los siguientes argumentos son correctos.

    • {x(P(x)Q(x)R(x)),¬x(P(x)R(x))}x(P(x)Q(x)),

    • {x(P(x)Q(x)),x¬Q(x),x(R(x)¬P(x))}x¬R(x),

    • {xyz(P(x,y)P(y,z)P(x,z)),xy(P(x,y)P(y,x))}xyz(P(x,y)P(z,y)P(x,z)),

    • {xA(a,x,x),xyz(A(x,y,z)A(x,s(y),s(z))),xyz(A(x,y,z)A(y,x,z))}xA(s(s(a)),s(a),x).