Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Indice general
1. Logica de Primer Orden 1
1.1. Lenguaje L
1
de una L ogica de Primer Orden . . . . . . . . . . . . . . . . . . . . 3
1.1.1. Alfabeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.2. Formulas Bien Formadas o Palabras del lenguaje . . . . . . . . . . . . . . 5
1.1.3.
Arbol Sintactico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.1.4. Signo de una ocurrencia de una subf ormula . . . . . . . . . . . . . . . . . 13
1.1.5. Variables Libres y Variables Ligadas . . . . . . . . . . . . . . . . . . . . . 14
1.1.6. Sustitucion de variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.2. Sem antica para los Lenguajes de Primer Orden . . . . . . . . . . . . . . . . . . . 20
1.2.1. Sem antica de Tarski . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
1.2.2. Satisfacibilidad y Validez . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.2.3. Equivalencia L ogica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
1.3. Forma Normal Prenexa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
1.4. Skolemizaci on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
1.5. Consecuencia L ogica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
1.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
2. Modelos de Herbrand 53
2.1. Interpretaciones de Herbrand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.2. Teorema de Herbrand y Semidecidibilidad de L
1
. . . . . . . . . . . . . . . . . . 59
2.2.1.
Arboles Sem anticos en L
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . 61
2.2.2. Teorema de Herbrand . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.3. Modelos Finitos y Modelos Innitos . . . . . . . . . . . . . . . . . . . . . . . . . 69
2.3.1. Compacidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
2.4. Indecidibilidad de L
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
3. Sistemas Deductivos para L
1
75
3.1. Un sistema axiomatico para L
1
. . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.1.1. El Teorema de la Deducci on . . . . . . . . . . . . . . . . . . . . . . . . . . 78
3.1.2. Correccion y Completitud de L
1
. . . . . . . . . . . . . . . . . . . . . . . 81
3.1.3. Correccion, Completitud y Semidecidibilidad . . . . . . . . . . . . . . . . 83
3.2. Deducci on Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
3.3. Teoras de Primer Orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
3.3.1. Teoras con Igualdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
iii
iv
INDICE GENERAL
3.4. Algunas Teoras de Primer Orden con Igualdad . . . . . . . . . . . . . . . . . . . 94
3.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4. Metodo de las Tablas semanticas 101
4.0.1. Reglas de Extensi on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
4.0.2. Reglas para una Extensi on Sistematica . . . . . . . . . . . . . . . . . . . . 105
4.1. Descripcion del Metodo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
4.2. Correccion y Completitud . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
4.2.1. Tablas sem anticas para la Construccion de Modelos . . . . . . . . . . . . 110
4.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
5. Metodo de Resoluci on 119
5.1. Resolucion b asica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
5.2. Unicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
5.2.1. El Algoritmo de Unicacion . . . . . . . . . . . . . . . . . . . . . . . . . . 126
5.2.2. El Algoritmo de Unicacion (versi on 2) . . . . . . . . . . . . . . . . . . . 129
5.3. Resolucion de
Atomos no b asicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 131
5.3.1. Resolucion Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136
5.3.2. Resolucion Lineal Ordenada . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.4. Cl ausulas de Horn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.4.1. Programacion logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
5.4.2. Mnimo Modelo de Herbrand para un Programa logico . . . . . . . . . . . 147
5.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Captulo 1
Logica de Primer Orden
En el primer libro hemos contemplado el tipo m as simple de lenguaje logico, el de la logica
proposicional clasica, la cual, a n de establecer criterios sobre la exactitud de razonamientos,
formaliza la parte m as elemental de nuestro lenguaje natural. Concretamente:
solo considera las frases declarativas, llamadas proposiciones o enunciados, a las que es
posible considerar o bien verdaderas o bien falsas y con ning un otro valor de verdad
(es decir, es bivaluada y trabaja con el Principio del tercero excluido: A A siempre es
verdadera). Este valor de verdad queda completamente determinado por el valor de verdad
o falsedad de los enunciados simples que la componen y por las partculas no, o, y, si . . .
entonces, si y solo si, utilizadas como elementos de enlace (es decir, es veritativo-funcional ).
La asignaci on de valores de verdad o falsedad a los enunciados se realiza sin recurrir a
consideraciones de contexto alguno y sin considerar la estructura interna de los enunciados
simples (es decir, trabaja al nivel m as sencillo de an alisis: el sujeto y el predicado que
componen internamente un enunciado simple son irrelevantes, como entidades aisladas,
para la logica proposicional).
As, si consideramos el razonamiento:
Todo estudiante es inquieto.
Luis es un estudiante.
Por lo tanto, Luis es inquieto.
intuitivamente, no dudamos en armar que es un razonamiento correcto, ya que responde a la
forma Todo A es B y C es un A. Por lo tanto C es un B. Sin embargo, puesto que la
logica proposicional no contempla estructura alguna en los enunciados declarativos simples, su
lenguaje unicamente permite representar las expresiones Todo estudiante es inquieto, Luis es
un estudiante y Luis es inquieto, por smbolos proposicionales p, q y r respectivamente. Por
lo tanto, este razonamiento no es analizado como valido en la logica proposicional. En efecto,
en el marco de dicha logica su formalizacion viene dada por
p
q
r
1
2 CAP
ITULO 1. L
ITULO 1. L
llamado su aridad
(que representa el n umero de argumentos).
8. un conjunto numerable y no vaco, P, de smbolos de predicado y una funcion
ar
p
: P N que asigna a cada smbolo de predicado un elemento de N
llamado su
aridad (que representa el n umero de argumentos).
Los smbolos referidos en los temes 1, 2, 3, 4 y 5 son comunes a todos los lenguajes de primer
orden. Por su parte, la eleccion de los conjuntos C, F y P proporciona un lenguaje especco
de primer orden y viene determinada por la aplicaci on que se pretende. Supondremos que los
conjuntos V, C, F y P son disjuntos dos a dos.
Los smbolos de predicado de aridad 1, se denominan propiedades y los smbolos de predicado
de aridad mayor que 1 se denominan relaciones.
ee r r
Consideraremos que la aridad, tanto de los smbolos de predicados como de los smbolos de
funci on, es mayor o igual que 1. Podemos hablar as de:
predicados mon adicos o monarios o de aridad 1 (como ser ave, ser cuadrado, ser
par, ser actriz)
predicados poliadicos o de aridad > 1 (como ser tio de binario; estar sentado
entre . . . y . . . ternario; ser due no de . . . , . . . y . . . de aridad 4, etc).
Del mismo modo, consideraremos los smbolos de funci on monarios o de aridad 1 (como: la
madre de, el doble de, el lugar de nacimiento de) y poliadicos o de aridad > 1 (como
la suma de . . . y . . . binario; el due no de . . . , . . . y . . . ternario, etc).
Denicion 1.1 La signatura de un lenguaje de primer orden recoge los smbolos no co-
munes, propios de cada lenguaje de primer orden, es decir, la signatura es el conjunto de smbolos
= C F P
Hablaremos pues de un lenguaje de primer orden sobre la signatura y lo denotaremos L
1
()
(o bien L
1
(C, F, P)).
1.1. LENGUAJE L
1
DE UNA L
= V {, , , , , , ,
,
, (, )}
Habitualmente, usaremos como smbolos:
las primeras letras del alfabeto a, b, c, . . . (posiblemente subindizadas) para representar los
smbolos de constantes.
las ultimas letras del alfabeto x, y, z, . . . (posiblemente subindizadas) para representar los
smbolos de variables.
las letras f, g, h, . . . (posiblemente subindizadas) para representar los smbolos de funcion.
las letras P, Q, R, . . . (posiblemente subindizadas) para representar los smbolos de predi-
cado.
ee r r
Usando la terminologa de los lenguajes de programacion, podemos pensar en
- los conectivos, como conjunto de instrucciones,
- los cuanticadores, como llamadas a procedimientos.
- los smbolos de constantes, como constantes.
- los smbolos de variables, como par ametros formales,
- los terminos en los que intervienen smbolos de funci on, como estructuras de datos,
- los smbolos de predicados, como procedimientos.
1.1.2. Formulas Bien Formadas o Palabras del lenguaje
La mayor complejidad, respecto al caso proposicional, de la logica que deseamos denir,
comienza a hacerse patente en los pasos requeridos para la descripcion del conjunto de formulas
bien formadas. Para denir el conjunto de cadenas de smbolos del alfabeto que denen un
lenguaje de primer orden, necesitamos introducir la nocion de atomo (ya que, a diferencia del
caso proposicional, el alfabeto no incluye smbolos proposicionales que representen aisladamente
a los atomos).
Como ya hemos indicado, los atomos deseados han de permitir discernir que se predica
y de que se predica. Si analizamos el alfabeto, el conjunto de smbolos de predicado, P, nos
proporciona el primer objetivo. Sin embargo, todos los smbolos en V, C y F est an destinados
a representar elementos del universo del discurso sobre los que se predica. Necesitamos pues
describir que cadenas de smbolos representan elementos del universo del discurso. Para ello
introducimos la nocion de termino:
6 CAP
ITULO 1. L
)
n
a
mediante:
C
f
(t
1
, . . . , t
n
) = f(t
1
, . . . , t
n
)
El conjunto de los terminos sobre a es la clausura inductiva del conjunto V C para el
conjunto de constructores {C
f
| f F}. Denotaremos por T
erm
el conjunto de terminos.
Habitualmente, el conjunto de los terminos se presenta, m as informalmente, de la manera
siguiente: Los terminos sobre a son los elementos de a
de la forma P(t
1
, . . . , t
n
),
donde P es un smbolo de predicado n-ario y t
1
, . . . , t
n
son terminos. Denotaremos por Atom el
conjunto de atomos. Los atomos son las fbfs mas simples de L
1
.
3
Denicion 1.5 Los atomos en los que no intervienen variables se llaman atomos basicos y
son las expresiones mas sencillas del lenguaje que son interpretables como aserciones (armamos
que una n-upla de objetos estan relacionados en la forma expresada por el smbolo de predicado
n-ario).
Tenemos ya todo lo necesario para denir el conjunto de fbfs, esto es, el lenguaje. Los
cuanticadores y los conectivos permitiran obtener fbfs complejas a partir de los atomos (de
modo similar al caso proposicional).
3
De ah el adjetivo de at omica.
1.1. LENGUAJE L
1
DE UNA L
, C
, C
, C
, C
} {U
x
, E
x
| x V}
De manera menos formal, podemos describir el conjunto de las fbfs, como el conjunto de los
elementos de a
= C
donde C
es el conjunto de
smbolos de funcion que intervienen en y P
ITULO 1. L
ITULO 1. L
ITULO 1. L
=
{((x)(R(x) (y)T(x, y)), R(x) (y)T(x, y), R(x), (y)T(x, y), T(x, y), T(x, y)}
1.1.3.
Arbol Sintactico
Denicion 1.11 El arbol sint actico para una fbf, A, de L
1
, denotado T
A
, es el a-arbol,
donde a es el alfabeto para L
1
, denido recursivamente como sigue:
1. T
A
es A, si A es un atomo
2. T
A
es
T
A
3. T
AB
(donde {, , , }) es
T
A
T
B
@
@
4. T
QxA
es
T
A
Qx
Ejemplo 1.5 El arbol sintactico de la fbf
(x)
_
R(x) (y)T(x, y)
_
(z)
_
(u)P(u, z) (v)Q(v, z)
_
es
R(x)
y
@
@
T(x, y)
z
@
@
u v
P(u, z) Q(v, z)
x
H
H
H
Como en el caso proposicional, las subf ormulas de una fbf quedan caracterizadas en terminos
de los subarboles del arbol sintactico de la fbf:
B es una subf ormula de A si y solo si T
B
es un subarbol de T
A
.
1.1. LENGUAJE L
1
DE UNA L
ITULO 1. L
Q(z)
y
H
H
H
R(y, z)
@
@
los rangos de sus cuanticadores son:
P(x, z) para (x).
Q(z) R(y, z) para (y).
(x) P(x, z) (y) (Q(z) R(y, z)) para (z).
La fbf R(y, z) ocurre en el rango de los cuanticadores (y) y (z).
Dada una variable, x, que ocurre en una fbf, A, deseamos distinguir si una determinada
ocurrencia de x est a o no en el rango de un cuanticador (Qx). Para ello introducimos las
siguientes deniciones:
Denicion 1.14 Una ocurrencia de una variable, x, es una ocurrencia ligada si es la variable
de un cuanticador o bien si esta en el rango de un cuanticador que la tiene como variable.
Una ocurrencia de una variable, x, es una ocurrencia libre si no es ligada.
1.1. LENGUAJE L
1
DE UNA L
ITULO 1. L
) = V
libre
(A) = {x, z} y V
ligada
(A
) = {v, y}
1.1. LENGUAJE L
1
DE UNA L
ITULO 1. L
k=8
k=1
A
k
i
, la variable i es una variable libre y k es una variable ligada.
Se puede por lo tanto renombrar k, por ejemplo, por j sin alterar su signicado, pero no
podemos renombrar k por i.
Si consideramos la formula para evaluar una integral doble seg un el teorema de Fubini
_
b
a
_
_
h(y)
g(y)
f(x, y)dx
_
dy.
en la expresion entre parentesis todas las ocurrencias de x est an ligadas (por la ligadura dx),
sin embargo las de y son ocurrencias libres, en el sentido de que no han de ser evaluadas en
la primera etapa.
20 CAP
ITULO 1. L
ITULO 1. L
(f(t
1
, . . . , t
n
)) = I(f)(I
(t
1
), . . . , I
(t
n
)).
ee r r
Observese que si un termino t es b asico (sin variables), el signicado en U asignado a t por
una funcion de signicado I
(t). As pues,
escribiremos I(f(a)) en lugar de I
(f(a)).
Ahora, nuestro objetivo es introducir las nociones de satisfacibilidad y de validez. Para ello
requerimos previamente conocer el valor de verdad asignado por una funcion de valuaci on a una
fbf.
Denicion 1.29 Dada una interpretacion (U, I) y una valuaci on de variables asociada a
(U, I), denimos el valor de verdad de un atomo como sigue: I
() = 0, I
() = 1 y
I
(P(t
1
, . . . , t
n
)) = 1 si y solo si (I
(t
1
), . . . , I
(t
n
)) I(P)
1.2. SEM
(P(t
1
, . . . , t
n
)) = 1 si la n-upla (I
(t
1
), . . . , I
(t
n
)) de elementos de U estan en la
relaci on I(P) (es decir, en la relaci on n-aria en U que I asocia a P).
Esta denicion se extiende recursivamente a todas las fbfs del siguiente modo:
I
(A) = 1 si y solo si I
(A) = 0, es decir, I
(A) = 1 I
(A)
I
(AB) = 1 si y solo si I
(A) = 1 y I
(B) = 1, es decir, I
(AB) = mn{I
(A), I
(B)}
I
(AB) = 1 si y solo si I
(A) = 1 o I
(B) = 1, es decir, I
(AB) = m ax{I
(A), I
(B)}
I
(A B) = 1 si y solo si I
(A) = 0 o I
(B) = 1, es decir,
I
(A B) = m ax{1 I
(A), I
(B)}
La denicion para las fbfs (x)A y (x)A requiere una denicion previa que permite expresar
la asignaci on de valores a una variable concreta.
Denicion 1.30 Dos valuaciones de variables y
se dicen x-equivalentes si
(y) =
(y) para toda variable y = x.
Obviamente, dado un smbolo de variable x, la relaci on de x-equivalencia es una relaci on de
equivalencia en el conjunto de valuaciones de variables.
Denicion 1.31
I
( (x)A) = 1 si y solo si I
que sea x-
equivalente a , es decir,
I
( (x)A) = inf{I
(A) |
es x-equivalente a }
I
( (x)A) = 1 si y solo si I
que sea x-
equivalente a , es decir,
I
( ((x)A) = sup{I
(A) |
es x-equivalente a }
ee r r
En la secci on anterior, hemos analizado el proceso sint actico de sustitucion de una variable
por un termino en una fbf. que relacion existe entre el signicado de una fbf y el signicado
de la fbf obtenida tras este proceso?. Como indicamos all, en las aplicaciones nos intere-
sara preservar el signicado. Por ejemplo, al sustituir x por f(y) en P(x, a) procuramos que
el objeto que asignamos a la variable x y al termino f(y) sea el mismo. Tenemos al respecto
el siguiente resultado, cuya demostracion se deja al lector:
Teorema 1.1 (Teorema de sustitucion)
1. I
([x/t
2
]t
1
) = I
(t
1
), siendo
x-equivalente a y I
(t
2
) =
(x).
2. I
([x/t]A) = I
(A), siendo
(t) =
(x).
24 CAP
ITULO 1. L
(A) = 1.
2. Una fbf A se dice verdadera en una interpretacion (U, I), denotado |=
(U,I)
A o bien por
I(A) = 1 (si no hay lugar a confusion), si para toda valuaci on de variables se tiene que
I
(A) = 1.
3. Una fbf, A, se dice que es valida, denotado |= A, si es verdadera en toda interpretacion
(U, I), es decir, si I(A) = 1 para toda interpretacion (U, I). Obviamente, es v alida.
4. Una fbf A se dice insatisfacible o que es una contradicci on, si I
(A) = 1.
- para que una interpretaci on, I, satisfaga o modelize a una fbf, A, basta que para alguna
valuacion se tenga que I
(A) = 1.
Como en la logica proposicional, es costumbre utilizar indistintamente las expresiones A es
verdadera en M = (U, I) y M es un modelo para A.
ee r r
Dada una fbf, A o, en general, un conjunto de fbfs, , una interpretaci on (U, I) y una valua-
cion de variables , el valor de verdad asignado a por I
, F
, P
; U; {d
1
, . . . , d
n
}; {F
1
, . . . , F
m
}; {R
1
, . . . , R
k
})
donde
= C
.
Para toda valuaci on de variables, , tal que (x) 0 se tiene que I
(P(x, 0)) = 0.
12
En denitiva, una interpretacion M para un conjunto nito de fbfs , es la restriccion de una interpretacion
(U, I) al conjunto de smbolos de constantes, de smbolos de funciones y de smbolos de predicado que intervienen
en . En adelante, para expresar el valor de verdad asignado por M a A seguiremos escribiendo I(A).
26 CAP
ITULO 1. L
tales que
(x) = 2. Obviamente, cada valuaci on x-equivalente a una del primer tipo es del segundo
tipo y viceversa.
Para estas valuaciones se tiene que:
I
(P(x)) = 0 ya que 2 =
1
(Q(x, y)) = 1, ya que (1, 1) = (
1
(x),
1
(y)) I(Q) = {(1, 1), (2, 2)}. Por lo tanto,
I
1
((y)Q(x, y)) = 1 y al ser
1
y
3
y-equivalentes tambien I
3
((y)Q(x, y)) = 1.
I
2
(Q(x, y)) = 1, ya que (2, 2) = (
2
(x),
2
(y)) I(Q) = {(1, 1), (2, 2)}. Por lo tanto,
I
2
((y)Q(x, y)) = 1 y al ser
2
y
4
y-equivalentes tambien I
4
((y)Q(x, y)) = 1
y, en consecuencia, para toda
i
donde i {1, 2, 3, 4}, se tiene que
I
i
( (x)((y)Q(x, y) ) = 1
Por lo tanto, (x)(y)Q(x, y) es verdadera en la interpretacion considerada, es decir,
I( (x)(y)Q(x, y) ) = 1.
1.2. SEM
son
dos valuaciones de variables tales que (x) =
(A) = 1 si y solo si I
(A) = 1
Demostraci on: Lo demostramos por induccion sobre el n umero n de conectivas booleanas y
smbolos de cuanticaci on en A.
Supongamos que n = 0. Entonces A es un atomo y toda variable en A es libre. Por lo tanto,
puesto que (x) =
(A) = I
(A).
Supongamos que el resultado es cierto para n < k y lo demostramos para n = k. Demos-
tramos los casos en que A = B, A = B C y A = (x)B. La demostracion para las otras
conectivas booleanas y para son an alogas.
Sea A = B. Sea M = (U, I) una interpretacion de L
1
y sean y
dos valuaciones
de variables tales que (x) =
(A) = 1 si y solo si I
(B) = I
(A) = 1 si y solo
si I
(A) = 1.
Sea A = B C. Sea M = (U, I) una interpretacion de L
1
y y
dos valuaciones de
variables tales que (x) =
(A) = 1 si y solo si I
(B) = I
(B) = I
(B) y I
(C) = I
(C).
Por lo tanto, I
(A) = 1 si y solo si I
(A) = 1.
Sea A = (x)B. Sea M = (U, I) una interpretacion de L
1
y sean y
dos valuaciones
de variables tales que (x) =
(A) = 1.
Para ello habra que comprobar que I
que sea
x-equivalente a
:
Sea
(y), si y V
libre
(B)
(y), en caso contrario
Veamos que es x-equivalente a . Sea y cualquier variable distinta de x, como
es
x-equivalente a
, resulta que
(y) =
ITULO 1. L
(B) = 1, pues I
(B) = I
(B) y entonces
I
(A) = 1.
La demostracion del inverso es an aloga.
Teorema 1.3 Dada una fbf cerrada A y una interpretacion M = (U, I), se tiene que I(A) = 1
o bien I(A) = 0
Demostraci on: Puesto que A no tiene variables libres, dos valuaciones de variables cuales-
quiera y
(A) = 1 si y solo si
I
(A) = 1. As pues, I
(A(x)) = 1. Entonces, I
ITULO 1. L
ITULO 1. L
(A) = I
(B).
Denicion 1.39 Dos fbfs A y B se dice que son logicamente equivalentes, denotado A B,
si A
M
B para toda interpretacion M en L
1
. Obviamente,
A
M
B si y solo si A B es verdadera en M
A B si y solo si A B es v alida
En particular, dos fbfs cerradas A y B son logicamente equivalentes si Mod(A) = Mod(B).
Los siguientes ejemplos de equivalencias muestran como, sem anticamente, podemos expresar
un cuanticador en terminos del otro:
(x)A (x)A
(x)A (x)A
En consecuencia, si O es un conjunto de conectivas completamente expresivo para la logica
clasica proposicional, se tiene que
O {} y O {}
tienen total expresividad para la logica clasica de primer orden. En particular,
{, , } y {, , }
son conjuntos adecuados de conectivas.
ee r r
Conviene hacer de nuevo hincapie en que una frase del lenguaje natural (de las contem-
pladas por la logica clasica de primer orden), como ocurra en el caso proposicional, puede
ser formalizada por diversas fbfs del lenguaje L
1
(m as a un, por una innidad numerable
de fbfs) todas ellas semanticamente equivalentes, es decir, que transmiten la misma infor-
maci on. As pues, No todas las aves pueden volar puede ser puede ser formalizada por
(x)
_
A(x) V (x)
_
, donde A() formaliza es un ave y V () formaliza puede
volar, o bien por (x)
_
A(x) V (x)
_
, es decir Existen aves que no pueden volar.
Por lo tanto, ante una frase del lenguaje natural, nuestro quehacer habr a de centrarse en re-
exionar cual es la informacion que deseamos transmitir para despues proceder a formalizarla
mediante L
1
.
El siguiente resultado es una particularizacion del Teorema 1.5:
Teorema 1.6 Todo esquema de equivalencia en la logica clasica proposicional es un esquema
de equivalencia en la logica clasica de primer orden.
Por lo tanto, en L
1
disponemos de todas las equivalencias b asicas de la logica clasica propo-
sicional: leyes de Morgan, ley de la doble negaci on, leyes de absorcion, leyes de cero y uno,
etc.
Nos queda pues conocer las leyes en L
1
que nos muestran la interacci on de las conectivas
booleanas con los cuanticadores y de los cuanticadores entre s y que son las siguientes:
1.2. SEM
{, } y z no ocurre ni en A ni en B, entonces
(Qx)A(x) (Q
x)B(x)
(Qx)A(x) (Q
z)B([x/z]) (Qx)(Q
z)(A(x) B(z)) (Q
z)(Qx)(A(x) B(z))
Demostracion de 5:
Supongamos que x no ocurre en B.
14
Sea (U, I) una interpretacion cualquiera de L
1
tal que
I
(A(x) B) = 0; es decir, I
(A(x)) = I
((x)A(x)) = 0.
Ademas, dado que x no ocurre en B, entonces y
(B) = 0.
Por consiguiente, I
(B) = I
(C).
Tenemos que probar que I
(A) = I
ITULO 1. L
( (x)A
1
) = I
( (x)A
1
[B/C] ).
En efecto, I
((x)A
1
) = 1 si y solo si para toda valuaci on de variables
que es x-
equivalente a se tiene que I
(A
1
) = 1 si y solo si (por hip otesis de induccion) I
(A
1
[B/C]) =
1 si y solo si I
((x)A
1
[B/C]) = 1.
Como corolario de este teorema, se tiene el siguiente resultado que generaliza el teorema del
mismo nombre para la logica clasica proposicional.
Teorema 1.8 (de Equivalencia) Si B es una subf ormula de A y B C, entonces A
A[B/C].
El paso de A a A[B/C] se denomina transformaci on de equivalencia.
Las siguientes equivalencias, cuya demostracion se deja como ejercicio al lector, justican las
restricciones que, a nivel sintactico, hemos establecido para las fbfs:
Lema 1.1 Dada una fbf A y z un smbolo de variable que no ocurre en A(x), entonces:
1. (Qz)A A
2. (Qx)A(x) (Qz)A(z)
3. (Qx)(Q
x)A(x) (Qx)(Q
z)A(z) (Q
z)A(z)
El teorema de equivalencia permite generalizar la segunda equivalencia y justicar la denicion
de renombramiento dada en la Secci on 1.1.6:
Corolario 1.1 Si Qx es un cuanticador en la fbf A y la variable z no ocurre en A, la fbf
obtenida a partir de A sustituyendo x por z en Qx y en su rango, es equivalente a A.
En denitiva, la relaci on A coincide con B salvo renombramiento es una relaci on de equiva-
lencia.
1.3. Forma Normal Prenexa
Como en el caso proposicional, nos interesa disponer de representantes can onicos para las
clases de equivalencia del conjunto cociente L
1
/
ITULO 1. L
ON 37
Ejemplo 1.17 Sea (x)[R(x) (y)T(x, y)] (z) [(u)P(u, z) (v)Q(v, z)]. Hallemos
una fnpcr y una fnpdr equivalentes a ella:
(x)[R(x) (y)T(x, y)] (z) [(u)P(u, z) (v)Q(v, z)]
(x)[R(x) (y)T(x, y)] (z)[(u)P(u, z) (v)Q(v, z)]
(x)[R(x) (y)T(x, y)] (z)[(u)P(u, z) (v)Q(v, z)]
(x)[R(x) (y)T(x, y)] (z)[(u)P(u, z) (v)Q(v, z)]
(x)[R(x) (y(T(x, y)] (z)[(u)P(u, z) (v)Q(v, z)]
(x)(y)[R(x) T(x, y)] (z)(u)(v)[P(u, z) Q(v, z)]
(x)(y)(z)(u)(v)[(R(x) T(x, y)) P(u, z) Q(v, z)] (fnpc)
Usando la regla de distribucion de respcto de hubiesemos obtenido la fnpd
(x)(y)(z)(u)(v)[(R(x) P(u, z) Q(v, z)) (T(x, y) P(u, z) Q(v, z))]
Ejemplo 1.18 Sea (x)
_
P(x) (Q(x) R(x))
_
(y)Q(y). Hallemos una fnpcr y una fnpdr
equivalentes a ella.
(x)
_
P(x) (Q(x) R(x))
_
(y)Q(y)
(x)
_
P(x) Q(x) R(x)
_
(y)Q(y)
(x)(y)
_
(P(x) Q(x) R(x)) Q(y)
_
(fnpc)
(x)(y)
_
P(x) Q(y)) (Q(x) Q(y)) (R(x) Q(y))
_
(fnpd)
ee r r
Advirtamos, que la forma prenexa obtenida por el procedimiento descrito no es necesaria-
mente unica ya que nada hemos establecido sobre en que orden extraer los cuanticadores.
Sin embargo, el orden de los cuanticadores en el prejo de una forma prenexa es importante,
como veremos en la secci on siguiente.
1.4. Skolemizaci on
Las formas normales prenexas permiten utilizar los cuanticadores de un modo limitado (solo
en la cabecera de la fbf) sin perdida de potencia expresiva. Sin embargo, es posible imponer un
uso a un m as restringido de la cuanticaci on que, si bien reduce la potencia expresiva, lo hace
de forma satisfactoria. Concretamente, es posible asociar a toda fbf, A, una fbf, denotada Sk
A
,
llamada forma de Skolem asociada a A, que es una forma normal prenexa y en cuyo prejo
solo existen cuanticadores universales y tal que A y Sk
A
son equisatisfacibles.
Como conocemos por el estudio de la logica proposicional, esta perdida de potencia expresiva
no es demasiado grave, m as a un, carece de importancia si estamos interesados en sistemas de
demostracion (autom atica o no) por refutacion.
En esta secci on, presentamos las formas de Skolem y el proceso a seguir para, dada una fbf
A, obtener Sk
A
. Comencemos analizando algunos ejemplos:
38 CAP
ITULO 1. L
ON 39
Para cualquier smbolo de constante a el conjunto de fbfs
.
ee r r
Seguramente, el lector no se habr a sorprendido de esta respuesta negativa, ya que si P es un
smbolo de predicado binario, con la fbf (x)(y)P(x, y) armamos que para cada x existe
un y que est a relacionado con x por P. En esta situaci on, la practica matematica habitual
es introducir una denicion y = (x) y armar que para cualquier x se tiene que P(x, (x)).
Este es el modo de proceder adecuado. En efecto, como probaremos en esta secci on, se tiene
que
(x)(y)P(x, y) es satisfacible si y solo si (x)P(x, (x)) es satisfacible
para alg un smbolo de funci on .
Pasemos ya a presentar la generalizaci on de las tecnicas utilizadas en estos ejemplos.
Denicion 1.43 Una fbf A se dice que es una forma normal de Skolem si es una forma
prenexa en cuyo prejo s olo aparecen cuanticadores universales.
Dada una fbf cerrada A, se llama forma normal de Skolem asociada a A, denotada Sk
A
,
a toda forma normal de Skolem obtenida del modo siguiente:
1. Obtener por el procedimiento introducido en la seccion anterior una forma normal prenexa,
A
, equivalente a A.
2. Obtener sucesivas formas prenexas a partir de A
ITULO 1. L
_
(y)P(y) (z)Q(z)
_
eliminando los conectivos , obtenemos la fbf
(x)
_
P(x) Q(x)
_
_
(y)P(y) (z)Q(z)
_
restringiendo el ambito de s olo a los atomos, obtenemos la fbf
(x)
_
P(x) Q(x)
_
_
(y)P(y) (z)Q(z)
_
y extrayendo los cuanticadores obtenemos la fbf
(x)(y)(z)
_
(P(x) Q(x)) P(y) Q(z)
_
nalmente, la eliminaci on de (y) y de (x) mediante dos etapas de skolemizaci on nos hace
incluir dos smbolos de constante a y b resultando la fbf
(z)
_
(P(a) Q(a)) P(b) Q(z)
_
ee r r
Advirtamos que, como avanzamos en la secci on anterior, el orden de extraccion de los cuan-
ticadores al obtener una forma prenexa equivalente a la fbf dada, inuye en la complejidad
de la forma normal de Skolem obtenida. En efecto, puesto que no hemos establecido el orden
de extraccion de los cuanticadores, en el ejemplo anterior, podramos haber obtenido la
siguiente forma prenexa
(z)(x)(y)
_
(P(x) Q(x)) P(y) Q(z)
_
La forma de Skolem asociada es ahora mucho mas compleja, puesto que requiere introducir
dos smbolos de funci on monaria, por ejemplo f y g, obteniendo la fbf
(z)
_
(P(f(z)) Q(f(z))) P(g(z)) Q(z)
_
Es importante, pues, a nadir al metodo para obtener una fnp equivalente a una fbf dada, que la
extraccion de los cuanticadores se realiza dando prioridad a los cuanticadores existenciales.
1.4. SKOLEMIZACI
ON 41
La aplicaci on de las etapas de skolemizaci on descritas en la Denici on 1.43 conlleva ciertas
restricciones para la fbf A a la que se aplica. As pues, para aplicar 2.a es preciso que en la fbf
A no intervengan todos los smbolos de constante del lenguaje de primer orden considerado (en
su signatura), y para aplicar 2.b es preciso que en la fbf A no intervengan todos los smbolos
de funcion del lenguaje de primer orden considerado (en su signatura). Por ello, no podemos
armar que para todo lenguaje de primer orden L
1
y toda fbf A de L
1
, mediante sucesivas etapas
de skolemizaci on, se obtiene una forma de Skolem a partir de A.
Podemos solucionar el problema (creado por la restriccion necesaria al asociar a cada fbf
A de lenguaje de primer orden L
1
una forma de Skolem) sin m as que ampliar el lenguaje L
1
a nadiendo a este un n umero suciente de smbolos de constante y de smbolos de funcion. La
denicion siguiente introduce el concepto de extension est andar para un lenguaje de primer
orden.
Denicion 1.44 Dado un lenguaje L
1
de primer orden, denimos L
+
1
como la extensi on de
L
1
obtenida a nadiendo a su alfabeto un conjunto innito numerable C
+
de nuevos smbolos de
constante y, para cada natural n N
verican:
a a
ITULO 1. L
que es y-equivalente a y
tal que I
(B(y)) = 1.
Ahora, si
(y) = u, denimos M
= (U, I
) tal que I
diere de I unicamente en la
interpretacion de a y tal que I
(a) = u. Entonces, I
(B[y/a]) = 1 y, en consecuencia,
B[y/a] es satisfacible.
La demostracion del inverso es similar y se deja al lector.
Como en el tem anterior, bastara demostrarlo para
A = (x
1
) . . . (x
n
)(y)B(x
1
, . . . , x
n
, y)
Sea M = (U, I) una interpretacion en L
1
y una valuaci on de variables tal que
I
((x
1
) . . . (x
n
)(y)B(x
1
, . . . , x
n
, y)) = 1
Sea (u
1
, . . . , u
n
) U
n
y sea
(z) = (z) si z /
{x
1
, . . . , x
n
} y tal que
(x
1
) = u
1
, . . . ,
(x
n
) = u
n
Tenemos, pues, que I
((y)B(x
1
, . . . , x
n
, y)) = 1. Luego existe una valuaci on de variables
que es y-equivalente a
(B(x
1
, . . . , x
n
, y)) = 1.
Sea f un smbolo de funcion n-ario que no aparece en B (esto es posible debido a la
ampliaci on de L
1
a L
+
1
). Ahora, denimos M
= (U, I
) tal que I
diere de I unicamente
en la interpretacion de f y tal que I
(f)(u
1
, . . . , u
n
) =
(y)
es decir, I
(f(x
1
, . . . , x
n
)) =
(y), as como I
(B(x
1
, . . . , x
n
, y)) = 1, pues las interpre-
taciones (U, I) y (U, I
son valuaciones de
variables asociadas a (U, I
) igualmente.
Por el teorema de sustitucion, resulta nalmente que I
(B(x
1
, . . . , x
n
, f(x
1
, . . . , x
n
)) = 1
y, teniendo en cuenta que u
1
, . . . , u
n
eran elementos cualesquiera de U, resulta que
I
((x
1
) . . . (x
n
)B(x
1
, . . . , x
n
, f(x
1
, . . . , x
n
)) = 1
y en consecuencia, que (x
1
) . . . (x
n
)B(x
1
, . . . , x
n
, f(x
1
, . . . , x
n
)) es satisfacible.
La demostracion del inverso es similar y se deja al lector.
Terminamos esta secci on con la denicion de una clase de fbfs que, como en el caso proposicional,
es usada frecuentemente en el campo de la demostracion autom atica y en la programacion logica.
Denicion 1.46 Una fbf A se dice que esta en forma clausal si es una forma normal de
Skolem y su matriz es una forma normal conjuntiva.
1.4. SKOLEMIZACI
ON 43
Como en el caso proposicional, usaremos una notaci on m as concisa escribiendo la matriz
como conjunto de clausulas y omitiendo los cuanticadores (ya que sabemos que todos son
universales)
Ejemplo 1.23 La forma clausal
(x)(y)(z)
_
P(x) (Q(f(x, y) P(g(z))) (Q(x, z) P(a))
_
se representa por el conjunto de clausulas
{P(x), Q(f(x, y) P(g(z)), Q(x, z) P(a)}
El siguiente teorema es un corolario inmediato del Teorema 1.12.
Teorema 1.13 Para toda fbf A de L
1
existe una forma clausal A
Cl
tal que A y A
Cl
son equi-
satisfacibles.
Ejemplo 1.24
1. Para (x)(y)(z)(u)(v)(w)P(x, y, z, u, v, w), una forma clausal equisatisfacible es
(y)(z)(v)P(a, y, z, f(y, z), v, g(y, z, v))
es decir, {P(a, y, z, f(y, z), v, g(y, z, v))}
2. Para (x)(y)(z)
_
(P(x, y) Q(x, z)) R(x, y, z)
_
, una fnpcr equivalente es
(x)(y)(z)
_
(P(x, y) R(x, y, z)) (Q(x, z) R(x, y, z)
_
y una forma clausal equisatisfacible es
(x)
_
(P(x, f(x)) R(x, f(x), g(x))) (Q(x, g(x)) R(x, f(x), g(x))
_
es decir,
{P(x, f(x)) R(x, f(x), g(x)), Q(x, g(x)) R(x, f(x), g(x))}
ee r r
Como ya hemos indicado en el Ejemplo 1.22, el analisis de la transformaci on a forma clausal,
nos delata la importancia del orden de extraccion de los cuanticadores en el proceso de
obtener una forma prenexa equivalente a A. As, por ejemplo, para la fbf
A = (x)
_
R(x) (y)T(x, y)
_
(z)
_
(u)P(u, z) (v)Q(v, z)
_
podemos obtener una fnn equivalente:
(x)(R(x) (y)T(x, y)) (z)((u)P(u, z) (v)Q(v, z))
y extraer los cuanticadores en el orden de ocurrencia en la fbf obteniendo la fbf equivalente
(x)(y)(z)(u)(v)((R(x) T(x, y)) P(u, z) Q(v, z))
La forma clausal obtenida al skolemizar, requiere introducir un smbolo de constante y un
smbolo de funci on ternaria (por ejemplo, los smbolos a y f):
{R(a) T(a, y), P(u, z), Q(f(y, z, u), z)}
44 CAP
ITULO 1. L
(A
i
) = 1 para toda fbf A
i
entonces I
(C) = 1.
ee r r
En la logica clasica proposicional la denicion de consecuencia logica asegura que si no existe
ninguna interpretaci on que hace a A verdadera y a B falsa entonces A |=
Lprop
B; en L
1
necesitamos exigir algo mas, como nos advierte este ejemplo: Es claro que
No existe ninguna interpretacion de L
1
para la cual P(x) sea verdadera
y (x)P(x) falsa,
sin embargo, (x)P(x) no es consecuencia logica de P(x) ya que no se cumple que para
toda interpretaci on M = (U, I) y toda valuacion de variables si I
(P(x)) = 1 entonces
I((x)P(x)) = 1. Sin embargo, si nos limitamos a formular la denicion en terminos de
enunciados (es decir, de fbfs cerradas), la denicion no diere de la dada en el caso proposi-
cional:
Dado un conjunto de fbfs cerradas y una fbf, C, entonces C es consecuencia l ogica de
si todo modelo para es un modelo para A, es decir,
Si M es un modelo de entonces M es un modelo para C
La denicion de consecuencia logica para la logica de primer orden fue dada por primera vez
por Tarski,
16
aunque algunos trabajos previos de Bolzano
17
y Hilbert
18
hacen uso de ella.
De nuevo, como en el caso proposicional, el signicado de |= A coincide con el de |= A.
Asimismo, si nos limitamos a fbfs cerradas, se tiene la equivalencia siguiente:
16
A. Tarski. Der Wahrheitsbegri in den formalisierten Sprachen. Studia Philosophica, 1:261405, 1936.
17
B. Bolzano. Wissenschaftslehre, 1837. Traduccion en R. George, Theory of Science, Univ. California Press,
1972.
18
D. Hilbert. Grundlagen der Geometrie. Teubner, 1899.
1.5. CONSECUENCIA L
OGICA 45
, A |= B si y solo si |= A B
en particular,
A
1
, A
2
, . . . , A
n
|= A si y solo si |= (A
1
A
2
A
n
) A
si y solo si |= A
1
(A
2
(A
3
(A
n
A) . . .))
y tambien, tenemos
Las fbfs A y B son logicamente equivalentes si y solo si A |= B y B |= A
A
1
, A
2
, . . . , A
n
|= A si y solo si A
1
A
2
A
n
A es insatisfacible
El siguiente ejemplo muestra algunas inferencias logicas de interes.
Ejemplo 1.25 En L
1
son validas las siguientes inferencias:
1. (x)A(x) |= (x)A(x)
2. (x)(y)A(x, y) |= (y)(x)A(x, y)
3. (x)A(x) (x)B(x) |= (x)(A(x) B(x))
4. (x)(A(x) B(x)) |= (x)A(x) (x)B(x)
5. (x)A(x) (x)B(x) |= (x)(A(x) B(x))
6. (x)(A(x) B(x)) |= (x)A(x) (x)B(x)
7. (x)(A(x) B(x)) |= ((x)(A(x) (x)B(x)
8. (x)(A(x) B(x)) |= (x)A(x) (x)B(x)
46 CAP
ITULO 1. L
ITULO 1. L
) la concatenaci on de d y d
. Por ejemplo,
(amo, gamo) I(Q), (repta, paleta) I(Q).
Hallar I(A) para toda fbf A .
19
21. Considere la siguiente interpretaci on (U, I): con U = N: I(a) = 0, I(f)(n, m) = n+m, I(g)(n, m) =
n m e I(P) es la relacion de igualdad. Interprete las siguientes fbfs y determine si (U, I) es un
modelo para ellas:
(x)P(g(x, a), x) (x)(y)(P(f(x, a), y) P(f(y, a), x))
(x)(y)(z)P(f(x, y), z) (x)P(f(x, x), g(x, x))
22. Considere la formula
A = (x)(y)((P(y, x) (P(x, a) E(x, a))) (P(a, f(x, y)) E(a, f(x, y)))
y la interpretaci on (U, I) con U = Z; I(a) = 0; I(f)(n, m) = n m,
I(P) = {(n, m) | n < m}; I(E) = {(n, m) | n = m}.
Determine si I es un modelo de A.
23. Sea = ({a}, {f}, {P, E}) la signatura para la fbf
20
A = (x)(y)((P(y, x) (P(x, a) E(x, a))) (P(a, f(x, y)) E(a, f(x, y)))
a) Sea (U, I) una interpretaci on para L
1
donde U = Z y
1) I(a) = 0.
2) I(f) es el producto de n umeros enteros.
3) I(P) es la relacion < en Z.
4) I(R) es la relacion de igualdad en Z.
19
A. Galton. Logic for Information Technology. John Wiley and Sons. 1990.
20
E. Burke y E. Foxley. Logic and its Applications. Prentice Hall. Series in Computer Science. 1996.
50 CAP
ITULO 1. L
, I
= Z
3
= {0, 1, 2} y
1) I
(a) = 2.
2) I
(f) es la suma en Z
3
3) I
(P) =
3
, la relacion de congruencia modulo 3.
4) I
(R) si y solo si n + 1
3
m.
Describir en lenguaje natural la informacion contenida en A por esta interpretaci on y hallar
I
(A).
24. Describa, si es posible, un modelo para las siguientes formulas
(x)(P(x) P(f(x))) (x)(Q(x, y) Q(y, x))
25. Sea t un termino b asico, A una fbf, M = (U, I) una interpretaci on para L
1
, x un smbolo de
variable y una valuacion de variables asociada a (U, I).
Probar que para toda valuacion
(A) = I
([x/t]A)
26. Dadas la fbfs siguientes:
a) (x)(y)P(x, y) (x)(y)P(y, x)
b) P(x, y) P(y, x)
c) P(f(x)) P(x)
d) (x)P(x) P(f(x))
Determinar para cada una de ellas si es
i) valida.
ii) Verdadera en una interpretaci on pero no valida.
iii) Satisfacible pero no verdadera en ninguna interpretaci on.
iv) Insatisfacible.
27. Para cada una de las siguientes condiciones
i) valida.
ii) Verdadera en una interpretaci on pero no valida.
iii) Satisfacible pero no verdadera en ninguna interpretaci on.
iv) Insatisfacible.
Construir una fbf que las satisfaga.
28. Sea (U, I) una interpretaci on para L
1
y A un fbf. Probar que si y
(A) = 1 si y solo si I
(A) = 1
29. Probar que la fbf P(x) (x)P(x) es verdadera en toda interpretaci on M = (U, I) tal que U
consta de exactamente un elemento.
30. Demuestre que si c es una constante que no aparece en A(x), entonces (x)A(x) es valida si y solo
si A(c) es valida.
1.6. EJERCICIOS 51
31. Probar, haciendo uso de la denicion de la semantica, que
a) (x)P(x) P(a) es valida.
b) (x)P(x) P(a) no es valida.
c) (x)P(x) (y)P(y) es insatisfacible.
32. Probar que las siguientes fbfs son validas
a) (x)A (x)A
b) (x)(A B) ((x)A (x)B)
c) ((x)A (x)B) (x)(A B)
33. Probar que
a) (x)P(x) (y)P(y) es insatisfacible.
b) (x)P(x) (y)P(y) es valida.
c) P(a) (x)P(x) es satisfacible pero no valida.
d) (x)P(x) (y)P(y) es valida.
e) Si en B no aparece la variable x y Q {, }, entonces
1) (Qx)(A B) ((
Qx)A B)
2) B (Qx)A (Qx)(B A(x))
34. Dar un modelo para el siguiente conjunto de fbfs
= {(x)(P(x) Q(x)), (x)P(x), (x)P(x)}
35. Determinar cuales de los siguientes conjuntos de fbfs son satisfacibles y, para cada uno de ellos,
dar un modelo:
a) {(x)(y)P(x, y), (x)P(x, x)}
b) {(x)(y)P(x, y), (x)P(x, x)}
c) {(x)(P(x) Q(x)), (x)P(x), Q(a)}
d) {(x)(P(x), (x)(P(x) Q(x)), (x)Q(x)}
e) {(x)(P(x) (y)Q(x, y)), (x)(y)(Q(x, y) R(y)), P(a) R(a)}
36. Probar que {, } y {, } no son conjuntos adecuados de conectivas en L
1
.
37. Si Mod(X) denota el conjunto de los modelos de la fbf X, expresar en terminos de Mod(A) y
Mod(B) los siguientes conjuntos
a) Mod(A B)
b) Mod(A B)
c) Mod(A B)
d) Mod(A B)
38. Sean A y B dos fbfs tales que V
libres
(A) = V
libres
(B) y sean A
y B
39. (Principio de dualidad) Demuestra que si en una equivalencia logica en la que no intervienen las
conectivas ni se intercambian y ; y se obtiene otra equivalencia logica.
52 CAP
ITULO 1. L
= , entonces H
para
F
.
2. Si f es un smbolo de funcion n-aria que ocurre en , y t
1
, . . . , t
n
H
entonces
f(t
1
, . . . , t
n
) H
.
Si C
= , entonces H
es el conjunto de terminos
b asicos descritos por las siguientes reglas:
1. c H
entonces
f(t
1
, . . . , t
n
) H
es nito si y solo si F
=
2.1. INTERPRETACIONES DE HERBRAND 55
ee r r
La idea b asica de Herbrand es que, para interpretar , no es preciso considerar conjuntos
arbitrarios como dominios (es decir, la primera componente de (U, I)), sino que basta con-
siderar los individuos sobre los que habla , es decir, los individuos determinados por
los elementos de la signatura de . De este modo, Herbrand pone sobre el tapete el hecho
de que la naturaleza de los objetos de un dominio de interpretaci on es irrelevante. Lo que
verdaderamente importa son las relaciones que hay entre dichos objetos. En su caso, propor-
ciona una interpretaci on de corte sint actico, donde los smbolos del lenguaje se interpretan
reriendose a expresiones del propio lenguaje. La restriccion que impone es que usa solo
terminos cerrados (pero el hecho se puede generalizar)
1
.
Como para todo conjunto inductivo libremente generado, si es nito y H
es innito, podemos
considerar H
=
_
iN
H
i,
donde
1. H
0,
= C
si C
= y H
0,
= {c} si C
= .
2. Para i > 0 denimos H
i+1,
como la uni on de H
i,
y el conjunto de terminos de la forma
f(t
1
, . . . , t
n
) para todo smbolo de funcion n-aria que ocurre en y toda n-upla de terminos
(t
1
, . . . , t
n
) en H
i,
.
De esta forma, podemos decir que el merito de Herbrand es haber logrado tender un puente
entre lo nito y lo innito gracias a la idea de contemplar un dominio innito (numerable)
como una sucesion de dominios nitos. Esta sucesion puede contemplarse como una sucesion de
aproximaciones a este dominio innito.
Que ocurre con la segunda componente de (U, I)? Tambien en esta componente podemos limi-
tarnos a considerar el conjunto de enunciados atomicos sobre los individuos representados por
los elementos de H
y H
, entonces P(t
1
, . . . , t
n
) B
.
Denicion 2.4 Dado un conjunto de clausulas, , se llama instancia basica de una cl ausula
C a una clausula obtenida reemplazando las variables de C por elementos de H
.
ee r r
Si es un conjunto nito de clausulas, la denicion de base de Herbrand nos permite pensar
como en el caso proposicional: cada elemento de B
, I
H,
) cuyo dominio es
el universo de Herbrand para y donde I
H,
asocia cada smbolo de constante y a cada smbolo
de funcion el propio smbolo, es decir,
I
H,
(a) = a y I
H,
(f) = f
en denitiva, si (H
, I
H,
) es una interpretacion de Herbrand, para todo termino b asico t se
tiene que
I
H,
(t) = t.
ee r r
Herbrand arma que basta interpretar sintacticamente tanto los smbolos de constante como
los smbolos de funci on; as, por ejemplo, tenemos que
I
H,
(f)(f(a)) = f(f(a))
Destaquemos tambien que, por denicion, una valuacion de variables asociada a una in-
terpretaci on de Herbrand es tambien una sustitucion (ya que asigna a cada variable un
termino).
Por su propia denicion, dos interpretaciones de Herbrand para solo dieren en la inter-
pretaci on de los smbolos de predicado. En consecuencia:
Toda interpretacion de Herbrand queda determinada por un subconjunto de la base
de Herbrand, B
, es decir, 2
0
.
Denicion 2.6 Un modelo de Herbrand para un conjunto de clausulas, , es una interpreta-
cion de Herbrand para tal que, para toda clausula en , se verica que si C
b
i
es una instancia
b asica de C
i
entonces I
H,
(C
b
i
) = 1.
En la denicion anterior, hemos tenido en cuenta que no es m as que una notaci on abreviada
de una forma clausal (es decir, de una forma normal de Skolem cuya matriz es una forma normal
conjuntiva) en la que hemos omitido los cuanticadores, debido a que conocemos que todos son
universales, y hemos escrito la matriz como conjunto de clausulas.
2.1. INTERPRETACIONES DE HERBRAND 57
Ejemplo 2.1 Para = {P(x) Q(x), R(f(y))} se tiene que
1. En no interviene ning un smbolo de constante, por lo tanto,
H
= {P(f
n
(c)), Q(f
k
(c)), R(f
l
(c)) | n, k, l N}.
La interpretacion de Herbrand I
H,
= {P(f
n
(c)), R(f
k
(c)) | n, k N} es un modelo de
Herbrand para .
La siguiente interpretacion es un modelo para , pero no es una interpretacion de Herbrand:
({1, 2}; {a ;1}; {f ;{(1, 2), (2, 2)}}; {P ;{1}, Q ;{2}, R ;{2}})
Ejemplo 2.2
1. Para
1
= {P(a) Q(b, x) R(y), P(b) Q(z, u)} se tiene que
- H
1
= {a, b}.
- B
1
= {P(a), P(b), Q(a, a), Q(a, b), Q(b, a), Q(b, b), R(a), R(b)}.
El cardinal del conjunto de interpretaciones de Herbrand para
1
es el cardinal del conjunto
de subconjuntos de B
1
, es decir, 2
8
.
La interpretacion de Herbrand I
H,
1
= {P(a)} es un modelo de Herbrand para
1
ya que
al ser P(a) verdadera, tambien lo es P(a) Q(b, x) R(y) y puesto que P(b) es falsa
(porque P(b) {P(a)}) se tiene que P(b) Q(z, u) es verdadera.
2. Para
2
= {P(x, f(y)) Q(y, x), P(z, u) Q(u, u)} se tiene que
- H
2
= {c, f(c), f(f(c)), . . . , f
n
(c), . . .}.
- B
2
= {P(f
n
(c), f
m
(c)), Q(f
k
(c), f
l
(c)) | n, m, k, l N}.
Por lo tanto, el cardinal del conjunto de interpretaciones de Herbrand para
2
es 2
0
.
Veamos que la interpretacion de Herbrand
I
H,
2
= {P(f
n
(c), f
m
(c)), Q(f
k
(c), f
k
(c)) | n, m.k. N}
es un modelo de Herbrand para
2
:
- Puesto que, para todo n y m en N, P(f
n
(c), f
m
(c)) es verdadera, tenemos que la
clausula P(x, f(y)) Q(y, x) es verdadera.
- Puesto que, para todo k en N, Q(f
k
(c), f
k
(c)) es verdadera, tambien es verdadera la
clausula P(z, u) Q(u, u).
Podemos ya establecer el resultado fundamental que nos muestra la utilidad de los modelos
de Herbrand.
58 CAP
, I
H,
), donde I
H,
es el siguiente subconjunto de B
:
I
H,
= {P(t
1
, . . . , t
n
) B
| (I(t
1
), . . . , I(t
n
)) I(P)}
Veamos que I
H,
satisface :
Por ser (U, I) un modelo para , si C es una clausula de y V
ar
(C) = {x
1
, . . . , x
n
} se tiene
que I( (x
1
) . . . (x
n
) C(x
1
, . . . , x
n
)) = 1. Por lo tanto, para toda n-upla de terminos b asicos
(t
1
, . . . , t
n
) se tiene que I( C(t
1
, . . . , t
n
)) = 1, es decir, para toda clausula C y para toda
instancia b asica C
b
de C se tiene que I(C) = 1 y por lo tanto existe un literal b asico l
b
i
en C
b
tal que I(l
b
i
) = 1. Ahora, por denicion de I
H,
, se tiene que I
H,
(l
b
i
) = 1. Consecuentemente,
I
H,
satisface .
El inverso es obvio ya que todo modelo de Herbrand es un modelo.
Ejemplo 2.3 Para = {P(x), Q(y, f(a))} se tiene que:
- H
= {P(f
n
(a)) | n N} {Q(f
n
(a), f
m
(a)) | n N, m N
}.
Una interpretacion para que no es una interpretacion de Herbrand es
(D, I) = ({1, 2}; {a ;2}; {f ;{(1, 2), (2, 1)}}; {P ;{1}, Q ;{(1, 2), (2, 2)}})
La interpretacion de Herbrand para asociada a esta interpretacion es
I
H,
= {P(f
2n+1
(a)) | n N} {Q(f
n
(a), f
2k
(a)) | n N, k N}
ya que para t, t
se tiene que
1. I(P)(t) = 1 si y solo si t {P(f
2n+1
(a)) | n N
}
2. I(Q)(t, t
) = 1 si y solo si (t, t
) {Q(f
n
(a), f
2k
(a)) | n N, k N
}
ee r r
El Teorema 2.1 no es cierto si es un conjunto de formulas arbitrarias en lugar de un conjunto
de clausulas. En efecto, un modelo para = {P(a), (x)P(x)}, es, por ejemplo, M =
(N, {4}, , {n N | n = 2k}). Sin embargo, puesto que B
0
. Podemos
pues decir que hemos avanzado de modo signicativo de cara a poder gestionar el conjunto de
interpretaciones? Mostrar que la respuesta es armativa es el objetivo de la siguiente secci on.
2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L
1
59
2.2. Teorema de Herbrand y Semidecidibilidad de L
1
La b usqueda de un procedimiento de decisi on para vericar la validez de una formula de la
logica de primer orden, fue el objetivo de no pocos matem aticos durante muchos a nos. El primero
del que se tiene constancia fue Leibnitz (1646-1716). A principios de este siglo lo replanteo Peano
(1858-1932) y se convirtio en prioritario desde 1917, cuando Hilbert lo propuso entre un conjunto
de 23 problemas no resueltos hasta la fecha.
Este problema era conocido como un problema de decision.
2
En 1936, Alonzo Church
3
demostro que no puede existir un procedimiento de decisi on completo para L
1
. Este resultado se
conoce como teorema de Church. El mismo a no, como comentamos en el captulo 2 del primer
volumen, Alan Turing
4
demostro que el problema de la decidibilidad para L
1
es equivalente a
un problema referente a las m aquinas de Turing y cuyo enunciado es como sigue:
Sea MT una maquina de Turing y sea una entrada a MT. Existe un algoritmo
para determinar si MT parara o no?
La respuesta a este problema, conocido como el problema de la parada, es que no existe tal
algoritmo.
Para profundizar sobre esta cuesti on de la semidecidibilidad de la logica clasica de primer orden
y su repercusion en su uso computacional existen una ampla bibliografa. No nos resistimos a
mencionar el trabajo del profesor Carlos Areces
5
al que llama La Bella y la Bestia:
La logica de primer orden es un lenguaje hermoso. Como logica, es una gran candi-
data a ser la Bella de esta historia. Es un lenguaje elegante, simple de caracterizar
y de buen comportamiento te orico. Pero cuando la miramos desde un punto de vista
computacional, por ejemplo, si queremos usarla como lenguaje de especicaci on del
conocimiento b asico de un robot, entonces se transforma en la Bestia. Ya que no
existe un algoritmo que nos permita decidir si una formula de la logica cl asica de
primer orden es satisfacible (es decir, si la formula tiene al menos alg un modelo,
cualquiera que sea este). A un el problema de saber si una f ormula de primer orden
es satisfacible en un modelo dado es difcil. Es decir, a un si nos dicen aqu esta
la sentencia , y aqu esta el modelo M = (D, I) (!nito!); por favor, dgame si
es cierta en M. Ese problema (que se llama chequeo de modelos) no tiene una
solucion eciente: puede requerir espacio polinomial y tiempo exponencial (es un pro-
blema en PSpace). En una aplicaci on, un comportamiento de tiempo exponencial es
usualmente inaceptable. Para entender por que, miremos un ejemplo. Supongamos
que la formula tiene 5 operadores, y que el modelo M no es demasiado grande,
digamos 10 elementos. Entonces, dependiendo de la estructura exacta de y de M,
chequear que es cierta en M nos puede llevar !105 pasos! Veamos, si cada paso
nos toma un segundo de computaci on entonces:
10
5
= 100, 000 pasos o segundos 28 horas.
2
Entscheidungsproblem, en el original alem an.
3
A. Church. A note on the Entscheidungsproblem. Journal of Symbolic Logic, 1:4041 y 101102 (una correc-
cion), 1936.
4
A. M. Turing. On computable numbers, with an application to the Entscheidungsproblem. Proc. London Math.
Soc., 42:230265, 1936. Correcci on en v43 pp 544546, 1937.
5
INRIA Lorraine. web: www.loria.fr/ areces
60 CAP
I
3
H
(P(a)) = 1
I
3
H
(P(b)) = 1
I
3
H
(Q(a, b)) = 1
I
2
H
(P(a)) = 1
I
2
H
(P(b)) = 1
@
@
@
@
I
4
H
(P(a)) = 1
I
4
H
(P(b)) = 1
I
4
H
(Q(a, b)) = 0
Q(a, b) Q(a, b)
I
6
H
(P(a)) = 1
I
6
H
(P(b)) = 0
I
6
H
(Q(a, b)) = 1
I
5
H
(P(b)) = 0
I
5
H
(P(a)) = 1
@
@
@
@
I
7
H
(P(a)) = 1
I
7
H
(P(b)) = 0
I
7
H
(Q(a, b)) = 0
Q(a, b) Q(a, b)
I
8
H
(P(a)) = 0
I
1
H
(P(a)) = 1
H
H
H
H
H
H
H
!
!
!
!
!
!
!
!
!
P(b) P(b)
a
a
a
a
a
a
a
a
a
P(a) P(a)
Figura 2.1: Ejemplo de arbol sem antico.
Denicion 2.8 Sea un conjunto de clausulas y sea = {P
1
, P
2
, . . . , P
n
, . . .} una enumeraci on
de los atomos de la base de Herbrand B
es a lo sumo numerable).
Un arbol semantico para respecto de es completo si la interpretacion de Herbrand asociada
a cada hoja asigna valores de verdad a todos los P
i
.
Obviamente, se tiene el resultado siguiente
Teorema 2.3 Un arbol semantico completo para respecto de es nito si y solo si en no
intervienen smbolos de funcion.
Como consecuencia, si en no intervienen smbolos de funcion, es decir, si H
es nito po-
demos extender de modo natural el metodo de Quine visto en el primer volumen para el caso
proposicional.
2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L
1
63
Ejemplo 2.5 Consideremos el razonamiento:
H
1
: (x)(P(x) Q(x))
H
2
: (x)(Q(x) R(x))
C : (x)(P(x) R(x))
Para analizarlo hemos de analizar la insatisfacibilidad de la forma clausal
= {P(x) Q(x), Q(x) R(x), P(a), R(a)}
Puesto que H
= {a} y B
I
1
H
(A) = 0
I
3
H
(A) =?
@
@
@
@
I
4
H
(A) = 0
I
5
H
(A) = 0
I
6
H
(A) = 0
Q(a) Q(a)
P(a) P(a)
donde A = (P(a) Q(a)) (Q(a) R(a)) P(a) R(a). Por lo tanto, el razonamiento
es valido.
Veamos que ocurre cuando H
es innito.
Denicion 2.9 Un nodo N de un arbol semantico para respecto de una enumeraci on =
{P
1
, P
2
, . . . , P
n
, . . .} de los atomos de B
I
2
H
(Q(f(a)) = 0
Q(f(a))
P(a) P(a)
I
3
H
(P(a) Q(f(a)) = 0
I
4
H
(P(a)) = 0
()
H
H
H
H
H
H
H
!
!
!
!
!
!
!
!
!
Q(f(a))
a
a
a
a
a
a
a
a
a
En este arbol solo el nodo marcado con () es un nodo inferencia.
2.2.2. Teorema de Herbrand
Llegamos a uno de los teoremas m as destacados de la logica de primer orden, debido a que
es la base de la mayora de los demostradores autom aticos de teoremas existentes. Su interes
radica en que proporciona un modo sistematico de analizar todas las posibles interpretaciones
de Herbrand mediante el uso de un arbol sem antico.
Teorema 2.4 (de Herbrand) Un conjunto de clausulas es insatisfacible si y solo si, aso-
ciado a cada arbol semantico completo, existe un arbol semantico cerrado nito.
Demostraci on: Supongamos que es insatisfacible. Sea T un arbol sem antico completo para
. Para cada rama de A, sea I
H
el conjunto de todos los literales positivos que etiquetan
los arcos de . Entonces I
H
es una interpretacion de Herbrand para y puesto que es
insatisfacible, existe una clausula C en y una instancia b asica C
b
de C tal que I
H
(C
b
) = 0.
Puesto que el n umero de literales de C
b
es nito, existe un nodo N en la rama tal que la
interpretacion parcial de Herbrand a el asociada hace falsa a C
b
, pero ninguna de las interpre-
taciones parciales de Herbrand asociadas a sus ascendientes posee esta propiedad. Por lo tanto,
existe un nodo fallo N en la rama que es o bien N o bien un ascendiente de N. Este hecho
lo tenemos asegurado para toda rama, por lo tanto, toda rama de T tiene un nodo fallo y en
consecuencia, existe un arbol sem antico cerrado T
es nito; de no
ser as, por el lema de K onig, existe al menos una rama innita en T
asociado a T . Sea
es insatisfacible.
Inversamente, sea
es
insatisfacible. Probemos que es insatisfacible. En caso contrario, existira un modelo M para
y, por el Teorema 2.1, existira un modelo de Herbrand para que sera asimismo un modelo
para
.
Podramos decir, que el teorema de Herbrand permite desarrollar la sem antica de la logica
de primer orden utilizando unicamente medios sintacticos. Por otra parte, el teorema funda-
mental de Herbrand es un teorema de compacidad sintactica y, como veremos a continuaci on,
proporciona un semialgoritmo para el estudio de la satisfacibilidad en la logica de primer orden:
2.2.2.1. Semialgoritmo para SAT en L
1
Vamos a describir un semialgoritmo para SAT que es una extension del algoritmo de Quine
para la logica proposicional. Dado un conjunto de formulas de L
1
, se procede como sigue:
Transformar en un conjunto equisatisfacible de clausulas ; esto es, pasar a forma clausal.
Generar una enumeracion del conjunto de instancias b asicas de las clausulas de
= {C
1
, . . . , C
n
, . . .}
Examinar si este conjunto es insatisfacible utilizando el semialgoritmo siguiente que es
esencialmente el metodo introducido por Gilmore
10
. Su funcionamiento es identico al de
Quine considerando los elementos de la base de Herbrand para denir las evaluaciones
parciales de las formulas:
2.2.2.2. El Semialgoritmo de Gilmore
1. Para todo n, los arcos del arbol sem antico de nivel n ser an etiquetados con C
n
y C
n
.
2. Un arbol sem antico respecto a se construye usando el siguiente criterio:
Si todas las posibles extensiones de la interpretacion parcial de Herbrand aso-
ciada a un nodo N, asignan el mismo valor de verdad a no es preciso construir
el subarbol del arbol sem antico completo respecto a que tiene a N como raz.
En su lugar, se etiquetara N con el valor de verdad que la interpretacion parcial
asociada a el asigna a .
10
P. Gilmore. A proof method for quantication theory; its justication and realization. IBM J. Res. Develop.,
4:2835, 1960.
66 CAP
0
interpretaciones.
La interpretacion de Herbrand {P(f
n
(a)) | n N} satisface . Por lo tanto, A es satisfacible
y en consecuencia, A no es valida. Probemos que cualquier otra interpretacion de Herbrand que
satisfaga a ha de contener a {P(f
n
(a)) | n N} y por lo tanto es innita. En efecto, toda
interpretacion de Herbrand que satisface a ha de contener P(a) y no ha de contener a P(b) y,
la segunda clausula en (la clausula P(x) P(f(x))) obliga a que si P(f
n
(a)) pertenece a un
modelo de Herbrand para , tambien P(f
n
(a)) ha de pertenecer a dicho modelo. Por lo tanto,
no podremos encontrar ning un arbol nito que nos permita concluir el an alisis para ya que:
- No existe un arbol cerrado porque no es insatisfacible.
- No podemos encontrar ninguna rama nita que nos conrme la satisfacibilidad.
Ejemplo 2.8 Vamos a estudiar la validez de una inferencia utilizando el principio de refutacion
y el algoritmo de Gilmore sobre la base de Herbrand de la formula obtenido tras hallar una
formula en forma normal de Skolem a partir de la refutacion.
(x)((y)P(y) Q(x)) |= (y)(x)(P(x) Q(y))
{(x)(y)(P(y) Q(x)), (y)(x)(P(x) Q(y))} es insatiscible,
{(x)(y)(P(y) Q(x)), (y)(x)(P(x) Q(y))} es insatiscible,
{(x)(y)(P(y) Q(x)), (P(b) Q(a))} es insatiscible,
S = (x)(y)(P(y) Q(x)) (P(b) Q(a)) es insatiscible.
2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L
1
67
Dado que S no contiene funciones, el universo de Herbrand est a formado simplemente por las
constantes, H
S
= {a, b}, y la base de herbrand es nita, B
S
= {P(a), Q(a), P(b), Q(b)}.
Llamemos A
1
= (x)(y)(P(y) Q(x)) y A
2
= (P(b) Q(a)).
Para entender mejor el arbol que construimos a continuaci on, es conveniente observar que los
modelos de Herbrand de A
1
= (x)(y)(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 A
2
)
Q(a)
0 (Por A
2
)
Q(a)
0 (x = a, y = b en A
1
)
Ejemplo 2.9 Aunque el universo de Herbrand sea innito, si la inferencia es valida, siempre
podremos encontrar un arbol nito que lo demuestre.
(x)P(x), (x)(P(x) Q(f(x))) |= Q(f(a))
S = (x)P(x) (x)(P(x) Q(f(x))) Q(f(a)) es insatisfacible
El universo de Herbrand es
H
S
= {a, f(a), f(f(a), f(f(f(a))), . . . }
y la base de Herbrand es
B
S
= {P(a), Q(a), P(f(a)), Q(f(a)), P(f(f(a))), Q(f(f(a))), . . . }.
Llamemos A
1
= (x)P(x), A
2
= (x)(P(x) Q(f(x))) y A
3
= Q(f(a)) para construir el
arbol de Gilmore.
P(a) P(a)
0 (x = a en A
1
)
Q(f(a))
0 (Por A
3
)
Q(f(a))
0 (x = a en A
2
)
Ejemplo 2.10 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))
68 CAP
tal que:
(i) es decidible, es decir existe un algoritmo que proporciona () para toda entrada
.
(ii) Para toda palabra
se tiene que:
1
si y solo si ()
2
la funcion se llama una funcion de reducci on de
1
a
2
.
De la denicion anterior se tiene que:
Si
1
es reducible a
2
y
2
es decidible, entonces
1
tambien es decidible.
El teorema de Post y una reduccion del problema de correspondencia de Post al problema de
la validez de las fbfs en L
1
permite demostrar el teorema siguiente. Un estudio detallado queda
fuera de los lmites del curso
11
.
Teorema 2.12 (de indecidibilidad de Church) Sea L
1
un lenguaje de primer orden cuya
signatura es = ({c}, {f, g}, {P}) donde f y g son smbolos de funciones monarias y P es un
smbolo de predicado binario. Entonces el conjunto de formulas v alidas es un conjunto indecidi-
ble.
11
El lector interesado puede consultar el libro de V. Sperschneider and G. Antoniou. Logic: a foundation for
Computer Science. Addison-Wesley, 1991.
72 CAP
y B
.
c) Probar que A es valida.
4. Dada la formula A = (x)P(x)
_
Q(a) (y)R(y) (y)D(y)
_
a) Hallar un conjunto de clausulas simult aneamente satisfacible con A.
b) Hallar H
y B
.
c) Dar, si existe, un modelo de Herbrand para .
5. Hallar H
y B
_
(x)(y)P(x, y) (x)(y)Q(x, y)
_
7. Para cada una de las formulas siguientes
a) (x)(P(x) (y)R(y))
b) (x)(y)
_
(z)P(z) (u)(Q(x, u) (v)Q(y, v))
_
c) (x)
_
(y)P(y) (z)(Q(z) R(x))
_
(i) Transformarla en forma clausal.
(ii) Determinar su universo y base de Herbrand.
8. Sea = {P(x) Q(x), R(f(y))}
a) Determinar el universo y la base de Herbrand para .
b) Construir un arbol semantico completo para .
c) Dar un modelo de Herbrand para .
9. Sea = {P(x), P(x) Q(x, a), Q(y, a)}
a) Dar el universo y la base de Herbrand para .
b) Construir un arbol semantico completo para .
c) Construir un arbol semantico cerrado para .
10. Encontrar un conjunto insatisfacible
b
de instancias b asicas de clausulas de para cada uno de
los dos conjuntos de clausulas
a) = {P(x, a, g(x, b)), P(f(y), z, g(f(a), b))}
2.5. EJERCICIOS 73
b) = {P(x), Q(x, f(x)) P(x), Q(g(y), z)}
11. Demostrar que la fbf
(x)(y)(P(x, y) S(x)) (y)(P(x, y) S(x))
es valida siguiendo el siguiente proceso:
a) Encontrar un conjunto de clausulas simult aneamente insatisfacible con A.
b) Encontrar, mediante el metodo de Gilmore, un conjunto nito insatisfacible
b
de instancias
b asicas de clausulas de .
12. Demostrar que la fbf
(x)
_
(y)(P(x, y) P(y, x)) (y)P(x, y)
_
(x)(y)(z)
_
(P(x, y) P(y, z)) P(x, z)
_
no tiene modelos nitos.
13. Demostrar por induccion estructural que si M
H
= (H, I
H
) es un modelo de Herbrand, para una
formula A entonces para todo termino t que interviene en A (no necesariamente b asico) se tiene
que
I
H
(t) = I
H
((t))
donde en el segundo termino de la igualdad se entiende como una sustitucion.
14. Para cada una de las formulas siguientes
a) (x)(y)(P(f(x), x) R(y, f(y)))
b) (x)(P(a, f(x)) R(f(x), b))
c) (x)(P(x, f(b)) R(f(x), b))
d) (x)(P(x, f(b)) (y)R(x, y))
e) (x)(P(x, f(b)) (y)R(x, y))
(i) Transformarla en forma clausal.
(ii) Dada la interpretaci on de Herbrand
I
H
= {P(f
n
(a), b) | n N} {R(f
n
(a), f
m
(b)) | n, m N}
determinar si I
H
es o no un modelo de cada una de las formas clausales obtenidas en el tem
anterior.
15. Para cada una de las formulas siguientes
a) (x)(Q(x) R(x, f(x)))
b) (x)(Q(x) (y)R(x, y))
c) (x)(Q(x) R(x, f(x)))
(i) Transformarla en forma clausal.
(ii) Dada la interpretaci on de Herbrand
I
H
= {Q(f
n
(a)) | n N} {R(a, f
m
(b)) | n, m N
}
determinar si I
H
es o no un modelo de cada una de las formas clausales obtenidas en el tem
anterior.
74 CAP
) UU |
u = u
denida por
(x) = 3 y
((x)P(x)) = 0 y I
ATICO PARA L
1
77
A
n
es A.
La secuencia A
1
, A
2
, . . . , A
n
se dice que es una demostracion de A enL
1
. Obviamente, todo
axioma es un teorema.
Denicion 3.2 Dado un conjunto de formulas, se dice que A es deducible o derivable en
L
1
a partir de , denotado A, si existe una secuencia nita de formulas A
1
, A
2
, . . . , A
n
tal
que:
Cada A
i
, donde 1 i n, es un axioma, una formula de , o una fbf obtenida mediante
la aplicaci on de (MP) a partir de dos formulas anteriores en la secuencia o bien obtenida
mediante la aplicaci on de (Gen) a una formula anterior en la secuencia.
A
n
es A.
La secuencia A
1
, A
2
, . . . , A
n
se dice que es una deducci on o derivacion de A a partir de en
L
1
.
Es obvio, por denicion, que toda demostracion de una fbf A es una deduccion de A desde
= , por ello se denota A para expresar que A es un teorema.
Como se nalamos en la logica proposicional, un hecho destacable en el problema de la deduc-
cion es la posibilidad de utilizar nuevas reglas de inferencia: Si A es deducible de A
1
, A
2
, . . . , A
n
entonces la relaci on
A
1
, A
2
, . . . , A
n
A
puede ser usada como nueva regla de inferencia (regla derivada) en las deducciones en L
1
.
Ejemplo 3.1 (Regla de Particularizacion) Como hemos desatacado, disponemos de una deduc-
cion para A(t) a partir de (x)A(x) donde t es libre para x en A(x), por lo tanto esta deduccion
puede ser usada como regla derivada en otras deducciones en L
1
.
Veamos una deduccion de (x)A(x) A(t):
(1) (x)A(x) hip otesis
(2) (x)A(x) A(t) Ax. 4
(3) A(t) MP(1,2)
Puesto que L
1
incluye todos los axiomas de la logica proposicional y la regla de inferencia
(MP), tenemos obviamente el siguiente resultado
Teorema 3.1 Si A es una fbf de L
1
que es un esquema de teorema de L, es decir, si A es una
tautologa de L
1
, entonces A es un teorema de L
1
y puede ser demostrada usando Ax.1, Ax.2,
Ax.3 y (MP).
Demostraci on: La fbf A se obtiene a partir de un teorema B en L mediante la sustitucion
(uniforme) de cada smbolo de proposici on en B por una fbf de L
1
. Por lo tanto, B tiene una
demostracion en L. Sea tal demostracion. Ahora, en cada una de las formulas de , realizamos
las sustituciones siguientes:
78 CAP
x-equivalentes a
tales que I
((x)P(x)) = 0 y I
ATICO PARA L
1
79
Si B es un axioma, o bien B = A, o bien B , o bien se obtiene de dos fbfs anteriores
en la secuencia mediante la aplicaci on de (MP), demostramos que A B siguiendo paso a
paso la demostracion del caso proposicional.
Hemos pues de centrarnos en el caso en que B se obtiene de una formula E anterior en la
secuencia mediante la aplicaci on de (Gen). En este caso B = (x)E, {A} E y existe una
deduccion de E desde {A} con longitud menor que m. Por hip otesis de induccion, se tiene
que A E. Por otra parte, por hip otesis, x no es libre en A (ya que a ella se reere la
aplicaci on de (Gen) en la deduccion de B a partir de {A}).
Por lo tanto, obtenemos una deduccion de A B a partir de del siguiente modo:
(1) . . . . . .
(. . .) . . . . . .
(n) A E . . .
(n + 1) (x)(A E) Gen(n)
(n + 2) (x)(A E) (A (x)E) Ax,5 (ya que x / V
libre
(A))
(n + 3) A (x)E MP(n + 1, n + 2)
donde (1),. . . ,(n) es una deduccion de A E a partir de .
Corolario 3.1 La regla de silogismo hipotetico (SH)
{A B, B C} A C
es una regla derivada en L
1
.
Demostraci on: Lo probamos haciendo uso del metateorema de la deduccion, es decir, proba-
mos que
{A B, B C, A} C
Una deduccion de C desde {A B, B C, A} es:
(1) A B Hip.
(2) B C Hip.
(3) A Hip.
(4) B MP(1,3)
(5) C MP(2,4)
El inverso del teorema de la deduccion es cierto sin restriccion alguna:
Teorema 3.3 Si A y B son fbfs y es un conjunto de fbfs
Si A B, entonces {A} B
80 CAP
ATICO PARA L
1
81
3.1.2. Correcci on y Completitud de L
1
Como ya hemos comentado al inicio de captulo, el sistema L
1
goza de las propiedades de
correcci on y completitud:
Teorema 3.4 (Correccion de L
1
) Todo teorema de L
1
es una fbf v alida, es decir
Si A entonces |= A
Demostraci on: Por el Teorema 3.1, sabemos que los Axiomas 1, 2 y 3 son fbfs validas.
El Axioma 4 es valido: Sea M = (U, I) una interpretacion y una valuaci on de variables arbi-
traria asociada a M.
Tenemos que probar que, si el termino t es libre para la variable x en la formula A, se tiene
que I
((x)A(x) A(t)) = 1.
Si I
((x)A(x)) = 0 entonces I
((x)A(x) A(t)) = 1. Si I
((x)A(x)) = 1 entonces,
para toda valuaci on de variables
(A(x)) = 1. En particular,
podemos elegir
de modo que
(A(t)) = 1
y, consecuentemente, I
ON NATURAL 83
3.1.3. Correcci on, Completitud y Semidecidibilidad
En la Secci on 2.2 mostramos la semidecidibilidad de L
1
en terminos sem anticos. Ahora,
puesto que disponemos de un sistema correcto y completo para L
1
, podemos establecerla de
forma equivalente en terminos del sistema axiomatico, es decir, mostrando un semialgoritmo
para determinar si una fbf es o no un teorema de L
1
. Mas a un,
La semidecidibilidad de la logica de primer orden, es una consecuencia
de la existencia de sistemas de demostracion correctos y completos para
esta logica.
En efecto, puesto que el conjunto de fbfs de L
1
es numerable, tambien lo es el conjunto de
demostraciones posibles en L
1
(ya que toda demostracion en L
1
es una secuencia nita de fbfs
de L
1
). En consecuencia, podemos proceder del modo siguiente:
1. Enumeramos todas las demostraciones en L
1
, por ejemplo, de menor a mayor longitud y
las de igual longitud seg un el orden lexicograco. Sea esta enumeracion
= {D
1
, . . . , D
n
, . . .}
2. Si una fbf A es valida, puesto que L
1
es completo, ha de existir una demostracion D
i
para A.
3. Si una fbf A no es valida, puesto que L
1
es correcto, no existe ning un elemento D
i
tal
que D
i
es una demostracion para A. Pero, puesto que es innito, nuestra b usqueda no
termina.
Es evidente, que la eciencia de este procedimiento deja mucho que desear. Por otra parte,
el semialgoritmo dado en la Secci on 2.2 nos permite parar la b usqueda para algunas fbfs no
validas, concretamente, aquellas para la que encontremos un nodo en el arbol sem antico cuya
interpretacion asociada falsica a A.
3.2. Deducci on Natural
El teorema de la deduccion para L
1
motiva, como en el caso proposicional, la introducci on
de los sistemas de deduccion natural, en los que las deducciones adquieren protagonismo sobre
las demostraciones y en los que las conclusiones se derivan desde un conjunto de hip otesis, sin
utilizar axiomas, solo mediante reglas de inferencia.
La losofa y caractersticas de estos sistemas es la misma que la expuesta para la logica
clasica proposicional, L
prop
: Las reglas de inferencia son de dos tipos, reglas de introducci on
y reglas de eliminaci on de conectivos y de cuanticadores, denotadas (, i) y (, e) respec-
tivamente, donde representa un conectivo arbitrario o un cuanticador. Cada regla consta de
una o m as hip otesis y una conclusion y se representa por
hip otesis
Conclusion
84 CAP
ON NATURAL 85
3.2.0.1. Eliminaci on de : La regla (, e)
(x)A(x)
A(t)
donde t es un termino libre para x en A(x).
La lectura de esta regla es la siguiente:
Si sabemos que todo elemento del dominio es A, entonces sabemos que, en particular,
todo elemento expresado por t es A.
Para probar la correcci on de (, e) tenemos que probar que, si t es un termino libre para x en
A(x), entonces (x)A(x) A(t) es valida. Pero este esquema es el Axioma 4 del sistema L
1
dado en la secci on anterior y su correcci on la hemos probado en el Teorema 3.4.
Como para el Axioma 4 del sistema de Lukasiewicz, si no aseguramos las restricciones im-
puestas a t, podemos llegar a conclusiones err oneas como nos muestra el siguiente ejemplo:
Ejemplo 3.6 La aplicaci on incorrecta de (, e) nos llevara a deducir
DN
(x)(y)P(x, y) (y)P(y, y)
1. Subderivacion
(1.1) (x)(y)P(x, y) hip otesis
(2.1) (y)P(y, y) (1) y (, e) (Aplicacion incorrecta)
2. (x)(y)P(x, y) (y)P(y, y) (1) y (, i)
La aplicaci on de (, e) es incorrecta porque y no es libre para x en (y)P(x, y)
3.2.0.2. Introducci on de : La regla (, i)
A(x)
(x)A(x)
donde x es un smbolo de variable que satisface las siguientes condiciones:
1. x no ocurre libre en ninguna hip otesis.
2. x no ocurre libre en ninguna de las hip otesis adicionales de las subderivaciones a un no
nalizadas.
Estas restricciones aseguran que x puede ser considerado como un elemento arbitrario, es
decir, con esta regla recogemos el siguiente tipo de razonamiento:
Si sabemos que un elemento arbitrario es A, podemos armar que todo elemento es A.
Para probar la correcci on de (, i) tenemos que probar que si x / V
libre
(B) se tiene que la fbf
(x)(B A(x)) (B (x)A(x)) es valida. Pero este es el Axioma 5 del sistema L
1
y su
correcci on la hemos probado en el Teorema 3.4.
Los siguientes ejemplos nos muestran aplicaciones de (, e) y (, i).
86 CAP
ON NATURAL 87
Ejemplo 3.10 La aplicaci on incorrecta de (, i) nos llevara a probar
DN
P(a, a) (x)P(x, a)
1. Subderivacion
(1.1) P(x, a) hip otesis Adicional
(1.2) (x)P(x, a) (1.1) y (, i) (Aplicacion incorrecta)
2. P(x, a) (x)P(x, a) (1) y (, i)
3. (x)(P(x, a) (x)P(x, a)) (2) y (, i)
4. P(a, a) (x)P(x, a)) (3) y (, e)
3.2.0.3. Introducci on de : La regla (, i)
A[x/t]
(x)A(x)
donde t es un termino libre para x en A(x). La lectura de esta regla es como sigue:
Si sabemos que el elemento del dominio expresado por t es A, en particular, sabemos
que existen elementos del dominio que son A.
Para probar la correcci on de (, i) tenemos que probar que A(t) (y)A(x) es valida. Puesto
que (x)A(x) (x)A(x), se tiene que
A(t) (x)A(x) (x)A(x) A(t) (x)A(x) A(t)
Por lo tanto, la justicaci on es la misma que para (, e).
Ejemplo 3.11 (x)P(x, a)
DN
(x)P(a, x)
1. (x)P(x, a) hip otesis
2. P(a, a) (1) y (, e)
3. (x)P(a, x) (2) y (, i)
3.2.0.4. Eliminaci on de : La regla (e)
Esta regla hace uso de una subderivacion
(x)A(x)
A(x)
B
B
donde x es un smbolo de variable tal que
88 CAP
ON NATURAL 89
3.2.0.5. La regla derivada N:
(x)A(x)
(x)A(x)
Demostraci on:
1. (x)A(x) hip otesis
2. Subderivacion
(2.1) (x)A(x) hip otesis adicional
(2.2) Subderivacion
(2.2.1) A(x) hip otesis adicional
(2.2.2) (x)A(x) (2.2.1) y (, i)
(2.2.3) (x)A(x) (2.2.2) y regla derivada de L
(2.3) A(x) (1.2) y (, i)
(2.4) A(x) (1.3) y (, e)
(2.5) (x)A(x) (1.4) y (, i)
(2.6) (x)A(x) (1.5) y regla derivada de L
3. (x)A(x) (1), (2) y (, i)
4. (x)A(x) (3) y (, e)
Analogamente se obtienen las siguientes reglas derivadas cuya demostracion se deja al lector.
3.2.0.6. La regla derivada N:
(x)A(x)
(x)A(x)
3.2.0.7. La regla derivada N:
(x)A(x)
(x)A(x)
3.2.0.8. La regla derivada N:
(x)A(x)
(x)A(x)
90 CAP
T
A si y solo si A F
I
0
Ejemplo 3.15 Denamos una teora que describa todos los conjuntos estrictamente ordenados.
La signatura de tal teora ser a tal que
No tiene smbolos de constantes.
No tiene smbolos de funcion.
92 CAP
)
donde
1. I
(f)([u
1
], . . . , [u
n
]) = [I(f)(u
1
, . . . , u
n
)] para cada smbolo de funcion n-aria f.
3. ([u
1
], . . . , [u
n
]) I
(P) si y solo si (u
1
, . . . , u
n
) I(P) para cada smbolo de predicado
n-ario P.
El lector puede comprobar que esta interpretacion es tambien un modelo para T
=
, y que en ella
I
ITULO 4. M
ANTICAS
A
n
.
.
.
A
2
A
1
Llamamos a este arbol arbol inicial asociado a .
El arbol inicial asociado a se ir a ampliando sucesivamente mediante reglas de extensi on basadas
tan solo en la estructura sint actica de las fbfs.
Para la descripcion del metodo utilizaremos, como en el caso proposicional, la notacion uniforme
de Smullyan, es decir, agruparemos las formulas no literales cuya conectiva principal es una conecti-
va booleana en fbfs de tipo (o de comportamiento conjuntivo) y de tipo (o de comportamiento
disyuntivo).
Las siguientes tablas muestran las fbfs de tipo y las fbfs de tipo junto con sus componentes.
1
2
A B A B
(A B) A B
(A B) A B
A A A
1
2
A B A B
(A B) A B
A B A B
Para clasicar las fbfs cuanticadas, introducimos dos nuevos tipos de formulas: fbfs de tipo (o
cuanticadas existencialmente) y formulas de tipo (o cuanticadas universalmente).
Las siguientes tablas muestran las formulas de tipo y de tipo junto con sus componentes.
(t)
(x)A(x) A(t)
(x)A(x) A(t)
(t)
(x)A(x) A(t)
(x)A(x) A(t)
donde t es un termino arbitrario.
4.0.1. Reglas de Extension
El arbol inicial asociado a un conjunto de formulas , denotado T
, es extendido sucesivamente,
para obtener arboles asociados a , mediante las reglas denotadas (), (), () y () que describimos a
continuacion:
4
:
() Si
A
denota la rama determinada por el nodo hoja A y una -formula ocurre en
A
, extendemos
dicha rama a nadiendo:
(a) Dos nodos etiquetados con sus componentes
1
,
2
si
1
=
2
.
(b) Un nodo etiquetado con la componente com un si
1
=
2
.
y marcamos la -formula como ya usada:
4
Las reglas () y () son las mismas que en el caso proposicional
103
1
A
.
.
.
.
.
.
A
.
.
.
.
.
.
() Si
A
denota la rama determinada por el nodo hoja A y una -formula ocurre en
A
, extendemos
dicha rama a nadiendo:
(a) Dos nodos (como descendiente izquierdo y derecho) etiquetados con sus componentes
1
y
2
respectivamente, si
1
=
2
.
(b) Un nodo etiquetado con la componente com un , si
1
=
2
.
y marcamos la formula como ya usada:
@
@
A
.
.
.
.
.
.
A
.
.
.
.
.
.
Las reglas () y () requieren considerar, como hicimos en la Denicion 1.43 sobre skolemizacion y por
identicos motivos, la extensi on de L
1
:
Denicion 4.2 Dado un lenguaje L
1
de primer orden, denimos L
+
1
como la extension de L
1
obtenida
a nadiendo a su alfabeto un conjunto innito numerable C
A
.
.
.
(x)
.
.
.
() Si
A
denota la rama determinada por el nodo hoja A y una formula (x) ocurre en
A
, extendemos
dicha rama a nadiendo (t) donde t es un termino b asico que aparece previamente en la rama.
104 CAP
ITULO 4. M
ANTICAS
(t)
A
.
.
.
(x)
.
.
.
A
.
.
.
(x)
.
.
.
ee r r
La denicion de las reglas y corroboran la idea de que las -formulas son de tipo universal
y la -formulas son de tipo existencial.
Conviene resaltar que la regla (para fbfs de car acter existencial) permite eliminar la cuan-
ticacion sustituyendo la variable cuanticada por un nuevo smbolo de constante (concre-
tamente, un par ametro) y marcando como usada la fbf (x). Por el contrario, una aplicacion
de la regla (para fbfs de car acter universal) permite sustituir la variable cuanticada por
un termino que aparecio anteriormente (es decir, sobre el que ya estamos interesado) pero
no estar a permitido marcar la fbf (x).
La regla es, por lo tanto, la unica que no sustituye la fbf por otras mas simples: a nade
una mas simple pero mantiene la de partida. La raz on es que, claramente, con [x/t]A(x)
no cubrimos toda la informacion contenida en (x)A(x); puede ser necesario en una etapa
posterior instanciar (x)A(x) con alg un otro termino t
). De
esta forma aseguramos que las fbfs cuanticadas universalmente se podran instanciar con
terminos b asicos que a un no han sido introducidos.
Denicion 4.3 Sea = {A
1
, . . . , A
2
} un conjunto de fbfs. Un arbol T se dice que es un arbol para
, si existe una secuencia de arboles T
1
, . . . , T
n
tal que:
T
1
es el arbol inicial asociado a , es decir, el arbol de una sola rama:
A
n
.
.
.
A
2
A
1
Cada arbol T
i
, donde 2 i n, es un arbol asociado a que es extension inmediata de T
i1
,
es decir, T
i
se obtiene de T
i1
por aplicacion de una regla de extension a uno de sus nodos.
T
n
= T.
ee r r
En adelante, en los ejemplos, a nadiremos un subndice a las marcas , que nos indique el
orden de aplicacion de las reglas.
Ejemplo 4.1 Si no exigimos que cada aplicacion de la regla introduzca una nueva constante, podramos
cometer el error de concluir que la formula
A = (x)(P(x) Q(x)) ((x)P(x) (x)Q(x))
es valida:
105
[(x)(P(x) Q(x)) ((x)P(x) (x)Q(x))]
1
(x)(P(x) Q(x))
5
[x/a])
((x)P(x) (x)Q(x))
2
(x)P(x)
3
[x/a]
(x)Q(x)
4
[x/a] (Hemos utilizado de nuevo a)
P(a)
Q(a)
P(a) Q(a)
6
@
@
P(a) Q(a)
Sin embargo, A no es valida ya que la interpretaci on
M = ({a, b}, , , {P ;{b}, Q ;{a}})
no es un modelo para A.
Ejemplo 4.2 A un aplicando correctamente la regla , si se aplica la regla marcamos la formula,
podramos cometer el error de concluir que dada la formula
A = (x)(P(x) Q(x)) ((x)P(x) (x)Q(x))
la interpretaci on M = ({a, b}, , , {Q ;{a}}) es un modelo para A:
[(x)(P(x) Q(x)) ((x)P(x) (x)Q(x))]
1
(x)(P(x) Q(x))
5
[x/a]
((x)P(x) (x)Q(x))
2
(x)P(x)
3
[x/a]
(x)Q(x)
4
[x/b]
P(a)
Q(b)
P(a) Q(a)
6
@
@
P(a) Q(a)
La imposibilidad de marcar una -formula una vez que ha sido usada plantea varios problemas: Como
se dene el concepto de rama completa? Este concepto es necesario para describir el metodo, puesto que
si se extiende directamente la denicion proposicional, olvidando el tratamiento especial necesario para
las -formulas, no es posible demostrar que toda rama abierta de un arbol completo es satisfacible. La
solucion a este problema pasa por denir un metodo sistem atico de b usqueda.
4.0.2. Reglas para una Extension Sistematica
A continuacion describimos las reglas para construir tablas semanticas de un modo sistem atico para
que, como hemos indicado, podamos asegurar que cada rama abierta es satisfacible.
106 CAP
ITULO 4. M
ANTICAS
Comenzamos la construcci on mediante el arbol inicial de la formula o inferencia que se quiere vericar;
este es el primer paso.
Suponiendo que hemos terminado el n-esimo paso, describimos el (n + 1)-esimo paso como sigue:
Si el arbol obtenido en el n-esimo paso es un arbol cerrado, el metodo termina con salida es
V
ALIDA
Si el arbol obtenido en el n-esimo paso es tal que para cada rama abierta toda formula no atomica
ha sido marcada, entonces el metodo termina con salida NO es V
ALIDA.
En otro caso, consideramos un nodo A de profundidad minimal que a un no haya sido usado y que
aparezca en alguna rama abierta. La extensi on de la tabla se realiza para cada rama abierta
X
(con nodo hoja etiquetado con X) como se indica a continuacion:
1. Si A es del tipo la rama
X
se extiende a nadiendo
1
y
2
.
2. Si A es del tipo la rama
X
se bifurca en dos ramas a nadiendo dos nodos etiquetados con
1
y
2
respectivamente.
3. Si A es del tipo la rama
X
se extiende marcando A y a nadiendo un nodo (a), donde a es
un par ametro que no aparece previamente en la rama.
4. Finalmente, y este es el caso delicado, si A es del tipo se marca A y se extiende la rama
a nadiendo dos nodos etiquetados con (t) y A respectivamente, donde t es un termino b asico
que aparece previamente en
X
(o un par ametro arbitrario, si no existe tal termino).
ee r r
N otese que para conservar la universalidad de las -formulas se repite el nodo , pero a
mayor profundidad; esto permite usar todas las -formulas que aparezcan de modo rotativo
y permite marcar el nodo como usado.
Como en el caso proposicional, las demostraciones son arboles cerrados:
Denicion 4.4 Sea T un arbol para .
Una rama de T se dice que es cerrada, si en ella ocurren un atomo P y su negacion P; en cuyo
caso decimos que el metodo es con cierre atomico. O mas en general, si en ella ocurren una
formula B y su negacion B; en cuyo caso decimos que el metodo es con cierre no atomico.
Una rama de T se dice que es abierta si no es cerrada.
Un arbol T se dice cerrado si todas sus ramas son cerradas.
Denicion 4.5 Una rama abierta de un arbol T para se dice completa si satisface las siguientes
condiciones:
1. Si una formula ocurre en la rama , tambien sus componentes
1
y
2
ocurren en .
2. Si una formula ocurre en la rama , o la componente
1
o la componente
2
ocurre en .
3. Si una formula ocurre en la rama , una componente (a) ocurre en para alg un par ametro a.
4. Si una formula ocurre en la rama , las componentes (t) ocurren en para todo termino basico.
Un arbol T para se dice terminado si toda rama es cerrada o completa.
Denicion 4.6 Llamamos refutaci on para un conjunto de fbfs a cualquier arbol cerrado para . Una
formula C se dice que se deriva o inere del conjunto de formulas {H
1
, . . . , H
n
}, si existe una refutaci on
para {H
1
, . . . , H
n
, C}. En particular, una formula A se dice demostrable si existe una refutaci on para
{A}.
Una rama se dice satisfacible si el conjunto de las fbfs que etiquetan los nodos es satisfacible. Un
arbol T para se dice satisfacible si alguna de sus ramas es satisfacible.
4.1. DESCRIPCI
ON DEL M
ETODO 107
4.1. Descripci on del Metodo
Siguiendo a Jerey,
5
en la Figura 4.1 mostramos un diagrama de ujo para la construcci on de un
arbol de refutacion.
Negacion de la formula o bien
Hip.1, Hip.2, . . . , Hip n, negacion de la conclusion
Aplicar () o () siguiendo el diagrama proposicional
Hay alguna rama abierta?
SI NO
ES V
ALIDA
ocurren o -formulas en alg un nodo?
SI NO
NO ES V
ALIDA
Es aplicable () a alg un nodo?
SI NO
Aplquese
Es aplicable () ?
SI NO
Aplquese
Figura 4.1:
Debemos tener en cuenta las siguientes observaciones.
1. No se puede realizar ning un proceso de normalizaci on previo al algoritmo; las formulas deben
incluirse tal y como aparecen en el problema inicial. Naturalmente, esto no es una limitaci on
del algoritmo, pero uno de los objetivos del curso es entender las caractersticas de cada metodo
y algoritmo y el poder trabajar con todo tipo de formulas es una caracterstica de las tablas
semanticas que debemos explotar.
2. Tal y como se reeja en el diagrama, el orden de prioridad de las extensiones es , y . Este orden
est a determinado por cuestiones de eciencia; dejamos para el nal la extensi on , responsable de
la generaci on de nuevas ramas.
3. Las extensiones se hacen cuando no haya formulas , o sin marcar: se elige una formula ,
se aplica la regla y se vuelve a aplicar la regla con la nueva constante introducida.
5
R. C. Jerey. Formal Logic: its scope and limits. McGraw-Hill Inc., 1967. Traduccion al espa nol por Ed. Univ.
de Navarra, 1986.
108 CAP
ITULO 4. M
ANTICAS
4. El orden de expansi on de las formulas y de los terminos usados en las extensiones no condiciona
la correccion del metodo, pero s el tama no de la tabla construida. En las implementaciones del
algoritmo es necesario establecer un orden, pero en la aplicacion manual podremos elegir libremente
las formulas y terminos, aunque respetando siempre los criterios de prioridad.
Teorema 4.1 Toda refutaci on para un conjunto de fbfs es un arbol nito.
Demostraci on: Puesto que, por construcci on, nunca realizamos extensiones sobre una rama cerrada,
tenemos asegurado que toda rama cerrada es nita. Por lo tanto, el lema de Konig asegura el resultado.
En la logica clasica proposicional, la aplicacion sistem atica de las reglas a nodos no marcados no
se prolonga indenidamente, y consecuentemente, cualquier arbol da lugar a un arbol terminado en un
n umero nito de aplicaciones. Sin embargo, en la construcci on de un arbol en la logica clasica de primer
orden, la aplicacion de las reglas puede prolongarse indenidamente y generar arboles innitos que, por
el lema de Konig, tendran ramas innitas. El siguiente ejemplo ilustra esta armaci on. En el mostramos
un arbol innito para una formula satisfacible.
Ejemplo 4.3 La formula A = (x)(y)P(x, y) es satisfacible, ya que (N, {<}) es un modelo para esta
formula. Sin embargo, si A es la entrada al metodo, la ejecuci on da lugar a un arbol innito:
(x)(y)P(x, y)
1
[x/a]
(y)P(a, y)
2
(x)(y)P(x, y)
3
[x/b]
P(a, b)
(y)P(b, y)
4
(x)(y)P(x, y)
5
[x/c]
P(b, c)
(y)P(c, y)
6
:
:
4.2. Correcci on y Completitud
Como era de esperar, la adecuada denicion de las reglas de extensi on asegura la correccion del
metodo. Por su parte, la construcci on sistem atica del arbol nos permite asegurar su completitud. El
siguiente teorema es el resultado semantico b asico del metodo:
Teorema 4.2 Si T es un arbol satisfacible para entonces todo arbol para obtenido al aplicar a T
cualquier regla de extension es tambien satisfacible.
Demostraci on: Sea T un arbol satisfacible para y sea una rama satisfacible de T. Supongamos que
T
, es una rama de T
y por lo tanto T
es satisfacible.
2. Si =
ON Y COMPLETITUD 109
b) Si A es una -formula entonces, T
es satisfacible.
c) Si A es una -formula, entonces T
es satisfacible.
Teorema 4.3 (Existencia de modelo) Toda rama completa y abierta de un arbol T para un conjunto
de fbfs es satisfacible.
Demostraci on: Sean T erm
b
y P
el conjunto de
formulas que etiquetan los nodos de y Atom
, I
= T erm
b
.
2. I
, I
(t) = t;
para cada smbolo de predicado n-ario P P
tal que: I
(P) = {(t
1
, . . . , t
n
) | P(t
1
, . . . , t
n
)
Atom
}.
Probaremos ahora que toda formula de FBF
es verdadera en M
que es falsa en M
. Elijamos la de menor
grado (o una de ellas, si hay mas de una) con dicha propiedad, sea A tal formula. Es decir, se cumple:
(H) I
(B) = 1.
A no puede ser un literal, dada la denicion de I
:
-Si A = P(t
1
, . . . , t
n
), entonces I
(P(t
1
, . . . , t
n
)) = 1, pues (t
i
, . . . , t
n
) I
(P).
-Si A = P(t
1
, . . . , t
n
), entonces (t
i
, . . . , t
n
) / I
y la
rama estara cerrada. Luego I
(P(t
1
, . . . , t
n
)) = 0, es decir, I
(P(t
1
, . . . , t
n
)) = 1.
Por lo tanto, A tiene que ser una , una , una o una -formula. Veamos que tampoco puede darse
ninguno de estos casos.
Si A fuera una -formula, dado que es una rama completa y abierta se tiene que
1
y
2
FBF
.
Como gr(
1
), gr(
2
) < gr(), entonces por la hipotesis (H), I
(
1
) = I
(
1
) = 1. Entonces I
() = 1.
Pero esto contradice (H), que establece que I
(A) = I
o
bien
2
FBF
, entonces
I
(
1
) = 1 y si
2
FBF
, entonces I
(
2
) = 1. En cualquier caso, I
(A) = I
ITULO 4. M
ANTICAS
Si A fuera una -formula, dado que es una rama completa y abierta se tiene que (a) FBF
, para
alguna constante a. Dado que gr((a)) < gr(), por la hipotesis (H) resulta que I
((a)) = 1. Entonces
I
(A) = I
() = 0.
Si A fuera una -formula, dado que es una rama completa y abierta se tiene que (t) FBF
, para
todo termino t T erm
b
. Entonces I
(A) = I
() = 0.
Hemos recorrido todas las posibilidades de A y en ning un caso puede ser I
es verdadera en M
de N etiquetado con (t). En denitiva, construiramos una rama abierta y completa y, por
el Teorema 4.3 de existencia de modelo, = {H
1
, . . . , H
n
, C} sera satisfacible en contra de la
hipotesis.
4.2.1. Tablas semanticas para la Construcci on de Modelos
Igual que en el caso proposicional, los metodos de demostracion son realmente algoritmos de satis-
facibilidad con los que buscamos determinar un modelo de la formula o formulas de entrada. Si estamos
interesados en estudiar la validez de una formula o de un razonamiento, aplicaremos en primer lugar el
principio de refutacion.
En una logica clasica de primer orden, la busqueda de un modelo supone:
Determinar una dominio M: este dominio contendra, al menos, las constantes que aparecen en el
conjunto inicial, pero puede contener mas elementos.
A cada atomo b asico construido sobre el dominio M le tenemos que asignar un valor de verdad,
I(A) {0, 1}. Como en el caso proposicional, en la mayora de los problemas determinaremos una
interpretaci on parcial, es decir, bastara con asignar valores de verdad a algunos atomos b asicos.
4.2. CORRECCI
ON Y COMPLETITUD 111
Para acercarnos intuitivamente a la b usqueda de modelos, veamos el siguiente ejemplo resuelto a nivel
semantico.
Ejemplo 4.4 Vamos a buscar un modelo de la formula
((x)P(x) (x)Q(x)) (x)(P(x) Q(x)))
I((x)P(x) (x)Q(x)) (x)(P(x) Q(x))) = 0 (1)
I((x)P(x) (x)Q(x)) = 1 (4)
I(x)(P(x) Q(x))) = 0 (2) : a
I(P(a) Q(a)) = 0 (3)
I(P(a)) = 0
I(Q(a)) = 0
I((x)P(x)) = 1 (5) : a I((x)Q(x)) = 1 (6) : a
I(P(a)) = 1 I(Q(a)) = 1
(Absurdo) (Absurdo)
En este caso, concluimos que es imposible encontrar ning un modelo.
En la lnea que hemos utilizado en segundo lugar y que aparece marcada con (2):a, hemos
utilizado el siguiente hecho: para conseguir que I((x)(P(x) Q(x))) = 0, necesitamos que haya
un elemento en el dominio, al que llamamos a, que verique I(P(a) Q(a)) = 0. Como el caso
proposicional, la busqueda del modelo se hace transmitiendo la evaluacion a las subformulas, pero
en este caso, ademas, necesitamos determinar el valor de estas subformulas para elementos concretos
del dominio.
En la lnea I((x)P(x)) = 1, usada en quinto lugar y etiquetada con (5):a, necesitamos decir
que todos los atomos P(t) son verdaderos en la interpretaci on que estamos construyendo. Dado
que no podemos hacer esto, ya que ni siquiera sabemos cual puede ser nalmente el dominio, lo
que hemos hecho ha sido proceder parcialmente, es decir, utilizamos los elementos del dominio que
hemos introducido hasta ese momento. A diferencia del caso proposicional, en que cada formula
era usada solo una vez, este tipo de fbfs de primer orden deberan ser usadas para cada elemento
nuevo que a nadamos.
M as formalmente, el teorema de existencia de modelos, Teorema 4.3, asegura que en un arbol termi-
nado para un conjunto de fbfs, cada rama abierta , proporciona un modelo para , concretamente,
el modelo de Herbrand respecto de L
+
1
determinado por la interpretaci on I tal que I(A) = 1 si A ocurre
en e I(A) = 0 si A ocurre en .
Ejemplo 4.5 La formula A = (x)(y)R(x, y) (x)R(x, a) es valida.
[(x)(y)R(x, y) (x)R(x, a)]
1
(x)(y)R(x, y)
3
(x)R(x, a)
2
R(a, a)
(x)R(x, a)
4
[x, a]
(y)R(b, y)
5
R(b, a)
()R(x, a) [x/a, b]
R(b, a)
(y)R(b, y) [y/b]
112 CAP
ITULO 4. M
ANTICAS
Ejemplo 4.6 La formula A = (x)(P(x) Q(x)) ((x)P(x) (x)Q(x)) es valida.
[(x)(P(x) Q(x)) ((x)P(x) (x)Q(x))]
1
(x)(P(x) Q(x))
4
[x/a]
((x)P(x) (x)Q(x))
2
(x)P(x)
5
[x/a]
(x)Q(x)
3
Q(a)
P(a) Q(a)
6
(x)(P(x) Q(x))
P(a)
(x)P(x)
@
@
P(a) Q(a)
Ejemplo 4.7 La formula A = [((x)P(x) R(a)) (y)Q(y)] no es valida.
[((x)P(x) R(a)) (x)Q(y)]
1
((x)P(x) R(a)) (y)Q(y)
2
(x)P(x) R(a)
3
(y)Q(y)
4
[x/a]
H
H
(x)P(x)
5
R(a)
Q(a) Q(a)
(y)Q(y) [x, a] (y)Q(y) [x, a]
6
P(b)
Q(b)
(y)Q(y) [x/a, b]
donde cada rama abierta nos proporciona un modelo para la formula A.
Ejemplo 4.8 La inferencia
(x)(y)P(y, x), (u)(v)(P(u, v) Q(u, v)) |= (z)(t)Q(t, z) es valida.
En este ejemplo, para hacer mas simple el graco, en lugar de marcar las -formulas y repetirlas
tras su uso, hemos indicado a su derecha el orden en que han sido utilizadas, detallando las sustituciones
4.2. CORRECCI
ON Y COMPLETITUD 113
realizadas.
(x)(y)P(y, x) ((2)[x/a]; (8)[x/b])
(u)(v)(P(u, v) Q(u, v)) ((3)[u/a]; (9)[u/b])
(z)(t)Q(t, z)
1
(t)Q(t, a) ((4)[t/a]; (10)[t/b])
((y)P(y, a)
7
(v)(P(a, v) Q(a, v)) ((5)[v/a]; (11)[v/b])
Q(a, a)
P(a, a) Q(a, a)
6
@
@
P(a, a) Q(a, a)
P(b, a)
(y)P(y, b)
(v)(P(b, v) Q(b, v)) ((12)[v/a]; (13)[v/b])
Q(b, a)
P(a, b) Q(a, b)
14
P(b, a) Q(b, a)
15
P(b, b) Q(b, b)
@
@
Q(a, b) P(a, b)
@
@
Q(b, a) P(b, a)
@
@
Q(b, a) P(b, a)
Ejemplo 4.9 Vamos a estudiar la validez del siguiente razonamiento usando el metodo de Gilmore y el
de las Tablas semanticas.
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 relacion P(x, y) como x es padre de y y la relacion A(x, y) como x es abuelo de y podemos
escribir la siguiente formalizaci on:
(x)(y)(z)((P(x, y) P(y, z)) A(x, z))
(x)(y)P(y, x)
(x)(y)A(y, x)
Este razonamiento es valido si y solo si el siguiente conjunto es satisfacible:
{(x)(y)(z)((P(x, y) P(y, z)) A(x, z)), (x)P(f(x), x), yA(y, a)}
Su dominio de Herbrand es
H
S
= {a, f(a), f(f(a)), f(f(f(a))), . . . }
y la base de Herbrand
B
S
= {P(t
1
, t
2
); t
1
, t
2
H
S
} {A(t
1
, t
2
); t
1
, t
2
H
S
}
Construimos el arbol de Gilmore para A
1
A
2
A
3
con:
A
1
=(x)(y)(z)((P(x, y) P(y, z)) A(x, z)),
A
2
=(x)P(f(x), x), A
3
=(y)A(y, a)
114 CAP
ITULO 4. M
ANTICAS
La tabla semantica que demuestra igualmente la validez del razonamiento se muestra a continuacion.
La diferencia de tama no entre los dos arboles no debe conducir a conclusiones erroneas sobre la com-
plejidad de los metodos. Debe tenerse en cuenta que, por una parte, el metodo de Gilmore requiere un
proceso de normalizaci on previo y que, ademas, en ambos casos hemos elegido un orden optimo para las
sucesivas extensiones de los arboles.
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. Ademas, en ambos
casos, el signicado 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).
4.3. EJERCICIOS 115
4.3. Ejercicios
1. Aplicar el metodo de las tablas semanticas para analizar la validez o no de las siguientes fbfs:
a) (x)((yP(y) P(x))
b) (x)(y)P(x, y) (z)(t)P(t, z)
c) (x)(P(x) Q(x)) ((xP(x) (x)Q(x))
d) (x)(P(x) Q(x)) ((x)P(x) (x)Q(x))
e) (x)[P(x) (y)(Q(y) R(y, x))] (x)[Q(x) (y)(P(y) R(x, y))]
f ) (x)(P(x) Q(x)) ((x)P(x) (x)Q(x))
g) ((x)P(x) (x)Q(x)) (x)(P(x) Q(x))
2. Aplicar el metodo de las tablas semanticas para analizar la validez o no de las siguientes fbfs:
a) (x)(P(x) Q(x)) ((x)P(x) (x)Q(x))
b) ((x)P(x) (x)Q(x)) (x)(P(x) Q(x))
c) (x)(y)R(x, y) (y)(x)R(x, y)
d) (x)(P(x) (x)P(x))
e) (x)(y)(P(x) P(y)) (x)(y)(P(x) P(y))
f ) (x)(y)(P(x) P(y)) (x)(y)(P(x) P(y))
g) (x)(y)(z)(w)(R(x, y) R(w, z))
3. Aplicar el metodo de las tablas semanticas para analizar la validez o no de la siguiente inferencia
(x)(y)P(x, y)
(x)P(x, x)
(x)(y)(z)
_
(P(x, y) P(y, z)) P(x, z)
_
4. Estudie la validez de la siguientes inferencias utilizando Tablas semanticas:
a)
_
(x)((y)(S(x, y) M(y)) (y)(I(y) E(x, y)))
(x)I(x) (x)(y)(S(x, y) M(y))
b)
_
_
_
(x)(G(x) M(x))
(x)(M(x) F(x))
(x)(G(x) F(x))
5. Aplicar el metodo de las tablas semanticas para analizar la validez o no del siguiente razonamiento:
(x)(y)P(x, y)
(x)(y)(P(x, y) Q(x, y))
(x)(y)Q(x, y)
6. Aplicar el metodo de las tablas semanticas para analizar la validez o no del siguiente razonamiento:
(x)(y)(z)((P(x, y) P(y, z)) A(x, z))
(x)(y)P(y, x)
(x)(y)A(y, x)
7. Tras skolemizar, probar usando el metodo de las tablas semanticas para probar la satisfacibilidad
o no de los siguientes conjuntos de fbfs
116 CAP
ITULO 4. M
ANTICAS
a) {(x)(y)(Q(y) P(x, y)), (z)Q(z), (v)(u)(P(b, v) P(a, u)}
b) {(x)(Q(f(x)) P(x, f(x))), (zQ(z), (v)(u)(P(b, v) P(a, u)}
8. Aplicar el metodo de las tablas semanticas para analizar la validez o no del razonamiento siguiente:
Todos los hombres son mamferos.
Todos los mamferos son vertebrados.
Todos los vertebrados son hombres.
9. Aplique el metodo de las tablas semanticas para analizar la validez del razonamiento siguiente:
El padre del padre de una persona es su abuelo, toda persona tiene un padre; por lo
tanto todo el mundo tiene un abuelo.
10. Aplique el metodo de las tablas semanticas para analizar la validez o no del razonamiento siguiente:
Ning un vendedor de coches usados compra un coche usado para uso familiar.
Algunos de los que compran un coche usado para uso familiar son deshonestos.
Por lo tanto, algunas personas deshonestas no son vendedores de coches usados
11. Aplicar el metodo de las tablas semanticas para analizar la validez o no de los siguientes razona-
mientos:
a) Todo estudiante es honesto, Juan no es honesto; por lo tanto Juan no es estudiante.
b) Todo atleta es fuerte, todo el que es fuerte e inteligente triunfara en su carrera, Pedro es un
atleta, Pedro es inteligente; por lo tanto Pedro triunfara en su carrera.
c) Todo aquel que ama a alguien ama a Dios, no hay nadie que no ame a nadie; por lo tanto
todo el mundo ama a Dios.
d) El padre del padre de una persona es su abuelo, toda persona tiene un padre; por lo tanto
todo el mundo tiene un abuelo.
12. Estudie la validez de la siguientes inferencias utilizando Tablas semanticas:
a)
_
_
_
(x)(C(x) (W(x) R(x)))
(x)(C(x) O(x))
(x)(O(x) R(x))
b)
_
(y)(S(y) C(y))
(x)((y)(S(y) V (x, y)) (z)(C(z) V (x, z)))
c)
_
_
_
(x)(F(x) (y)(G(y) H(x)))
(x)F(x) (x)(F(x) G(x))
(x)(F(x) H(x))
d)
_
_
_
(x)(G(x) (y)H(y))
(x)G(x)
(x)H(x)
e)
_
_
_
(x)(F(x) G(x))
(x)(F(x) G(x))
(x)F(x)
f )
_
(x)(H(x) A(x))
(x)((y)(H(y) T(x, y)) (y)(A(y) T(x, y)))
4.3. EJERCICIOS 117
g)
_
_
(x)(F(x) G(x))
(x)(F(x) H(x))
(x)(J(x) (K(x) F(x)))
(x)(H(x) G(x)) (x)(K(x) H(x))
(x)(J(x) K(x))
h)
_
F(a)
(x)(F(x) G(x)) (x)((F(x) G(x)) (F(x) G(a)))
i)
_
_
_
(x)(y)P(x, y)
(x)P(x, x)
(x)(y)(z)((P(x, y) P(y, z)) P(x, z))
j )
_
_
_
(x)(y)P(x, y)
(x)(y)(P(x, y) Q(x, y))
(x)(y)Q(x, y)
118 CAP
ITULO 4. M
ANTICAS
Captulo 5
Metodo de Resolucion
Como comentamos en el estudio de la logica proposicional, el sistema de demostracion autom atica
mas conocido y mas utilizado en los sistemas de programacion logica es, sin duda, el metodo de resolucion
introducido por Robinson. En este captulo presentamos la extensi on del metodo proposicional que, como
venimos reiterando, para la logica de primer orden es un semialgoritmo.
Como en el caso proposicional, la extensi on que vamos a denir,
para vericar la validez de una fbf, A, considera como entrada el conjunto de clausulas correspon-
dientes a una forma clausal simult aneamente satisfacible con A y determina si tal conjunto de
clausulas es o no insatisfacible;
para vericar la validez de una inferencia
H
1
H
2
.
.
.
H
n
C
considera como entrada el conjunto de clausulas correspondientes a una forma clausal simult anea-
mente satisfacible a H
1
H
n
C respectivamente, y determina si tal conjunto de clausulas
es o no insatisfacible.
Tambien como en el caso proposicional, la base semantica del metodo de resolucion que vamos a denir
es el siguiente resultado: Dado un conjunto de clausulas basicas, se tiene que:
es insatisfacible si y solo si |= 2
donde 2 representa la clausula vaca (disyuncion vaca de literales).
Destaquemos que:
no hemos puesto restriccion al cardinal de , sobre el que sabemos que a lo sumo es innito
numerable;
las clausulas b asicas son armaciones del lenguaje natural del tipo contemplado en la logica clasica
proposicional
En denitiva, nuestro problema consiste en extender el metodo de Resoluci on estudiado en la logica
clasica proposicional para que contemple la posibilidad de analizar la satisfacibilidad de un conjunto
innito numerable de clausulas. Pero que sentido tiene considerar || =
0
? Tiene sentido considerar
un razonamiento con un conjunto innito numerable de hipotesis? En efecto, solo vamos a contemplar
119
120 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
razonamiento en L
1
con un n umero nito de hipotesis, pero leamos con cuidado nuestra armaci on anterior
y destaquemos que hablamos de un conjunto innito numerable de clausulas basicas y recordemos
que
Un conjunto de clausulas, L
1
, es satisfacible si y solo si el conjunto
b
de sus instancias basicas es satisfacible
Recordemos tambien que, basta que en intervenga un smbolo de funcion para que
b
sea
infinito numerable. As, para un tan simple como = {P(f(x)))}, tenemos que
b
= {P(a), P(f(a)), P(f
2
(a)), . . . P(f
n
(a)), . . .}
En denitiva, no podemos olvidar que la forma clausal = {P(f(x)))} representa la fbf ()P(f(x) y, en
general,
Si C una clausula y {x
1
, . . . , x
n
} es el conjunto de variables que interviene en
C entonces: Una interpretacion M es un modelo para C si y solo si M es un
modelo para (x
1
) . . . (x
n
)C(x
1
, . . . , x
n
).
Disponemos de alg un resultado especco sobre la satisfacibilidad de un conjunto innito de clausulas
b asicas? Afortunadamente s: disponemos del teorema de Compacidad de Herbrand, que nos asegura
que: si es un conjunto de clausulas y
b
el conjunto de instancias b asicas de , entonces
b
es satisfacible si y solo si existe un subconjunto finito
b
0
b
que es
satisfacible.
As que podemos empezar planteandonos la primera extensi on obvia del metodo para analizar la satisfa-
cibilidad de un conjunto de clausulas b asicas.
5.1. Resolucion basica
Denicion 5.1 Dos clausulas basicas C
1
y C
2
se dicen resolubles respecto a un atomo A, si A
ocurre en C
1
y su opuesto A ocurre en C
2
. Si C
1
y C
2
son resolubles respecto a A, llamamos resolvente
de C
1
y C
2
respecto de A , denotada R
A
(C
1
, C
2
), a la clausula
R
A
(C
1
, C
2
) = (C
1
{A}) (C
2
{A})
donde C
1
{A} y C
1
{A} representan las clausulas obtenidas al eliminar A y A en C
1
y C
2
, respec-
tivamente.
La regla de resoluci on es la siguiente:
Si C
1
y C
2
son resolubles respecto a A entonces
C
1
C
2
R
A
(C
1
, C
2
)
Ejemplo 5.1
1. R
P(a)
(P(a) Q(a, b) R(f(c)), P(a) Q(a, b) S(b, g(d, e))) = Q(a, b) R(f(c)) S(b, g(d, e))
2. R
Q(a,b)
(P(a) Q(a, b) R(f(c)), P(a) Q(a, b) S(b, g(d, e))) =
P(a) R(f(c)) P(a) S(b, g(d, e))
3. R
P(a)
(P(a), P(a)) = 2
5.1. RESOLUCI
ON B
ASICA 121
4. R
R(f(c))
(Q(a, b) R(f(c)), P(a) R(f(c))) = Q(a, b) P(a)
5. R
P(a)
(Q(a, b) R(f(c)), P(a) R(f(c))) No existe
La justicacion semantica de la regla de resolucion para clausulas b asicas es la misma que en el caso
proposicional
1
y, como consecuencia trivial, se tiene el resultado siguiente.
Teorema 5.1 (Correcci on del principio de resolucion) Dado un conjunto de clausulas basicas ,
si C
1
, C
2
son resolubles entonces
es satisfacible si y solo si {R
l
(C
1
, C
2
)} lo es.
Denicion 5.2 Dado un conjunto de de clausulas basicas y una clausula basica C, se dice que C es
deducible por resoluci on a partir de , denotado
R
C, si existe una secuencia de clausulas basicas
C
1
, C
2
, , C
n
tal que:
1. Cada C
i
(1 i n) es o bien una clausula de o bien una resolvente de dos clausulas anteriores
en la secuencia.
2. C
n
= C.
La secuencia C
i
(1 i n) se dice que es una deduccion por resoluci on de C a partir de . Una
deduccion por resolucion de 2 a partir de se le denomina una refutaci on por resoluci on de .
Ejemplo 5.2 Demos una refutacion por resolucion del siguiente conjunto nito de clausulas b asicas:
= {P(a) Q(a, b), Q(a, b) R(f(c)), P(a) R(f(c)), R(f(c))}
1. P(a) R(f(c)) de
2. R(f(c)) de
3. P(a) R
R(f(c))
(1, 2)
4. Q(a, b) R(f(c)) de
5. Q(a, b) R
R(f(c))
(2, 4)
6. P(a) Q(a, b) de
7. Q(a, b) R
P(a)
(3, 6)
8. 2 R
Q(a,b)
(5, 7)
El modo habitual de representar las deducciones por resolucion a partir de un conjunto de clausulas
es mediante un arbol binario.
Denicion 5.3 Un arbol de resoluci on para un conjunto de clausulas basicas es un arbol caracte-
rizado como sigue:
1. cada nodo no hoja tiene dos descendientes inmediatos.
2. cada nodo hoja esta etiquetado por una clausula de .
3. cada nodo no hoja esta etiquetado por una resolvente de las etiquetas de sus descendientes inme-
diatos.
1
Basta advertir que dicha regla no es mas que la expresion en terminos de y de la ley del silogismo
hipotetico: Para cualesquiera tres fbfs basicas A, B y C
A B, A C |= B C
122 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
Por denicion, resulta obvio el siguiente resultado.
Teorema 5.2 Si C es la etiqueta de la raz de un arbol de resolucion para , entonces
R
C.
Si C es 2, el arbol se dice que es un arbol de refutaci on para .
Ejemplo 5.3 A continuacion se presenta un arbol de refutacion para el conjunto nito de clausulas
b asicas
= {P(a) Q(a, b), Q(a, b) R(f(c)), P(a) R(f(c)), R(f(c))}
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
@
2
Q(a, b)
P(a) Q(a, b)
P(a) Q(a, b) P(a) R(f(c)) R(f(c)) Q(a, b) R(f(c)) R(f(c))
En general, para todo conjunto insatisfacible de clausulas, , existen refutaciones distintas para .
El siguiente arbol muestra una nueva refutacion para el conjunto de clausulas del ejemplo anterior
@
@
@
@
@
@
@
@
@
@
@
@
P(a) R(f(c)) R(f(c)) P(a) Q(a, b) Q(a, b) R(f(c)) R(f(c))
P(a)
Q(a, b)
R(f(c))
2
Los ejemplos que hemos visto muestran la extensi on del metodo de resolucion para el caso de un
conjunto nito de clausulas y, como era de esperar, tal extensi on es inmediata Pero como operar en
el caso de un conjunto innito de clausulas ? Desearamos disponer de herramientas que nos permitan
eludir la ingente tarea de ir generando todos los subconjuntos nitos de
b
.
2
Este fue el objetivo de
Robinson al denir el metodo de resolucion para L
1
y a describirlo dedicamos el resto del captulo.
Volvamos a nuestro problema, analizar la satisfacibilidad de un conjunto de clausulas en L
1
. No
tendremos problema para asegurar que
1
= {P(a), P(a)} es insatisfacible Pero que decimos del
conjunto
2
= {P(x), P(y)}? Seg un lo que venimos analizando,
2
es satisfacible si y solo si
b
2
es
satisfacible. Pero
b
2
= {P(c), P(c), P(f(c)), P(f(c)), . . . P(f
n
(c)), P(f
n
(c)), . . .}
3
2
Recordemos que, puesto que |
b
| = 0, se tiene que 2
b
= 1
3
donde c es la constante de Herbrand
5.1. RESOLUCI
ON B
ASICA 123
que es claramente insatisfacible.
Ejemplo 5.4 Consideremos el razonamiento
P(a)
(x)(P(x) P(f(x)))
(x)P(x)
Una forma clausal simult aneamente satisfacible con H
1
H
2
C es
= {P(a), P(x) P(f(x)), P(b)}
y el conjunto de instancias b asicas para es
b
= {P(a), P(b), P(f
n
(a) P(f
n+1
(a)), P(f
n
(b)) P(f
n+1
(b)) | n N
}
Si buscamos una refutacion por resolucion de
b
, podemos proceder como sigue:
1. P(a) de
b
2. P(b) de
b
3. P(a) P(f(a)) de
b
4. P(f(a)) R
P(a)
(1, 3)
5. P(f(a)) P(f
2
(a)) de
b
6. P(f
2
(a)) R
P(f(a))
(4, 5)
7. . . . . . .
. . .
Se puede generar la clausula P(f
n
(a)) para todo n N
1
, instancia de C
1
, y una clausula C
2
,
instancia de C
2
, tales que C
1
y C
2
son resolubles. La idea de Robinson de trabajar directamente con
clausulas con variables requiere considerar un mecanismo, debido a Herbrand, llamado unicaci on. Los
siguientes ejemplos nos ayudar an a comprender de que se trata.
124 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
En el ejemplo anterior, hemos usado instancias b asicas C
1
y C
2
. Ahora bien, puesto que al considerar
instancias de las clausulas se ha podido llegar a un par resoluble, sera conveniente obtener la resolvente
mas general posible, as podramos permitir que alguna de sus instancias se pueda resolver posteriormente
con alguna otra clausula de . Un ligero analisis permite encontrar una sustitucion mas general, [x/f(y)],
que tambien proporciona un par resoluble de clausulas C
1
y C
2
:
C
1
= P(f(y)) Q(f(y))
C
2
= P(f(y)) R(f(y), z)
obteniendose como resolvente la clausula Q(f(y)) R(f(y), z)
Ejemplo 5.5 Si consideramos el conjunto de clausulas
= {P(x, a, y), P(f(u), v, w) Q(v, g(a, x)), Q(z, g(a, f(b)))}
las instancias obtenidas al realizar las sustituciones [x/f(b)], [y/a], [u/b], [v/a] y [w/a] se obtienen las
instancias b asicas C
b
1
, C
b
2
y C
b
3
:
C
b
1
= P(f(b), a, a)
C
b
2
= P(f(b), a, a) Q(a, g(a, f(b))
C
b
3
= Q(z, g(a, f(b)))
En primer lugar, podemos ahora resolver C
b
1
y C
b
2
obteniendo Q(a, g(a, f(b))). Si ahora consideramos
la instancia obtenida al realizar la sustitucion en la tercera clausula [z/a], es decir, Q(a, g(a, f(b))) la
resolvente de esta clausula con Q(a, g(a, f(b))) es la clausula vaca.
En general, todas las instancias con las sustituciones [x/f(t
1
)], [y/t
2
], [u/t
1
], [v/a], [w/t
2
] y [z/a]
donde t
1
, t
2
H
ON 125
= {x
1
/t
1
, x
2
/t
2
, . . . , x
n
/t
n
}
El conjunto de variables {x
1
, . . . , x
n
} se llama dominio de (y se denotara dom()), mientras que el
rango de (denotado ran()) es el conjunto de variables que aparecen en los terminos t
i
.
Una sustituci on = {v
1
/t
1
, . . . , v
n
/t
n
} es basica si los terminos t
1
, . . . , t
n
son basicos.
Una sustituci on = {x
1
/t
1
, . . . , x
n
/t
n
} es de renombramiento si los terminos t
1
, . . . , t
n
son todos
smbolos de variables.
Dada una sustitucion , la extendemos a Term del siguiente modo: (t) es el termino obtenido susti-
tuyendo en t cada variable x por (x).
La aplicacion de la sustitucion a un termino t se denotara por t, y el termino obtenido se dir a que
es una instancia de t. En particular, si es una sustitucion b asica, diremos que t es una instancia
basica de t.
Si
1
y
2
son dos sustituciones, la composicion de
1
y
2
, se denotara como
2
1
. La operaci on
es asociativa y tiene como elemento unidad a la sustitucion vaca .
Dadas dos sustituciones
1
y
2
denidas por
1
= {x
1
/t
1
, x
2
/t
2
, . . . , x
n
/t
n
}
2
= {y
1
/u
1
, y
2
/u
2
, . . . , y
k
/u
k
}
la composicion
2
1
viene dada por
{x
1
/
2
(t
1
), . . . , x
n
/
2
(t
n
), y
i1
/
2
(y
i1
), . . . , y
im
/
2
(y
im
)}
Ejemplo 5.6
1. Si
1
= {x/y} y
2
= {y/a} entonces
2
1
= {x/a, y/a}.
2. Si
1
= {y/f(x), z/b} y
2
= {x/a} entonces
2
1
= {x/a, y/f(a), z/b}.
3. Si
1
= {x/y, y/f(b), z/b} y
2
= {y/x} entonces
2
1
= {y/f(b), z/b}.
4. Si
1
= {x/y, y/f(b), z/b} y
2
= {x/a} entonces
2
1
= {x/y, y/f(b), z/b}.
La extensi on de una sustitucion nita al conjunto Atom de los atomos de L
1
se realiza de forma
obvia:
P(t
1
, . . . , t
n
) = P(t
1
, . . . , t
n
) .
Ejemplo 5.7 Dados el atomo P(x, y, z, u) y las sustituciones
1
= {x/f(y), y/a, z/v} y
2
= {x/b, v/f(z), z/g(a)}
se tiene:
1.
1
P(x, y, z, u)) = P(f(y), a, v, u)
2.
2
1
P(x, y, z, u) =
2
P(f(y), a, v, u)) = P(f(y), a, f(g(a)), u)
Denicion 5.5 Diremos que un conjunto de terminos {t
1
, . . . , t
n
} es unificable si existe una sus-
titucion tal que t
1
= t
2
= . . . = t
n
. Asimismo, diremos que un conjunto de atomos con el
mismo predicado, {P(t
1
1
, . . . , t
1
n
), . . . , P(t
n
1
, . . . , t
m
n
)}, es unicable si existe una sustituci on tal que
P(t
i
1
, . . . , t
i
n
) = P(t
j
1
, . . . , t
j
n
) para cualesquiera i y j tales que i, j {1, . . . , m}. En ambos casos
diremos que es un unificador, del conjunto {t
1
, . . . , t
n
} en el caso de terminos, o del conjunto
{P(t
1
1
, . . . , t
1
n
), . . . , P(t
m
1
, . . . , t
m
n
)} en el caso de unicacion de atomos.
126 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
Ejemplo 5.8
1. Los atomos P(f(x), a) y P(y, f(w)) no son unicables ya que y y f(x) son unicables pero a y
f(w) no lo son.
2. Los atomos P(f(x), z) y P(y, a) son unicables y = {x/a, y/f(a), z/a} es un unicador. En efecto
(P(f(x), z)) = (P(y, a)) = P(f(a), a)
Denicion 5.6 Dado un conjunto de terminos {t
1
, . . . , t
n
}, diremos que un unificador de {t
1
, . . . , t
n
}
es de maxima generalidad (denotado umg) si para cualquier otro unicador de {t
1
, . . . , t
n
} se tiene
que = para alguna sustituci on .
Intuitivamente, un unicador de maxima generalidad realiza el menor n umero de sustituciones y las
mas generales posibles, es decir, mantiene el mayor n umero posible de variables.
Ejemplo 5.9 Las sustituciones
1
= {x/a, z/f(a, a), y/u, v/b} y
2
= {v/b, y/u, z/f(a, x)}
son unicadores del conjunto de terminos {h(f(a, x), f(y, b)), h(z, f(u, v))}. En efecto,
1
(h(f(a, x), f(y, b))) =
1
(h(z, f(u, v))) = h(f(a, a), f(u, b)) y
2
(h(f(a, x), f(y, b))) =
2
(h(z, f(u, v))) = h(f(a, x), f(u, b)).
ademas,
2
es mas general que
1
en el sentido de que
1
= {x/a}
2
No existe un unico unicador de maxima generalidad para dos terminos dados t y s; sin embargo,
dos umgs para t y s son tales que uno de ellos se obtiene a partir del otro mediante la composicion con
una sustitucion de renombramiento:
Teorema 5.3 Si
1
y
2
son umgs para un conjunto de terminos T entonces, existen dos sustituciones
de renombramiento
1
y
2
tales que
1
1
=
2
y
2
2
=
1
.
Demostraci on: Por denicion de umg, existen dos sustituciones
1
y
2
tales que
1
1
=
2
y
2
2
=
1
de donde, en particular, tenemos
1
=
2
1
1
.
Supongamos que
1
realiza alguna sustitucion x
i
/t
i
donde t
i
no es una variable. En este caso, para
alg un t T, la longitud del termino
1
1
(t) sera estrictamente mayor que la de
1
(t) y, puesto que
ninguna sustitucion disminuye la longitud del termino a la que es aplicada, no podramos tener que
1
=
2
1
1
. Por lo tanto,
1
es una sustitucion de renombramiento. El razonamiento para
2
es el
mismo.
En la secci on siguiente presentamos el algoritmo de unicacion de Robinson que, dado un conjunto de
atomos, determina si es o no unicable y, si lo es, proporciona un umg para tal conjunto. Damos ademas
una versi on del algoritmo para un conjunto de ecuaciones de terminos
5.2.1. El Algoritmo de Unicaci on
Antes de presentar el algoritmo necesitamos algunas deniciones previas.
Denicion 5.7 El conjunto de discrepancias de un conjunto no vaco de terminos T, denotado
Dis(T), (o de un conjunto no vaco A de atomos con el mismo predicado, denotado Dis(A)) se obtiene
localizando la posicion del primer smbolo (de izquierda a derecha) en el cual no todos los terminos
(atomos) coinciden, y extrayendo de cada termino de T (de cada atomo de A) el subtermino que comienza
en esa posicion. El conjunto de estos subterminos es el conjunto de discrepancias de T (de A).
Ejemplo 5.10
Dis({P(f(x), h(y), a), P(f(x), z, a), P(f(x), h(y), b)}) = {h(y), z}.
Dis(P(x, f(y, z)), P(x, g(h(k(x)))) = {f(y, z), g(h(k(x)))}
5.2. UNIFICACI
ON 127
5.2.1.1. Algoritmo de unicacion
Paso 1 Sea k = 0, T
k
=
k
T y
k
= .
Paso 2 Si T
k
es unitario, detener el algoritmo con la salida:
k
es el unicador mas general para T.
En otro caso, hallar el conjunto de discrepancias, Dis
k
, de T
k
.
Paso 3 Si existen terminos x
k
y t
k
en Dis
k
tales que x
k
es una variable que no ocurre en t
k
, ir al paso
4. En otro caso, detener el algoritmo con la salida: T no es unicable.
Paso 4 Sea
k+1
= (x
k
/t
k
)
k
y sea T
k+1
= (x
k
/t
k
)T
k
.
Paso 5 Hacer k = k + 1 y volver al paso 2.
Para cualquier conjunto nito no vaco de terminos (de atomos), este algoritmo siempre termina ya
que, en caso contrario, se generara una secuencia innita
0
T,
1
T, . . . de conjuntos nitos y no vacos
con la propiedad de que cada uno de ellos tiene una variable menos que el anterior (es decir,
k
T contiene
x
k
pero
k+1
T no), lo cual es imposible porque T (respectivamente A) solo puede contener un n umero
nito de variables.
ee r r
El algoritmo anterior es no determinista ya que en el paso (3) pueden existir varias elecciones
de x
k
y t
k
. Tiene un paso sumamente ineciente, la vericacion sistem atica de la no ocurrencia
de una variable en un termino (en la bibliografa inglesa: occurs check).
En las implementaciones del algoritmo para sistemas de programacion logica, esta com-
probacion simplemente se omite, aun a riesgo de perder la correccion del algoritmo y, en
consecuencia, con la posibilidad de obtener un resultado erroneo.
Teorema 5.4 (de unicacion) Si T es un conjunto no vaco y unicable de terminos, entonces el
algoritmo de unicacion siempre termina en el paso 2 y
k
es un umg para T. ademas,
k
es tal que,
para cualquier otro unicador de T se tiene que =
k
y por lo tanto, el algoritmo nos proporciona
un umg idempotente.
Demostraci on: Si T es unicable, y el algoritmo termina con la salida:
k
es el unicador mas general
para T, es evidente que
k
es un unicador; nos falta probar que
k
es un umg, es decir, que para
cualquier otro unicador existe una sustitucion tal que =
k
.
Sea un unicador para T. Demostremos por induccion que para cada k natural =
k
:
- Para k = 0 se tiene que
0
= . Por lo tanto, tenemos = .
- Supongamos ahora que =
k
y consideremos la sustitucion {x
k
/t
k
}. Bastar a probar que
{x
k
/t
k
} = . Para ello es suciente que coincidan en todo smbolo de variable:
Si x = x
k
, entonces es claro que {x
k
/t
k
}x = x y por lo tanto {x
k
/t
k
}(x) = (x)
Para x = x
k
, se tiene {x
k
/t
k
}x = t
k
y por lo tanto {x
k
/t
k
}(x
k
) = (t
k
). Ahora bien,
puesto que es un unicador de T y x
k
y t
k
est an en Dis
k
(T
k
), ha de ser (x
k
) = t
k
y por
lo tanto, (t
k
) = (x
k
) y tambien en este caso {x
k
/t
k
}(x
k
) = (x
k
).
Ejemplo 5.11 Para los atomos P(a, x, f(g(y))) y P(z, f(z), f(u)) la ejecuci on es como sigue:
k = 0;
0
= ; D
0
= Dis(P(a, x, f(g(y))), P(z, f(z), f(u))) = {a, z}
1
= {z/a}.
1
(P(a, x, f(g(y)))) = P(a, x, f(g(y)))
1
(P(z, f(z), f(u))) = P(a, f(a), f(u))
128 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
D
1
= Dis(P(a, x, f(g(y))), P(a, f(a), f(u))) = {x, f(a)}
2
= {x/f(a)} {z/a} = {z/a, x/f(a)}.
2
(P(a, x, f(g(y)))) = P(a, f(a), f(g(y)))
2
P(a, f(a), f(u))) = P(a, f(a), f(u))
D
2
= Dis(P(a, f(a), f(g(y))), P(a, f(a), f(u))) = {g(y), u}
3
= {u/g(y)} {z/a, x/f(a)} = {z/a, x/f(a), u/g(y)}.
3
(P(a, x, f(g(y)))) = P(a, f(a), f(g(y)))
3
(P(a, f(a), f(u))) = P(a, f(a), f(g(y)))
D
3
= Dis(P(a, f(a), f(g(y))), P(a, f(a), f(g(y)))) =
3
es un umg
Ejemplo 5.12 Para los atomos Q(f(a), g(x)) y Q(y, y) la ejecuci on es como sigue:
k = 0;
0
= ; D
0
= Dis(Q(f(a), g(x)), Q(y, y)) = {f(a), y}
1
= {y/f(a)}.
1
(Q(f(a), g(x))) = Q(f(a), g(x))
1
(Q(y, y)) = Q(f(a), f(a))
D
1
= Dis(Q(f(a), g(x)), Q(f(a), f(a))) = {g(x), f(a)}
No son unicables
Ejemplo 5.13 Para los atomos P(a, x, h(g(z))) y P(z, h(y), h(y)) la ejecuci on es como sigue:
k = 0;
0
= ; D
0
= Dis(P(a, x, h(g(z))), P(z, h(y), h(y))) = {a, z}
1
= {z/a}.
1
(P(a, x, h(g(z)))) = P(a, x, h(g(a)))
1
(P(z, h(y), h(y))) = P(z, h(y), h(y))
D
1
= {x, h(y)}
2
= {x/h(y)} {z/a} = {z/a, x/h(y)}.
2
(P(a, x, h(g(a)))) = P(a, h(y), h(g(a)))
2
(P(z, h(y), h(y))) = P(a, h(y), h(y))
D
2
= {g(a), y}
3
= {y/g(a)} {z/a, x/h(y)} = {z/a, x/h(g(a)), y/g(a)}.
3
(P(a, h(y), h(g(a)))) = P(a, h(g(a)), h(g(a)))
3
(P(a, h(y), h(y))) = P(a, h(g(a)), h(g(a)))
D
3
=
5.2. UNIFICACI
ON 129
3
es un umg
El concepto de unicacion puede verse como el analogo a la resolucion de ecuaciones en una teora
algebraica, algo tan antiguo como la misma Matem atica; en denitiva, la teora de la unicacion no es mas
que la extensi on de este estudio a un contexto mas abstracto. Por esta raz on, incluimos en esta secci on una
segunda versi on del algoritmo de unicaci on que, dado un conjunto de ecuaciones de terminos, determina
si es o no unicable y, si lo es, proporciona un umg para tal conjunto.
5.2.2. El Algoritmo de Unicaci on (versi on 2)
Antes de presentar esta segunda versi on del algoritmo necesitamos algunas deniciones previas que
nos facilitaran su enunciado.
Denicion 5.8 Una ecuacion es una expresi on de la forma s = t donde tanto s como t son terminos.
Un conjunto de ecuaciones de la forma {x
1
= t
1
, . . . , x
n
= t
n
} donde las x
i
son variables distintas
que no aparecen en ninguno de los terminos t
i
se dice que esta en forma resuelta.
Por abuso de lenguaje se suele hablar de ecuaciones entre atomos con el mismo smbolo de predicado,
cuando realmente de lo que se est a hablando es del conjunto de ecuaciones entre terminos que determina
la igualdad entre ambos atomos.
Supongamos que una ecuaci on entre atomos determina un conjunto E de ecuaciones entre terminos,
entonces cada conjunto de ecuaciones en forma resuelta equivalente a E (en el sentido de tener los mismos
conjuntos de unicadores) determina un unicador del par de atomos.
El algoritmo de unicacion que se presenta a continuacion clacula, dado un conjunto unicable de
ecuaciones, otro conjunto en forma resuelta equivalente al dado (en el sentido de que tienen los mismos
conjuntos de unicadores). Si el conjunto dado resulta no ser unicable, el algoritmo se detiene con
un error. El algoritmo presentado a continuacion es correcto y completo, y est a basado en el algoritmo
original de Herbrand:
5.2.2.1. Algoritmo de unicacion
Dado un conjunto de ecuaciones E, se elige una ecuaci on de E a la cual le sea aplicable alguno de los
siguientes pasos:
1. Si la ecuaci on es de la forma f(t
1
, . . . , t
n
) = f(s
1
, . . . , s
n
) entonces se reemplaza esta ecuaci on por
las ecuaciones t
1
= s
1
, . . . , t
n
= s
n
2. Si la ecuaci on es de la forma f(t
1
, . . . , t
n
) = g(s
1
, . . . , s
m
) con f = g entonces el algoritmo termina
con un error de conflicto de nombres.
3. Si la ecuaci on es de la forma x = x, entonces se elimina.
4. Si la ecuaci on es de la forma t = x donde x es una variable y t no lo es, entonces se reemplaza por
x = t.
5. Si la ecuaci on es de la forma x = t con x distinto de t y ademas x aparece en alguna otra ecuaci on
del conjunto entonces:
- Si x V(t) se termina con error de existencia de ciclos.
- En otro caso se reemplaza x por t en todas las dem as ecuaciones.
El algoritmo termina cuando se llega a un error o no se puede aplicar ning un paso a ninguna ecuaci on.
130 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
ee r r
El algoritmo anterior es, obviamente, no determinista y como la versi on primera, tiene un
paso sumamente ineciente, la vericacion sistem atica de la no ocurrencia de una variable
en un termino.
Teorema 5.5 El algoritmo de unicacion aplicado a un conjunto de ecuaciones proporciona, en un
n umero nito de pasos, un conjunto equivalente en forma resuelta si y solo si el conjunto de entrada es
resoluble. En caso contrario terminara con error.
Demostraci on:
Terminacion Cualquier aplicacion de los pasos 1 o 3 disminuye estrictamente el n umero de ocurrencias
de variables y funciones que aparecen en las ecuaciones. El paso 4. solo se puede aplicar un n umero
nito de veces antes de aplicar otro paso, y su aplicacion no incrementa este n umero total. Despues
de un n umero nito de aplicaciones de los pasos 1, 3 y 4 o el algoritmo termina o existe una
aplicacion del paso 5.
La aplicacion del paso 5 puede terminar o bien detectando un error y terminando la ejecuci on
o bien eliminando todas las ocurrencias de una variable en el miembro de la derecha de todas
las ecuaciones. En consecuencia, para cada variable el paso 5 solo puede ser ejecutado una vez;
puesto que solo hay un n umero nito de variables en el conjunto de ecuaciones, este paso solo se
ejecutara un n umero nito de veces.
Seg un lo anterior, puesto que cada paso se ejecuta a lo sumo una cantidad nita de veces, el
algoritmo termina para todo conjunto de ecuaciones de entrada.
Correccion Supongamos que el algoritmo no ha terminado con error y que nos ha devuelto un conjunto
de ecuaciones E
entonces E es resoluble.
Supongamos ahora que el algoritmo termina con error, veamos que E no es resoluble.
Por el razonamiento anterior tenemos que el conjunto de ecuaciones que tenemos en la deteccion
del error es equivalente a E.
Si el error ocurri o en el paso 2, el conjunto E no es resoluble puesto que ninguna sustitucion
de las variables va a conseguir unicar los smbolos de funci on externos.
Si el error ocurri o en el paso 5, el conjunto E no es resoluble porque x = t no es resoluble.
Esto se debe a que la aplicacion de cualquier sustitucion b asica a x produce en el miembro de
la derecha un termino estrictamente mayor que en el de la izquierda, por lo que la identidad
sint actica no es posible.
En todo lo que sigue solo consideraremos conjuntos nitos de clausulas de L
1
, es decir, formas
clausales. Supondremos tambien que las clausulas no contienen literales repetidos. Para este n, cuando
aparezca una clausula con literales repetidos, para cada uno de ellos se eliminan todas sus ocurrencias
salvo la ocurrencia situada mas a la izquierda.
5.3. RESOLUCI
ON DE
ATOMOS NO B
ASICOS 131
5.3. Resolucion de
Atomos no basicos
Una vez conocido el algoritmo de unicacion, podemos considerar la extensi on del principio de resolu-
cion para la logica de primer orden. En la denicion del principio de resolucion para fbfs de L
1
, usaremos
el unicador mas general proporcionado por el algoritmo de unicacion.
Denicion 5.9 Sean C
1
y C
2
dos clausulas sin variables en com un, y sean A C
1
y B C
2
tales
que A unica con B con umg . En tal caso se dice que C
1
y C
2
es un par resoluble y se dene la
resolvente binaria de C
1
y C
2
respecto a A mediante a la clausula C denida como sigue
C = (C
1
{A}) (C
2
{B})
Del mismo modo que en el caso basico, las clausulas C
1
y C
2
se denominan clausulas paternas de C.
Es preciso destacar que en la denicion de resolvente, es posible resolver varios literales a la vez. Esta
caracterstica del metodo para la logica de primer orden se conoce con el nombre de factorizacion.
Consideremos, por ejemplo, el conjunto de clausulas = {P(x) P(y), P(x) P(y)}. Este conjunto
es insatisfacible. En efecto,
(x)(y)[(P(x) P(y)) (P(x) P(y))]
(x)(y)(P(x) P(y)) (x)(y)(P(x) P(y))
((x)P(x) (y)P(y)) ((x)P(x) (y)P(y))
Sin embargo, ninguna demostracion por resolucion que elimina unicamente un literal cada vez puede
producir 2. Este hecho motiva la denicion siguiente.
Denicion 5.10 Si dos o mas literales (con el mismo signo) de una clausula C son unicables con umg
entonces C se dice que es un factor de C.
Denicion 5.11 Una resolvente para las clausulas C
1
y C
2
es una de las siguientes resolventes
binarias:
1. Una resolvente binaria de C
1
y C
2
.
2. Una resolvente binaria de C
1
y un factor de C
2
.
3. Una resolvente binaria de un factor de C
1
y C
2
.
4. Una resolvente binaria de un factor de C
1
y un factor de C
2
.
Ejemplo 5.14 Podemos resolver las clausulas
C
1
= Q(x) R(x) P(x, y) P(f(z), f(z)) y
C
2
= S(u) R(w) P(f(a), f(a)) P(f(w), f(w))
considerando como umg para el conjunto de atomos
{P(x, y), P(f(z), f(z)), P(f(a), f(a)), P(f(w), f(w))}
es = {x/f(a), y/f(a), z/a, w/a}. Hallamos la resolvente mediante y obtenemos la clausula
Q(f(a)) R(f(a)) S(u) R(a)
Denicion 5.12 Dados un conjunto de clausulas y una clausula C de L
1
, se dice que C es deducible
por resoluci on a partir de , denotado
R
C, si existe una secuencia de clausulas C
1
, C
2
, , C
n
tal
que:
132 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
1. Cada C
i
(1 i n) es o bien una clausula de o bien una resolvente de dos clausulas anteriores
en la secuencia.
2. C
n
= C.
La secuencia C
i
(1 i n) se dice que es una deduccion por resoluci on de C a partir de .
Una deduccion por resolucion de 2 a partir de se dice una refutaci on por resoluci on de .
Veamos que la exigencia de que C
1
y C
2
no tengan variables en com un es necesaria. Consideremos,
por ejemplo, el conjunto de clausulas {P(f(x)), P(x)}. Puesto que este conjunto representa a la fbf
(x)P(f(x)) (x)P(x), se trata de un conjunto de clausulas insatisfacible; sin embargo, P(f(x)) y
P(x) no son unicables, porque no podemos hacer la sustitucion x/f(x); esto se resuelve renombrando
las variables para obtener (x)P(f(x)) (y)P(y), es decir, el conjunto de clausulas {P(f(x)), P(y)},
cuyo umg es {y/f(x)}. Veamos otro ejemplo.
Ejemplo 5.15 Una refutacion para el conjunto de clausulas
= {P(x, a, y), P(f(u), v, w) Q(v, g(a, x)), Q(z, g(a, f(t)))}
es la siguiente secuencia
1. P(x, a, y) de .
2. P(f(u), y, w) Q(v, g(a, x)) de .
3. Q(z, g(a, f(t))) de .
4. Q(v, g(a, f(u))) de 1. y 2. (con umg = {x/f(u), y/a, w/a})
5. 2 de 3. y 4. (con umg = {z/v, t/u})
En el ejemplo anterior no ha sido preciso renombrar variables. Sin embargo, como nos muestra el
siguiente ejemplo, puede suceder que este renombramiento sea necesario.
Ejemplo 5.16 Consideremos el conjunto de clausulas
= {P(x, a, y), P(f(x), v, w) Q(v, g(a, x)), Q(z, g(a, f(t)))}
En este caso, P(x, a, y) y P(f(x), v, w) Q(v, g(a, x)) no son unicables ya que x ocurre en f(x).
Evitaremos esta situaci on renombrando x en la segunda clausula, por ejemplo por u. De esta forma,
obtenemos el conjunto de clausulas del ejemplo 5.15 para el que, como hemos visto, no existe ning un
problema.
Nuestro prop osito es demostrar ahora que el principio de resolucion con unicacion es completo; esto
es, que un conjunto de clausulas S es insatisfacible si y solo si la clausula vaca es deducible usando la
regla de resolucion. Para ello necesitaremos el siguiente lema, que permitira tomar como punto de partida
una refutacion por resolucion b asica y contemplar su extensi on a una resolucion general.
Lema 5.1 (de extension) Si C
1
y C
2
son instancias de C
1
y C
2
respectivamente, y si C
es una
resolvente de C
1
y C
2
entonces existe una resolvente C de C
1
y C
2
tal que C
es una instancia de C.
Demostraci on: Renombremos, si es necesario, las variables de modo que C
1
y C
2
tengan variables
distintas. Sean L
1
y L
2
los literales sobre los que se resuelve C
1
y C
2
, y sea
C
= (C
1
L
1
) (C
2
L
2
)
donde es un umg de L
1
y L
2
. Puesto que las clausulas C
i
son instancias de las clausulas C
i
, existe
una sustitucion tal que C
i
= C
i
. Sean L
i
1
, . . . , L
i
ri
los literales de C
i
que corresponden a L
i
, es decir,
5.3. RESOLUCI
ON DE
ATOMOS NO B
ASICOS 133
aquellos que L
i
1
= = L
i
ri
= L
i
. Si r
i
> 1 obtengamos un umg
i
para el conjunto {L
i
1
, . . . , L
i
ri
}
y sea L
i
=
i
L
i
1
. En tal caso L
i
es un literal del factor
i
C
i
de C
i
. Si r
i
= 1 sea entonces
i
= id y
L
i
= L
i
1
. Sea =
1
2
. Con esta denicion de L
i
tenemos que L
i
es una instancia de L
i
; puesto que
L
1
y L
2
son unicables tambien tenemos que L
1
y L
2
son unicables. Sea un umg de L
1
y L
2
:
C = ((C
1
) L
1
) ((C
2
) L
2
)
= ((C
1
) ({L
1
1
, . . . , L
1
r1
})) ((C
2
) ({L
2
1
, . . . , L
2
r2
}))
= (( )C
1
( ){L
1
1
, . . . , L
1
r1
}) (( )C
2
( ){L
2
1
, . . . , L
2
r2
})
C es una resolvente de C
1
y C
2
; ademas, es claro que C
= (C
1
) L
1
) (C
2
) L
2
)
= ((C
1
) ({L
1
1
, . . . , L
1
r1
})) ((C
2
) ({L
2
1
, . . . , L
2
r2
}))
= (( )C
1
( ){L
1
1
, . . . , L
1
r1
}) (( )C
2
( ){L
2
1
, . . . , L
2
r2
})
y es mas general que .
Teorema 5.6 (Completitud del principio de resolucion) Un conjunto de clausulas S es insatisfa-
cible si y solo si la clausula vaca 2 es deducible por resolucion a partir del conjunto S.
Demostraci on: Supongamos que S es insatisfacible. Sea A = {A
1
, A
2
, . . . , } el conjunto de atomos
(basicos) de S. Sea T un arbol semantico completo para A. Por el teorema de Herbrand, T tiene un arbol
semantico cerrado y nito T
.
Si T
solo consta del nodo raz entonces 2 debe estar en S, pues ninguna otra clausula se puede hacer
falsa en la raz de un arbol semantico. En este caso, el teorema es obviamente cierto.
Si T
tiene mas de un nodo entonces debe tener al menos un nodo inferencia: si esto no ocurre entonces
todo nodo tendra al menos un descendente que no es nodo fallo y tendramos una rama innita en T
, lo
que no puede ser puesto que T
y sean N
1
y N
2
sus descendientes
(que son nodos fallo), sea tambien
I(N) = {m
1
, m
2
, . . . , m
n
}
I(N
1
) = {m
1
, m
2
, . . . , m
n
, m
n+1
}
I(N
2
) = {m
1
, m
2
, . . . , m
n
, m
n+1
}
Puesto que N
1
y N
2
son nodos fallo pero N no lo es, deben existir dos instancias b asicas C
1
y C
2
de
las clausulas C
1
y C
2
tales que C
1
y C
2
son falsas en I(N
1
) e I(N
2
) respectivamente, pero no en I(N).
Por lo tanto, C
1
debe contener a m
n+1
y C
2
debe contener a m
n+1
. Sea L
1
= m
n+1
y L
2
= m
n+1
;
resolviendo respecto de los literales L
1
y L
2
obtenemos la resolvente
C
= (C
1
L
1
) (C
2
L
2
)
Ahora C
1
L
1
) como (C
2
L
2
) son falsas en I(N). Por el
lema de extensi on, existe una resolvente C de C
1
y C
2
tal que C
es menor
que el de T
ITULO 5. M
ETODO DE RESOLUCI
ON
modelo M de S. Sin embargo, si un modelo satisface las clausulas resolubles C
1
y C
2
tambien satisface
a su resolvente; por lo tanto M satisface a R
1
, R
2
, . . . , R
k
, lo cual es imposible puesto que una de estas
clausulas es 2. Por lo tanto S es insatisfacible.
Ejemplo 5.17 Apliquemos el metodo al conjunto de clausulas
= {P(x) Q(x) R(x, f(x)), P(z) Q(z) S(f(z)), T(a), P(a),
R(a, y) T(y), T(u) Q(u), T(w) S(w)}
1. P(x) Q(x) R(x, f(x)) de .
2. P(z) Q(z) S(f(z)) de .
3. T(a) de .
4. P(a) de .
5. R(a, y) T(y) de .
6. T(u) Q(u) de .
7. T(w) S(w) de .
8. Q(a) de 3 y 6 (con umg = {u/a}).
9. Q(a) S(f(a)) de 2 y 4 (con umg = {z/a}).
10. S(f(a)) de 8 y 9.
11. Q(a) R(a, f(a)) de 1 y 4 (con umg = {x/a}).
12. R(a, f(a)) de 8 y 11.
13. T(f(a)) de 5 y 12 (con umg = {y/f(a)}.
14. S(f(a)) de 7 y 13 (con umg = {w/f(a)}
15. 2 10 y 14.
Ejemplo 5.18 Consideremos el razonamiento
(x)
_
C(x) (W(x) R(x))
_
(x)(C(x) Q(x))
(x)(Q(x) R(x))
Una forma clausal para es:
= {C(x) W(x), C(y) R(y), Q(z) R(z), C(a), Q(a)}
y una refutacion para es la siguiente secuencia
1. C(x) W(x) de .
2. C(y) R(y) de .
3. Q(z) R(z) de .
4. C(a) de .
5. Q(a) de .
6. R(a) de 2. y 4. (con umg = {y/a}).
7. Q(a) de 3. y 6. (con umg = {z/a}).
5.3. RESOLUCI
ON DE
ATOMOS NO B
ASICOS 135
8. 2 de 5. y 7.
En los ejemplos anteriores la b usqueda de una refutacion se ha realizado de modo arbitrario, sin
embargo, es obvio es necesario una sistematizacion para esta b usqueda. El modo mas simple (conceptual-
mente hablando) de sistematizar la b usqueda de una refutacion o bien la de asegurar que no existe, se
basa en la generaci on sucesiva de todas las posibles resolventes a partir del conjunto de partida. mas
precisamente:
Dado un conjunto de clausulas , denotamos por R() la union de y el conjunto de todas las
resolventes de clausulas de (resolventes obtenidas utilizando solo clausulas de ). Para todo n N,
denimos R
n
() como sigue:
R
0
() =
R
n+1
() = R(R
n
())
Por denicion, es claro que R
n
() R
n+1
().
El metodo propuesto construye sucesivamente R
1
(), R
2
() . . . Si existe un k N tal que 2 R
k
()
entonces, es insatisfacible. En caso contrario, es satisfacible.
Este algoritmo, denominado resoluci on por saturaci on es, obviamente, completo en el sentido de
que siempre que el conjunto de clausulas sea insatisfacible se va a generar la clausula vaca. Su nombre
se debe a que, para todo n se va generando todas las posibles resolventes del conjunto R
n
(), es decir,
el conjunto R
n
() se satura por resolucion.
Es evidente que el proceso de saturacion va a generar multitud de clausulas innecesarias para la
obtencion de la clausula vaca, por lo que el proceso se puede y se debe depurar.
El siguiente ejemplo muestra una aplicacion del metodo de saturacion con una primera estrategia de
depuracion.
Ejemplo 5.19 Comprobamos que el conjunto de clausulas = {P Q, P R, Q R, P} (donde
P, Q y R son atomos de L
1
) es insatisfacible, usando el metodo de resolucion por saturacion:
1. P Q
2. P R
3. Q R
4. P
5. P R (por 1 y 3)
6. Q (por 1 y 4)
7. P Q (por 2 y 3)
8. R (por 2 y 4)
R() = {P R, Q, P Q, R}
9. P (por 1 y 7)
10. P (por 2 y 5)
10. R (por 3 y 6)
11. Q (por 3 y 8)
12. R (por 4 y 5)
12. Q (por 4 y 7)
12. P (por 5 y 8)
136 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
12. P (por 6 y 7)
R
2
() = R() {P, R, Q}
12. P (por 1 y 11)
12. P (por 2 y 10)
12. 2 (por 4 y 9)
Las lneas tachadas indican que las resolventes generadas se eliminan por estar ya en la secuencia.
Una primera estrategia consiste en la no inclusi on de las resolventes que ya est an en S
i
. Esto conlleva
un menor gasto en la generaci on de cada nivel pero, en cualquier caso, el tiempo gastado al calcular las
resolventes que despues se van a eliminar no es recuperable.
Como en el caso proposicional, existen otros renamientos mucho mas depurados del metodo de
resolucion que se presentan en la siguiente secci on; todos ellos incluyen como simplicaci on la eliminacion
de aquellas clausulas generadas por resolucion que o bien contienen un literal y su opuesto o contienen
otra clausula ya generada.
5.3.1. Resolucion Lineal
Presentamos a continuacion el renamiento conocido como resolucion lineal propuesto independien-
temente por Loveland
5
y Luckham
6
, y como caso particular, la mejora de este renamiento, debida a
Kowalski y Kuenner,
7
llamado resolucion lineal ordenada.
El nombre de resolucion lineal se debe a que las deducciones se construyen como un tipo de razo-
namiento en cadena, es decir, para generar 2 se comienza con una clausula, se resuelve esta con otra
clausula y la resolvente obtenida con otra clausula y as sucesivamente. Este razonamiento en cadena es
similar al que se realiza en matematicas para demostrar una igualdad: comenzamos con el miembro de
la izquierda de la igualdad y se aplica alguna propiedad para obtener una expresion equivalente, esta
transformaci on se realiza repetidamente hasta que, nalmente, llegamos a la expresion del miembro de
la derecha de la igualdad.
Denicion 5.13 Sea un conjunto de clausulas y C
0
. Una deducci on lineal de una clausula C a
partir de con cabeza C
0
, es una secuencia de clausulas del tipo
C
0
, B
0
, C
1
, B
1
, . . . , C
n1
, B
n1
, C
n
tal que
1. C
0
.
2. Para todo i = 1, . . . , n 1, C
i
es una resolvente de C
i1
y B
i1
.
3. Para todo i = 1, 2, . . . , n, B
i
o B
i
= C
j
para alg un j con j < i.
4. C
n
= C.
El modo habitual de representar este tipo de deducciones es mediante un arbol binario, llamado arbol
de resoluci on lineal, de la forma
5
D. Loveland. A linear format for resolution. In Proc. IRIA Symposium on Automatic Demostration, 1970.
6
D. Luckham. Renements in resolution theory. In Proc. IRIA Symposium on Automatic Demostration, 1970.
7
R. Kowalski and D. Kuhner. Search strategies for theorem-proving. Machine Intelligence, 5, 1970.
5.3. RESOLUCI
ON DE
ATOMOS NO B
ASICOS 137
B
n2
.
.
.
C
C
0
C
n1
C
2
C
1
B
n1
B
1
B
0
Las clausulas C
i
se denominan clausulas centrales y las B
i
clausulas laterales. Si C = 2, el arbol se
denomina un arbol de refutacion lineal para con cabeza C
0
.
Ejemplo 5.20 Un arbol de refutacion lineal para = {P Q, P Q, QR, QR} (donde P, Q
y R son atomos de L
1
) con cabeza P Q es,
2
P Q
Q
R
Q
Q
Q R
Q R
P Q
Las clausulas laterales son P Q, Q R, Q R de y Q.
Esta es, ademas, una clausula central.
El metodo de resolucion lineal es correcto y completo, es decir, un conjunto de clausulas es insatisfacible
si y solo si existe una refutacion lineal para
8
En la practica etiquetamos los arcos no solo con la clausula lateral sino tambien explicitando el umg
utilizado para obtener la siguiente clausula central.
5.3.2. Resolucion Lineal Ordenada
Este tipo de resolucion constituye una mejora de la resolucion lineal. Dos son las ideas b asicas en las
que se apoya este metodo:
8
Para la demostraci on de este resultado puede consultarse:
C.-L. Chang and R. C.-T. Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973.
138 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
Considera las clausulas como secuencia de literales en lugar de como conjunto de literales, llam ando-
las clausulas ordenadas.
La introduccion de la ordenaci on de las literales aumenta, como veremos, la eciencia de la resolu-
cion lineal de manera considerable.
Guarda la informacion del literal respecto del que se resuelve.
En resolucion lineal, al resolver respecto de un literal, este simplemente se elimina; cuando, en
realidad, la informacion que aporta el literal eliminado es sumamente util.
En el proceso de construir resolventes, la resolucion lineal ordenada introduce las siguientes conside-
raciones:
1. solo permite resolver dos clausulas ordenadas C
1
y C
2
respecto al ultimo literal de C
1
.
2. guarda la informacion del literal resuelto, manteniendolo encuadrado en la resolvente.
3. en toda resolvente, se elimina todo literal encuadrado que no va seguido de alg un literal no encua-
drado.
ee r r
Los literales encuadrados se mantienen en las formulas simplemente como etiquetas infor-
mativas acerca de las literales respecto de las que ya se ha resuelto, pero no participan en la
resolucion.
Ejemplo 5.21 Presentamos tres ejemplos de resolucion lineal ordenada de dos clausulas dadas:
1. La resolvente de P Q R y P R T es P Q R T.
2. La resolvente de P QR y P R es P Q, obtenida mediante las siguientes simplicaciones:
a) El resultado sera P Q R P, pero al estar P repetida se mantiene solo la ocurrencia
mas a la izquierda.
b) Ahora tendra mos P Q R , donde se elimina el literal encuadrado por no tener ning un
literal sin encuadrar a su derecha.
3. La resolvente de P Q R y Q R es P Q R Q.
Con relacion a la resolucion lineal, la resolucion lineal ordenada no solo reduce el n umero de resol-
ventes por considerar debido al hecho de resolver unicamente respecto del ultimo literal, sino que ademas
incorpora una nueva estrategia de eciencia considerando un determinado tipo de clausulas respecto de
las cuales solo se requiere resolver con clausulas centrales.
Denicion 5.14 Una clausula ordenada se denomina clausula ordenada reducible si su ultimo
literal es el opuesto de alg un literal enmarcado de dicha clausula. Si C es una clausula ordenada reducible,
la clausula ordenada obtenida al eliminar el ultimo literal de C se denomina clausula reducida de C.
Si la clausula C
i
por resolver es reducible, se puede demostrar que solo sera necesario resolver con
clausulas centrales y existe una clausula central C
j
tal que R(C
i
, C
j
) es la reducida de C
i
.
Disponemos ya de los elementos necesarios para denir la deducci on en la resolucion lineal ordenada.
Denicion 5.15 Sea un conjunto de clausulas ordenadas y C
0
. Una deduccion lineal ordenada
de una clausula C a partir de con cabeza C
0
es una secuencia de clausulas ordenadas
C
0
, B
0
, C
1
, B
1
, . . . , C
n1
, B
n1
, C
n
tal que
1. Para todo i = 0, 1, 2, . . . , n 1, B
i
o B
i
= C
j
para alg un j con j < i.
5.3. RESOLUCI
ON DE
ATOMOS NO B
ASICOS 139
2. Para todo i = 2, . . . , n, si C
i1
es reducible, entonces C
i
es la reducida de C
i1
y en caso contrario,
C
i
es la resolvente ordenada de C
i1
y B
i
con B
i
.
3. C
n
= C.
Como en el caso de la resolucion lineal, la secuencia de clausulas ordenadas
C
0
, B
0
, C
1
, B
1
, . . . , C
n1
, B
n1
, C
n
se representa
C
C
n1
B
n1
C
2
B
n2
.
.
.
C
1
B
1
C
0
B
0
En el caso en que C = 2, este arbol se dice que es un arbol de refutaci on lineal ordenada para .
Ejemplo 5.22 Un arbol de refutacion lineal ordenada para
= {P Q, P Q, Q R, Q R}
con cabeza P Q es el que mostramos a continuacion:
2
P Q R Q
P Q R
P Q
(. . . P Q)
Q R
Q R
P Q
P Q R Q (. . . P Q)
P Q R Q R
P Q Q R
Los puntos suspensivos en el arbol de refutacion indican que la correspondiente clausula lateral no se
requiere, puesto que se ha aplicado una reduccion (en la clausula central aparece un literal encuadrado y
su opuesto sin encuadrar).
El metodo de resolucion lineal ordenada es correcto y completo, es decir, un conjunto de clausulas
ordenadas es insatisfacible si y solo si existe una refutacion lineal ordenada para .
140 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
5.3.2.1. Algoritmo de resoluci on lineal ordenada
Pasamos a describir un modo sistem atico para encontrar una refutacion lineal ordenada o bien ase-
gurar que no existe, es decir, a dar una descripcion algortmica del metodo:
Dado un conjunto de clausulas, se elige una clausula cabeza C
0
. Elegida C
0
, se toman de
todas las clausulas laterales resolubles con C
0
. Sean R
1
, . . . , R
k
las correspondientes resolventes. Cada
R
i
(1 i k) es una clausula central de una deducci on a partir de con cabeza C
0
. Si alguna R
i
es 2 entonces es insatisfacible. En caso contrario, para cada i, buscamos todas las clausulas laterales
resolubles con R
i
y continuamos de este modo, etapa por etapa, hasta generar 2 o bien desarrollar todas
las posibles deducciones a partir de con cabeza C
0
. En este ultimo caso, eliminamos C
0
de y repetimos
el proceso para {C
0
}.
En cuanto a su representacion graca, las deducciones lineales ordenadas no se suelen representar
como arboles sino como se indica a continuacion:
.
.
.
C
n
C
n1
C
2
C
1
C
0
B
n1
B
1
B
0
, donde en cada
arco del arbol aparece la clausula lateral respecto de la que se resuelve y las sustituciones proporcionadas
por el unicador de mayor generalidad.
5.4. Clausulas de Horn
El metodo de resolucion aumenta considerablemente su eciencia si se restringe el tipo de clausulas
a las que se aplica. El tipo mas destacado, por su papel jugado en la Programacion L ogica, es el de las
clausulas de Horn estudiadas por primera vez por Alfred Horn en 1951. En esta seccion, estudiamos las
clausulas de Horn y damos una breve vision de su uso en el lenguaje Prolog.
Denicion 5.16 Una clausula de Horn es una clausula con a lo sumo un literal positivo.
Una clausula de Horn se dice un hecho o clausula unidad
9
si consiste exactamente en un literal
positivo, es decir, si es de la forma P(t
1
, . . . , t
n
). En una forma clausal el hecho P(t
1
, . . . , t
n
) representa
a su cierre universal, es decir, a la formula (x
1
) . . . (x
k
)P(t
1
, . . . , t
n
).
Una clausula de Horn se dice una regla si contiene un literal positivo y literales negativos. Si C es
una regla, Q el literal positivo y P
1
, . . . , P
n
los literales negativos que intervienen en C, entonces
C (P
1
. . . P
n
) Q
P
1
. . . P
n
se denomina cola de la clausula y Q la cabeza de la clausula. En una forma clausal la regla
(P
1
. . . P
n
) Q, representa a su cierre universal (x
1
) . . . (x
k
)((P
1
. . . P
n
) Q).
Ejemplo 5.24 Por ejemplo, la clausula P(x) Q(y, a) R(x, y) es equivalente a la fbf (P(x)
Q(y, a)) R(x, y), esta formula modeliza la regla si P(x) y Q(y, a) entonces R(x, y).
Denicion 5.17 Una clausula de Horn se dice definida o clausula de programa si es un hecho o
una regla.
Una clausula de Horn se dice un objetivo si todos los literales son negativos.
Puesto que la resolucion es un sistema de demostracion por refutacion, la conjunci on de objetivos
individuales se a nadira a la conjunci on de las hipotesis como una clausula no denida, es decir, una
clausula sin literales positivos. Por esta raz on a las clausulas no denidas se les denominan objetivos:
En una forma clausal, el objetivo P
1
. . . P
n
, representa a su cierre universal
(x
1
) . . . (x
k
)(P
1
. . . P
n
)
9
Unit clause en la bibliografa inglesa.
142 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
R(x, y) D(y) H(f(x), y) S(x)
x/g(a)
S(g(a))
R(g(a), y) D(y) H(f(g(a)), y)
w/g(a), y/g(r)
H(f(w), g(r))
R(g(a), g(r)) D(g(r))
z/g(r)
q/g(r)
P(z) D(z)
R(g(a), g(r)) D(g(r)) P(g(r))
P(t) D(q) H(b, t)
P(t) D(q) H(b, t)
t /g(r)
s/g(r)
P(s) S(s)
R(g(a), g(r)) D(g(r)) P(g(r)) S(g(r))
r/a
S(g(a))
R(g(a), g(a))
u/g(a), r/a
R(u, g(r))
Figura 5.1:
5.4. CL
ITULO 5. M
ETODO DE RESOLUCI
ON
Si P es un programa y A una pregunta tal que P
R
A entonces, concluimos que P
R
A
Si el objetivo es m ultiple, es decir, si intentamos probar que P
R
P
1
. . . P
n
, la aplicacion del
metodo de resolucion lineal ordenada P {P
1
. . . P
n
} se recoge en programacion logica como una
funcion de seleccion que selecciona sucesivamente los objetivos por considerar.
11
5.4.1. Programacion l ogica
Aunque con mejoras para aumentar la eciencia, un interprete de programacion logica es esencial-
mente un metodo de demostracion autom atica por resolucion. La programacion logica es un formalismo
computacional que combina dos principios b asicos:
1. El uso del lenguaje logico para expresar conocimiento;
2. El uso de la inferencia logica para procesar conocimiento.
En un contexto de resolucion de problemas, el primer principio supone la representacion de las hipotesis
y las conclusiones. El objetivo general en dicho contexto es inferir a partir de las hipotesis dadas la
conclusi on deseada, de un modo computacionalmente viable.
La programacion logica, como programacion declarativa, permite expresar el conocimiento indepen-
dientemente de la maquina sobre la que vaya a ser ejecutado. De este modo, permite modicar detalles
de implementacion sin afectar a la correccion logica del programa. Por tanto, es mas compacto, exible
e inteligible.
Como indica Hogger,
12
, entre las razones para apostar por la programacion logica, podemos destacar
las siguientes:
1. Puesto que se trata de una programacion basada en conocimiento, permite caracterizaciones sim-
ples y precisas de relaciones entre los programas y los resultados computados por ellos; entre los
programas y sus especicaciones y entre diversos programas.
2. Permite al programador olvidarse de como va a ser realizada la computacion y concentrarse en
que problema ha de resolver el programa, es decir, concentrarse en dar una especicaci on clara,
simple y abstracta del problema (la responsabilidad del como, pasa al traductor del lenguaje). As,
un programa logico es una especificacion ejecutable.
3. Proporciona un paradigma uniforme para la tecnologa del software: un solo paradigma sirve para
construir y manipular programas, especicaciones, bases de datos y herramientas software asocia-
das.
4. Puede ser modicada o extendida de modo natural para recoger formas especiales de conocimiento
tales como conocimiento de orden superior o metanivel.
La tarea de escribir un programa toma como punto de partida una especificacion que describe con
mayor o menor detalle c omo ha de comportarse un programa. Esta especicaci on puede ser una declara-
cion informal en lenguaje natural de los requisitos que ha de satisfacer el programa; o puede ser formal,
es decir, un documento tecnico que recoge de forma precisa el comportamiento exacto que ha de tener el
programa.
La ventaja de las especicaciones formales son evidentes a posteriori, es decir, cuando despues de
escribir el programa, deseamos examinar si su comportamiento se ajusta a la especicaci on.
Si la especicaci on utiliza la logica, podemos expresar las relaciones entre bloques simples del pro-
grama y los comportamientos de estos para, posteriormente, a partir del modo de combinaci on de estos
bloques, utilizar las tecnicas de la logica para determinar el comportamiento del programa total.
11
La variante del algoritmo de resoluci on usada en Prolog se llama resoluci on SLD: Seleccion Lineal de
programas Denidos, debido al uso de una funcion de seleccion, de resoluci on lineal y de clausulas denidas.
12
C. Hogger. Essentials of Logic Programming. Clarendon Press, 1990.
5.4. CL
ITULO 5. M
ETODO DE RESOLUCI
ON
Ejemplo 5.26 Dado el programa
S(x) : Q(y), R(x, y)
Q(x) : P(x)
P(b)
R(a, b)
Al que realizamos la pregunta: S(a)? La resolucion procede como sigue:
1. S(x) : Q(y), R(x, y)
2. Q(x) : P(x)
3. P(b) :
4. R(a, b) :
5. : S(a)
6. : Q(y), R(a, y) de 1. y 5. para el umg: x/a.
7. : P(y), R(a, y) de 2. y 6. para el umg: x/y.
8. : R(a, b) de 3. y 7. para el umg: y/b.
9. 2 de 4. y 8.
Por lo tanto la respuesta sera que S(a) se deriva del programa.
En 6, al resolver 1. y 5., el objetivo S(a) ha sido reemplazado por los sub-objetivos Q(y) y R(a, y); en
7., al resolver 2. y 6., el sub-objetivo Q(y) ha sido sustituido por el sub-objetivo P(y) y, por lo tanto, los
nuevos sub-objetivos son P(y) y R(a, y); en 8., al resolver 3. y 7., el sub-objetivo P(y) ha sido alcanzado
y, por lo tanto, el unico sub-objetivo es ahora R(a, b) que se alcanza en 4.. Este reemplazamiento sucesivo
de un objetivo por los sub-objetivos que determina la resolucion es conocido como encadenamiento hacia
atras ( backward chaining).
Ejemplo 5.27 Dado el programa
S(x) : Q(y), R(x, y)
S(x) : T(y)
Q(x) : P(x)
P(b) :
T(c) :
Al que realizamos la pregunta: S(x)? La resolucion procede como sigue:
1. S(x) : Q(y), R(x, y)
2. S(x) : T(y)
3. Q(x) : P(x)
4. P(b) :
5. T(c) :
6. : S(x)
7. : T(x) de 2. y 6.
8. 2 De 5. y 7. para el umg: x/c.
5.4. CL
, I
H,
) donde
I
H,
= {P | P B
P
y el atomo del cual P es instancia b asica ocurre en P}
es un modelo de Herbrand para P.
La demostracion se completa sin mas que considerar que, obviamente, la interseccion de modelos de
Herbrand para P es un modelo de P.
Teorema 5.8 Dado un programa l ogico P el mnimo modelo de Herbrand para P es el conjunto de todos
los atomos basicos que son consecuencia l ogica de P.
Demostraci on: Sea Con
b
Atom
(P) el conjunto de todos los atomos b asicos que son consecuencia semanti-
ca de P y sea mm
H
(P) =
iI
M
i
H,P
la interseccion de todos los modelos de Herbrand para P. Tenemos
que probar que
Con
b
Atom
(P) = mm
H
(P)
148 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
Por denicion de consecuencia semantica, es obvio que
Con
b
Atom
(P) mm
H
(P)
Inversamente, sea P mm
H
(P). Tenemos que probar que cualquier modelo M de P es un modelo de P.
Por denicion de P, esto es cierto si M = (D, I) es un modelo de Herbrand. Supongamos que M = (D, I)
no es un modelo de Herbrand. Como vimos en la demostracion del Teorema 2.1, {Q B
H,P
| I(Q) = 1}
es un modelo de Herbrand para P y puesto que P es verdadera para todo modelo de Herbrand de P, se
tiene que I(P) = 1. Por lo tanto,
mm
H
(P) Con
b
Atom
(P)
5.4.2.1. Construccion del mnimo modelo de Herbrand
Denicion 5.18 Sea P un programa l ogico y sea
con
: 2
BH,P
2
BH,P
el operador de consecuencia sem antica denido como se indica para cualquier B
H,P
:
con
() = {Q | R
1
. . . R
n
Q es una instancia basica de una clausula de P y R
1
, . . . , R
n
}
El mnimo modelo de Herbrand M
mn
H,P
se construye recursivamente como sigue:
0
con
= ;
n+1
con
=
con
(
n
con
); para n 0
M
mn
H,P
=
n=
n=0
n
con
Ejemplo 5.28 Sea P = {P(a), P(b), P(x) P(f(x))}. Entonces M
mn
H,P
se construye como sigue:
OP
0
con
= ;
OP
1
con
= {P(a), P(b)}
OP
2
con
= {P(f(a)), P(f(b))}
M
mn
H,P
= {P(f
n
(a) | n N} {P(f
n
(b) | n N}
5.5. EJERCICIOS 149
5.5. Ejercicios
1. Denir por induccion estructural la nocion de sustituci on nita sobre el conjunto Term de terminos
de L
1
.
2. Dado el atomo P(x, y, z, t) y las sustituciones
1
= {x/f(y), y/g(w), z/v};
2
= {x/a, y/b, w/f(y), v/z, t/c}
donde x, y, z, t, v y w son smbolos de variables y a, b y c son smbolos de constantes. Hallar
(
2
1
)P(x, y, z, t)
3. Hallar, si existe, un unicador para cada uno de los siguientes conjuntos de atomos
a) {P(x, f(y), z), P(g(a), f(w), u), P(v, f(b), c)}
b) {Q(h(x, y), w), Q(h(g(v), a), f(v)), Q(h(g(v), a), f(b))}
4. Hallar el conjunto de discrepancias para los conjuntos de terminos:
a) {f(x, x), f(y, g(y))}
b) {f(x, g(y)), f(h(y), g(h(z)))}
c) {f(h(x), g(x)), f(g(x), h(x))}
5. Hallar, si existe, un umg para cada uno de los siguientes pares de atomos
a) P(x, a) y P(b, c)
b) P(f(x), y)) y P(f(a), z)
c) P(f(x), y)) y P(b, z)
d) P(x, a) y P(b, a)
e) P(x, f(a, x)), P(b, y)
f ) Q(x, f(g(a, x), z)) y Q(b, f(g(a, f(w, c)), h(y, x)))
g) P(f(y, g(z)), h(b)) y P(f(h(b), g(z)), y)
h) P(a, f(b, f(c, x))) y P(a, y)
i) R(x, f(g(a, y), z)) y R(b, f(g(a, f(w, c)), h(y, x)))
j ) Q(x, f(a, f(y, c))) y Q(z, f(z, f(f(a, c), w)))
k) Q(f(a), g(x)) y Q(y, y)
l ) P(a, x, h(g(z))) y P(z, h(y), h(y))
6. Determine si las siguientes clausulas 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. Hallar todas las resolventes para cada uno de los siguientes pares de clausulas
a) P(x) Q(x, b) y P(a) Q(a, b)
b) P(x) Q(x, x) y Q(a, f(a))
c) P(x, y, u) P(y, z, v) P(x, v, w) P(u, z, w), y P(g(x, y), x, y)
d) P(v, z, v) P(w, z, w) y P(w, h(x, x), w)
150 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
e) P(x, y) P(y, z) y P(a, f(a))
f ) P(x, x) Q(x, f(x)) y Q(x, y) R(y, z)
g) P(x, y) P(x, x) Q(x, f(x), z) y P(x, z) Q(f(x), x, z)
h) P(x, f(x), z) P(u, w, w) y P(z, y, z) P(z, z, z)
i) P(x, y) P(f(a), g(u, b)) Q(x, u) y
P(f(x), g(a, b) Q(f(a), b) Q(a, b)
8. Expresar en L
1
y demostrar por resolucion la siguiente propiedad de las relaciones binarias:
Si una relacion es simetrica, transitiva y total (es decir, para todo elemento existe otro relacionado
con el) entonces tambien es reexiva.
9. Transformar en formula clausal la fbf
(x)(y)((P(x) P(f(a)) Q(y)) P(y) P(g(b, x)) Q(b))
y analizar mediante resolucion lineal ordenada su satisfacibilidad.
10. Aplicar resolucion lineal ordenada para analizar la satisfacibilidad o no del conjunto
{(x)
_
(E(x) V (x)) (y)(S(x, y) C(y))
_
,
(z)
_
P(z) E(z) (u)(S(z, u) P(u))
_
(v)P(v) (t)V (t), (r)(P(r) C(r))}
11. Aplicar resolucion lineal ordenada para analizar la satisfacibilidad o no del conjunto de clausulas
{P(x) Q(x) R(x, f(x)), P(z) Q(z) S(f(z)), T(a), P(a),
R(a, y) T(y), T(u) Q(u), T(w) S(w)}
12. Probar mediante resolucion lineal ordenada la correccion del razonamiento:
(x)(C(x) (W(x) R(x)))
(x)(C(x) Q(x))
(x)(Q(x) R(x))
13. 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)
14. 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)
5.5. EJERCICIOS 151
15. 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))
16. 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) (x)P(x) (x)Q(x)
b) (x)(P(x) (y)R(y))
c) (x)(P(x) (y)Q(x, y))
d) (x)((y)P(y) (z)(Q(z) R(x)))
e) (x)(y)
_
(z)P(z) (u)(Q(x, u) (v)Q(y, v)))
f ) (x)(y)
_
(z)(P(x, z) P(y, z)) (u)Q(x, y, u)
_
g) (x)(y)(z)((P(x, y) P(y, z)) Q(x, z)) ((x)(y)P(x, y) (x)(y)Q(x, y))
17. Dado el razonamiento:
(x)
_
(y)
_
E(x) C(x, y)
_
_
S(x) (z)(C(z, x) S(z))
_
(x)(y)
_
(P(x) C(y, x)) R(y)
(x)
__
P(x) (y)(E(y) C(x, y))
_
(z)
_
C(z, x) (R(z) S(z))
_
Encontrar un conjunto de clausulas tal que el razonamiento es valido si y solo si es insatisfacible.
18. Probar haciendo uso del metodo de resolucion la correccion del siguiente razonamiento:
Si el profesor es feliz si a todos sus alumnos les agrada estudiar logica, entonces el es
feliz si no tiene alumnos.
19. Probar haciendo uso del metodo de resolucion la correccion del siguiente razonamiento:
Hay pacientes a los que les agradan todos los medicos. A ning un paciente le agrada
ning un charlatan. Por lo tanto, ning un medico es charlatan.
20. Aplicar resolucion lineal ordenada para analizar la validez o no del razonamiento siguiente:
Todos los hombres son mamferos.
Todos los mamferos son vertebrados.
Todos los vertebrados son hombres.
21. Aplicar resolucion lineal ordenada para analizar la validez o no del razonamiento siguiente:
Ning un vendedor de coches usados compra un coche usado para uso familiar.
Algunos de los que compran un coche usado para uso familiar son deshonestos.
Por lo tanto, algunas personas deshonestas no son vendedores de coches usados.
22. Aplicar resolucion lineal ordenada para analizar la validez o no de los siguientes razonamientos:
a) Todo estudiante es honesto, Juan no es honesto; por lo tanto Juan no es estudiante.
152 CAP
ITULO 5. M
ETODO DE RESOLUCI
ON
b) Todo atleta es fuerte, todo el que es fuerte e inteligente triunfara en su carrera, Pedro es un
atleta, Pedro es inteligente; por lo tanto Pedro triunfara en su carrera.
c) Todo aquel que ama a alguien ama a San Francisco, no hay nadie que no ame a nadie; por lo
tanto todo el mundo ama a San Francisco.
23. Dado el programa Prolog:
Comprende(l ogica-comput-I,x) : Atiende(x, clases)
Atiende(x, clases) : Responsable(x)
Responsable(carlos)
a) Inferir de este programa que Carlos comprende la asignatura.
b) Se puede inferir de este programa que Carlos no es responsable?
c) Que objetivos atomicos se puede inferir de este programa?