Está en la página 1de 158

Logica para la Computaci on

II) L ogica Clasica de Primer Orden


Alfredo Burrieza Mu niz
Manuel Ojeda Aciego
Inmaculada Perez de Guzman Molina
Agustn Valverde Ramos
i
La razon por la que las personas mienten con frecuencia
es que les falta imaginacion
no se dan cuenta de que la verdad, tambien,
es una cuestion de invencion.
(Ortega y Gasset)
Este documento presenta la L ogica Cl asica de Primer Orden. En el hemos puesto especial
enfasis en los aspectos algortmicos, en denitiva, en presentar la logica como el C alculo de las
Ciencias de la Computacion y, en particular, como arma Ben
1
, como la base matem atica del
software.
1
Ben-Ari, M. Mathematical Logic for Computer Science. Prentice Hall1993.
ii

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

OGICA DE PRIMER ORDEN


que no es un razonamiento valido en la logica proposicional clasica.
Del mismo modo, la logica clasica proposicional no basta para analizar la correcci on de
programas respecto a una especicaci on formal. Por ejemplo, la correcci on de un programa que
computa el mayor elemento de una lista de n umeros enteros, requiere manejar expresiones del
tipo x < y. Esta expresi on predica una determinada relaci on entre x e y, y su verdad o falsedad
depende de los valores de x y de y.
La insuciencia de la logica clasica proposicional, es decir, su escasa potencia expresiva,
requiere el desarrollo de una logica m as amplia que permita considerar validos los razonamientos
del tipo anterior. Necesitamos una logica que permita captar m as detalles del lenguaje natural,
que no solo contemple las conexiones externas entre los enunciados simples, sino que extienda
a la logica clasica proposicional en dos direcciones:
considere en los enunciados atomicos una determinada estructura interna, la estructura
predicativa, que permita diferenciar que se predica (ser estudiante, ser inquieto. . . ), de
que o quien se predica, y
permita expresar que, dado un universo del discurso, una cierta propiedad la satisface un
ente concreto, o bien todos los entes, o la satisface alg un ente o no la satisface ning un ente
de dicho universo.
1
El marco mnimo para dicho proposito lo proporciona la logica conocida como Logica de
Predicados de Primer Orden o simplemente como la Logica de Primer Orden, a la que de-
notaremos por L
1
.
Wilfred Hodges
2
hace la siguiente reexion:
. . . la logica de primer orden es hija de varios padres; al menos tres grupos diferentes
de pensadores han tenido que ver en su concepcion y con tres motivos muy diferentes:
Los logicos tradicionales desde Aristoteles hasta George Boole (1815-1864) se-
guidos, entre otros, por Augustus de Morgan (1806-1871) y Charles S. Peirce
(1839-1914). Para ellos el objetivo central fue proporcionar esquemas de razo-
namientos v alidos.
Los te oricos de la demostraci on, entre los que hemos de incluir Gottlob Fre-
ge (1848-1925), Giuseppe Peano (1858-1932), David Hilbert (1862-1943), Ber-
trand Russell (1872-1970), Jacques Herbrand (1908-1931) y Gerhard Gentzen
(1909-1945). Para ellos el objetivo fue sistematizar el razonamiento matem ati-
co de modo que las hipotesis fueran explicitadas y las etapas fueran descritas
rigurosamente.
Los centrados en la teora de modelos, entre los que cabe destacar Ernest Schr oder
(1841-1902), Leopold L owenheim (1878-1957), Thoralf Skolem (1887-1963),
1
En denitiva, vamos a estudiar una l ogica que permite analizar razonamientos en los que las hip otesis y la
conclusion son frases del lenguaje natural del mismo tipo que las contempladas en la l ogica proposicional que hemos
estudiado en el primer libro, pero en la que dispondremos de un lenguaje mas rico que nos permitira expresar la
estructura predicativa de dichas frases.
2
W. Hodges. Elementary predicate logic. In D.M. Gabbay and F. Guenthner, editors. Handbook of Philosophical
Logic, volume 1. Kluwer Academic Press, 1983. Reimpresion en 1994.
1.1. LENGUAJE L
1
DE UNA L

OGICA DE PRIMER ORDEN 3


Kurt Godel (1906-1978) y Alfred Tarski (1909-1945). Para ellos el objetivo fue
estudiar estructuras matem aticas desde el punto de vista de las leyes que dichas
estructuras obedecen.
Quizas esta mezcla es la causa de su fuerza. Sin embargo, sea cual sea la razon, la
logica de primer orden es la logica moderna mas simple, m as potente y mas aplica-
ble. . .
La logica clasica de primer orden juega en la actualidad un papel destacado en las Ciencias
de la Computacion por sus aplicaciones en especicaci on y vericaci on de programas, en la
representacion del conocimiento en las bases de datos, en Inteligencia Articial, etc.
Para quien haya ledo el primer libro en el que estudiamos la logica clasica proposicional, ya
conoce de antemano cual ser a el gui on de este libro: Una vez motivada la necesidad de la logica
de primer orden, describiremos su lenguaje, despues su sem antica, su teora de la demostracion
y, nalmente, nuestro objetivo esencial: la posibilidad o no de automatizar el razonamiento.
En este captulo presentamos:
el lenguaje de la logica de primer orden y
la semantica de la logica de primer orden.
1.1. Lenguaje L
1
de una L ogica de Primer Orden
Recordemos que un lenguaje logico viene dado mediante un alfabeto de smbolos y la de-
nici on de un conjunto de cadenas de smbolos de dicho alfabeto llamadas formulas bien
formadas (abreviadamente, fbfs).
La logica de primer orden utiliza una clase de lenguajes que son conocidos como lenguajes
de primer orden, introducidos por Frege en 1879. El alfabeto de estos lenguajes dispone de
smbolos que permiten:
representar elementos arbitrarios del dominio o universo del discurso (a los que llamaremos
smbolos de variable),
representar elementos especcos del universo del discurso (a los que llamaremos smbolos
de constante),
representar generadores de elementos del universo del discurso a partir de uno o varios
elementos de dicho universo (a los que llamaremos smbolos de funci on),
expresar que nos referimos a algunos o a todos los elementos del universo del discurso, (a
los que llamaremos smbolos de cuantificaci on o cuantificadores),
expresar propiedades o relaciones entre los elementos del universo del discurso (a los que
llamaremos smbolos de predicado).
Comenzamos pues introduciendo el alfabeto para un lenguaje de primer orden.
4 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


1.1.1. Alfabeto
El alfabeto de un lenguaje de primer orden consta de los siguientes smbolos:
1. los smbolos de conectivas de la logica clasica proposicional , , , y .
2. los smbolos logicos y .
3. los smbolos de cuanticaci on (universal) y (existencial).
4. los smbolos de puntuaci on ( y ).
5. un conjunto innito numerable, V = {x, y, z, v, . . . , x
1
, y
1
, z
1
, v
1
, . . . , x
n
, y
n
, z
n
, v
n
, . . .}, de
smbolos de variables.
6. un conjunto numerable (posiblemente vaco), C, de smbolos de constante.
7. un conjunto numerable (posiblemente vaco), F, de smbolos de funci on y una funcion
ar
f
: F N que asigna a cada smbolo de funcion un elemento de N

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

OGICA DE PRIMER ORDEN 5


En denitiva, el alfabeto de una logica de primer orden con signatura es
a

= 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

OGICA DE PRIMER ORDEN


Terminos:
Denicion 1.2 Sea a un alfabeto para la logica de primer orden y a

el conjunto de las cadenas


sobre a, es decir, el lenguaje universal sobre a.
Para cada smbolo f F de aridad n, denimos la funcion C
f
: (a

)
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

determinados por las siguientes reglas:


1. Las variables y los smbolos de constantes son terminos.
2. Si f es un smbolo de funcion n-aria y t
1
, . . . , t
n
son terminos, entonces f(t
1
, . . . , t
n
) es un
termino.
3. solo las cadenas obtenidas aplicando las reglas 1 y 2 son terminos.
Denicion 1.3 Los terminos en los que no ocurren variables se llaman terminos basicos.
Ejemplo 1.1 Si f es un smbolo de funcion monaria (es decir, de aridad 1) y g es un smbolo
de funcion binaria (es decir, de aridad 2) entonces, las expresiones
f(g(a, x)); g(f(x), g(x, y)) y g(a, g(a, g(a, f(b))))
son terminos. El tercero de ellos es un termino b asico.
Las expresiones h(x, l(y, ) y h(l(y)), donde h es un smbolo de funcion binaria y l un smbolo de
funcion monaria no son terminos.
ee r r
Los terminos son las cadenas de smbolos del alfabeto que representan los individuos o
entes (tanto simples, como generados por alg un procedimiento) a los que nos referimos en
las frases del lenguaje natural. Por la tanto, no les asignaremos valores de verdad o falsedad,
sino que predicaremos sobre ellos, armaremos que est an o no relacionadas de un modo
determinado.
Los predicados se aplican sobre los terminos para formar las formulas at omicas.
Denicion 1.4 Los atomos o formulas at omicas 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

OGICA DE PRIMER ORDEN 7


F ormulas bien formadas
Dado un smbolo de variable x, se denen las funciones
U
x
, E
x
: a

del siguiente modo:


U
x
(A) = (x)A y E
x
(A) = (x)A
Denicion 1.6 El conjunto de las formulas bien formadas o elementos del lenguaje de primer
orden L
1
(C, F, P) es la clausura inductiva de Atom {, } para el conjunto de constructores
{C

, 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

determinados por las siguientes reglas:


1. y son fbfs.
2. Las formulas atomicas son fbfs.
3. Si A y B son fbfs, A, (A B), (A B), (A B) y (A B) son fbfs.
4. Si A es una fbf y x es un smbolo de variable, (x)A y (x)A son fbfs.
5. solo las cadenas obtenidas aplicando las reglas 1, 2, 3 y 4 son fbfs.
Como en el lenguaje de la logica proposicional, usaremos el convenio de omitir en toda fbf los
parentesis inicial y nal.
Denicion 1.7 Dado un conjunto de fbfs, la signatura de es el conjunto

= C

donde C

es el conjunto de smbolos de constantes que intervienen en , F

es el conjunto de
smbolos de funcion que intervienen en y P

es el conjunto de smbolos de predicados que


intervienen en .
Notaci on: En todo lo que sigue usaremos el smbolo Q para representar un smbolo de cuan-
ticaci on, es decir, un elemento del conjunto {, }. Diremos que y son smbolos duales de
cuanticaci on y usaremos

Q para indicar el dual de Q, es decir,

= y

= .
ee r r
Advirtamos que despues de un smbolo de cuanticacion solo esta permitido un smbolo
de variable y que los argumentos de un smbolo de predicado han de ser terminos. Estos
hechos caracterizan a los lenguajes de primer orden, diferenci andolos de los lenguajes de
orden superior. En un lenguaje de primer orden:
solo se dispone de variables de individuos.
no se puede cuanticar sobre smbolos de funci on ni sobre smbolos de predicado.
solo se puede predicar sobre individuos.
8 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


En un lenguaje de segundo orden, existe un conjunto innito numerable de smbolos de
variables de predicado y tambien smbolos de cuanticacion universal y existencial sobre
estas variables.

Esto da al lenguaje de segundo orden mayor potencia expresiva; por ejemplo,
la igualdad es denible por la siguiente formula debida a Leibnitz
(x)(y) [(x = y) (P)(P(x) P(y)) ]
donde, para mayor legibilidad, nos hemos permitido usar el smbolo de predicado binario
= con notaci on inja.
Ejemplo 1.2
1. (x)(y)(R(x, y) R(y, x)) es una fbf que expresa que R representa una relaci on simetri-
ca.
2. (x)R(x, x) es una fbf que expresa que R representa una relaci on no reexiva.
3. (x)(y)R(x, y) es una fbf que expresa que R representa una relaci on total.
Ejemplo 1.3
1. El enunciado Todos los alumnos de esta clase tienen mas de 18 a nos puede ser expresado
en L
1
por: (x)
_
C(x) M(x)
_
, donde C() simboliza es alumno de esta clase y
M() simboliza tiene m as de 18 a nos.
2. El enunciado No todas las aves pueden volar puede ser formalizado en L
1
por:
(x)
_
A(x) V (x)
_
donde A() simboliza es un ave y V () simboliza puede volar.
3. El enunciado Hay alumnos de esta clase que tienen mas de 24 a nos puede ser formalizado
en L
1
por: (x)
_
C(x) E(x)
_
, donde C() simboliza es alumno de esta clase y E()
simboliza tiene m as de 24 a nos.
4. El razonamiento:
Todo estudiante es inquieto.
Luis es un estudiante.
Por lo tanto, Luis es inquieto.
puede ser formalizado en L
1
por :
(x)
_
E(x) I(x)
_
E(a)
I(a)
donde E() simboliza es un estudiante, I() simboliza es inquieto y a simboliza
Luis.
1.1. LENGUAJE L
1
DE UNA L

OGICA DE PRIMER ORDEN 9


5. El razonamiento:
El sucesor de todo natural par es impar.
6 es un natural par.
Por lo tanto, el sucesor de 6 es impar.
puede ser formalizado en L
1
por:
(x)
_
(N(x) P(x)) I(s(x))
_
N(a) P(a)
I(s(a))
donde N() simboliza es natural, P() simboliza es par, I() simboliza es
impar, s simboliza la funcion sucesor en N y a simboliza el n umero 6.
6. El razonamiento:
Hay quien, aun siendo coherente, solo se preocupa de sus propios problemas.
Todo el mundo se preocupa por las cuestiones del medio ambiente, a menos que sea
un irresponsable.
Toda persona coherente es responsable.
Por lo tanto, hay quien es coherente y toma como propio el problema del medio
ambiente
4
.
puede ser formalizado en L
1
por:
(x)
_
C(x) (y)(Q(x, y) P(y, x)
_
(x)
_
R(x) Q(x, a)
_
(x)
_
C(x) R(x)
_
(x)
_
C(x) P(a, x)
_
donde C() formaliza es coherente, Q(, ) formaliza se preocupa por , P(, )
formaliza es un problema para , R() formaliza es responsable y a formaliza
Cuestiones del medio ambiente.
Una utilidad importante de la logica de primer orden aparece en la especicaci on formal de
un trozo de codigo. La especicaci on se da escribiendo las condiciones que han de vericarse
antes y despues de la ejecucion del codigo. Un lenguaje de programacion es un lenguaje de
especicaci on ejecutable: el codigo de un programa especica su comportamiento y puede ser
ejecutado sobre un computador.
El uso de un formalismo como la logica de primer orden, asegura una denicion rigurosa
de las pre y post-condiciones y facilita tareas tales como la descripcion de la sem antica de un
4
Advirtamos que, como estamos acostumbrados de nuestro estudio de la l ogica clasica proposicional, y
son metavariables que se reeren a terminos cualesquiera
10 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


lenguaje de programacion o el comportamiento funcional de un procedimiento o programa. Si
un programa puede ser especicado mediante un lenguaje como el de la logica de primer orden,
su comportamiento externo como caja negra es m as claro, ya que su descripcion permite la
diferenciaci on entre los detalles de implementacion y los algoritmos y, en consecuencia, facilita
la tarea de vericar si el codigo ejecuta de acuerdo con su especicaci on.
Como comentaremos en el ultimo captulo, existen subconjuntos de la logica de primer orden
que son ejecutables y han dado lugar a lenguajes de programacion llamados lenguajes de
programacion logicos.
Si consideramos el programa
{potencia 0}
a := 1;
for i := 1 to potencia do a := a base;
respuesta := a
una especicaci on de este programa mediante la L ogica de primer orden es la siguiente:
{(base)(potencia)((potencia 0) (respuesta = base potencia))}
donde hemos utilizado smbolos especcos de C, P y F respectivamente, para la constante
cero, para los predicados igual y mayor o igual que y para la funcion aritmetica
5
y
hemos permitido las cadenas potencia y base como elementos de V.
Una vez denido el conjunto de terminos y el lenguaje de la l ogica de primer orden como
clausuras inductivas, podemos, tal como explicamos en el libro de logica proposicional, utilizar
el principio de induccion estructural para vericar propiedades sobre tales conjuntos:
Principio de induccion estructural: Sea L
1
() un lenguaje de primer orden.
Todos los terminos de L
1
() tienen la propiedad P con tal de que se cumpla:
1. Toda constante o variable tiene la propiedad P.
2. Si los terminos t
1
, . . . , t
n
tienen la propiedad P y f F es de aridad n, entonces
f(t
1
, . . . , t
n
) tiene la propiedad P.
Todas las fbfs de L
1
() tienen la propiedad P con tal de que se cumpla:
1. Todos los atomos tienen la propiedad P.
2. Si A tiene la propiedad P, entonces A tiene la propiedad P.
3. Si A y B tienen la propiedad P, entonces A B ,con {, , , }, tiene la
propiedad P.
4. Si A tiene la propiedad P y x Var, entonces (Qx)A tiene la propiedad P.
Induccion sobre el grado
Del mismo modo, podemos realizar la induccion sobre el grado de un termino o fbf.
5
Estos ultimos utilizados en notacion inja en lugar de notacion preja
1.1. LENGUAJE L
1
DE UNA L

OGICA DE PRIMER ORDEN 11


Denicion 1.8 Sea t un termino. El grado de t, denotado gr(t), viene dado como sigue:
1. gr(t) = 0, si t es una variable o una constante.
2. gr(t) = 1 +gr(t
1
) +. . . +gr(t
n
), si t es de la forma f(t
1
, . . . , t
n
)
El grado de una fbf consiste en el n umero de operadores logicos que intervienen en ella:
Denicion 1.9 Denotemos el grado de una fbf A mediante gr(A). Entonces denimos:
1. gr(A) = 0, si A es un atomo
2. gr(A) = 1 +gr(A)
3. gr(A B) = 1 +gr(A) +gr(B)
4. gr((Qx)A) = 1 +gr(A)
Consideremos un lenguaje de primer orden L
1
(). Entonces:
Todos los terminos de L
1
() tienen la propiedad P con tal de que se cumpla:
1. Toda constante o variable tiene la propiedad P.
2. Si todo termino de grado menor que f(t
1
, . . . , t
n
) tiene la propiedad P, entonces
f(t
1
, . . . , t
n
) tiene la propiedad P.
Todas las fbfs de L
1
() tienen la propiedad P con tal de que se cumpla:
1. Todos los atomos tienen la propiedad P.
2. Si todas las fbfs de grado menor que A tienen la propiedad P, entonces A tiene la
propiedad P.
3. Si todas las fbfs de grado menor que AB, con {, , , }, tienen la propiedad
P, entonces A B tiene la propiedad P.
4. Si todas las fbfs de menor grado que (Qx)A tienen la propiedad P, entonces (Qx)A
tiene la propiedad P.
Una vez denido que entendemos por un lenguaje de primer orden estamos interesados, como
en el caso proposicional, en introducir la nocion de subf ormula de una fbf.
Denicion 1.10 En esta denicion usaremos de nuevo el smbolo para representar un
conectivo booleano binario arbitrario, es decir, un elemento del conjunto {, , , }.
La funcion subf ormula, que asigna a cada fbf A el conjunto de todas sus subf ormulas, sub(A),
se dene recursivamente como sigue:
Sub(A) = {A} si A es un atomo
Sub(A) = Sub(A) {A}
Sub(A B) = Sub(A) Sub(B) {A B}
Sub((Qx)A) = Sub(A) {(Qx)A}
12 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


Ejemplo 1.4
Sub
_
(x)(R(x) (y)T(x, y) )

=
{((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

OGICA DE PRIMER ORDEN 13


1.1.4. Signo de una ocurrencia de una subf ormula
Introducimos ahora la nocion de ocurrencias positivas y ocurrencias negativas de una fbf, B,
en una fbf A.
Denicion 1.12 La nocion de ocurrencia positiva y ocurrencia negativa de una fbf, B,
en una fbf, A, se dene recursivamente como sigue:
A ocurre positivamente en A.
A ocurre negativamente en A.
Si B ocurre positivamente en A, entonces B ocurre positivamente en
A C, C A, A C, C A, C A, (x)A y (x)A
donde C es una fbf arbitraria.
Si B ocurre negativamente en A, entonces B ocurre negativamente en
A C, C A, A C, C A, C A, (x)A y (x)A
donde C es una fbf arbitraria.
Si B ocurre positivamente en A, entonces B ocurre negativamente en A y A C, donde
C es una fbf arbitraria.
Si B ocurre negativamente en A, entonces B ocurre positivamente en A y A C, donde
C es una fbf arbitraria.
ee r r
Advirtamos que hablamos de ocurencia de una subformula en una fbf. Por lo tanto, B
puede tener ocurrencias positivas y ocurrencias negativas en A. Basta considerar la fbf A =
P(x) P(x). En ella, se tiene que la primera ocurrencia de P(x) es negativa en A y la
segunda ocurrencia de P(x) es positiva en A.
Ejemplo 1.6 En la fbf
A = (x)
_
R(x) (y)T(x, y)
_
(z)
_
(u)P(u, z) (v)Q(v, z)
_
1. R(x) (y)T(x, y) , (y)T(x, y) y (z)((u)P(u, z) (v)Q(v, z)) ocurren positiva-
mente en A.
2. R(x), T(x, y), (u)P(u, z) (v)Q(v, z) y (v)Q(v, z) ocurren negativamente en A.
1.1.4.1. Notaci on
Usaremos las mismas notaciones que en la logica proposicional: A[B] denota que B es una
subf ormula de A y A[B/C] denota que al menos una ocurrencia de B en A se ha sustituido por
la fbf C.
14 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


1.1.5. Variables Libres y Variables Ligadas
Denicion 1.13 Dada una fbf (Qx)A, decimos que x es la variable del cuantificador y
que A es el rango del cuantificador (o de la variable cuanticada). Es decir, el rango de un
cuanticador es la fbf a la que se aplica.
ee r r
Observese que la denicion dada no exige que x aparezca en el rango de su cuanticacion.
En terminos del arbol sintactico de una fbf A:
El rango de una ocurrencia del cuanticador (Qx) en una fbf A, es la subf ormula cuyo
arbol sintactico tiene como raz el nodo sucesor del nodo en T
A
cuya etiqueta es dicha
ocurrencia de Qx.
Una subf ormula B de A ocurre en el rango de una ocurrencia del cuanticador (Qx), si
la raz del arbol sintactico de B es un descendiente del nodo en T
A
cuya etiqueta es dicha
ocurrencia de Qx.
Ejemplo 1.7 En la fbf
(z) [(x) P(x, z) (y)(Q(z) R(y, z))]
cuyo arbol sintactico es:
P(x, z)
x

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

OGICA DE PRIMER ORDEN 15


Una variable es libre si tiene ocurrencias libres y es ligada si tiene
ocurrencias ligadas.
6
ee r r
N otese que, dada una fbf, A, una misma variable, x, puede ser libre y ligada a la vez en A.
Ejemplo 1.8
1. En la fbf
((x)P(x, y, a) Q(b, f(x, c)) (y)(Q(d, y) D(y))
las dos primeras ocurrencias de x son ligadas y la tercera libre, mientras que la variable y
es libre en la primera ocurrencia y ligada en las tres restantes.
2. En la fbf
(x)P(x, y) (y)(P(x, y) Q(z))
las dos primeras ocurrencias de x son ligadas mientras que la tercera es libre. La primera
ocurrencia de la variable y es libre, el resto, son ocurrencias ligadas. La unica aparici on de
la variable z es libre.
Podemos denir el conjunto de las variables libres y de las variables ligadas de una fbf
recursivamente como sigue:
Denicion 1.15 El conjunto de variables libres de una fbf A, denotado V
libre
(A) se dene
recursivamente como sigue:
1. V
libre
(P(t
1
, . . . , t
n
)) = V(t
1
) V(t
n
), donde V(t
i
) denota el conjunto de variables que
intervienen en el termino t
i
.
2. V
libre
(A) = V
libre
(A).
3. V
libre
(A B) = V
libre
(A) V
libre
(B), donde ( {, , , }.
4. V
libre
((Qx)A) = V
libre
(A) {x}.
Denicion 1.16 El conjunto de variables ligadas de una fbf A, que denotaremos V
ligada
(A),
se dene recursivamente como sigue:
1. V
ligada
(P(t
1
, . . . , t
n
)) = .
2. V
ligada
(A) = V
ligada
(A).
3. V
ligada
(A B) = V
ligada
(A) V
ligada
(B), donde {, , , }.
4. V
ligada
((Qx)A) = V
ligada
(A) {x}.
Como hemos indicado, para una fbf A, la intersecci on de V
libre
(A) y V
ligada
(A) no necesaria-
mente es el conjunto vaco. As, para la fbf
A = ((x) P(x, a, z) Q(b, f(x, c)) (y)(C(d, y) D(y))
se tiene que V
libre
(A) = {x, z} y V
ligada
(A) = {x, y}.
6
La nocion de variable libre en una fbf es fundamental para trabajar en los lenguajes de primer orden. Intui-
tivamente, las variables libres son aquellas que pueden ser sustituidas.
16 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


Notaci on: Para expresar que las variables x
1
, . . . , x
n
son libres en la fbf A escribiremos
A(x
1
, . . . , x
n
). Con esta notaci on destacamos que {x
1
, . . . , x
n
} es un subconjunto de V
libre
(A),
pero tengase en cuenta que este subconjunto puede ser propio, es decir, la notaci on A(x
1
, . . . , x
n
)
no exige que x
1
, . . . , x
n
sean las unicas variables con ocurrencias libres en A, son simplemente
variables que queremos destacar.
Denicion 1.17 Una fbf A es cerrada o un enunciado si V
libre
(A) = .
Denicion 1.18 Si V
libre
(A) = {x
1
, . . . , x
n
}, se llama cierre universal de A a la fbf
(x
1
)(x
2
) . . . (x
n
)A(x
1
, . . . , x
n
)
Se llama cierre existencial de A a la fbf
(x
1
)(x
2
) . . . (x
1
)A(x
1
, . . . , x
n
)
Las variables son smbolos que representan a elementos arbitrarios del universo de discurso.
En el desarrollo de algoritmos, transformaciones, etc. necesitaremos particularizar las fbfs a
elementos concretos o menos arbitrarios; esto lo haremos mediante la sustitucion de variables:
1.1.6. Sustitucion de variables
Comenzamos estableciendo que se entiende por renombramiento de una variable ligada.
Denicion 1.19 Sea A una fbf en la que intervienen cuanticadores. Un renombramiento de
una variable ligada x V
ligada(A)
es la sustitucion de x (la variable renombrada) tanto en
el cuanticador que la tiene como variable, como en su rango, por otra variable (llamada la
variable de renombramiento) que no intervenga en dicho rango.
Ejemplo 1.9 Para la fbf
A = ((x) P(x, a, z) Q(b, f(x, c)) (y)(C(d, y) D(y))
el renombramiento de x por la variable de renombramiento v, nos proporciona la fbf
A

= ((v)P(v, a, z) Q(b, f(x, c)) (y)(C(d, y) D(y))


ee r r
Es obvio que el proceso de renombramiento en una fbf, A, tan solo modica V
ligada
(A). El
conjunto de las variables libres, V
libre
(A), no se modica. As, en el ejemplo anterior,
V
libre
(A

) = V
libre
(A) = {x, z} y V
ligada
(A

) = {v, y}
1.1. LENGUAJE L
1
DE UNA L

OGICA DE PRIMER ORDEN 17


Notaci on:
1. Sea x una variable y sea t
1
, t
2
terminos. Denotaremos mediante [x/t
2
]t
1
el termino resul-
tante de sustituir en el termino t
1
las apariciones de la variable x por el termino t
2
.
2. Sea x V
libres
(A). La fbf que se obtiene a partir de la fbf A por sustitucion de todas
las ocurrencias libres de la variable x por un termino t, la denotaremos por [x/t]A. Si
representamos la fbf A por A(x) para destacar que x tiene ocurrencias libres en A, usaremos
la expresi on A(t) para representar a [x/t]A.
Inductivamente:
Denicion 1.20
- Si t
1
V y t
1
= x, entonces [x/t
2
]t
1
= t
2
.
- Si t
1
V y t
1
= x, entonces [x/t
2
]t
1
= t
1
.
- Si t
1
C, entonces [x/t
2
]t
1
= t
1
.
- Si t
1
= f(u
1
, . . . , u
n
), siendo u
1
, . . . , u
n
terminos cualesquiera, entonces
[x/t
2
]t
1
= f([x/t
2
]u
1
, . . . , [x/t
2
]u
n
)
Denicion 1.21 Si A es una fbf, x un smbolo de variable y a es un smbolo de constante,
denimos [x/a]A inductivamente como sigue:
- Si A = P(t
1
, . . . , t
n
) es un atomo, entonces [x/a]A = P([x/a]t
1
, . . . , [x/a]t
n
).
- Si A = B, entonces [x/a]A = [x/a]B.
- Si A = B C, entonces [x/a]A = [x/a]B [x/a]C (donde {, , , }-
- Si A = (Qx)B, entonces [x/a]A = A
- Si A = (Qy)B con y = x, entonces [x/a]A = (Qy)[x/a]B
Denicion 1.22 Dada la fbf A(x) y el termino b asico (sin variables), t, a la fbf [x/t]A(x) la
denominamos una instancia basica de A(x). El mecanismo de sustituir una variable ligada
por un termino b asico se denomina instanciaci on.
7
7
Somos conscientes de que esta denominacion es desafortunada, quizas deberamos haber optado por concre-
cion en lugar de instanciaci on. La decision nal ha venido condicionada por el uso habitual que se hace de
esta expresion.
18 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


ee r r
El comportamiento de una variable cuanticada es analogo al de una declaracion de variable
local en un procedimiento Pascal y, como tal, no se ve afectada por las asignaciones.
En la pr actica, desearemos obtener una fbf B a partir de otra fbf A mediante la sustitucion en
A de variables por terminos y de modo que el signicado de A y B sea el mismo. A un no hemos
descrito la sem antica para los lenguajes de primer orden, pero a un as, no dudamos en armar
que si sustituimos en la fbf
A = (x)(P(x) Q(y))
la variable y por la variable x, la fbf obtenida
B = (x)(P(x) Q(x))
tiene un signicado diferente al de A. Mas en general, si sustituimos la variable y, por ejemplo,
por el termino f(x, z), obtenemos la fbf
B = (x)(P(x) Q(f(x, z)))
en la que existe una interacci on entre el cuanticador (x) y su rango, que no exista en A. Por
lo tanto, si deseamos no alterar el signicado de las fbfs, el mecanismo general para sustituir
una variable por un termino, requiere ciertas precauciones que nos aseguren que sustituimos
ocurrencias libres en A por terminos libres en A. En denitiva, como tendremos ocasi on de
comprobar cuando estudiemos la sem antica, para evitar este hecho conocido en la bibliografa
como conflicto de variables,
8
requerimos la siguiente denicion:
Denicion 1.23 Sea A una fbf, x V
libre
(A) y t un termino en el que intervienen las variables
V(t) = {x
1
, . . . , x
n
}. Se dice que el termino t es libre para x en A(x) (o bien que x es
sustituible por t en A(x)) si, para toda variable x
i
V(t), se tiene que ninguna ocurrencia
libre de x en A esta en el rango de una ocurrencia en A del cuanticador (Qx
i
). Es decir, las
ocurrencias de x
i
surgidas como consecuencia de la sustitucion de x por t, son ocurrencias libres
en A(t).
ee r r
Como consecuencia inmediata de la denicion, tenemos que:
Un termino b asico es libre para cualquier variable en cualquier fbf.
Dado un termino t, si V(t) V
ligada
(A) = , entonces t es libre para toda variable libre
de A.
Ejemplo 1.10
1. y es libre para x en P(x, a).
2. y no es libre para x en (y)P(x, y).
3. En la fbf (y)P(x, y) (x)Q(x, z, a), el termino f(a, y) no es libre para x, pero s es
libre para z.
8
Variable clash en la bibliografa inglesa.
1.1. LENGUAJE L
1
DE UNA L

OGICA DE PRIMER ORDEN 19


La siguiente denicion, establece como obtener [x/t]A, diferenciando los casos en que el termino
t es o no libre para la variable x en A(x).
Denicion 1.24 Si t es libre para x en A(x), la sustitucion en A de x por t consiste en sustituir
en A las ocurrencias libres de x por t.
Si t no es libre para x en A(x) y V(t) = {x
1
, . . . , x
n
}, la sustitucion en A de x por t consiste en
1. Renombrar en A las variables x
i
tales que x ocurre en el rango de (Qx
i
) por una variable
de renombramiento que no ocurra en t.
2. Sustituir en A las ocurrencias libres de x por t.
Ejemplo 1.11 Dada la fbf
(z)
_
P(x) (x)Q(x, z)
_
(y)D(x, y)
El termino f(a, y, z) no es libre para x. Para realizar la sustitucion de x por el termino f(a, y, z)
podemos proceder como sigue:
1. Como x ocurre libre en el rango de (z) y (y), renombramos la variable y y la variable
z, por ejemplo, por v y u respectivamente (que no ocurren en f(a, y, z)), obteniendo
(u)(P(x) (x)Q(x, u)) (v)D(x, v)
2. En segundo lugar, sustituimos las ocurrencias libres de x en A por f(a, y, z). Obtenemos
as la fbf:
(u)(P(f(a, y, z)) (x)Q(x, u)) (v)D(f(a, y, z), v)
ee r r
Las variables tienen en logica un papel analogo al que tienen en analisis o en algebra. Veamos
algunos ejemplos:
En la funci on descrita por f(x) = x + 6, la variable x no designa un objeto, sino el
emplazamiento de un objeto, el lugar del cuerpo de la funci on en el que ha de colocarse un
argumento para evaluar la funci on. La variable x est a ligada; mas precisamente, la primera
ocurrencia de x crea una ligadura, a la que se enganchan las dem as ocurrencias de x. No hay
inconveniente alguno en renombrar x, es decir, reemplazar las dos ocurrencias de x por y:
f(y) = y + 6. Pero obviamente, no est a permitido reemplazar una ocurrencia solamente:
f(x) = y + 6; f(y) = x + 6
En la expresion

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

OGICA DE PRIMER ORDEN


Claramente, no es posible sustituir arbitrariamente en la expresion entre parentesis las
variables libres por otras. Por ejemplo, las expresiones
_
b
a
_
_
h(z)
g(z)
f(x, z)dx
_
dy
_
b
a
_
_
h(y)
g(y)
f(x, y)dx
_
dy
no tiene el mismo signicado.
Para terminar este apartado, consideremos la fbf
(x)(P(x, a) (x)R(x))
en ella existe un cuanticador (Qx) en el rango de un cuanticador (Q

x), es decir, existe un


anidamiento de cuanticadores con la misma variable de cuanticaci on. Es posible (y deseable,
como posteriormente nos conrmara la sem antica) evitar la situaci on anterior restringiendo la
regla que permite construir fbfs cuanticadas del siguiente modo:
Denicion 1.25 Si x es una variable y A es una fbf sin ocurrencias ligadas de x, entonces
(x)A y (x)A son fbfs.
1.2. Semantica para los Lenguajes de Primer Orden
Como ya conocemos, la sem antica de un lenguaje tiene como n dar signicado a las fbfs del
lenguaje a partir de su estructura sintactica y establecer la nocion (sem antica) de deducci on. En
consecuencia, como se nalamos en el segundo captulo del primer volumen, una mayor compleji-
dad del lenguaje implica una estructura m as compleja de los modelos. As pues, dar signicado
a las fbfs de un lenguaje de primer orden conlleva una mayor dicultad que la requerida en el
caso proposicional, en el que una interpretacion queda determinada sin m as que asignar uno de
los valores de verdad {0, 1} a cada smbolo proposicional.
Como ya sabemos, denir la sem antica requiere denir una terna (S, D, I), donde S es el
conjunto de valores sem anticos, D S es el conjunto de valores sem anticos destacados e I el
conjunto de interpretaciones.
La logica de primer orden, como la logica proposicional, es bivaluada, es decir S = {0, 1}
y el conjunto de valores sem anticos destacado es igualmente D = {1}. La mayor dicultad la
encontramos en la tarea de denir el conjunto de interpretaciones, I, es decir, en la denicion de
interpretacion, en como establecer cu ando una fbf es verdadera o falsa. Puesto que el lenguaje
nos permite detallar de que o quien armamos, que armamos y si armamos sobre todos los
entes/individuos o de alguno (concreto o arbitrario), necesitamos en primer lugar jar un dominio
o universo del discurso, U, que determine sobre que entes/individuos armamos y, elegido este,
1. asignar elementos especcos de U a los smbolos de constantes,
2. asignar funciones n-arias sobre U a los smbolos de funcion n-arios y
3. asignar relaciones n-arias sobre U a los smbolos de predicados n-arios.
1.2. SEM

ANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 21


Por otra parte, si la fbf contiene variables libres, debemos especicar que valores del dominio
representan. As, dada la fbf (x)P(x), si consideramos U = N y asignamos a P el signicado
es par, podemos asegurar que la fbf es falsa en esta interpretacion. Pero nada podemos armar
sobre la fbf P(x) si no nos pronunciamos sobre el n umero natural representado por x. Analo-
gamente, podemos pensar en una interpretacion en la que la formula 2 + 3 = 5 es verdadera,
9
pero no podremos pronunciarnos sobre la verdad o no de la formula x + 3 = 4 si no sabemos el
n umero representado por x.
Ocurre como en un procedimiento con par ametros en un programa PASCAL, el procedimiento
procedure P(X : integer; Y : integer)
no puede computarse salvo que sea llamado con par ametros actuales, por ejemplo P(10, 35).
Deseamos, pues, disponer de un concepto de interpretacion que nos permita:
asignar a toda fbf cerrada o enunciado (es decir, a una fbf sin variables libres) el valor de
verdad 0 o 1,
contemplar una fbf con variables libres como una armacion sobre el dominio, que es
verdadera o falsa dependiendo de la asignaci on realizada a las variables libres.
1.2.1. Semantica de Tarski
La sem antica que vamos a exponer fue dada por Alfred Tarski en 1936
10
.
De acuerdo con las consideraciones anteriores, el concepto de interpretacion para un lenguaje
de primer orden se introduce como sigue:
Denicion 1.26 Una interpretaci on para un lenguaje de primer orden es un par (U, I)
donde:
U es un conjunto no vaco llamado dominio o universo.
I es una aplicaci on, que asocia:
- A cada smbolo de constante a un elemento I(a) U.
- A cada smbolo de predicado n-ario, P, una relaci on n-aria sobre U, es decir, I(P)
U
n
.
11
- A cada smbolo de funcion n-aria, f, una funcion n-aria sobre U, es decir,
I(f) : U
n
U
9
En estos ejemplos hemos escrito 2 + 3 = 5 en lugar de = (+(2, 3), 5) permitiendonos la licencia de usar
notacion inja para los predicados y funciones. Nos tomaremos esta libertad cuando consideremos que aumenta
la legibilidad.
10
A. Tarski. Der Wahrheitsbegri in den formalisierten Sprachen. Studia Philosophica, 1:261405, 1936.
11
As, a cada smbolo de predicado monario deberemos asociarle un subconjunto de U, a cada smbolo de
predicado binario deberemos asociarle un conjunto de pares de elementos de U (es decir subconjunto de U U),
. . . a cada smbolo de predicado n-ario un conjunto de n-tuplas (u1, . . . , un) de elementos de U.
22 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


ee r r
Tenemos ya elementos sucientes para darnos cuenta de la complejidad de la semantica que
estamos deniendo: Imaginemos una situaci on muy simple, por ejemplo que nuestro lenguaje
no tiene ni smbolos de constantes ni smbolos de funci on, que tan solo tiene un smbolo de
predicado monario P y dos smbolos de predicados binarios, Q y R, e imaginemos que
consideramos un dominio sencillo, tan solo con 4 elementos U = {u
1
, u
2
, u
3
, u
4
} de cuantas
interpretaciones I podemos disponer?. Tenemos 2
4
posibles interpretaciones posibles para P
y nada menos que 2
16
posibles interpretaciones para cada uno de los predicados binarios Q
y R.
A veces hablaremos de (U, I) como una interpretacion sobre el dominio U.
Dada una interpretacion (U, I), al cardinal de U se le llama cardinal de la interpretaci on.
Dada una interpretacion (U, I), las variables tienen el signicado esperado, es decir, repre-
sentan elementos cualesquiera del dominio. Este signicado se recoge mediante la nocion de
valuaci on de variables:
Denicion 1.27 Una valuaci on o asignacion de variables (o un entorno) asociada a
una interpretacion (U, I) es una aplicaci on del conjunto de variables V en el dominio U.
: V U
ee r r
En la semantica de los lenguajes de programacion, una valuacion de variables representa un
estado de la memoria.
Denicion 1.28 Dada una interpretacion (U, I) y una valuaci on de variables asociada a ella,
denimos recursivamente una aplicaci on I

, llamada funcion de significado, que asigna a


cada termino t un elemento I

(t) U como sigue:


1. I

(c) = I(c) para todo smbolo de constante c.


2. I

(x) = (x) para toda variable x.


3. I

(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

no depende del entorno . As, por ejemplo, si g es un smbolo


de funci on monaria y a es un smbolo de constante, I

(f(a)) = I(f)(I(a)). En adelante, por


abuso de notaci on, si t es un termino b asico escribiremos I(t) en lugar de 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

ANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 23


Es decir, I

(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

(A) = 1 para toda valuaci on de variables

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

(A) = 1 para alguna valuaci on de variables

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

x-equivalente a , t esta libre para x en A y, ademas,


I

(t) =

(x).
24 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


1.2.2. Satisfacibilidad y Validez
Denicion 1.32
1. Una fbf A se dice satisfacible o modelizable, si existe una interpretacion (U, I) y una
valuaci on de variables asociada a (U, I), tal que I

(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) = 0 para toda


interpretacion (U, I) y toda valuaci on de variables .
5. Un conjunto de fbfs se dice satisfacible o modelizable, si existe alguna interpreta-
cion (U, I) y una valuaci on de variables asociada a (U, I) tal que I

(A) = 1 para toda fbf


A de .
ee r r
Es conveniente advertir de un posible error: confundir los conceptos de fbf verdadera en una
interpretaci on, I, y fbf satisfacible. Hemos de tener en cuenta que:
- para que una fbf A sea verdadera en una interpretaci on, I, se requiere que para toda
valuacion se tenga que 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

solo depende de las im agenes por I


de los smbolos de constante, de funci on y de predicados que intervienen en . Esto justica
la siguiente nocion de interpretaci on para una fbf (en la que utilizamos una representacion
mas transparente):
Denicion 1.33 Una interpretaci on para un conjunto finito de fbfs, (en particu-
lar para una fbf A) es una tupla de la forma
M = (U; {u
1
, . . . , u
n
}; {F
1
, . . . , F
m
}; {R
1
, . . . , R
k
})
donde u
i
son los elementos de U asignados a los smbolos de constantes {a
1
, . . . a
n
} que inter-
vienen en , F
i
son las funciones sobre U asignadas a los smbolos de funciones {f
1
, . . . f
m
} que
intervienen en y R
i
son las relaciones en U asignadas a los smbolos de predicado {P
1
, . . . P
k
}
que intervienen en .
1.2. SEM

ANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 25


Ejemplo 1.12 Una interpretacion para (x)(P(x) Q(f(x), a)) es
({1, 2, 3}; {a ;1}; {f ;{(1, 2), (2, 1), (3, 3)}}; {P ;{2}, Q ;{(1, 1), (1, 2)}})
12
Denicion 1.34 Una estructura para una fbf A es una tupla de la forma
(C
A
, F
A
, P
A
; U; {u
1
, . . . , u
n
}; {F
1
, . . . , F
m
}; {R
1
, . . . , R
k
})
donde
= C
A
F
A
P
A
es una signatura para A y
M = (U; {u
1
, . . . , u
n
}; {F
1
, . . . , F
m
}; {R
1
, . . . , R
k
}) es una interpretacion para A.
Denicion 1.35 Una estructura para un conjunto finito de fbfs es una tupla de la
forma
(C

, F

, P

; U; {d
1
, . . . , d
n
}; {F
1
, . . . , F
m
}; {R
1
, . . . , R
k
})
donde
= C

) es una signatura para


M = (U; {u
1
, . . . u
n
}; {F
1
, . . . F
m
}; {R
1
, . . . R
k
}) es una interpretacion para .
ee r r
En la logica proposicional, el cardinal del conjunto de interpretaciones es innito, concre-
tamente, 2
0
= |{0, 1}|
|Vprop|
, donde V
prop
es el conjunto de smbolos proposicionales. Sin
embargo, el n umero de interpretaciones para una fbf A es siempre nito (2
n
, si n es el n ume-
ro de smbolos proposicionales que intervienen en A). Esta propiedad nos permite representar
los valores de verdad de una fbf (para cada una de sus interpretaciones) mediante las cono-
cidas tablas de verdad y, en consecuencia, armar la decidibilidad de la logica proposicional.
Por el contrario, en la logica de primer orden, tanto el conjunto de todas las interpretaciones,
como el conjunto de interpretaciones para una fbf es innito, ya que aunque tres de las
componentes en una interpretaci on M = (U; {u
1
, . . . u
n
}; {F
1
, . . . F
m
}; {R
1
, . . . R
k
}) son de
cardinal nito, nos vemos obligados a contemplar cualquier universo U y, por lo tanto, nos
vemos obligados a contemplar universos U de cualquier cardinal. Por lo tanto, las fbfs se
pueden interpretar sobre un n umero innito de dominios U y para cada uno de ellos, tenemos
que considerar cualquier combinaci on de elecciones para la interpretaci on de las constantes,
de las funciones y de los predicados.
Ejemplo 1.13
1. Veamos que P(x, 0) es satisfacible. En efecto, sea la interpretacion (Z, I) con I(P) =

.
Para toda valuaci on de variables, , tal que (x) 0 se tiene que I

(P(x, 0)) = 1. Sin


embargo, P(x, 0) no es verdadera en (Z, I), ya que para toda valuaci on, , 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

OGICA DE PRIMER ORDEN


2. Consideremos ahora P(x) y la interpretacion
M = ({1, 2}; ; ; {P ;{1}})
Puesto que en la fbf solo interviene el smbolo de variable x, dada una valuaci on de va-
riables, estamos unicamente interesados en que valor asigna esta a x, es decir, en las
valuaciones de variables tales que (x) = 1 y en las valuaciones de variables

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)) = 1 ya que 1 = (x) I(P) = {1}


I

(P(x)) = 0 ya que 2 =

(x) I(P) = {1}


Por lo tanto, P(x) es satisfacible pero no es verdadera en I, es decir, I(P(x)) = 0.
3. Dada (x)(y)Q(x, y), consideremos la interpretacion
M = ({1, 2}; ; ; {Q ;{(1, 1), (2, 2)}})
Puesto que en ella solo intervienen los smbolos de variables x e y, dada una valuaci on de
variable, , estamos unicamente interesados en que valor asigna a x e y, es decir, estamos
interesados en las valuaciones de variables
-
1
tal que
1
(x) =
1
(y) = 1
-
2
tal que
2
(x) =
2
(y) = 2
-
3
tal que
3
(x) = 1 y
3
(y) = 2
-
4
tal que
4
(x) = 2 y
4
(y) = 1
ee r r
Las valuaciones de tipo
1
y de tipo
4
son x-equivalentes.
Las valuaciones de tipo
2
y de tipo
3
son x-equivalentes.
Las valuaciones de tipo
1
y de tipo
3
son y-equivalentes.
Las valuaciones de tipo
2
y de tipo
4
son y-equivalentes.
Intuitivamente es claro que (x)(y)Q(x, y) es verdadera en la interpretacion dada. For-
malmente, necesitamos las siguientes consideraciones:
I

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

ANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 27


Los siguientes resultados son de gran interes para poder facilitar la manipulacion sem antica
de las fbfs.
Teorema 1.2 Sea una fbf A y sea M = (U, I) una interpretacion de L
1
, entonces si y

son
dos valuaciones de variables tales que (x) =

(x) para toda variable x tal que x V


libre
(A), se
tiene que
I

(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) =

(x) para toda variable x en A, se tiene que I

(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) =

(x) para toda variable x tal que x V


libre
(A). Entonces,
I

(A) = 1 si y solo si I

(B) = 0 y, puesto que


V
libre
(A) = V
libre
(B)
se tiene (por hip otesis de induccion) que, I

(B) = I

(B). Por lo tanto, 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) =

(x) para toda variable x tal que x V


libre
(A). Entonces,
I

(A) = 1 si y solo si I

(B) = I

(C) = 1 y, puesto que


V
libre
(A) = V
libre
(B) V
libre
(C)
por la hip otesis de induccion tenemos que, 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) =

(x) para toda variable x tal que x V


libre
(A). En este
caso, V
libre
(B) = V
libre
(A) {x}. Supongamos que I

(A) = 1 y veamos que I

(A) = 1.
Para ello habra que comprobar que I

(B) = 1 para toda valuaci on de variables

que sea
x-equivalente a

:
Sea

una valuaci on de variables x-equivalente a

. Consideremos la valuaci on de variables


como sigue:
(y) =
_

(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) =

(y). Ahora tenemos dos casos:


28 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


y V
libre
(B).
Entonces (y) =

(y) (por def. de ), luego (y) =

(y). Ahora bien, por hip otesis,


y

coinciden en los valores asignados a las variables de V


libre
(B), por tanto, (y) =
(y).
y / V
libre
(B).
Entonces (y) =

(y) (por def. de ) y obtenemos el mismo resultado que antes.


A partir de lo anterior se tiene que I

(B) = 1, pues I

(A) = 1. Ahora bien puesto que


(y) =

(y) para toda y V


libre
(A), por hip otesis de induccion, I

(B) = I

(B) y entonces
I

(B) = 1. Por tanto, se tiene que 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

cumplen la hip otesis del teorema anterior. Por lo tanto, I

(A) = 1 si y solo si
I

(A) = 1. As pues, I

(A) = 1 para toda valuaci on de variables o bien I

(A) = 0 para toda


valuaci on de variables , es decir, I(A) = 1 o I(A) = 0.
Teorema 1.4 Dada una fbf A
1. A es v alida si y solo si A es insatisfacible.
2. A(x
1
, . . . , x
n
) es satisfacible si y solo si su cierre existencial lo es.
3. A(x
1
, . . . , x
n
) es v alida si y solo si su cierre universal lo es.
13
Demostraci on:
1. Es evidente.
2. Bastar a probar que A(x) es satisfacible si y solo si (x)A es satisfacible.
Supongamos que A(x) es satisfacible, sea (U, I) una interpretacion y una valuaci on de
variables tal que I

(A(x)) = 1. Entonces, I

( ((x)A(x) ) = 1 (ya que es x-equivalente a


). Por lo tanto, (x)A(x) es satisfacible.
Inversamente, si (x)A(x) es satisfacible, entonces existe una interpretacion (U, I) y una
valuaci on de variables tal que I

( (x)A(x) ) = 1. Por lo tanto, existe una valuaci on de


variables

x-equivalente a tal que I

(A(x)) = 1 y A(x) es satisfacible.


13
Este resultado es de gran utilidad y nos permite, por ejemplo, escribir ecuaciones algebraicas sin usar los
cuanticadores universales. El lector estar a familiarizado a ver expresiones como: x +y = y +x para armar que
+ es commutativa, dando por supuesto que nos referimos a cualquier eleccion de x e y.
1.2. SEM

ANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 29


3. Bastar a probar que A(x) es valida si y solo si (x)A es valida.
Supongamos que A(x) es valida. Entonces, si (U, I) es una interpretacion cualquiera, se
tiene que, I

(A(x)) = 1 para toda valuaci on de variables , luego lo es, en particular, para


las valuaciones x-equivalentes a . Por lo tanto, I((x
i
)A(x)) = 1 y, puesto que (U, I) es
arbitraria, (x)A(x) es valida.
Inversamente, supongamos que (x)A(x) es valida. Entonces, si (U, I) es una interpretacion
arbitraria, se tiene que, I

((x)A(x)) = 1 para toda valuaci on de variables y, por


denicion, se tiene que I

(A(x)) = 1 para las valuaciones x-equivalentes a . Por tanto,


A(x) es valida.
ee r r
El Teorema 1.4 nos permite armar que
Toda la expresividad de la logica de primer orden se obtiene usando unicamente
fbfs cerradas.
De hecho en un lenguaje de primer orden las fbfs cerradas son las que simbolizan los enun-
ciados del lenguaje natural.
Una vez demostrado el Teorema 1.4 podemos plantearnos redenir la sem antica limit andonos
a la consideracion de las fbfs cerradas:
Denicion 1.36 Si t
1
, . . . , t
n
son terminos b asicos y
M = (U; {u
1
, . . . u
n
}; {F
1
, . . . F
m
}; {R})
es una interpretacion para P(t
1
. . . , t
n
), entonces denimos el valor de verdad de P(t
1
. . . , t
n
)
como sigue:
I(P(t
1
, . . . , t
n
)) = 1 si y solo si (I(t
1
), . . . , I(t
n
)) I(P) = R
Esta denicion se extiende recursivamente a todas las fbfs cerradas del siguiente modo:
Si M = (U; {u
1
, . . . u
n
}; {F
1
, . . . F
m
}; {R
1
, . . . R
k
}) es una interpretacion para el conjunto de fbfs
cerradas {A, B}, entonces, I() = 0; I() = 1 y:
1. I(A) = 1 si y solo si I(A) = 0
2. I(A B) = 1 si y solo si I(A) = 0 o I(B) = 1
3. I(A B) = 1 si y solo si I(A) = 1 y I(B) = 1
4. I(A B) = 1 si y solo si I(A) = 1 o I(B) = 1
5. I( (x)B) = 1 si y solo si para alg un u
0
U, se tiene que
I
u
0
([x/b]B) = 1
donde b es un smbolo de constante que no ocurre en B e I
u
0
es la interpretacion corres-
pondiente a la extension de M que asocia u
0
a b.
30 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


6. I( (x)B ) = 1 si y solo si para todo u
0
U, se tiene que
I
u
0
([x/b]B) = 1
donde b es un smbolo de constante que no ocurre en B e I
u
0
se dene como en el punto
anterior.
Si nos referimos a las fbfs, podemos retomar las notaciones de la logica clasica proposicional,
denotar por I el conjunto de interpretaciones, Mod(A) el conjunto de modelos de la fbf cerrada
A y por Mod() el conjunto de modelos de un conjunto, , de fbfs cerradas.
Denicion 1.37
Una fbf cerrada A es satisfacible si Mod(A) = .
Si es un conjunto de fbfs cerradas, entonces es satisfacible si Mod() = .
Una fbf cerrada A es valida si Mod(A) = I.
Los ejemplos expuestos hasta aqu nos muestran que, a diferencia de la logica clasica propo-
sicional, en la logica clasica de primer orden, es laborioso analizar la satisfacibilidad o la validez
de una fbf. Incluso en ejemplos tan sencillos como los que hemos considerado, nos sentimos
agobiados por los formalismos. Pero no son los formalismos el unico handicap, m as adelante
probaremos que los problemas de la satisfacibilidad y la validez no son decidibles en L
1
: son tan
solo semidecidibles, es el precio a pagar por su mayor expresividad!
Por ahora, nos conformaremos con analizar fbfs sencillas, haciendo uso de la denicion. Pero
incluso para este an alisis, en los ejemplos siguientes, nos vamos a permitir expresarnos menos
formalmente.
Ejemplo 1.14 Consideremos el conjunto de fbfs
{P(a), (x)((y)(P(x) Q(y, x))}
(a) En la interpretacion
({a, b, c}; {a ;a}; ; {P ;{a, b}, Q ;{(a, b), (a, c), (b, a), (c, a)}})
P(a) es, obviamente, verdadera. Veamos que (x)(y)(P(x) Q(y, x)) tambien lo es.
Informalmente, podemos razonar como sigue:
- Si asignamos a a x, podemos asignar c a y con lo cual P(a) Q(c, a) es verdadera.
- Si asignamos b a x, podemos asignar a a y con lo cual P(b) Q(a, b) es verdadera.
- Si asignamos c a x, podemos asignar c a y con lo cual P(c) Q(c, c) es verdadera.
(b) En la interpretacion
(Z; {0}; ; {P ;N, Q ;{(m
1
, m
2
) | m
2
= m
1
2
}})
P(a) es, obviamente, verdadera. Veamos que (x)(y)(P(x) Q(y, x)) no lo es:
Si asignamos 8 a x, para cualquier asignaci on de un n umero entero m a y, se tiene que
8 = m
2
y, por lo tanto, (x)(y)(P(x) Q(y, x)) no es verdadera.
1.2. SEM

ANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 31


(c) En la interpretacion
(N; {0}; ; {P ;N {0}, Q ;{(m
1
, m
2
) | m
1
< m
2
}})
P(a) es, obviamente, falsa. Veamos que (x)(y)(P(x) Q(y, x)) es verdadera:
- Si asignamos 0 a x, para cualquier asignaci on de un n umero natural m a y, P(0)
Q(m, 0) es verdadera ya que P(0) es falsa.
- Si asignamos m = 0 a x, podemos asignar m1 a y con lo cual P(m) Q(m1, m)
es verdadera ya que Q(m1, m) es verdadera.
ee r r
La logica de primer orden es una extensi on de la logica proposicional en el siguiente sentido:
Todo enunciado formalizable en L
prop
es tambien formalizable en L
1
.
Si la formulaci on de un enunciado E en L
prop
es una fbf valida en L
prop
, entonces su
formalizaci on en L
1
es tambien una fbf valida en L
1
.
Debido a que la sem antica de los conectivos booleanos es la misma que para la logica pro-
posicional, la nocion de tautologa es extensible a la logica de primer orden: Es inmediato que
Si en un esquema de tautologa de la logica clasica proposicional sustituimos cada
metasmbolo por una fbf del lenguaje de primer orden L
1
, obtendremos tambien una
fbf v alida (que llamaremos asimismo tautologa).
Tenemos, por lo tanto, el siguiente resultado:
Teorema 1.5 Todo esquema de tautologa de la logica clasica proposicional proporciona un
esquema de tautologa en la logica clasica de primer orden.
Ejemplo 1.15 La fbf
( (x)P(x, a) (y)Q(y)) ((x)P(x, a) (y)Q(y))
es una tautologa obtenida del esquema valido en la logica clasica proposicional:
(A B) (A B)
Para probar que una fbf, A, en L
1
no es valida, se requiere encontrar una interpretacion en
la que dicha fbf sea falsa, es decir, un contramodelo para A.
Ejemplo 1.16 La fbf (x)(y)P(x, y) (y)(x)P(x, y) no es valida ya que la interpretacion
(N; ; ; {P ;}) es un contramodelo, es decir, un modelo para su negaci on.
32 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


1.2.3. Equivalencia L ogica
Denicion 1.38 Sea M = (U, I) una interpretacion en L
1
. Dos fbfs A y B se dicen M-
equivalentes, denotado A
M
B si I(A) = I(B), es decir, si para toda valuaci on de variables
se tiene que I

(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

ANTICA PARA LOS LENGUAJES DE PRIMER ORDEN 33


1. (x)(y)A(x, y) (y)(x)A(x, y)
2. (x)(y)A(x, y) (y)(x)A(x, y)
3. (x)(A(x) B(x)) (x)A(x) (x)B(x)
4. (x)(A(x) B(x)) (x)A(x) (x)B(x)
5. Si x no ocurre en B, (x)(A(x) B) (x)A(x) B
6. Si x no ocurre en B, (x)(A(x) B) (x)A(x) B
7. Si {, } y Q, Q

{, } 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

((x)(A(x) B)) = 0. Entonces existe una valuaci on de variables

x-equivalente a tal que


I

(A(x) B) = 0; es decir, I

(A(x)) = I

(B) = 0. Es claro, entonces, que I

((x)A(x)) = 0.
Ademas, dado que x no ocurre en B, entonces y

asignan exactamente los mismos valores a


todas las variables de Var
libre
(B), luego por el Teorema 1.2 tenemos tambien que I

(B) = 0.
Por consiguiente, I

((x)A(x)B) = 0. La recproca se demuestra de forma similar. Esto prueba


que para cualquier interpretacion y valuaci on de variables asociadas a dicha interpretacion ambas
formulas reciben el mismo valor de verdad. Por tanto, ambas son equivalentes.
El resto de las demostraciones son similares.
Teorema 1.7 Si B es una subf ormula de A y B
M
C, entonces A
M
A[B/C], donde A[B/C]
denota que al menos una ocurrencia de B en A se ha sustituido por C.
Demostraci on: Sea M = (U, I). Si B
M
C, por denicion de
M
, se tiene que, para toda
valuaci on , I

(B) = I

(C).
Tenemos que probar que I

(A) = I

(A[B/C]) para toda valuaci on . Lo demostramos por


induccion estructural:
Si A = o A = , entonces A[B/C] = A y el resultado es obvio.
Si A es un atomo, entonces A = B y el resultado es obvio.
Si A = A
1
o A = A
1
A
2
, donde {, , }, la demostracion es como en el caso
proposicional.
14
Se podra admitir que x no ocurriera libre en B.
34 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


Supongamos A = (x)A
1
. Si B = A, el resultado es obvio. En caso contrario, B es una
subf ormula de A
1
y, por hip otesis de induccion, A
1

M
A
1
[B/C]. Por tanto, solo nos queda
probar que I

( (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
/

, es decir, disponer de una estructura com un


para todas las fbfs, es decir, de un tipo de fbf tal que cualquier fbf sea expresable por (es decir,
sem anticamente equivalente a) una de dicho tipo y cuya lectura sea m as agradable.
En la logica clasica de primer orden, las formas normales que se han mostrado especial-
mente utiles son las formas normales prenexas. Para su descripcion necesitaremos las siguientes
deniciones:
Denicion 1.40
1. Los atomos junto con sus negaciones se llaman literales. Decimos que los literales
P(t
1
, . . . , t
n
) y P(t
1
, . . . , t
n
) son literales opuestos.
1.3. FORMA NORMAL PRENEXA 35
2. Una fbf se dice que es un cubo si es , o una conjuncion nita (posiblemente vaca) de
literales.
3. Una fbf se dice que es una cl ausula si es , o una disyunci on nita (posiblemente
vaca) de literales.
4. Una fbf en la que los unicos conectivos booleanos que intervienen son , y y en la que
solo afecta a los atomos se dice que es una forma normal negativa, denotada fnn.
Denicion 1.41
1. Una fbf se dice que es una forma normal prenexa, denotada fnp, si es de la forma
(Q
1
x
1
) . . . (Q
n
x
n
)B donde
(Q
i
x
i
) son cuanticadores con variables distintas.
B es una fbf que no contiene cuanticadores.
Dada una fnp, A = (Q
1
x
1
) . . . (Q
n
x
n
)B, a la secuencia (Q
1
x
1
) . . . (Q
n
x
n
) se le denomina
prefijo de A y a la fbf B se le denomina matriz de A.
2. Una fbf se dice que es una forma normal prenexa disyuntiva, denotada fnpd, si es ,
, o una forma normal prenexa en la que su matriz es una disyunci on de cubos.
3. Una fbf se dice que es una forma normal prenexa conjuntiva, denotada fnpc, si es ,
, o una forma normal prenexa en la que su matriz es una conjunci on de cl ausulas.
Las nociones de clausula que contiene a otra clausula y cubo que contiene a otro cubo son las
mismas que para el caso proposicional. Asimismo, se generalizan de modo natural los conceptos
de forma normal conjuntiva restringida y forma normal disyuntiva restringida:
Denicion 1.42 Una fnpd se dice restringida, denotada fnpdr, si su matriz cumple los
siguientes requisitos:
ning un cubo contiene un literal y su opuesto.
ning un cubo contiene literales repetidos.
ning un cubo contiene a otro.
Una fnpc se dice restringida, denotada fnpcr, si su matriz cumple los siguientes requisitos:
Ninguna clausula contiene un literal y su opuesto.
Ninguna clausula contiene literales repetidos.
Ninguna clausula contiene a otra.
Teorema 1.9 Para toda fbf de L
1
existe una forma normal prenexa disyuntiva restringida y
una forma normal prenexa conjuntiva restringida equivalentes a ella.
36 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


Demostraci on: La demostracion de este teorema proporciona el algoritmo est andar para la
obtenci on de las formas normales cuya existencia asegura su enunciado.
En efecto, el teorema de equivalencia nos asegura que, dada una fbf cualquiera, A, podemos
obtener a partir de A una fndr o una fncr equivalente, realizando en cada paso una sola de las
siguientes transformaciones de equivalencia y en el siguiente orden:
Paso 1: Hacer uso del Corolario 1.1 y realizar cuantos renombramientos sean necesarios para
que en A todas las variables cuanticadas sean distintas.
Paso 2: Usar las leyes
A B (A B) (B A)
A B A B
para eliminar los conectivos y .
Paso 3: Usar la ley de doble negaci on (A A), las leyes de Morgan (A B) A B
y (A B) A B) y las leyes
(x)A (x)A
(x)A (x)A
Con los pasos 2 y 3 obtenemos una fbf en la que no interviene y en la que afecta
unicamente a los atomos, es decir, obtenemos una fnn.
Paso 4: Usar las leyes
15
(x)A B (x)(A B)
(x)A B (x)(A B)
(x)A B (x)(A B)
(x)A B (x)(A B)
para transmitir los cuanticadores a la cabeza de la fbf.
Paso 5: Usar la ley distributiva de respecto a (para las fnpdr) o de respecto a (para
las fnpcr).
Paso 6: Usar cuantas veces sea posible las leyes (para , o para ) de idempotencia, de com-
plementacion, de cero y uno y de absorcion, para obtener las formas normales restringidas.
Los siguientes ejemplos muestran como obtener una fnpcr y una fnpdr equivalente a una fbf
dada.
15
Puesto que el paso 1 asegura que las variables cuanticadas son todas distintas, en la fbf B no hay ocurrencias
de la variable x.
1.4. SKOLEMIZACI

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

OGICA DE PRIMER ORDEN


Ejemplo 1.19 Si P es un smbolo de predicado binario, dada la fbf:
(x)(y)P(x, y)
es facil comprobar que
(x)(y)P(x, y) es satisfacible si y solo si (y)P(a, y) es satisfacible
para alg un smbolo de constante a.
En efecto, (x)(y)P(x, y) es satisfacible si y solo si existe una interpretacion
M = (U; ; ; {P ;R})
tal que I( (x)(y)P(x, y) ) = 1, es decir, si y solo si, para alg un u
0
U, se tiene que I
u
0
((y)P(a, y)) =
1, donde a es un smbolo de constante y I
u
0
es la interpretacion correspondiente a la extension
de M que asocia u
0
al smbolo de constante a, es decir,
M
u
0
= (U; {a ;d
0
}; ; {P ;R})
Como consecuencia inmediata del resultado del ejemplo anterior, se tiene que:
Teorema 1.10 Dado un conjunto de fbfs, , se tiene que
{(x)(y)P(x, y)} es satisfacible si y solo si {(y)P(a, y)} es satisfacible
donde a es un smbolo de constante que no ocurre en .
Para convencernos de que la restriccion de que a no ocurra en es necesaria, basta considerar,
por ejemplo, los dos conjuntos de fbfs siguientes:
{(y)P(a, y), (x)(y)P(x, y)} es satisfacible.
{(y)P(a, y), (y)P(a, y)} es insatisfacible.
ee r r
Hasta aqu, no hemos hecho mas que reejar una practica habitual en matematicas: Despues
de armar la existencia de objetos x que satisfacen una propiedad P(x), continuamos con la
expresion sea a alguno de estos x tal que P(a) es cierto.
Podemos eliminar todos los cuanticadores existenciales de esta forma tan sencilla? La respues-
ta, como nos muestra el ejemplo siguiente, es negativa.
Ejemplo 1.20
= {(x)(y)(P(x, y) P(f(x), y)), (x)(y)P(x, y)} es satisfacible.
En efecto, la interpretacion en L
1
M = {{1, 2}; ; {f ;{(1, 2), (2, 1)}}; {P ;{(1, 2), (2, 1)}}}
satisface .
1.4. SKOLEMIZACI

ON 39
Para cualquier smbolo de constante a el conjunto de fbfs

= {(x)(y)(P(x, y) P(f(x), y)), (x)P(a, y)} es insatisfacible.


Las dos posibles interpretaciones que hay que considerar son
M
1
= {{1, 2}; {a ;1}; {f ;{(1, 2), (2, 1)}}; {P ;{(1, 2), (2, 1)}}}
M
2
= {{1, 2}; {a ;2}; {f ;{(1, 2), (2, 1)}}; {P ;{(1, 2), (2, 1)}}}
y ninguna de ellos satisface

.
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

aplicando repetidamente el siguiente


metodo hasta que no haya cuanticadores existenciales en el prejo:
a) Si x es una variable cuanticada existencialmente y en el prejo de la matriz no existe
ning un cuanticador universal que preceda a (x), entonces
- Elegir un smbolo de constante a que no ocurra en la matriz.
- Sustituir x por a en la matriz.
- Eliminar (x) en el prejo.
b) Si x es una variable cuanticada existencialmente y (x
n
1
), . . . , (x
n
k
) son los cuan-
ticadores universales que preceden a (x) en el prejo de la fnp, entonces
- Elegir un smbolo de funcion f que no ocurra en la matriz.
- Sustituir x por f(x
n
1
, . . . , x
n
k
) en la matriz.
- Eliminar (x) en el prejo.
40 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


El proceso descrito para eliminar los cuanticadores existenciales se denomina skolemizacion
(por el logico noruego Thoralf Skolem). Cada aplicaci on de 2.a o 2.b se denomina etapa de
skolemizacion y los smbolos de constante y de funcion introducidos en el proceso se denominan
constantes de Skolem y funciones de Skolem, respectivamente.
Ejemplo 1.21 Consideremos la fbf
A = (y)(x)(z)(u)(t)
_
(P(x, y) Q(a, z, u)) (P(x, u) R(t, z))
_
Una forma normal de Skolem para A es
(x)(z)(u)
_
(P(x, b) Q(a, z, u)) (P(x, u) R(f(x, z, u), z))
_
Ejemplo 1.22 Considerese la fbf
(x)
_
P(x) Q(x)
_

_
(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

, un conjunto innito numerable F


+
n
de nuevos smbolos
de funcion n-arias.
Denicion 1.45 Contemplando toda fbf A de L
1
como un enunciado de L
+
1
, un proceso de
skolemizacion para A consiste en aplicar reiteradamente y partiendo de una forma normal
prenexa equivalente a A, cuantas etapas de skolemizacion en L
+
1
sean necesarias hasta obtener
una forma normal de Skolem, Sk
A
.
Descrito el procedimiento sintactico de skolemizaci on de una fbf A, pasamos a establecer la
relaci on sem antica entre A y una forma normal de Skolem asociada Sk
A
. Con este objetivo, el
primer resultado es el siguiente teorema cuya demostracion es una consecuencia directa de la
denicion de la sem antica.
Teorema 1.11 Sean L
1
y L
+
1
lenguajes de primer orden tales que sus alfabetos a y a

verican:
a a

\ a consta unicamente de smbolos de constante y de smbolos de funcion.


Entonces, dada una fbf, A, de L
1
se tiene que
A es satisfacible en L
1
si y solo si A es satisfacible en L
+
1
.
Podemos ya establecer el resultado fundamental de esta secci on.
Teorema 1.12 Si A es una fbf de L
1
y Sk
A
una forma de Skolem asociada a A, entonces
A es satisfacible en L
1
si y solo si Sk
A
es satisfacible en L
+
1
.
Demostraci on: Basta probar el resultado para cada una de las etapas de skolemizaci on.
Sea A = (x
1
) . . . (x
n
)(y)B(x
1
, . . . , x
n
, y) y a un smbolo de constante que no in-
terviene en A. Por la conmutatividad de los cuanticadores existenciales se tiene que
A (y)(x
1
) . . . (x
n
)B(x
1
, . . . , x
n
, y). Por lo tanto, basta demostrarlo para una fbf del
tipo A = (x)B(x).
42 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


Si M = (U, I) es una interpretacion en L
1
y es una valuaci on de variables tal que
I

( (y)B(y) ) = 1, entonces existe una valuaci on de variables

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

una valuaci on de variables tal que

(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

y tal que verica la condici on I

(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) se dene como sigue:


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

) comparten el mismo dominio, as que

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

OGICA DE PRIMER ORDEN


Ahora bien, si damos prioridad a la extraccion de los cuanticadores existenciales obtenemos
(x)(z)(v)(y)(u)((R(x) T(x, y)) P(u, z) Q(v, z))
Ahora el proceso para obtener una forma clausal requiere introducir un smbolo de constante
y un smbolo de funci on monaria (por ejemplo, los smbolos a y g):
{R(a) T(a, y), P(u, z), Q(g(z), z)}
Para terminar este captulo, introducimos la nocion central en nuestro estudio, establecemos
que entendemos por razonamiento correcto en la sem antica de L
1
.
1.5. Consecuencia L ogica
La nocion de consecuencia logica en la logica clasica de primer orden desempe na el mismo
papel que en el caso proposicional, y su denicion para fbfs arbitrarias hace uso de la nocion de
valuaci on de variables.
Denicion 1.47 Dado un conjunto de fbfs y una fbf C, se dice que C es consecuencia
logica, o se deriva, o se infiere semanticamente de , denotado |= C, si para toda
interpretacion M = (U, I) y toda valuaci on de variables se tiene que
Si I

(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

OGICA DE PRIMER ORDEN


1.6. Ejercicios
1. Diga cuales de las siguientes cadenas de smbolos son formulas de un lenguaje de primer orden.
Para aquellas que sean formulas, construya su arbol sint actico.
(x)(P(x) Q(x, y)), (x)P(x) Q(x, y), (x)P(y),
(x)(P(f(x)) f(P(x))), (P)(P(x, y) P(y, x))
2. Diga si las siguientes armaciones son ciertas o no razonando la respuesta
a) La formula (x)Q(z) es una formula bien formada
b) Las formulas abiertas no son formulas bien formadas.
c) Una variable puede aparecer libre y ligada en una formula
d) [f(x)/g(y)] P(f(x), y) = P(g(y), y)
e) [y/g(y)]P(y, y) = P(g(y), g(y))
3. Utilice induccion completa sobre el grado de A para demostrar la siguiente propiedad:
Si a es una constante que no aparece en A, entonces x es libre en A si y solo si [x/a]A = A.
4. Formalizar en L
1
las siguientes frases:
a) Elena es una estudiante de COU y comparte inquietudes con Isa, que es estudiante de Logo-
pedia. Carlos y David tambien comparten inquietudes y ambos practican el ciclismo.
b) No todas las aves saben volar.
c) Los elefantes son mas pesados que los ratones.
d) A todo alumno le gusta alguna de las asignaturas que cursa.
e) Hay alumnos a los que les gusta todas las asignaturas que cursa.
f ) No hay asignatura que no le agrade a ning un alumno.
g) Hay asignaturas que le gustan a todos los alumnos.
h) No todos los gatos son pardos.
i) Todo natural cuadrado perfecto es o m ultiplo de 4 o el sucesor de un m ultiplo de 4.
j ) Un conjunto es subconjunto de otro si y solo si todo elemento del primero es elemento del
segundo.
k) Si la suma de dos n umeros naturales es par, tambien es par la suma de sus cuadrados.
l ) Todo heroe encuentra a un malvado a quien dar una lecci on y a un honrado a quien proteger.
m) El conjunto de los n umeros primos es innito.
n) La adici on y la multiplicacion de n umeros reales son operaciones asociativas y conmutativas.
n) Todo n umero entero mayor que 1 que solo es divisible por 1 y por s mismo es primo.
5. Formalizar en L
1
los razonamientos siguientes:
a) El padre de Juan es poeta y autor de libros de poesa. Hay poetas que no publican libro
alguno. Quien tiene un padre poeta, solo compra libros de poesa si su padre ha publicado
alg un libro. Por lo tanto, Juan compra libros de poesa.
b) No es cierto que cualquier losofo sea mas sabio que cualquier qumico. Los losofos son mas
sabios que los acionados a los crucigramas. Por lo tanto, si ning un qumico es losofo, hay
quien no es losofo ni acionado a los crucigramas.
1.6. EJERCICIOS 47
c) Todo el que plagia el trabajo ajeno es un inepto. De todos es sabido que los expertos en
programacion no son ineptos y que algunos expertos en programacion dominan las tecnicas
de la programacion paralela. Por lo tanto, algunos de los que dominan las tecnicas de la
programacion paralela, no plagian el trabajo ajeno.
d) Todas las enfermedades infecciosas son controlables. Quien padece una enfermedad controla-
ble, o no se preocupa por la enfermedad o se automedica. Luis es un deportista que nunca
se automedica, pero que padece una enfermedad infecciosa. Por lo tanto, hay deportistas que
no se preocupan por la enfermedad que padecen.
e) Todo estudiante que deja la adquisici on de conocimientos sobre una materia para la semana
antes del examen, tiene una disculpa interesante. Hay estudiantes aburridos cuyas disculpas
son aburridas. No hay aburridos interesantes. As pues, de lo dicho se concluye que no hay
quien preocupandose de adquirir conocimientos sobre una materia durante todo el curso, sea
aburrido.
f ) Las sustancias radioactivas tienen vida corta o un valor medicinal. Ning un is otopo del uranio
que sea radioactivo tiene vida corta. Por tanto, si todos los is otopos del uranio son radioac-
tivos, todos los is otopos del uranio tienen un valor medicinal.
6. Probar las siguientes equivalencias:
(y)(x)(P(x) Q(y)) (x)(y)(P(x) Q(y))
(x)(y)
_
P(y) (Q(x) R(y))
_
(y)(x)
_
P(y) (Q(x) R(y))
_
7. Dada la fbf
A = (x)
_
(y)P(x, y) (z)Q(z, x)
_
(t)
_
R(t) S(t)
_
a) Obtener el conjunto de las subformulas de A.
b) Obtener el conjunto de las subformulas que ocurren positivamente en A.
c) Obtener el conjunto de las subformulas que ocurren negativamente en A.
8. Sean las fbfs:
a) (x)P(y) P(x).
b) (x)(y)(Q(x, y, z) (P(y) R(x))).
c) (x)(y)P(x) S(x, y).
d) (x)(y)(P(x) S(x, y)) (y)Q(x, y, z).
Para cada ocurrencia de un smbolo de variable, determinar si tal ocurrencia es libre o ligada.
9. Hallar V
libres
para cada una de las fbfs siguientes:
a) (x)P(x, y) P(x, a)
b) (x)(P(x, y) P(x, a))
c) (x)
_
(y)P(x, g(a, y)) (z)P(y, z)
_
10. Especicar para cada una de las fbfs siguientes si el termino f(x, z) es libre para x:
a) (y)(P(x, y) P(y, a))
b) Q(z) (x)(y)R(x, y, a)
c) (x)Q(x) (y)P(x, y)
d) (y)(P(f(x, y), x) E(z, g(x, y)))
11. Dados los terminos h(x, y) y g(a, f(y, z)), determinar si son libres para cada una de las variable x,
y y z en las fbfs siguientes:
48 CAP

ITULO 1. L

OGICA DE PRIMER ORDEN


a) (z)
_
P(z, y, a) (x)Q(g(x, z))
_
b) (x)R(f(x, a), y) R(f(x, a), z)
c) P(f(x, a), x, b) P(f(y, b), z, b)
12. Dados los terminos f(x, u) y f(x, f(z, u)), determinar si son libres para cada una de las variable
x, y y u en las fbfs siguientes:
a) (x)P(x, y, z) (z)P(z, x, u)
_
b) (y)P(y, f(x, y), z) (R(x) Q(u))
13. Eval ue las siguientes sustituciones
a) [x/f(y)]((x)P(x) Q(x));
b) [y/f(y)]((x)(P(y) (y)Q(x, y)))
14. Hallar [x/f(x, z)]A para cada uno de los siguientes casos:
a) A = (y)P(y, f(x, y)) Q(x)
b) A = (x)(z)(Q(z) Q(x))
c) A = (y)Q(g(y)) (z)R(x, y, z)
d) A = (y)R(x, g(x), y) (z)Q(f(x, z))
15. La composicion de sustituciones no es conmutativa, y por eso una composicion como [y/s] [x/t] se
evalua sobre una formula sustituyendo secuencialmente las variables: en primer lugar sustituimos
la variable x y posteriormente la variable y. Denimos la sustituci on sim ultanea de las variables
x
1
,. . . ,x
n
por los terminos t
1
,. . . ,t
n
respectivamente y se denota como {x
1
/t
1
, . . . , x
n
/t
n
} como la
aplicacion que, sobre una formula A sustituye simult aneamente todas las apariciones libres de las
variables x
1
,. . . ,x
n
por los terminos t
1
,. . . ,t
n
respectivamente.
Eval ue la sustitucion {x/g(y), y/g(x)}A(x, y) y deduzca que
{x/g(y), y/g(x)} = [x/g(y)] [y/g(x)]
{x/g(y), y/g(x)} = [y/g(x)] [x/g(y)]
16. Eval ue las siguientes sustituciones:
a) {x/f(x), y/a}A(x, f(y))
b) {x/f(y), y/a}A(x, f(y))
c) {x/g(y), y/g(x)}A(g(x), g(x))
d) [x/g(y)] [y/g(x)]A(g(x), g(x))
e) [y/g(x)] [x/g(y)]A(g(x), g(x))
17. Calcular las siguientes composiciones:
a) [z/b] [y/g(z, a)] [x/f(y)]
b) [z/f(x, a)] [y/x] [x/a]
c) [z/a] [y/f(z)] [x/g(z, y)]
18. Probar que si A es una fbf cerrada tambien lo es [x/a]A
19. Dada una fbf A, denir en terminos de su arbol sint actico los siguientes conceptos:
a) Ocurrencia positiva de una fbf B en A.
1.6. EJERCICIOS 49
b) Ocurrencia negativa de una fbf B en A.
c) Ocurrencia libre de una variable v en A.
d) Ocurrencia ligada de una variable v en A.
20. Sea = ({a, b, c}, {f, g}, {P, Q}) la signatura del conjunto de fbfs
= {P(a), P(b), P(c), P(f(a)), P(f(b)), P(f(c)), P(g(a, b)), P(g(a, c)), P(g(b, c)), P(g(f(b), c)),
P(g(f(c), f(b))), (x)Q(x, x), (x)Q(x, f(x))}
Sea (U, I) una interpretaci on para L
1
donde U = C

, C es el alfabeto de la lengua espa nola y


- I(a) = la
- I(b) = ma
- I(c) = ireo
- I(f)(d) = d si |d| = 1 y, en otro caso, el resultado de eliminar la primera letra en d. Por
ejemplo, I(f)(hasta) = asta.
- I(g) asocia a cada par (d, d

) la concatenaci on de d y d

. Por ejemplo, I(g)(por, cal) =


porcal.
- I(P) consiste en el conjunto de palabras de la lengua espa nola. Por ejemplo, topo I(P),
opot / I(P).
- I(Q) consiste en el conjunto de pares (d, d

) tales que d es una subcadena de 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

OGICA DE PRIMER ORDEN


Describir en lenguaje natural la informacion contenida en A por esta interpretaci on y hallar
I(A).
b) Sea (U

, I

) una interpretaci on para L


1
donde U

= 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

(E) es la relacion R denida como (n, m) 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

que sea x-equivalente a con

(x) = I(t) se tiene que


I

(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

son valuaciones de variables


tales que (x) =

(x) para toda variable x de A se tiene que I

(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

sus cierres universales. Probar


que
A B si y solo si A

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

OGICA DE PRIMER ORDEN


40. Obtener una forma normal prenexa logicamente equivalente a la fbf A siguiente
(x)
_
P(x) (y)(Q(x, y) (z)R(x, z)) ((y)R(x, u) Q(x, y))
_
41. Obtener una forma normal prenexa logicamente equivalente para las fbfs siguientes
a) (x)P(x) (x)Q(x)
b) (x)(y)[(x)(P(x, z) P(y, z)) (u)Q(x, y, u)]
c) (x)[P(x) (y)(w)(Q(x, y) (z)R(a, x, y))]
d) (x)(y)[(z)P(x, y, z) ((u)(Q(x, u) (v)Q(y, v))]
42. Transformar en forma clausal las fbfs siguientes
a) (x)P(x) ( (x)(Q(x) S(x)) (x)(y)R(x, y) )
b) (x)[P(x, a) (y)(P(y, g(x)) (z)(P(z, g(x)) P(y, z)))]
c) (x)(y)[(z)P(z) (u)(Q(x, u) (v)q(y, v))]
43. Demostrar que son validas las inferencias logicas del Ejemplo 1.25
44. Demostrar que |= es un operador de consecuencia,
21
es decir, si utilizamos la notaci on
|=: 2
L1
2
L1
para la aplicacion tal que para cada 2
L1
se tiene que |= () es el conjunto de fbfs que son
consecuencia logica de , entonces |= satisface las siguientes propiedades:
(i) |= () (Inclusion)
(ii) |= (|= ()) |= () (Transitividad)
(iii) Si , entonces |= () |= () (Monotona)
45. Dado un conjunto de fbfs , una constante c y una fbf A con a lo sumo una variable libre x,
demuestre las siguientes armaciones:
a) si |= A[x/c ], entonces |= (x)A.
b) si |= (x)A, entonces |= A[x/c ]
c) si se tiene que
|= (x)A,
{A[x/c ]} |= B y
c no aparece en ni en A ni en B,
entonces |= B.
d) si |= A[x/c ] y c no aparece en ni en A, entonces |= (x)A.
46. Demuestre las siguientes equivalencias e inferencias
a) (x)(A(x) B(x)) ((x)A(x) (x)B(x))
b) (x)(A(x) B(x)) |= ((x)A(x) (x)B(x))
c) (x)(A(x) B(x)) |= ((x)A(x) (x)B(x))
d) (x)(A(x) B(x)) |= ((x)A(x) (x)B(x))
e) (x)B(x) (x)A(x) (x)(A(x) B(x))
21
David J. Israel. The Role(s) of Logics in Articial Intelligence Handbook of Logic in Articial Intelligence
and Logic Programming. Volume 1. Logical Foundations. Ed Dov M. Gabbay, C.J. Hogger and J.A. Robinson.
Oxford Science Publications. 1993.
Captulo 2
Modelos de Herbrand
En este captulo estudiamos un resultado fundamental de la logica clasica de primer orden
que, como veremos, tiene especial interes en la sem antica de los lenguajes de programacion
logica:
El estudio de la satisfacibilidad de un conjunto de fbfs de la logica cl asica de primer
orden se puede reducir al estudio de la satisfacibilidad de un conjunto de cl ausulas
b asicas (es decir, clausulas en las que no intervienen variables) que, en consecuencia,
puede ser contemplado como un conjunto de clausulas de la l ogica proposicional.
Comencemos con el siguiente an alisis: Como venimos insistiendo, el conjunto de posibles
interpretaciones M = (U, I) en la logica clasica de primer orden, incluso el conjunto de posibles
interpretaciones para una fbf, es extremadamente complejo, ya que requiere la eleccion del
dominio o universo del discurso, U, y para cada dominio U nos encontramos con la amplia
variabilidad para I, es decir, las interpretaciones para el conjunto de smbolos de constantes,
para el conjunto de smbolos de funcion y para el conjunto de smbolos de predicados.
Es pues poco razonable afrontar a las bravas la tarea de determinar si una fbf A es o no valida,
incluso limit andonos a formas normales, pues necesitaramos comprobar que A es verdadera en
toda interpretacion M = (U, I).
Afortunadamente, se dispone de una teora que simplica dr asticamente el conjunto de inter-
pretaciones que se necesita considerar, esta teora se debe a Jacques Herbrand y, como veremos,
permite el estudio de la demostraci on automatica de teoremas limit andonos a considerar inter-
pretaciones con dominios uniformes. Ademas, lo que es m as importante, estas interpretaciones
se denen sintacticamente en terminos de los smbolos del lenguaje, con la simplicidad que ello
conlleva.
Los resultados estudiados en este captulo son quizas los m as relevantes de la logica; sin ellos
no hubiera sido posible abordar la tarea de obtener razonadores autom aticos aceptablemente
ecientes y, en consecuencia, de hacer de la logica una herramienta util para las Ciencias de la
Computacion.
Comenzamos introduciendo el concepto b asico en esta teora, el dominio uniforme anunciado
anteriormente.
54 CAP

ITULO 2. MODELOS DE HERBRAND


Denicion 2.1 Dado un lenguaje de primer orden L
1
(C, F, P), se llama universo de Herbrand
de L
1
(C, F, P), denotado H
L
1
:
al conjunto de terminos b asicos de L
1
(C, F, P), si C = y, en caso contrario,
al conjunto de terminos b asicos del lenguaje cuya signatura es ({c}, F, P) donde c es un
smbolo de constante adicional, denominada constante de Herbrand.
Puesto que estamos interesados en la teora de Herbrand en relaci on a su contribucion a la
demostracion autom atica de teoremas, m as concretamente, en los sistemas de demostracion por
refutacion, y puesto que (como hemos visto en el captulo anterior) para toda fbf, A, existe una
forma clausal equisatisfacible con A, desarrollaremos la teora de Herbrand para el estudio de la
satisfacibilidad de conjuntos de clausulas.
2.1. Interpretaciones de Herbrand
Comencemos deniendo el universo de Herbrand para un conjunto de clausulas:
Denicion 2.2 Sea un conjunto de clausulas, C

el conjunto de smbolos de constantes que


intervienen en y F

el conjunto de smbolos de funcion que intervienen en .


El universo o dominio de Herbrand para , denotado H

, se dene del modo siguiente:


Si C

= , entonces H

es la clausura inductiva libremente generada del conjunto C

para
F

, es decir, el conjunto de terminos b asicos descritos por las siguientes reglas:


1. Si a es un smbolo de constante que ocurre en , entonces a H

.
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 la clausura inductiva libremente generada del conjunto {c}


para F

, donde c es la constante de Herbrand; es decir, H

es el conjunto de terminos
b asicos descritos por las siguientes reglas:
1. c H

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

Obviamente, por denicion, H

es a lo sumo innito numerable y se tiene que


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

como una uni on numerable de conjuntos nitos:


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

. Este conjunto se describe mediante la siguiente denicion:


Denicion 2.3 Sea un conjunto de clausulas y P

el conjunto de smbolos de predicados


que intervienen en . La base de Herbrand de , denotada B

, se dene como el conjunto de


atomos b asicos generados por P

y H

, es decir, el conjunto de atomos de la forma siguiente:


Si P P

es un smbolo de predicado n-ario y t


1
, . . . , t
n
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

puede ser considerado como un atomo


implcitamente referido en , cada uno de los cuales puede contemplarse como un smbolo
proposicional. La diferencia es que el conjunto de smbolos proposicionales que intervienen
en una formula o en un conjunto nito de formulas de la logica proposicional es siempre
nito y el conjunto de atomos implcitamente referido en un conjunto nito de clausulas
de L
1
(C, F, P) puede ser innito numerable o nito (seg un intervenga o no en alg un
smbolo de funci on).
1
En denitiva, la interpretacion en una estructura de Herbrand consiste en realizar sustituciones por terminos
cerrados e interpretar los terminos cerrados como ellos mismos
56 CAP

ITULO 2. MODELOS DE HERBRAND


Establecida esta analoga, recordemos que, puesto que una interpretaci on I para un conjunto
nito de formulas, , en la logica clasica proposicional es una asignacion de valores de verdad
para los smbolos proposicionales p
1
, . . . , p
k
que intervienen en , podemos representar I
mediante el subconjunto de {p
1
, . . . , p
k
} a los que I asigna el valor de verdad 1. As, por
ejemplo, si es {p, q, r, s} el conjunto de smbolos proposicionales que intervienen en y la
interpretaci on I para es tal que I(p) = I(q) = I(s) = 1 y I(r) = 0 podemos usar la
representacion I = {p, q, s}.
Estas consideraciones conducen a la denicion siguiente.
Denicion 2.5 Sea un conjunto de clausulas. Una interpretacion para se dice que es una
interpretaci on de Herbrand, denotada M
H,
si es de la forma (H

, 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

, concretamente: el conjunto de atomos b asicos a los que I


H,
asigna
el valor de verdad 1. En consecuencia, el cardinal del conjunto de interpretaciones
de Herbrand para es el cardinal del conjunto de subconjuntos de 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

= {c, f(c), f(f(c)), . . . , f


n
(c), . . .}
donde c es la constante de Herbrand.
2. B

= {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

ITULO 2. MODELOS DE HERBRAND


Teorema 2.1 Sea un conjunto de clausulas, entonces tiene un modelo si y solo si tiene un
modelo de Herbrand.
Demostraci on: Supongamos que M = (U, I) es una interpretacion que satisface a . De-
nimos la interpretacion de Herbrand asociada a M, denotada M
H,
como la interpretacion
(H

, 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

= {a, f(a), f(f(a)), . . . , f


n
(a), . . .}.
- B

= {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

= {P(a)}, las dos interpretaciones


de Herbrand para son y {P(a)} y ninguna de ellas es un modelo para .
Como venimos destacando, la teora de Herbrand nos ha permitido eliminar la variabilidad de
la primera componente en (U, I) y limitarnos a un unico dominio que puede ser nito o innito
numerable. Respecto a la segunda componente, si el dominio de Herbrand tiene n elementos, el
n umero de posibles interpretaciones de Herbrand es tambien nito, concretamente, su n umero
de elementos es 2
n
. Pero si el dominio de Herbrand es innito numerable, el cardinal del con-
junto de interpretaciones de Herbrand es innito no numerable, concretamente, 2

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

ITULO 2. MODELOS DE HERBRAND


Bueno, es cierto que un segundo es mucho tiempo para una computadora, y que en
ese tiempo es posible que realice miles de operaciones y no una sola operaci on co-
mo dijimos arriba. Consigamos entonces una supercomputadora que pueda realizar
un millon de pasos por segundo. Quizas ahora no tendramos problemas? No lo
tendramos en el ejemplo que consideramos antes (que resolveramos en solo 0,1 se-
gundos), pero consideremos una formula de tama no 10, y un modelo de 25 elementos.
Entonces:
25
10
= 95.367.431.640.625 pasos95.367.431 segundos 26.490 horas.
Contemos como contemos y no importa lo rapida que sea nuestra computadora,
problemas que requieran tiempo exponencial, siempre tendr an instancias demasia-
do difciles de resolver.
Pero las noticias no son tan malas como parecen. No todas las formulas de la logica
de primer orden son tan difciles como los ejemplos que discutimos mas arriba. Re-
cordemos que decir que un determinado problema esta en una clase de complejidad
C (como PSpace o ExpTime) quiere decir que existe alguna instancia del problema
que requiere tanto espacio o tiempo. Podran haber muchas otras instancias mucho
mas simples.
Y aqu es donde el tema se pone interesante. Seguramente en una aplicaci on dada
no usaremos todo el poder expresivo de la logica clasica de primer orden. Quiz as es
posible elegir fragmentos mas simples y que de todas formas tengan la expresividad
necesaria para nuestra aplicaci on?
En efecto, ciertos fragmentos de la logica clasica de primer orden son decidibles. Por ejemplo,
la clase de las formulas validas de L
1
en la que no intervienen smbolos de funcion y en la que
todos los smbolos de predicado que intervienen son monarios. Tambien lo es el conjunto de
fbfs con a lo sumo 2 variables, es decir, en las que pueden aparecer a los sumo los smbolos de
variable x
1
y x
2
(tanto si consideramos la logica clasica de primer orden con igualdad o sin ella),
denotado LPO
2
.
6
La mayora de las clases decidibles son clases de formulas prenexas que se denen sintacti-
camente mediante restricciones sobre la estructura del prejo, restricciones sobre su matriz o
restricciones sobre ambos. Destaquemos algunas:
1. Sea A una formula en fnp en la que no intervienen smbolos de funcion. Entonces, existe
un procedimiento de decisi on para la satisfacibilidad de A si el prejo de A tiene una de
las formas siguientes:
a) (y
1
) . . . (y
k
), es decir, no tiene ning un smbolo de cuanticaci on existencial.
b) (x
1
) . . . (x
n
), es decir, no tiene ning un smbolo de cuanticaci on universal.
c) (x
1
) . . . (x
n
)(y
1
) . . . (y
k
), es decir, ning un smbolo de cuanticaci on universal pre-
cede a un smbolo de cuanticaci on existencial.
d) solo tiene un smbolo de cuanticaci on existencial.
6
Sin embargo, LPO
k
, con k 3 es indecidible.
2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L
1
61
e) (x
1
) . . . (x
n
)(y
1
)(y
2
)(z
1
) . . . (z
k
), es decir, tiene a lo sumo dos cuanticadores
universales que no est an separados por ning un smbolo de cuanticaci on existencial.
f ) (x
1
) . . . (x
n
)(y)(z
1
) . . . (z
k
), es decir, tiene un solo smbolo de cuanticaci on uni-
versal.
7
2. Sea A una formula en fnpc. Entonces existe un procedimiento de decisi on para la satisfa-
cibilidad de A si la matriz de A es de una de las siguientes formas:
a) Todas las clausulas son unitarias, es decir, de un solo literal.
b) Todos los atomos son positivos o todos los atomos son negativos.
c) Todos los predicados son monarios.
8
Sin embargo, la situaci on no es completamente negativa para L
1
: existen procedimientos
llamados de semidecision como establece el Teorema de Church:
Teorema 2.2 La L ogica Clasica de Predicados de Primer Orden no es decidible pero s es
semidecidible, es decir, existen algoritmos tales que: dada una formula A, si esta formula es
v alida, el algoritmo determina su validez tras una secuencia nita de pasos; si la formula no es
v alida, el algoritmo puede nalizar con esta conclusi on tras una secuencia nita de pasos o no
terminar.
Como vemos en el enunciado, la limitaci on radica en que no tenemos asegurada la nalizaci on
del algoritmo si su entrada es una formula que no es valida; a estos procedimientos tambien se
conocen como semi-algoritmos. En la pr actica, esto supone que, en muchos casos, no sabre-
mos distinguir entre formulas no-validas que provocan una ejecucion indenida del algoritmo y
formula validas que requieren mucho tiempo de ejecucion.
Los tres metodos de demostracion que estudiamos en este curso, Tablas Sem anticas, Metodo
de Gilmore y Resolucion, son por lo tanto, semi-algoritmos.
2.2.1.

Arboles Semanticos en L
1
El concepto de arbol semantico introducido en el primer volumen para la logica proposicional
puede ser extendido a L
1
como sigue:
Denicion 2.7 Sea = {P
1
, P
2
, . . . , P
n
, . . .} una sucesi on de atomos b asicos. Un arbol
semantico respecto de es un arbol binario que satisface las condiciones siguientes:
Cada arco esta etiquetado con un literal P
i
o P
i
donde P
i
.
Cada arco de profundidad k esta etiquetado con el literal P
k
o con el literal P
k
donde
P
k
.
7
Sin embargo, los siguientes fragmentos son indecidibles:
1) (x1) . . . (xn)(y1) . . . (y
k
), es decir, los cuanticadores existenciales estan precedidos de tres smbolos de
cuanticaci on universal.
2) (x1)(x2)(x3)(y1) . . . (y
k
), es decir, ning un smbolo de cuanticaci on existencial precede a un smbolo
de cuanticaci on universal.
8
El lector interesado en estos resultados puede consultar el libro: G. Hunter. Metalogica. Introduccion a la
metateora de la logica clasica de primer orden. Paraninfo, 1981.
62 CAP

ITULO 2. MODELOS DE HERBRAND


Los literales que etiquetan dos arcos que nacen del mismo nodo son opuestos.
Cada P
i
ocurre en cada rama a lo sumo una vez (bien como etiqueta P
i
o bien como
etiqueta P
i
).
Si es nito, todo arbol sem antico respecto de es nito. Si es innito, existen arboles
sem anticos nitos e innitos (innitos de ramicacion nita, concretamente, innitos binarios)
respecto de .
A cada nodo N de un arbol sem antico se le asocia una interpretacion de Herbrand parcial
(asignaci on de valores de verdad a un subconjunto de atomos b asicos, es decir, un subconjunto
de la base de Herbrand) que a cada atomo P le asigna:
El valor 1 si un arco del camino que une N con la raz est a etiquetado por el literal P.
El valor 0 si un arco del camino que une N con la raz est a etiquetado por el literal P,
ning un valor si ni P ni P ocurren en el camino que une N con la raz.
Ejemplo 2.4 El arbol de la Figura 2.1 es un arbol sem antico respecto a = {P(a), P(b), Q(a, b)}.

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

(que siempre existe, pues 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

= {P(a), Q(a), R(a)} el n umero de interpretaciones de Herbrand


para es 2
3
= 8 y el conjunto de instancias b asicas es:

= {P(a) Q(a), Q(a) R(a), P(a), R(a)}


Por lo tanto, podemos aplicar el metodo de Quine obteniendo el arbol sem antico:
a
a
a
a
a
a
a
a
a
R(a) R(a)
I
2
H
(A) =? H
H
H
H
H
H
H
!
!
!
!
!
!
!
!
!

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

se denomina nodo fallo si la interpretacion parcial


de Herbrand I
H
asociada a N es tal que I(C
b
i
) = 0 para alguna instancia b asica de una cl ausula
C
i
de , pero ninguna de las interpretaciones parciales de Herbrand asociadas a sus ascendientes
posee esta propiedad.
Un nodo fallo nos proporciona una interpretacion (parcial) de Herbrand I
H
que hace falsa a
. Por lo tanto, no es preciso considerar las extensiones de I. De aqu la denicion siguiente.
Denicion 2.10 Un arbol semantico respecto de = {P
1
, P
2
, . . . , P
n
, . . .} se dice cerrado si
todas sus hojas son nodos fallo.
Denicion 2.11 Un nodo N de un arbol semantico respecto de la sucesi on de atomos =
{P
1
, P
2
, . . . , P
n
, . . .} se denomina un nodo inferencia si sus dos descendientes inmediatos son
nodos fallo.
64 CAP

ITULO 2. MODELOS DE HERBRAND


Ejemplo 2.6 Dado = {P(x), P(x) Q(f(x)), Q(f(a))}, la gura muestra un arbol
sem antico cerrado para respecto de la sucesion
= {P(a), Q(a), P(f(a)), Q(f(a)), . . .}

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

para . Por otra parte, T

es nito; de no
ser as, por el lema de K onig, existe al menos una rama innita en T

, es decir, sin nodos fallos,


lo cual es imposible.
Inversamente, si a todo arbol sem antico completo T para le corresponde un arbol sem antico
cerrado, entonces toda rama contiene un nodo fallo, es decir, toda interpretacion de Herbrand
falsica a . Por lo tanto, por el Teorema 2.1, es insatisfacible.
El teorema de Herbrand
9
admite otro enunciado equivalente que no utiliza el concepto de
arbol sem antico y que es mencionado habitualmente en la literatura como teorema fundamental
de Herbrand:
9
J. Herbrand. Investigation in proof theory: from Frege to Godel. In J. van Heijenoort, editor, A source book
in mathematical logic, 18791931. Harvard University Press, 1967.
2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L
1
65
Teorema 2.5 Un conjunto de clausulas, , es insatisfacible si y solo si existe un conjunto nito
de instancias b asicas de clausulas de que es insatisfacible.
Demostraci on: Sea insatisfacible y T un arbol sem antico completo para . Por el teorema
anterior, existe un arbol cerrado nito T

asociado a T . Sea

el conjunto de todas las instancias


b asicas de clausulas que son falsas en los nodos fallos de T

es nito por serlo el n umero de


nodos fallos de T

. Por otra parte, puesto que

es falso en toda interpretacion de Herbrand


para

, por el Teorema 2.1,

es insatisfacible.
Inversamente, sea

un conjunto nito de instancias b asicas de clausulas de tal que

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

ITULO 2. MODELOS DE HERBRAND


3. Siguiendo este procedimiento,
Si se obtiene un arbol cerrado, entonces , y por lo tanto , es insatisfacible.
Si se obtiene un arbol en el que alguna de sus hojas est a etiquetada con una etiqueta
de la forma I
i
H
() = 1 entonces , y por lo tanto , es satisfacible.
En denitiva, si es insatisfacible, podemos comprobar su insatisfacibilidad en un n umero nito
de etapas; pero si es satisfacible, el proceso puede no terminar ya que podra tener solo modelos
de Herbrand innitos.
El siguiente ejemplo nos muestra que existen fbfs para las que el an alisis de su satisfacibilidad
requiere un arbol innito.
Ejemplo 2.7 La formula
A =
_
P(a) (x)((P(x) P(f(x))
_
(x)P(x)
es satisfacible. En efecto, (N, {a ; 0}, {f ; {(n, n + 1)}, {P ; R}) es un modelo para A. Sin
embargo, como vamos a ver, A no es valida:
Una forma clausal simult aneamente satisfacible con A es
= {P(a), P(x) P(f(x)), P(b)}
El dominio de Herbrand para es {f
n
(a) | n N}{f
n
(b) | n N}. La base de Herbrand para
es {P(f
n
(a)) | n N} {P(f
n
(b)) | n N}. Por lo tanto existen 2

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

ITULO 2. MODELOS DE HERBRAND


es valido si y solo si el siguiente conjunto es insatisfacible:
{(x)(P(x) (y)(D(y) L(x, y))),
(x)(P(x) (y)(Q(y) L(x, y))),
(x)(D(x) Q(x))}
Este conjunto es insatisfable si y solo si lo es el siguiente conjunto de formulas en forma normal
prenexa:
{(x)(y)(P(x) (D(y) L(x, y))),
(x)(y)(P(x) (Q(y) L(x, y))),
(x)(D(x) Q(x))}
Y este es insatisfacible si y solo si lo es el siguiente conjunto formado por formulas en forma
normal de Skolem:
{(y)(P(a) (D(y) L(a, y))),
(x)(y)(P(x) (Q(y) L(x, y))),
(D(b) Q(b))}
El universo de Herbrand es H
S
= {a, b} y la base de Herbrand
B
S
= {P(a), P(b), Q(a), Q(b), D(a), D(b), L(a, a), L(a, b), L(b, a), L(b, b)}
Construimos el arbol de Gilmore para A
1
A
2
A
3
, en donde
A
1
= (y)(P(a) (D(y) L(a, y))),
A
2
= (x)(y)(P(x) (Q(y) L(x, y))),
A
3
= (D(b) Q(b)).
D(b) D(b)
0 (por A
3
)
Q(b) Q(b)
0 (por A
3
)
P(a) P(a)
0 (por A
1
)
L(a, b) L(a, b)
0 (x = a, y = b en A
2
))
0 (y = b en A
1
))
Ademas del Teorema 2.4, el Teorema 2.1 tiene otras consecuencias muy destacables, como las
que consideraremos en el resto de este captulo que sirven para conrmar la importancia de la
aportaci on de Herbrand.
2.3. MODELOS FINITOS Y MODELOS INFINITOS 69
2.3. Modelos Finitos y Modelos Innitos
Un an alisis supercial de la sem antica de la logica de primer orden, nos podra llevar a la
conclusion de que al considerar interpretaciones con dominios de mayor cardinal, aumentamos
la posibilidad de encontrar modelos para una formula.
Podramos realizar este an alisis a traves de los siguientes ejemplos:
1. La formula (x)P(x) (x)P(x) no tiene ning un modelo cuyo dominio conste de un solo
elemento, pero es facil dar ejemplos de modelos cuyos dominios constan de dos elementos.
2. La formula (x)(P(x)Q(x))(x)(P(x)Q(x))(x)(P(x)Q(x)) no tiene ning un
modelo cuyo dominio conste de dos elementos, pero es facil dar ejemplos de modelos cuyos
dominios constan de tres elementos.
3. Podramos seguir dando ejemplos de fbfs que no tienen modelos cuyo dominio conste de
n elementos, pero para las que es facil dar modelos cuyos dominios consten de n + 1
elementos.
4. Analogamente, el conjunto de fbfs
{(x)(y)R(x, y), (x)R(x, x), (x)(y)(z)((R(x, y) R(y, z)) R(x, z))}
no tiene ning un modelo nito pero es facil dar ejemplos de modelos cuyo dominio es N.
El siguiente paso sera dar una formula que no tiene ning un modelo innito numerable, pero
para la que existen modelos cuyo dominio es de cardinal innito no numerable. Como veremos,
el teorema de L owenheim nos previene de este error: solo hemos de claricar si una fbf (o un
conjunto de fbfs) es satisfacible o no. En caso de ser satisfacible, como veremos en esta secci on
(Teorema 2.7), podemos asegurar que tiene un modelo a lo sumo innito numerable.
Denicion 2.12 Un conjunto de formulas de L
1
se dice que tiene la propiedad de modelo
finito si cumple que
es satisfacible si y solo si existe un modelo (U, I) para con U nito
Teorema 2.6 Todo conjunto nito de formulas en forma prenexa de la forma
(x
1
) . . . (x
n
)(y
1
) . . . (y
k
)M(x
1
, . . . , x
n
, y
1
, . . . , y
k
)
(en la que no intervienen smbolos de funcion) tiene la propiedad de modelo nito.
Demostraci on: Basta considerar el Teorema 2.1 y que el universo de Herbrand para el conjunto
de clausulas simult aneamente insatisfacible con generado por el procedimiento introducido en
la Secci on 1.4 es nito.
En cuanto a los modelos innitos, tenemos los resultados siguientes.
Teorema 2.7 (de Lowenheim) Si una formula A es satisfacible entonces tiene un modelo
numerable.
70 CAP

ITULO 2. MODELOS DE HERBRAND


Demostraci on: Basta considerar una forma clausal simult aneamente satisfacible a A y apli-
car el Teorema 2.1, que asegura la existencia de un modelo de Herbrand que es obviamente
numerable.
Teorema 2.8 (de Lowenheim-Skolem) Si un conjunto de formulas es satisfacible enton-
ces admite un modelo numerable
Demostraci on: Puesto que todo lenguaje de primer orden es numerable, cualquier conjunto
considerado es numerable. Si es innito numerable, sea = {A
i
| i N}, podemos considerar
para cada formula A
i
una forma clausal
i
simult aneamente satisfacible con A
i
y tal que los
conjuntos de constantes y de funciones de Skolem asociados a ellas son disjuntos dos a dos. Por lo
tanto, podemos considerar el conjunto = {
i
| i N} que es simult aneamente satisfacible con
. Ahora, el Teorema 2.1 asegura la existencia de un modelo de Herbrand, que es obviamente
numerable.
2.3.1. Compacidad
Como un corolario destacado m as, en esta secci on estudiamos el teorema de compacidad, que
caracteriza la satisfacibilidad de un conjunto innito de formulas.
Teorema 2.9 (de compacidad) Un conjunto de fbfs de L
1
, , es satisfacible si y solo si es
nitamente satisfacible, es decir, todo subconjunto nito es satisfacible.
Demostraci on: Si es satisfacible entonces, obviamente, es nitamente satisfacible.
Inversamente, supongamos que es nitamente satisfacible. Entonces, es satisfacible,
ya que, en caso contrario, por el teorema fundamental de Herbrand, si
b
es el conjunto de
instancias b asicas de los elementos de , existira un subconjunto nito de
b
insatisfacible.
Sea este conjunto
b
y sea el subconjunto de tal que toda clausula en
b
es una instancia
b asica de una clausula de . Puesto que
b
es nito, es tambien nito y, por la hip otesis de
satisfacibilidad nita de , se tiene que es satisfacible.
Ahora, por el Teorema 2.1, el conjunto
b
de instancias b asicas de es tambien satisfacible.
Finalmente, puesto que
b

b
, se tiene que
b
es satisfacible, contra la hip otesis de partida
sobre este conjunto.
Como en el caso proposicional, se tiene el siguiente resultado que es una versi on equivalente del
teorema de compacidad.
Teorema 2.10 |= A si y solo si existe un subconjunto nito
0
de tal que
0
|= A.
En la Secci on 2.2 hemos hecho referencia a la equivalencia del problema de la decidibilidad
para L
1
y el problema de la parada referente a las m aquinas de Turing. Terminaremos este
captulo estableciendo una nueva relaci on con el problema de la decidibilidad para L
1
, esta vez
con el problema de convergencia de Post.
2.4. INDECIDIBILIDAD DE L
1
71
2.4. Indecidibilidad de L
1
El problema siguiente se conoce como problema de la correspondencia de Post:
Dada una secuencia [(a
1
, b
1
), . . . , (a
k
, b
k
)] de pares de palabras no vacas sobre el
alfabeto {0, 1}, encontrar una secuencia de ndices [i
1
, . . . , i
n
] tal que a
i
1
. . . a
in
=
b
i
1
. . . b
in
.
A una secuencia de este tipo se le denomina una solucion del problema de correspondencia
[(a
1
, b
1
), . . . , (a
k
, b
k
)].
Ejemplo 2.11 Para el problema de correspondencia
[(1, 101), (10, 00), (011, 11), (1001, 111)]
una soluci on es la secuencia 1, 3, 2, 3 ya que a
1
a
3
a
2
a
3
= 101110011 = b
1
b
3
b
2
b
3
Teorema 2.11 (de Post) El problema de la correspondencia de Post es indecidible, es decir,
no existe ning un algoritmo que, dado como entrada un sistema de correspondencia
[(a
1
, b
1
), . . . , (a
k
, b
k
)]
termine con salida SI, si el sistema tiene solucion, y con salida NO, si el sistema no tiene
solucion.
Denicion 2.13 Sean
1
y
2
dos conjuntos de palabras sobre un alfabeto nito . Decimos
que
1
es reducible a
2
si existe una aplicaci on :

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

ITULO 2. MODELOS DE HERBRAND


2.5. Ejercicios
1. Dado un lenguaje de primer orden L
1
con signatura ({c}, , {P}), donde P es un smbolo de
predicado monario, determinar su universo de Herbrand, H
L1
.
2. Sea A(x
1
, . . . , x
n
) una fbf en la que no intervienen ni smbolos de funci on ni smbolos de cuanti-
cacion. Demostrar que (x
1
) . . . (x
n
)A(x
1
, . . . , x
n
) tiene un modelo si y solo si tiene un modelo
cuyo dominio consta de un unico elemento.
3. Dada la formula A = (x)(P(x) (y)P(y)),
a) Hallar un conjunto de clausulas, , simult aneamente satisfacible con A.
b) Hallar H

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

para un conjunto de clausulas simult aneamente satisfacible con el conjunto de fbfs


{(z)((y)(y > z) (x)(x
2
> 3)), (x)(y)(y = x
2
)}
6. Hallar B

para un conjunto de clausulas equisatisfacible con la formula A, siendo


A = (x)(y)(z)
_
(P(x, y) P(y, z)) Q(x, z)
_

_
(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

ITULO 2. MODELOS DE HERBRAND


16. Dada la formula A = (x)(P(x) (y)P(y)), halle un conjunto de formulas en forma normal de
Skolem tal que sea satisfacible si y solo si lo es A. Determine el universo y la base de Herbrand
de y estudie la satisfacibilidad y la validez de A utilizando el metodo de Gilmore.
17. Estudie la validez de la siguientes inferencias utilizando el metodo de Gilmore:
a)
_
_
_
(x)(P(x) (y)(D(y) L(x, y)))
(x)(P(x) (y)(Q(y) L(x, y)))
(x)(D(x) Q(x))
b)
_
_
_
(x)(y)(z)((P(x, y) P(y, z)) A(x, z))
(x)(y)P(y, x)
(x)(y)A(y, x)
Captulo 3
Sistemas Deductivos para L
1
En este captulo introducimos la extension a la logica de primer orden de los sistemas de-
ductivos considerados para la logica proposicional en el primer volumen. Concretamente, estu-
diaremos:
un sistema axiomatico para L
1
, y
un sistema de deduccion natural para L
1
.
Puesto que, como hemos analizado, la logica de primer orden es una extension de la logica
proposicional, tan solo requeriremos (en ambos casos) a nadir a los axiomas y/o reglas de infe-
rencias de los sistemas proposicionales nuevos axiomas y/o reglas de inferencias para regir el
comportamiento de los cuanticadores.
3.1. Un sistema axiomatico para L
1
Del mismo modo que en el caso proposicional, escogeremos para L
1
el sistema debido a
Lukasiewicz al que denotaremos L
1
. Este sistema es correcto y completo y estas dos propiedades
las tendremos presentes en todo el desarrollo de la secci on.
Axiomas:
Ax 1. A (B A)
Ax 2. (A (B C)) ((A B) (A C))
Ax 3. (A B) (B A)
Ax 4. (x)A(x) A(t), donde t es libre para x en A(x).
Ax 5. (x)(A B(x)) (A (x)B(x)), donde x / V
libre
(A).
76 CAP

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
ee r r
Advirtamos, en relacion con los nuevos axiomas introducidos, que:
Los tres primeros axiomas son los axiomas del sistema de Lukasiewicz para la logica
proposicional.
(x)(P(x) Q(x)) (P(x) Q(t)) no es una instancia del Axioma 4, ya que la
sustitucion de x por t no se ha realizado correctamente.
(x)(y)P(x, y) (y)P(y, y) no es una instancia del Axioma 4, porque y no es libre
para x en (y)P(x, y).
Si en el Axioma 4 consideramos t = x tenemos como esquema de axiomas
(x)A(x) A(x)
Reglas de inferencia:
Modus Ponens (MP):
A, A B
B
Generalizacion (Gen):
A
(x)A
ee r r
Es importante advertir la diferencia entre el Axioma 4 y la regla de generalizaci on: El
Axioma 4 asegura que de (x)A(x) se inere en un unico paso A(t) (si t es libre para
x en A(x)), por su parte, la regla de generalizaci on (puesto que L
1
es, como veremos,
correcto) recoger a el hecho de que si A es valida entonces tambien lo es (x)A(x) .
Veamos que la restriccion en el Axioma 4 es necesaria: Si no exigimos que t sea libre
para x en A(x), la fbf siguiente sera un axioma
(x)(y)P(x, y) (y)P(y, y)
Sin embargo, esta fbf no es valida; para comprobarlo, consideremos una interpretaci on
(U, I) cuyo dominio U tenga al menos dos elementos y tal que I(P) = {(u, u

) UU |
u = u

}, entonces se tiene que I((x)(y)P(x, y)) = 1 y se tiene que I((y)P(y, y)) = 0.


Por lo tanto, el sistema no sera correcto ya que no todos los axiomas seran fbfs validas.
Analogamente, si quitamos la restriccion en el Axioma 5 de que x no sea una variable
libre en A, tendramos como axioma, por ejemplo, la fbf
(x)(P(x) P(x)) (P(x) (x)P(x))
Pero esta fbf no es valida. En efecto, en la interpretaci on (U, I) con dominio U = Z y
tal que I(P) =ser par , se tiene I((x)(P(x) P(x))) = 1; sin embargo, I(P(x)
(x)P(x)) = 1 ya que, si tomamos la asignacion de variables denida por (x) = 2
para todo smbolo de variable x, se tiene I

(P(x)) = 1 y si tomamos la asignacion de


variables

denida por

(x) = 3 y

(y) = 2 para todo smbolo de variable y = x,


tenemos que I

((x)P(x)) = 0 y I

(P(x) (x)P(x)) = 0. Por lo tanto, el sistema no


sera correcto.
Denicion 3.1 Una fbf A se dice que es un teorema de L
1
, si existe una secuencia nita de
fbfs, A
1
, A
2
, . . . , A
n
tal que:
Cada A
i
, donde 1 i n, es un axioma, 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.
3.1. UN SISTEMA AXIOM

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

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
- Para los smbolos proposicionales que no intervienen en B, las mismas que las realizadas
para obtener A a partir de B.
- Para los smbolos proposicionales que no intervienen en B, la sustitucion de este smbolo
por una fbf arbitraria de L
1
.
De esta forma, obtenemos una demostracion de A en L
1
en la que solo se utilizan Ax.1, Ax.2,
Ax.3 y (MP).
Como consecuencia del teorema anterior, disponemos de un extenso conjunto de teoremas, el
conjunto de todos los esquemas de formulas validas de L.
3.1.1. El Teorema de la Deducci on
Como en la logica proposicional, desearamos disponer en L
1
de un teorema de la deduccion,
(como herramienta fundamental para facilitar las demostraciones).
A un con ciertas restricciones, el resultado disponible en el caso proposicional:
Si , A B entonces A B
es tambien cierto en el sistema L
1
. Las restricciones (necesarias como nos muestra el siguiente
ejemplo) habran de ser impuestas, como era de esperar, en el uso de la regla de generalizaci on.
Ejemplo 3.2 Si no imponemos restricciones, puesto que tenemos A (x)A, el teorema de
la deduccion permitira concluir que A (x)A. Claramente, no deseamos esto, ya que el
esquema A (x)A no es un esquema valido.
En efecto, sea A = P(x) y sea (U, I) una interpretacion con U = Z, I(P) = es igual a 0 ,
veamos que P(x) (x)P(x) no es verdadera en esta interpretacion; para ello basta encontrar
una asignaci on de variables, , tal que I

(P(x) (x)P(x)) = 0. Podemos considerar tal


que (x) = 0, con lo que I

(P(x)) = 1. Por otra parte existen valuaciones

x-equivalentes a
tales que I

(P(x)) = 0. Por lo tanto, I

((x)P(x)) = 0 y I

(P(x) (x)P(x)) = 0. As pues


P(x) (x)P(x) no es valida.
Pasemos ya a enunciar el teorema de la deduccion disponible en L
1
:
Teorema 3.2 (de la deduccion) Si {A} B y en la deducci on de B no se utiliza la
regla de generalizacion con respecto a ninguna variable libre de A, entonces A B. En
particular:
Si A es una fbf cerrada y {A} B, entonces A B.
Demostraci on: Lo demostramos por induccion sobre la longitud m de la deduccion de B a
partir de {A}.
Para m = 1: B es un axioma o bien B = A o bien B y demostramos que A B
siguiendo paso a paso la demostracion del caso proposicional.
Paso inductivo: Supongamos m > 1 y que el resultado es cierto para k < m, es decir, si C es una
fbf y {A} C y en su deduccion, de longitud k < m, no se utiliza la regla de generalizaci on
con respecto a variables libres en A, entonces A C.
3.1. UN SISTEMA AXIOM

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

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
Demostraci on: La demostracion es la misma que en el caso proposicional.
Los siguientes ejemplos ilustran el uso del teorema de la deduccion para probar dos teoremas
del sistema L
1
.
Ejemplo 3.3 Veamos que la fbf (A (x)B) (x)(A B) es un teorema de L
1
. Conside-
remos la siguiente deduccion:
(1) A (x)B Hip.
(2) (x)B B Ax.4
(3) A B SH(1,2)
(4) (x)(A B) Gen(3)
Hemos probado que A (x)B (x)(A B). Puesto que x no es libre en (x)(A B),
aplicando el teorema de la deduccion se concluye que la formula (A (x)B) (x)(A B)
es un teorema.
Ejemplo 3.4 Veamos que la fbf (x)(A B) ((x)A (x)B) es un teorema.
(1) (x)(A B) Hip.
(2) (x)A Hip.
(3) (x)(A B) (A B) Ax.4
(4) A B MP(1,3)
(5) (x)A A Ax.4
(6) A MP(2,5)
(7) B MP(4,6)
(8) (x)B Gen(7)
Hemos probado que (x)(A B), (x)A (x)B. Como (x)A es cerrada, por el teorema de
la deduccion se tiene (x)(A B) (x)A (x)B. Aplicando nuevamente el teorema de la
deduccion, concluimos la prueba de que la formula (x)(A B) ((x)A (x)B) es un
teorema.
Ejemplo 3.5 Veamos que la fbf (x)(y)A(x, y) (y)(x)A(x, y) es un teorema:
(1) (x)(y)A(x, y) Hip.
(2) (x)(y)A(x, y) (y)A(x, y) Ax.4
(3) (y)A(x, y) MP(1,2)
(4) (y)A(x, y) A(x, y) Ax.4
(5) A(x, y) MP(3,4)
(6) (x)A(x, y) Gen(5)
(7) (y)(x)A(x, y) Gen(6)
Por lo tanto, (x)(y)A(x, y) (y)(x)A(x, y). Como (x)(y)A(x, y) es cerrada, por el teore-
ma de la deduccion se tiene
(x)(y)A(x, y) (y)(x)A(x, y)
3.1. UN SISTEMA AXIOM

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

x-equivalente a , se tiene que I

(A(x)) = 1. En particular,
podemos elegir

de modo que

(x) = (t). Por lo tanto, por ser t libre para x en A, I

(A(t)) = 1
y, consecuentemente, I

((x)A(x) A(t)) = 1. As pues, I((x)A(x) A(t)) = 1.


El Axioma 5 es valido: Es inmediato ya que, puesto que si una variable x no es libre en A, se
tiene que (x)(A B(x)) (A (x)B(x)).
Por ultimo, es obvio que tanto (MP) como (Gen) respetan la validez, es decir:
- Si A y A B son validas, B tambien es valida.
- Si A es valida, entonces (x)A es valida.
Finalmente, probada la validez de los axiomas y que las reglas de inferencia preservan la validez,
mediante un argumento inductivo muy sencillo terminamos la demostracion de que todo teorema
de L
1
es una fbf valida.
Teorema 3.5 (Completitud de L
1
) Toda fbf v alida es un teorema de L
1
, es decir
Si |= A entonces A
La primera demostracion de la completitud de un sistema de demostracion para la logica de
primer orden fue dada por G odel en 1930 en su Tesis Doctoral. De aqu que este resultado sea
citado en la bibliografa como el Teorema de Completitud de G odel. Posteriormente, en 1949,
Henkin aport o otra demostracion.
La demostracion de este teorema escapa a los objetivos de este libro
1
En su lugar demostra-
remos una propiedad m as debil:
Teorema 3.6 (de consistencia) L
1
es consistente, es decir, no existe ninguna formula A tal
que A y A.
1
El lector interesado puede encontrarla en E. Mendelson. Introduction to Mathematical Logic. Wadsworth &
Brook/Cole, third edition, 1987.
82 CAP

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
Demostraci on: Consideremos la funcion
h : L
1
L
prop
denida como sigue: Para cada formula A de L
1
, h(A) es la formula de la logica clasica proposi-
cional, L
prop
, obtenida al eliminar en A todos los cuanticadores y todos los terminos y adem as
sustituir los smbolos de predicado por el correspondiente smbolo en min uscula de L
prop
(junto
con la eliminaci on de las comas y parentesis asociados a los cuanticadores, terminos y atomos).
Por ejemplo:
h(P(f(x)) (Q(x, a) R(x, z))) ; p (q r)
Veamos que si A es un teorema de L
1
, entonces h(A) es una tautologa de L
prop
. Para ello
tendremos probar que:
- h(A) es una tautologa para todo axioma de de L
1
- Si aplicamos una regla de inferencia a fbfs tales que sus im agenes por h son tautologas,
entonces la imagen por h de la fbf proporcionada por la regla de inferencia tambien es una
tautologa:
Para los esquemas de Axiomas 1, 2 y 3 es inmediato ya que en ellos no intervienen smbolos
de cuanticaci on.
h((x)(A(x) A(t))) = a ;a, es valida en L
prop
.
h((x)(A B(x)) (A (x)B(x))) ;(a b) (a b), es valida en L
prop
.
Si h(A) y h(A B) son tautologas, puesto que h(A B) = h(A) h(B), se tiene que
h(B) es una tautologa.
Si h(A) es una tautologa, h((x)A) ;h(A) es una tautologa.
Ahora es inmediato probar que L
1
es consistente. En caso contrario, existira una fbf A tal que
A y A y por lo tanto, puesto que h(A) = h(A) se tendra que h(A) y h(A) seran
tautologas en L
prop
, lo cual es imposible.
Por ultimo, y por argumentos an alogos a los utilizados en el caso proposicional, es decir, los
teoremas de correcci on y completitud, el teorema de compacidad y teorema de la deduccion, se
tiene el resultado siguiente.
Teorema 3.7 Dados un conjunto de fbfs cerradas y una fbf cerrada A,
|= A si y solo si A
3.2. DEDUCCI

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

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
Como en todo sistema de deduccion natural, DN, introducimos la denicion siguiente:
Denicion 3.3 Dado un conjunto, , de fbfs, se dice que una formula A es deducible o
derivable de , denotado
DN
A, si existe una secuencia nita de fbfs, A
1
, A
2
, . . . , A
n
, tal
que:
Cada A
i
, donde 1 i n, es una formula de o se obtiene de formulas anteriores de la
secuencia mediante la aplicaci on de alguna regla de inferencia.
A
n
es A.
La secuencia A
1
, . . . , A
n
se dice que es una deducci on o derivacion tipo Gentzen de A
a partir de .
Denicion 3.4 Una formula A es un teorema si es derivable desde el conjunto vaco de formu-
las. Escribiremos
DN
A para expresar que A es un teorema.
Consideraremos un sistema de deduccion natural que es extension del dado para la logica
proposicional y que, es asimismo correcto y completo. Como para el sistema axiomatico de
Lukasiewicz, no demostraremos la completitud.
2
.
Las reglas de introducci on y de eliminaci on para los conectivos booleanos son las mismas
que en el caso proposicional, es decir:
(, i)
A
B
A B
(, e
1
)
A B
A
(, e
2
)
A B
B
(, i)
A
B
A B
(, e)
A
A B
B
(, i
1
)
A
A B
(, i
2
)
B
A B
(, e)
A B
A
C
B
C
C
(, i)
B
A
B
A
(e)
A
A
Disponemos adem as de reglas de introducci on y eliminaci on de cada uno de los cuanticadores:
2
El lector interesado puede encontrarla en el libro: W. Hodges. Elementary predicate logic. In D. Gabbay and
F. Guenthner, editors. Handbook of Philosophical Logic, volume 1. Kluwer Academic Press, 1983. Reimpresion
en 1994.
3.2. DEDUCCI

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

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
Ejemplo 3.7 Demostramos que
DN
(x)(y)P(x, y) (y)(x)P(x, y)
1. Subderivacion
(1.1) (x)(y)P(x, y) hip otesis
(1.2) (y)P(x, y) (1.1) y (, e)
(1.3) P(x, y) (1.2) y (, e)
(1.4) (x)P(x, y) (1.3) y (, i)
(1.5) (y)(x)P(x, y) (1.4) y (, i)
2. (x)(y)P(x, y) (y)(x)P(x, y) (1) y (, i)
Ejemplo 3.8 Demostramos que (x)(P(x) Q(x))
DN
(x)P(x) (x)Q(x)
1. (x)(P(x) Q(x)) hip otesis
2. P(x) Q(x) (1) y (, e)
3. P(x) (2) y (, e)
4. Q(x) (2) y (, e)
5. (x)P(x) (3) y (, i)
6. (x)Q(x) (4) y (, i)
7. (x)P(x) (x)Q(x) (5) y (6) y (, i)
Ejemplo 3.9 Demostramos que (x)(P(x) Q(x))
DN
(x)P(x) (x)Q(x)
1. (x)(P(x) Q(x)) hip otesis
2. Subderivacion
(1.1) (x)P(x) hip otesis Adicional
(1.2) P(x) Q(x) (1) y (, e)
(1.3) P(x) (1.1) y (, e)
(1.4) Q(x) (1.2), (1.3) y (, e)
(1.5) (x)Q(x) (1.4) y (, i)
3. (x)P(x) (x)Q(x) (2) y (, i)
Si no nos aseguramos de las restricciones impuestas a x en la regla (, i), podemos llegar a
conclusiones err oneas como nos muestra el siguiente ejemplo.
3.2. DEDUCCI

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

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
no ocurre libre en ninguna hip otesis.
no ocurre libre en las hip otesis adicionales de la subderivaciones a un no nalizadas nece-
sarias para derivar B (salvo en A(x)).
x no ocurre libre en B
Estas restricciones aseguran que x representa un elemento arbitrario, es decir, con esta regla
recogemos el siguiente tipo de razonamiento:
Si sabemos que existe un elemento que es A y que el hecho de que un elemento
arbitrario sea A nos asegura B, entonces podemos armar B.
La correcci on de esta regla requiere probar que (A(x) B) ((x)A(x) B) es valida, es
decir, que (x)(A(x) B) ((x)A(x) B) es valida, lo cual es de comprobacion inmediata
a partir de la denicion de la sem antica.
Ejemplo 3.12 (x)(P(x) Q(x)), (x)P(x)
DN
(x)Q(x)
1. (x)(P(x) Q(x)) hip otesis
2. (x)P(x) hip otesis
3. Subderivacion
(3.1) P(x) hip otesis adicional
(3.2) P(x) Q(x) (1) y (, e)
(3.3) Q(x) (3.1), (3.2) y (, e)
(3.4) (x)Q(x) (3.3) y (, i)
4. (x)Q(x) (2), (3) y (, e)
Ejemplo 3.13
DN
(x)P(x) (x)P(x)
1. Subderivacion
(1.1) (x)P(x) hip otesis adicional
(1.1) P(x) (1.1) y (, e)
(2.2) (x)P(x) (1.2) y (, i)
2. (x)P(x) (y)P(x) (1) y (, i)
Como en los sistemas axiomaticos podemos introducir Reglas derivadas:
3.2. DEDUCCI

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

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
Ejemplo 3.14 Comprobemos que
DN
(x)(P(x) P(x))
1. Subderivacion
(1.1) P(x) hip otesis adicional
(1.2) P(x) (1.1) y Rep
2. P(x) P(x) (1) y (, i)
3. Subderivacion
(3.1) P(x) P(x) hip otesis adicional
(3.2) (P(x) P(x)) (3.1) y regla derivada de L
4. (P(x) P(x)) (2), (3) y (, i)
5. (x)(P(x) P(x)) (2) y (, i)
6. (x)(P(x) P(x)) (3) y (N)
3.3. Teoras de Primer Orden
En la pr actica, la logica de primer orden rara vez se usa en toda su generalidad. La mayora de
las veces estamos interesados en razonamientos sobre dominios particulares; y al pronunciarnos
sobre aspectos formales de un determinado tipo de dominios, se requiere un lenguaje de primer
orden con solo un n umero reducido de constantes individuales, de letras de funcion y de letras
de predicado. Este hecho se recoge formalmente con la nocion de teora de primer orden, cuyo
objetivo no es m as que la adaptaci on de la logica de primer orden a dominios especcos. Estos
dominios pueden ser m as o menos abstractos: dominios de la Fsica, de la Astronoma, de la
Filosofa, etc. De este modo, la logica de primer orden usada en toda su generalidad describe lo
que tienen en com un todos estos dominios.
Comenzamos introduciendo este concepto sem anticamente.
Denicion 3.5 Una teor a de primer orden es un conjunto T de fbfs cerradas en un len-
guaje de primer orden L
1
tal que:
1. T es satisfacible.
2. T es cerrado para la relaci on de consecuencia logica, es decir, si A L
1
y T |= A entonces
A T .
Teorema 3.8 Sea I
0
un conjunto no vaco de interpretaciones para un lenguaje de primer orden
L
1
y sea F
I
0
el conjunto de fbfs en L
1
tales que toda interpretacion (U, I) I
0
es un modelo de
F
I
0
. Entonces F
I
0
es una teora de primer orden.
3.3. TEOR

IAS DE PRIMER ORDEN 91


Demostraci on: Por denicion, F
I
0
es satisfacible ya que toda interpretacion (U, I) I
0
es
un modelo de F
I
0
.
Si F
I
0
|= A se tiene que toda interpretacion (U, I) I
0
es un modelo para la formula A, por
lo tanto A F
I
0
.
Denicion 3.6 Si I
0
es un conjunto no vaco de interpretaciones para un lenguaje de primer
orden L
1
, llamamos a F
I
0
la teor a de primer orden para I
0
.
Intuitivamente, podemos pensar en una teora como en el conjunto de todas las armaciones
que deseamos realizar sobre alg un fenomeno. En la pr actica este conjunto es m as facil de manejar
si destacamos un subconjunto consistente en las armaciones m as signicativas y desde las que
pueden ser derivadas el resto de las armaciones. Este es el objetivo de las teoras axiomaticas
de primer orden que pasamos a describir.
Denicion 3.7 Una teor a axiomatica de primer orden T consta de:
1. Un lenguaje de primer orden (usualmente con un n umero reducido de constantes indivi-
duales, de letras de funcion y de letras de predicado).
2. Los esquemas de axiomas del sistema de Lukasiewicz L
1
, llamados axiomas logicos, que
son independientes de la signatura especca y que, como hemos analizado, son v alidos en
toda interpretacion M.
3. Un conjunto nito de axiomas o esquemas de axiomas llamados axiomas propios que son
fbfs cerradas v alidas en determinadas interpretaciones.
- Las reglas de inferencia (MP) y (Gen) del sistema L
1
.
Una teora de primer orden sin axiomas propios se denomina un c alculo de predicados de
primer orden. Por lo tanto, el calculo de predicados es universal en el sentido de que sus axiomas
y reglas de inferencia son comunes a todas las teoras de primer orden.
Denicion 3.8 Un modelo para una teora axiom atica de primer orden T , es una interpreta-
cion para la que todos los axiomas de T son v alidos.
Puesto que las reglas de inferencia (MP) y (Gen) respetan la validez, podemos armar que:
Todo teorema de una teor a de 1
er
orden, T , es valido en todo modelo de T .
Denicion 3.9 Sea I
0
es un conjunto no vaco de interpretaciones para un lenguaje de primer
orden L
1
. Una teora axiom atica T de primer orden axiomatiza completamente a F
I
0
o es
completa respecto a F
I
0
si

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

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
El unico smbolo de predicados es un smbolo de predicado binario, denotado <, que
usaremos en notaci on inja.
En consecuencia, el lenguaje es muy simple:
Los unicos terminos son las variables.
Todos los atomos son de la forma x < y, donde x e y son smbolos de variables.
La sem antica de < se recoge mediante los siguientes axiomas propios:
Ax.1 (x)(x < x) Irreexiva
Ax.2 (x)(y)(z)
_
(x < y y < z) x < z
_
Transitiva
Un modelo para esta teora se denomina estructura de orden parcial estricto.
3.3.1. Teoras con Igualdad
Llamamos teora de primer orden con igualdad, y la denotamos T
=
, a toda teora de primer
orden que satisfaga las dos condiciones siguientes:
1. Incluye en su signatura un smbolo de predicado binario al que se denota E y cuyo sig-
nicado se pretende que sea la identidad, es decir, que toda interpretacion M = (U, I) le
asigne como signicado
I(E) = {(u, u) | u U}
Por lo tanto, E es un smbolo de predicado con un car acter especial, ya que no le ocurre
como a los smbolos de predicados utilizados hasta ahora en nuestro desarrollo, cuyo signi-
cado vara de una a otra interpretacion; muy al contrario, su comportamiento es similar
al de los smbolos , , , . . . , es decir es una constante logica.
2. Para recoger la sem antica de E, esta teora dispone de los siguientes axiomas propios:
(E
1
) (x)E(x, x) reexiva
(E
2
) (x)(y)(E(x, y) E(y, x)) simetrica
(E
3
) (x)(y)(z)((E(x, y) E(y, z)) E(x, z)) transitiva
(E
4
) E(t, u) E(f(t
1
, . . . , t
i1
, t, t
i+1
, . . . , t
n
), f(t
1
, . . . , t
i1
, u, t
i+1
, . . . , t
n
)), donde f es
un smbolo de funcion n-ario y t, u, t
1
, . . . , t
n
son terminos.
(E
5
) E(t, u) (P(t
1
, . . . , t
i1
, t, t
i+1
, . . . , t
n
) P(t
1
, t
i1
, u, t
i+1
, t
n
)), donde P es un
smbolo de predicado n-ario y t, u, t
1
. . . , t
n
son terminos.
Sin embargo, como nos muestra el siguiente ejemplo, los axiomas (E
1
)(E
5
) no garantizan que
en todo modelo de T
=
la interpretacion de E sea la identidad sino tan solo una relaci on de
equivalencia .
Ejemplo 3.16 Consideremos el lenguaje de primer orden cuya signatura consiste en un smbolo
de funcion binario f y un smbolo de predicado binario E. Consideremos la interpretacion
M = (Z, , {f ;+}, {E ;
2
})
donde
2
denota la relaci on congruencia m odulo 2 en Z (es decir, x
2
y si y solo si x y es
m ultiplo de 2). Esta interpretacion es un modelo para todos los axiomas (E
1
)(E
5
). En efecto:
3.3. TEOR

IAS DE PRIMER ORDEN 93


(E
1
) (x)(x
2
x)
(E
2
) (x)(y)(x
2
y y
2
x)
(E
3
) (x)(y)(z)
_
(x
2
y y
2
z) x
2
z
_
(E
4
) t
2
u ((x +t)
2
(x +u))
(E
5
) t
2
u (x
2
t x
2
u)
Denicion 3.10 Un modelo M = (U, I) de una teora de primer orden con igualdad T
=
en el
que la interpretacion de E es la identidad de U se dice que es un modelo normal.
Teorema 3.9 Si T
=
es una teora de primer orden con igualdad que es consistente, entonces
T
=
tiene un modelo normal.
Demostraci on: Puesto que T
=
es consistente, debe tener un modelo M = (U, I). Puesto que
Msatisface (E
1
), (E
2
) y (E
3
), se tiene que I(E) es una relaci on de equivalencia en U. Denotemos
por [u] la clase de equivalencia a la que pertenece d. Consideremos la interpretacion (U/I(E), I

)
donde
1. I

(a) = [I(a)] para cada smbolo de constante a.


2. 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

(E) es la identidad en U/I(E); por lo tanto, es un modelo normal para T


=
.
En adelante usaremos = para E y = para E.
En las teoras de primer orden con igualdad, podemos ampliar la potencia expresiva del
lenguaje: Hasta ahora disponamos del smbolo de cuanticaci on para expresar que todos los
individuos de un dominio poseen cierta propiedad o est an en una cierta relaci on y del smbolo de
cuanticaci on para expresar que al menos un individuo de un dominio posee cierta propiedad
o est a en una cierta relaci on. En una teora de primer orden con igualdad podemos expresar:
existe exactamente 1 individuo que es P :
(x)
_
P(x) (y)(P(y) (y = x))
_
hay al menos dos individuos tales que poseen la propiedad P :
(x)(y)(P(x) P(y) (x = y))
existen exactamente 2 individuos que poseen la propiedad P
(x)(y)
_
P(x) P(y) y = x (z)(P(z) ((z = x) (z = y)))
_
hay a lo sumo 2 individuos tales que P
94 CAP

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
(x)(y)(z)
_
(P(x) P(y) P(z)) ((x = y) (y = z) (x = z))
_
hay al menos tres individuos tales que poseen la propiedad P :
(x)(y)(z)(P(x) P(y) P(z) (x = y) (x = z) (y = z))
As podemos seguir tanto como deseemos.
ee r r
En la denicion de la semantica de la logica de primer orden (con o sin igualdad) hemos
supuesto que dado un modelo (U, I), la interpretaci on de todo smbolo de funci on (si existe)
es una funci on total, es decir, si f es un smbolo de funci on n-aria, I(f) est a denida para
toda n-upla (u
1
, . . . , u
n
) U
n
Que ocurre con las funciones parciales que con frecuencia son
requeridas? Podramos optar por extender la denicion para contemplar funciones parciales,
pero esta opcion acarrea no pocas complicaciones. Por ello, la opcion mas adecuada es utilizar
smbolos de relaciones, en lugar de smbolos de funci on para representar funciones parciales
y a nadir un axioma que asegure que se trata de una funci on. As, por ejemplo, si queremos
formalizar la funci on vivienda habitual, podemos usar un smbolo de predicado binario,
V (x, y), ledo la vivienda habitual de x es y y, para asegurar que cada individuo tiene una
sola vivienda habitual, a nadir el axioma
(x)(y)(z)
_
(V (x, y) V (x, z)) y = z
_
Un modo alternativo de tratar esta cuestion es a nadir un elemento al universo U, y con-
templar que,
para toda funci on n-aria : U
n
U, se tiene que (u
1
, . . . , u
n
) = , si u
i
= para
alg un i tal que 1 i n.
para todo predicado n-ario P U, se tiene que (u
1
, . . . , u
n
) P, si u
i
= para alg un i
tal que 1 i n.
para toda valuacion de variables , se tiene que (x) = para toda variable x V.
Con esta opcion, si f es un smbolo de funci on monaria e I(f) : U U es la funci on que
asigna a cada u U su vivienda habitual, expresamos que Luis no tiene vivienda habitual
por la fbf (x)(f(Luis) = x)
3.4. Algunas Teoras de Primer Orden con Igualdad
Cadenas: Su signatura contiene
Un smbolo de constante, denotado , para representar la cadena vaca.
Un conjunto numerable de smbolos de constantes para representar los caracteres del al-
fabeto:
{a, b, c, . . . , a
1
, b
1
, c
1
, . . . , a
n
, b
n
, c
n
, . . .}
El smbolo de funcion binario para representar la operaci on de concatenaci on, que usa-
remos en notaci on inja.
Un smbolo de predicado binario para representar la relaci on de subcadena, que usaremos
en notaci on inja.
3.4. ALGUNAS TEOR

IAS DE PRIMER ORDEN CON IGUALDAD 95


El smbolo de predicado binario =, que usaremos en notaci on inja.
La sem antica de y se recoge mediante los siguientes axiomas propios:
1. (x)(x = x)
2. (x)(x x)
3. (x)(y)(x = y (ax = ay))
4. (x)(y)(x = y (xa = ya))
5. (x)(y)(z)(u)((y = zu x z) x y)
6. (x)(y)(z)(u)((y = zu x u) x y)
Orden parcial: Pretende describir todos los conjuntos parcialmente ordenados; por lo tanto,
su signatura satisface las siguientes propiedades:
No tiene smbolos de constantes ni smbolos de funcion.
Los unicos smbolos de predicados son = y un smbolo de predicado binario, denotado ,
que usaremos en notaci on inja.
La sem antica de se recoge mediante los siguientes axiomas propios:
1. (x)(x x)
2. (x)(y)((x y y x) x = y)
3. (x)(y)(z)((x y y z) x z)
Un modelo para esta teora se denomina una estructura de orden parcial.
Aritmetica de primer orden: Su signatura consta de
Un smbolo de constante: a (para representar al 0).
Un smbolo de funcion monaria: f
1
1
(para sucesor ) y dos smbolos de funciones binarias:
f
2
1
(para suma ) y f
2
2
(para producto).
El unico smbolo de predicados es el smbolo de predicado binario =.
Denotamos por N al sistema de primer orden con igualdad que tiene como esquemas de axiomas
propios (E
1
)(E
5
) y adem as
(N
1
) (x)(f
1
1
(x) = a)
(N
2
) (x)(y)(f
1
1
(x) = f
1
1
(y) x = y)
(N
3
) (x)(f
2
1
(x, a) = x)
(N
4
) (x)(y)(f
2
1
(x, f
1
1
(y)) = f
1
1
(f
2
1
(x, y))
(N
5
) (x)(f
2
2
(x, a) = a)
(N
6
) (x)(y)(f
2
2
(x, f
1
1
(y)) = f
2
1
(f
2
2
(x, y), x)
96 CAP

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
(N
7
) Para toda fbf A(x) tenemos
A(a) ((x)(A(x) A(f
1
1
(x))) (x)A(x))
A partir de (N
7
) y (MP) obtenemos la siguiente regla derivada, a la que se denomina regla de
induccion, (Ind):
A(a), (x)(A(x) A(f
1
1
(x))) (x)A(x))
Teora de grupos: Su signatura consta de:
Un smbolo de constante: e.
Un smbolo de funcion binaria: .
El unico smbolo de predicados es un smbolo de predicado binario, denotado =, que
usaremos de forma inja.
Sus esquemas de axiomas propios son (E
1
)(E
5
) y los siguientes esquemas:
1. (x)(y)(z)[((x y) z) = (x (y z))]
2. (x)(e x = x)
3. (x)(y)(y x = e)
Un modelo para esta teora en el que la interpretacion de = es la identidad se denomina una
estructura de grupo.
3.5. EJERCICIOS 97
3.5. Ejercicios
1. Justicar las siguiente regla derivada (conocida como Regla Existencial ) para el sistema de Lukasiewicz:
Si t es libre para x en la formula A, entonces
A(t) (x)A(x)
2. Justicar las siguiente regla derivada para el sistema de Lukasiewicz:
A(x) (x)(B(x) A(x)
3. Justicar en el sistema de Lukasiewicz que si A y B son fbfs y x / V
libre
(B), entonces:
(x)(A B) (x)A B)
4. Justicar en el sistema de Lukasiewicz:
a) (x)A (x)A.
b) (x)(A(x) B(x)) ((x)A(x) (x)B(x))
c) (x)(y)(P(x, y) Q(x)) (y)(x)(P(x, y) Q(x))
5. Justicar en el sistema de Lukasiewicz:
a) Si x / V
libre
(B) entonces ((x)A B) (x)(A B).
b) (x)(A B) ((x)A(x) (x)B)
c) (x)(A B) ((x)A(x) (x)B)
6. Justicar en el sistema de deducci on natural DN las reglas derivadas N, N y N.
7. Justicar en el sistema de deducci on natural DN
a)
DN
((x)(P(x) Q(x)) (x)(P(x) R(x))) (x)(P(x) (Q(x) R(x)))
b)
DN
((x)(P(x) (x)Q(x)) (x)(P(x) Q(x))
8. Justica en el sistema de deducci on natural DN
a) (x)(y)(P(x) R(x, y))
DN
(x)(P(x) (y)R(x, y))
b) (x)(P(x) (y)R(x, y))
DN
(x)(y)(P(x) R(x, y))
9. Probar en la teora de orden parcial estricto
a) (x)(y)(R(x, y) R(y, x))
b) (x)(y)
_
(y)(R(x, y) R(y, z) R(z, x)
_
10. En el lenguaje de la teora del orden parcial, denir los predicados
a) x es el maximo .
b) x es maximal.
c) no existe ning un elemento entre x e y.
d) x es el sucesor inmediato de y.
11. Probar en N:
a) 1 + 1 = 2
b) Probar que (x)(0 +x = x)
98 CAP

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
12. Probar en la teora de cadenas que abc aabca es un teorema.
13. Considerar la siguiente teora de cajas
3
para razonar acerca de un mundo consistente en tres cajas
a, b y c y una mesa m. Cada caja puede estar directamente sobre la mesa o bien apilada sobre otra
caja. Para ello necesitamos smbolos de predicados para formalizar la relacion x est a encima de
y y la relacion x est a sobre y .
Por lo tanto, la signatura consta de
Cuatro smbolos de constantes: a, b y c y m.
Dos smbolos de predicados Enc y S.
Los axiomas son
(Ax
1
) (x)(y)(z)
_
(Enc(x, y) Enc(y, z)) Enc(x, z)
_
para destacar que encima tiene la propiedad transitiva, y
(Ax
2
) (x)(y)(S(x, y) Enc(x, y))
para destacar que si una caja est a sobre algo, entonces est a por encima de ese algo.
Elegimos una conguracion de las cajas, a saber, a y c est an sobre la mesa y b est a sobre a. En
consecuencia, elegimos los tres axiomas siguientes:
(Ax
3
) S(a, m)
(Ax
4
) S(c, m)
(Ax
5
) S(b, a)
Usar esta teora para razonar formalmente sobre el mundo que acabamos de describir. Concreta-
mente:
a) Probar que b est a encima de la mesa, es decir, Enc(b, m).
b) Extender la teora para expresar que una caja est a cerrada si tiene otra caja sobre ella, y
abierta en otro caso. Probar que b est a abierta.
c) Extender la teora para incluir la idea de que dos objetos est an al mismo nivel si est an sobre
el mismo objeto, y luego demostrar que a y c est an al mismo nivel.
d) Extender la teora de c) para incluir la idea de que dos cajas est an al mismo nivel si los
objetos sobre los que se apoyan est an al mismo nivel. A nadir dos nuevas cajas d y e, la caja
d sobre la mesa y e sobre d; despues demostrar que b y e est an al mismo nivel.
14. Considerar la siguiente teora, denominada teora de un acto vil
4
dise nada para representar un
mundo en el que se ha cometido un crimen. El escenario es el siguiente:
solo Tom as y Helenio tienen llaves. Alguien rob o el dinero abriendo la caja fuerte. La
unica forma de abrir la caja fuerte es con la llave.
La signatura consta de
Dos smbolos de constantes: a para denotar Tom as y b para denotar Helenio.
Tres smbolos de predicados:
a) R(x) para expresar x rob o el dinero.
b) C(x) para expresar x abra la caja fuerte.
3
J. Woodcock and M. Loomes, editors. Software Engineering Mathematics. Pitman, 1991.
4
J. Woodcock and M. Loomes, editors. Software Engineering Mathematics. Pitman, 1991.
3.5. EJERCICIOS 99
c) Ll(x) para expresar x tena una llave.
Los axiomas necesarios para formalizar la situaci on son
(Ax
1
) ((x)(C(x) Ll(x))
(Ax
2
) (x)(R(x) C(x))
(Ax
3
) ((x)(R(x) C(x))
(Ax
4
) (x)(Ll(x) ((x = t) (x = h)))
Usar esta teora para razonar formalmente sobre el mundo que acabamos de describir. Concreta-
mente:
a) Probar que bien Helenio o bien Tom as rob o dinero, es decir, R(a) R(b).
b) Extender la teora para incluir la armaci on de la inocencia de Tomas, y demostrar la culpa-
bilidad de Helenio.
100 CAP

ITULO 3. SISTEMAS DEDUCTIVOS PARA L


1
Captulo 4
Metodo de las Tablas semanticas
En el captulo anterior hemos introducido los sistemas de deducci on para la logica de primer orden,
en este tema y en el siguiente abordamos la posibilidad de automatizaci on de las demostraciones en esta
nueva logica.
Como hemos analizado en los Captulos 2 y 3, para la logica de primer orden, la demostracion
autom atica de teoremas solo puede aspirar a encontrar procedimientos de semidecisi on, es decir, procedi-
mientos que aseguran su terminaci on solo si la formula o inferencia a la que se aplican es valida. Como en
el caso proposicional, la mayor parte de los trabajos en este area se basan en dos metodos de refutacion:
1. metodo de las tablas semanticas o de construcci on de modelos.
2. metodo de resolucion.
En este captulo extendemos a la logica de primer orden el primero de ellos.
Introducimos el metodo como extensi on del expuesto para la logica proposicional, as pues, presenta-
mos la formulaci on del metodo debida a Jerey.
1
;
2
Como tal sistema de refutacion, para vericar la validez de una formula A, el metodo de tablas
semanticas determina si A es satisfacible. Para ello
3
el metodo organiza la b usqueda sistem atica de
un modelo para A. Si la b usqueda tiene exito, A no es valida, pero si la b usqueda fracasa, entonces A
es valida. Similarmente, si se trata de comprobar la validez de la inferencia de una formula A a partir
de un conjunto de hipotesis , entonces el metodo determina la satisfacibilidad de {A} buscando
sistem aticamente un modelo para dicho conjunto. Si la b usqueda tiene exito, la inferencia es valida, en
caso contrario, no es valida.
Por lo tanto, tendremos que extender el metodo visto para el caso proposicional, de modo que incluya
una b usqueda de instanciaciones de formulas cuanticadas.
Denicion 4.1 Dado el conjunto de fbfs = {A
1
, . . . , A
n
} cuya satisfacibilidad se quiere comprobar, se
organizan las formulas de en un arbol de una sola rama con raz on A
1
y tal que cada A
i
con 2 i n
es sucesor inmediato de A
i1
, es decir,
1
R. C. Jerey. Formal Logic: its scope and limits. McGraw-Hill Inc., 1967. Traduccion al espa nol por Ed. Univ.
de Navarra, 1986.
2
Para otras formulaciones ver:E. Beth. The foundations of mathematics. North-Holland, 1959.
R. M. Smullyan. First-Order Logic. Springer-Verlag, 1968. Vuelto a publicar por Dover en 1995.
J. H. Gallier. Logic for Computer Science: Foundations for Automatic Theorem Proving. Wiley & Sons, 1987.
3
Al igual que en el caso proposicional
102 CAP

ITULO 4. M

ETODO DE LAS TABLAS SEM

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

de nuevos smbolos de constante a los que


llamaremos par ametros.
() Si
A
denota la rama determinada por el nodo hoja A y una formula (x) ocurre en
A
, extendemos
dicha rama a nadiendo (a), donde a es un par ametro que no aparece previamente en la rama, y
marcamos la -formula:
(a)
A
.
.
.
(x)

.
.
.

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

ETODO DE LAS TABLAS SEM

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

y expandir la rama con A(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

ETODO DE LAS TABLAS SEM

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

ETODO DE LAS TABLAS SEM

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

ha sido obtenido al aplicar una regla de extensi on a un nodo de la rama

de T que est a etiquetado


con una fbf A. Entonces,
1. Si =

, es una rama de T

y por lo tanto T

es satisfacible.
2. Si =

, podemos distinguir los siguientes casos:


a) Para los casos en los que A es una -formula o una -formula, la demostracion es consecuencia
(como en el caso proposicional) de las equivalencias
1

2
y
1

2
.
4.2. CORRECCI

ON Y COMPLETITUD 109
b) Si A es una -formula entonces, T

ha sido obtenido al a nadir al nodo hoja de un nodo


etiquetado con la componente (a) de A. Sea M = (U, I) un modelo para , entonces M
es un modelo para (a). Supongamos que = (x)B(x) (la demostracion para el caso en
que (x) = (x)B(x) (x)B(x) es analoga ). Sea una valuacion de variables tal que
I

(B(x)) = 1. Puesto que a no ocurre en , podemos extender M a una interpretaci on M

que coincide con M salvo que I(a) = (x). Obviamente, M

es un modelo para (a). Por


lo tanto, T

es satisfacible.
c) Si A es una -formula, entonces T

ha sido obtenido al a nadir al nodo hoja de dos nodos


etiquetados, respectivamente, con y con la componente (t) de A. Sea M = (U, I) un modelo
para , entonces M es un modelo para (t). Supongamos que = (x)B(x) (la demostracion
para el caso en que (x) = (x)B(x) (x)B(x) es analoga ). Puesto que todo modelo
para (x) es un modelo para (t), M es tambien un modelo para {, (t)}. Por lo tanto,
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 terminos b asicos y el conjunto de smbolos de predicado


respectivamente que intervienen en las formulas que etiquetan los nodos de . Sea FBF

el conjunto de
formulas que etiquetan los nodos de y Atom

, en particular, el conjunto de atomos que etiquetan los


nodos de . Denamos una interpretaci on, (U

, I

), construida a partir de la rama como sigue:


1. U

= T erm
b

.
2. I

es una aplicacion tal que:


para cada termino t T erm
b

, 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

. En efecto, por reduccion al


absurdo, supongamos que existe al menos una formula FBF

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

(A) = 0 y para toda B FBF

tal que gr(B) < gr(A), se tiene que 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

(P); de lo contrario, P(t


1
, . . . , t
n
) Atom

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

() = 0. As pues, A no puede ser una .


Si A fuera una -formula, dado que es una rama completa y abierta se tiene que
1
FBF

o
bien
2
FBF

. Dado que gr(


1
), gr(
2
) < gr(), por (H) tendramos que si
1
FBF

, entonces
I

(
1
) = 1 y si
2
FBF

, entonces I

(
2
) = 1. En cualquier caso, I

() = 1. Pero esto contradice la


hipotesis (H), la cual establece que I

(A) = I

() = 0. As pues, A tampoco puede ser una -formula.


110 CAP

ITULO 4. M

ETODO DE LAS TABLAS SEM

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

() = 1. Pero esto contradice (H), que establece que 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

. Dado que gr((t)) < gr() para todo t T erm


b

, por la hipotesis (H) resulta


que I

((t)) = 1 para todo t T erm


b

. Entonces I

() = 1. Pero esto contradice (H), que establece que


I

(A) = I

() = 0.
Hemos recorrido todas las posibilidades de A y en ning un caso puede ser I

(A) = 0. Por tanto, toda


formula de FBF

es verdadera en M

. De esto se sigue que tiene un modelo y, por tanto, el arbol tiene


una rama satisfacible. Esto concluye la prueba.
Teorema 4.4 (Correcci on y completitud)
1. Si existe una refutaci on para {H
1
, . . . , H
n
, C}, entonces H
1
, . . . , H
n
|= C.
2. Si H
1
, . . . , H
n
|= C entonces existe una refutaci on para {H
1
, . . . , H
n
, C}. Mas a un, si {H
1
, . . . , H
n
, C}
es insatisfacible, entonces la construccion sistem atica debe terminar en un n umero nito de pasos.
Demostraci on:
1. Suponemos que existe una refutaci on para {H
1
, . . . , H
n
, C}. Deseamos probar H
1
, . . . , H
n
|= C,
es decir que {H
1
, . . . , H
n
, C} es insatisfacible. Lo probamos por reduccion al absurdo:
Si = {H
1
, . . . , H
n
, C} fuera satisfacible, por el Teorema 4.2, todo arbol asociado a es satis-
facible, es decir, todo arbol para tendra una rama abierta, lo cual es imposible por hipotesis.
2. Suponemos H
1
, . . . , H
n
|= C. Deseamos probar que existe una refutacion para {H
1
, . . . , H
n
, C}.
Lo probamos por reduccion al absurdo:
Si no existiera una refutacion para = {H
1
, . . . , H
n
, C}, y si T es un arbol asociado a , T tiene
una rama abierta tal que tras la aplicacion de reglas a sus nodos sigue proporcionando una rama
abierta. Ahora bien, la construcci on sistem atica, nos asegura que para todo nodo N en si A es
la etiqueta de N y A no est a marcada, el metodo aplicar a en alg un momento de su ejecuci on una
regla a A.
En particular, si A es una -formula y t es un termino b asico que ocurre en , existe un descendiente
N

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

ETODO DE LAS TABLAS SEM

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

ETODO DE LAS TABLAS SEM

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

ETODO DE LAS TABLAS SEM

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

ETODO DE LAS TABLAS SEM

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

, pero ninguna otra clausula. Por tanto el conjunto


de clausulas es satisfacible.
En el ejemplo anterior, la simplicidad de
b
nos ha permitido concluir la satisfacibilidad pero, des-
afortunadamente, no existe un metodo general y eciente para generar todas las instancias b asicas de un
conjunto de clausulas de L
1
. Como hemos indicado, la idea de Robinson consiste en trabajar directamente
con las clausulas sin tener que manejar explcitamente las instancias b asicas. Profundizamos ahora en
esta idea:
Si consta de un par de clausulas de L
1
, por ejemplo, = {P(x) Q(x), P(f(y)) R(x, x)}, se
tiene que estas dos clausulas
C
1
= P(x) Q(x)
C
2
= P(f(y)) R(x, z)
no son resolubles en el sentido anterior (no contiene un literal y su negado), pero si consideramos las
siguientes instancias b asicas de C
1
y C
2
:
C
b
1
= P(f(a)) Q(f(a))
C
b
2
= P(f(a)) R(f(a), z)
estas s son resolubles y nos proporcionan como resolvente la clausula Q(f(a)) R(f(a), z). Por lo tanto,
tendremos que modicar la denicion de clausulas resolubles de modo que podamos asegurar que dos
clausulas C
1
y C
2
son resolubles si y solo si existe una clausula C

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

nos permitiran generar rapidamente la clausula vaca.


En el desarrollo de los ejemplos anteriores se han usado explcitamente dos conceptos de interes:
sustituci on y resolvente mas general. Implcitamente, se ha usado el concepto de unicacion debido
a Herbrand y que, como hemos indicado, es una herramienta fundamental en la extensi on del metodo de
resolucion al caso general. Pasamos ya a introducir estos conceptos.
5.2. Unicaci on
La unicacion ha adquirido mucha signicaci on en el contexto de las Ciencias de la Computaci on
debido a su gran espectro de aplicaciones; entre estas encontramos el estudio de bases de datos, pro-
cesamiento del lenguaje natural, sistemas expertos, lenguajes de manipulaci on de textos, sistemas de
planicacion, sistemas de representacion del conocimiento, lenguajes de programacion logica, sistemas de
reescritura y el algebra computacional.
Comenzamos introduciendo la nocion de sustituci on (nita),
4
si no hay lugar a confusi on simplemente
diremos sustituci on:
Denicion 5.4 Sea Term el conjunto de terminos de L
1
. Una sustituci on finita es una aplicacion
: V T erm que coincide con la aplicacion identidad salvo en un n umero nito de variables, es decir,
tal que (x) = x salvo para un n umero nito de elementos x de V.
Si no hay lugar a confusion, nos referiremos a una sustituci on nita simplemente como sustitucion y
la representaremos mediante el conjunto de variables x
i
tal que (x
i
) = x
i
:
4
En la Secci on 1.1.6 se denio la sustituci on de las variables libres de una formula por un termino; lo que ahora
se dene es otro tipo de sustituci on, dentro del contexto de unicaci on.
5.2. UNIFICACI

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

, veamos que E es resoluble y que E

es un conjunto de ecuaciones en forma


resuelta equivalente a E.
Es facil convencerse de que cada paso del algoritmo conserva las soluciones del conjunto de ecuacio-
nes. Esto se debe a que estamos tratando con la igualdad sint actica (por ejemplo, f(u) = f(v) tiene
las mismas soluciones que u = v) y con la igualdad matematica (por eso si x = t podemos reem-
plazar x por t en el resto de las ecuaciones sin afectar el conjunto de soluciones). En consecuencia,
el conjunto de salida es equivalente al conjunto de entrada.
Los miembros de la derecha de las ecuaciones de E

son variables, ya que en otro caso se podra


aplicar el paso 1, 2 o 4. Todas estas variables son diferentes y no aparecen a la derecha de las
ecuaciones, ya que en tal caso se podra aplicar el paso 5. Por lo tanto E

est a en forma resuelta;


puesto que E es equivalente a 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

es una instancia de C, puesto 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

es nito. Sea N un nodo inferencia en 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

debe ser falsa en I(N) puesto que tanto (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 una instancia b asica de C. Sea T

el arbol semantico cerrado para (S {C}), obtenido de T

eliminando toda la parte que existe bajo el


primer nodo en el que la resolvente C

es falsicada. Claramente, el n umero de nodos de T

es menor
que el de T

. Aplicando este mismo proceso a T

podemos obtener otra resolvente de las clausulas de


(S{C}) que, a nadida a (S{C}) nos permite encontrar un arbol todava mas peque no. Este proceso se
aplica tantas veces como sea necesario hasta obtener un arbol que solo tenga el nodo raz. Esto es posible
solo cuando 2 es deducible, por lo tanto existe una deducci on de 2 a partir de S.
Para la demostracion del recproco supongamos que existe una deducci on de 2 a partir de S. Sean
R
1
, R
2
, . . . , R
k
las resolventes de tal deducci on. Supongamos que S es satisfacible, entonces existe un
134 CAP

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

y para cada proceso de cabeza C


0
, se utiliza un arbol con raz etiquetada con la clausula cabeza C
0
. El
arbol se genera (primero en anchura o primero en profundidad) de forma que cada nivel de profundidad
representa una etapa. Las ramas del arbol as generado son, por lo tanto, deducciones lineales ordenadas
de cabeza C
0
.
Ejemplo 5.23 Dado el conjunto formado por las siguientes clausulas
R(x, y) D(y) H(f(x), y) S(x)
P(x) D(x)
R(x, g(y))
H(f(x), g(y))
S(g(a))
P(x) S(x)
P(x) D(y) H(b, x)
vericar su insatisfacibilidad usando resolucion lineal ordenada.
Puesto que las clausulas de no son b asicas, el primer paso que hay que dar consiste en el renom-
bramiento de todas las variables, para evitar posibles conictos de nombres al utilizar el algoritmo de
unicacion.
ee r r
Este renombramiento siempre es posible, puesto que el conjunto de clausulas representa la
conjunci on de todas ellas que, ademas est an cuanticadas universalmente. Las equivalencias
(x)(A(x) B(x)) (x)A(x) (x)B(x) (x)A(x) (y)B(y)
justican el renombramiento.
5.4. CL

AUSULAS DE HORN 141


Tras renombrar tenemos un conjunto

simult aneamente satisfacible con con las siguientes clausulas


R(x, y) D(y) H(f(x), y) S(x)
P(z) D(z)
R(u, g(v))
H(f(w), g(r))
S(g(a))
P(s) S(s)
P(t) D(q) H(b, t)
donde q, r, s, t, u, v, w, x, y, z son smbolos de variables y a y b smbolos de constantes.
En la Figura 5.1 aparece un arbol de refutacion lineal ordenada para el conjunto

, 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

AUSULAS DE HORN 143


y por tanto,
(x
1
) . . . (x
k
)(P
1
. . . P
n
) (x
1
) . . . (x
k
)(P
1
. . . P
n
)
(x
1
) . . . (x
k
)(P
1
. . . P
n
)
En denitiva, la formula que deseamos saber si se deduce o no de un conjunto de clausulas denidas
es de la forma (x
1
) . . . (x
k
)(P
1
. . . P
n
).
Si vamos a usar resolucion sobre clausulas de Horn, sera conveniente observar que la resolvente de dos
clausulas de Horn tambien es una clausula de Horn. mas formalmente, tenemos el siguiente resultado.
Lema 5.2 Las clausulas de Horn son cerradas por resolucion.
Un programa logico es una base de conocimiento o conjunto de clausulas de programa, consideradas
como hipotesis. La regla de resolucion se aplica a las hipotesis para deducir conclusiones. As pues, si
P = {H
1
, . . . , H
n
} es un programa, ante la pregunta
la conjunci on de objetivos individuales O
1
O
2
, . . . O
n
es consecuencia logica de P?
el metodo de resolucion procedera como sigue:
1. Considera el conjunto de clausulas = {H
1
, . . . , H
n
, O
1
O
2
. . . O
n
}
2. Elige la clausula objetivo O
1
O
2
. . . O
n
como clausula cabeza e inicia el proceso de
resolucion lineal ordenada
3. Si se obtiene 2 la respuesta es armativa.
Puesto que las clausulas objetivo son negativas, se traducen en una pregunta al programa que es una
conjunci on de literales positivos, es decir, si {x
1
, . . . , x
m
} es el conjunto de las variables que intervienen
en la clausula objetivo P
1
(t
1
1
, . . . t
1
n
) . . . P
k
(t
k
1
, . . . t
k
n
), entonces
(x
1
) . . . (x
m
)(P
1
(t
1
1
, . . . t
1
n
) . . . P
k
(t
k
1
, . . . t
k
n
))
se traduce en la pregunta
(x
1
) . . . (x
m
)P
1
(t
1
1
, . . . t
1
n
) . . . P
k
(t
k
1
, . . . t
k
n
))
En denitiva, en caso armativo, obtendremos una sustitucion que demuestra que la respuesta
(x
1
) . . . (x
m
)P
1
(t
1
1
, . . . t
1
n
) . . . P
k
(t
k
1
, . . . t
k
n
))
es correcta.
El Teorema de Herbrand nos asegura que si P {C} es insatisfacible, existe una respuesta correcta
denida por una sustitucion b asica. Especcamente, la respuesta denida a una pregunta existencial
(x)A(x) a una base de conocimiento o programa , es un termino b asico t tal que |= [x/t]A(x).
Como nos muestra el siguiente ejemplo, no siempre es posible deducir una respuesta denida en el
sentido de Prolog.
Ejemplo 5.25 Sea = {P(a) P(b)} y la pregunta denida (x)P(x). Existen terminos b asicos t
1
= a
y t
2
= b tales que {P(a) P(b)} |= [x/t
1
]P(x) [x/t
2
]P(x), pero no existe ning un termino b asico t tal
que |= [x/t]P(x).
En la practica, para soslayar este problema, se suele considerar falsa la informacion que no puede
ser deducida de un programa. Este uso se conoce en programacion logica como
10
negacion como fallo
o hip otesis del mundo cerrado.

Esta no es la solucion optima, ya que identica lo falso con lo no
demostrable. Sin embargo, el uso de esta tecnica con clausulas de Horn es la base del lenguaje Prolog.
En denitiva, podemos expresar este hecho como sigue:
10
Negation as failure y closed world assumption en la bibliografa inglesa.
144 CAP

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

AUSULAS DE HORN 145


Los primeros trabajos sobre vericacion de programas utilizando la logica se deben a Floyd
13
y
Hoare.
14
Pero el avance mas signicativo se debe al trabajo de Z. Manna y A. Pnueli,
15
que utiliza la
logica temporal para especicaci on y vericacion de programas paralelos. En este trabajo, se utiliza la
logica tanto para expresar hechos del programa como para describir su comportamiento. De este modo, la
logica puede usarse para establecer si las declaraciones sobre el comportamiento del programa se derivan
de las declaraciones que constituyen el programa.
Si consideramos el desarrollo del metodo en forma de arbol de resolucion, el abandono de una rama
para continuar la b usqueda por la siguiente rama se denomina backtracking.
5.4.1.1. Prolog
Prolog es un lenguaje de programacion logica; se utiliza cuando queremos que el ordenador resuelva
problemas que puedan expresarse en terminos de objetos y relaciones entre ellos.
Este formalismo de programacion a nade al sistema logico central (es decir, a la conjunci on: logica en
forma clausal y resolucion) un tipo particular de estrategia de control con el prop osito de obtener
una implementacion eciente. Como paradigma declarativo, se caracteriza porque el analisis l ogico de los
programas no considera aspectos de comportamientos. En este caso, se habla de Prolog puro.
No obstante, el termino Prolog tiene ademas otras connotaciones referidas a estrategias de control,
por ejemplo, a nade primitivas no logicas dando lugar a un nuevo formalismo conocido como Prolog
impuro. Muchas de estas primitivas contemplan aspectos de comportamientos a expensas de corromper
el formalismo logico b asico.
En sntesis, la programacion en Prolog consiste en:
1. Declarar algunos hechos sobre los objetos y sus relaciones
2. Denir algunas reglas sobre los objetos y sus relaciones.
3. Hacer preguntas sobre los objetos y sus relaciones.
Cuando se hace una pregunta a Prolog, este efectuara una b usqueda por toda la base de conocimiento
(conjunto de hechos y reglas) introducida previamente. Buscara hechos que coincidan con el hecho en
cuestion. Si no lo encuentra, intentar a encontrar la respuesta mediante las reglas. En denitiva,
Prolog = Proceso de obtencion de respuesta en clausulas de Horn.
+ Sistema de gesti on de archivos de clausulas.
+ Clausulas predenidas (aritmeticas, etc).
+ Funciones para controlar el proceso de b usqueda.
+ Funciones para controlar el proceso de unicacion
En Prolog las clausulas se escriben en forma procedural :
16
T : P, Q, R, S
es decir: Para resolver T es preciso resolver P, Q, R y S
13
R. Floyd. Assigning meaning to programs. In Proceeding of Symposia in Applied Mathematics, volume 19,
pages 1932. American Mathematical Society, 1967.
14
C. Hoare. An axiomatic basis for computer programming. Commun. ACM, 12:576583, 1969.
15
. Z. Manna and A. Pnueli. The temporal logic of reacive and concurrent systems. Springer Verlag, 1992.
16
El termino procedural es una palabra inglesa, en espa nol lo correcto sera procedimental, es decir, en forma de
procedimiento.
146 CAP

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

AUSULAS DE HORN 147


Por lo tanto la respuesta sera que S(c) se deriva del programa.
Si hubieramos partido en primer lugar de la clausula S(x) Q(y) R(x, y) en lugar de la clausula
S(x) T(x) la ejecuci on hubiera sido la siguiente:
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. : Q(y), R(x, y) de 1. y 6. para el umg: x/c.
8. : P(y), R(x, y) de 3. y 7. para el umg: x/y.
9. : R(x, b) de 4. y 8. para el umg: y/b.
Como R(x, b) no encuentra ninguna clausula resoluble con ella, la rama se poda y se realiza un back-
tracking para ejecutar con la clausula S(x) T(x) .
5.4.2. Mnimo Modelo de Herbrand para un Programa l ogico
Al escribir un programa logico P, tenemos en mente un signicado para cada uno de los smbolos en
la signatura elegida, en denitiva, tenemos en mente una interpretaci on que es un modelo para todos los
hechos y reglas de P. La formalizaci on en L
1
de este modelo se denomina modelo de Herbrand mnimo
Puesto que los modelos de Herbrand son subconjuntos de la base de Herbrand, la relacion de inclusi on
conjuntista, , establece un orden en el conjunto de los modelos de Herbrand. Existe entonces un modelo
de Herbrand minimal al que se denomina modelo mnimo de Herbrand de P y que, como veremos,
contiene exactamente los atomos b asicos que se derivan de P por resolucion. Como hemos indicado, P
puede contener mas informacion pero esta no puede ser derivada de P.
Teorema 5.7 Dado un programa l ogico P la interseccion de todos los modelos de Herbrand para P es
el mnimo modelo de Herbrand para P.
Demostraci on: Probemos en primer lugar que todo programa logico es satisfacible, es decir, tiene un
modelo de Herbrand. En efecto, consideremos M
H,
= (H

, 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?

También podría gustarte