Formas normales y teorema de Herbrand.pdf

download Formas normales y teorema de Herbrand.pdf

of 32

Transcript of Formas normales y teorema de Herbrand.pdf

  • ndice general

    3. Formas Normales. Teorema de Herbrand 33.1. Formas normales . . . . . . . . . . . . . . . . . . . . . . . . . 3

    3.1.1. Forma normal prenexa. . . . . . . . . . . . . . . . . . . 33.1.2. Mtodo para calcular la forma prenexa de una frmula . 43.1.3. Forma de Skolem . . . . . . . . . . . . . . . . . . . . . 103.1.4. Mtodo para calcular la forma de Skolem de una frmula

    en forma prenexa . . . . . . . . . . . . . . . . . . . . . 103.1.5. Forma clausular . . . . . . . . . . . . . . . . . . . . . . 163.1.6. Mtodo para calcular la forma de clausular de una fr-

    mula en forma de Skolem . . . . . . . . . . . . . . . . 173.2. El Teorema de Herbrand . . . . . . . . . . . . . . . . . . . . . 20

    3.2.1. El Universo de Herbrand . . . . . . . . . . . . . . . . . 203.2.2. La Base de Herbrand . . . . . . . . . . . . . . . . . . . 223.2.3. El Sistema de Herbrand . . . . . . . . . . . . . . . . . 223.2.4. H-estructuras . . . . . . . . . . . . . . . . . . . . . . . 233.2.5. El Teorema de Herbrand . . . . . . . . . . . . . . . . . 25

    1

  • (NDICE GENERAL)

    2 Curso 2008-2009

  • Captulo 3

    Formas Normales. Teorema deHerbrand

    3.1. Formas normalesEn esta seccin vamos a tratar de obtener, a partir de una sentencia (una fr-mula en la que no aparecen variables libres), una frmula ms sencilla para eltratamiento posterior. La forma que necesitamos es la forma clausular y sonpasos 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:

    C1x1C2x2 . . . Cnxn

    donde Ci es un cuantificador (universal o existencial) y es una frmula sincuantificadores.

    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. xyzR(x, y, z)

    3.1.2. Mtodo para calcular la forma prenexa de una frmulaPara esto, utilizaremos las equivalencias explicadas en Algunas equivalenciaslgicas, y que recordaremos a continuacin, as como las equivalencias dadas enel 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 yx.14. xy yx.

    Ejemplo 3.1.2.

    1 xS(x) zyR(z, y)Sustituimos la implicacin

    a) xS(x) zyR(z, y)Intercambiamos cuantificador y negacin (equivalencia primera)

    4 Curso 2008-2009

  • (CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

    b) xS(x) zyR(z, y)Llegados aqu tenemos tres opciones para continuar. Analicemos lastres:Opcin 1Puesto que la variable x no es libre en la frmula zyR(z, y),podemos incluirla dentro del radio de accin de x (equivalenciasexta).

    c-1) x(S(x) zyR(z, y)).Como no hay ninguna ocurrencia libre de z en S(x), introducimosS(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, envirtud de la equivalencia cuarta, en el radio de accin de y.

    e-1) xzy(S(x) R(z, y)).Y llegamos as a una frmula, equivalente a la de partida, que seencuentra en forma prenexa.Opcin 2Introducimos xS(x) en el radio de accin de z, lo que podemoshacer 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) zy(xS(x) R(z, y)).Y por ltimo introducimos R(z, y) en el radio de accin de x.

    e-2) zyx(S(x) R(z, y)).Opcin 3Puesto que tenemos la disyuncin de dos frmulas, ambas iniciadascon el cuantificador , renombramos las variables para poder haceruso de la equivalencia octava. En este caso, cambiamos la variablez por x (equivalencia dcima), ya que x no aparece en la frmulaR(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 de-splazar el cuantificador correspondiente (equivalencia cuarta).

    Curso 2008-2009 5

  • (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 embar-go, la ltima es ms sencilla al aparecer en ella menos cuantificadoresy menos variables. Y de las dos primeras, aunque aparentemente tienenla misma forma, es mejor la primera, pues los cuantificadores existen-ciales se encuentran ms a la izquierda que en la segunda. En el siguienteapartado, veremos el porqu de esta ltima afirmacin.

    2 x(R(x, y) yR(x, y))Ntese que esta frmula no es una sentencia pues la primera apari-cin de la variable y es libre. Veremos, no obstante, como obteneruna forma normal prenexa.Al obtener la forma prenexa, las variables que tenga una ocurrencialibre, seguirn siendo libres en la forma prenexa.Intercambiamos la negacin y el cuantificador (equivalencia primera)

    a) x(R(x, y) yR(x, y))La variable y es libre en la frmula R(x, y) as que no puede in-cluirse en el radio de accin de un cuantificador con la misma vari-able. Renombramos entonces la variable y como z (equivalenciadcima)

    b) x(R(x, y) zR(x, z))Desplazamos el cuantificador z (equivalencia quinta)

    c) xz(R(x, y) R(x, z))Y obtenemos y una forma normal prenexa. La ocurrencia libre de y se hamantenido, mientras que la ocurrencia ligada se ha sustituido por otravariable (z) que sigue estando cuantificada.

    3 xR(x, y) [xS(x) zR(a, z)]Intercambiamos negacin y cuantificador (equivalencia segunda).

    a) xR(x, y) [xS(x) zR(a, z)]Tenemos ahora la conjuncin de dos frmulas que se inician con. Si renombramos las variables de forma que tengamos la misma enambas, podremos reducir un cuantificador. Por tanto, y puesto que enR(a, z) no aparece la variable x, cambiamos la z por x (equivalencianovena)

    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 1Como x no es libre en x(S(x)R(a, x)), podemos incluirlo en elradio 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 dex, pues la ocurrencia de x en R(x, y) es libre (aunque no lo seaen la frmula total). Renombramos entonces la variable x de xpor z (tambin podramos cambiar x por z, y el resultado serael mismo). En tal caso, en el radio de accin de x, es decir, enR(x, y)x(S(x)R(a, x)) debemos sustituir todas las ocurren-cias 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, portanto no se realiza ninguna sustitucin.Ahora ya s podemos incluir R(z, y) dentro del radio de accin dex (equivalencia cuarta)

    f-1) zx(R(z, y) (S(x) R(a, x))).Que est en forma prenexa.Opcin 2Como 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 accinde 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 lanica diferencia est en el orden de los cuantificadores. En general,no es posible intercambiar los cuantificadores y , aunque comovemos en este caso, en ocasiones s pueden ser intercambiados. Engeneral, esto podr hacerse cuando las variables cuantificadas con y no aparezcan en un mismo predicado.

    Curso 2008-2009 7

  • (CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

    De las dos formas prenexas que nos han salido, aunque son equiva-lentes, es preferible quedarnos con la primera, pues al hacer la formade 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 cuantificador y negacin (equivalencia primera). Hace-mos 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 cuantificador y negacin

    d) xz(zP (x, z) xP (x, z)) x(yP (x, y) xQ(x))Vamos a seguir dos caminos a partir de aqu (que realmente podranser 4, pues inicialmente vamos a trabajar independientemente lasdos partes de la frmula).Opcin 1Puesto que la variable z aparece libre en xP (x, z), sustituimos zpor otra variable que no puede ser x. Tomamos, por ejemplo, y.En la segunda parte de la frmula, introducimos xQ(x) en el radiode accin de y.

    e-1) xz(yP (x, y) xP (x, z)) x(y(P (x, y) xQ(x)))Introducimos xP (x, z) en el radio de accin de y (equivalenciasexta) y renombramos la variable x en xQ(x) (equivalencia nove-na).

    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 niz) e introducimos P (x, y) en el radio de accin de z.

    g-1) xzy(P (x, y) tP (t, z)) xyz(P (x, y) Q(z))Extendemos t hasta P (x, y) (equivalencia sexta)

    h-1) xzyt(P (x, y) P (t, z)) xyz(P (x, y) Q(z))Renombramos las variables de la segunda parte de la frmula (equiv-alencias novena y dcima)

    8 Curso 2008-2009

  • (CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

    i-1) xzyt(P (x, y) P (t, z)) uvw(P (u, v) Q(w))Y ahora, en siete pasos, introducimos todo en el radio de accin delos cuantificadores.

    j-1) xzytuvw(P (x, y) P (t, z)) (P (u, v) Q(w))Aunque al estar unidas ambas frmulas por un conector podramoshaber procedido, desde h-1), como sigue:

    i-1) xzyt(P (x, y) P (t, z)) utw(P (u, t) Q(w))j-1) xzy(t(P (x, y) P (t, z)) utw(P (u, t) Q(w)))k-1) xzyu(t(P (x, y) P (t, z)) tw(P (u, x) Q(w)))l-1) xzyut((P (x, y) P (t, z)) w(P (u, x) Q(w)))m-1) xzyutw((P (x, y) P (t, z)) (P (u, x) Q(w)))

    Opcin 2En la primera parte de la frmula hacemos uso de la equivalenciasexta, pero en sentido inverso al que lo hemos hecho habitualmente(la variable z no es libre en zP (x, z)), mientras que en la segun-da parte usamos la sptima (tambin en sentido inverso al usado enotras ocasiones).

    e-2) x(zP (x, z) zxP (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 equiv-alencia

    f-2) (xzP (x, z) zxP (x, z)) (xyP (x, y) xQ(x))Las equivalencias dcimo cuarta y sptima nos transforman esta fr-mula en:

    g-2) (xzP (x, z) xzP (x, z)) x(yP (x, y) Q(x))Y ahora, como , y por la equivalencia quinta tenemos:

    h-2) xzP (x, z) xy(P (x, y) Q(x))Renombramos las variables en la segunda parte:

    i-2) xzP (x, z) yz(P (y, z) Q(y))j-2) xy(zP (x, z) z(P (y, z) Q(y)))k-2) xyz(P (x, z) (P (y, z) Q(y))).

    Tras estos ejemplos, no es difcil ver que se tiene el siguiente teorema.

    TeoremaPara toda frmula existe otra que es lgicamente equivalente con ella y est enforma normal prenexa.

    Curso 2008-2009 9

  • (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 ellano aparecen cuantificadores existenciales. Por tanto una frmula en forma deSkolem tiene la apariencia

    x1x2 . . . xndonde es una frmula sin cuantificadores.

    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 fr-mula en forma prenexa

    En general, no para toda frmula existe otra que sea equivalente a ella y queest en forma de Skolem. Entonces, si queremos calcular una forma de Skolemvamos a tener que perder la equivalencia.Recordemos que nuestro problema a resolver era estudiar si un conjunto de fr-mulas es o no satisfacible.Vamos entonces a transformar cada frmula de un conjunto dado en otra queest en forma de Skolem, de forma que, aunque no sea equivalente podamosasegurar que el conjunto inicial es satisfacible si, y slo si, lo es el conjunto conlas frmulas transformadas.Para esto, slo hay que aprender cmo eliminar los cuantificadores existenciales.Para ello cada variable cuantificada existencialmente se va a sustituir por un tr-mino al mismo tiempo que se elimina el cuantificador correspondiente. El tr-mino 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 cuantificador existencial que la acompaano va precedido por ningn cuantificador universal. El nombre del smbolodebe ser elegido entre los que no aparezcan en la frmula (o en el conjuntode frmulas que se maneje).

    Caso 2 Un smbolo de funcin cuya ariedad sea igual al nmero de variablescuantificadas universalmente y que precedan a la variable a sustituir. Lafuncin debe aplicarse a todas estas variables, y el smbolo elegido nopuede 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 cuantificador existencial no va precedido por ninguno universalestamos en el Caso 1 y la variable correspondiente, x, se sustituye poruna constante que no aparezca en la frmula, por ejemplo a; entonces laforma de Skolem queda

    y(S(a) R(a, y))

    2. xz(R(x, y) R(x, z)).Como el cuantificador existencial va precedido por uno universal estamosen el Caso 2, elegimos un smbolo de funcin que no aparezca, por ejemplof y sustituimos la variable z por el trmino f(x), por ser x la variable queacompaa al cuantificador universal que precede al existencial que vamosa eliminar. La forma de Skolem queda:

    x(R(x, y) R(x, f(x)))

    3. xyzR(x, y, z).Primero eliminamos el cuantificador que lleva la variable y, como lo pre-cede uno universal con la variable x, sustituimos y por una funcin dex, por ejemplo f(x) puesto que el smbolo f no aparece. Queda entoncesxzR(x, f(x), z) y ahora procedemos a eliminar el cuantificador queacompaa a z, como el smbolo de funcin f ya aparece tomamos porejemplo 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. xyzu(R(x, y, u) S(y, f(z))) Para eliminar el cuantificador queacompaa a y elegimos un smbolo de funcin que no aparezca, por ejem-plo g y sustituimos y por g(x), queda

    xzu(R(x, g(x), u) S(g(x), f(z)))ahora u tiene que ser sustituda por otro trmino con un smbolo de fun-cin diferente, digamos h, en el que intervienen las dos variables cuantifi-cadas 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. xyu(R(x, y, u) S(y, f(u)))En este caso u se sustituye por una funcin que depende de x y y, digamosg(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 dellenguaje utilizamos el artculo determinado para nombrarla.

    2. La forma de Skolem puede calcularse para cualquier frmula, no es nece-sario que se trate de una sentencia ni que se encuentre en forma prenexa.

    3. Una frmula y su forma de Skolem no son necesariamente lgicamenteequivalentes, sin embargo tenemos el siguiente resultado:

    TeoremaDado un conjunto de frmulas , si cada una de ellas es sustituida por una for-ma 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 justifi-cacin (no una demostracin) del teorema que acabamos de dar. Es convenienteleerlo, 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 enla que se interprete como cierta.

    12 Curso 2008-2009

  • (CAPTULO 3. FORMAS NORMALES. TEOREMA DE HERBRAND)

    - El universo es Z

    - P (x, y) =

    {1 si x y = 00 si x y 6= 0

    Claramente, la frmula es vlida en la estructura dada, pues existe un nmeroentero (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 estructuraque hemos tomado en la frmula anterior, pero ahora debemos tambin asignarun valor a la constante a. Le asignamos el valor 0 (que es el que hace vlida lafrmula primera). Es decir, consideramos la estructura

    - El universo es Z

    - a = 0

    - P (x, y) =

    {1 si x y = 00 si x y 6= 0

    Y la frmula xP (a, x) es vlida en esa estructura. El hecho de encontrar unaestructura que hace satisfacible a la frmula xyP (x, y) nos da una estructuraen 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 si x y = 00 si x y 6= 0

    Hemos tomado = yxP (x, y), y a partir de que es satisfacible (pueshemos encontrado una estructura que la hace cierta) hemos visto que su for-ma de Skolem es tambin satisfacible (encontrando una estructura, relacionadacon la primera, que la hace cierta).Vamos a ver que si partimos de una estructura que hace cierta a xP (a, x) (laforma 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 si x y0 si x > y

    Obviamente, para esta estructura se tiene que I(xP (a, x)) = 1. Consideramosahora la estructura con el mismo universo y la misma asignacin del predicadoP (no necesitamos asignar constantes), es decir,

    - El universo es N

    - P (x, y) =

    {1 si x y0 si x > y

    Entonces se tiene que I() = 1, pues existe un valor de la variable y (concreta-mente y = 0) para el que es cierta xP (x, y).Por tanto, de la satisfacibilidad de xP (a, x) hemos deducido la satisfacibilidadde yxP (x, y).

    Vamos a ver ahora un caso en el que el cuantificador existencial no se encuentraen 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 si x+ y = 30 si x+ y 6= 3

    En este caso, la existencia de un valor de la variable y que haga cierta la frmulaest ligado al valor de x. Por tanto, este valor de y ser funcin (depender) delvalor que tome la variable x. Habr que sustituirlo entonces por una funcinque 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 si x+ y = 30 si x+ y 6= 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 dexyP (x, y).Al igual que antes, es fcil ver que de un modelo de xP (x, f(x)) podemosobtener 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); xyR(x, y)}Puesto que la primera frmula no est en forma prenexa, la pasamos a dichaforma cannica, y nos queda entonces:

    = {xy(Q(x) R(y, x)); xyR(x, y); xyR(x, y)}Este conjunto es satisfacible. Basta considerar la estructura:

    - Como universo, los nmeros enteros.

    - Q(x) =

    {1 si x es par0 si x es impar

    - R(x, y) =

    {1 si 2x = y0 si 2x 6= y

    La primera frmula es vlida en esta estructura, pues dado un nmero parpodemos encontrar otro nmero entero que al hacerle el doble nos de el de par-tida; la segunda tambin es vlida, pues para cualquier x basta tomar y = 2xpara hacerla cierta; la tercera es obviamente vlida.Calculamos la forma de Skolen de cada una de las frmulas. Para la primera, co-mo la variable y, que es la cuantificada existencialmente est precedida por unavariable cuantificada 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 elmismo smbolo de funcin que en la primera frmula. Sustituimos entonces ypor g(x). Queda entonces xR(x, g(x))En la tercera frmula, sustituimos cada una de las variables por constantes (dis-tintas).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 traduceahora 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) =

    {1 si x es par0 si x es impar

    - R(x, y) =

    {1 si 2x = y0 si 2x 6= y

    - f(x) = E(x2

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

    - g(x) = 2x

    - a = 2; b = 5.

    Ntese que si hubisemos empleado el mismo smbolo de funcin en la primeray en la segunda frmula, no habramos podido encontrar as una funcin f quehiciera vlida a las dos frmulas.

    3.1.5. Forma clausularEn primer lugar debemos establecer la definicin de clusula para lo que de-scribimos 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 cuantificadores es la frmula que resulta alcuantificar 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 xyH(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 universalxyz(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. xyH(x, f(x, a), y)4. xyz(P (a) Q(x, y, b) H(x, f(x, a), z))

    Por ltimo, una frmula est en forma normal clausular si es conjuncin declusulas.

    Observaciones:

    1. No toda frmula tiene forma clausular, slo si es sentencia.

    2. Toda sentencia que est en forma de Skolem es semnticamente equiva-lente a una forma clausular.

    3. Se incluye como frmula en forma clausular aquella que es disyuncin decero literales. Dicha frmula se denomina clusula vaca, la representare-mos como , y por definicin es insatisfacible.

    3.1.6. Mtodo para calcular la forma de clausular de una fr-mula en forma de Skolem

    Puesto que la forma de Skolem es prenexa, obviamos los cuantificadores y tra-bajamos 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 unaconjuncin de frmulas del tipo

    C1 C2 Cndonde Ci es un literal. Una vez obtenida esta forma, utilizamos la propiedad

    x( ) x xpara llegar a la forma clausular. Esto supone que en la prctica slo hay quetrabajar con la frmula sin cuantificadores 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 elmomento de los trminos que involucran y usar una notacin abreviadacon los smbolos de predicados, es decir, en este caso:

    P Qentonces P Q P Q que ya es una disyuncin de literales. Portanto, la forma clausular de la frmula de partida tiene una sola clusulaque es

    x(P (x, f(x)) Q(b))2. xy(R(x) (Q(x, y) P (y) R(x))).

    Trabajamos con R (QP R)) y obtenemos R (QP R)) (RQ) (RP ) (RR) lo que nos dara tres clusulas (dos conjuncionesseparan 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 cuantificador y puesto queen la frmula que le sigue la variable y no es libre (en este caso porque noaparece).

    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 laltima clusula las dos apariciones de R no son el mismo literal puestoque en uno aparece una variable y en el otro una funcin : R(x)R(f(x))y por tanto no puede simplificarse a R(x).

    TeoremaCada conjunto de sentencias se puede sustituir por otro cuyas frmulasson clusulas y que tiene la propiedad:

    es insatisfacible si, y slo si, es insatisfacibleTeoremaSea 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 con-junto de sentencias, sino de frmulas arbitrarias.Para reducirnos al caso anterior basta observar que si es una frmula en la quelas variables libres son x1, x2, . . . , xn, entonces es insatisfacible si, y slo si,lo es x1x2 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 slosi, 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 HerbrandEl objetivo de esta seccin es encontrar un procedimiento para decidir si un con-junto de clusulas es o no insatisfacible. Pensemos en la tarea de probar contodas las interpretaciones posibles. En realidad, al ser las clusulas sentencias,no necesitamos la asignacin de valores a las variables y por tanto slo tenemosque declarar la estructura. An as la tarea es imposible. Pero la idea que usa elTeorema 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 nicodominio, el llamado Universo de Herbrand.TeoremaUn conjunto de clusulas es insatisfacible si, y slo si, es insatisfacible sobretodas las estructuras que tienen al Universo de Herbrand como dominio.Pasamos ahora a describir cmo determinar el Universo de Herbrand para unconjunto de clusulas.

    Definicin 1. Sea un conjunto de clusulas. Definimos el Universo de Her-brand como sigue:- Llamamos H0 al conjunto de todas las constantes que aparecen en las clusu-las de (si no hubiera constantes, entonces H0 tendra un nico elemento, porejemplo, H0 = {a}).- Definimos Hm+1 como la unin de Hm con el conjunto formado por todoslos trminos de la forma f(t1, t2, , tn), donde f es algn smbolo de funcinn-ario que aparece en las clusulas de y t1, , tn Hm.El Universo de Herbrand es el resultante de considerar todos los trminos queaparecen por este procedimiento:

    H =m=0

    Hm

    Cuando en el conjunto de clusulas no aparece ningn smbolo de funcin, en-tonces 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 lafuncin f (la nica que aparece en el conjunto de clusulas) a todos los trminosdel 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 deaplicar la funcin al ltimo del conjunto anterior. As podemos asegurar queH = {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 smbolosde funcin en el siguiente paso consideramos cada uno de ellos sobre todas lasconstantes: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 Uni-verso de Herbrand, aunque es claro cmo son los elementos que aparecen: unade las constantes afectada de una secuencia de f s y gs 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 enel siguiente paso aparece un nuevo trmino:H1 = {a} {f(a, a)}pero a continuacin en cada hueco de f puede aparecer cualquiera de los tr-minos 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 dificultad de representar al Universo de Herbrand apesar de la escasez de elementos de los que partimos.

    Despus de estos ejemplos se pone de manifiesto la ventaja de construir la formanormal 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 observarque el Universo de Herbrand es un conjunto finito si, y slo si, no aparecenfunciones en el conjunto de clusulas.

    3.2.2. La Base de HerbrandDefinicin 2. Sea un conjunto de clusulas. Se llama Base de Herbrandde 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, , tnson 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 atmicasson 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 HerbrandDefinicin 3. Sea un conjunto de clusulas, y C una clusula de . Una ins-tancia bsica de C es una clusula que resulta de sustituir cada variable de Cpor un elemento del Universo de Herbrand.El conjunto de todas las instancias bsicas se denomina Sistema de Herbrandde , y lo denotaremos por SEjemplo 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 dosocasiones), para obtener una instancia bsica suya, la variable x debe susti-tuirse por un solo trmino del Universo de Herbrand, el mismo en todas susocurrencias dentro de esa clusula. Por ejemplo

    P (f(a)) P (f(a))no sera una instancia bsica de esa clusula puesto que la primera ocurrenciade 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)}, entoncesS = {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-estructurasUna vez reducido el dominio al Universo de Herbrand tambin limitaremos elresto de la estructura, es decir, la declaracin de significado para las constantesy 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 conlos smbolos del lenguaje. Este tipo de estructuras son las que denominaremosH-estructuras.

    Definicin 4. Sea un conjunto de clusulas, H el Universo de Herbrand y Euna 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 asignala misma constante (que es un elemento de H).- Si f es un smbolo de funcin n-ario, y t1, t2, , tn H entonces

    fE(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 deconstantes y la asignacin de funciones. Lo nico que queda por determinar sonlos predicados. Ahora esto es equivalente a asignar un valor de verdad (0 1) acada uno de los elementos de la base de Herbrand. En este caso, estos elementosjuegan 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) Ha 7 a

    Al smbolo de funcin f se le asigna la aplicacin f : H H siguiente:

    H Ha 7 f(a)

    f(a) 7 f(f(a))f(f(a)) 7 f(f(f(a)))

    f(f(f(a))) 7 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 predica-do monario, tenemos que definir una aplicacin P : H Z2. Una posibleaplicacin sera:

    H Z2a 7 1 es decir, P (a) = 1

    f(a) 7 0 es decir, P (f(a)) = 0f(f(a)) 7 0 es decir, P (f(f(a)) = 0

    f(f(f(a))) 7 1 es decir, P (f(f(f(a)))) = 1

    En definitiva, 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)}, ypuesto 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 elegirqu elementos de la base de Herbrand toman el valor de verdad 1. La base deHerbrand es

    BH = {P (fn(a), fm(a));m,n N} {Q(fk(a)); k N}

    Si elegimos

    IH = {P (a, f(a)), P (f(a), f(f(a))), . . . , P (fk(a), fk+1(a)), . . . }

    entonces la clusula P (x, f(x))Q(y) es verdadera. La segunda clusulatambin lo es puesto que el literal Q(x) es verdadero para cualquiersustitucin del trmino.

    3.2.5. El Teorema de HerbrandEstamos ya en condiciones de dar el teorema de Herbrand:

    Teorema de HerbrandSea un conjunto de clusulas. Entonces son equivalentes:

    1. es insatisfacible.

    2. es insatisfacible para cualquier H-estructura.

    3. Existe un subconjunto finito de S que es insatisfacible.La primera equivalencia nos dice que para estudiar si un conjunto de clusulases satisfacible o no, no es necesario mirar que ocurre en todas las posibles es-tructuras, sino que podemos reducirnos a aquellas que tengan como universo elUniverso 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 quehacamos 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 oinsatisfacibilidad de un conjunto de clusulas, basta estudiar la satisfacibilidad oinsatisfacibilidad de conjuntos finitos de instancias bsicas. Una vez elegido unconjunto finito de instancias bsicas, su posible satisfacibilidad se puede estudiarpor 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 for-mas:

    1. Estudiando todas las H-estructuras. Recordemos que cada H-estructuraestaba determinada por el valor de verdad que le diramos a cada uno delos elementos de la Base de Herbrand. Podemos entonces proceder comosigue:

    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 1 0 1 1

    0 0 0 1 1 0 1 1

    0 0 1 0 1 0 0 1

    0 0 1 1 1 1 0 1

    0 1 0 0 0 0 1 0

    0 1 0 1 0 0 1 0

    0 1 1 0 0 1 0 0

    0 1 1 1 0 1 0 0

    1 0 0 0 0 0 1 1

    1 0 0 1 0 1 1 1

    1 0 1 0 0 0 0 1

    1 0 1 1 0 1 0 1

    1 1 0 0 1 1 1 0

    1 1 0 1 1 1 1 0

    1 1 1 0 1 1 0 0

    1 1 1 1 1 1 0 0

    Para completar las columnas quinta y sexta, tenemos en cuenta que lasclusulasP (x)P (y) y P (x)Q(x) significan realmente xy(P (x)P (y)) y x(P (x) Q(x)). Puesto que el universo en este caso tiene ni-camente dos elementos, en realidad, las clusulas lo que significan es losiguiente:

    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 fila que contenga los cuatro ltimos elementosiguales a 1, deducimos que el conjunto de clusulas es insatisfacible.

    2. Estudiando si el sistema de Herbrand es satisfacible o no. En realidad, loque hay que hacer es estudiar subconjuntos finitos de dicho conjunto, perocomo en este caso dicho conjunto es finito, 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)}

    {P (a) P (b), P (b) P (a), P (a), P (b) Q(b), P (b)}

    {P (b), P (b) Q(b), P (b)}

    {} = P (b)

    = P (a)

    = Q(a)

    Y puesto que hemos obtenido la clusula vaca, concluimos que el conjuntoes insatisfacible.

    Ntese que podamos haber llegado a la misma coclusin partiendo delsiguiente 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 1 0 1 1

    0 0 0 1 1 0 1 1

    0 0 1 0 1 0 1 1

    0 0 1 1 1 1 1 1

    0 1 0 0 0 0 1 0

    0 1 0 1 0 0 1 0

    0 1 1 0 0 1 1 0

    0 1 1 1 0 1 1 0

    1 0 0 0 0 0 0 1

    1 0 0 1 0 1 0 1

    1 0 1 0 0 0 0 1

    1 0 1 1 0 1 0 1

    1 1 0 0 1 1 0 0

    1 1 0 1 1 1 0 0

    1 1 1 0 1 1 0 0

    1 1 1 1 1 1 0 0

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

    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 (b), Q(a), P (b) Q(b), P (b)}

    {Q(a), Q(b)}

    {Q(b)}

    = Q(b)

    = Q(a)

    = P (b)

    = P (a)

    Y vemos aqu que el conjunto es satisfacible, y la H-estructura en dondese 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 finito, podemos estudiar fcilmentesi hay alguna H-estructura para la que se satisfacen todas las clusulas, o siel sistema de Herbrand es o no satisfacible. Sin embargo, cuando el Universode Herbrand es infinito, no podemos decidir tan fcilmente si el conjunto declusulas es satisfacible o insatisfacible.Si no encontramos una H-estructura para que todas las clusulas sean ciertas,significa que no existe, o que no hemos sido capaces de encontrarla?Si empezamos a probar por varios conjuntos finitos de instancias bsicas y todosnos salen satisfacibles; cundo debemos parar? Existe alguna estrategia paraencontrar 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 es-tudiar las H-estructuras, deberamos asignar valores de verdad (0 1) a losdiferentes elementos de la base de Herbrand. Al ser este conjunto infinito, ten-dramos infinitas posibilidades, y en todos los casos nos dara que la estructuraobtenida no es un universo para las clusulas de . Por tanto, de esta formanunca podramos llegar a la conclusin de que es insatisfacible.Si tratamos de encontrar un conjunto de instancias bsicas que sea insatisfaci-ble, 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 insatisfaci-ble. 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 infinita deetapas. En cada una, vamos aadiendo nuevos trminos a los ya obtenidos. Ennuestro 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 ob-tienen 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 seobtienen de sustituir las variables de las clusulas de por trminos de H1. Esteconjunto 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 obtenidasa partir de los trminos de H2. Este conjunto est formado por 57 instanciasbsicas. Por el algoritmo de Davis-Putnam llegaramos a que este conjunto esinsatisfacible. Por tanto, deducimos que el conjunto es insatisfacible.

    La estrategia empleada en el ejemplo precedente es un algoritmo que, caso deque un conjunto de clusulas sea insatisfacible, en un nmero finito de pasos nosda la respuesta. Sin embargo, vemos como los clculos necesarios para llegar atal conclusin son laboriosos. An as, el proceso anterior es fcilmente imple-mentable, y los clculos requeridos, en este ejemplo, seran hechos rpidamentepor un ordenador.Veamos a continuacin un ejemplo, con dos clusulas, en el que sera totalmenteimpensable llegar a la solucin por este mtodo. Esto nos dice que hemos deprobar 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 conjuntoes satisfacible.H1 tiene cardinal 6 y (S)1 tiene cardinal 1512. Este conjunto tambin es satis-facible.H2 tiene cardinal 301 y (S)2, 8235812102. Tambin (S)2 es satisfacible.H3 tiene 27452706 elementos y (S)3, 567989951061626840872884885912. Esteconjunto tambin es satisfacible.H4 tiene 20689762668619607462101 elementos, mientras que el cardinal de(S)4 es aproximadamente 18 1089. Y este conjunto sigue siendo satisfacible.El nmero de elementos deH5 es aproximadamente 881066, mientras que (S)5tiene del orden de 10267. Este conjunto ya es insatisfacible, pues contiene a lasinstancias 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 insatisfaci-bilidad de este conjunto de clusulas procediendo de esta manera.

    32 Curso 2008-2009