Está en la página 1de 30

TEMA

Resoluci
on

5.1.

Interpretaciones de Herbrand

En la definicion de la teora de modelos para la L


ogica de Primer Orden,
necesitamos utilizar dominios que contengan m
as elementos que constantes
tiene el lenguaje. Hemos vistos varios ejemplos en los que se muestra la necesidad de tal condici
on; en particular, si el conjunto de las constantes es vaco,
ya que los dominios no pueden ser vacos.
Sin embargo, para determinadas familias de formulas, es posible caracterizar la satisfacibilidad a partir de interpretaciones construidas sobre el conjunto
de constantes. Las formulas en forma normal de Skolem tienen esta propiedad.

5.1.1.

Forma normal de Skolem

n 5.1 Una f
Definicio
ormula de un lenguaje de primer orden se dice que
est
a en forma normal prenexa si responde al esquema
Q1 x1 . . . Qn xn A(x1 , . . . , xn ),
en donde Qi {, } y la f
ormula A no contiene cuantificadores. La secuencia
Q1 x1 . . . Qn xn se denomina prefijo y la f
ormula A se denomina matriz.
Las equivalencias b
asicas de la L
ogica de Primer Orden demuestran que
podemos extraer los cuantificadores en una formula cualquiera y obtener una
formula equivalente.
Teorema 5.2 Toda f
ormula de la L
ogica de Primer Orden es equivalente a
una f
ormula en forma normal prenexa.

I. T. en Informatica de Sistemas. L
ogica computacional

L
ogica Computacional

Ejemplo 5.1.1
x(xP (x) yQ(x, y)) z(xP (x) yQ(z, y))

(5.1)

zy(xP (x) Q(z, y))

(5.2)

zyx(P (x) Q(z, y))

(5.3)

Para poder extraer el cuantificador x, necesitamos que la variable x no sea libre en el consecuente de la implicaci
on. Dado que esto no ocurre en la formula
inicial, necesitamos renombrar una de las variables x; esto lo hacemos en (5.1).
En el paso (5.2) extraemos el cuantificador del consecuente de la implicaci
on
y en (5.3) extraemos el cuantificador del antecedente; observese que en este
caso, cambia el tipo de cuantificador.

La formula en forma normal prenexa equivalente a una dada, no es u


nica.
Aparte de las distintas equivalencias que nos permiten transformar la matriz,
tambien podemos obtener distintos prefijos seg
un el orden que sigamos para
extraer los cuantificadores.
Ejemplo 5.1.2 La formula del ejemplo 5.1.1 puede convertirse en forma normal prenexa de otras formas:
x(xP (x) yQ(x, y)) z(xP (x) yQ(z, y))
zx(P (x) yQ(z, y))
zxy(P (x) Q(z, y))
Aqu hemos extraido en primer lugar el cuantificador del antecedente y despues
el cuantificador del consecuente.
x(xP (x) yQ(x, y)) z(xP (x) yQ(z, y))
xP (x) zyQ(z, y)
x(P (x) zyQ(z, y))
xz(P (x) yQ(z, y))
xzy(P (x) Q(z, y))

En este u
ltimo, hemos introducido primero el cuantificador hasta el consecuente y despues hemos extraido los tres.
Tal y como veremos m
as adelante, de las tres opciones, la mejor ser
a la
que hemos obtenido en el ejemplo 5.1.1.

n 5.3 Una f
Definicio
ormula est
a en forma normal de Skolem si est
a en
forma normal prenexa y en su prefijo no aparecen cuantificadores existenciales.

E.T.S.I.Inform
atica

Tema 5: Resolucion.

A diferencia de las formas normales que hemos estudiado hasta ahora, no


es posible, en general, obtener una formula en forma normal de Skolem que
sea equivalente a una formula dada. Sin embargo, s podemos obtener una
propiedad m
as debil, pero que ser
a suficiente para nuestros objetivos: siempre
podemos obtener una formula equisatisfacible y en forma normal de Skolem.
Teorema 5.4 (de Skolem) Sea A una f
ormula cerrada en L1 = L1 (C, F , P ).
Entonces existen dos conjuntos finitos csk y fsk y una f
ormula en forma norsk
mal de Skolem B en L1 = L1 (C csk, F fsk, P ) tal que A y B son equisatisfacibles, es decir: A es satisfacible en L1 si y solo si B es satisfacible
en Lsk
1 .
Podremos trabajar con formulas equisatisfacibles si estamos interesados
en estudiar la satisfacibilidad de un conjunto de formulas y, en particular, si
estudiamos la validez de una inferencia usando el principio de refutacion.
Los elementos del conjunto csk en el teorema anterior se denominan constantes de Skolem y los elementos de fsk se denominan funciones de Skolem.
El proceso por el que determinamos estos conjuntos y la formula B a partir
de A se denomina skolemizaci
on.
Skolemizaci
on. Sea A una formula en forma normal prenexa y x1 , . . . , xn
las variables que aparecen cuantificadas existencialmente en el prefijo de A
y en ese orden, ledas de izquierda a derecha. Construimos una secuencia
de formulas A0 , A1 , . . . , An , y dos secuencias de conjuntos csk0 , . . . , cskn ,
fsk0 , . . . , fskn , tales que: A0 = A, csk0 = , fsk0 = ; An = B est
a en
forma normal de Skolem; cada Ai es equisatisfacible a A; la formula Ai+1 se
obtiene a partir de Ai como sigue:
1. Si Ai = xi+1 Mi , consideramos a 6 C cski y tomamos:
cski+1 = cski {a},

fski+1 = fski ,

Ai+1 = [xi /a]Mi .

2. Si Ai = y1 . . . ym xi+1 Mi , consideramos f 6 C fski y tomamos:


cski+1 = cski ,

fski+1 = fski {f },
Ai+1 = y1 . . . ym [xi /f (y1 , . . . , ym )]Mi .

En adelante, y en particular en el ejemplo siguiente, usaremos el smbolo


para representar la relaci
on de equisatisfacibilidad.
Ejemplo 5.1.3
A = A0 = xyzP (x, y, z) A1 = yzP (a, y, z) A2 = yP (a, y, f (y))

I. T. en Informatica de Sistemas

L
ogica Computacional

Para este ejemplo, csk = {a} y fsk = {f }.

A = A0 = xyz(P (f (x)) R(y, z)) A1 = xy(P (f (x)) R(y, g(x, y)))


Para este ejemplo, csk = y fsk = {g}.

5.1.2.

Interpretaciones de Herbrand

n 5.5 Sea S una conjunto finito de f


Definicio
ormulas en forma normal de
Skolem en el lenguaje L1 (C S , F S , P S ) tal que la signatura contiene u
nicamente los smbolos que aparecen en S, excepto si S no contiene smbolos de
constante, en cuyo caso C S = {a}.
1. Llamamos Universo de Herbrand de S, y lo denotamos por HS , al conjunto de terminos b
asicos construidos sobre los smbolos del lenguaje, es
decir,
HS = T B(C S , F S )
2. Llamamos Base de Herbrand de S, y lo denotamos BS al conjunto de
a
tomos b
asicos que se pueden construir sobre el Universo de Herbrand,
es decir,
BS = Atom(C S , F S , P S )
3. Llamamos Interpretacion de Herbrand para S a cualquier interpretaci
on
sobre el Universo de Herbrand, es decir, a las interpretaciones
I : Atom(C S , F S , P S ) {0, 1}
Para evitar que el universo sea vaco, hemos considerado C S = {a} en el
caso en que S no contenga constantes; a la constante a, que no aparece en S,
se la suele llamar constante de Herbrand.
Para el estudio de la satisfacibilidad de formas normales de Skolem es suficiente trabajar con interpretaciones de Herbrand. Por lo tanto, por el principio
de refutaci
on y la existencia de formas normales de Skolem equisatisfacibles,
podemos restringirnos a interpretaciones de Herbrand para el estudio de la
validez.
Teorema 5.6 (de Herbrand) Si S es un conjunto de f
ormulas cerradas y
en forma normal de Skolem, entonces S es satisfacible si y solo si tiene un
modelo de Herbrand.

E.T.S.I.Inform
atica

Tema 5: Resolucion.

Optimizaci
on de la forma normal prenexa. El tama
no del Universo de
Herbrand y por lo tanto la complejidad del conjunto de interpretaciones de
Herbrand, depende del conjunto de constantes y funciones de Skolem generado
durante la skolemizaci
on; a su vez, el tama
no de estos conjuntos depende de
la formula en forma normal prenexa de la que partimos. Como hemos visto
en los ejemplos 5.1.1 y 5.1.2, en algunos casos podremos optar por aplicar las
equivalencias en distintos ordenes y obtener diferentes prefijos. Con el objetivo
de reducir la complejidad del Universo de Herbrand, es conveniente seguir las
siguiente reglas en el proceso de obtenci
on de la forma normal prenexa.
Cuando sea posible elegir, se extraeran en primer lugar aquellos cuantificadores que queden en el prefijo como existenciales.
Para reducir la longitud del prefijo, siempre que sea posible, renombraremos las variables para poder utilizar las equivalencias
xA xB x(A B),
xA xB x(A B),
xA xB x(A B).

5.1.3.

Algoritmo de Gilmore

La conclusion pr
actica inmediata que se obtiene una vez presentada la
sem
antica de Herbrand, es la posibilidad de trabajar en la logica de primer
orden de la misma forma que trabajamos en la logica proposicional. Podramos
construir tablas de verdad de las formulas, en donde las variables proposicionales son sustituidas por elementos de la Base de Herbrand. Naturalmente, en
este caso es posible que estas tablas de verdad sean infinitas y, por lo tanto,
no podemos considerarlas como un metodo de demostracion adecuado. Sin
embargo, si permiten entender otros metodos de demostracion.
El metodo m
as simple que se puede definir es la generalizaci
on del metodo
de Quine, y que en este caso se denomina Algoritmo de Gilmore. Su funcionamiento es identico al de Quine considerando los elementos de la base de
Herbrand para definir las evaluaciones parciales de las formulas.
Ejemplo 5.1.4 Vamos a estudiar la validez de una inferencia utilizando el
principio de refutaci
on y el algoritmo de Gilmore sobre la base de Herbrand
de la formula obtenida tras hallar una formula en forma normal de Skolem a
partir de la refutaci
on:
x(xP (x) Q(x)) |= yx(P (x) Q(y))
{x(xP (x) Q(x)), yx(P (x) Q(y))} es insatisficible,

I. T. en Informatica de Sistemas

L
ogica Computacional

{xy(P (y) Q(x)), yx(P (x) Q(y))} es insatisficible,


{xy(P (y) Q(x)), (P (b) Q(a))} es insatisficible,
S = xy(P (y) Q(x)) (P (b) Q(a)) es insatisficible.
Dado que S no contiene funciones, el universo de Herbrand est
a formado
simplemente por las constantes, HS = {a, b}, y la base de herbrand es finita, BS = {P (a), Q(a), P (b), Q(b)}. Llamemos A1 = xy(P (y) Q(x))
y A2 = (P (b) Q(a)). Para entender mejor el arbol que construimos a
continuaci
on, es conveniente observar que los modelos de Herbrand de A1 =
xy(P (y) Q(x)) coinciden con los de la formula
(P (a) Q(a)) (P (a) Q(b)) (P (b) Q(a)) (P (b) Q(b));
las dos formulas no son logicamente equivalentes, pero s son equivalentes en
el universo de Herbrand.
P (b)

P (b)
0 (Por A2 )

Q(a)

Q(a)
0 (x = a, y = b en A1 )

0 (Por A2 )

Ejemplo 5.1.5 Aunque el universo de Herbrand sea infinito, si la inferencia


es valida, siempre podremos encontrar un arbol finito que lo demuestre.
xP (x), x(P (x) Q(f (x))) |= Q(f (a))
S = xP (x) x(P (x) Q(f (x))) Q(f (a)) es insatisfacible
El universo de Herbrand es
HS = {a, f (a), f (f (a), f (f (f (a))), . . . }
y la base de Herbrand es
BS = {P (a), Q(a), P (f (a)), Q(f (a)), P (f (f (a))), Q(f (f (a))), . . . }.
Llamemos A1 = xP (x), A2 = x(P (x) Q(f (x))) y A3 = Q(f (a)) para
construir el
arbol de Gilmore.

E.T.S.I.Inform
atica

Tema 5: Resolucion.

P (a)

P (a)
0 (x = a en A1 )

Q(f (a))

Q(f (a))
0 (x = a en A2 )

0 (Por A3 )

Ejemplo 5.1.6 El razonamiento


x(P (x) y(D(y) L(x, y)))
x(P (x) y(Q(y) L(x, y)))
x(D(x) Q(x))
es valido si y solo si el siguiente conjunto es insatisfacible:
{x(P (x) y(D(y) L(x, y))),
x(P (x) y(Q(y) L(x, y))),
x(D(x) Q(x))}
Este conjunto es insatisfable si y solo si lo es el siguiente conjunto de formulas
en forma normal prenexa:
{xy(P (x) (D(y) L(x, y))),
xy(P (x) (Q(y) L(x, y))),
x(D(x) Q(x))}
Y este es insatisfacible si y solo si lo es el siguiente conjunto formado por
formulas en forma normal de Skolem:
{y(P (a) (D(y) L(a, y))),
xy(P (x) (Q(y) L(x, y))),
(D(b) Q(b))}
El universo de Herbrand es HS = {a, b} y la base de Herbrand
BS = {P (a), P (b), Q(a), Q(b), D(a), D(b), L(a, a), L(a, b), L(b, a), L(b, b)}
Construimos el
arbol de Gilmore para A1 A2 A3 , en donde
A1 = y(P (a) (D(y) L(a, y))),
A2 = xy(P (x) (Q(y) L(x, y))),
A3 = (D(b) Q(b)).

I. T. en Informatica de Sistemas

L
ogica Computacional

D(b)

D(b)
0 (por A3 )

Q(b)

Q(b)
0 (por A3 )

P (a)

P (a)
0 (por A1 )

L(a, b)

L(a, b)

0 (y = b en A1 ))
0 (x = a, y = b en A2 ))

Ejemplo 5.1.7 Vamos a estudiar la validez del siguiente razonamiento usando el metodo de Gilmore y el de las Tablas sem
anticas.
El padre del padre de una persona es su abuelo, toda persona tiene
un padre; por lo tanto todo el mundo tiene un abuelo.
Leyendo la relaci
on P (x, y) como x es padre de y y la relaci
on A(x, y) como
x es abuelo de y podemos escribir la siguiente formalizacion:
xyz((P (x, y) P (y, z)) A(x, z))
xyP (y, x)
xyA(y, x)
Este razonamiento es valido si y solo si el siguiente conjunto es satisfacible:
{xyz((P (x, y) P (y, z)) A(x, z)), xP (f (x), x), yA(y, a)}
Su dominio de Herbrand es
HS = {a, f (a), f (f (a)), f (f (f (a))), . . . }
y la base de Herbrand
BS = {P (t1 , t2 ); t1 , t2 HS } {A(t1 , t2 ); t1 , t2 HS }
Construimos el
arbol de Gilmore para A1 A2 A3 con:
A1 = xyz((P (x, y) P (y, z)) A(x, z)),
A2 = xP (f (x), x),

A3 = yA(y, a)

E.T.S.I.Inform
atica

Tema 5: Resolucion.

P (f (a), a)

P (f (a), a)
0 (x = a en A2 )

P (f (f (a)), f (a))

P (f (f (a)), f (a))
0 (x = f (a) en A2 )

A(f (f (a)), a)

A(f (f (a)), a)

0 (x = f (f (a)), y = f (a), z = a en A1 ))
0 (y = f (f (a)) en A3 ))

La tabla sem
antica que demuestra igualmente la validez del razonamiento
se muestra a continuaci
on. La diferencia de tama
no entre los dos arboles no
debe conducir a conclusiones err
oneas sobre la complejidad de los metodos.
Debe tenerse en cuenta que, por una parte, el metodo de Gilmore requiere un
proceso de normalizacion previo y que, adem
as, en ambos casos hemos elegido
un orden optimo para las sucesivas extensiones de los arboles.

xyz((P (x, y) P (y, z)) A(x, z)) (7):c


xyP (y, x) (2):a (4):b
xyA(y, x) 4(1):a
yA(y, a) (6):c
yP (y, a) 4(3):b
P (b, a)
yP (y, b) 4(5)
P (c, b)
A(c, a)
yz((P (c, y) P (y, z)) A(c, z)) (8):b
z((P (c, b) P (b, z)) A(c, z)) (9):a
(P (c, b) P (b, a)) A(c, a) 4(10)
(P (c, b) P (b, a)) 4(11)
P (c, b)
8

A(c, a)
8

P (b, a)
8

Es interesante comparar las dos soluciones. En las dos, hemos necesitado tres
elementos para lograr las inconsistencias: a, b y c en las tablas y a, f (a) y
f (f (a)) en el arbol de Gilmore. Adem
as, en ambos casos, el significado de los
mismos en el modelo es el mismo: b es el padre de a y c es el padre de b,
as como f (a) es el padre de a y f (f (a)) es el padre de f (a).

I. T. en Informatica de Sistemas

10

L
ogica Computacional

5.2.

Resoluci
on en la L. C. Proposicional

5.2.1.

Forma clausal

n 5.7 Decimos que una f


Definicio
ormula de la L
ogica Cl
asica Proposicional
est
a en forma normal conjuntiva si es , o una conjunci
on de cl
ausulas.
Decimos que esta en forma normal conjuntiva restringida si las cl
ausulas y
cubos que contiene son restringidos y no contiene una cl
ausula que subsuma a
otra.
En el tema 3 demostramos que cualquier formula es equivalente a una
formula en forma normal negativa. A partir de esta y usando la distributividad
de la disyunci
on respecto de la conjunci
on, conseguimos una formula en forma
normal conjuntiva. Finalmente, aplicando las siguientes equivalencias tantas
veces como sea posible, obtenemos la forma restringida:
A A A,

A A , A A,

A ,

A A A,

A A , A A,

A ,

A (A B) A

A (A B) A.

Obtenemos as es siguiente resultado.


Teorema 5.8 Si A es una f
ormula de la L
ogica Cl
asica Proposicianal, es
posible construir una f
ormula C en forma normal conjuntiva restringida tal
que A C.
Dado que estamos interesados en trabajar con el principio de refutacion, podemos utilizar propiedades de equisatisfacibilidad. En particular, sabemos que la
satisfacibilidad de un conjunto de formulas es equivalente a la satisfacibilidad
de su conjunci
on; esto nos permite establecer el siguiente corolario.
Corolario 5.9 Si es un conjunto de f
ormulas de la L
ogica Cl
asica Proposicianal, es posible construir un conjunto de cl
ausulas restringidas tal que
es satisfacible si y solo si es satisfacible. Decimos que es la forma clausal
de .
Ejemplo 5.2.1 Para estudiar la validez del razonamiento
A1

p (q r)

A2

(q s) p

A3

rp

s (p (q r))

E.T.S.I.Inform
atica

Tema 5: Resolucion.

11

obtenemos la forma clausal del conjunto que se obtiene tras refutar la conclusi
on:
A1 = p (q r) p q r
A2 = (q s) p q s p
A3 = r p r p
C s (p q r) (q p) (r p)
Los detalles de la conversi
on en forma normal conjuntiva restringida de C
son los siguientes:
C = (s (p (q r)))
(s ((p q r) (p (q r))))
s ((p q r) (p (q r)))
s (p p) (p q r) (q p)
(q q r) (r p) (r q r)
s (p q r) (q p) (r p)
Por lo tanto, la forma clausal de {A1 , A2 , A3 , C} es
= {p q r, q s p, r p, s, p q r, q p, r p}

5.2.2.

Resoluci
on como Sistema de Demostraci
on

El metodo de Resolucion que vamos a estudiar en este tema se define sobre


un lenguaje muy reducido, el de las cl
ausulas restringidas.
Alfabeto: Q {, , , 2},
Gram
atica: Las formulas bien formadas son , 2 y las clausulas restringidas.
En este contexto, usamos el smbolo 2 en lugar de para representar la
insatisfacibilidad; adem
as, esta formula se denomina cl
ausula vaca. La teora
mostrada en la secci
on anterior demuestra que el lenguaje de las clausulas es
suficiente para caracterizar la validez en la L
ogica Cl
asica.
n 5.10 En el lenguaje de cl
Definicio
ausulas restringidas definimos las siguiente operaciones.

I. T. en Informatica de Sistemas

12

L
ogica Computacional

1. Si C es una cl
ausula restringida y es un literal de C:

2
si C =
Cr :=
1 k1 k n si C = 1 k1 k n
2. Si el literal pertenece a la cl
ausula C1 y pertenece a C2 , decimos que
C1 y C2 son resolubles respecto a y llamamos resolvente de C1 y C2
respecto de a la cl
ausula R (C1 , C2 ) que resulta de obtener la forma
restringida de

(C1 r) (C2 r)
Ejemplo 5.2.1
C = p q r; Crp = q r
C = p q r; Crr = C
C = q; Crq = 2(= )
Rp (p q r, q p t) = q r t
Rp (p, p) = 2
C1 = q r, C2 = p r no son resolubles respecto de ning
un literal.
Rp (q r, r p) NO existe.

El Sistema por Resoluci


on se describe con una u
nica regla de inferencia,
la Regla de Resoluci
on.
n 5.11
Definicio
1. Regla de resolucion: Si C1 y C2 son resolubles respecto a , entonces:
R (C1 , C2 ) es consecuencia inmediata de C1 y C2 .
2. Dado un conjunto de cl
ausulas restringidas , decimos que C es deducible por resolucion a partir de , y lo denotamos R C, si existe una
secuencia finita y ordenada de cl
ausulas C1 , . . . , Cn tal que Cn = C y
cada cl
ausula es o bien un elemento de o bien consecuencia inmediata
de las anteriores por la regla de resoluci
on. La secuencia de cl
ausulas
se denomina deduccion por Resolucion de C desde ; y si C = 2 la
secuencia se denomina simplemente refutacion por resolucion.
Ejemplo 5.2.2 2 es deducible por resolucion a partir de
= {p q, q r, p r, r} :

E.T.S.I.Inform
atica

Tema 5: Resolucion.

13

1.

p r

2.

3.

= Rr (1, 2)

4.

q r

5.

= Rr (2, 4)

6.

pq

7.

= Rp (3, 6)

8.

= Rq (5, 7)

Seg
un vemos a continuaci
on, al encontrar una deduccion por resolucion para
, podemos deducir que este conjunto es insatisfacible.

Teorema 5.12 Un conjunto de cl


ausulas restringidas es insatisfacible si y
solo si es posible construir una refutaci
on por resoluci
on. Es decir,
|=

si y solo si

R 2

Este teorema garantiza la correcci


on y completitud de la regla de resolucion
gracias a la existencia de formas clausales equisatisfacibles.
Ejemplo 5.2.3 En el ejemplo 5.2.1 hemos visto que el razonamiento
A1

p (q r)

A2

(q s) p

A3

rp

s (p (q r))

es valido si y solo si el conjunto


= {p q r, q s p, r p, s, p q r, q p, r p}
es insatisfacible. Una refutaci
on por resolucion que lo prueba es la siguiente:
1.

p q r

2.

q s p

3.

r p

4.

5.

pqr

6.

q p

I. T. en Informatica de Sistemas

14

L
ogica Computacional

7. r p

5.2.3.

8. q p

R(2,4)

9. p r

R(8,5)

10.

R(3,9)

11.

R(6,10)

12.

p r

R(1,11)

13.

R(9,12)

14.

R(7,10)

15.

R(13,14)

Resoluci
on como algoritmo

Si el conjunto de clausulas cuya satisfacibilidad estamos estudiando es


finito, el conjunto de las variables proposicionales tambien es finito y por lo
tanto, tambien es finito el conjunto de resolventes que podemos obtener, ya
que estas deben ser clausulas restringidas. En consecuencia, es posible generar
todas las resolventes, lo que nos lleva al algoritmo b
asico construible sobre la
regla de resolucion: generar sistematicamente todas las resolventes a partir de
un conjunto de cl
ausulas dado; si este conjunto contiene la clausula vaca, el
conjunto es insatisfacible, en caso contrario, es satisfacible.
Ejemplo 5.2.4 Para estudiar la satisfacibilidad de
= {p q, p r, q r, p}
vamos a generar sistematicamente todas las posibles resolventes, comprobando
si cada cl
ausula es resoluble con todas las dem
as y comprobando si cada
nueva resolvente es a su vez resoluble con todas las dem
as.
1.

pq

2.

pr

3.

q r

4.

5.

p r

R(1, 3)

6.

R(1, 4)

7.

p q

R(2, 3)

8.

R(2, 4)

E.T.S.I.Inform
atica

Tema 5: Resolucion.

15

9. p

R(1, 7)

10.

R(3, 6)

11.

R(3, 8)

12.

R(4, 9)

Paramos en cuanto generamos la cl


ausula vaca en la lnea 12. Por otra parte,
dado que estamos construyendo un conjunto, las resolvente que ya hayamos
generado anteriormente, no las anotamos.

Los refinamientos del metodo b


asico de resolucion consisten en reducir el
tama
no del conjunto de posibles resolventes que debemos generar para buscar
la clausula vaca o concluir que no es posible hacerlo. En la u
ltima parte
del tema estudiaremos dos refinamientos que aplicaremos simult
aneamente:
resoluci
on lineal y resoluci
on ordenada.

5.3.
5.3.1.

Resoluci
on en la L. C. de P. de Primer Orden
Forma clausal

n 5.13 Decimos que una f


Definicio
ormula de la L
ogica Cl
asica Predicados
de Primer Orden est
a en forma normal prenexa conjuntiva si est
a en forma
normal prenexa y su matriz est
a en forma normal conjuntiva.
Para definir la forma clausal en la l
ogica de Primer Orden, debemos en
primer lugar establecer la noci
on de cl
ausula: llamamos clausula al cierre universal de una disyunci
on de literales. Por ejemplo:
xy(P (x, a) Q(a, f (y))
es una clausula, pero x(P (x) Q(x)) no lo es, puesto que el prefijo contiene
un cuantificador existencial.
Si una formula est
a en forma normal prenexa conjuntiva y adem
as el prefijo no contiene cuantificadores existenciales, entonces es posible escribir esa
formula como una conjunci
on de cl
ausulas haciendo uso de la equivalencia
x(A(x) B(x)) xA(x) xB(x)

(5.4)

Por lo tanto, el proceso de obtenci


on de la forma normal de Skolem, la distributividad para obtener la forma normal conjuntiva, la equivalencia (5.4) y la
eliminaci
on de conjunciones permiten establecer el siguiente resultado

I. T. en Informatica de Sistemas

16

L
ogica Computacional

Teorema 5.14 Dado un conjunto de f


ormulas de la L
ogica Cl
asica de Predicados de Primer Orden, es posible construir un conjunto de cl
ausulas tal
que es satisfacible si y solo si es satisfacible. Decimos que el conjunto
es la forma clausal de .
Ejemplo 5.3.1 En este ejemplo, mostramos los distintos pasos que conducen
a la obtenci
on de la forma clausal de la refutacion de un razonamiento.
x((P (x) Q(x)) (Q(x) R(x))) |= x(P (x) R(x)),
{x((P (x) Q(x)) (Q(x) R(x)), x(P (x) R(x))} es insatisfacible,
{x((P (x)Q(x))(Q(x)R(x)), x(P (x)R(x))} es insatisfacible,
{x((P (x) Q(x) (Q(x) R(x)), P (a) R(a)} es insatisfacible,
{x(P (x) Q(x)), x(Q(x) R(x)), P (a), R(a)} es insatisfacible.
El orden en el que se aplican los distintos pasos puede alterarse excepto el de
skolemizaci
on, que debe ser siempre posterior al de refutacion y aplicarse a
formulas en forma prenexa.

Para abreviar, es frecuente omitir el prefijo en las clausulas. As, en el


ejemplo anterior escribiremos simplemente
{P (x) Q(x), Q(x) R(x), P (a), R(a)}.
Debemos tener cuidado con esta simplificacion y entender que, aunque no se
muestren explcitamente, las clausulas est
an cuantificadas universalmente y,
lo que es m
as importante, que est
an independientemente cuantificadas. Por
ejemplo, siguiendo con el ejemplo anterior, determinar una instancia de la
primera cl
ausula, P (x) Q(x), no obliga realizar la misma operaci
on en la
segunda, Q(x) R(x), aunque la variable sea la misma. Esto es as porque
las dos variables x est
an ligadas por distintos cuantificadores y al liberar una
de ellas para instanciarla, no liberamos a la otra.
La regla de resolucion se basa en enfrentar dos literales opuestos en dos
cl
ausulas. Dado que las clausulas en la logica de Primer Orden est
an universalemente cuantificadas, debemos entender que representan a todas sus instancias
en el universo de Herbrand. De esta forma, una resolvente de dos clausulas se
obtendra al enfrentar instancias de dos clausulas.

E.T.S.I.Inform
atica

Tema 5: Resolucion.

17

Ejemplo 5.3.2 La validez del razonamiento


x((E(x) V (x)) y(S(x, y) C(y)))
x(P (x) E(x) y(S(x, y) P (y)))
x(P (x) V (x))
x(P (x) C(x))
es equivalente a la insatisfacibilidad del conjunto
{x(E(x) V (x) S(x, f (x))),

x(E(x) V (x) C(f (x))),

x(S(a, y) P (y)),

x(P (x) V (x)),


x(P (x) C(x)),

P (a),

E(a)}

El Universo de Herbrand de este conjunto de clausulas es


H = {a, f (a), f (f (a)), f (f (f (a))), . . . }
y, por lo tanto, los modelos de Herbrand son los modelos de Herbrand del
conjunto:
[
= {P (a), E(a)}
{E(t) V (t) S(t, f (t)), E(t) V (t) C(f (t)),
tH

S(a, t) P (t), P (t) V (t), P (t) C(t)}


El conjunto no tiene cuantificadores y por lo tanto, su satisfacibilidad puede
estudiarse usando el metodo de resolucion para la logica proposicional.
1.

P (a)

2.

P (a) V (a)

3.

V (a)

R(1,2)

4.

E(a) V (a) C(f (a))

5.

E(a)

6.

V (a) C(f (a)

R(4,5)

7.

C(f (a))

R(3,6)

8.

E(a) V (a) S(a, f (a))

9.

V (a) S(a, f (a))

R(5,8)

10.

S(a, f (a))

R(9,3)

11.

S(a, f (a)) P (f (a))

12.

P (f (a))

R(10,11)

13.

P (f (a)) C(f (a))

14.

C(f (a))

R(12,13)

15.

R(13,14)

I. T. en Informatica de Sistemas

18

L
ogica Computacional

5.3.2.

Unificaci
on

El metodo seguido en el ejemplo anterior consiste en elegir entre las instancias b


asicas para buscar las resolventes siguiendo el sistema de la l
ogica
proposicional. Debemos entender que este es el metodo fundamental en el que
se basa la resolucion en la logica de primer orden; muchas dudas y problemas que nos surjan en la aplicaci
on de los refinamientos posteriores pueden
resolverse facilmente analiz
andolos desde el punto de vista de este metodo
b
asico.
El refinamiento fundamental que aplicamos en primer lugar consiste en
trabajar con instancias, no necesariamente b
asicas, que representen varias resolventes. Por ejemplo, todas las instancias b
asicas de la clausula
y(A(f (y)) B(f (y)))
son resolventes de las clausulas
x(A(x) P (x)) y

y(B(y) P (f (y)))

ya que todas las instancias de y(A(f (y)) P (f (y))) tambien los son de
x(A(x) P (x)). Para obtener estas resolventes, de la manera m
as general
posible, necesitamos utilizar el algoritmo de unificacion.
n 5.15 Una sustituci
Definicio
on : L1 L1 es un unificador para las
f
ormulas at
omicas A y B si A = B. Decimos que es el unificador m
as
general si dado otro unificador , existe una sustituci
on tal que = .
Teorema 5.16 El algoritmo que se describe a continuaci
on, determina si dos
f
ormulas at
omicas A y B son o no unificables y en su caso, determina el
unificador m
as general.
Algoritmo de unificaci
on. Dadas dos formulas atomicas A y B con el
mismo smbolo de predicado, el siguiente algoritmo determina en cada paso
una sustitucion i = [xi /ti ] o concluye que las dos formulas no son unificables.
Si son unificables, el algoritmo concluye con la construcci
on de una secuencia
finita de sustituciones 1 = [x1 /t1 ],. . . ,n = [xn /tn ] de tal forma que
n . . . 1 A = n . . . 1 B.
Consideramos A0 = A, 0 = Id (aplicaci
on identidad); si Am1 = m1 . . . 1 A
y Bm1 = m1 . . . 1 B, entonces:

E.T.S.I.Inform
atica

Tema 5: Resolucion.

1. Si Am1 = Bm1 , el algoritmo finaliza: las f


ormulas son unificables y el
unificador m
as general es m1 . . . 1 .
2. Si Am1 6= Bm1 , recorremos los smbolos de Am1 y Bm1 de izquierda
a derecha y localizamos el primero de cada formula en que difieren y
consideramos los terminos m
as peque
nos que contienen a estos smbolos:
a) Si ninguno de estos dos terminos es una variable, el algoritmo finaliza: A y B no son unificables.
b) Si uno de los dos terminos es una variable y esta aparece en el otro
termino, el algoritmo finaliza: A y B no son unificables.
c) Si x es uno de los terminos y t es el otro (x no pertenece a t),
consideremos m = [x/t] y volvemos al incio del algoritmo.
Ejemplo 5.3.1
P (x, a) y Q(y) no son unificables, ya que no tienen el mismo smbolo de
predicado.
P (x, a) y P (x, f (x, y)) no son unificables. Los terminos subrayados son
los que distinguen a las formulas; dado que a es una constante y f (x, y)
es un termino con funci
on f , el paso 2.a del algoritmo concluye que las
formulas no son unificables.
P (x, f (g(y), z)) y P (x, f (y, z)) no son unificables, ya que la variable y
aparece en el termino f (y) (paso 2.b del algoritmo).
P (a, x, f (g(y))) y P (z, f (z), f (u)) son unificables:
4 A0 = P (a, x, f (g(y))) y B0 = P (z, f (z), f (u)):
por el paso 2.c del algoritmo, tomamos 1 = [z/a].
4 A1 = P (a, x, f (g(y))) y B1 = P (a, f (a), f (u)):
por el paso 2.c del algoritmo, tomamos 2 = [x/f (a)].
4 A2 = P (a, f (a), f (g(y))) y B2 = P (a, f (a), f (u)):
por el paso 2.c del algoritmo, tomamos 3 = [u/g(y)].
4 A3 = P (a, f (a), f (g(y))) = B3 y por lo tanto, concluimos que las
formulas iniciales son unificables y que el unificador m
as general es
3 2 1 = [u/g(y)] [x/f (a)] [z/a]

5.3.3.

Resoluci
on en la L. C. de Primer Orden

Ya tenemos las herramientas necesarias para definir la regla de resolucion


en la L
ogica Cl
asica de Primer Orden sobre clausulas con variables.

I. T. en Informatica de Sistemas

19

20

L
ogica Computacional

n 5.17
Definicio
Sean C1 y C2 dos cl
ausulas que no comparten variables y sean 1 y 2
dos literales en C1 y C2 respectivamente tales que 1 y 2 son unificables
y es su unificador m
as general; entonces C1 y C2 son resolubles y la
forma restringida de cl
ausula
(C1 rL1 ) (C2 rL2 )
se denomina resolvente binaria de C1 y C2 respecto de L1 y se denota
R(C1 , C2 ).
(RB) Resolvente binaria: si C1 y C2 son resolubles, entonces
R(C1 , C2 ) es consecuencia inmediata a partir C1 y C2 .
Si dos literales con el mismo signo de un clausula C son unificables y su
unificador m
as general es , entonces la forma restringida de la cl
ausula
C se denomina factor de C.
(FB) Factor binario: si C es un factor de C, entonces C es
consecuencia inmediata de C.
Dado un conjunto de cl
ausulas restringidas , decimos que C es deducible por resolucion a partir de , y lo denotamos R C, si existe una
secuencia finita y ordenada de cl
ausulas C1 , . . . , Cn tal que Cn = C y
cada cl
ausula es o bien un elemento de o bien consecuencia inmediata de las anteriores por las reglas (RB) o (FB) definidas en los puntos
anteriores. La secuencia de cl
ausulas se denomina deduccion por Resoluci
on de C desde ; si C = 2 la secuencia se denomina simplemente
refutaci
on por resolucion.
Adem
as de la regla de resolucion, debemos considerar la posibilidad de
obtener factores. Estas clausulas se corresponden con las instancias b
asicas
del conjunto de cl
ausulas en las que podemos eliminar literales repetidos; no
debemos olvidar que, tambien en la logica de primer orden, trabajamos con
cl
ausulas restringidas.
Tambien debemos destacar la condici
on impuesta sobre dos clausulas antes
de comprobar si son unificables: no pueden compartir variables. Recordemos
que cada cl
ausula est
a independientemente cuantificada y, por lo tanto, siempre podemos renombrar las variables para conseguir esta condici
on.
Teorema 5.18 Un conjunto de cl
ausualas en la l
ogica de primer orden es
insatisfacible si y solo si existe una refutaci
on por resoluci
on.
Ejemplo 5.3.3 Vamos a encontrar una refutacion por resolucion para el conjunto
= {F (x, a) F (x, t) F (t, x), F (x, a) F (x, f (x)), F (x, a) F (f (x), x)}

E.T.S.I.Inform
atica

Tema 5: Resolucion.

21

1.

F (x, a) F (x, t) F (t, x)

2.

F (x, a) F (a, x)

FB(1): = [t/a]

3.

F (a, a)

FB(2): = [x/a]

4.

F (x, a) F (x, f (x))

5.

F (a, f (a))

RB(3, 4): = [x/a]

6.

F (f (a), a)

RB(2, 5): = [x/f (a)]

7.

F (x, a) F (f (x), x)

8.

F (a, a)

RB(6, 7): = [x/a]

9.

RB(3, 8)

Ejemplo 5.3.4 Como ya hemos dicho, la regla (FB) es necesaria para obtener un sistema deductivo completo. Consideremos el siguiente conjunto de
clausulas:
= {P (x) P (y), P (x) P (y)}
Salvo renombramientos de variables, la u
nica resolvente binaria que puede
obtenerse a partir de es P (x) P (y), y por lo tanto, no podemos generar,
de esta forma, la cl
ausula vaca. Sin embargo, es insatisfacible:
xy(P (x) P (y)) |= P (a)
xy(P (x) P (y)) |= P (a)
|= P (a) P (a)

5.4.

Resoluci
on Lineal Ordenada

Como ya hemos dicho anteriormente, sobre el metodo b


asico de resolucion
en el que generamos todas las posibles resolventes hasta encontrar, si es posible,
la clausula vaca, podemos establecer distintos refinamientos que reducen el
tama
no del conjunto de resolventes en el que buscar la clausula vaca. En esta
secci
on vamos a estudiar dos refinamientos que aplicaremos simult
aneamente:
Resoluci
on ordenada: las cl
ausulas se consideran secuencias ordenadas
de literales y la elecci
on del literal a resolver se eligen atendiendo a este
orden.
Resoluci
on lineal: en la secuencia de resolventes, siempre utilizamos la
u
ltima obtenida para hallar la siguiente.

I. T. en Informatica de Sistemas

22

L
ogica Computacional

Establecemos a continuaci
on, detalladamente, las definiciones necesarias
para describir el algoritmo del Resolucion Lineal Ordenada.
Consideramos las clausulas como secuencias ordenadas de literales, de tal
forma que dicho orden no puede ser alterado en el proceso de deduccion.
Para analizar si dos clausulas C1 y C2 , son resolubles, solo miramos el
primer literal por la derecha de C1 .
El literal resuelto en la clausula C1 , se mantiene en la resolvente pero
marcado con un recuadro, excepto si este queda el primero por la derecha.
RO(q p, r p q) = q p r

[= q r]

RO(q p, p) = [q p ] = q
RO(Q(x) P (x, a), R(z) P (b, z) Q(b)) =
= Q(b) P (b, a) R(a)
Las sustituciones que apliquemos posteriormente a estas resolventes actuar
an igualmente sobre los literales recuadrados.
En caso de repeticion y al obtener factores, se elimina el literal repetido
de la derecha.
ROp (q p, r p q) = [q p r q] = q p r
Sobre las cl
ausulas con literales recuadrados, definimos la operaci
on de
Reducci
on: si el primer literal por la derecha es unificable con el opuesto
de un literal recuadrado, aquel es eliminado:
Red(p q r q) = p q r = [RO(p q, p r q)]
Red(P (y) Q(x, y) R(x) Q(a, f (x)) =
= P (f (a)) Q(a, f (a)) R(a)
Los literales recuadrados guardan la informaci
on sobre clausulas que se han
obtenido previamente en el proceso de resolucion; la reduccion consiste en
obtener la resolvente entre la propia clausula y una de las clausulas recordada
por las marcas.
Algoritmo. El algoritmo de resolucion lineal ordenada consiste en la creaci
on de uno o varios arboles en donde cada nodo y cada rama se etiquetan de
una de las siguientes formas:
C1

C1

C1

F actor(C1 )

Red(C1 )

C2
RO(C1 , C2 )

E.T.S.I.Inform
atica

Tema 5: Resolucion.

Las clausulas que etiquetan los nodos se denominan cl


ausulas centrales y las
que etiqueta las ramas se denominan cl
ausulas laterales.
1. La raz del primer
arbol es cualquier clausula del conjunto , C0 ;
esta clausula se denomina cabeza.
2. Cada rama del
arbol se extiende a
nadiendo tantos hijos como clausulas
de o factores de cl
ausulas de sean resolubles respecto al primer
literal por la derecha de la cl
ausula de la hoja.
3. Si la clausula de una hoja es reducible, esta se extiende con una u
nica
rama cuyo nodo se etiqueta con la clausula reducida.
4. Una rama deja de extenderse si ocurre una de las siguientes situaciones:
La cl
ausula de la hoja ya ha sido generada anteriormente en cualquier parte del
arbol (y su rama se ha extendido o parado por otra
causa).
La cl
ausula de la hoja es .
La cl
ausula de la hoja no tiene factores y no es resoluble con ninguna
clausula de .
5. Si detenemos todas las ramas sin generar 2, iniciamos la construccion
de otro arbol a partir del conjunto r{C0 }.
6. Si en cualquier
arbol generamos la clausula vaca, concluimos que el
conjunto es insatisfacible. Si todos los arboles son parados sin generar 2
concluimos que el conjunto es satisfacible.
Habitualmente, la extensi
on de los
arboles se hace buscando las ramas no
detenidas primero en profundidad. En el caso de primer orden, las implementaciones de este algoritmo deben incluir varios mecanismos para evitar entrar
en bucles. En la aplicaci
on manual del algoritmo no consideraremos ninguno
de estos mecanismos, ya que pueden complicar en exceso su aplicaci
on. De la
misma forma, al aplicarlo manualmente es conveniente escribir cada rama de
manera independiente; si ella no nos lleva a la clausula vaca, iniciaremos otra
rama del mismo
arbol. Si trabajamos de esta forma, debemos estar seguros de
que hemos desarrollado todas las posibles ramas antes de eliminar la clausula
cabeza para iniciar un segundo
arbol.
Ejemplo 5.4.1
= {p q, p r, q r, q w, r w, q r}

I. T. en Informatica de Sistemas

23

24

L
ogica Computacional

Ejemplo 5.4.2 0 = {p q r, q r s p, r p s, r s q}

Iniciamos un segundo arbol para 1 = {qrsp, rps, rsq}

E.T.S.I.Inform
atica

Tema 5: Resolucion.

25

Dado que 2 = {r p s, r s q} est


a formado por dos clausulas
que no son literales opuestos, podemos concluir que es satisfacible y en consecuencia tambien lo es .

Ejemplo 5.4.3 = {R(x) S(a), Q(x) R(x), Q(a) R(x), S(x)} es


satisfacible
R(x) S(a)
S(y)
[y/a]
R(x)
Q(a) R(y)
[x/y]
R(y) Q(a)
Q(x) R(x)
[x/a]
R(y) Q(a) R(a)
Reducci
on, [y/a]

Ejemplo 5.4.4 Estudiemos la validez de A = yx(F (x, y)z(F (x, z)


F (z, x))),
A = yx(F (x, y) z(F (x, z) F (z, x)))
yx((F (x, y) z(F (x, z) F (z, x)))
(F (x, y) z(F (x, z) F (z, x))))
yxz((F (x, y) t(F (x, t) F (t, x)))
(F (x, y) (F (x, z) F (z, x))))
yxzt((F (x, y) F (x, t) F (t, x))
(F (x, y) F (x, z)) (F (x, y) F (z, x)))
xt((F (x, a) F (x, t) F (t, x))
(F (x, a) F (x, f (x))) (F (x, a) F (f (x), x)))

= {F (x, a) F (x, t) F (t, x), F (x, a) F (x, f (x)), F (x, a) F (f (x), x)}

I. T. en Informatica de Sistemas

26

L
ogica Computacional

F (x, a) F (x, t) F (t, x)


Factor, {x/a, t/a}: F (a, a)
F (x, a) F (x, f (x))
[x/a]
F (a, a) F (a, f (a))
F (x, a) F (x, t) F (t, x)
Factor, [t/a]: F (x, a) F (a, x)
[x/f(a)]
F (a, a) F (a, f (a)) F (f (a), a)
F (x, a) F (f (x), x)
[x/a]
F (a, a) F (a, f (a)) F (f (a), a) F (a, a)
Reduccion

5.5.

Cl
ausulas de Horn

Un programa l
ogico es un conjunto de formulas que responden al siguiente
esquema
(A1 An ) A
en donde A y cada Ai son atomos; en particular, no se incluye la negaci
on. Este
tipo de conjuntos responde a la idea de una base de conocimiento compuesta
por reglas. Si n = 0, la regla se reduce al atomo A; estas reglas se denominan
hechos. Cada
atomo Ai debe ser distinto de , ya que en caso contrario la
regla sera una tautologa y por lo tanto superflua en el programa. El atomo A
s puede ser ; en ese caso, la regla es equivalente a la formula (A1 An )
y se denomina restricci
on.
Si las reglas de un programa logico se convierten en forma clausal, obtenemos un conjunto de clausulas que contienen a los sumo un literal positivo.
Este tipo de cl
ausulas se denominan cl
ausulas de Horn y por lo tanto, trabajar
con programas l
ogicos es equivalente a considerar conjuntos de clausulas de
Horn.
Siguiendo con la identificaci
on de los programas los logicos con bases de
conocimiento basadas en reglas, la realizaci
on de una consulta a esta base de
conocimiento se corresponde con el estudio de la validez de una inferencias.
Concretamente, hacer una consulta es preguntarse si una afirmacion A (atomo
del lenguaje) es deducible del programa, es decir, si la inferencia P |= A es
valida. Para estudiar la validez de esta inferencia usando resolucion, debemos

E.T.S.I.Inform
atica

Tema 5: Resolucion.

construir previamente la forma clausal de P {A} que tambien estar


a formada por clausulas de Horn.
La aplicaci
on del metodo de resolucion sobre conjuntos de clausulas de
Horn (y por lo tanto el estudio de consultas sobre un programa logico), admite
refinamiento m
as fuertes, lo que recogemos en los siguientes resultados.
Lema 5.19 Sea un conjunto de cl
ausulas de Horn. Si todas las cl
ausulas
contienen un literal positivo, entonces el conjunto es satisfacible.
Teorema 5.20 Sea un conjunto de cl
ausulas de Horn. Si es insatisfacible, entonces existe una refutaci
on por resoluci
on lineal tal que:
La cabeza es una cl
ausula negativa (no contiene literales positivos).
Las cl
ausulas laterales son elementos de .
Es decir, si aplicamos el algoritmo de resolucion lineal ordenada sobre
un conjunto de cl
ausulas de Horn, empezaremos siempre por una clausula
negativa (si no existiera podremos afirmar que el conjunto es satisfacible)
y no necesitaremos utilizar literales marcados, ya que todas las resolventes
obtenidas ser
an igualmente negativas y por lo tanto nunca se podr
a aplicar el
paso de reduccion.

I. T. en Informatica de Sistemas

27

28

L
ogica Computacional

E.T.S.I. Inform
atica

L
ogica Computacional: Relaci
on 5

1. Dada la formula A = x(P (x) yP (y)), halle un conjunto de


formulas en forma normal de Skolem tal que sea satisfacible si y solo
si lo es A. Determine el universo y la base de Herbrand de y estudie
la satisfacibilidad y la validez de A utilizando el metodo de Gilmore.
2. Para la formula A = x(yP (x, y) (zQ(z) R(x))), determine
una formula en forma normal de Skolem equisatisfacible con A y determine su universo su base de Herbrand. Determine una formula en forma
normal de Skolem equisatisfacible con A y determine su universo y base
de Herbrand.
3. Estudie la validez de la siguientes inferencias utilizando el metodo de
Gilmore:

x(P (x) y(D(y) L(x, y)))


a)

x(P (x) y(Q(y) L(x, y)))

b)

x(D(x) Q(x))

xyz((P (x, y) P (y, z)) A(x, z))


xyP (y, x)

xyA(y, x)

4. Estudie la satisfacibilidad de los siguientes conjuntos usando resolucion


a) {p r s, p r s, p rs, pr s}
b) {p q r s, q r s, p r s, q s, p s}
c) {p q, q r s, p q r s, r, q}
5. Diga si son unificables o no los siguientes pares de atomos y en caso
afirmativo dar el unificador m
as general:
Q(f (a), g(x)), Q(y, y)
P (f (x, h(x), y)), P (f (g(z), w, z))
P (a, x, f (g(y))), P (y, f (z), f (z))
P (x, g(f (a)), f (x)), P (f (a), y, y)
P (x, g(f (a)), f (x)), P (f (y), z, y)
P (a, x, f (g(y))), P (z, h(z, u), f (u))

E.T.S.I.Inform
atica

Tema 5: Resolucion.

29

6. Determine si las siguientes cl


ausulas tienen factores y en tal caso determnelos:
P (x) Q(y) P (f (x)

P (x) P (a) Q(f (x)) Q(f (a))

P (x, y) P (a, f (a))

P (a) P (b) P (x)

P (x) P (f (y)) Q(x, y)


7. Encuentre todas las posibles resolventes, si existen, de los siguientes pares
de clausulas:
P (x) Q(x, b) y P (a) Q(a, b)
P (x) Q(x, x) y Q(a, f (a))
P (x, y, u) P (y, z, v) P (x, v, w) P (u, z, w), y P (g(x, y), x, y)
P (v, z, v) P (w, z, w) y P (w, h(x, x), w)
8. Estudie la satisfacibilidad de los siguientes conjuntos de clausulas
{P (x), Q(x, f (x)) P (x), Q(g(y), z)}.
{Q(a) R(x), Q(x) R(x), R(x) S(a), S(x)}.
{P (a), D(y) L(a, y), P (x) Q(y) L(x, y), D(b), Q(b)}.
{P (x, f (x), e), S(x) S(y) P (x, f (y), z) S(z), S(a), S(e)}.
9. Lea la secci
on 5.5 y analice cuales de los conjuntos del ejercicio anterior est
an formados por cl
ausulas de Horn. Estudie su satisfacibilidad
atendiendo a las restricciones detalladas en dicha secci
on.

I. T. en Informatica de Sistemas

30

L
ogica Computacional

E.T.S.I. Inform
atica

L
ogica Computacional: Ejercicios propuestos (5)
1. Estudie la insatisfacibilidad del siguiente conjunto de clausulas:
M (a, s(c), s(b))
P (a)
M (x, x, s(x))
M (x, y, z) M (y, x, z)
M (x, y, z) D(x, z)
P (x) M (y, z, u) D(x, u) D(x, y) D(x, z)
D(a, b)
2. Estudie la insatisfacibilidad del siguiente conjunto de clausulas
P (y, a) P (f (y), y)
P (y, a) P (y, f (y))
P (x, y) P (f (y), y)
P (x, y) P (y, f (y))
P (x, y) P (y, a)
3. Estudie la insatisfacibilidad del siguiente conjunto de clausulas:
P (x, y, u) P (y, z, v) P (x, v, w) P (u, z, w)
P (g(x, y), x, y)
P (x, h(x, y), y)
P (k(x), x, k(x))
4. Para cada una de las formulas siguientes, A: determine una formula en
forma normal de Skolem equisatisfacible con A y determine su universo
y base de Herbrand; determine una formula en forma normal de Skolem
equisatisfacible con A y determine su universo y base de Herbrand.
a) xP (x) xQ(x)
b) x(P (x) yR(y))
c) x(P (x) yQ(x, y))
d) x(yP (y) z(Q(z) R(x)))
e) xy(zP (z) u(Q(x, u) vQ(y, v)))
f ) xy(z(P (x, z) P (y, z)) uQ(x, y, u))
g) xyz((P (x, y)P (y, z)) Q(x, z))(xyP (x, y) xyQ(x, y))

E.T.S.I.Inform
atica

También podría gustarte