Anda di halaman 1dari 32

ndice general

3. Formas Normales. Teorema de Herbrand 3.1. Formas normales . . . . . . . . . . . . . . . . . . . . . . . . . 3.1.1. Forma normal prenexa. . . . . . . . . . . . . . . . . . . 3.1.2. Mtodo para calcular la forma prenexa de una frmula . 3.1.3. Forma de Skolem . . . . . . . . . . . . . . . . . . . . . 3.1.4. Mtodo para calcular la forma de Skolem de una frmula en forma prenexa . . . . . . . . . . . . . . . . . . . . . 3.1.5. Forma clausular . . . . . . . . . . . . . . . . . . . . . . 3.1.6. Mtodo para calcular la forma de clausular de una frmula en forma de Skolem . . . . . . . . . . . . . . . . 3.2. El Teorema de Herbrand . . . . . . . . . . . . . . . . . . . . . 3.2.1. El Universo de Herbrand . . . . . . . . . . . . . . . . . 3.2.2. La Base de Herbrand . . . . . . . . . . . . . . . . . . . 3.2.3. El Sistema de Herbrand . . . . . . . . . . . . . . . . . 3.2.4. H-estructuras . . . . . . . . . . . . . . . . . . . . . . . 3.2.5. El Teorema de Herbrand . . . . . . . . . . . . . . . . . 3 3 3 4 10 10 16 17 20 20 22 22 23 25

(NDICE GENERAL)

Curso 2008-2009

Captulo 3 Formas Normales. Teorema de Herbrand


3.1. Formas normales
En esta seccin vamos a tratar de obtener, a partir de una sentencia (una frmula en la que no aparecen variables libres), una frmula ms sencilla para el tratamiento posterior. La forma que necesitamos es la forma clausular y son pasos previos las formas prenexa y de Skolem.

3.1.1. Forma normal prenexa.


Para este apartado, no necesitamos que la frmula sea una sentencia. Una frmula se dice que est en forma prenexa si se escribe: C1 x1 C2 x2 . . . Cn xn donde Ci es un cuanticador (universal o existencial) y es una frmula sin cuanticadores. Ejemplo 3.1.1. 1. x(H (x) Q(x, a)) 2. xy (P (x, y ) Q(b)) 3. xy (P (x, y ) Q(b)) 4. H (a) 3

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

5. xH (x) 6. xy zR(x, y, z )

3.1.2. Mtodo para calcular la forma prenexa de una frmula


Para esto, utilizaremos las equivalencias explicadas en Algunas equivalencias lgicas, y que recordaremos a continuacin, as como las equivalencias dadas en el tema primero cuando estudiamos la lgica proposicional. 1. x x. 2. x x. 3. x x( ) si x no es libre en . 4. x x( ) si x no es libre en . 5. x x( ) si x no es libre en . 6. x x( ) si x no es libre en . 7. x x x( ). 8. x x x( ). 9. x yx|y si y no aparece en la frmula . 10. x yx|y si y no aparece en la frmula . 11. x si x no es libre en . 12. x si x no es libre en . 13. xy y x. 14. xy y x. Ejemplo 3.1.2. 1 xS (x) z yR(z, y ) Sustituimos la implicacin a) xS (x) z yR(z, y ) Intercambiamos cuanticador y negacin (equivalencia primera) 4
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

b) xS (x) z yR(z, y ) Llegados aqu tenemos tres opciones para continuar. Analicemos las tres: Opcin 1 Puesto que la variable x no es libre en la frmula z yR(z, y ), podemos incluirla dentro del radio de accin de x (equivalencia sexta). c-1) x(S (x) z yR(z, y )). Como no hay ninguna ocurrencia libre de z en S (x), introducimos S (x) en el radio de accin de z (equivalencia sexta). d-1) xz (S (x) yR(z, y )). Y como la variable y no aparece en S (x), podemos introducirla, en virtud de la equivalencia cuarta, en el radio de accin de y . e-1) xz y (S (x) R(z, y )). Y llegamos as a una frmula, equivalente a la de partida, que se encuentra en forma prenexa. Opcin 2 Introducimos xS (x) en el radio de accin de z , lo que podemos hacer pues la variable z no aparece de forma libre en xS (x) c-2) z (xS (x) yR(z, y )). Repetimos lo mismo con y . d-2) z y (xS (x) R(z, y )). Y por ltimo introducimos R(z, y ) en el radio de accin de x. e-2) z y x(S (x) R(z, y )). Opcin 3 Puesto que tenemos la disyuncin de dos frmulas, ambas iniciadas con el cuanticador , renombramos las variables para poder hacer uso de la equivalencia octava. En este caso, cambiamos la variable z por x (equivalencia dcima), ya que x no aparece en la frmula R(z, y ). c-3) xS (x) xyR(x, y ). "Sacamos factor comn"x (equivalencia octava) d-3) x(S (x) yR(x, y )) Por ltimo, como y no es libre en la frmula S (x), podemos desplazar el cuanticador correspondiente (equivalencia cuarta).
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

e-3) xy (S (x) R(x, y )). Las tres frmulas son equivalentes, y estn en forma prenexa. Sin embargo, la ltima es ms sencilla al aparecer en ella menos cuanticadores y menos variables. Y de las dos primeras, aunque aparentemente tienen la misma forma, es mejor la primera, pues los cuanticadores existenciales se encuentran ms a la izquierda que en la segunda. En el siguiente apartado, veremos el porqu de esta ltima armacin. 2 x(R(x, y ) yR(x, y )) Ntese que esta frmula no es una sentencia pues la primera aparicin de la variable y es libre. Veremos, no obstante, como obtener una forma normal prenexa. Al obtener la forma prenexa, las variables que tenga una ocurrencia libre, seguirn siendo libres en la forma prenexa. Intercambiamos la negacin y el cuanticador (equivalencia primera) a) x(R(x, y ) y R(x, y )) La variable y es libre en la frmula R(x, y ) as que no puede incluirse en el radio de accin de un cuanticador con la misma variable. Renombramos entonces la variable y como z (equivalencia dcima) b) x(R(x, y ) z R(x, z )) Desplazamos el cuanticador z (equivalencia quinta) c) xz (R(x, y ) R(x, z )) Y obtenemos y una forma normal prenexa. La ocurrencia libre de y se ha mantenido, mientras que la ocurrencia ligada se ha sustituido por otra variable (z ) que sigue estando cuanticada. 3 xR(x, y ) [xS (x) zR(a, z )] Intercambiamos negacin y cuanticador (equivalencia segunda). a) xR(x, y ) [xS (x) z R(a, z )] Tenemos ahora la conjuncin de dos frmulas que se inician con . Si renombramos las variables de forma que tengamos la misma en ambas, podremos reducir un cuanticador. Por tanto, y puesto que en R(a, z ) no aparece la variable x, cambiamos la z por x (equivalencia novena) b) xR(x, y ) [xS (x) xR(a, x)] Y ahora, por la equivalencia sptima obtenemos 6
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

c) xR(x, y ) x(S (x) R(a, x)) Tambin aqu podemos tomar dos caminos: Opcin 1 Como x no es libre en x(S (x) R(a, x)), podemos incluirlo en el radio de accin de x d-1) x(R(x, y ) x(S (x) R(a, x))) Pero ahora no podemos incluir R(x, y ) en el radio de accin de x, pues la ocurrencia de x en R(x, y ) es libre (aunque no lo sea en la frmula total). Renombramos entonces la variable x de x por z (tambin podramos cambiar x por z , y el resultado sera el mismo). En tal caso, en el radio de accin de x, es decir, en R(x, y ) x(S (x) R(a, x)) debemos sustituir todas las ocurrencias libres de x por z . Nos queda entonces (equivalencia dcima) e-1) z (R(z, y ) x(S (x) R(a, x))) Ntese que las apariciones de x en S (x) y R(a, x) son ligadas, por tanto no se realiza ninguna sustitucin. Ahora ya s podemos incluir R(z, y ) dentro del radio de accin de x (equivalencia cuarta) f-1) z x(R(z, y ) (S (x) R(a, x))). Que est en forma prenexa. Opcin 2 Como x no es libre en xR(x, y ), por la equivalencia cuarta tenemos d-2) x(xR(x, y ) (S (x) R(a, x))). Al ser la variable x libre en S (x) R(a, x), cambiamos x por z (equivalencia dcima) e-2) x(zR(z, y ) (S (x) R(a, x))). Y ahora s podemos introducir S (x) R(a, x) en el radio de accin de z (equivalencia sexta). f-2) xz (R(z, y ) (S (x) R(a, x))). Si comparamos las dos frmulas que nos han salido, vemos que la nica diferencia est en el orden de los cuanticadores. En general, no es posible intercambiar los cuanticadores y , aunque como vemos en este caso, en ocasiones s pueden ser intercambiados. En general, esto podr hacerse cuando las variables cuanticadas con y no aparezcan en un mismo predicado.
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

De las dos formas prenexas que nos han salido, aunque son equivalentes, es preferible quedarnos con la primera, pues al hacer la forma de Skolem nos va a resultar una frmula ms sencilla. 4 xz (zP (x, z ) xP (x, z )) x(yP (x, y ) xQ(x)) Comenzamos sustituyendo la implicacin. a) xz (zP (x, z ) xP (x, z )) x(yP (x, y ) xQ(x)) Intercambiamos cuanticador y negacin (equivalencia primera). Hacemos esto dos veces. b) xz (zP (x, z ) xP (x, z )) x(yP (x, y ) xQ(x)) Con las leyes de De Morgan c) xz (zP (x, z ) xP (x, z )) x(yP (x, y ) xQ(x)) Otra vez intercambiamos cuanticador y negacin d) xz (z P (x, z ) xP (x, z )) x(yP (x, y ) xQ(x)) Vamos a seguir dos caminos a partir de aqu (que realmente podran ser 4, pues inicialmente vamos a trabajar independientemente las dos partes de la frmula). Opcin 1 Puesto que la variable z aparece libre en xP (x, z ), sustituimos z por otra variable que no puede ser x. Tomamos, por ejemplo, y . En la segunda parte de la frmula, introducimos xQ(x) en el radio de accin de y . e-1) xz (y P (x, y ) xP (x, z )) x(y (P (x, y ) xQ(x))) Introducimos xP (x, z ) en el radio de accin de y (equivalencia sexta) y renombramos la variable x en xQ(x) (equivalencia novena). f-1) xz (y (P (x, y ) xP (x, z ))) xy (P (x, y ) zQ(z )) Renombramos la variable x de xP (x, z ) (no podemos usar ni y ni z ) e introducimos P (x, y ) en el radio de accin de z . g-1) xz y (P (x, y ) tP (t, z )) xy z (P (x, y ) Q(z )) Extendemos t hasta P (x, y ) (equivalencia sexta) h-1) xz y t(P (x, y ) P (t, z )) xy z (P (x, y ) Q(z )) Renombramos las variables de la segunda parte de la frmula (equivalencias novena y dcima) 8
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

i-1) xz y t(P (x, y ) P (t, z )) uv w(P (u, v ) Q(w)) Y ahora, en siete pasos, introducimos todo en el radio de accin de los cuanticadores. j-1) xz y tuv w(P (x, y ) P (t, z )) (P (u, v ) Q(w)) Aunque al estar unidas ambas frmulas por un conector podramos haber procedido, desde h-1), como sigue: i-1) xz y t(P (x, y ) P (t, z )) utw(P (u, t) Q(w)) j-1) xz y (t(P (x, y ) P (t, z )) utw(P (u, t) Q(w))) k-1) xz y u(t(P (x, y ) P (t, z )) tw(P (u, x) Q(w))) l-1) xz y ut((P (x, y ) P (t, z )) w(P (u, x) Q(w))) m-1) xz y utw((P (x, y ) P (t, z )) (P (u, x) Q(w))) Opcin 2 En la primera parte de la frmula hacemos uso de la equivalencia sexta, pero en sentido inverso al que lo hemos hecho habitualmente (la variable z no es libre en z P (x, z )), mientras que en la segunda parte usamos la sptima (tambin en sentido inverso al usado en otras ocasiones). e-2) x(z P (x, z ) z xP (x, z )) (xyP (x, y ) xxQ(x)) Ahora, en la primera parte repetimos lo que acabamos de hacer, mientras que en la segunda parte hacemos uso de la undcima equivalencia f-2) (xz P (x, z ) z xP (x, z )) (xyP (x, y ) xQ(x)) Las equivalencias dcimo cuarta y sptima nos transforman esta frmula en: g-2) (xz P (x, z ) xz P (x, z )) x(yP (x, y ) Q(x)) Y ahora, como , y por la equivalencia quinta tenemos: h-2) xz P (x, z ) xy (P (x, y ) Q(x)) Renombramos las variables en la segunda parte: i-2) xz P (x, z ) y z (P (y, z ) Q(y )) j-2) xy (z P (x, z ) z (P (y, z ) Q(y ))) k-2) xy z (P (x, z ) (P (y, z ) Q(y ))). Tras estos ejemplos, no es difcil ver que se tiene el siguiente teorema. Teorema Para toda frmula existe otra que es lgicamente equivalente con ella y est en forma normal prenexa.
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

3.1.3. Forma de Skolem


Una frmula est en forma normal de Skolem si est en forma prenexa y en ella no aparecen cuanticadores existenciales. Por tanto una frmula en forma de Skolem tiene la apariencia x 1 x 2 . . . x n donde es una frmula sin cuanticadores. Ejemplo 3.1.3. Las siguientes frmulas estn en forma de Skolem. 1. x(H (x) Q(x, a)) 2. y (P (a, y ) Q(b)) 3. x(P (x, f (x)) Q(b)) 4. xy (Q(x, y ) H (x)) 5. H (b) 6. xR(x, f (x), g (x))

3.1.4. Mtodo para calcular la forma de Skolem de una frmula en forma prenexa
En general, no para toda frmula existe otra que sea equivalente a ella y que est en forma de Skolem. Entonces, si queremos calcular una forma de Skolem vamos a tener que perder la equivalencia. Recordemos que nuestro problema a resolver era estudiar si un conjunto de frmulas es o no satisfacible. Vamos entonces a transformar cada frmula de un conjunto dado en otra que est en forma de Skolem, de forma que, aunque no sea equivalente podamos asegurar que el conjunto inicial es satisfacible si, y slo si, lo es el conjunto con las frmulas transformadas. Para esto, slo hay que aprender cmo eliminar los cuanticadores existenciales. Para ello cada variable cuanticada existencialmente se va a sustituir por un trmino al mismo tiempo que se elimina el cuanticador correspondiente. El trmino por el que se sustituye ser: 10
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

Caso 1 Un smbolo de constante si el cuanticador existencial que la acompaa no va precedido por ningn cuanticador universal. El nombre del smbolo debe ser elegido entre los que no aparezcan en la frmula (o en el conjunto de frmulas que se maneje). Caso 2 Un smbolo de funcin cuya ariedad sea igual al nmero de variables cuanticadas universalmente y que precedan a la variable a sustituir. La funcin debe aplicarse a todas estas variables, y el smbolo elegido no puede aparecer en la frmula ni en el conjunto de frmulas que se maneje. Ejemplo 3.1.4. 1. xy (S (x) R(x, y )). Como el cuanticador existencial no va precedido por ninguno universal estamos en el Caso 1 y la variable correspondiente, x, se sustituye por una constante que no aparezca en la frmula, por ejemplo a; entonces la forma de Skolem queda y (S (a) R(a, y )) 2. xz (R(x, y ) R(x, z )). Como el cuanticador existencial va precedido por uno universal estamos en el Caso 2, elegimos un smbolo de funcin que no aparezca, por ejemplo f y sustituimos la variable z por el trmino f (x), por ser x la variable que acompaa al cuanticador universal que precede al existencial que vamos a eliminar. La forma de Skolem queda: x(R(x, y ) R(x, f (x))) 3. xy zR(x, y, z ). Primero eliminamos el cuanticador que lleva la variable y , como lo precede uno universal con la variable x, sustituimos y por una funcin de x, por ejemplo f (x) puesto que el smbolo f no aparece. Queda entonces xzR(x, f (x), z ) y ahora procedemos a eliminar el cuanticador que acompaa a z , como el smbolo de funcin f ya aparece tomamos por ejemplo g , sustituimos entonces z por g (x) y obtenemos xR(x, f (x), g (x))
Curso 2008-2009

11

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

4. xy z u(R(x, y, u) S (y, f (z ))) Para eliminar el cuanticador que acompaa a y elegimos un smbolo de funcin que no aparezca, por ejemplo g y sustituimos y por g (x), queda xz u(R(x, g (x), u) S (g (x), f (z ))) ahora u tiene que ser sustituda por otro trmino con un smbolo de funcin diferente, digamos h, en el que intervienen las dos variables cuanticadas universalmente que preceden a u, x y z , as nos queda: xz (R(x, g (x), h(x, z )) S (g (x), f (z ))) 5. xy u(R(x, y, u) S (y, f (u))) En este caso u se sustituye por una funcin que depende de x y y , digamos g (x, y ) y por supuesto en todas las apariciones: xy (R(x, y, g (x, y )) S (y, f (g (x, y )))) Observaciones: 1. La forma de Skolem de una frmula no es nica, aunque por abuso del lenguaje utilizamos el artculo determinado para nombrarla. 2. La forma de Skolem puede calcularse para cualquier frmula, no es necesario que se trate de una sentencia ni que se encuentre en forma prenexa. 3. Una frmula y su forma de Skolem no son necesariamente lgicamente equivalentes, sin embargo tenemos el siguiente resultado: Teorema Dado un conjunto de frmulas , si cada una de ellas es sustituida por una forma normal de Skolem, el conjunto de frmulas resultante tiene la propiedad es insatisfacible si, y slo s, es insatisfacible Lo que sigue, hasta que se inicia el aparatado de Forma Clausular es una justicacin (no una demostracin) del teorema que acabamos de dar. Es conveniente leerlo, aunque no necesario. Para esto, vamos a analizar algunos ejemplos. Ejemplo 3.1.5. Comenzamos con una frmula sencilla. Por ejemplo, xyP (x, y ) Dicha frmula es satisfacible. Para comprobarlo, vamos a dar una estructura en la que se interprete como cierta. 12
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

- El universo es Z - P (x, y ) = 1 0 si x y = 0 si x y = 0

Claramente, la frmula es vlida en la estructura dada, pues existe un nmero entero (el cero) que al multiplicarlo por cualquier entero sale 0. Consideramos ahora la forma de Skolen de la frmula dada, que sera yP (a, y ) Para comprobar que es satisfacible esta frmula, basta considerar la estructura que hemos tomado en la frmula anterior, pero ahora debemos tambin asignar un valor a la constante a. Le asignamos el valor 0 (que es el que hace vlida la frmula primera). Es decir, consideramos la estructura - El universo es Z -a=0 - P (x, y ) = 1 0 si x y = 0 si x y = 0

Y la frmula xP (a, x) es vlida en esa estructura. El hecho de encontrar una estructura que hace satisfacible a la frmula xyP (x, y ) nos da una estructura en la que es satisfacible su forma de Skolem. Es claro que las frmulas xyP (x, y ) y yP (a, y ) no son equivalentes. Basta, por ejemplo, considerar la estructura - El universo es Z -a=1 - P (x, y ) = 1 0 si x y = 0 si x y = 0

Hemos tomado = y xP (x, y ), y a partir de que es satisfacible (pues hemos encontrado una estructura que la hace cierta) hemos visto que su forma de Skolem es tambin satisfacible (encontrando una estructura, relacionada con la primera, que la hace cierta). Vamos a ver que si partimos de una estructura que hace cierta a xP (a, x) (la forma de Skolem de podemos obtener una estructura que hace cierta a . Consideramos por ejemplo la estructura dada por
Curso 2008-2009

13

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

- El universo es N -a=0 - P (x, y ) = 1 0 si x y si x > y

Obviamente, para esta estructura se tiene que I (xP (a, x)) = 1. Consideramos ahora la estructura con el mismo universo y la misma asignacin del predicado P (no necesitamos asignar constantes), es decir, - El universo es N - P (x, y ) = 1 0 si x y si x > y

Entonces se tiene que I () = 1, pues existe un valor de la variable y (concretamente y = 0) para el que es cierta xP (x, y ). Por tanto, de la satisfacibilidad de xP (a, x) hemos deducido la satisfacibilidad de y xP (x, y ). Vamos a ver ahora un caso en el que el cuanticador existencial no se encuentra en primer lugar. Por ejemplo, consideramos la frmula xyP (x, y ) La frmula es satisfacible, pues es vlida en la siguiente estructura - El universo es Z - P (x, y ) = 1 0 si x + y = 3 si x + y = 3

En este caso, la existencia de un valor de la variable y que haga cierta la frmula est ligado al valor de x. Por tanto, este valor de y ser funcin (depender) del valor que tome la variable x. Habr que sustituirlo entonces por una funcin que dependa de x. En nuestro ejemplo, se tiene que y = 3 x. Por tanto, la siguiente estructura - El universo es Z - f (x) = 3 x - P (x, y ) = 1 0 si x + y = 3 si x + y = 3 14
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

es un modelo para la frmula xP (x, f (x)), que es la forma de Skolen de xyP (x, y ). Al igual que antes, es fcil ver que de un modelo de xP (x, f (x)) podemos obtener un modelo para xyP (x, y ). Vamos por ltimo a ver un ejemplo en el que intervienen varias frmulas: Sea = {x(Q(x) yR(y, x)); xyR(x, y ); xy R(x, y )} Puesto que la primera frmula no est en forma prenexa, la pasamos a dicha forma cannica, y nos queda entonces: = {xy (Q(x) R(y, x)); xyR(x, y ); xy R(x, y )} Este conjunto es satisfacible. Basta considerar la estructura: - Como universo, los nmeros enteros. - Q(x) = - R(x, y ) = 1 0 1 0 si x es par si x es impar si 2x = y si 2x = y

La primera frmula es vlida en esta estructura, pues dado un nmero par podemos encontrar otro nmero entero que al hacerle el doble nos de el de partida; la segunda tambin es vlida, pues para cualquier x basta tomar y = 2x para hacerla cierta; la tercera es obviamente vlida. Calculamos la forma de Skolen de cada una de las frmulas. Para la primera, como la variable y , que es la cuanticada existencialmente est precedida por una variable cuanticada universalmente, la sustituimos por una funcin monaria. Nos queda entonces x(Q(x) R(f (x), x)) Para la segunda procedemos de igual forma, pero no podemos utilizar ahora el mismo smbolo de funcin que en la primera frmula. Sustituimos entonces y por g (x). Queda entonces xR(x, g (x)) En la tercera frmula, sustituimos cada una de las variables por constantes (distintas). Nos queda entonces el conjunto = {x(Q(x) R(f (x), x)); xR(x, g (x)); R(a, b)} El hecho de que el conjunto fuera satifacible en la estructura dada, se traduce ahora en que es satisfacible en la siguiente estructura.
Curso 2008-2009

15

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

- Como universo, los nmeros enteros. - Q(x) = - R(x, y ) = - f (x) = E - g (x) = 2x - a = 2 ; b = 5. Ntese que si hubisemos empleado el mismo smbolo de funcin en la primera y en la segunda frmula, no habramos podido encontrar as una funcin f que hiciera vlida a las dos frmulas.
x 2

1 0 1 0

si x es par si x es impar si 2x = y si 2x = y

(donde E (x) denota la parte entera de x)

3.1.5. Forma clausular


En primer lugar debemos establecer la denicin de clusula para lo que describimos algunos conceptos previos: Literal es una frmula atmica o la negacin de una frmula atmica. Ejemplo 3.1.6. 1. P (a) 2. Q(x, y, b) 3. H (x, f (x, a), y ) Cierre universal de una frmula sin cuanticadores es la frmula que resulta al cuanticar universalmente todas las variables que aparezcan. Ejemplo 3.1.7. 1. P (a) es su propio cierre universal, 2. Q(x, y, b) tiene cierre universal xyQ(x, y, b), 3. el cierre universal de H (x, f (x, a), y ) es xy H (x, f (x, a), y ) 16
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

4. P (a) Q(x, y, b) H (x, f (x, a), y ) tiene cierre universal xy z (P (a) Q(x, y, b) H (x, f (x, a), z )) Clusula es el cierre universal de una disyuncin de literales. Ejemplo 3.1.8. 1. P (a), 2. xyQ(x, y, b), 3. xy H (x, f (x, a), y ) 4. xy z (P (a) Q(x, y, b) H (x, f (x, a), z )) Por ltimo, una frmula est en forma normal clausular si es conjuncin de clusulas. Observaciones: 1. No toda frmula tiene forma clausular, slo si es sentencia. 2. Toda sentencia que est en forma de Skolem es semnticamente equivalente a una forma clausular. 3. Se incluye como frmula en forma clausular aquella que es disyuncin de cero literales. Dicha frmula se denomina clusula vaca, la representaremos como , y por denicin es insatisfacible.

3.1.6. Mtodo para calcular la forma de clausular de una frmula en forma de Skolem
Puesto que la forma de Skolem es prenexa, obviamos los cuanticadores y trabajamos con la frmula sin ellos. Sobre sta usaremos las propiedades 1. , 2. ( ) 3. ( ) 4. 5. ( ) ( ) ( )
Curso 2008-2009

17

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

de una forma similar a como se hace en lgica proposicional hasta llegar a una conjuncin de frmulas del tipo C1 C2 Cn donde Ci es un literal. Una vez obtenida esta forma, utilizamos la propiedad x( ) x x para llegar a la forma clausular. Esto supone que en la prctica slo hay que trabajar con la frmula sin cuanticadores de la forma normal de Skolem. Ejemplo 3.1.9. 1. x(P (x, f (x)) Q(b)). Puesto que trabajamos slo con los literales podemos olvidarnos por el momento de los trminos que involucran y usar una notacin abreviada con los smbolos de predicados, es decir, en este caso: P Q entonces P Q P Q que ya es una disyuncin de literales. Por tanto, la forma clausular de la frmula de partida tiene una sola clusula que es x(P (x, f (x)) Q(b)) 2. xy (R(x) (Q(x, y ) P (y ) R(x))). Trabajamos con R (Q P R)) y obtenemos R (Q P R)) (R Q) (R P ) (R R) lo que nos dara tres clusulas (dos conjunciones separan tres clusulas), y en la ltima nos queda R(x) R(x) R(x) as, tendramos la frmula xy (R(x) Q(x, y )) (R(x) P (y )) R(x) xy (R(x) Q(x, y )) xy (R(x) P (y )) xR(x) donde en la ltima clusula se ha eliminado el cuanticador y puesto que en la frmula que le sigue la variable y no es libre (en este caso porque no aparece). Observacin: Si la frmula anterior hubiese sido xy (R(x) (Q(x, y ) P (y ) R(f (x)))) 18
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

el procedimiento sera similar, pero habra que tener en cuenta que en la ltima clusula las dos apariciones de R no son el mismo literal puesto que en uno aparece una variable y en el otro una funcin : R(x) R(f (x)) y por tanto no puede simplicarse a R(x). Teorema Cada conjunto de sentencias se puede sustituir por otro cuyas frmulas son clusulas y que tiene la propiedad: es insatisfacible si, y slo si, es insatisfacible Teorema Sea un conjunto de frmulas. Entonces existe un conjunto de clusulas con la propiedad de que es insatisfacible si, y slo si, es insatisfacible. La nica diferencia con el teorema anterior es que ahora no partimos de un conjunto de sentencias, sino de frmulas arbitrarias. Para reducirnos al caso anterior basta observar que si es una frmula en la que las variables libres son x1 , x2 , . . . , xn , entonces es insatisfacible si, y slo si, lo es x1 x2 xn . Si = {1 , 2 , . . . , m }, y no todas las frmulas que intervienen son sentencias, para estudiar si es insatisfacible o no basta ver que es insatisfacible si, y slo si, lo es la frmula 1 2 m .

Curso 2008-2009

19

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

3.2. El Teorema de Herbrand


3.2.1. El Universo de Herbrand
El objetivo de esta seccin es encontrar un procedimiento para decidir si un conjunto de clusulas es o no insatisfacible. Pensemos en la tarea de probar con todas las interpretaciones posibles. En realidad, al ser las clusulas sentencias, no necesitamos la asignacin de valores a las variables y por tanto slo tenemos que declarar la estructura. An as la tarea es imposible. Pero la idea que usa el Teorema de Herbrand es la de intentar limitar el nmero de posibles dominios. Tanto que, para un conjunto de clusulas dado, es posible reducirnos a un nico dominio, el llamado Universo de Herbrand. Teorema Un conjunto de clusulas es insatisfacible si, y slo si, es insatisfacible sobre todas las estructuras que tienen al Universo de Herbrand como dominio. Pasamos ahora a describir cmo determinar el Universo de Herbrand para un conjunto de clusulas. Denicin 1. Sea un conjunto de clusulas. Denimos el Universo de Herbrand como sigue: - Llamamos H0 al conjunto de todas las constantes que aparecen en las clusulas de (si no hubiera constantes, entonces H0 tendra un nico elemento, por ejemplo, H0 = {a}). - Denimos Hm+1 como la unin de Hm con el conjunto formado por todos los trminos de la forma f (t1 , t2 , , tn ), donde f es algn smbolo de funcin n-ario que aparece en las clusulas de y t1 , , tn Hm . El Universo de Herbrand es el resultante de considerar todos los trminos que aparecen por este procedimiento:

H=
m=0

Hm

Cuando en el conjunto de clusulas no aparece ningn smbolo de funcin, entonces el Universo de Herbrand se reduce al conjunto de las constantes H = H0 . Ejemplo 3.2.1. Supongamos que = {P (b), P (x) P (f (x))}. En ese caso: H0 = {b} que es la nica constante que aparece en el conjunto de clusulas. Continuamos la construccin con el paso siguiente: H1 = {b} {f (b)} 20
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

donde al conjunto anterior se unen los trminos que resultan de aplicarle la funcin f (la nica que aparece en el conjunto de clusulas) a todos los trminos del anterior. Con la misma rutina encontramos el siguiente conjunto: H2 = {b, f (b)} {f (b), f (f (b))} = {b, f (b), f (f (b))} y observamos que cada vez aparece slo un trmino nuevo, el que resulta de aplicar la funcin al ltimo del conjunto anterior. As podemos asegurar que H = {b, f (b), f (f (b)), f (f (f (b))), } Ejemplo 3.2.2. Sea ahora el conjunto de clusulas = {P (x) Q(x), R(z ), S (y ) T (y )} al no haber constantes, H0 = {a}, y puesto que no hay smbolos de funcin en , entonces H = {a}. Ejemplo 3.2.3. Si = {P (f (x), a, g (y ), b)}, entonces: H0 = {a, b} es el conjunto de todas las constantes que aparecen. Como hay dos smbolos de funcin en el siguiente paso consideramos cada uno de ellos sobre todas las constantes: H1 = {a, b, f (a), f (b), g (a), g (b)} De nuevo f y g deben aplicarse a todos los trminos ya obtenidos: H2 = {a, b, f (a), f (b), g (a), g (b)} {f (a), f (b), f (f (a)), f (f (b)), f (g (a)), f (g (b)), g (a), g (b), g (f (a)), g (f (b)), g (g (a)), g (g (b))} Desde luego en este ejemplo (sencillo, por otra parte) es difcil expresar el Universo de Herbrand, aunque es claro cmo son los elementos que aparecen: una de las constantes afectada de una secuencia de f s y g s cualquiera. Ejemplo 3.2.4. Si = {P (f (x, y ), a), Q(y )}, entonces: H0 = {a} que es nica constante que aparece. Como hay un smbolo de funcin 2-ario en el siguiente paso aparece un nuevo trmino: H1 = {a} {f (a, a)} pero a continuacin en cada hueco de f puede aparecer cualquiera de los trminos ya obtenidos: H2 = {a, f (a, a)} {f (a, a), f (a, f (a, a)), f (f (a, a), a), f (f (a, a), f (a, a))} De nuevo observamos la dicultad de representar al Universo de Herbrand a pesar de la escasez de elementos de los que partimos. Despus de estos ejemplos se pone de maniesto la ventaja de construir la forma normal prenexa y de Skolem siguiendo la idea de economizar en funciones y
Curso 2008-2009

21

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

en la ariedad de stas siempre que sea posible. Adems es inmediato observar que el Universo de Herbrand es un conjunto nito si, y slo si, no aparecen funciones en el conjunto de clusulas.

3.2.2. La Base de Herbrand


Denicin 2. Sea un conjunto de clusulas. Se llama Base de Herbrand de al conjunto de todas las fmulas atmicas de la forma P (t1 , t2 , , tn ), donde P es un smbolo de predicado n-ario que aparece en , y t1 , t2 , , tn son elementos del Universo de Herbrand. Denotaremos a la base de Herbrand como B . Ejemplo 3.2.5. 1. Si = {P (a), P (x) P (f (x))} entonces B = {P (a), P (f (a)), P (f (f (a))), P (f (f (f (a)))), } 2. Sea = {P (x) Q(x), R(z ), S (y ) T (y )}. Entonces: B = {P (a), Q(a), R(a), S (a), T (a)} 3. Si = {P (f (x), a, g (y ), b)}, entonces las siguientes frmulas atmicas son elementos de la base de Herbrand: P (a, a, a, a), P (f (b), g (f (a)), f (f (f (a))), g (b)), P (f (g (a)), g (f (b)), f (g (b)), g (f (a)))

3.2.3. El Sistema de Herbrand


Denicin 3. Sea un conjunto de clusulas, y C una clusula de . Una instancia bsica de C es una clusula que resulta de sustituir cada variable de C por un elemento del Universo de Herbrand. El conjunto de todas las instancias bsicas se denomina Sistema de Herbrand de , y lo denotaremos por S Ejemplo 3.2.6. Si = {P (a), P (x) P (f (x))}, son instancias bsicas: P (a), P (a)P (f (a)), P (f (a))P (f (f (a))), P (f (f (a)))P (f (f (f (a)))) 22
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

Puesto que en la clusula P (x) P (f (x)) slo aparece la variable x (en dos ocasiones), para obtener una instancia bsica suya, la variable x debe sustituirse por un solo trmino del Universo de Herbrand, el mismo en todas sus ocurrencias dentro de esa clusula. Por ejemplo P (f (a)) P (f (a)) no sera una instancia bsica de esa clusula puesto que la primera ocurrencia de x se ha sustituido por f (a) mientras que la segunda se ha sustituido por a. Ejemplo 3.2.7. Si = {P (x) Q(x), R(z ), S (y ) T (y )}, entonces S = {P (a) Q(a), R(a), S (a) T (a)} Ejemplo 3.2.8. Para = {P (f (x), a, g (y ), b)} se tiene que P (f (a), a, g (f (g (b))), b) es una instancia bsica (se ha sustituido x por a e y por f (g (b))).

3.2.4. H-estructuras
Una vez reducido el dominio al Universo de Herbrand tambin limitaremos el resto de la estructura, es decir, la declaracin de signicado para las constantes y las funciones. Y lo hacemos de la forma ms cmoda: por su propio nombre, puesto que los elementos del dominio se han elegido para que coincidan con los smbolos del lenguaje. Este tipo de estructuras son las que denominaremos H -estructuras. Denicin 4. Sea un conjunto de clusulas, H el Universo de Herbrand y E una estructura. Se dice que E es una H -estructura si: - El universo es H . - A cada (smbolo de) constante que aparece en las clusulas de se le asigna la misma constante (que es un elemento de H ). - Si f es un smbolo de funcin n-ario, y t1 , t2 , , tn H entonces f E (t1 , t2 , , tn ) = f (t1 , t2 , , tn ) (que es un elemento de H ). Es decir, en una H -estructura estn determinandos el dominio, la asignacin de constantes y la asignacin de funciones. Lo nico que queda por determinar son los predicados. Ahora esto es equivalente a asignar un valor de verdad (0 1) a cada uno de los elementos de la base de Herbrand. En este caso, estos elementos juegan el mismo papel que las proposiciones atmicas en la lgica proposicional.
Curso 2008-2009

23

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

Ejemplo 3.2.9. Sea = {P (a), P (x) P (f (x))}. Vamos a ver cmo dar una H -estructura. Nos situamos en un lenguaje de primer orden L, con un smbolo de constante (a), un smbolo de funcin monario (f ) y un smbolo de predicado monario (P ). El universo es H = {a, f (a), f (f (a)), f (f (f (a))), } La asignacin de constantes: Const(L) H a a Al smbolo de funcin f se le asigna la aplicacin f : H H siguiente: H a f (a) f (f (a)) f (f (f (a))) . . . H f (a) f (f (a)) f (f (f (a))) f (f (f (f (a)))) . . .

Todo esto est determinado por ser una H -estructura. Para la intepretacin del predicado P tenemos libertad. Al ser un predicado monario, tenemos que denir una aplicacin P : H Z2 . Una posible aplicacin sera: H a f (a) f (f (a)) f (f (f (a))) Z2 1 0 0 1 es decir, P (a) = 1 es decir, P (f (a)) = 0 es decir, P (f (f (a)) = 0 es decir, P (f (f (f (a)))) = 1

En denitiva, una H -estructura consiste en asignar un valor de verdad (0 1) a cada uno de los elementos de la base de Herbrand. Ejemplo 3.2.10. Para el caso de = {P (x) Q(x), R(z ), S (y ) T (y )}, y puesto que la base de Herbrand es B = {P (a), Q(a), R(a), S (a), T (a)} 24
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

una H -estructura podra ser la dada por P (a) = 1 Q(a) = 0 R(a) = 1 S (a) = 1 T (a) = 1

Ejemplo 3.2.11. Sea el conjunto de clusulas = {P (x, f (x))Q(y ), Q(x) P (f (x), f (x))}. El Universo de Herbrand para es H = {a, f (a), f (f (a)), f (f (f (a))), } y para determinar completamente una H -estructura no tenemos ms que elegir qu elementos de la base de Herbrand toman el valor de verdad 1. La base de Herbrand es BH = {P (f n (a), f m (a)); m, n N} {Q(f k (a)); k N} Si elegimos IH = {P (a, f (a)), P (f (a), f (f (a))), . . . , P (f k (a), f k+1 (a)), . . . } entonces la clusula P (x, f (x)) Q(y ) es verdadera. La segunda clusula tambin lo es puesto que el literal Q(x) es verdadero para cualquier sustitucin del trmino.

3.2.5. El Teorema de Herbrand


Estamos ya en condiciones de dar el teorema de Herbrand: Teorema de Herbrand Sea un conjunto de clusulas. Entonces son equivalentes:

1. es insatisfacible. 2. es insatisfacible para cualquier H -estructura. 3. Existe un subconjunto nito de S que es insatisfacible.
La primera equivalencia nos dice que para estudiar si un conjunto de clusulas es satisfacible o no, no es necesario mirar que ocurre en todas las posibles estructuras, sino que podemos reducirnos a aquellas que tengan como universo el Universo de Herbrand, y dentro de stas, a las H -estructuras. Bastara por tanto, asignar valores de verdad a los elementos de la base de Herbrand (al igual que hacamos en la lgica proposicional con las proposiciones atmicas).
Curso 2008-2009

25

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

En cuanto a la equivalencia 1) 3) nos dice que estudiar la satisfacibilidad o insatisfacibilidad de un conjunto de clusulas, basta estudiar la satisfacibilidad o insatisfacibilidad de conjuntos nitos de instancias bsicas. Una vez elegido un conjunto nito de instancias bsicas, su posible satisfacibilidad se puede estudiar por el algoritmo de Davis-Putnam. Veamos algunos ejemplos: Ejemplo 3.2.12. Consideramos el conjunto de clusulas = {P (x) P (y ), P (x) Q(x), Q(a), P (b)} y vamos a ver si es satisfacible o no. Al no haber smbolos de funcin, el Universo de Herbrand es H = {a, b} La base de Herbrand es B = {P (a), P (b), Q(a), Q(b)} Y por tanto hay 24 H -estructuras. El sistema de Herbrand es S = {P (a)P (a), P (a)P (b), P (b)P (a), P (b)P (b), P (a)Q(a), , P (b) Q(b), Q(a), P (b)} Podemos estudiar si es o no satisfacible dicho conjunto de clusulas de dos formas:

1. Estudiando todas las H -estructuras. Recordemos que cada H -estructura estaba determinada por el valor de verdad que le diramos a cada uno de los elementos de la Base de Herbrand. Podemos entonces proceder como sigue: 26
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

P (a) P (b) Q(a) Q(b) P (x) P (y ) P (x) Q(x) Q(a) P (b) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0

Para completar las columnas quinta y sexta, tenemos en cuenta que las clusulas P (x)P (y ) y P (x)Q(x) signican realmente xy (P (x) P (y )) y x(P (x) Q(x)). Puesto que el universo en este caso tiene nicamente dos elementos, en realidad, las clusulas lo que signican es lo siguiente: P (x) P (y ) (P (a) P (a)) (P (a) P (b)) (P (b) P (a)) (P (b) P (b)) (P (a) P (b)) (P (b) P (a)) P (x) Q(x) (P (a) Q(a)) (P (b) Q(b))

Puesto que no hay ninguna la que contenga los cuatro ltimos elementos iguales a 1, deducimos que el conjunto de clusulas es insatisfacible. 2. Estudiando si el sistema de Herbrand es satisfacible o no. En realidad, lo que hay que hacer es estudiar subconjuntos nitos de dicho conjunto, pero como en este caso dicho conjunto es nito, basta estudiarlo a l.
Curso 2008-2009

27

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

De este conjunto eliminamos las clusulas que son universalmente vlidas (P (a) P (a) y P (b) P (b)) y aplicamos el algoritmo de Davis-Putnam {P (a) P (b), P (b) P (a), P (a) Q(a), P (b) Q(b), Q(a), P (b)} = Q(a) {P (a) P (b), P (b) P (a), P (a), P (b) Q(b), P (b)} = P (a) {P (b), P (b) Q(b), P (b)} = P (b) { } Y puesto que hemos obtenido la clusula vaca, concluimos que el conjunto es insatisfacible. Ntese que podamos haber llegado a la misma coclusin partiendo del siguiente conjunto de instancias bsicas: {P (a) P (b), P (a) Q(a), P (b) Q(b), Q(a), P (b)} Ejemplo 3.2.13. Supongamos que partimos del conjunto de clusulas = {P (x) P (y ), P (x) Q(x), P (a), P (b)} En este caso: H = {a, b}

B = {P (a), P (b), Q(a), Q(b)} 1. Interpretamos las cuatro clusulas para cada una de las H -estructuras: 28
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

P (a) P (b) Q(a) Q(b) P (x) P (y ) P (x) Q(x) P (a) P (b) 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 0 1 1 0 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0

Y podemos ver como es satisfacible (observa la cuarta la).

2. Calculamos el sistema de Herbrand S = {P (a)P (a), P (a)P (b), P (b)P (a), P (b)P (b), P (a)Q(a),

P (b) Q(b), P (a), P (b)} y estudiamos si es satisfacible o no, por el algoritmo de Davis-Putnam.
Curso 2008-2009

29

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

{P (a) P (b), P (b) P (a), P (a) Q(a), P (b) Q(b), P (a), P (b)} = P (a) {P (b), Q(a), P (b) Q(b), P (b)} = P (b) {Q(a), Q(b)} = Q(a) {Q(b)} = Q(b) Y vemos aqu que el conjunto es satisfacible, y la H -estructura en donde se satisfacen todas las clusulas es aquella en la que P (a) = 0, P (b) = 0, Q(a) = 1 y Q(b) = 1. En estos casos, al ser el universo de Herbrand nito, podemos estudiar fcilmente si hay alguna H -estructura para la que se satisfacen todas las clusulas, o si el sistema de Herbrand es o no satisfacible. Sin embargo, cuando el Universo de Herbrand es innito, no podemos decidir tan fcilmente si el conjunto de clusulas es satisfacible o insatisfacible. Si no encontramos una H -estructura para que todas las clusulas sean ciertas, signica que no existe, o que no hemos sido capaces de encontrarla? Si empezamos a probar por varios conjuntos nitos de instancias bsicas y todos nos salen satisfacibles; cundo debemos parar? Existe alguna estrategia para encontrar el conjunto de instancias bsicas que es insatisfacible, caso de existir?. Para aclarar esto, veamos algn ejemplo. Ejemplo 3.2.14. Sea = {P (x) Q(f (x), x), P (g (b)), Q(y, z )} En este caso: H = {b, f (b), g (b), f (f (b)), f (g (b)), g (f (b)), g (g (b)), }

B = {P (b), Q(b, b), P (f (b)), P (g (b)), Q(b, f (b)), Q(b, g (b)), Q(f (b), b), Q(f (b), f (b)), } 30
Curso 2008-2009

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

S = {P (g (b)), P (b) Q(f (b), b), Q(b, b), Q(b, f (b)) P (f (b)) Q(f (f (b)), f (b)), Q(f (b), g (b)), } El conjunto es insatisfacible (ahora veremos el porqu). Si intentramos estudiar las H -estructuras, deberamos asignar valores de verdad (0 1) a los diferentes elementos de la base de Herbrand. Al ser este conjunto innito, tendramos innitas posibilidades, y en todos los casos nos dara que la estructura obtenida no es un universo para las clusulas de . Por tanto, de esta forma nunca podramos llegar a la conclusin de que es insatisfacible. Si tratamos de encontrar un conjunto de instancias bsicas que sea insatisfacible, podramos llegar a que el conjunto {P (g (b)) Q(f (g (b)), g (b)), P (g (b)), Q(f (g (b), g (b)))} o cualquier conjunto que contenga a estas tres instancias bsicas es insatisfacible. Pero, cmo llegamos a este conjunto?. Una forma de proceder podra ser como sigue: Sabemos que el universo de Herbrand se construye en una sucesin innita de etapas. En cada una, vamos aadiendo nuevos trminos a los ya obtenidos. En nuestro caso, el proceso de construccin sera: H0 = {b} H1 = {b, f (b), g (b)} H2 = {b, f (b), g (b), f (f (b)), f (g (b)), g (f (b)), g (g (b))} Y as sucesivamente. Podemos entonces ir considerando el conjunto de instancias bsicas que se obtienen con los trminos de H0 . Este conjunto es: {P (b) Q(f (b), b), P (g (b)), Q(b, b)} que se puede comprobar fcilmente que es satisfacible. Probamos entonces con el conjunto formado por las instancias bsicas que se obtienen de sustituir las variables de las clusulas de por trminos de H1 . Este conjunto es (S )1 = {P (b)Q(f (b), b), P (g (b)), Q(b, b), P (f (b))Q(f (f (b)), f (b)), , P (g (b))Q(f (g (b)), g (b)), Q(f (b), b), Q(f (b), f (b)), Q(f (b), g (b)), , Q(g (b), b), Q(g (b), f (b)), Q(g (b), g (b)), Q(b, f (b)), Q(b, g (b))} y puede comprobarse que es satisfacible.
Curso 2008-2009

31

(CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

Calculamos entonces el conjunto (S )2 formado por las instancias bsicas obtenidas a partir de los trminos de H2 . Este conjunto est formado por 57 instancias bsicas. Por el algoritmo de Davis-Putnam llegaramos a que este conjunto es insatisfacible. Por tanto, deducimos que el conjunto es insatisfacible. La estrategia empleada en el ejemplo precedente es un algoritmo que, caso de que un conjunto de clusulas sea insatisfacible, en un nmero nito de pasos nos da la respuesta. Sin embargo, vemos como los clculos necesarios para llegar a tal conclusin son laboriosos. An as, el proceso anterior es fcilmente implementable, y los clculos requeridos, en este ejemplo, seran hechos rpidamente por un ordenador. Veamos a continuacin un ejemplo, con dos clusulas, en el que sera totalmente impensable llegar a la solucin por este mtodo. Esto nos dice que hemos de probar nuevas estrategias, que estudiaremos en el captulo siguiente. Ejemplo 3.2.15. Sea = {P (x, g (x), y, h(x, y ), z, k (x, y, z )), P (x, y, e(y ), z, f (y, z ), t)} En este caso, H0 tiene cardinal 1 y (S )0 tiene cardinal 2. Este ltimo conjunto es satisfacible. H1 tiene cardinal 6 y (S )1 tiene cardinal 1512. Este conjunto tambin es satisfacible. H2 tiene cardinal 301 y (S )2 , 8235812102. Tambin (S )2 es satisfacible. H3 tiene 27452706 elementos y (S )3 , 567989951061626840872884885912. Este conjunto tambin es satisfacible. H4 tiene 20689762668619607462101 elementos, mientras que el cardinal de (S )4 es aproximadamente 1 8 1089 . Y este conjunto sigue siendo satisfacible. El nmero de elementos de H5 es aproximadamente 8 8 1066 , mientras que (S )5 tiene del orden de 10267 . Este conjunto ya es insatisfacible, pues contiene a las instancias bsicas: P (a, g (a), e(g (a)), h(a, e(g (a))), f (g (a), h(a, e(g (a)))), k (a, e(g (a)), f (g (a), h(a, e(g (a)))))) P (a, g (a), e(g (a)), h(a, e(g (a))), f (g (a), h(a, e(g (a)))), k (a, e(g (a)), f (g (a), h(a, e(g (a)))))) Como podemos ver, resulta totalmente imposible intentar probar la insatisfacibilidad de este conjunto de clusulas procediendo de esta manera.

32

Curso 2008-2009

Anda mungkin juga menyukai