Sunteți pe pagina 1din 167

L

ogica para la Computaci


on
II) L
ogica Cl
asica de Primer Orden

Alfredo Burrieza Mu
niz
Manuel Ojeda Aciego

La razon por la que las personas mienten con frecuencia


es que les falta imaginaci
on
no se dan cuenta de que la verdad, tambien,
es una cuestion de invenci
on.
(Ortega y Gasset)

Este documento presenta la L


ogica Clasica de Primer Orden. En el hemos puesto especial
enfasis en los aspectos algortmicos, en definitiva, en presentar la logica como el c
alculo de las
Ciencias de la Computaci
on y, en particular, como afirma Mordechai Ben-Ari, 1 como la base
matematica del software.
La Logica Computacional, como disciplina incluida en los estudios conducentes a la obtenci
on
del ttulo de Ingeniero Inform
atico, ha de enmarcarse en el ambito de lo que podemos llamar
Fundamentos y Metodos Formales en Computaci
on.
El atractivo de las Ciencias de la Computacion es doble. Por una parte, su juventud; por
otra parte, sus orgenes. Se suele establecer que las Ciencias de la Computacion se han desarrollado, principalmente, a partir de la confluencia de tres disciplinas: Matematica, Ingeniera y
Ling
ustica. Vamos a hacer un un breve comentario para cada una de ellas.
Podramos situar el inicio de la aportacion de la Ingeniera a la Logica en 1938, cuando
Claude E. Shannon 2 (m
as tarde famoso por su Teora de la Informaci
on) observo que las
funciones realizadas por circuitos combinacionales (inicialmente construidos con reles), se podan
representar con la notaci
on simb
olica de las
algebras de Boole. A mediados de los 50, Samuel
Caldwell y David Huffman extendieron este trabajo a los circuitos secuenciales, lo cual dio origen
al desarrollo de la teora de m
aquinas de estados finitos 3 .
La contribuci
on de la Ling
ustica llega a finales de los 50, cuando Noam Chomsky, con su
Teora de las gram
aticas formales, establecio las bases de la Ling
ustica matem
atica e inicio el
camino hacia la formalizaci
on en la descripcion de los lenguajes naturales. 4
En la misma epoca de los trabajos de Chomsky, se estaba investigando en la especificacion de
la sintaxis de lenguajes de programaci
on de ordenadores. John Backus adapto las aportaciones
1

Ben-Ari, M. Mathematical Logic for Computer Science. Prentice Hall1993.


C.E. Shannon. A symbolic analysis of relay and switching circuits. Transactions of the AIEEE, 57: 713-723,
1938.
3
D.A. Huffman. The synthesis of sequencial switching circuits. Journal of the Franklin Institute, 257: 161-190,
1954.
4
N. Chomsky. On certain formal properties of grammars. Information and Control, 2 (2): 137-167. 1959.
2

ii
de Emil Leon Post 5 a tales especificaciones 6 , y obtuvo una notacion que era una variante de
las gramaticas de contexto libre de Chomsky.
Por otra parte, el estudio de las clases de lenguajes generados por las gramaticas de Chomsky
y el estudio de las m
aquinas de estados finitos llevo al establecimiento de una relacion inmediata
y sorprendente: los mismos fen
omenos aparecan de forma independiente en ambos campos, de
manera que se podan establecer una identificacion (isomorfismo) entre ambos modelos.
La parte correspondiente a la Matematica se centra en el problema de la decisi
on, que
esta ntimamente ligado al concepto de algoritmo y en particular con la automatizaci
on de los
razonamientos. Podramos remontarnos hasta la Edad Media con Raimundo Lulio que centro su
objetivo en encontrar un metodo para demostrar si una afirmacion es verdadera o falsa,
teniendo en cuenta el esquema al que se ajusta. Este objetivo fue formulado con mas precisi
on
y con la maxima ambici
on por David Hilbert en 1900 (Entscheidungsproblem) en el Congreso
Internacional de Matem
aticos en Pars. 7 . La pretension de Hilbert era disponer de un algoritmo
general que permitiera resolver cualquier problema bien definido en Matematicas. Invitamos al
lector a que incluya entre sus futuras lecturas las referidas a si Hilbert vio o no cumplido su
deseo.
Podemos fijar que con Augustus De Morgan, George Boole y, destacadamente, Gottlob Frege
en el siglo XIX; Alan Turing, Emil Post, Alonzo Church, Stephen Kleene, Kurt Godel, Jacques
Herbrand y Gerhard Gentzen en 1930 y John Alan Robinson en 1960 (todos ellos grandes matematicos) la l
ogica tom
o cuerpo como potente herramienta cientfica. Sus trabajos dieron lugar
a todo un cuerpo de doctrina que es referida de forma habitual como L
ogica Computacional y
que ha constituido la base de lo que hoy se entiende por Ciencias de la Computacion.
Consideramos que el conocimiento de la logica computacional es fundamental en la formaci
on
del informatico. As se contempla en las mas destacadas recomendaciones de los expertos en
Computacion. Por ejemplo,
La ACM, en la elaboraci
on de los sucesivos Curriculum en Informatica considera los topicos
de logica computacional como fundamentales.
Desde sus inicios, el Comite de Actividades Educativas del IEEE, mantiene la misma
consideraci
on.
El modelo de curriculum de la Universidad Carnegie-Mellon introduce un apartado sobre
las Ciencias de la Computaci
on en el que destaca la logica.
...
Por otra parte, para destacar el interes por el estudio de la logica en el ambito de la Computacion,
bastara afirmar que su conocimiento es esencial en la mayora de las areas. Podemos destacar,
sin la pretensi
on de ser exhaustivos, los siguientes:
- Estructuras de Datos y Algoritmos
5

E.L.Post. Introduction to a general theory of elementary propositions. In Jean van Heijenoort, edito, From
Frege to G
odel. A Source Book in Mathematical Logic. Harvard University Press, 1921.
6
J.W. Backus. The syntax and semantics of the proposed international algebraic language of the Zurich. ACMGAMM Conference. IFIP59, 125-131, 1959.
7
invitamos al lector a indagar sobre el conocido como decimo problema de Hilbert

iii
- Inteligencia Artificial y Rob
otica
- Bases de Datos y Recuperaci
on de Informaci
on.
- Comunicaci
on Hombre-M
aquina.
- Lenguajes de Programaci
on.
- Ingeniera y Metodologa del Software.
- Visi
on computacional.
- Planificaci
on.
- Verificaci
on de protocolos de seguridad.
- Diagn
ostico.
- Etc.
Es cierto que se puede argumentar que la Logica no ha tenido la repercusion esperada en las
aplicaciones; pero tambien lo es que la situacion ha variado en las dos u
ltimas decadas y que
destacadas empresas en Inform
atica y Telecomunicaciones como IBM, AT&T, Intel, Motorola,
. . . reclaman especialistas en el tema.
Todas estas consideraciones nos llevan a abordar la redaccion de este texto. En el primer
volumen estudiamos la L
ogica Cl
asica proposicional y en este estudiaremos la Logica Clasica
de Predicados. Seguir
an otros sobre diferentes logicas cuyo papel es relevante en Computacion.
Iniciamos la tarea con ilusi
on y responsabilidad, como reto sobre cuyas consecuciones esperamos
enriquecer con sugerencias de los lectores.

iv

Indice general
1. L
ogica de Primer Orden
1.1. Lenguaje L1 de una L
ogica de Primer Orden .
1.1.1. Alfabeto . . . . . . . . . . . . . . . . . .
1.1.2. Terminos y F
ormulas Bien Formadas . .

1.1.3. Arbol Sint


actico . . . . . . . . . . . . .
1.1.4. Variables Libres y Variables Ligadas . .
1.1.5. Sustituci
on de variables . . . . . . . . .
1.2. Sem
antica para los Lenguajes de Primer Orden
1.2.1. Sem
antica de Tarski . . . . . . . . . . .
1.2.2. Satisfacibilidad y Validez . . . . . . . .
1.2.3. Equivalencia L
ogica . . . . . . . . . . .
1.3. Forma Normal Prenexa . . . . . . . . . . . . .
1.4. Skolemizaci
on . . . . . . . . . . . . . . . . . . .
1.5. Consecuencia L
ogica . . . . . . . . . . . . . . .
1.6. Ejercicios . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.

1
4
4
6
12
13
16
19
21
23
31
34
37
43
46

2. Modelos de Herbrand
2.1. Interpretaciones de Herbrand . . . . . . . . . . .
2.2. Teorema de Herbrand y Semidecidibilidad de L1

2.2.1. Arboles
Sem
anticos en L1 . . . . . . . . .
2.2.2. Teorema de Herbrand . . . . . . . . . . .
2.3. Modelos Finitos y Modelos Infinitos . . . . . . .
2.3.1. Compacidad . . . . . . . . . . . . . . . .
2.4. Indecidibilidad de L1 . . . . . . . . . . . . . . . .
2.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

55
56
61
63
66
71
72
73
74

3. Sistemas Deductivos para L1


3.1. Un sistema axiom
atico para L1 . . . . . . . . . . . .
3.1.1. El Teorema de la Deduccion . . . . . . . . . .
3.1.2. Correcci
on y Completitud de L1 . . . . . . .
3.1.3. Correcci
on, Completitud y Semidecidibilidad
3.2. Deducci
on Natural . . . . . . . . . . . . . . . . . . .
3.3. Teoras de Primer Orden . . . . . . . . . . . . . . . .
3.3.1. Teoras con Igualdad . . . . . . . . . . . . . .
3.4. Algunas Teoras de Primer Orden con Igualdad . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

77
77
80
82
84
84
90
91
94

INDICE GENERAL

vi

3.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4. M
etodo de las Tablas sem
anticas
4.0.1. Reglas de Extensi
on . . . . . . . . . . . . . . . . . .
4.0.2. Reglas para una Extension Sistematica . . . . . . . .
4.1. Descripci
on del Metodo . . . . . . . . . . . . . . . . . . . .
4.2. Correcci
on y Completitud . . . . . . . . . . . . . . . . . . .
4.2.1. Tablas sem
anticas para la Construccion de Modelos
4.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.

5. M
etodo de Resoluci
on
5.1. Resoluci
on b
asica . . . . . . . . . . . . . . . . . . . . . . . . .
5.2. Unificaci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2.1. El Algoritmo de Unificacion . . . . . . . . . . . . . . .

5.3. Resoluci
on de Atomos
no b
asicos . . . . . . . . . . . . . . . .
5.3.1. Resoluci
on Lineal . . . . . . . . . . . . . . . . . . . . .
5.3.2. Resoluci
on Lineal Ordenada . . . . . . . . . . . . . . .
5.4. Cl
ausulas de Horn . . . . . . . . . . . . . . . . . . . . . . . .
5.4.1. Programaci
on l
ogica . . . . . . . . . . . . . . . . . . .
5.4.2. Mnimo Modelo de Herbrand para un Programa logico
5.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

6. L
ogica de Predicados de Segundo Orden
6.1. Lenguajes de segundo orden . . . . . . . . . . . . . . . . . . . . . . .
6.1.1. F
ormulas Bien Formadas . . . . . . . . . . . . . . . . . . . .
6.1.2. Limitaciones expresivas de la logica de primer orden que no
segundo orden . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1.3. Algunas cuestiones m
as acerca de la logica de segundo orden

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

. . .
. . .
tiene
. . .
. . .

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.

96

.
.
.
.
.
.

99
100
104
105
106
108
113

.
.
.
.
.
.
.
.
.
.

117
118
123
125
127
133
134
138
141
145
147

151
. . . . 152
. . . . 152
la de
. . . . 154
. . . . 158

Captulo 1

L
ogica de Primer Orden
Indice
1.1. Lenguaje L1 de una L
ogica de Primer Orden . . . . . . . . . . . . . .

1.1.1. Alfabeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1.1.2. Terminos y F
ormulas Bien Formadas . . . . . . . . . . . . . . . . . . . .

1.1.3. Arbol Sint


actico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

6
12

1.1.4. Variables Libres y Variables Ligadas . . . . . . . . . . . . . . . . . . . .

13

1.1.5. Sustituci
on de variables . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

1.2. Sem
antica para los Lenguajes de Primer Orden . . . . . . . . . . . .

19

1.2.1. Sem
antica de Tarski . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

1.2.2. Satisfacibilidad y Validez . . . . . . . . . . . . . . . . . . . . . . . . . .

23

1.2.3. Equivalencia L
ogica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

1.3. Forma Normal Prenexa . . . . . . . . . . . . . . . . . . . . . . . . . . .

34

1.4. Skolemizaci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

1.5. Consecuencia L
ogica . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

43

1.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

46

En el primer libro, L
ogica para la Computaci
on. I) L
ogica Cl
asica Proposicional, hemos
contemplado el tipo m
as simple de lenguaje logico, el de la logica proposicional clasica, la cual, a
fin de establecer criterios sobre la exactitud de razonamientos, formaliza la parte mas elemental
de nuestro lenguaje natural. Concretamente:
Solo considera las frases declarativas, llamadas 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 conocido como Principio del tercero excluido que afirma que dado un
enunciado, A, se tiene que o bien A es verdadera o bien no A es verdadera.
El valor de verdad asignado a cada enunciado queda completamente determinado por el
valor de verdad o falsedad asignado a 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 ).
1


CAPITULO 1. LOGICA
DE PRIMER ORDEN

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 mas sencillo de analisis: el sujeto y el predicado que
componen internamente un enunciado simple son irrelevantes, como entidades aisladas,
para la l
ogica proposicional).
As, si consideramos el razonamiento:
Todo estudiante es inquieto
Luis es un estudiante.
Por lo tanto, Luis es inquieto.
intuitivamente, no dudamos en afirmar que es un razonamiento correcto. En efecto, responde
a la forma Todo A es B y c es un A. Por lo tanto c es un B. Sin embargo, la logica
proposicional no contempla estructura alguna en los enunciados declarativos simples, ya que su
lenguaje u
nicamente 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, en el marco de dicha l
ogica, la formalizacion de este razonamiento viene dada por
p
q
r
que no es un razonamiento v
alido en la logica proposicional clasica.
Del mismo modo, la l
ogica cl
asica proposicional no basta para analizar la correcci
on de
programas respecto a una especificaci
on formal. Por ejemplo, la correccion 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 relacion entre x e y, y su verdad o falsedad
depende de los valores de x y de y.
La insuficiencia de la l
ogica cl
asica proposicional, es decir, su escasa potencia expresiva,
requiere el desarrollo de una l
ogica m
as amplia que permita considerar validos los razonamientos
del tipo anterior. Necesitamos una l
ogica que permita captar mas detalles del lenguaje natural,
que no solo contemple las conexiones externas entre los enunciados simples, sino que extienda
a la logica cl
asica proposicional en dos direcciones:
considere en los enunciados at
omicos una determinada estructura interna, la estructura
predicativa, que permita diferenciar que se predica (ser estudiante, ser inquieto. . . ), de
que o quien se predica (Luis, . . . ), y
permita expresar que, dado un universo del discurso, una cierta propiedad la satisface un
ente concreto de dicho universo, o bien la satisfacen todos los entes, o la satisface alg
un
ente o no la satisface ning
un ente de dicho universo. En definitiva, vamos a estudiar una
logica que permite analizar razonamientos en los que las hipotesis y la conclusion son frases
del lenguaje natural del mismo tipo que las contempladas en la logica proposicional que
hemos estudiado en el primer libro, pero en la que dispondremos de un lenguaje mas rico
que nos permitir
a expresar la estructura predicativa de dichas frases.

3
El marco mnimo para dicho prop
osito lo proporciona la logica conocida como L
ogica de
Predicados de Primer Orden o, simplemente, como L
ogica de Primer Orden, a la que denotaremos por L1 .
Wilfred Hodges

hace la siguiente reflexion:

. . . la l
ogica de primer orden es hija de varios padres; al menos tres grupos diferentes
de pensadores han tenido que ver en su concepci
on y con tres motivos muy diferentes:
Los l
ogicos tradicionales desde Arist
oteles hasta George Boole (1815-1864) seguidos, entre otros, por Augustus de Morgan (1806-1871) y Charles S. Peirce
(1839-1914). Para ellos el objetivo central fue proporcionar esquemas de razonamientos v
alidos.
Los te
oricos de la demostraci
on, entre los que hemos de incluir Gottlob Frege (1848-1925), Giuseppe Peano (1858-1932), David Hilbert (1862-1943), Bertrand Russell (1872-1970), Jacques Herbrand (1908-1931) y Gerhard Gentzen
(1909-1945). Para ellos el objetivo fue sistematizar el razonamiento matem
atico de modo que las hip
otesis 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),
Kurt G
odel (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.
Quiz
as esta mezcla es la causa de su fuerza. Sin embargo, sea cual sea la raz
on, la
l
ogica de primer orden es la l
ogica moderna m
as simple, m
as potente y m
as aplicable. . .
La logica cl
asica de primer orden juega en la actualidad un papel destacado en las Ciencias
de la Computaci
on por sus aplicaciones en especificacion y verificacion de programas, en la
representaci
on del conocimiento en las bases de datos, en Inteligencia Artificial, 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 semantica, su teora de la demostraci
on
y, finalmente, nuestro objetivo esencial: la posibilidad o no de automatizar el razonamiento.
En este captulo presentamos:
el lenguaje de la l
ogica de primer orden y
la sem
antica de la l
ogica de primer orden.
1

W. Hodges. Elementary predicate logic. In D.M. Gabbay and F. Guenthner, editors. Handbook of Philosophical
Logic, volume 1. Kluwer Academic Press, 1983. Reimpresi
on en 1994.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

1.1.

Lenguaje L1 de una L
ogica de Primer Orden

Recordemos que un lenguaje l


ogico viene dado mediante un alfabeto de smbolos y la definicion de un conjunto de cadenas de smbolos de dicho alfabeto, llamadas f
ormulas bien
formadas (abreviadamente, fbfs).
La logica de primer orden utiliza una clase de lenguajes que son conocidos como lenguajes
de primer orden, introducidos por Gottlob 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
s
mbolos de variables individuales,
representar elementos especficos del universo del discurso, a los que llamaremos s
mbolos
de constante,
representar generadores de elementos del universo del discurso (a partir de uno o varios
elementos de dicho universo), a los que llamaremos s
mbolos de funci
on,
expresar que nos referimos a algunos o a todos los elementos del universo del discurso, a
los que llamaremos s
mbolos de cuantificaci
on o cuantificadores,
expresar propiedades o relaciones entre los elementos del universo del discurso, a los que
llamaremos s
mbolos de predicado.
Comenzamos pues introduciendo el alfabeto para un lenguaje 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 l
ogicos > y .
3. los smbolos de cuantificaci
on (universal) y (existencial).
4. los smbolos de puntuaci
on ( y ).
5. un conjunto infinito numerable, V = {x, y, z, v, . . . , x1 , y1 , z1 , v1 , . . . , xn , yn , zn , vn , . . .}, de
s
mbolos de variables individuales.
6. un conjunto numerable (posiblemente vaco), C, de s
mbolos de constante.
7. un conjunto numerable (posiblemente vaco), F, de s
mbolos de funci
on y una funci
on

arf : F N que asigna a cada smbolo de funcion un elemento de N llamado su aridad


y que representa el n
umero de argumentos.
8. un conjunto numerable y no vaco, P, de s
mbolos de predicado y una funci
on
arp : P N que asigna a cada smbolo de predicado un elemento de N llamado su
aridad y que representa el n
umero de argumentos.


1.1. LENGUAJE L1 DE UNA LOGICA
DE PRIMER ORDEN

Los smbolos referidos en los tems 1, 2, 3, 4 y 5 son comunes a todos los lenguajes de primer
orden. Por su parte, la elecci
on de los conjuntos C, F y P proporciona un lenguaje especfico
de primer orden y viene determinada por la aplicacion 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.
er er 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 poli
adicos o de aridad > 1. Por ejemplo, ser to de (binario); estar sentado
entre y (ternario); ser due
no de , y . . . (de aridad 4), etc.
Del mismo modo, consideraremos los smbolos de funcion monarios o de aridad 1 (por ejemplo, la madre de, el doble de, el lugar de nacimiento de) y poliadicos o de aridad > 1
(como el predicado binario la suma de y ; el predicado ternario el due
no de , y
, etc).

Definici
on 1.1 La signatura, , de un lenguaje de primer orden se define por
=CF P
es decir, recoge los smbolos especficos del lenguaje.
Hablaremos pues de un lenguaje de primer orden sobre la signatura y lo denotaremos
L1 () (o bien L1 (C, F, P)).
En definitiva, el alfabeto de una l
ogica 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 u
ltimas 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 predicado.
er er Usando la terminologa de los lenguajes de programacion, podemos pensar en
-

las
los
los
los
los
los

conectivas, como conjunto de instrucciones,


cuantificadores, como llamadas a procedimientos.
smbolos de constantes, como constantes.
smbolos de variables, como parametros formales,
terminos en los que intervienen smbolos de funcion, como estructuras de datos,
smbolos de predicados, como procedimientos.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

1.1.2.

T
erminos y F
ormulas Bien Formadas

La mayor complejidad (respecto al caso proposicional) de la logica que deseamos definir,


comienza a hacerse patente en los pasos requeridos para la descripcion del conjunto de formulas
bien formadas. Para definir el conjunto de cadenas de smbolos del alfabeto que definen un
lenguaje de primer orden, necesitamos introducir la nocion de
atomo. Esto es as porque, 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 tener una estructura que permita
especificar de modo que se pueda 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 estan destinados a intervenir en la
representaci
on de elementos del universo del discurso sobre los que se predica. Necesitamos
pues describir que cadenas de smbolos representan tales elementos del universo del discurso.
Para ello introducimos la noci
on de termino.
T
erminos:
Definici
on 1.2 Sea a un alfabeto para la l
ogica 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, definimos la funci
on Cf : (a )n a como sigue:
Cf (1 , . . . , n ) = f (1 , . . . , n )
El conjunto de los t
erminos sobre a es la clausura inductiva del conjunto V C para el
conjunto de constructores {Cf | f F}. Denotaremos el conjunto de terminos por Term .
Habitualmente, el conjunto de los terminos se presenta, mas 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 funci
on n-aria y t1 , . . . , tn son terminos, entonces f (t1 , . . . , tn ) es un
termino.
3. Solo las cadenas obtenidas aplicando las reglas 1 y 2 son terminos.
Definici
on 1.3 Los terminos en los que no ocurren variables se llaman t
erminos b
asicos.
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 basico.


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.


1.1. LENGUAJE L1 DE UNA LOGICA
DE PRIMER ORDEN

er er Los terminos son las cadenas de smbolos del alfabeto que representan los individuos
o entes a los que nos referimos en las frases del lenguaje natural (tanto simples, como
generados por alg
un procedimiento). Por la tanto, no les asignaremos valores de verdad o
falsedad, sino que predicaremos sobre ellos, afirmaremos que estan o no relacionadas de
un modo determinado.

Los predicados se aplican sobre los terminos para formar las formulas at
omicas.
Definici
on 1.4 Los
atomos o f
ormulas at
omicas son los elementos de a? de la forma
P (t1 , . . . , tn )
donde P es un smbolo de predicado n-ario y t1 , . . . , tn son terminos. Denotaremos por Atom el
conjunto de
atomos. Los
atomos son las fbfs m
as simples del lenguaje L1 . 2
Definici
on 1.5 Los
atomos en los que no intervienen variables se llaman
atomos b
asicos y son
las expresiones m
as sencillas del lenguaje que son interpretables como aserciones (afirmamos que
los objetos en una n-upla est
an relacionados en la forma expresada por el smbolo de predicado
n-ario).
Tenemos ya todo lo necesario para definir el conjunto de fbfs, esto es, el lenguaje. Los
cuantificadores y los conectivos permitiran obtener fbfs complejas a partir de los atomos (de
modo similar al caso proposicional).
F
ormulas bien formadas
Dado un smbolo de variable x, se definen las funciones
Ux , Ex : a a
del siguiente modo:
Ux (A) = (x)A y Ex (A) = (x)A
Definici
on 1.6 El conjunto de las f
ormulas bien formadas o elementos del lenguaje de primer
orden L1 (C, F, P) es la clausura inductiva de Atom {>, } para el conjunto de constructores
{C , C , C , C , C } {Ux , Ex | 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 at
omicas 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.
2

De ah el adjetivo de at
omica.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

5. Solo las cadenas obtenidas aplicando las reglas 1, 2, 3 y 4 son fbfs.


Como en el lenguaje de la l
ogica proposicional, usaremos el convenio de omitir en toda fbf los
parentesis inicial y final.
Definici
on 1.7 Dado un conjunto de fbfs, la signatura de es el conjunto = C F P
donde C es el conjunto de smbolos de constantes que intervienen en , F es el conjunto de
smbolos de funci
on 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 cuantificacion, es decir, un elemento del conjunto {, }.
b para indicar el dual
Diremos que y son smbolos duales de cuantificacion y usaremos Q
de Q, es decir, b
=yb
= .
er er Advirtamos que despues de un smbolo de cuantificacion 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, diferenciandolos de los lenguajes de
orden superior. En un lenguaje de primer orden:
solo se dispone de variables de individuos.
no se puede cuantificar sobre smbolos de funcion ni sobre smbolos de predicado.
solo se puede predicar sobre individuos.
En un lenguaje de segundo orden, existe un conjunto infinito numerable de smbolos de
variables de predicado y tambien smbolos de cuantificacion universal y existencial sobre
estas variables. Esto da al lenguaje de segundo orden mayor potencia expresiva; por ejemplo,
la igualdad es definible 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 infija, tal como es utilizado habitualmente.

Ejemplo 1.2
1. (x)(y)(R(x, y) R(y, x)) es una fbf que expresa que el smbolo R representa una
relacion simetrica.
2. (x)R(x, x) es una fbf que expresa que el smbolo R representa una relacion no reflexiva.
3. (x)(y)R(x, y) es una fbf que expresa que el smbolo R representa una relacion total.
Ejemplo 1.3
1. El enunciado Todos los alumnosde esta clase tienen m
as de 18 a
nos puede ser expresado
en L1 por: (x) C(x) M (x) , donde C() simboliza es alumno de esta clase y
M () simboliza tiene m
as de 18 a
nos. 3
3

Advirtamos que, como estamos acostumbrados de nuestro estudio de la l


ogica cl
asica proposicional, y
son metavariables que se refieren a terminos cualesquiera.


1.1. LENGUAJE L1 DE UNA LOGICA
DE PRIMER ORDEN

2. El enunciado No todas las aves pueden volar puede ser formalizado en L1 por:
(x) A(x) V (x)

donde A() simboliza es un ave y V () simboliza puede volar.


3. El enunciado Hay alumnos de
as de 24 a
nos puede ser formalizado
 esta clase que tienen m
en L1 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 L1 por :

(x) E(x) I(x)
E(a)

I(a)
donde E() simboliza es un estudiante, I() simboliza es inquieto y el smbolo
de constante a simboliza Luis.
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 L1 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 funci
on sucesor en N y a simboliza el n
umero 6.
6. El razonamiento:
Hay quien, aun siendo coherente, solo se preocupa por 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.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

10

Por lo tanto, hay quien es coherente y toma como propio el problema del medio
ambiente.
puede ser formalizado en L1 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 l
ogica de primer orden aparece en la especificacion formal de
un trozo de c
odigo. La especificaci
on se da escribiendo las condiciones que han de verificarse
antes (precondiciones) y despues (postcondiciones) de la ejecucion del codigo. Un lenguaje de
programacion es un lenguaje de especificacion ejecutable. El codigo de un programa especifica
su comportamiento y puede ser ejecutado sobre un computador.
El uso de un formalismo como la logica de primer orden, asegura una definicion rigurosa
de las pre y post-condiciones de un programa y facilita tareas tales como la descripcion de la
semantica de un lenguaje de programacion o el comportamiento funcional de un procedimiento
o programa. Si un programa puede ser especificado mediante un lenguaje como el de la logica de
primer orden, su comportamiento externo como caja negra es mas claro, ya que su descripci
on
permite la diferenciaci
on entre los detalles de implementacion y los algoritmos y, en consecuencia,
facilita la tarea de verificar si el c
odigo ejecuta de acuerdo con su especificacion.
Como comentaremos en el u
ltimo captulo, existen subconjuntos de la logica de primer orden
que son ejecutables y han dado lugar a lenguajes de programacion llamados lenguajes de
programaci
on l
ogicos.
Si consideramos el programa
{potencia 0}
a := 1;
for i := 1 to potencia do a := a base;
respuesta := a
una especificaci
on de este programa mediante la Logica de primer orden es la siguiente:
{( base)( potencia)((potencia 0) (respuesta = base potencia))}
donde hemos utilizado smbolos especficos de C, P y F respectivamente, para la constante
cero, para los predicados igual y mayor o igual que y para la funcion aritmetica 4 y
hemos permitido las cadenas potencia y base como elementos de V.

Una vez definido el conjunto de terminos y el lenguaje de la logica de primer orden como
clausuras inductivas, podemos, tal como explicamos en el libro de logica proposicional, utilizar
el principio de inducci
on estructural para verificar propiedades sobre tales conjuntos.
4

Estos u
ltimos utilizados en notaci
on infija en lugar de notaci
on prefija


1.1. LENGUAJE L1 DE UNA LOGICA
DE PRIMER ORDEN

11

Principio de inducci
on estructural: Sea L1 () un lenguaje de primer orden.
Todos los terminos de L1 () tienen la propiedad P con tal de que se cumpla:
1. Toda constante o variable tiene la propiedad P.
2. Si los terminos t1 , . . . , tn tienen la propiedad P y f F es de aridad n, entonces
f (t1 , . . . , tn ) tiene la propiedad P.
Todas las fbfs de L1 () 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.


Inducci
on sobre el grado
Del mismo modo, podemos realizar la induccion sobre el grado de un termino o fbf.
Definici
on 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(t1 ) + . . . + gr(tn ), si t es de la forma f (t1 , . . . , tn )
El grado de una fbf consiste en el n
umero de operadores logicos que intervienen en ella:
Definici
on 1.9 Denotemos el grado de una fbf, A, mediante gr(A). Entonces definimos:
1. gr(A) = 0, si A es un a
tomo
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 L1 (). Entonces:
Todos los terminos de L1 () 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 (t1 , . . . , tn ) tiene la propiedad P, entonces
f (t1 , . . . , tn ) tiene la propiedad P.
Todas las fbfs de L1 () tienen la propiedad P con tal de que se cumpla:
1. Todos los
atomos tienen la propiedad P.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

12

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 A B, 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 definido que entendemos por un lenguaje de primer orden estamos interesados, como
en el caso proposicional, en introducir la nocion de subformula de una fbf.
Definici
on 1.10 En esta definici
on usaremos de nuevo el smbolo para representar un
conectivo booleano binario arbitrario, es decir, {, , , }.
La funci
on subf
ormula, que asigna a cada fbf A el conjunto de todas sus subf
ormulas, sub(A),
se define recursivamente como sigue:
Sub(A) = {A}

si A es un a
tomo

Sub(A) = Sub(A) {A}

Sub(A B) = Sub(A) Sub(B) {A B}

Sub((Qx)A) = Sub(A) {(Qx)A}

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
Sint
actico

Definici
on 1.11 El
arbol sint
actico para una fbf, A, de L1 , denotado TA , es el a-
arbol,
donde a es el alfabeto para L1 , definido recursivamente como sigue:
1. TA es A, si A es un a
tomo

2. TA es

TA

3. TAB (donde {, , , }) es

TA

@
@

TB

Qx

4. TQxA es

TA

Ejemplo 1.5 El
arbol sint
actico de la fbf


(x) R(x) (y)T (x, y) (z) (u)P (u, z) (v)Q(v, z)


1.1. LENGUAJE L1 DE UNA LOGICA
DE PRIMER ORDEN

13

es



H
HH

@
@

R(x)

@
@

T (x, y)

P (u, z)

Q(v, z)

Como en el caso proposicional, las subformulas de una fbf quedan caracterizadas en terminos
de los subarboles del
arbol sint
actico de la fbf:
B es una subf
ormula de A si y solo si TB es un sub
arbol de TA .
1.1.3.1.

Notaci
on

Usaremos las mismas notaciones que en la logica proposicional: A[B] denota que B es una
subformula de A y A[B/C] denota que al menos una ocurrencia de B en A se ha sustituido por
la fbf C.

1.1.4.

Variables Libres y Variables Ligadas

Definici
on 1.12 En toda fbf de la forma (Qx)A, decimos que x es la variable del cuantificador y que la fbf A es el rango del cuantificador (o de la variable cuantificada). Es decir, el
rango de un cuantificador (Qx) es la fbf a la que se aplica.
er er Observese que la definici
on dada no exige que x aparezca en el rango de su cuantificacion.

En terminos del
arbol sint
actico de una fbf A:
El rango de una ocurrencia del cuantificador (Qx) en una fbf A, es la subformula cuyo
arbol sint
actico tiene como raz el nodo sucesor del nodo en TA cuya etiqueta es dicha
ocurrencia de Qx.
Una subf
ormula B de A ocurre en el rango de una ocurrencia del cuantificador (Qx) si la
raz de TB es un descendiente del nodo en TA tal que la etiqueta de es dicha ocurrencia
de Qx.
Ejemplo 1.6 En la fbf
(z) [(x) P (x, z) (y)(Q(z) R(y, z))]
cuyo arbol sint
actico es:


CAPITULO 1. LOGICA
DE PRIMER ORDEN

14

H
HH

P (x, z)

Q(z)

@
@

R(y, z)

los rangos de sus cuantificadores 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 cuantificadores (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 cuantificador (Qx). Para ello introducimos las
siguientes definiciones:
Definici
on 1.13 Una ocurrencia de una variable, x, es una ocurrencia ligada si es la variable
de un cuantificador o bien si est
a en el rango de un cuantificador que la tiene como variable.
Una ocurrencia de una variable, x, es una ocurrencia libre si no es ligada.
Una variable es libre si tiene ocurrencias libres y es ligada si tiene
ocurrencias ligadas.
La noci
on de variable libre en una fbf es fundamental para trabajar en los lenguajes
de primer orden.
er er N
otese que, dada una fbf, A, una misma variable, x, puede ser libre y ligada a la vez en A.

Ejemplo 1.7
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 u
nica aparicion de
la variable z es libre.


1.1. LENGUAJE L1 DE UNA LOGICA
DE PRIMER ORDEN

15

Podemos definir el conjunto de las variables libres y de las variables ligadas de una fbf
recursivamente como sigue:
Definici
on 1.14 El conjunto de variables libres de una fbf A, denotado Vlibre (A) se define
recursivamente como sigue:
1. Vlibre (P (t1 , . . . , tn )) = V(t1 ) V(tn ), donde V(ti ) denota el conjunto de variables que
intervienen en el termino ti .
2. Vlibre (A) = Vlibre (A).
3. Vlibre (A B) = Vlibre (A) Vlibre (B), donde ( {, , , }.
4. Vlibre ((Qx)A) = Vlibre (A) {x}.
Definici
on 1.15 El conjunto de variables ligadas de una fbf A, que denotaremos Vligada (A),
se define recursivamente como sigue:
1. Vligada (P (t1 , . . . , tn )) = .
2. Vligada (A) = Vligada (A).
3. Vligada (A B) = Vligada (A) Vligada (B), donde {, , , }.
4. Vligada ((Qx)A) = Vligada (A) {x}.
Como hemos indicado, para una fbf A, la interseccion de Vlibre (A) y Vligada (A) no necesariamente 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 Vlibre (A) = {x, z} y Vligada (A) = {x, y}.
Notaci
on: Para expresar que las variables x1 , . . . , xn son libres en la fbf A escribiremos
A(x1 , . . . , xn ). Con esta notaci
on destacamos que {x1 , . . . , xn } es un subconjunto de Vlibre (A),
pero tengase en cuenta que este subconjunto puede ser propio, es decir, la notacion A(x1 , . . . , xn )
no exige que x1 , . . . , xn sean las u
nicas variables con ocurrencias libres en A, son simplemente
variables que queremos destacar.
Definici
on 1.16 Una fbf A es cerrada o un enunciado si Vlibre (A) = .
Definici
on 1.17 Si Vlibre (A) = {x1 , . . . , xn }, se llama cierre universal de A a la fbf
(x1 )(x2 ) . . . (xn )A(x1 , . . . , xn )
Se llama cierre existencial de A a la fbf
(x1 )(x2 ) . . . (x1 )A(x1 , . . . , xn )

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:


CAPITULO 1. LOGICA
DE PRIMER ORDEN

16

1.1.5.

Sustituci
on de variables

Comenzamos estableciendo que se entiende por renombramiento de una variable ligada.


Definici
on 1.18 Sea A una fbf en la que intervienen cuantificadores. Un renombramiento de
una variable x Vligada(A) es la sustituci
on de x (la variable renombrada) tanto en el cuantificador 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.8 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
A0 = ((v)P (v, a, z) Q(b, f (x, c)) (y)(C(d, y) D(y))
er er Es obvio que el proceso de renombramiento en una fbf, A, tan solo modifica Vligada (A). El
conjunto de las variables libres, Vlibre (A), no se modifica. As, en el ejemplo anterior,
Vlibre (A0 ) = Vlibre (A) = {x, z} y Vligada (A0 ) = {v, y}

Notaci
on:
1. Sea x una variable y sea t1 , t2 terminos. Denotaremos mediante [x/t2 ]t1 el termino resultante de sustituir en el termino t1 las apariciones de la variable x por el termino t2 .
2. Sea x Vlibres (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.
La definicion inductiva es la siguiente.
Definici
on 1.19
- Si t1 V y t1 = x, entonces [x/t2 ]t1 = t2 .
- Si t1 V y t1 6= x, entonces [x/t2 ]t1 = t1 .
- Si t1 C, entonces [x/t2 ]t1 = t1 .
- Si t1 = f (u1 , . . . , un ), siendo u1 , . . . , un terminos cualesquiera, entonces
[x/t2 ]t1 = f ([x/t2 ]u1 , . . . , [x/t2 ]un )
Definici
on 1.20 Si A es una fbf, x un smbolo de variable y a es un smbolo de constante,
definimos [x/a]A inductivamente como sigue:


1.1. LENGUAJE L1 DE UNA LOGICA
DE PRIMER ORDEN

17

- Si A = P (t1 , . . . , tn ) es un a
tomo, entonces [x/a]A = P ([x/a]t1 , . . . , [x/a]tn ).
- 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 6= x, entonces [x/a]A = (Qy)[x/a]B
Definici
on 1.21 Dada la fbf A(x) y el termino b
asico (sin variables), t, a la fbf [x/t]A(x) la
denominamos una instancia b
asica de A(x). El mecanismo de sustituir una variable ligada
por un termino b
asico se denomina instanciaci
on. 5
er er El comportamiento de una variable cuantificada 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 practica, desearemos obtener una fbf, B, a partir de otra fbf, A, mediante la sustituci
on
en A de variables por terminos y de modo que el significado 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
afirmar 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 significado 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 cuantificador (x) y su rango, que no exista en A. Por
lo tanto, si deseamos no alterar el significado 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 definitiva, como tendremos ocasion de
comprobar cuando estudiemos la sem
antica, para evitar este hecho conocido en la bibliografa
6
como conflicto de variables, requerimos la siguiente definicion:
Definici
on 1.22 Sea A una fbf, x Vlibre (A) y t un termino tal que V(t) = {x1 , . . . , xn }. Se
dice que el t
ermino t es libre para x en A (o bien que x es sustituible por t en A) si,
para toda variable xi V(t), se tiene que ninguna ocurrencia libre de x en A est
a en el rango
de una ocurrencia en A del cuantificador (Qxi ). Es decir, las ocurrencias de xi surgidas como
consecuencia de la sustituci
on de x por t, son ocurrencias libres en A(t).
5
Somos conscientes de que esta denominaci
on es desafortunada, quiz
as deberamos haber optado por concreci
on en lugar de instanciaci
on. La decisi
on final ha venido condicionada por el uso habitual que se hace de
esta expresi
on.
6
Variable clash en la bibliografa inglesa.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

18

er er Como consecuencia inmediata de la definicion, tenemos que:


Un termino b
asico es libre para cualquier variable en cualquier fbf.
Dado un termino t, si V(t) Vligada (A) = , entonces t es libre para toda variable libre
de A.

Ejemplo 1.9
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.
La siguiente definici
on, 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).
Definici
on 1.23
Si t es libre para x en A(x), la sustituci
on 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) = {x1 , . . . , xn }, la sustituci
on en A de x por t
consiste en los dos pasos siguientes:
1. renombrar en A las variables xi tales que x ocurre en el rango de (Qxi ) por una
variable de renombramiento que no ocurra en t.
2. sustituir en A las ocurrencias libres de x por t.
Ejemplo 1.10 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)


1.2. SEMANTICA
PARA LOS LENGUAJES DE PRIMER ORDEN

19

er er Las variables tienen en l


ogica 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 funcion en el que ha de colocarse un
argumento para evaluar la funci
on. La variable x esta ligada. Mas concretamente, la primera
ocurrencia de x crea una ligadura, a la que se enganchan las demas 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 esta permitido reemplazar una ocurrencia solamente:
f (x) = y + 6;

f (y) = x + 6

Sk=8
En la expresi
on k=1 Aki , 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 significado, pero no
podemos renombrar k por i.
Si consideramos la f
ormula para evaluar una integral doble seg
un el teorema de Fubini
!
Z
Z
b

h(y)

f (x, y)dx dy.


a

g(y)

en la expresi
on entre parentesis todas las ocurrencias de x estan 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.
Claramente, no es posible sustituir arbitrariamente en la expresion entre parentesis las
variables libres por otras. Por ejemplo, las expresiones
!
!
Z
Z
Z
Z
b

h(z)

h(y)

f (x, z)dx dy
a

g(z)

f (x, y)dx dy
a

g(y)

no tiene el mismo significado.

Para terminar este apartado, consideremos la fbf


(x)(P (x, a) (x)R(x))
en ella existe un cuantificador (Qx) en el rango de un cuantificador (Q0 x), es decir, existe un
anidamiento de cuantificadores con la misma variable de cuantificacion. Es posible (y deseable,
como posteriormente nos confirmar
a la semantica) evitar la situacion anterior restringiendo la
regla que permite construir fbfs cuantificadas del siguiente modo:
Definici
on 1.24 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.

Sem
antica para los Lenguajes de Primer Orden

Como ya conocemos, la sem


antica de un lenguaje tiene como fin dar significado a las fbfs del
lenguaje a partir de su estructura sint
actica y establecer la nocion (semantica) de deducci
on. En
consecuencia, como se
nalamos al estudiar la Logica Clasica Proposicional, una mayor complejidad del lenguaje implica una estructura mas compleja de los modelos. As pues, dar significado
a las fbfs de un lenguaje de primer orden conlleva una mayor dificultad que la requerida en el


CAPITULO 1. LOGICA
DE PRIMER ORDEN

20

caso proposicional, en el que una interpretacion queda determinada sin mas que asignar uno de
los valores de verdad {0, 1} a cada smbolo proposicional.
Como ya sabemos, definir la sem
antica requiere definir una terna (S, D, I), donde S es el
conjunto de valores sem
anticos, D S es el conjunto de valores semanticos 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 {1}. La mayor dificultad la encontramos
en la tarea de definir el conjunto de interpretaciones, I, es decir, en la definicion de interpretacion,
en como establecer cu
ando una fbf es verdadera o falsa.
Puesto que el lenguaje nos permite detallar de que o quien afirmamos, que afirmamos y si afirmamos sobre todos los entes/individuos o de alguno (concreto o arbitrario), necesitamos en primer lugar fijar un dominio o universo del discurso, U , que determine sobre que entes/individuos
afirmamos y, elegido este,
1. asignar elementos especficos 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.
Por otra parte, si la fbf contiene variables libres, debemos especificar que valores del dominio
representan. As, dada la fbf (x)P (x), si consideramos U = N y asignamos a P el significado
es par, podemos asegurar que la fbf es falsa en esta interpretacion. Pero nada podemos afirmar
sobre la fbf P (x) si no nos pronunciamos sobre el n
umero natural representado por x.
Analogamente, podemos pensar en una interpretacion en la que la formula 2 + 3 = 5 es
verdadera,7 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 parametros en un programa PASCAL, el procedimiento
procedure P (X : integer ; Y : integer)
no puede computarse salvo que sea llamado con parametros 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 afirmacion sobre el dominio, que es
verdadera o falsa dependiendo de la asignacion realizada a las variables libres.
7

En estos ejemplos hemos escrito 2 + 3 = 5 en lugar de = (+(2, 3), 5) permitiendonos la licencia de usar
notaci
on infija para los predicados y funciones. Nos tomaremos esta libertad cuando consideremos que aumenta
la legibilidad.


1.2. SEMANTICA
PARA LOS LENGUAJES DE PRIMER ORDEN

1.2.1.

21

Sem
antica de Tarski

La semantica que vamos a exponer fue dada por Alfred Tarski en 1936.

De acuerdo con las consideraciones anteriores, el concepto de interpretacion para un lenguaje


de primer orden se introduce como sigue:
Definici
on 1.25 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, el
subconjunto I(P ) U n . 9

A cada smbolo de funci


on n-aria, f , una funci
on n-aria sobre U , es decir,
I(f ) : U n U

er er Tenemos ya elementos suficientes para darnos cuenta de la complejidad de la semantica que


estamos definiendo.
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 = {u1 , u2 , u3 , u4 } de cuantas interpretaciones I podemos
disponer? Tenemos 24 posibles interpretaciones posibles para P (es decir, el n
umero de
elementos de P(U )) y nada menos que 216 posibles interpretaciones para cada uno de los
predicados binarios Q y R (es decir, el n
umero de elementos de P(U U )).

A veces hablaremos de (U, I) como una interpretacion sobre el dominio U .


Dada una interpretaci
on (U, I), al cardinal de U se denomina cardinal de la interpretaci
on.
Dada una interpretaci
on (U, I), disponemos de la interpretacion para cada uno de los elementos de la signatura. Ahora tenemos que preocuparnos de las variables, las cuales tendran el
significado esperado, es decir, las variables representan elementos cualesquiera del dominio. Este
significado se recoge mediante la noci
on de valuacion de variables:
Definici
on 1.26 Una valuaci
on o asignaci
on de variables (o un entorno), , asociada a
una interpretaci
on (U, I) es una aplicaci
on del conjunto de variables V en el dominio U .
: V U

A. Tarski. Der Wahrheitsbegriff in den formalisierten Sprachen. Studia Philosophica, 1:261405, 1936.
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 (es decir subconjunto
de U n .
9


CAPITULO 1. LOGICA
DE PRIMER ORDEN

22

er er En la sem
antica de los lenguajes de programacion, una valuacion de variables representa un
estado de la memoria.

Si ya podemos interpretar los elementos de la signatura y de las variables, ya podemos dar


significado a los terminos, como recoge la definicion siguiente.
Definici
on 1.27 Dada una interpretaci
on (U, I) y una valuaci
on de variables asociada a ella,
definimos recursivamente una aplicaci
on I , llamada funci
on 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 (t1 , . . . , tn )) = I(f )(I (t1 ), . . . , I (tn )).
er er Observese que si un termino t es b
asico (sin variables), el significado en U asignado a t por
una funci
on de significado 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 basico 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 valuacion a una
fbf.
Definici
on 1.28 Dada una interpretaci
on (U, I) y una valuaci
on de variables asociada a
(U, I), definimos el valor de verdad de un a
tomo como sigue: I () = 0, I (>) = 1 y
I (P (t1 , . . . , tn )) = 1

si y solo si

(I (t1 ), . . . , I (tn )) I(P )

Es decir, I (P (t1 , . . . , tn )) = 1 si la n-upla (I (t1 ), . . . , I (tn )) de elementos de U est


an en la
relaci
on I(P ) (es decir, en la relaci
on n-aria en U que I asocia a P ).
Esta definici
on se extiende recursivamente a las fbfs cuya conectiva principal es booleana del
siguiente modo:
I (A) = 1 si y solo si I (A) = 0, es decir, I (A) = 1 I (A)
I (A B) = 1 si y solo si I (A) = 1 y I (B) = 1, es decir, I (A B) = mn{I (A), I (B)}
I (A B) = 1 si y solo si I (A) = 1 o I (B) = 1, es decir, I (A B) = max{I (A), I (B)}
I (A B) = 1 si y solo si I (A) = 0 o I (B) = 1, es decir,
I (A B) = max{1 I (A), I (B)}
Para terminar la tarea, debemos extender la definicion para las fbfs (x)A y (x)A. Esto
requiere una definici
on previa, para destacar que la situacion en la cual, cuando contemplamos
dos valuaciones de variables, tan solo estamos interesados en la asignacion de valores de tales
dos valuaciones a una variable concreta.


1.2. SEMANTICA
PARA LOS LENGUAJES DE PRIMER ORDEN

23

Definici
on 1.29 Sea x V. Dos valuaciones de variables y 0 se dicen x-equivalentes
0
si (y) = (y) para toda variable y 6= x.

Obviamente, dado un smbolo de variable x, la relacion de x-equivalencia es una relacion de


equivalencia en el conjunto de valuaciones de variables.
Definici
on 1.30
I ( (x)A ) = 1 si y solo si I0 (A) = 1 para toda valuaci
on de variables 0 que sea xequivalente a , es decir,
I ( (x)A ) = inf{I0 (A) | 0 es x-equivalente a }
I ( (x)A) = 1 si y solo si I0 (A) = 1 para alguna valuaci
on de variables 0 que sea xequivalente a , es decir,
I ( ((x)A ) = sup{I0 (A) | 0 es x-equivalente a }
er er 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 significado de una fbf y el significado
de la fbf obtenida tras este proceso? Como indicamos all, en las aplicaciones nos interesar
a preservar el significado. 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 sustituci


on)
1. I ([x/t2 ]t1 ) = I0 (t1 ), siendo 0 x-equivalente a y I (t2 ) = 0 (x).
2. I ([x/t]A) = I0 (A), siendo 0 x-equivalente a , t est
a libre para x en A y, adem
as,
I (t) = 0 (x).

1.2.2.

Satisfacibilidad y Validez

Definici
on 1.31
1. Una fbf, A L1 , se dice satisfacible o modelizable, si existe una interpretaci
on (U, I)
y una valuaci
on de variables asociada a (U, I), tal que I (A) = 1.
2. Una fbf, A L1 , se dice verdadera en una interpretaci
on (U, I), denotado |=(U,I) A o
bien por I(A) = 1 (si no hay lugar a confusi
on), si para toda valuaci
on de variables se
tiene que I (A) = 1.
3. Una fbf, A L1 , se dice que es v
alida, denotado |= A, si es verdadera en toda interpretaci
on (U, I), es decir, si I(A) = 1 para toda interpretaci
on (U, I). Obviamente, > es
v
alida.
4. Una fbf, A L1 , se dice insatisfacible o que es una contradiccion, si I (A) = 0 para
toda interpretaci
on (U, I) y toda valuaci
on de variables .
5. Un conjunto de fbfs, L1 se dice satisfacible o modelizable, si existe alguna
interpretaci
on (U, I) y una valuaci
on de variables asociada a (U, I) tal que I (A) = 1
para toda fbf A de .


CAPITULO 1. LOGICA
DE PRIMER ORDEN

24

er er 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 interpretacion, I, se requiere que para toda
valuaci
on se tenga que I (A) = 1.
- para que una interpretaci
on, I, satisfaga o modelize a una fbf, A, basta que para alguna
valuaci
on se tenga que I (A) = 1.
Tendremos ocasi
on de insistir en esta diferenciacion con ejemplos.

Como en la l
ogica proposicional, es costumbre utilizar indistintamente las expresiones A es
verdadera en M = (U, I) y M es un modelo para A.
er er Consideremos un conjunto finito de fbfs, . Entonces, dada una interpretacion (U, I) y una
valuaci
on de variables , se tiene que el valor de verdad asignado a por I solo depende de
las im
agenes por I de los smbolos de constante, de funcion y de predicados que intervienen
en . Esto justifica la siguiente nocion de interpretacion para un conjunto de finito de fbfs
o, en particular, para una fbf, A.

Definici
on 1.32 Una interpretaci
on para un conjunto finito de fbfs cerradas, (en
particular para una fbf A) es una tupla de la forma
M = (U ; {u1 , . . . , un }; {F1 , . . . , Fm }; {R1 , . . . , Rk })

donde ui son los elementos de U asignados a los smbolos de constantes {a1 , . . . an } que intervienen en , Fi son las funciones sobre U asignadas a los smbolos de funciones {f1 , . . . fm } que
intervienen en y Ri son las relaciones en U asignadas a los smbolos de predicado {P1 , . . . Pk }
que intervienen en .
Ejemplo 1.11 Consideremos la fbf A = (x)(P (x) Q(f (x), a)). Esta formula es cerrada (no
tiene variables libres. Una interpretaci
on Una interpretacion para A es
({1, 2, 3}; {a ; 1}; {f ; {(1, 2), (2, 1), (3, 3)}}; {P ; {2}, Q ; {(1, 1), (1, 2)}})

10

Definici
on 1.33 Una estructura para una fbf A es una tupla de la forma
(CA , FA , PA ; U ; {u1 , . . . , un }; {F1 , . . . , Fm }; {R1 , . . . , Rk })
donde
= CA FA PA es una signatura para A y
M = (U ; {u1 , . . . , un }; {F1 , . . . , Fm }; {R1 , . . . , Rk }) es una interpretaci
on para A.
Definici
on 1.34 Una estructura para un conjunto finito de fbfs es una tupla de la
forma
(C , F , P ; U ; {d1 , . . . , dn }; {F1 , . . . , Fm }; {R1 , . . . , Rk })
donde

= C F P ) es una signatura para


M = (U ; {u1 , . . . un }; {F1 , . . . Fm }; {R1 , . . . Rk }) es una interpretaci
on para .
10

En definitiva, una interpretaci


on M para un conjunto finito de fbfs , es la restricci
on de una interpretaci
on
(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).


1.2. SEMANTICA
PARA LOS LENGUAJES DE PRIMER ORDEN

25

er er En la l
ogica proposicional, el cardinal del conjunto de interpretaciones es infinito, concretamente, 20 = |{0, 1}||Vprop | , donde Vprop es el conjunto de smbolos proposicionales. Sin
embargo, el n
umero de interpretaciones para una fbf A es siempre finito (2n , si n es el n
umero 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 conocidas tablas de verdad y, en consecuencia, afirmar la decidibilidad de la logica proposicional.
Por el contrario, en la l
ogica de primer orden, tanto el conjunto de todas las interpretaciones,
como el conjunto de interpretaciones para una fbf es infinito. Eso es as porque, aunque tres
de las componentes en una interpretacion M = (U ; {u1 , . . . un }, {F1 , . . . Fm } y {R1 , . . . Rk }),
son de cardinal finito, 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 infinito de dominios U y para cada uno de ellos, tenemos
que considerar cualquier combinaci
on de elecciones para la interpretacion de las constantes,
de las funciones y de los predicados.

Ejemplo 1.12
1. Veamos que A = P (x, 0) es satisfacible. En efecto, sea la interpretacion (Z, I) con I(P ) =
00 . Puesto que A tiene una variable libre, para asignarle un valor de verdad, requerimos
una valuaci
on de variables. Podemos considerar cualquier valuacion de variables, , tal que
(x) 0 y para cada una de ellas se tiene que I (P (x, 0)) = 1.
Sin embargo, P (x, 0) no es verdadera en (Z, I), ya que para toda valuacion, , tal que
(x) > 0 se tiene que I (P (x, 0)) = 0.
2. Consideremos ahora A = P (x) y la interpretacion
M = ({1, 2}; ; ; {P ; {1}})
Puesto que en la fbf solo interviene el smbolo de variable x, dada una valuacion de variables, estamos u
nicamente 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 0 tales que
0 (x) = 2. Obviamente, cada valuacion 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}

I0 (P (x)) = 0 ya que 2 = 0 (x) 6 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 valuacion de
variable, , estamos u
nicamente 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


CAPITULO 1. LOGICA
DE PRIMER ORDEN

26
- 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
er er

Las
Las
Las
Las

valuaciones
valuaciones
valuaciones
valuaciones

de
de
de
de

tipo
tipo
tipo
tipo

1
2
1
2

y
y
y
y

de
de
de
de

tipo
tipo
tipo
tipo

4
3
3
4

son
son
son
son

x-equivalentes.
x-equivalentes.
y-equivalentes.
y-equivalentes.

Intuitivamente es claro que (x)(y)Q(x, y) es verdadera en la interpretacion dada. Formalmente, necesitamos las siguientes consideraciones:
I1 (Q(x, y)) = 1, ya que (1, 1) = (1 (x), 1 (y)) I(Q) = {(1, 1), (2, 2)}. Por lo tanto,
I1 ((y)Q(x, y)) = 1 y al ser 1 y 3 y-equivalentes tambien I3 ((y)Q(x, y)) = 1.
I2 (Q(x, y)) = 1, ya que (2, 2) = (2 (x), 2 (y)) I(Q) = {(1, 1), (2, 2)}. Por lo tanto,
I2 ((y)Q(x, y)) = 1 y al ser 2 y 4 y-equivalentes tambien I4 ((y)Q(x, y)) = 1
y, en consecuencia, para toda i donde i {1, 2, 3, 4}, se tiene que
Ii ( (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.
Los siguientes resultados son de gran interes para poder facilitar la manipulacion semantica
de las fbfs.
Teorema 1.2 Sea una fbf A y sea M = (U, I) una interpretaci
on de L1 , entonces si y 0 son
0
dos valuaciones de variables tales que (x) = (x) para toda variable x tal que x Vlibre (A), se
tiene que
I (A) = 1 si y solo si I0 (A) = 1
n: Lo demostramos por induccion sobre el n
Demostracio
umero n de conectivas booleanas y
smbolos de cuantificaci
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) = 0 (x) para toda variable x en A, se tiene que I (A) = I0 (A).
Supongamos que el resultado es cierto para n < k y lo demostramos para n = k. Demostramos 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 L1 y sean y 0 dos valuaciones


de variables tales que (x) = 0 (x) para toda variable x tal que x Vlibre (A). Entonces,
I (A) = 1 si y solo si I (B) = 0 y, puesto que
Vlibre (A) = Vlibre (B)
se tiene (por hip
otesis de inducci
on) que, I0 (B) = I (B). Por lo tanto, I (A) = 1 si y solo
si I0 (A) = 1.


1.2. SEMANTICA
PARA LOS LENGUAJES DE PRIMER ORDEN

27

Sea A = B C. Sea M = (U, I) una interpretacion de L1 y y 0 dos valuaciones de


variables tales que (x) = 0 (x) para toda variable x tal que x Vlibre (A). Entonces,
I (A) = 1 si y solo si I (B) = I (C) = 1 y, puesto que
Vlibre (A) = Vlibre (B) Vlibre (C)
por la hip
otesis de inducci
on tenemos que, I0 (B) = I (B) y I0 (C) = I (C).
Por lo tanto, I (A) = 1 si y solo si I0 (A) = 1.
Sea A = (x)B. Sea M = (U, I) una interpretacion de L1 y sean y 0 dos valuaciones
de variables tales que (x) = 0 (x) para toda variable x tal que x Vlibre (A). En este
caso, Vlibre (B) = Vlibre (A) {x}. Supongamos que I (A) = 1 y veamos que I0 (A) = 1.
Para ello habr
a que comprobar que I0 (B) = 1 para toda valuacion de variables 0 que sea
x-equivalente a 0 :
Sea 0 una valuaci
on de variables x-equivalente a 0 . Consideremos la valuacion de variables
como sigue:
 0
(y), si y Vlibre (B)
(y) =
0(y), en caso contrario
Veamos que es x-equivalente a . Sea y cualquier variable distinta de x, como 0 es
x-equivalente a 0 , resulta que 0 (y) = 0 (y). Ahora tenemos dos casos:
y Vlibre (B).
Entonces (y) = 0 (y) (por def. de ), luego (y) = 0 (y). Ahora bien, por hipotesis,
y 0 coinciden en los valores asignados a las variables de Vlibre (B), por tanto, (y) =
(y).
y
/ Vlibre (B).
Entonces (y) = 0 (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) = 0 (y) para toda y Vlibre (A), por hipotesis de induccion, I0 (B) = I (B) y entonces
I0 (B) = 1. Por tanto, se tiene que I0 (A) = 1.
La demostraci
on del inverso es analoga.

Teorema 1.3 Dada una fbf cerrada A y una interpretaci


on M = (U, I), se tiene que I(A) = 1
o bien I(A) = 0
n: Puesto que A no tiene variables libres, dos valuaciones de variables cualesDemostracio
quiera y 0 cumplen la hip
otesis del teorema anterior. Por lo tanto, I (A) = 1 si y solo si
I0 (A) = 1. As pues, I (A) = 1 para toda valuacion de variables o bien I (A) = 0 para toda
valuacion de variables , es decir, I(A) = 1 o I(A) = 0.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

28
Teorema 1.4 Dada una fbf A

1. A es v
alida si y solo si A es insatisfacible.
2. A(x1 , . . . , xn ) es satisfacible si y solo si su cierre existencial lo es.
3. A(x1 , . . . , xn ) es v
alida si y solo si su cierre universal lo es.

11

n:
Demostracio
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 valuacion 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 valuacion de
variables 0 x-equivalente a tal que I0 (A(x)) = 1 y A(x) es satisfacible.
3. Bastar
a probar que A(x) es v
alida si y solo si (x)A es valida.
Supongamos que A(x) es v
alida. Entonces, si (U, I) es una interpretacion cualquiera, se
tiene que, I (A(x)) = 1 para toda valuacion de variables , luego lo es, en particular, para
las valuaciones x-equivalentes a . Por lo tanto, I((xi )A(x)) = 1 y, puesto que (U, I) es
arbitraria, (x)A(x) es v
alida.
Inversamente, supongamos que (x)A(x) es valida. Entonces, si (U, I) es una interpretaci
on
arbitraria, se tiene que, I ((x)A(x)) = 1 para toda valuacion de variables y, por
definici
on, se tiene que I0 (A(x)) = 1 para las valuaciones x-equivalentes a . Por tanto,
A(x) es v
alida.
er er El Teorema 1.4 nos permite afirmar que
Toda la expresividad de la l
ogica 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 enunciados del lenguaje natural.

Una vez demostrado el Teorema 1.4 podemos plantearnos redefinir la semantica limitandonos
a la consideraci
on de las fbfs cerradas:
Definici
on 1.35 Si t1 , . . . , tn son terminos b
asicos y
M = (U ; {u1 , . . . un }; {F1 , . . . Fm }; {R})
es una interpretaci
on para P (t1 . . . , tn ), entonces definimos el valor de verdad de P (t1 . . . , tn )
como sigue:
11

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


1.2. SEMANTICA
PARA LOS LENGUAJES DE PRIMER ORDEN
I(P (t1 , . . . , tn )) = 1

si y solo si

29

(I(t1 ), . . . , I(tn )) I(P ) = R

Esta definici
on se extiende recursivamente a todas las fbfs cerradas del siguiente modo:
Si M = (U ; {u1 , . . . un }; {F1 , . . . Fm }; {R1 , . . . Rk }) 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 u0 U , se tiene que
Iu0 ([x/b]B) = 1
donde b es un smbolo de constante que no ocurre en B e Iu0 es la interpretacion correspondiente a la extensi
on de M que asocia u0 a b.
6. I( (x)B ) = 1 si y solo si para todo u0 U , se tiene que
Iu0 ([x/b]B) = 1
donde b es un smbolo de constante que no ocurre en B e Iu0 se define 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.
Definici
on 1.36
Una fbf cerrada A es satisfacible si Mod(A) 6= .
Si es un conjunto de fbfs cerradas, entonces es satisfacible si Mod() 6= .
Una fbf cerrada A es v
alida si Mod(A) = I.
Los ejemplos expuestos hasta aqu nos muestran que, a diferencia de la logica clasica proposicional, en la l
ogica cl
asica 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 u
nico handicap, mas adelante
probaremos que los problemas de la satisfacibilidad y la validez no son decidibles en L1 : 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 definicion. Pero
incluso para este an
alisis, en los ejemplos siguientes, nos vamos a permitir expresarnos menos
formalmente.
Ejemplo 1.13 Consideremos el conjunto de fbfs
{P (a), (x)((y)(P (x) Q(y, x))}


CAPITULO 1. LOGICA
DE PRIMER ORDEN

30
(a) En la interpretaci
on

({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 interpretaci
on
(Z; {0}; ; {P ; N, Q ; {(m1 , m2 ) | m2 = m1 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 asignacion de un n


umero entero m a y, se tiene que
2
8 6= m y, por lo tanto, (x)(y)(P (x) Q(y, x)) no es verdadera.

(c) En la interpretaci
on
(N; {0}; ; {P ; N {0}, Q ; {(m1 , m2 ) | m1 < m2 }})
P (a) es, obviamente, falsa. Veamos que (x)(y)(P (x) Q(y, x)) es verdadera:
- Si asignamos 0 a x, para cualquier asignacion de un n
umero natural m a y, P (0)
Q(m, 0) es verdadera ya que P (0) es falsa.
- Si asignamos m 6= 0 a x, podemos asignar m 1 a y con lo cual P (m) Q(m 1, m)
es verdadera ya que Q(m 1, m) es verdadera.
er er La l
ogica de primer orden es una extension de la logica proposicional en el siguiente sentido:
Todo enunciado formalizable en Lprop es tambien formalizable en L1 .
Si la formulaci
on de un enunciado E en Lprop es una fbf valida en Lprop , entonces su
formalizaci
on en L1 es tambien una fbf valida en L1 .

Debido a que la sem


antica de los conectivos booleanos es la misma que para la logica proposicional, la noci
on de tautologa es extensible a la logica de primer orden: Es inmediato que
Si en un esquema de tautologa de la l
ogica cl
asica proposicional sustituimos cada
metasmbolo por una fbf del lenguaje de primer orden L1 , obtendremos tambien una
fbf v
alida (que llamaremos asimismo tautologa).
Tenemos, por lo tanto, el siguiente resultado:


1.2. SEMANTICA
PARA LOS LENGUAJES DE PRIMER ORDEN

31

Teorema 1.5 Todo esquema de tautologa de la l


ogica cl
asica proposicional proporciona un
esquema de tautologa en la l
ogica cl
asica de primer orden.
Ejemplo 1.14 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 L1 no es valida, se requiere encontrar una interpretacion en
la que dicha fbf sea falsa, es decir, un contramodelo para A.
Ejemplo 1.15 La fbf (x)(y)P (x, y) (y)(x)P (x, y) no es valida ya que la interpretaci
on
(N; ; ; {P ;}) es un contramodelo, es decir, un modelo para su negacion.

1.2.3.

Equivalencia L
ogica

Definici
on 1.37 Sea M = (U, I) una interpretaci
on en L1 .

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).
Definici
on 1.38 Dos fbfs A y B se dice que son l
ogicamente equivalentes, denotado A B,
si A M B para toda interpretaci
on M en L1 . 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, semanticamente, podemos expresar
un cuantificador 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 {}

O {}

tienen total expresividad para la l


ogica clasica de primer orden. En particular,
{, , }
son conjuntos adecuados de conectivas.

{, , }


CAPITULO 1. LOGICA
DE PRIMER ORDEN

32

er er Conviene hacer de nuevo hincapie en que una frase del lenguaje natural (de las contempladas
por la l
ogica cl
asica de primer orden), como ocurra en el caso proposicional, puede ser
formalizada por diversas fbfs del lenguaje L1 (mas a
un, por una infinidad numerable de fbfs)
todas ellas sem
anticamente equivalentes, es decir, que transmiten la misma informacion.
As, por ejemplo, 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, nuestra frase transmite el mismo significado
que la frase Existen aves que no pueden volar.
Ante una frase del lenguaje natural, nuestro quehacer habra de centrarse en reflexionar cual
es la informaci
on que deseamos transmitir para despues proceder a formalizarla mediante
L1 .

El siguiente resultado es una particularizacion del Teorema 1.5:


Teorema 1.6 Todo esquema de equivalencia en la l
ogica cl
asica proposicional es un esquema
de equivalencia en la l
ogica cl
asica de primer orden.
Por lo tanto, en L1 disponemos de todas las equivalencias basicas de la logica clasica proposicional: leyes de Morgan, ley de la doble negaci
on, leyes de absorci
on, leyes de cero y uno,
etc.

Leyes en L1
Nos queda pues conocer las leyes en L1 que nos muestran la interaccion de las conectivas
booleanas con los cuantificadores y de los cuantificadores entre s y que son las siguientes:
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, Q0 {, } y z no ocurre ni en A ni en B, entonces
(Qx)A(x) (Q0 x)B(x)
(Qx)A(x) (Q0 z)B([x/z]) (Qx)(Q0 z)(A(x) B(z)) (Q0 z)(Qx)(A(x) B(z))
Demostraci
on de 5:
Supongamos que x no ocurre en B. 12 Sea (U, I) una interpretacion cualquiera de L1 tal que
I ((x)(A(x) B)) = 0. Entonces existe una valuacion de variables 0 x-equivalente a tal que
I0 (A(x) B) = 0; es decir, I0 (A(x)) = I0 (B) = 0. Es claro, entonces, que I ((x)A(x)) = 0.
12

Se podra admitir que x no ocurriera libre en B.


1.2. SEMANTICA
PARA LOS LENGUAJES DE PRIMER ORDEN

33

Ademas, dado que x no ocurre en B, entonces y 0 asignan exactamente los mismos valores a
todas las variables de Varlibre (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 interpretaci
on y valuacion 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.
er er Antes de continuar, hagamos de nuevo hincapie en posibles confusiones respecto a los conceptos de variable libres libres y ligadas.
En una f
ormula como A = (x)((P (x)((x)Q(x)), la variable x ocurre en la subformula B =
(existsx)Q(x) pero ocurre ligada. Por esta razon, podemos renombrar x en esta subformula
y obtenemos as la fbf equivalente a A
A = (x)((P (x) ((y)Q(y))
De esta forma, dejamos m
as en evidencia que una variable esta ligada por en cuantificados
m
as cercano (el m
as cercano que la tiene en su ambito. As la ocurrencia de x en B no se ve
influenciada por el cuantificador universal externo.

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.
n: Sea M = (U, I). Si B M C, por definicion de M , se tiene que, para toda
Demostracio
valuacion , I (B) = I (C).
Tenemos que probar que I (A) = I (A[B/C]) para toda valuacion . 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 = A1
o A = A1 A2 , donde {, , }, la demostracion es como en el caso
proposicional.
Supongamos A = (x)A1 . Si B = A, el resultado es obvio. En caso contrario, B es una
subformula de A1 y, por hip
otesis de induccion, A1 M A1 [B/C]. Por tanto, solo nos queda
probar que I ( (x)A1 ) = I ( (x)A1 [B/C] ).
En efecto, I ((x)A1 ) = 1 si y solo si para toda valuacion de variables 0 que es xequivalente a se tiene que I0 (A1 ) = 1 si y solo si (por hipotesis de induccion) I0 (A1 [B/C]) =
1 si y solo si I ((x)A1 [B/C]) = 1.
Como corolario de este teorema, se tiene el siguiente resultado que generaliza el teorema del
mismo nombre para la l
ogica cl
asica proposicional.
Teorema 1.8 (de Equivalencia) Si B es una subf
ormula de A y B C, entonces A
A[B/C].


CAPITULO 1. LOGICA
DE PRIMER ORDEN

34

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, justifican las
restricciones que, a nivel sint
actico, 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)(Q0 x)A(x) (Qx)(Q0 z)A(z) (Q0 z)A(z)
El teorema de equivalencia permite generalizar la segunda equivalencia y justificar la definici
on
de renombramiento dada en la Secci
on 1.1.5:
Corolario 1.1 Si Qx es un cuantificador 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 definitiva, la relaci
on A coincide con B salvo renombramiento es una relacion de equivalencia.

1.3.

Forma Normal Prenexa

Como en el caso proposicional, nos interesa disponer de representantes canonicos para las
clases de equivalencia del conjunto cociente L1 / , es decir, disponer de una estructura com
un
para todas las fbfs. Es decir, deseamos disponer de un tipo de fbfs tal que cualquier fbf sea
expresable por (es decir, sem
anticamente equivalente a) una de dicho tipo y cuya lectura sea
mas agradable.
En la logica cl
asica de primer orden, las formas normales que se han mostrado especialmente u
tiles son las formas normales prenexas. Para su descripcion necesitaremos las siguientes
definiciones:
Definici
on 1.39
1. Los
atomos junto con sus negaciones se llaman literales. Decimos que los literales
P (t1 , . . . , tn ) y P (t1 , . . . , tn ) son literales opuestos.
2. Una fbf se dice que es un cubo si es >, o una conjunci
on finita (posiblemente vaca) de
literales.
3. Una fbf se dice que es una cl
ausula si es >, o una disyunci
on finita (posiblemente
vaca) de literales.
4. Una fbf en la que las u
nicas conectivas booleanas que intervienen son , y y en la que
solo afecta a los
atomos se dice que es una forma normal negativa, denotada fnn.
Definici
on 1.40
1. Una fbf se dice que es una forma normal prenexa, denotada fnp, si es de la forma
(Q1 x1 ) . . . (Qn xn )B donde

1.3. FORMA NORMAL PRENEXA

35

(Qi xi ) son cuantificadores con variables distintas.


B es una fbf que no contiene cuantificadores.
Dada una fnp, A = (Q1 x1 ) . . . (Qn xn )B, a la secuencia (Q1 x1 ) . . . (Qn xn ) 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 cl
ausula 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.
Definici
on 1.41 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 cl
ausula contiene un literal y su opuesto.
Ninguna cl
ausula contiene literales repetidos.
Ninguna cl
ausula contiene a otra.
Teorema 1.9 Para toda fbf de L1 existe una forma normal prenexa disyuntiva restringida y
una forma normal prenexa conjuntiva restringida equivalentes a ella.
n: La demostraci
Demostracio
on de este teorema proporciona el algoritmo estandar para la
obtencion 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 cuantificadas sean distintas.
Paso 2: Usar las leyes
A B (A B) (B A)
A B A B

para eliminar los conectivos y .


CAPITULO 1. LOGICA
DE PRIMER ORDEN

36

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
u
nicamente a los
atomos, es decir, obtenemos una fnn.
Paso 4: Usar las leyes

13

(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 cuantificadores 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 complementaci
on, de cero y uno y de absorcion, para obtener las formas normales restringidas.

Los siguientes ejemplos muestran c


omo obtener una fnpcr y una fnpdr equivalente a una fbf
dada.
Ejemplo 1.16 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 distribuci


on 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))]
13

Puesto que el paso 1 asegura que las variables cuantificadas son todas distintas, en la fbf B no hay ocurrencias
de la variable x.


1.4. SKOLEMIZACION

37


Ejemplo 1.17 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)
er er Advirtamos, que la forma prenexa obtenida por el procedimiento descrito no es necesariamente u
nica ya que nada hemos establecido sobre en que orden extraer los cuantificadores.
Sin embargo, el orden de los cuantificadores en el prefijo de una forma prenexa es importante,
como veremos en la secci
on siguiente.

1.4.

Skolemizaci
on

Las formas normales prenexas permiten utilizar los cuantificadores 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 mas restringido de la cuantificacion que, si bien reduce la potencia expresiva, lo hace de
forma satisfactoria para nuestro interes en el uso de la logica en Computacion. Concretamente,
es posible asociar a toda fbf, A, una fbf, denotada SkA , llamada forma de Skolem asociada
a A, que es una forma normal prenexa y en cuyo prefijo solo existen cuantificadores universales
y tal que A y SkA son equisatisfacibles.
Como conocemos por el estudio de la logica proposicional, esta perdida de potencia expresiva
carece de importancia si estamos interesados en sistemas de demostracion (automatica o no) por
refutacion.
En esta secci
on, presentamos las formas de Skolem y el proceso a seguir para, dada una fbf
A, obtener SkA . Comencemos analizando algunos ejemplos:
Ejemplo 1.18 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 elemento u0 U , se tiene que
Iu0 ((y)P (a, y)) = 1, donde a es un smbolo de constante y Iu0 es la interpretacion correspondiente a la extensi
on de M que asocia u0 al smbolo de constante a, es decir, Iu0 es
(U ; {a ; d0 }; ; {P ; R})
Como consecuencia inmediata del resultado del ejemplo anterior, se tiene que:


CAPITULO 1. LOGICA
DE PRIMER ORDEN

38

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 la necesidad de imponer restriccion de que a no ocurra en , 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.
er er Hasta aqu, no hemos hecho m
as que reflejar una practica habitual en matematicas: Despues
de afirmar la existencia de objetos x que satisfacen una propiedad P (x), continuamos con la
expresi
on sea a alguno de estos x tal que P (a) es cierto.

Podemos eliminar todos los cuantificadores existenciales de esta forma tan sencilla? La
respuesta, como nos muestra el ejemplo siguiente, es negativa.
Ejemplo 1.19
= {(x)(y)(P (x, y) P (f (x), y)), (x)(y)P (x, y)} es satisfacible.
En efecto, la interpretaci
on en L1

{{1, 2}; ; {f ; {(1, 2), (2, 1)}}; {P ; {(1, 2), (2, 1)}}}
satisface .
Para cualquier smbolo de constante a el conjunto de fbfs
0 = {(x)(y)(P (x, y) P (f (x), y)), (x)P (a, y)} es insatisfacible.
Las dos posibles interpretaciones que hay que considerar son:

{{1, 2}; {a ; 1}; {f ; {(1, 2), (2, 1)}}; {P ; {(1, 2), (2, 1)}}}
{{1, 2}; {a ; 2}; {f ; {(1, 2), (2, 1)}}; {P ; {(1, 2), (2, 1)}}}

y ninguna de ellas satisface 0 .

er er 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) afirmamos que para cada x existe
un y que est
a relacionado con x por P . En esta situacion, la practica matematica habitual
es introducir una definici
on y = (x) y afirmar que para cualquier x se tiene que P (x, (x)).
Este es el modo de proceder adecuado. En efecto, como probaremos en esta seccion, 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 .


1.4. SKOLEMIZACION

39

Pasemos ya a presentar la generalizacion de las tecnicas utilizadas en estos ejemplos.


Definici
on 1.42 Una fbf A se dice que es una forma normal de Skolem si es una forma
prenexa en cuyo prefijo s
olo aparecen cuantificadores universales.
Dada una fbf cerrada A, se llama forma normal de Skolem asociada a A, denotada SkA ,
a toda forma normal de Skolem obtenida del modo siguiente:
1. Obtener por el procedimiento introducido en la secci
on anterior una forma normal prenexa,
0
A , equivalente a A.
2. Obtener sucesivas formas prenexas a partir de A0 aplicando repetidamente el siguiente
metodo hasta que no haya cuantificadores existenciales en el prefijo:
a) Si x es una variable cuantificada existencialmente y en el prefijo de la matriz no existe
ning
un cuantificador 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 prefijo.
b) Si x es una variable cuantificada existencialmente y (xn1 ), . . . , (xnk ) son los cuantificadores universales que preceden a (x) en el prefijo de la fnp, entonces
- Elegir un smbolo de funci
on f que no ocurra en la matriz.
- Sustituir x por f (xn1 , . . . , xnk ) en la matriz.
- Eliminar (x) en el prefijo.
El proceso descrito para eliminar los cuantificadores existenciales se denomina skolemizaci
on
(por el logico noruego Thoralf Skolem). Cada aplicacion de 2.a o 2.b se denomina etapa de
skolemizaci
on y los smbolos de constante y de funcion introducidos en el proceso se denominan constantes de Skolem y funciones de Skolem, respectivamente.
Ejemplo 1.20 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.21 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)

40

CAPITULO 1. LOGICA
DE PRIMER ORDEN

y extrayendo los cuantificadores obtenemos la fbf


(x)(y)(z) (P (x) Q(x)) P (y) Q(z)

finalmente, la eliminaci
on de (y) y de (x) mediante dos etapas de skolemizacion nos hace
incluir dos smbolos de constante a y b resultando la fbf

(z) (P (a) Q(a)) P (b) Q(z)
er er Advirtamos que, como avanzamos en la seccion anterior, el orden de extraccion de los cuantificadores al obtener una forma prenexa equivalente a la fbf dada, influye en la complejidad
de la forma normal de Skolem obtenida. En efecto, puesto que no hemos establecido el orden
de extracci
on de los cuantificadores, 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
extracci
on de los cuantificadores se realiza dando prioridad a los cuantificadores existenciales.

La aplicaci
on de las etapas de skolemizacion descritas en la Definicion 1.42 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
afirmar que para todo lenguaje de primer orden L1 y toda fbf A de L1 , 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 L1 una forma de Skolem) sin mas que ampliar el lenguaje L1
a
nadiendo a este un n
umero suficiente de smbolos de constante y de smbolos de funcion. La
definicion siguiente introduce el concepto de extension estandar para un lenguaje de primer
orden.
Definici
on 1.43 Dado un lenguaje L1 de primer orden, definimos L+
on de
1 como la extensi
L1 obtenida a
nadiendo a su alfabeto un conjunto infinito numerable C + de nuevos smbolos de
constante y, para cada natural n N , un conjunto infinito numerable Fn+ de nuevos smbolos
de funci
on n-arias.
Definici
on 1.44 Contemplando toda fbf A de L1 como un enunciado de L+
1 , un proceso de
skolemizaci
on para A consiste en aplicar reiteradamente y partiendo de una forma normal
prenexa equivalente a A, cuantas etapas de skolemizaci
on en L+
1 sean necesarias hasta obtener
una forma normal de Skolem, SkA .
Descrito el procedimiento sint
actico de skolemizacion de una fbf A, pasamos a establecer la
relacion sem
antica entre A y una forma normal de Skolem asociada SkA . Con este objetivo, el
primer resultado es el siguiente teorema cuya demostracion es una consecuencia directa de la
definicion de la sem
antica.


1.4. SKOLEMIZACION

41

0
Teorema 1.11 Sean L1 y L+
1 lenguajes de primer orden tales que sus alfabetos a y a verifican:

a a0
a0 \ a consta u
nicamente de smbolos de constante y de smbolos de funci
on.
Entonces, dada una fbf, A, de L1 se tiene que
A es satisfacible en L1 si y solo si A es satisfacible en L+
1.
Podemos ya establecer el resultado fundamental de esta seccion.
Teorema 1.12 Si A es una fbf de L1 y SkA una forma de Skolem asociada a A, entonces
A es satisfacible en L1 si y solo si SkA es satisfacible en L+
1.
n: Basta probar el resultado para cada una de las etapas de skolemizacion.
Demostracio
Sea A = (x1 ) . . . (xn )(y)B(x1 , . . . , xn , y) y a un smbolo de constante que no interviene en A. Por la conmutatividad de los cuantificadores existenciales se tiene que
A (y)(x1 ) . . . (xn )B(x1 , . . . , xn , y). Por lo tanto, basta demostrarlo para una fbf del
tipo A = (x)B(x).
Si (U, I) es una interpretaci
on en L1 y una valuacion de variables tal que
I ( (y)B(y) ) = 1
entonces existe una valuaci
on de variables 0 con y-equivalente a y tal que I0 (B(y)) = 1.
Ahora, si 0 (y) = u, definimos la interpretacion (U, I 0 ) tal que I 0 difiere de I u
nicamente
en la interpretaci
on de a y tal que I 0 (a) = u. Entonces, I0 (B[y/a]) = 1 y, en consecuencia,
B[y/a] es satisfacible.
La demostraci
on del inverso es similar y se deja al lector.
Como en el tem anterior, bastar
a demostrarlo para
A = (x1 ) . . . (xn )(y)B(x1 , . . . , xn , y)
Sea (U, I) una interpretaci
on en L1 y una valuacion de variables tal que
I ((x1 ) . . . (xn )(y)B(x1 , . . . , xn , y)) = 1
Sea (u1 , . . . , un ) U n y sea 0 una valuacion de variables tal que 0 (z) = (z) si z
/
{x1 , . . . , xn } y tal que
0 (x1 ) = u1 , . . . , 0 (xn ) = un
Tenemos, pues, que I0 ((y)B(x1 , . . . , xn , y)) = 1. Luego existe una valuacion de variables
00
que es y-equivalente a 0 y tal que verifica la condicion I00 (B(x1 , . . . , xn , y)) = 1.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

42

Sea f un smbolo de funci


on n-ario que no aparece en B (esto es posible debido a la
ampliaci
on de L1 a L+
).
Ahora,
definimos la interpretacion (U, I 0 ) tal que I 0 difiere de I
1
u
nicamente en la interpretaci
on de f y tal que I 0 (f ) se define como sigue:
00

I 0 (f )(u1 , . . . , un ) = (y)
00

es decir, I0 0 (f (x1 , . . . , xn )) = (y), as como I0 00 (B(x1 , . . . , xn , y)) = 1, pues las interpre00

taciones (U, I) y (U, I 0 ) comparten el mismo dominio, as que 0 y son valuaciones de


variables asociadas a (U, I 0 ) igualmente.
Por el teorema de sustituci
on, resulta finalmente que I0 0 (B(x1 , . . . , xn , f (x1 , . . . , xn )) = 1
y, teniendo en cuenta que u1 , . . . , un eran elementos cualesquiera de U , resulta que
I0 ((x1 ) . . . (xn )B(x1 , . . . , xn , f (x1 , . . . , xn )) = 1
y en consecuencia, que (x1 ) . . . (xn )B(x1 , . . . , xn , f (x1 , . . . , xn )) es satisfacible.
La demostraci
on del inverso es similar y se deja al lector.
Terminamos esta secci
on con la definicion de una clase de fbfs que, como en el caso proposicional, es usada frecuentemente en el campo de la demostracion automatica y en la programaci
on
logica.
Definici
on 1.45 Una fbf A se dice que est
a en forma clausal si es una forma normal de
Skolem y su matriz es una forma normal conjuntiva.
Como en el caso proposicional, usaremos una notacion mas concisa escribiendo la matriz
como conjunto de cl
ausulas y omitiendo los cuantificadores (ya que sabemos que todos son
universales)
Ejemplo 1.22 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 cl
ausulas
{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 L1 existe una forma clausal ACl tal que A y ACl son equisatisfacibles.
Ejemplo 1.23
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))}


1.5. CONSECUENCIA LOGICA

43


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))}
er er Como ya hemos indicado en el Ejemplo 1.21, el analisis de la transformacion a forma clausal,
nos delata la importancia del orden de extraccion de los cuantificadores 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 cuantificadores 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)}
Ahora bien, si damos prioridad a la extraccion de los cuantificadores 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 semantica de L1 .

1.5.

Consecuencia L
ogica

La nocion de consecuencia l
ogica en la logica clasica de primer orden desempe
na el mismo
papel que en el caso proposicional, y su definicion para fbfs arbitrarias hace uso de la nocion de
valuacion de variables.
Definici
on 1.46 Dado un conjunto de fbfs y una fbf, C, se dice que C es consecuencia
l
ogica, o se deriva, o se infiere sem
anticamente de , denotado |= C, si para toda
interpretaci
on M = (U, I) y toda valuaci
on de variables se tiene que
Si I (Ai ) = 1 para toda fbf Ai entonces I (C) = 1.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

44

er er En la l
ogica cl
asica proposicional la definicion 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 L1
necesitamos exigir algo m
as, como nos advierte este ejemplo: Es claro que
No existe ninguna interpretaci
on de L1 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 definicion en terminos de
enunciados (es decir, de fbfs cerradas), la definicion no difiere de la dada en el caso proposicional:
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 definici
on de consecuencia l
ogica para la logica de primer orden fue dada por primera vez
por Tarski, 14 aunque algunos trabajos previos de Bolzano 15 y Hilbert 16 hacen uso de ella.

De nuevo, como en el caso proposicional, el significado de |= A coincide con el de |= A.


Asimismo, si nos limitamos a fbfs cerradas, se tiene la equivalencia siguiente:
, A |= B si y solo si |= A B
en particular,
A1 , A2 , . . . , An |= A

si y solo si |= (A1 A2 An ) A

si y solo si |= A1 (A2 (A3 (An A) . . .))

y tambien, tenemos
Las fbfs A y B son l
ogicamente equivalentes si y solo si A |= B y B |= A
A1 , A2 , . . . , An |= A si y solo si A1 A2 An A es insatisfacible
El siguiente ejemplo muestra algunas inferencias logicas de interes.
Ejemplo 1.24 En L1 son v
alidas 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))
14

A. Tarski. Der Wahrheitsbegriff in den formalisierten Sprachen. Studia Philosophica, 1:261405, 1936.
B. Bolzano. Wissenschaftslehre, 1837. Traducci
on en R. George, Theory of Science, Univ. California Press,
1972.
16
D. Hilbert. Grundlagen der Geometrie. Teubner, 1899.
15


1.5. CONSECUENCIA LOGICA
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)

45


CAPITULO 1. LOGICA
DE PRIMER ORDEN

46

1.6.

Ejercicios

1. Diga cu
ales de las siguientes cadenas de smbolos son formulas de un lenguaje de primer
orden. Para aquellas que sean f
ormulas, construya su arbol sintactico.
(x)(P (x) Q(x, y)),

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

(x)(P (f (x)) f (P (x))),

(x)P (y),

(P )(P (x, y) P (y, x))

2. Diga si las siguientes afirmaciones son ciertas o no razonando la respuesta


a) La f
ormula (x)Q(z) es una formula bien formada
b) Las f
ormulas 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 inducci
on 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 6= A.
4. Formalizar en L1 las siguientes frases:
a) Elena es una estudiante de COU y comparte inquietudes con Isa, que es estudiante
de Logopedia. Carlos y David tambien comparten inquietudes y ambos practican el
ciclismo.
b) No todas las aves saben volar.
c) Los elefantes son m
as 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 leccion y a un honrado a quien
proteger.
m) El conjunto de los n
umeros primos es infinito.
n) La adici
on y la multiplicaci
on 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.

47

1.6. EJERCICIOS
5. Formalizar en L1 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 filosofo sea mas sabio que cualquier qumico. Los filosofos
son m
as sabios que los aficionados a los crucigramas. Por lo tanto, si ning
un qumico
es fil
osofo, hay quien no es filosofo ni aficionado a los crucigramas.
c) Todo el que plagia el trabajo ajeno es un inepto. De todos es sabido que los expertos
en programaci
on no son ineptos y que algunos expertos en programacion dominan las
tecnicas de la programaci
on paralela. Por lo tanto, algunos de los que dominan las
tecnicas de la programaci
on paralela, no plagian el trabajo ajeno.
d ) Todas las enfermedades infecciosas son controlables. Quien padece una enfermedad
controlable, 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 adquisicion 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 isotopo
del uranio que sea radioactivo tiene vida corta. Por tanto, si todos los isotopos del
uranio son radioactivos, todos los isotopos 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.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

48

9. Hallar Vlibres 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. Determinar para cada una de las fbfs siguientes si el termino f (x, z) es libre para x:
a)
b)
c)
d)

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


Q(z) (x)(y)R(x, y, a)
(x)Q(x) (y)P (x, y)
(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:

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)
b)
c)
d)

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


A = (x)(z)(Q(z) Q(x))
A = (y)Q(g(y)) (z)R(x, y, z)
A = (y)R(x, g(x), y) (z)Q(f (x, z))

15. La composici
on 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. Definimos la sustituci
on sim
ult
anea de las variables x1 ,. . . ,xn por los terminos t1 ,. . . ,tn respectivamente y
se denota como {x1 /t1 , . . . , xn /tn } como la aplicacion que, sobre una formula A sustituye
simult
aneamente todas las apariciones libres de las variables x1 ,. . . ,xn por los terminos
t1 ,. . . ,tn respectivamente.
Eval
ue la sustituci
on {x/g(y), y/g(x)}A(x, y) y deduzca que
{x/g(y), y/g(x)} =
6 [x/g(y)] [y/g(x)]
{x/g(y), y/g(x)} =
6 [y/g(x)] [x/g(y)]

49

1.6. EJERCICIOS
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, definir en terminos de su arbol sintactico los siguientes conceptos:
a) Ocurrencia positiva de una fbf B en A.
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 L1 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, d0 ) la concatenacion de d y d0 . 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, d0 ) tales que d es una subcadena de d0 . Por
ejemplo, (amo, gamo) I(Q), (repta, paleta) 6 I(Q).

Hallar I(A) para toda fbf A .


17

17

A. Galton. Logic for Information Technology. John Wiley and Sons. 1990.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

50

21. Considere la siguiente interpretacion (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)(z)P (f (x, y), z)

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


(x)P (f (x, x), g(x, x))

22. Considere la f
ormula
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

18

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 L1 donde U = Z y
1)
2)
3)
4)

I(a) = 0.
I(f ) es el producto de n
umeros enteros.
I(P ) es la relaci
on < en Z.
I(R) es la relaci
on de igualdad en Z.

Describir en lenguaje natural la informacion contenida en A por esta interpretaci


on
y hallar I(A).
b) Sea (U 0 , I 0 ) una interpretacion para L1 donde U 0 = Z3 = {0, 1, 2} y
1)
2)
3)
4)

I 0 (a) = 2.
I 0 (f ) es la suma en Z3
I 0 (P ) = 3 , la relaci
on de congruencia modulo 3.
0
I (E) es la relaci
on R definida como (n, m) I 0 (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 0 (A).
24. Describa, si existe, 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 interpretacion para L1 , x un smbolo
de variable y una valuaci
on de variables asociada a (U, I).
Probar que para toda valuaci
on 0 que sea x-equivalente a con 0 (x) = I(t) se tiene que
I0 (A) = I ([x/t]A)
18

E. Burke y E. Foxley. Logic and its Applications. Prentice Hall. Series in Computer Science. 1996.

1.6. EJERCICIOS

51

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) v
alida.
ii) Verdadera en una interpretacion pero no valida.
iii) Satisfacible pero no verdadera en ninguna interpretacion.
iv) Insatisfacible.
27. Para cada una de las siguientes condiciones
i) v
alida.
ii) Verdadera en una interpretacion pero no valida.
iii) Satisfacible pero no verdadera en ninguna interpretacion.
iv) Insatisfacible.
Construir una fbf que las satisfaga.
28. Probar que la fbf P (x) (x)P (x) es verdadera en toda interpretacion M = (U, I) tal
que U consta de exactamente un elemento.
29. 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 v
alida.
30. Probar, haciendo uso de la definicion de la semantica, que
a) (x)P (x) P (a) es v
alida.

b) (x)P (x) P (a) no es v


alida.

c) (x)P (x) (y)P (y) es insatisfacible.

31. 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)

32. Probar que


a) (x)P (x) (y)P (y) es insatisfacible.
b) (x)P (x) (y)P (y) es v
alida.

c) P (a) (x)P (x) es satisfacible pero no valida.

d ) (x)P (x) (y)P (y) es v


alida.


CAPITULO 1. LOGICA
DE PRIMER ORDEN

52

e) Si en B no aparece la variable x y Q {, }, entonces


b
1) (Qx)(A B) ((Qx)A
B)
2) B (Qx)A (Qx)(B A(x))

33. Dar un modelo para el siguiente conjunto de fbfs


= {(x)(P (x) Q(x)), (x)P (x), (x)P (x)}
34. Determinar cu
ales 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)}

35. Probar que {, } y {, } no son conjuntos adecuados de conectivas en L1 .


36. 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)

37. Sean A y B dos fbfs tales que Vlibres (A) = Vlibres (B) y sean A0 y B 0 sus cierres universales.
Probar que
A B si y solo si A0 B 0
38. (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.
39. 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))
40. 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))]

53

1.6. EJERCICIOS
41. 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))]

42. Demostrar que son v


alidas las inferencias logicas del Ejemplo 1.24
43. Demostrar que |= es un operador de consecuencia,

19

es decir, si utilizamos la notacion

|=: 2L1 2L1


para la aplicaci
on tal que para cada 2L1 se tiene que |= () es el conjunto de fbfs que
son consecuencia l
ogica de , entonces |= satisface las siguientes propiedades:
(i) |= ()

(ii) |= (|= ()) |= ()

(iii) Si , entonces |= () |= ()

(Inclusion)
(Transitividad)
(Monotona)

44. Dado un conjunto de fbfs , una constante c y una fbf A con a lo sumo una variable libre
x, demuestre las siguientes afirmaciones:
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.


45. 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))

19

David J. Israel. The Role(s) of Logics in Artificial Intelligence Handbook of Logic in Artificial Intelligence
and Logic Programming. Volume 1. Logical Foundations. Ed Dov M. Gabbay, C.J. Hogger and J.A. Robinson.
Oxford Science Publications. 1993.

54

CAPITULO 1. LOGICA
DE PRIMER ORDEN

Captulo 2

Modelos de Herbrand
Indice
2.1. Interpretaciones de Herbrand . . . . . . . . . . . .
2.2. Teorema de Herbrand y Semidecidibilidad de L1

2.2.1. Arboles
Sem
anticos en L1 . . . . . . . . . . . . . .
2.2.2. Teorema de Herbrand . . . . . . . . . . . . . . . .
2.3. Modelos Finitos y Modelos Infinitos . . . . . . . .
2.3.1. Compacidad . . . . . . . . . . . . . . . . . . . . .
2.4. Indecidibilidad de L1 . . . . . . . . . . . . . . . . .
2.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.

. . . . .
. . . . .
. . . . . .
. . . . . .
. . . . .
. . . . . .
. . . . .
. . . . .

56
61
63
66
71
72
73
74

En este captulo estudiamos un resultado fundamental de la logica clasica de primer orden que, como veremos, tiene especial interes en la automatizacion de las deducciones y en la
semantica de los lenguajes de programacion logica:
El estudio de la satisfacibilidad de un conjunto de fbfs de la l
ogica cl
asica de primer
orden se puede reducir al estudio de la satisfacibilidad de un conjunto de cl
ausulas
b
asicas (es decir, cl
ausulas en las que no intervienen variables). En definitiva, se
puede reducir al estudio de la satisfacibilidad un conjunto (posiblemente infinito) de
cl
ausulas de la l
ogica proposicional.
Comencemos con el siguiente an
alisis: Como venimos insistiendo, el conjunto de posibles
interpretaciones M = (U, I) en la l
ogica clasica de primer orden, incluso el conjunto de posibles
interpretaciones para una sola fbf, es extremadamente complejo. La complejidad se debe a que
se requiere la elecci
on 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 interpretaci
on M = (U, I).
Afortunadamente, se dispone de una teora que simplifica drasticamente el conjunto de interpretaciones que se necesita considerar, esta teora se debe a Jacques Herbrand y, como veremos,

CAPITULO 2. MODELOS DE HERBRAND

56

permite el estudio de la demostraci


on autom
atica de teoremas limitandonos a considerar interpretaciones con dominios uniformes. Ademas, lo que es mas importante, estas interpretaciones
se definen sint
acticamente en terminos de los smbolos del lenguaje, con la simplicidad que ello
conlleva.
Los resultados estudiados en este captulo son quizas los mas relevantes de la logica; sin ellos
no hubiera sido posible abordar la tarea de obtener razonadores automaticos aceptablemente
eficientes y, en consecuencia, de hacer de la logica una herramienta u
til para las Ciencias de la
Computacion.
Comenzamos introduciendo el concepto basico en esta teora, el dominio uniforme anunciado
anteriormente.
Definici
on 2.1 Dado un lenguaje de primer orden L1 (C, F, P), se llama universo de Herbrand
de L1 (C, F, P), denotado HL1 , al conjunto cuyos elementos son:
los terminos b
asicos de L1 (C, F, P), si C 6= y, en caso contrario,
los 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 relacion a su contribucion a la
demostracion autom
atica de teoremas (mas 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 cl
ausulas.

2.1.

Interpretaciones de Herbrand

Comencemos definiendo el universo de Herbrand para un conjunto de clausulas:


Definici
on 2.2 Sea un conjunto de cl
ausulas, C el conjunto de smbolos de constantes que
intervienen en y F el conjunto de smbolos de funci
on que intervienen en .

El universo o dominio de Herbrand para , denotado H , se define del modo siguiente:


Si C 6= , 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 funci
on n-aria que ocurre en , y t1 , . . . , tn H entonces
f (t1 , . . . , tn ) 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 funci
on n-aria que ocurre en y t1 , . . . , tn H entonces
f (t1 , . . . , tn ) H

57

2.1. INTERPRETACIONES DE HERBRAND


Obviamente, por definici
on, H es a lo sumo infinito numerable y se tiene que
H es finito si y solo si F =
er er

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 considerar 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 interpretacion es irrelevante. Lo que
verdaderamente importa son las relaciones que hay entre dichos objetos. En su caso, proporciona una interpretaci
on de corte sintactico, donde los smbolos del lenguaje se interpretan
refiriendose 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 finito y H es infinito, podemos
considerar H como una uni
on numerable de conjuntos finitos:
H =

Hi,

iN

donde
1. H0, = C si C 6= y H0, = {c} si C = .
2. Para i > 0 definimos Hi+1, como la union de Hi, y el conjunto de terminos de la forma
f (t1 , . . . , tn ) para todo smbolo de funcion n-aria que ocurre en y toda n-upla de terminos
(t1 , . . . , tn ) en Hi, .
De esta forma, podemos decir que el merito de Herbrand es haber logrado tender un puente
entre lo finito y lo infinito gracias a la idea de contemplar un dominio infinito (numerable)
como una sucesi
on de dominios finitos. Esta sucesion puede contemplarse como una sucesion de
aproximaciones a este dominio infinito.
Que ocurre con la segunda componente de (U, I)? Tambien en esta componente podemos limitarnos a considerar el conjunto de enunciados atomicos sobre los individuos representados por
los elementos de H . Este conjunto se describe mediante la siguiente definicion:
Definici
on 2.3 Sea un conjunto de cl
ausulas y P el conjunto de smbolos de predicados
que intervienen en . La base de Herbrand de , denotada B , se define 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 t1 , . . . , tn H , entonces P (t1 , . . . , tn ) B .

Definici
on 2.4 Dado un conjunto de cl
ausulas, , se llama instancia b
asica de una cl
ausula
C a una cl
ausula obtenida reemplazando las variables de C por elementos de H .
1

En definitiva, la interpretaci
on en una estructura de Herbrand consiste en realizar sustituciones por terminos
cerrados e interpretar los terminos cerrados como ellos mismos

CAPITULO 2. MODELOS DE HERBRAND

58

er er Si es un conjunto finito de cl
ausulas, la definicion 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 f
ormula o en un conjunto finito de formulas de la logica proposicional es siempre
finito y el conjunto de
atomos implcitamente referido en un conjunto finito de clausulas
de L1 (C, F, P) puede ser infinito numerable o finito (seg
un intervenga o no en alg
un
smbolo de funci
on).
Establecida esta analoga, recordemos que, puesto que una interpretacion I para un conjunto
finito de f
ormulas, , en la l
ogica cl
asica proposicional es una asignacion de valores de verdad
para los smbolos proposicionales p1 , . . . , pk que intervienen en , podemos representar I
mediante el subconjunto de {p1 , . . . , pk } 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
representaci
on I = {p, q, s}.
Estas consideraciones conducen a la definicion siguiente.

Definici
on 2.5 Sea un conjunto de cl
ausulas. Una interpretaci
on para se dice que es una
interpretaci
on de Herbrand, denotada MH, si es de la forma (H , IH, ) cuyo dominio es
el universo de Herbrand para y donde IH, asocia cada smbolo de constante y a cada smbolo
de funci
on el propio smbolo, es decir,
IH, (a) = a

IH, (f ) = f

en definitiva, si (H , IH, ) es una interpretaci


on de Herbrand, para todo termino b
asico t se
tiene que
IH, (t) = t.
er er Herbrand afirma que basta interpretar sint
acticamente, tanto los smbolos de constante como
los smbolos de funci
on; as, por ejemplo, tenemos que
IH, (f )(f (a)) = f (f (a))

Por su propia definici


on, dos interpretaciones de Herbrand para solo difieren en la interpretacion de los smbolos de predicado. En consecuencia:
Toda interpretaci
on de Herbrand queda determinada por un subconjunto de la base
de Herbrand, B , concretamente: el conjunto de
atomos b
asicos a los que IH, 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, 20 .
Definici
on 2.6 Un modelo de Herbrand para un conjunto de cl
ausulas, , es una interpretaci
on de Herbrand para tal que, para toda cl
ausula en , se verifica que si Cib es una instancia
b
asica de Ci entonces IH, (Cib ) = 1.
En la definici
on anterior, hemos tenido en cuenta que no es mas que una notacion 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 cuantificadores, debido a que conocemos que todos son
universales, y hemos escrito la matriz como conjunto de clausulas.

2.1. INTERPRETACIONES DE HERBRAND

59

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 interpretaci
on de Herbrand IH, = {P (f n (c)), R(f k (c)) | n, k N} es un modelo de
Herbrand para .
La siguiente interpretaci
on 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
- H1 = {a, b}.

- B1 = {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 B1 , es decir, 28 .
La interpretaci
on de Herbrand IH,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) 6 {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
- H2 = {c, f (c), f (f (c)), . . . , f n (c), . . .}.

- B2 = {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 20 .
Veamos que la interpretaci
on de Herbrand
IH,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
cl
ausula 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
cl
ausula P (z, u) Q(u, u).
Podemos ya establecer el resultado fundamental que nos muestra la utilidad de los modelos
de Herbrand.

CAPITULO 2. MODELOS DE HERBRAND

60

Teorema 2.1 Sea un conjunto de cl


ausulas, entonces tiene un modelo si y solo si tiene un
modelo de Herbrand.
n: Supongamos que M = (U, I) es una interpretacion que satisface a . DeDemostracio
finimos la interpretaci
on de Herbrand asociada a M, denotada MH, como la interpretaci
on

(H , IH, ), donde IH, es el siguiente subconjunto de B :

IH,
= {P (t1 , . . . , tn ) B | (I(t1 ), . . . , I(tn )) I(P )}

Veamos que IH,


satisface :

Por ser (U, I) un modelo para , si C es una clausula de y Var (C) = {x1 , . . . , xn } se tiene
que I( (x1 ) . . . (xn ) C(x1 , . . . , xn )) = 1. Por lo tanto, para toda n-upla de terminos basicos
(t1 , . . . , tn ) se tiene que I( C(t1 , . . . , tn )) = 1, es decir, para toda clausula C y para toda
instancia basica C b de C se tiene que I(C) = 1 y por lo tanto existe un literal basico lib en C b
, se tiene que I (lb ) = 1. Consecuentemente,
tal que I(lib ) = 1. Ahora, por definici
on de IH,
H, i

IH,
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 interpretaci
on 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 interpretaci
on de Herbrand para asociada a esta interpretacion es
IH, = {P (f 2n+1 (a)) | n N} {Q(f n (a), f 2k (a)) | n N, k N}
0

ya que para t, t H se tiene que

1. I(P )(t) = 1 si y solo si t {P (f 2n+1 (a)) | n N }


0

2. I(Q)(t, t ) = 1 si y solo si (t, t ) {Q(f n (a), f 2k (a)) | n N, k N }


er er El Teorema 2.1 no es cierto si es un conjunto de formulas arbitrarias en lugar de un conjunto
de cl
ausulas. 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 u
nico dominio que puede ser finito o infinito
numerable. Respecto a la segunda componente, si el dominio de Herbrand tiene n elementos, el
n
umero de posibles interpretaciones de Herbrand es tambien finito, concretamente, su n
umero
de elementos es 2n . Pero si el dominio de Herbrand es infinito numerable, el cardinal del conjunto de interpretaciones de Herbrand es infinito no numerable, concretamente, 20 . Podemos
pues decir que hemos avanzado de modo significativo de cara a poder gestionar el conjunto de
interpretaciones? Mostrar que la respuesta es afirmativa es el objetivo de la siguiente seccion.
2

Recordemos que f 0 (a) = a

2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L1

2.2.

61

Teorema de Herbrand y Semidecidibilidad de L1

La b
usqueda de un procedimiento de decision para verificar la validez de una formula de la
logica de primer orden, fue el objetivo de no pocos matematicos 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 convirti
o en prioritario desde 1917, cuando Hilbert lo propuso entre un conjunto
de 23 problemas que no haban sido resueltos hasta la fecha.
Este problema era conocido como un problema de decisi
on.3 En 1936, Alonzo Church 4
demostro que no puede existir un procedimiento de decision completo para L1 . Este resultado se
conoce como teorema de Church. El mismo a
no, como comentamos en el captulo 2 del primer
volumen, Alan Turing 5 demostr
o que el problema de la decidibilidad para L1 es equivalente a
un problema referente a las m
aquinas de Turing y cuyo enunciado es como sigue:
Sea M T una m
aquina de Turing y sea una entrada a M T . Existe un algoritmo
para determinar si M T parar
a 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 repercusi
on en su uso computacional existen una ampla bibliografa. No nos resistimos a
mencionar el trabajo del profesor Carlos Areces 6 al que llama La Bella y la Bestia:
La l
ogica de primer orden es un lenguaje hermoso. Como l
ogica, es una gran candidata 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 especificaci
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 f
ormula de la l
ogica cl
asica de
primer orden es satisfacible (es decir, si la f
ormula 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 est
a el modelo M = (D, I) (!finito!); por favor, dgame si
es cierta en M . Ese problema (que se llama chequeo de modelos) no tiene una
soluci
on eficiente: puede requerir espacio polinomial y tiempo exponencial (es un problema en PSpace). En una aplicaci
on, un comportamiento de tiempo exponencial es
usualmente inaceptable. Para entender por que, miremos un ejemplo. Supongamos
que la f
ormula 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:
105 = 100, 000 pasos o segundos 28 horas.
3

Entscheidungsproblem, en el original alem


an.
A. Church. A note on the Entscheidungsproblem. Journal of Symbolic Logic, 1:4041 y 101102 (una correcci
on), 1936.
5
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.
6
INRIA Lorraine. web: www.loria.fr/ areces
4

CAPITULO 2. MODELOS DE HERBRAND

62

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 como dijimos arriba. Consigamos entonces una supercomputadora que pueda realizar
un mill
on de pasos por segundo. Quiz
as ahora no tendramos problemas? No lo
tendramos en el ejemplo que consideramos antes (que resolveramos en solo 0,1 segundos), pero consideremos una f
ormula de tama
no 10, y un modelo de 25 elementos.
Entonces:
2510 = 95.367.431.640.625 pasos 95.367.431 segundos 26.490 horas.
Contemos como contemos y no importa lo r
apida que sea nuestra computadora,
problemas que requieran tiempo exponencial, siempre tendr
an instancias demasiado difciles de resolver.
Pero las noticias no son tan malas como parecen. No todas las f
ormulas de la l
ogica
de primer orden son tan difciles como los ejemplos que discutimos m
as arriba. Recordemos que decir que un determinado problema est
a 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 l
ogica cl
asica de primer orden. Quiz
as es
posible elegir fragmentos m
as 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 f
ormulas v
alidas de L1 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 x1 y x2 (tanto si consideramos la logica clasica de primer orden con igualdad o sin ella),
denotado LP O2 . 7
La mayora de las clases decidibles son clases de formulas prenexas que se definen sintacticamente mediante restricciones sobre la estructura del prefijo, restricciones sobre su matriz o
restricciones sobre ambos. Destaquemos algunas:
1. Sea A una f
ormula en fnp en la que no intervienen smbolos de funcion. Entonces, existe
un procedimiento de decisi
on para la satisfacibilidad de A si el prefijo de A tiene una de
las formas siguientes:
a) (y1 ) . . . (yk ), es decir, no tiene ning
un smbolo de cuantificacion existencial.
b) (x1 ) . . . (xn ), es decir, no tiene ning
un smbolo de cuantificacion universal.
c) (x1 ) . . . (xn )(y1 ) . . . (yk ), es decir, ning
un smbolo de cuantificacion universal precede a un smbolo de cuantificacion existencial.
d ) solo tiene un smbolo de cuantificacion existencial.
7

Sin embargo, LP Ok , con k 3 es indecidible.

2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L1

63

e) (x1 ) . . . (xn )(y1 )(y2 )(z1 ) . . . (zk ), es decir, tiene a lo sumo dos cuantificadores
universales que no est
an separados por ning
un smbolo de cuantificacion existencial.
f ) (x1 ) . . . (xn )(y)(z1 ) . . . (zk ), es decir, tiene un solo smbolo de cuantificacion universal.8
2. Sea A una f
ormula en fnpc. Entonces existe un procedimiento de decision para la satisfacibilidad de A si la matriz de A es de una de las siguientes formas:
a) Todas las cl
ausulas 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.

Sin embargo, la situaci


on no es completamente negativa para L1 : existen procedimientos
llamados de semidecisi
on como establece el Teorema de Church:
Teorema 2.2 La L
ogica Cl
asica de Predicados de Primer Orden no es decidible pero s es
semidecidible, es decir, existen algoritmos tales que: dada una f
ormula A, si esta f
ormula es
v
alida, el algoritmo determina su validez tras una secuencia finita de pasos; si la f
ormula no es
v
alida, el algoritmo puede finalizar con esta conclusi
on tras una secuencia finita de pasos o bien
puede no terminar.
Como vemos en el enunciado, la limitacion radica en que no tenemos asegurada la finalizaci
on
del algoritmo si su entrada es una f
ormula que no es valida. A estos procedimientos tambien se
conocen como semi-algoritmos. En la practica, esto supone que, en muchos casos, no sabremos distinguir entre f
ormulas no-validas que provocan una ejecucion indefinida del algoritmo y
formula validas que requieren mucho tiempo de ejecucion.
Los tres metodos de demostraci
on que estudiaremos en este curso: Tablas Semanticas, Metodo de Gilmore y Resoluci
on, son por lo tanto, semi-algoritmos.

2.2.1.

Arboles
Sem
anticos en L1

El concepto de
arbol sem
antico introducido en el primer volumen para la logica proposicional
puede ser extendido a L1 como sigue:
Definici
on 2.7 Sea = {P1 , P2 , . . . , Pn , . . .} una sucesi
on de a
tomos b
asicos. Un
arbol
sem
antico respecto de es un
arbol binario que satisface las condiciones siguientes:
Cada arco est
a etiquetado con un literal Pi o Pi donde Pi .
Cada arco de profundidad k est
a etiquetado con el literal Pk o con el literal Pk donde
Pk .
8

Sin embargo, los siguientes fragmentos son indecidibles:


1) (x1 ) . . . (xn )(y1 ) . . . (yk ), es decir, los cuantificadores existenciales est
an precedidos de tres smbolos de
cuantificaci
on universal.
2) (x1 )(x2 )(x3 )(y1 ) . . . (yk ), es decir, ning
un smbolo de cuantificaci
on existencial precede a un smbolo
de cuantificaci
on universal.
9

El lector interesado en estos resultados puede consultar el libro: G. Hunter. Metal


ogica. Introducci
on a la
metateora de la l
ogica cl
asica de primer orden. Paraninfo, 1981.

CAPITULO 2. MODELOS DE HERBRAND

64

Los literales que etiquetan dos arcos que nacen del mismo nodo son opuestos.
Cada Pi ocurre en cada rama a lo sumo una vez (bien como etiqueta Pi o bien como
etiqueta Pi ).
Si es finito, todo
arbol sem
antico respecto de es finito. Si es infinito, existen arboles
semanticos finitos e infinitos (infinitos de ramificacion finita, concretamente, infinitos binarios)
respecto de .
A cada nodo N de un
arbol sem
antico se le asocia una interpretacion de Herbrand parcial
(asignacion de valores de verdad a un subconjunto de atomos basicos, 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 esta etiquetado por el literal P .
El valor 0 si un arco del camino que une N con la raz esta 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 semantico respecto a = {P (a), P (b), Q(a, b)}.
!!aa

aa
P (a)
aa
!
!
aa
!
a
!

I1H (P (a)) =
1H
H
I
(P
(a)) = 0

8H
HHP (b)
P (b)
H
I2H (P (b)) = 1

HH I5H (P (a)) = 1
I5H (P (b)) = 0
I2H (P (a)) = 1 
@
@
@ Q(a, b) Q(a, b)
@ Q(a, b)
Q(a, b)
@
@
@
@

!
P (a)
!!

I3H (P (a)) = 1 I4H (P (a)) = 1 I6H (P (a)) = 1 I7H (P (a)) = 1


I3H (P (b)) = 1 I4H (P (b)) = 1 I6H (P (b)) = 0 I7H (P (b)) = 0
I3H (Q(a, b)) = 1 I4H (Q(a, b)) = 0 I6H (Q(a, b)) = 1 I7H (Q(a, b)) = 0
Figura 2.1: Ejemplo de arbol semantico.

Definici
on 2.8 Sea un conjunto de cl
ausulas y sea = {P1 , P2 , . . . , Pn , . . .} una enumeraci
on
de los
atomos de la base de Herbrand B (que siempre existe, pues B es a lo sumo numerable).
Un
arbol sem
antico para respecto de es completo si la interpretaci
on de Herbrand asociada
a cada hoja asigna valores de verdad a todos los Pi .
Obviamente, se tiene el resultado siguiente
Teorema 2.3 Un
arbol sem
antico completo para respecto de es finito si y solo si en no
intervienen smbolos de funci
on.
Como consecuencia, si en no intervienen smbolos de funcion, es decir, si H es finito podemos 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 L1

65

Ejemplo 2.5 Consideremos el razonamiento:


H1 : (x)(P (x) Q(x))
H2 : (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
3
para es 2 = 8 y el conjunto de instancias basicas es:
0 = {P (a) Q(a), Q(a) R(a), P (a), R(a)}
Por lo tanto, podemos aplicar el metodo de Quine obteniendo el arbol semantico:

!!aa
aa
R(a)
aa
a

R(a) !!!
!

!!

!
I1H (A) = 0

aa
I (A) =?
HH2H

H P (a)
P (a)
HH

HH

I3H (A) =? 
@
I
(A)
=0
4
H
@ Q(a)
Q(a)
@
@

I5H (A) = 0

I6H (A) = 0

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 infinito.
Definici
on 2.9 Un nodo N de un
arbol sem
antico para respecto de una enumeraci
on =
{P1 , P2 , . . . , Pn , . . .} de los
atomos de B se denomina nodo fallo si la interpretaci
on parcial
de Herbrand IH asociada a N es tal que I(Cib ) = 0 para alguna instancia b
asica de una cl
ausula
Ci 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 IH que hace falsa a
. Por lo tanto, no es preciso considerar las extensiones de I. De aqu la definicion siguiente.
Definici
on 2.10 Un
arbol sem
antico respecto de = {P1 , P2 , . . . , Pn , . . .} se dice cerrado si
todas sus hojas son nodos fallo.
Definici
on 2.11 Un nodo N de un
arbol sem
antico respecto de la sucesi
on de
atomos =
{P1 , P2 , . . . , Pn , . . .} se denomina un nodo inferencia si sus dos descendientes inmediatos son
nodos fallo.

CAPITULO 2. MODELOS DE HERBRAND

66

Ejemplo 2.6 Dado = {P (x), P (x) Q(f (x)), Q(f (a))}, la figura muestra un arbol
semantico cerrado para respecto de la sucesion
= {P (a), Q(a), P (f (a)), Q(f (a)), . . .}
!!aa
aa
P (a)
aa
a

P (a) !!!
!

Q(f (a))






I2H (Q(f (a)) = 0

!!
H
HHQ(f (a))
H
HH

() H
!

aa

I4H (P (a)) = 0

I3H (P (a) Q(f (a)) = 0

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 automaticos 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 semantico.
Teorema 2.4 (de Herbrand) Un conjunto de cl
ausulas es insatisfacible si y solo si, asociado a cada
arbol sem
antico completo, existe un
arbol sem
antico cerrado y finito.
n: Supongamos que es insatisfacible. Sea T un arbol semantico completo para
Demostracio
. Para cada rama de A, sea IH el conjunto de todos los literales positivos que etiquetan
los arcos de . Entonces IH es una interpretacion de Herbrand para y puesto que es
insatisfacible, existe una cl
ausula C en y una instancia basica C b de C tal que IH (C b ) = 0.
Puesto que el n
umero de literales de C b es finito, 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 interpretaciones 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 0 para . Por otra parte, T 0 es finito; de no
ser as, por el lema de K
onig, existe al menos una rama infinita en T 0 , es decir, sin nodos fallos,
lo cual es imposible.
Inversamente, si a todo
arbol sem
antico completo T para le corresponde un arbol semantico
cerrado, entonces toda rama contiene un nodo fallo, es decir, toda interpretacion de Herbrand
falsifica a . Por lo tanto, por el Teorema 2.1, es insatisfacible.
El teorema de Herbrand 10 admite otro enunciado equivalente que no utiliza el concepto de
arbol semantico y que es mencionado habitualmente en la literatura como teorema fundamental
de Herbrand:
10

J. Herbrand. Investigation in proof theory: from Frege to G


odel. In J. van Heijenoort, editor, A source book
in mathematical logic, 18791931. Harvard University Press, 1967.

2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L1

67

Teorema 2.5 Un conjunto de cl


ausulas, , es insatisfacible si y solo si existe un conjunto finito
de instancias b
asicas de cl
ausulas de que es insatisfacible.
n: Sea insatisfacible y T un arbol semantico completo para . Por el teorema
Demostracio
anterior, existe un
arbol cerrado finito T 0 asociado a T . Sea 0 el conjunto de todas las instancias
basicas de cl
ausulas que son falsas en los nodos fallos de T 0 . 0 es finito por serlo el n
umero de
0
0
nodos fallos de T . Por otra parte, puesto que es falso en toda interpretacion de Herbrand
para 0 , por el Teorema 2.1, 0 es insatisfacible.
Inversamente, sea 0 un conjunto finito de instancias basicas de clausulas de tal que 0 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 0 .
Podramos decir, que el teorema de Herbrand permite desarrollar la semantica de la logica
de primer orden utilizando u
nicamente medios sintacticos. Por otra parte, el teorema fundamental de Herbrand es un teorema de compacidad sintactica y, como veremos a continuacion,
proporciona un semialgoritmo para el estudio de la satisfacibilidad en la logica de primer orden:
2.2.2.1.

Semialgoritmo para SAT en L1

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 L1 , se procede como sigue:
Se transforma en un conjunto equisatisfacible de clausulas, . Es decir, se transforma
en una forma clausal.
Se genera una enumeraci
on del conjunto de instancias basicas de las clausulas de
= {C1 , . . . , Cn , . . .}
Se examina si este conjunto es insatisfacible utilizando el semialgoritmo siguiente que
es esencialmente el metodo introducido por Gilmore. 11 Su funcionamiento es identico al
de Quine considerando los elementos de la base de Herbrand para definir las evaluaciones
parciales de las f
ormulas:
El Semialgoritmo de Gilmore
1. Para todo n, los arcos del
arbol semantico de nivel n seran etiquetados con Cn y Cn .
2. Un arbol sem
antico respecto a se construye usando el siguiente criterio:
Si todas las posibles extensiones de la interpretacion parcial de Herbrand asociada a un nodo N , asignan el mismo valor de verdad a no es preciso construir
el sub
arbol del
arbol sem
antico completo respecto a que tiene a N como raz.
En su lugar, se etiquetar
a N con el valor de verdad que la interpretacion parcial
asociada a el asigna a .
11

P. Gilmore. A proof method for quantification theory; its justification and realization. IBM J. Res. Develop.,
4:2835, 1960.

CAPITULO 2. MODELOS DE HERBRAND

68
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 esta etiquetada con una etiqueta
de la forma IiH () = 1 entonces , y por lo tanto , es satisfacible.
En definitiva, si es insatisfacible, podemos comprobar su insatisfacibilidad en un n
umero finito
de etapas; pero si es satisfacible, el proceso puede no terminar ya que podra tener solo modelos
de Herbrand infinitos.
El siguiente ejemplo nos muestra que existen fbfs para las que el analisis de su satisfacibilidad
requiere un
arbol infinito.
Ejemplo 2.7 La f
ormula

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 20 interpretaciones.
La interpretaci
on de Herbrand {P (f n (a)) | n N} satisface . Por lo tanto, A es satisfacible
y en consecuencia, A no es v
alida.

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 infinita. 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 finito que nos permita concluir el analisis para ya que:
- No existe un
arbol cerrado porque no es insatisfacible.
- No podemos encontrar ninguna rama finita que nos confirme la satisfacibilidad.
Ejemplo 2.8 Vamos a estudiar la validez de una inferencia utilizando el principio de refutaci
on
y el algoritmo de Gilmore sobre la base de Herbrand de la formula 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 insatisficible,
{(x)(y)(P (y) Q(x)), (y)(x)(P (x) Q(y))} es insatisficible,
{(x)(y)(P (y) Q(x)), (P (b) Q(a))} es insatisficible,
S = (x)(y)(P (y) Q(x)) (P (b) Q(a)) es insatisficible.

2.2. TEOREMA DE HERBRAND Y SEMIDECIDIBILIDAD DE L1

69

Dado que S no contiene funciones, el universo de Herbrand esta formado simplemente por las
constantes, HS = {a, b}, y la base de herbrand es finita, BS = {P (a), Q(a), P (b), Q(b)}.
Llamemos A1 = (x)(y)(P (y) Q(x)) y A2 = (P (b) Q(a)).

Para entender mejor el


arbol que construimos a continuacion, es conveniente observar que los
modelos de Herbrand de A1 = (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 l
ogicamente equivalentes, pero s son equivalentes en el universo de
Herbrand.
P (b)

P (b)

0 (Por A2 )
Q(a)

Q(a)

0 (x = a, y = b en A1 )
0 (Por A2 )
Ejemplo 2.9 Aunque el universo de Herbrand sea infinito, si la inferencia es valida, siempre
podremos encontrar un
arbol finito 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
HS = {a, f (a), f (f (a), f (f (f (a))), . . . }
y la base de Herbrand es
BS = {P (a), Q(a), P (f (a)), Q(f (a)), P (f (f (a))), Q(f (f (a))), . . . }.
Llamemos A1 = (x)P (x), A2 = (x)(P (x) Q(f (x))) y A3 = Q(f (a)) para construir el
arbol de Gilmore.
P (a)

P (a)

0 (x = a en A1 )

Q(f (a))

Q(f (a))

0 (x = a en A2 )

0 (Por A3 )
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))

CAPITULO 2. MODELOS DE HERBRAND

70

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 HS = {a, b} y la base de Herbrand


BS = {P (a), P (b), Q(a), Q(b), D(a), D(b), L(a, a), L(a, b), L(b, a), L(b, b)}
Construimos el
arbol de Gilmore para A1 A2 A3 , en donde
A1 = (y)(P (a) (D(y) L(a, y))),

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

A3 = (D(b) Q(b)).

D(b)

D(b)

0 (por A3 )
Q(b)

Q(b)

0 (por A3 )
P (a)

P (a)
0 (por A1 )

L(a, b)

L(a, b)

0 (y = b en A1 ))
0 (x = a, y = b en A2 ))
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 confirmar la importancia de la
aportacion de Herbrand.

2.3. MODELOS FINITOS Y MODELOS INFINITOS

2.3.

71

Modelos Finitos y Modelos Infinitos

Un analisis superficial 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 f
acil 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 finito pero es facil dar ejemplos de modelos cuyo dominio es N.
El siguiente paso sera dar una f
ormula que no tiene ning
un modelo infinito numerable, pero
para la que existen modelos cuyo dominio es de cardinal infinito no numerable. Como veremos,
el teorema de L
owenheim nos previene de este error: solo hemos de clarificar 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 infinito numerable.
Definici
on 2.12 Un conjunto de f
ormulas de L1 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 finito

Teorema 2.6 Todo conjunto finito de f


ormulas en forma prenexa de la forma
(x1 ) . . . (xn )(y1 ) . . . (yk )M (x1 , . . . , xn , y1 , . . . , yk )
(en la que no intervienen smbolos de funci
on) tiene la propiedad de modelo finito.
n: Basta considerar el Teorema 2.1 y que el universo de Herbrand para el conjunto
Demostracio
de clausulas simult
aneamente insatisfacible con generado por el procedimiento introducido en
la Seccion 1.4 es finito.
En cuanto a los modelos infinitos, tenemos los resultados siguientes.
Teorema 2.7 (de L
owenheim) Si una f
ormula A es satisfacible entonces tiene un modelo
numerable.

CAPITULO 2. MODELOS DE HERBRAND

72

n: Basta considerar una forma clausal simultaneamente satisfacible a A y apliDemostracio


car el Teorema 2.1, que asegura la existencia de un modelo de Herbrand que es obviamente
numerable.
Teorema 2.8 (de L
owenheim-Skolem) Si un conjunto de f
ormulas es satisfacible entonces admite un modelo numerable
n: Puesto que todo lenguaje de primer orden es numerable, cualquier conjunto
Demostracio
considerado es numerable. Si es infinito numerable, sea = {Ai | i N}, podemos considerar
para cada formula Ai una forma clausal i simultaneamente satisfacible con Ai 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 simultaneamente 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 resultado destacado m


as, en esta seccion estudiamos el teorema de compacidad , que
caracteriza la satisfacibilidad de un conjunto infinito de formulas.
Teorema 2.9 (de compacidad) Un conjunto de fbfs de L1 , , es satisfacible si y solo si es
finitamente satisfacible, es decir, todo subconjunto finito es satisfacible.
n: Si es satisfacible entonces, obviamente, es finitamente satisfacible.
Demostracio
Inversamente, supongamos que es finitamente 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 finito de b insatisfacible.
Sea este conjunto b y sea el subconjunto de tal que toda clausula en b es una instancia
basica de una cl
ausula de . Puesto que b es finito, es tambien finito y, por la hipotesis de
satisfacibilidad finita de , se tiene que es satisfacible.
0

Ahora, por el Teorema 2.1, el conjunto b de instancias basicas de es tambien satisfacible.


0
Finalmente, puesto que b b , se tiene que b es satisfacible, contra la hipotesis de partida
sobre este conjunto.
Como en el caso proposicional, se tiene el siguiente resultado que es una version equivalente
del teorema de compacidad.
Teorema 2.10 |= A si y solo si existe un subconjunto finito 0 de tal que 0 |= A.
En la Secci
on 2.2 hemos hecho referencia a la equivalencia del problema de la decidibilidad
para L1 y el problema de la parada referente a las maquinas de Turing. Terminaremos este
captulo estableciendo una nueva relacion con el problema de la decidibilidad para L1 , esta vez
con el problema de convergencia de Post.

2.4. INDECIDIBILIDAD DE L1

2.4.

73

Indecidibilidad de L1

El problema siguiente se conoce como problema de la correspondencia de Post:


Dada una secuencia [(a1 , b1 ), . . . , (ak , bk )] de pares de palabras no vacas sobre el
alfabeto {0, 1}, encontrar una secuencia de ndices [i1 , . . . , in ] tal que ai1 . . . ain =
bi1 . . . bin .
A una secuencia de este tipo se le denomina una soluci
on del problema de correspondencia
[(a1 , b1 ), . . . , (ak , bk )].
Ejemplo 2.11 Para el problema de correspondencia
[(1, 101), (10, 00), (011, 11), (1001, 111)]
una solucion es la secuencia 1, 3, 2, 3 ya que a1 a3 a2 a3 = 101110011 = b1 b3 b2 b3
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 el sistema de correspondencia siguiente
[(a1 , b1 ), . . . , (ak , bk )]
termine con salida SI, si el sistema tiene soluci
on, y con salida NO, si el sistema no tiene
soluci
on.
Definici
on 2.13 Sean 1 y 2 dos conjuntos de palabras sobre un alfabeto finito . Decimos que
1 es reducible a 2 si existe una aplicaci
on : tal que satisface las dos condiciones
siguientes:
(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 funci
on se llama una funci
on de reducci
on de 1 a 2 .
De la definici
on 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 reducci
on del problema de correspondencia de Post al problema de
la validez de las fbfs en L1 permite demostrar el teorema siguiente. Un estudio detallado queda
fuera de los lmites del curso. 12
Teorema 2.12 (de indecidibilidad de Church) Sea L1 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 f
ormulas v
alidas es un conjunto indecidible.
12

El lector interesado puede consultar el libro de V. Sperschneider and G. Antoniou. Logic: a foundation for
Computer Science. Addison-Wesley, 1991.

CAPITULO 2. MODELOS DE HERBRAND

74

2.5.

Ejercicios

1. Dado un lenguaje de primer orden L1 con signatura ({c}, , {P }), donde P es un smbolo de
predicado monario, determinar su universo de Herbrand, HL1 .
2. Sea A(x1 , . . . , xn ) una fbf en la que no intervienen ni smbolos de funcion ni smbolos de cuantificaci
on. Demostrar que (x1 ) . . . (xn )A(x1 , . . . , xn ) tiene un modelo si y solo si tiene un modelo
cuyo dominio consta de un u
nico elemento.
3. Dada la f
ormula A = (x)(P (x) (y)P (y)),
a) Hallar un conjunto de cl
ausulas, , simultaneamente satisfacible con A.
b) Hallar H y B .
c) Probar que A es v
alida.

4. Dada la f
ormula A = (x)P (x) Q(a) (y)R(y) (y)D(y)
a) Hallar un conjunto de cl
ausulas simultaneamente 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 simultaneamente satisfacible con el conjunto de fbfs
{(z)((y)(y > z) (x)(x2 > 3)), (x)(y)(y = x2 )}
6. Hallar B para un conjunto de cl
ausulas 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 f
ormulas 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 sem
antico 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 sem
antico completo para .
c) Construir un
arbol sem
antico cerrado para .
10. Encontrar un conjunto insatisfacible b de instancias basicas de clausulas de para cada uno de
los dos conjuntos de cl
ausulas
a) = {P (x, a, g(x, b)), P (f (y), z, g(f (a), b))}

75

2.5. EJERCICIOS
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 v
alida siguiendo el siguiente proceso:
a) Encontrar un conjunto de cl
ausulas simultaneamente insatisfacible con A.

b) Encontrar, mediante el metodo de Gilmore, un conjunto finito insatisfacible b de instancias


b
asicas de cl
ausulas 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 finitos.
13. Demostrar por inducci
on estructural que si MH = (H, IH ) es un modelo de Herbrand, para una
f
ormula A entonces para todo termino t que interviene en A (no necesariamente basico) se tiene
que
IH (t) = IH ((t))
donde en el segundo termino de la igualdad se entiende como una sustitucion.
14. Para cada una de las f
ormulas 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
IH = {P (f n (a), b) | n N} {R(f n (a), f m (b)) | n, m N}
determinar si IH es o no un modelo de cada una de las formas clausales obtenidas en el tem
anterior.
15. Para cada una de las f
ormulas 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
IH = {Q(f n (a)) | n N} {R(a, f m (b)) | n, m N }
determinar si IH es o no un modelo de cada una de las formas clausales obtenidas en el tem
anterior.

CAPITULO 2. MODELOS DE HERBRAND

76

16. Dada la f
ormula 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

a)

b)

la validez de la siguientes inferencias utilizando el metodo de Gilmore:


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

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


Indice
3.1. Un sistema axiom
atico para L1 . . . . . . . . . . . . . . . . . . . . . .

77

3.1.1. El Teorema de la Deduccion . . . . . . . . . . . . . . . . . . . . . . . . .

80

3.1.2. Correcci
on y Completitud de L1 . . . . . . . . . . . . . . . . . . . . . .

82

3.1.3. Correcci
on, Completitud y Semidecidibilidad . . . . . . . . . . . . . . .

84

3.2. Deducci
on Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

84

3.3. Teoras de Primer Orden . . . . . . . . . . . . . . . . . . . . . . . . . .

90

3.3.1. Teoras con Igualdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

91

3.4. Algunas Teoras de Primer Orden con Igualdad . . . . . . . . . . . .

94

3.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

96

En este captulo introducimos la extension a la logica de primer orden de los sistemas deductivos
considerados para la l
ogica proposicional en el primer volumen. Concretamente, estudiaremos:
un sistema axiom
atico para L1 , y
un sistema de deducci
on natural para L1 .
Puesto que, como hemos analizado, la l
ogica 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 inferencias de los sistemas
proposicionales nuevos axiomas y/o reglas de inferencias para regir el comportamiento de los cuantificadores.

3.1.

Un sistema axiom
atico para L1

Del mismo modo que en el caso proposicional, escogeremos para L1 el sistema debido a Lukasiewicz al
que denotaremos L1 . 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)

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

78

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
/ Vlibre (A).
er er

Advirtamos, en relaci
on 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
sustituci
on 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

Generalizaci
on (Gen):

A
(x)A

er er

Es importante advertir la diferencia entre el Axioma 4 y la regla de generalizacion: El


Axioma 4 asegura que de (x)A(x) se infiere en un u
nico paso A(t) (si t es libre para
x en A(x)), por su parte, la regla de generalizacion (puesto que L1 es, como veremos,
correcto) recoger
a el hecho de que si A es valida entonces tambien lo es (x)A(x) .
Veamos que la restricci
on 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 v
alida; para comprobarlo, consideremos una interpretacion
(U, I) cuyo dominio U tenga al menos dos elementos y tal que I(P ) = {(u, u0 ) U U |
u 6= u0 }, 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.
An
alogamente, 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 v
alida. En efecto, en la interpretacion (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)) 6= 1 ya que, si tomamos la asignacion de variables
definida por (x) = 2 para todo smbolo de variable x, se tiene I (P (x)) = 1 y si
tomamos la asignaci
on de variables 0 definida por 0 (x) = 3 y 0 (y) = 2 para todo
smbolo de variable y 6= x, tenemos que I ((x)P (x)) = 0 y I (P (x) (x)P (x)) = 0.
Por lo tanto, el sistema no sera correcto.

Definici
on 3.1 Una fbf A se dice que es un teorema de L1 , si existe una secuencia finita de fbfs,
A1 , A2 , . . . , An tal que:


3.1. UN SISTEMA AXIOMATICO
PARA L1

79

Cada Ai , donde 1 i n, es un axioma, o una fbf obtenida mediante la aplicaci


on de (MP) a
partir de dos f
ormulas anteriores en la secuencia o bien obtenida mediante la aplicaci
on de (Gen)
a una f
ormula anterior en la secuencia.
An es A.
La secuencia A1 , A2 , . . . , An se dice que es una demostraci
on de A en L1 . Obviamente, todo axioma
es un teorema.
Definici
on 3.2 Dado un conjunto de f
ormulas, se dice que A es deducible o derivable en L1 a partir
de , denotado ` A, si existe una secuencia finita de f
ormulas A1 , A2 , . . . , An tal que:

Cada Ai , donde 1 i n, es un axioma, una f


ormula de , o una fbf obtenida mediante la
aplicaci
on de (MP) a partir de dos f
ormulas anteriores en la secuencia o bien obtenida mediante
la aplicaci
on de (Gen) a una f
ormula anterior en la secuencia.
An es A.

La secuencia A1 , A2 , . . . , An se dice que es una deducci


on o derivaci
on de A a partir de en L1 .
Es obvio, por definici
on, 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 l
ogica proposicional, un hecho destacable en el problema de la deduccion es la
posibilidad de utilizar nuevas reglas de inferencia: Si A es deducible de A1 , A2 , . . . , An entonces la relaci
on
A1 , A2 , . . . , An
A

puede ser usada como nueva regla de inferencia (regla derivada) en las deducciones en L1 .
Ejemplo 3.1 (Regla de Particularizaci
on) Como hemos desatacado, disponemos de una deduccion 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 L1 .
Veamos una deducci
on de (x)A(x) ` A(t):
(1)
(2)
(3)

(x)A(x)
(x)A(x) A(t)
A(t)

hipotesis
Ax. 4
MP(1,2)

Puesto que L1 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 L1 que es un esquema de teorema de L, es decir, si A es una tautologa
de L1 , entonces A es un teorema de L1 y puede ser demostrada usando Ax.1, Ax.2, Ax.3 y (MP).
n: La fbf A se obtiene a partir de un teorema B en L mediante la sustitucion (uniforme)
Demostracio
de cada smbolo de proposici
on en B por una fbf de L1 . Por lo tanto, B tiene una demostracion en L.
Sea tal demostraci
on. Ahora, en cada una de las formulas de , realizamos las sustituciones siguientes:
- 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 L1 .
De esta forma, obtenemos una demostracion de A en L1 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 f
ormulas v
alidas de L.

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

80

3.1.1.

El Teorema de la Deducci
on

Como en la l
ogica proposicional, desearamos disponer en L1 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 L1 . Las restricciones (necesarias como nos muestra el siguiente ejemplo)
habr
an de ser impuestas, como era de esperar, en el uso de la regla de generalizacion.
Ejemplo 3.2 Si no imponemos restricciones, puesto que tenemos A ` (x)A, el teorema de la deducci
on
permitira concluir que ` A (x)A. Claramente, no deseamos esto, ya que el esquema A (x)A no
es un esquema v
alido.
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 0 x-equivalentes a tales que I0 (P (x)) = 0. Por lo
tanto, I0 ((x)P (x)) = 0 y I0 (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 L1 :
Teorema 3.2 (de la deducci
on) Si {A} ` B y en la deducci
on de B no se utiliza la regla de
generalizaci
on 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.
n: Lo demostramos por induccion sobre la longitud m de la deduccion de B a partir de
Demostracio
{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 demostraci
on 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 deducci
on, de longitud k < m, no se utiliza la regla de generalizacion con respecto
a variables libres en A, entonces ` A C.
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 hipotesis de induccion, se tiene que ` A E. Por otra
parte, por hip
otesis, x no es libre en A (ya que a ella se refiere la aplicacion de (Gen) en la deduccion de
B a partir de {A}).
Por lo tanto, obtenemos una deducci
on de A B a partir de del siguiente modo:
(1)

...

...

(. . .)

...

...

(n)

AE

...

(n + 1)

(x)(A E)

(n + 2)

(x)(A E) (A (x)E)

(n + 3)

A (x)E

Gen(n)
Ax,5 (ya que x
/ Vlibre (A))
MP(n + 1, n + 2)


3.1. UN SISTEMA AXIOMATICO
PARA L1

81

donde (1),. . . ,(n) es una deducci


on 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 L1 .
n: Lo probamos haciendo uso del metateorema de la deduccion, es decir, probamos que
Demostracio
{A B, B C, A} ` C
Una deducci
on de C desde {A B, B C, A} es:
(1)
(2)
(3)
(4)
(5)

AB
BC
A
B
C

Hip.
Hip.
Hip.
MP(1,3)
MP(2,4)

El inverso del teorema de la deducci


on 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
n: La demostraci
Demostracio
on 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 L1 .
Ejemplo 3.3 Veamos que la fbf (A
siguiente deducci
on:
(1)
(2)
(3)
(4)

(x)B) (x)(A B) es un teorema de L1 . Consideremos la


A (x)B
(x)B B
AB
(x)(A B)

Hip.
Ax.4
SH(1,2)
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 deducci
on 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)
(2) (x)A
(3) (x)(A B) (A B)
(4) A B
(5) (x)A A
(6) A
(7) B
(8) (x)B

Hip.
Hip.
Ax.4
MP(1,3)
Ax.4
MP(2,5)
MP(4,6)
Gen(7)

Hemos probado que (x)(A B), (x)A ` (x)B. Como (x)A es cerrada, por el teorema de la deducci
on
se tiene (x)(A B) ` (x)A (x)B. Aplicando nuevamente el teorema de la deduccion, concluimos
la prueba de que la f
ormula (x)(A B) ((x)A (x)B) es un teorema.

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

82

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)
(2) (x)(y)A(x, y) (y)A(x, y)
(3) (y)A(x, y)
(4) (y)A(x, y) A(x, y)
(5) A(x, y)
(6) (x)A(x, y)
(7) (y)(x)A(x, y)

Hip.
Ax.4
MP(1,2)
Ax.4
MP(3,4)
Gen(5)
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 teorema de la
deducci
on se tiene
` (x)(y)A(x, y) (y)(x)A(x, y)

3.1.2.

Correcci
on y Completitud de L1

Como ya hemos comentado al inicio de captulo, el sistema L1 goza de las propiedades de correcci
on
y completitud.
Teorema 3.4 (Correcci
on de L1 ) Todo teorema de L1 es una fbf v
alida, es decir
Si ` A entonces |= A
n: Por el Teorema 3.1, sabemos que los Axiomas 1, 2 y 3 son fbfs validas.
Demostracio
El Axioma 4 es v
alido: Sea M = (U, I) una interpretacion y una valuacion de variables arbitraria
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 0 x-equivalente a , se tiene que I0 (A(x)) = 1. En particular, podemos elegir 0
de modo que 0 (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 v
alido: 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 u
ltimo, es obvio que tanto (MP) como (Gen) respetan la validez, es decir:
- Si A y A B son v
alidas, B tambien es valida.
- Si A es v
alida, entonces (x)A es v
alida.
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 L1 es una fbf
v
alida.
Teorema 3.5 (Completitud de L1 ) Toda fbf v
alida es un teorema de L1 , es decir
Si |= A entonces ` A


3.1. UN SISTEMA AXIOMATICO
PARA L1

83

La primera demostraci
on 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 Godel. Posteriormente, en 1949, Henkin aporto otra
demostraci
on.
La demostraci
on de este teorema escapa a los objetivos de este libro 1 En su lugar demostraremos una
propiedad m
as debil:
Teorema 3.6 (de consistencia) L1 es consistente, es decir, no existe ninguna f
ormula A tal que ` A
y ` A.
n: Consideremos la funci
Demostracio
on
h : L1 Lprop
definida como sigue: Para cada f
ormula A de L1 , h(A) es la formula de la logica clasica proposicional,
Lprop , obtenida al eliminar en A todos los cuantificadores y todos los terminos y ademas sustituir los
smbolos de predicado por el correspondiente smbolo en min
uscula de Lprop (junto con la eliminacion de
las comas y parentesis asociados a los cuantificadores, 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 L1 , entonces h(A) es una tautologa de Lprop . Para ello tendremos
probar que:
- h(A) es una tautologa para todo axioma de de L1
- Si aplicamos una regla de inferencia a fbfs tales que sus imagenes 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
cuantificaci
on.
h((x)(A(x) A(t))) = a ; a, es valida en Lprop .
h((x)(A B(x)) (A (x)B(x))) ; (a b) (a b), es valida en Lprop .
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 L1 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 Lprop ,
lo cual es imposible.
Por u
ltimo, 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
1

El lector interesado puede encontrarla en E. Mendelson. Introduction to Mathematical Logic. Wadsworth &
Brook/Cole, third edition, 1987.

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

84

3.1.3.

Correcci
on, Completitud y Semidecidibilidad

En la Secci
on 2.2 mostramos la semidecidibilidad de L1 en terminos semanticos. Ahora, puesto que
disponemos de un sistema correcto y completo para L1 , podemos establecerla de forma equivalente en
terminos del sistema axiom
atico, es decir, mostrando un semialgoritmo para determinar si una fbf es o
no un teorema de L1 . M
as a
un,
La semidecidibilidad de la l
ogica de primer orden, es una consecuencia de la existencia
de sistemas de demostraci
on correctos y completos para esta l
ogica.
En efecto, puesto que el conjunto de fbfs de L1 es numerable, tambien lo es el conjunto de demostraciones
posibles en L1 (ya que toda demostraci
on en L1 es una secuencia finita de fbfs de L1 ). En consecuencia,
podemos proceder del modo siguiente:
1. Enumeramos todas las demostraciones en L1 , por ejemplo, de menor a mayor longitud y las de
igual longitud seg
un el orden lexicografico. Sea esta enumeracion
= {D1 , . . . , Dn , . . .}
2. Si una fbf A es v
alida, puesto que L1 es completo, ha de existir una demostracion Di para A.
3. Si una fbf A no es v
alida, puesto que L1 es correcto, no existe ning
un elemento Di tal que Di
es una demostraci
on para A. Pero, puesto que es infinito, nuestra b
usqueda no termina.
Es evidente, que la eficiencia 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 semantico cuya interpretacion asociada falsifica a A.

3.2.

Deducci
on Natural

El teorema de la deducci
on para L1 motiva, como en el caso proposicional, la introduccion de los
sistemas de deducci
on natural, en los que las deducciones adquieren protagonismo sobre las demostraciones y en los que las conclusiones se derivan desde un conjunto de hipotesis, sin utilizar axiomas, solo
mediante reglas de inferencia.
La filosofa y caractersticas de estos sistemas es la misma que la expuesta para la logica clasica
proposicional, Lprop : Las reglas de inferencia son de dos tipos, reglas de introducci
on y reglas de
eliminaci
on de conectivos y de cuantificadores, denotadas (, i) y (, e) respectivamente, donde representa un conectivo arbitrario o un cuantificador. Cada regla consta de una o mas hipotesis y una
conclusi
on y se representa por

hipotesis
Conclusion
Como en todo sistema de deducci
on natural, DN, introducimos la definicion siguiente:
Definici
on 3.3 Dado un conjunto, , de fbfs, se dice que una f
ormula A es deducible o derivable de
, denotado `DN A, si existe una secuencia finita de fbfs, A1 , A2 , . . . , An , tal que:
Cada Ai , donde 1 i n, es una f
ormula de o se obtiene de f
ormulas anteriores de la secuencia
mediante la aplicaci
on de alguna regla de inferencia.

NATURAL
3.2. DEDUCCION

85

An es A.
La secuencia A1 , . . . , An se dice que es una deducci
on o derivaci
on tipo Gentzen de A a partir
de .
Definici
on 3.4 Una f
ormula A es un teorema si es derivable desde el conjunto vaco de f
ormulas.
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 eliminacion para los conectivos booleanos son las mismas que en el
caso proposicional, es decir:
(, i)

A
B
AB

(, e1 )

(, i)

(, i1 )

A
AB

A
B
AB

(, i2 )

AB
A

(, e)

(, e2 )
A
AB
B
AB

B
AB

(, e)

A
B

(e)

AB
B

A
C

B
C

B
(, i)
A

A
A

Disponemos adem
as de reglas de introduccion y eliminacion de cada uno de los cuantificadores:

3.2.0.1.

Eliminaci
on de :
(x)A(x)
A(t)

La regla (, e)
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 v
alida. Pero este esquema es el Axioma 4 del sistema L1 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 impuestas 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
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. Reimpresi
on
en 1994.

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

86

`DN (x)(y)P (x, y) (y)P (y, y)


1. Subderivaci
on
(1.1) (x)(y)P (x, y)

hipotesis

(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 hipotesis adicionales de las subderivaciones a
un no finalizadas.
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 afirmar que todo elemento es A.
Para probar la correcci
on de (, i) tenemos que probar que si x
/ Vlibre (B) se tiene que la fbf (x)(B
A(x)) (B (x)A(x)) es v
alida. Pero este es el Axioma 5 del sistema L1 y su correccion la hemos
probado en el Teorema 3.4.
Los siguientes ejemplos nos muestran aplicaciones de (, e) y (, i).
Ejemplo 3.7 Demostramos que `DN (x)(y)P (x, y) (y)(x)P (x, y)
1. Subderivaci
on
(1.1) (x)(y)P (x, y)

hipotesis

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

hipotesis

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)

NATURAL
3.2. DEDUCCION

87

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

hipotesis

2. Subderivaci
on
(1.1) (x)P (x)

hipotesis 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.
Ejemplo 3.10 La aplicaci
on incorrecta de (, i) nos llevara a probar
`DN P (a, a) (x)P (x, a)
1. Subderivaci
on
(1.1) P (x, a)

hipotesis 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.2.0.3.

Introducci
on de :

(3) y (, e)

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 justificaci
on es la misma que para (, e).
Ejemplo 3.11 (x)P (x, a) `DN (x)P (a, x)
1. (x)P (x, a)

hipotesis

2. P (a, a)

(1) y (, e)

3. (x)P (a, x)

(2) y (, i)

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

88
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
no ocurre libre en ninguna hip
otesis.
no ocurre libre en las hip
otesis adicionales de la subderivaciones a
un no finalizadas necesarias 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 sea A nos
asegura B, entonces podemos afirmar 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
definici
on 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))

hipotesis

2. (x)P (x)

hipotesis

3. Subderivaci
on
(3.1) P (x)
(3.2) P (x) Q(x)

(3.3) Q(x)

(3.4) (x)Q(x)
4. (x)Q(x)

hipotesis adicional
(1) y (, e)
(3.1), (3.2) y (, e)
(3.3) y (, i)
(2), (3) y (, e)

Ejemplo 3.13 `DN (x)P (x) (x)P (x)


1. Subderivaci
on
(1.1) (x)P (x)

hipotesis 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)


Como en los sistemas axiom
aticos podemos introducir Reglas derivadas:

(1) y (, i)

NATURAL
3.2. DEDUCCION
3.2.0.5.

89

La regla derivada N :
(x)A(x)
(x)A(x)

n:
Demostracio
1. (x)A(x)

hipotesis

2. Subderivaci
on
(2.1) (x)A(x)

hipotesis adicional

(2.2) Subderivaci
on
(2.2.1) A(x)
(2.2.2) (x)A(x)
(2.2.3) (x)A(x)

hipotesis adicional
(2.2.1) y (, i)
(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)

An
alogamente 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)

Ejemplo 3.14 Comprobemos que `DN (x)(P (x) P (x))


1. Subderivaci
on
(1.1) P (x)

hipotesis adicional

(1.2) P (x)

(1.1) y Rep

2. P (x) P (x)

(1) y (, i)

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

90
3. Subderivaci
on
(3.1) P (x) P (x)

(3.2) (P (x) P (x))


4. (P (x) P (x))

hipotesis adicional
(3.1) y regla derivada de L
(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 l
ogica 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 noci
on de teora de primer orden, cuyo objetivo no es mas que la adaptaci
on
de la l
ogica de primer orden a dominios especficos. Estos dominios pueden ser mas 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 semanticamente.
Definici
on 3.5 Una teor
a de primer orden es un conjunto T de fbfs cerradas en un lenguaje de
primer orden L1 tal que:
1. T es satisfacible.
2. T es cerrado para la relaci
on de consecuencia l
ogica, es decir, si A L1 y T |= A entonces A T .
Teorema 3.8 Sea I0 un conjunto no vaco de interpretaciones para un lenguaje de primer orden L1 y
sea FI0 el conjunto de fbfs en L1 tales que toda interpretaci
on (U, I) I0 es un modelo de FI0 . Entonces
FI0 es una teora de primer orden.
n: Por definici
Demostracio
on, FI0 es satisfacible ya que toda interpretacion (U, I) I0 es un modelo
de FI0 .
Si FI0 |= A se tiene que toda interpretacion (U, I) I0 es un modelo para la formula A, por lo tanto
A FI0 .
Definici
on 3.6 Si I0 es un conjunto no vaco de interpretaciones para un lenguaje de primer orden L1 ,
llamamos a FI0 la teor
a de primer orden para I0 .
Intuitivamente, podemos pensar en una teora como en el conjunto de todas las afirmaciones que
deseamos realizar sobre alg
un fen
omeno. En la practica este conjunto es mas facil de manejar si destacamos
un subconjunto consistente en las afirmaciones mas significativas y desde las que pueden ser derivadas
el resto de las afirmaciones. Este es el objetivo de las teoras axiomaticas de primer orden que pasamos
a describir.
Definici
on 3.7 Una teor
a axiom
atica de primer orden T consta de:
1. Un lenguaje de primer orden (usualmente con un n
umero reducido de constantes individuales, de
letras de funci
on y de letras de predicado).

3.3. TEORIAS DE PRIMER ORDEN

91

2. Los esquemas de axiomas del sistema de Lukasiewicz L1 , llamados axiomas l


ogicos, que son
independientes de la signatura especfica y que, como hemos analizado, son v
alidos en toda interpretaci
on M.
3. Un conjunto finito de axiomas o esquemas de axiomas llamados axiomas propios que son fbfs
cerradas v
alidas en determinadas interpretaciones.
4. Las reglas de inferencia (MP) y (Gen) del sistema L1 .
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.
Definici
on 3.8 Un modelo para una teora axiom
atica de primer orden T , es una interpretaci
on para
la que todos los axiomas de T son v
alidos.
Puesto que las reglas de inferencia (MP) y (Gen) respetan la validez, podemos afirmar que:
Todo teorema de una teor
a de 1er orden, T , es v
alido en todo modelo de T .
Definici
on 3.9 Sea I0 es un conjunto no vaco de interpretaciones para un lenguaje de primer orden
L1 . Una teora axiom
atica T de primer orden axiomatiza completamente a FI0 o es completa respecto
a FI0 si
`T A si y solo si A FI0

Ejemplo 3.15 Definamos 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 funci
on.
El u
nico smbolo de predicados es un smbolo de predicado binario, denotado <, que usaremos en
notaci
on infija.
En consecuencia, el lenguaje es muy simple:
Los u
nicos 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)
Ax.2 (x)(y)(z) (x < y y < z) x < z

Irreflexiva


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:

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

92

1. Incluye en su signatura un smbolo de predicado binario al que se denota E y cuyo significado


se pretende que sea la identidad, es decir, que toda interpretacion M = (U, I) le asigne como
significado
I(E) = {(u, u) | u U }
Por lo tanto, E es un smbolo de predicado con un caracter especial, ya que no le ocurre como a
los smbolos de predicados utilizados hasta ahora en nuestro desarrollo, cuyo significado vara de
una a otra interpretaci
on; muy al contrario, su comportamiento es similar al de los smbolos , ,
, . . . , es decir es una constante l
ogica.
2. Para recoger la sem
antica de E, esta teora dispone de los siguientes axiomas propios:
(E1 ) (x)E(x, x)

reflexiva

(E2 ) (x)(y)(E(x, y) E(y, x))

simetrica

(E3 ) (x)(y)(z)((E(x, y) E(y, z)) E(x, z))

transitiva

(E4 ) E(t, u) E(f (t1 , . . . , ti1 , t, ti+1 , . . . , tn ), f (t1 , . . . , ti1 , u, ti+1 , . . . , tn )), donde f es un smbolo de funci
on n-ario y t, u, t1 , . . . , tn son terminos.
(E5 ) E(t, u) (P (t1 , . . . , ti1 , t, ti+1 , . . . , tn ) P (t1 , ti1 , u, ti+1 , tn )), donde P es un smbolo de
predicado n-ario y t, u, t1 . . . , tn son terminos.
Sin embargo, como nos muestra el siguiente ejemplo, los axiomas (E1 )(E5 ) no garantizan que en todo
modelo de T = la interpretaci
on de E sea la identidad sino tan solo una relacion de equivalencia .
Ejemplo 3.16 Consideremos el lenguaje de primer orden cuya signatura consiste en un smbolo de
funci
on binario f y un smbolo de predicado binario E. Consideremos la interpretacion
M = (Z, , {f ; +}, {E ;2 })
donde 2 denota la relaci
on congruencia modulo 2 en Z (es decir, x 2 y si y solo si x y es m
ultiplo
de 2). Esta interpretaci
on es un modelo para todos los axiomas (E1 )(E5 ). En efecto:
(E1 ) (x)(x 2 x)
(E2 ) (x)(y)(x 2 y y 2 x)
(E3 ) (x)(y)(z) (x 2 y y 2 z) x 2 z

(E4 ) t 2 u ((x + t) 2 (x + u))


(E5 ) t 2 u (x 2 t x 2 u)
Definici
on 3.10 Un modelo M = (U, I) de una teora de primer orden con igualdad T = en el que la
interpretaci
on 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.
n: Puesto que T = es consistente, debe tener un modelo M = (U, I). Puesto que M
Demostracio
satisface (E1 ), (E2 ) y (E3 ), se tiene que I(E) es una relacion de equivalencia en U . Denotemos por [u] la
clase de equivalencia a la que pertenece u. Consideremos la interpretacion (U/I(E), I ? ) donde
1. I ? (a) = [I(a)] para cada smbolo de constante a.
2. I ? (f )([u1 ], . . . , [un ]) = [I(f )(u1 , . . . , un )] para cada smbolo de funcion n-aria f .
3. ([u1 ], . . . , [un ]) I ? (P ) si y solo si (u1 , . . . , un ) I(P ) para cada smbolo de predicado n-ario P .

3.3. TEORIAS DE PRIMER ORDEN

93

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 6= para E.

En las teoras de primer orden con igualdad, podemos ampliar la potencia expresiva del lenguaje:
Hasta ahora disponamos del smbolo de cuantificacion para expresar que todos los individuos de un
dominio poseen cierta propiedad o est
an en una cierta relacion y del smbolo de cuantificacion para
expresar que al menos un individuo de un dominio posee cierta propiedad o esta en una cierta relaci
on.
En una teora de primer orden con igualdad podemos expresar:
existe exactamente un 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 6= y))
existen exactamente dos individuos que poseen la propiedad P

(x)(y) P (x) P (y) y 6= x (z)(P (z) ((z = x) (z = y)))
hay a lo sumo dos individuos tales que P
(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 6= y) (x 6= z) (y 6= z))
As podemos seguir tanto como deseemos.
er er En la definici
on de la sem
antica de la logica de primer orden (con o sin igualdad) hemos
supuesto que dado un modelo (U, I), la interpretacion de todo smbolo de funcion (si existe)
es una funci
on total, es decir, si f es un smbolo de funcion n-aria, I(f ) esta definida para
toda n-upla (u1 , . . . , un ) U n Que ocurre con las funciones parciales que con frecuencia son
requeridas? Podramos optar por extender la definicion para contemplar funciones parciales,
pero esta opci
on acarrea no pocas complicaciones. Por ello, la opcion mas adecuada es utilizar
smbolos de relaciones, en lugar de smbolos de funcion para representar funciones parciales
y a
nadir un axioma que asegure que se trata de una funcion. 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 contemplar que,
para toda funci
on n-aria : U n U , se tiene que (u1 , . . . , un ) = ], si ui = ] para
alg
un i tal que 1 i n.
para todo predicado n-ario P U , se tiene que (u1 , . . . , un ) 6 P, si ui = ] para alg
un i
tal que 1 i n.
para toda valuaci
on de variables , se tiene que (x) 6= ] para toda variable x V.
Con esta opci
on, si f es un smbolo de funcion monaria e I(f ) : U U es la funcion que
asigna a cada u U su vivienda habitual, expresamos que Luis no tiene vivienda habitual
por la fbf (x)(f (Luis) = x)

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

94

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 alfabeto:
{a, b, c, . . . , a1 , b1 , c1 , . . . , an , bn , cn , . . .}
El smbolo de funci
on binario k para representar la operacion de concatenacion, que usaremos en
notaci
on infija.
Un smbolo de predicado binario v para representar la relacion de subcadena, que usaremos en
notaci
on infija.
El smbolo de predicado binario =, que usaremos en notacion infija.
La sem
antica de k y v se recoge mediante los siguientes axiomas propios:
1. (x)(x = kx)
2. (x)(x v x)

3. (x)(y)(x = y (akx = aky))

4. (x)(y)(x = y (xka = yka))

5. (x)(y)(z)(u)((y = zku x v z) x v y)

6. (x)(y)(z)(u)((y = zku x v u) x v 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 u
nicos smbolos de predicados son = y un smbolo de predicado binario, denotado , que
usaremos en notaci
on infija.
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.

Aritm
etica de primer orden: Su signatura consta de
Un smbolo de constante: a (para representar al 0).
Un smbolo de funci
on monaria: f11 (para sucesor ) y dos smbolos de funciones binarias: f12 (para
2
suma ) y f2 (para producto).
El u
nico 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
(E1 )(E5 ) y adem
as
(N1 ) (x)(f11 (x) = a)
(N2 ) (x)(y)(f11 (x) = f11 (y) x = y)

3.4. ALGUNAS TEORIAS DE PRIMER ORDEN CON IGUALDAD

95

(N3 ) (x)(f12 (x, a) = x)


(N4 ) (x)(y)(f12 (x, f11 (y)) = f11 (f12 (x, y))
(N5 ) (x)(f22 (x, a) = a)
(N6 ) (x)(y)(f22 (x, f11 (y)) = f12 (f22 (x, y), x)
(N7 ) Para toda fbf A(x) tenemos
A(a) ((x)(A(x) A(f11 (x))) (x)A(x))
A partir de (N7 ) y (MP) obtenemos la siguiente regla derivada, a la que se denomina regla de inducci
on,
(Ind):
A(a), (x)(A(x) A(f11 (x))) ` (x)A(x))

Teora de grupos: Su signatura consta de:


Un smbolo de constante: e.
Un smbolo de funci
on binaria: .
El u
nico smbolo de predicados es un smbolo de predicado binario, denotado =, que usaremos de
forma infija.
Sus esquemas de axiomas propios son (E1 )(E5 ) 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.

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

96

3.5.

Ejercicios

1. Justificar las siguiente regla derivada (conocida como Regla Existencial ) para el sistema de Lukasiewicz:
Si t es libre para x en la f
ormula A, entonces
A(t) ` (x)A(x)
2. Justificar las siguiente regla derivada para el sistema de Lukasiewicz:
A(x) ` (x)(B(x) A(x)
3. Justificar en el sistema de Lukasiewicz que si A y B son fbfs y x
/ Vlibre (B), entonces:
` (x)(A B) (x)A B)
4. Justificar 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. Justificar en el sistema de Lukasiewicz:


a) Si x
/ Vlibre (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. Justificar en el sistema de deducci


on natural DN las reglas derivadas N , N y N .
7. Justificar 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. Justifica 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, definir los predicados


a) x es el m
aximo .
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)

97

3.5. EJERCICIOS
12. Probar en la teora de cadenas que abc v 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 esta encima de
y y la relaci
on 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
(Ax1 )


(x)(y)(z) (Enc(x, y) Enc(y, z)) Enc(x, z)

para destacar que encima tiene la propiedad transitiva, y


(Ax2 )

(x)(y)(S(x, y) Enc(x, y))

para destacar que si una caja est


a sobre algo, entonces esta por encima de ese algo.
Elegimos una configuraci
on de las cajas, a saber, a y c estan sobre la mesa y b esta sobre a. En
consecuencia, elegimos los tres axiomas siguientes:
(Ax3 )

S(a, m)

(Ax4 )

S(c, m)

(Ax5 )

S(b, a)

Usar esta teora para razonar formalmente sobre el mundo que acabamos de describir. Concretamente:
a) Probar que b est
a encima de la mesa, es decir, ` Enc(b, m).

b) Extender la teora para expresar que una caja esta cerrada si tiene otra caja sobre ella, y
abierta en otro caso. Probar que b esta abierta.
c) Extender la teora para incluir la idea de que dos objetos estan al mismo nivel si estan sobre
el mismo objeto, y luego demostrar que a y c estan al mismo nivel.
d) Extender la teora de c) para incluir la idea de que dos cajas estan al mismo nivel si los
objetos sobre los que se apoyan estan 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 estan 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 robo el dinero abriendo la caja fuerte. La
u
nica forma de abrir la caja fuerte es con la llave.
La signatura consta de
Dos smbolos de constantes: a para denotar Tomas 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
4

J. Woodcock and M. Loomes, editors. Software Engineering Mathematics. Pitman, 1991.


J. Woodcock and M. Loomes, editors. Software Engineering Mathematics. Pitman, 1991.

CAPITULO 3. SISTEMAS DEDUCTIVOS PARA L1

98

c) Ll(x) para expresar x tena una llave.


Los axiomas necesarios para formalizar la situacion son
(Ax1 )
(Ax2 )
(Ax3 )
(Ax4 )

((x)(C(x) Ll(x))

(x)(R(x) C(x))

((x)(R(x) C(x))

(x)(Ll(x) ((x = t) (x = h)))

Usar esta teora para razonar formalmente sobre el mundo que acabamos de describir. Concretamente:
a) Probar que bien Helenio o bien Tomas robo dinero, es decir, ` R(a) R(b).

b) Extender la teora para incluir la afirmacion de la inocencia de Tomas, y demostrar la culpabilidad de Helenio.

Captulo 4

M
etodo de las Tablas sem
anticas
Indice
4.0.1. Reglas de Extensi
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.0.2. Reglas para una Extension Sistematica . . . . . . . . . . . . . . . . . . . 104
4.1. Descripci
on del M
etodo

. . . . . . . . . . . . . . . . . . . . . . . . . . 105

4.2. Correcci
on y Completitud . . . . . . . . . . . . . . . . . . . . . . . . . 106
4.2.1. Tablas sem
anticas para la Construccion de Modelos . . . . . . . . . . . 108
4.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
En el captulo anterior hemos introducido los sistemas de deduccion para la logica de primer orden,
en este tema y en el siguiente abordamos la posibilidad de automatizacion de las demostraciones en esta
nueva l
ogica.
Como hemos analizado en los Captulos 2 y 3, para la logica de primer orden, la demostraci
on
autom
atica de teoremas solo puede aspirar a encontrar procedimientos de semidecisi
on, es decir, procedimientos 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 refutaci
on:
1. metodo de las tablas sem
anticas o de construccion de modelos.
2. metodo de resoluci
on.
En este captulo extendemos a la l
ogica de primer orden el primero de ellos.
Introducimos el metodo como extensi
on del expuesto para la logica proposicional, as pues, presentamos la formulaci
on del metodo debida a Jeffrey y Smullyan. 1 ; 2
Como tal sistema de refutaci
on, para verificar la validez de una formula A, el metodo de tablas
sem
anticas determina si A es satisfacible. Para ello 3 el metodo organiza la b
usqueda sistematica de
un modelo para A. Si la b
usqueda tiene exito, A no es valida, pero si la b
usqueda fracasa, entonces A
es v
alida. Similarmente, si se trata de comprobar la validez de la inferencia de una formula A a partir
de un conjunto de hip
otesis , entonces el metodo determina la satisfacibilidad de {A} buscando
1

R. C. Jeffrey. Formal Logic: its scope and limits. McGraw-Hill Inc., 1967. Traducci
on al espa
nol por Ed. Univ.
de Navarra, 1986.
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.
2
Para otras formulaciones ver:E. Beth. The foundations of mathematics. North-Holland, 1959.
3
Al igual que en el caso proposicional

CAPITULO 4. METODO
DE LAS TABLAS SEMANTICAS

100

sistem
aticamente un modelo para dicho conjunto. Si la b
usqueda tiene exito, la inferencia es valida, en
caso contrario, no es v
alida.
Por lo tanto, tendremos que extender el metodo visto para el caso proposicional, de modo que incluya
una b
usqueda de instanciaciones de f
ormulas cuantificadas.
Definici
on 4.1 Dado el conjunto de fbfs = {A1 , . . . , An } cuya satisfacibilidad se quiere comprobar, se
organizan las f
ormulas de en un
arbol de una sola rama con raz
on A1 y tal que cada Ai con 2 i n
es sucesor inmediato de Ai1 , es decir,
A1
A2
..
.
An
Llamamos a este
arbol
arbol inicial asociado a .
El
arbol inicial asociado a se ir
a ampliando sucesivamente mediante reglas de extension basadas
tan solo en la estructura sint
actica de las fbfs.
Para la descripci
on del metodo utilizaremos, como en el caso proposicional, la notaci
on uniforme
de Smullyan, es decir, agruparemos las formulas no literales cuya conectiva principal es una conectiva 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.

AB
(A B)
(A B)
A

A
A
A
A

B
B
B
A

AB
(A B)
AB

A
A
A

B
B
B

Para clasificar las fbfs cuantificadas, introducimos dos nuevos tipos de formulas: fbfs de tipo (o
cuantificadas existencialmente) y f
ormulas de tipo (o cuantificadas universalmente).
Las siguientes tablas muestran las f
ormulas de tipo y de tipo junto con sus componentes.

(t)

(t)

(x)A(x)

A(t)

(x)A(x)

A(t)

(x)A(x)

A(t)

(x)A(x)

A(t)

donde t es un termino b
asico (sin smbolos de variables).

4.0.1.

Reglas de Extensi
on

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
continuaci
on: 4
() Si A denota la rama determinada por el nodo hoja A y una -formula ocurre en A , extendemos
dicha rama a
nadiendo:
4

Las reglas () y () son las mismas que en el caso proposicional

101
(a) Dos nodos etiquetados con sus componentes 1 , 2 si 1 6= 2 .

(b) Un nodo etiquetado con la componente com


un si 1 = 2 .
y marcamos la -f
ormula como ya usada:
..
.

..
.

..
.

..
.

A
1
2

() 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 6= 2 .

(b) Un nodo etiquetado con la componente com


un , si 1 = 2 .
y marcamos la f
ormula
como ya usada:
..
.

..
.
X

..
.

..
.

@
@
1

Las reglas () y () requieren considerar, como hicimos en la Definicion 1.42 sobre skolemizacion y por
identicos motivos, la extensi
on de L1 :
Definici
on 4.2 Dado un lenguaje L1 de primer orden, definimos L+
on de L1 obtenida
1 como la extensi
a
nadiendo a su alfabeto un conjunto infinito numerable C 0 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 parametro que no aparece previamente en la rama, y
marcamos la -f
ormula:
..
..
.
.
(x)
..
.
A

(x) X
..
.
A
(a)

CAPITULO 4. METODO
DE LAS TABLAS SEMANTICAS

102

() 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 basico que aparece previamente en la rama, salvo
que (t) ocurra ya en la rama.
..
..
.
.
(x)
..
.

(x)
..
.

A
(t)

er er

La definici
on de las reglas y corroboran la idea de que las -formulas son de tipo universal
y la -f
ormulas son de tipo existencial.
Conviene resaltar que la regla (para fbfs de caracter existencial) permite eliminar la cuantificaci
on sustituyendo la variable cuantificada por un nuevo smbolo de constante (concretamente, 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 cuantificada por
un termino que apareci
o 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 u
nica que no sustituye la fbf por otras mas simples: a
nade
una m
as simple pero mantiene la de partida. La razon es que, claramente, con [x/t]A(x)
no cubrimos toda la informaci
on contenida en (x)A(x); puede ser necesario en una etapa
posterior instanciar (x)A(x) con alg
un otro termino t0 y expandir la rama con A(t0 ). De
esta forma aseguramos que las fbfs cuantificadas universalmente se podran instanciar con
terminos b
asicos que a
un no han sido introducidos.

Definici
on 4.3 Sea = {A1 , . . . , A2 } un conjunto de fbfs. Un
arbol T se dice que es un
arbol para
, si existe una secuencia de
arboles T1 , . . . , Tn , . . . tal que:
T1 es el a
rbol inicial asociado a , es decir, el
arbol de una sola rama:
A1
A2
..
.
An
Cada
arbol Ti , donde i 2, es un
arbol asociado a que es extensi
on inmediata de Ti1 , es
decir, Ti se obtiene de Ti1 por aplicaci
on de una regla de extensi
on a uno de sus nodos.
S
si T es finito, existe k tal que Tk = T , en otro caso, T = nN Tn .
er er

En adelante, en los ejemplos, a


nadiremos un subndice a las marcas X, que nos indique el
orden de aplicaci
on de las reglas.

103
Ejemplo 4.1 Si no exigimos que cada aplicacion de la regla introduzca una nueva constante, podramos
cometer el error de concluir que la f
ormula
A = (x)(P (x) Q(x)) ((x)P (x) (x)Q(x))
es v
alida:
[(x)(P (x) Q(x)) ((x)P (x) (x)Q(x))] X1
(x)(P (x) Q(x)) X5 [x/a])
((x)P (x) (x)Q(x)) X2
(x)P (x) X3 [x/a]
(x)Q(x) X4 [x/a] (Hemos utilizado de nuevo a)
P (a)
Q(a)
P (a) Q(a) X6
P (a)

@
@
Q(a)

Sin embargo, A no es v
alida ya que la interpretacion
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))] X1
(x)(P (x) Q(x)) X5 [x/a] (la hemos marcado)
((x)P (x) (x)Q(x)) X2
(x)P (x) X3 [x/a]
(x)Q(x) X4 [x/b]
P (a)
Q(b)
P (a) Q(a) X6
P (a)

@
@
Q(a)

La imposibilidad de marcar una -f


ormula una vez que ha sido usada plantea varios problemas: Como
se define el concepto de rama completa? Este concepto es necesario para describir el metodo, puesto que
si se extiende directamente la definici
on proposicional, olvidando el tratamiento especial necesario para
las -f
ormulas, no es posible demostrar que toda rama abierta de un arbol completo es satisfacible. La
soluci
on a este problema pasa por definir un metodo sistem
atico de b
usqueda.

CAPITULO 4. METODO
DE LAS TABLAS SEMANTICAS

104

4.0.2.

Reglas para una Extensi


on Sistem
atica

A continuaci
on describimos las reglas para construir tablas semanticas de un modo sistematico para
que, como hemos indicado, podamos asegurar que cada rama abierta es satisfacible.
Comenzamos la construcci
on mediante el arbol inicial de la formula o inferencia que se quiere verificar;
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 extension 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 basico
que aparece previamente en X (o un parametro arbitrario, si no existe tal termino).
er er

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:


Definici
on 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 negaci
on P ; en cuyo
caso decimos que el metodo es con cierre at
omico. O m
as en general, si en ella ocurren una
f
ormula B y su negaci
on B; en cuyo caso decimos que el metodo es con cierre no at
omico.
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.
Definici
on 4.5 Una rama abierta de un
arbol T para se dice completa si satisface las siguientes
condiciones:
1. Si una f
ormula ocurre en la rama , tambien sus componentes 1 y 2 ocurren en .
2. Si una f
ormula ocurre en la rama , o la componente 1 o la componente 2 ocurre en .
3. Si una f
ormula ocurre en la rama , una componente (a) ocurre en para alg
un par
ametro a.
4. Si una f
ormula ocurre en la rama , las componentes (t) ocurren en para todo termino b
asico.

DEL METODO

4.1. DESCRIPCION

105

Un
arbol T para se dice terminado si toda rama es cerrada o completa.
Definici
on 4.6 Llamamos refutaci
on para un conjunto de fbfs a cualquier
arbol cerrado para . Una
f
ormula C se dice que se deriva o infiere del conjunto de f
ormulas {H1 , . . . , Hn }, si existe una refutaci
on
para {H1 , . . . , Hn , C}. En particular, una f
ormula 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

Siguiendo a Jeffrey,
arbol de refutaci

on.

en la Figura 4.1 mostramos un diagrama de flujo para la construccion de un

Negaci
on de laf
ormulao bien
Hip.1,
Hip.2,
...,Hip n,negaci
on de laconclusi
on

Aplicar
( )
o ( ) siguiendo
eldiagramaproposicional
Hay algunarama abierta?
SI

NO

ES V ALIDA

ocurren
o -f
ormulasen alg
u
n nodo?
SI

NO

NO ES V ALIDA

Esaplicable
( ) a alg
u
n nodo?
SI

NO

Aplquese

Esaplicable
( ) ?
SI

NO

Aplquese

Figura 4.1:
Debemos tener en cuenta las siguientes observaciones.
1. No se puede realizar ning
un proceso de normalizacion previo al algoritmo; las formulas deben
incluirse tal y como aparecen en el problema inicial. Naturalmente, esto no es una limitaci
on
5

R. C. Jeffrey. Formal Logic: its scope and limits. McGraw-Hill Inc., 1967. Traducci
on al espa
nol por Ed. Univ.
de Navarra, 1986.

106

CAPITULO 4. METODO
DE LAS TABLAS SEMANTICAS
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
sem
anticas que debemos explotar.

2. Tal y como se refleja en el diagrama, el orden de prioridad de las extensiones es , y . Este orden
est
a determinado por cuestiones de eficiencia; dejamos para el final la extension , 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.
4. El orden de expansi
on de las f
ormulas y de los terminos usados en las extensiones no condiciona
la correcci
on 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 f
ormulas y terminos, aunque respetando siempre los criterios de prioridad.
Teorema 4.1 Toda refutaci
on para un conjunto de fbfs es un
arbol finito.
n: Puesto que, por construccion, nunca realizamos extensiones sobre una rama cerrada,
Demostracio
tenemos asegurado que toda rama cerrada es finita. Por lo tanto, el lema de Konig asegura el resultado.
En la l
ogica cl
asica proposicional, la aplicacion sistematica de las reglas a nodos no marcados no
se prolonga indefinidamente, y consecuentemente, cualquier arbol da lugar a un arbol terminado en un
n
umero finito de aplicaciones. Sin embargo, en la construccion de un arbol en la logica clasica de primer
orden, la aplicaci
on de las reglas puede prolongarse indefinidamente y generar arboles infinitos que, por
el lema de K
onig, tendr
an ramas infinitas. El siguiente ejemplo ilustra esta afirmacion. En el mostramos
un
arbol infinito para una f
ormula satisfacible.
Ejemplo 4.3 La f
ormula A = (x)(y)P (x, y) es satisfacible, ya que (N, {<}) es un modelo para esta
f
ormula. Sin embargo, si A es la entrada al metodo, la ejecucion da lugar a un arbol infinito:
(x)(y)P (x, y)
(y)P (a, y) X2
(x)(y)P (x, y)
P (a, b)
(y)P (b, y) X4
(x)(y)P (x, y)
P (b, c)
(y)P (c, y) X6
:
:

4.2.

X1 [x/a]
X3 [x/b]

X5 [x/c]

Correcci
on y Completitud

Como era de esperar, la adecuada definicion de las reglas de extension asegura la correccion del
metodo. Por su parte, la construcci
on sistematica del arbol nos permite asegurar su completitud. El
siguiente teorema es el resultado sem
antico basico del metodo:
Teorema 4.2 Si T es un
arbol satisfacible para entonces todo a
rbol para obtenido al aplicar a T
cualquier regla de extensi
on es tambien satisfacible.

Y COMPLETITUD
4.2. CORRECCION

107

n: Sea T un
Demostracio
arbol satisfacible para y sea una rama satisfacible de T . Supongamos que
0
T ha sido obtenido al aplicar una regla de extension a un nodo de la rama 0 de T que esta etiquetado
con una fbf A. Entonces,
1. Si = 0 , es una rama de T 0 y por lo tanto T 0 es satisfacible.
2. Si 6= 0 , 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 .

b) Si A es una -f
ormula entonces, T 0 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 interpretacion M0
que coincide con M salvo que I(a) = (x). Obviamente, M0 es un modelo para (a). Por
lo tanto, T 0 es satisfacible.
c) Si A es una -f
ormula, entonces T 0 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 demostraci
on
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 0 es satisfacible.

Teorema 4.3 (Existencia de modelo) Toda rama completa y abierta de un


arbol T para un conjunto
de fbfs es satisfacible.
n: Sean T ermb y P el conjunto de terminos basicos y el conjunto de smbolos de predicado
Demostracio
respectivamente que intervienen en las f
ormulas que etiquetan los nodos de . Sea F BF el conjunto de
f
ormulas que etiquetan los nodos de y Atom , en particular, el conjunto de atomos que etiquetan los
nodos de . Definamos una interpretaci
on, (U , I ), construida a partir de la rama como sigue:
1. U = T ermb .
2. I es una aplicaci
on tal que:
para cada termino t T ermb , I (t) = t;

para cada smbolo de predicado n-ario P P tal que: I (P ) = {(t1 , . . . , tn ) | P (t1 , . . . , tn )


Atom }.
Probaremos ahora que toda f
ormula de F BF es verdadera en M . En efecto, por reduccion al
absurdo, supongamos que existe al menos una formula F BF que es falsa en M . Elijamos la de menor
grado (o una de ellas, si hay m
as de una) con dicha propiedad, sea A tal formula. Es decir, se cumple:
(H) I (A) = 0 y para toda B F BF tal que gr(B) < gr(A), se tiene que I (B) = 1.
A no puede ser un literal, dada la definicion de I :
-Si A = P (t1 , . . . , tn ), entonces I (P (t1 , . . . , tn )) = 1, pues (ti , . . . , tn ) I (P ).
-Si A = P (t1 , . . . , tn ), entonces (ti , . . . , tn )
/ I (P ); de lo contrario, P (t1 , . . . , tn ) Atom y la

rama estara cerrada. Luego I (P (t1 , . . . , tn )) = 0, es decir, I (P (t1 , . . . , tn )) = 1.


Por lo tanto, A tiene que ser una , una , una o una -formula. Veamos que tampoco puede darse
ninguno de estos casos.

CAPITULO 4. METODO
DE LAS TABLAS SEMANTICAS

108

Si A fuera una -f
ormula, dado que es una rama completa y abierta se tiene que 1 y 2 F BF .
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 -f
ormula, dado que es una rama completa y abierta se tiene que 1 F BF o

bien 2 F BF . Dado que gr(1 ), gr(2 ) < gr(), por (H) tendramos que si 1 F BF , entonces
I (1 ) = 1 y si 2 F BF , entonces I (2 ) = 1. En cualquier caso, I () = 1. Pero esto contradice la
hip
otesis (H), la cual establece que I (A) = I () = 0. As pues, A tampoco puede ser una -formula.
Si A fuera una -f
ormula, dado que es una rama completa y abierta se tiene que (a) F BF , 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 -f
ormula, dado que es una rama completa y abierta se tiene que (t) F BF , para
todo termino t T ermb . Dado que gr((t)) < gr() para todo t T ermb , por la hipotesis (H) resulta
que I ((t)) = 1 para todo t T ermb . 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

f
ormula de F BF 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 {H1 , . . . , Hn , C}, entonces H1 , . . . , Hn |= C.

2. Si H1 , . . . , Hn |= C entonces existe una refutaci


on para {H1 , . . . , Hn , C}. M
as a
un, si {H1 , . . . , Hn , C}
es insatisfacible, entonces la construcci
on sistem
atica debe terminar en un n
umero finito de pasos.

n:
Demostracio
1. Suponemos que existe una refutaci
on para {H1 , . . . , Hn , C}. Deseamos probar H1 , . . . , Hn |= C,
es decir que {H1 , . . . , Hn , C} es insatisfacible. Lo probamos por reduccion al absurdo:
Si = {H1 , . . . , Hn , C} fuera satisfacible, por el Teorema 4.2, todo arbol asociado a es satisfacible, es decir, todo
arbol para tendra una rama abierta, lo cual es imposible por hipotesis.
2. Suponemos H1 , . . . , Hn |= C. Deseamos probar que existe una refutacion para {H1 , . . . , Hn , C}.
Lo probamos por reducci
on al absurdo:
Si no existiera una refutaci
on para = {H1 , . . . , Hn , 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 sistematica, nos asegura que para todo nodo N en si A es
la etiqueta de N y A no est
a marcada, el metodo aplicara en alg
un momento de su ejecucion una
regla a A.
En particular, si A es una -f
ormula y t es un termino basico que ocurre en , existe un descendiente
N 0 de N etiquetado con (t). En definitiva, construiramos una rama abierta y completa y, por
el Teorema 4.3 de existencia de modelo, = {H1 , . . . , Hn , C} sera satisfacible en contra de la
hip
otesis.

4.2.1.

Tablas sem
anticas para la Construcci
on de Modelos

Igual que en el caso proposicional, los metodos de demostracion son realmente algoritmos de satisfacibilidad 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 refutaci
on.
En una l
ogica cl
asica de primer orden, la busqueda de un modelo supone:

Y COMPLETITUD
4.2. CORRECCION

109

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 basicos.
Para acercarnos intuitivamente a la b
usqueda de modelos, veamos el siguiente ejemplo resuelto a nivel
sem
antico.
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 verifique 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, adem
as, 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 interpretacion que estamos construyendo. Dado
que no podemos hacer esto, ya que ni siquiera sabemos cual puede ser finalmente 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 terminado para un conjunto de fbfs, cada rama abierta , proporciona un modelo para , concretamente,
el modelo de Herbrand respecto de L+
on I tal que I(A) = 1 si A ocurre
1 determinado por la interpretaci
en e I(A) = 0 si A ocurre en .

CAPITULO 4. METODO
DE LAS TABLAS SEMANTICAS

110

Ejemplo 4.5 La f
ormula A = (x)(y)R(x, y) (x)R(x, a) es valida.
[(x)(y)R(x, y) (x)R(x, a)] X1
(x)(y)R(x, y) X3
(x)R(x, a) X2
R(a, a)
(x)R(x, a) X4 [x, a]
(y)R(b, y) X5
R(b, a)
()R(x, a)
[x/a, b]
R(b, a)
(y)R(b, y) [y/b]

Ejemplo 4.6 La f
ormula 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))] X1
(x)(P (x) Q(x)) X4 [x/a]
((x)P (x) (x)Q(x)) X2
(x)P (x) X5 [x/a]
(x)Q(x) X3
Q(a)
P (a) Q(a) X6
(x)(P (x) Q(x))
P (a)
(x)P (x)
P (a)

@
@

Q(a)

Ejemplo 4.7 La f
ormula A = [((x)P (x) R(a)) (y)Q(y)] no es valida.
[((x)P (x) R(a)) (x)Q(y)] X1
((x)P (x) R(a)) (y)Q(y) X2
(x)P (x) R(a) X3
(y)Q(y) X4 [x/a]

H

H
(x)P (x) X5
R(a)
Q(a)
Q(a)
(y)Q(y) [x, a] X6
(y)Q(y) [x, a]
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 m
as simple el grafico, 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

Y COMPLETITUD
4.2. CORRECCION

111

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)
X1
(t)Q(t, a)
((4)[t/a]; (10)[t/b])
((y)P (y, a)
X7
(v)(P (a, v) Q(a, v))
((5)[v/a]; (11)[v/b])
Q(a, a)
P (a, a) Q(a, a) X6
@
@
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) X14
P (b, a) Q(b, a) X15
P (b, b) Q(b, b)
P (a, b)
@
@
P (b, a)
Q(b, a)

@
@
Q(a, b)
@
@
P (b, a)
Q(b, a)

Ejemplo 4.9 Vamos a estudiar la validez del siguiente razonamiento usando el metodo de Gilmore y el
de las Tablas sem
anticas.
El padre del padre de una persona es su abuelo, toda persona tiene un padre; por lo tanto
todo el mundo tiene un abuelo.
Leyendo la relaci
on P (x, y) como x es padre de y y la 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 v
alido 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
HS = {a, f (a), f (f (a)), f (f (f (a))), . . . }
y la base de Herbrand
BS = {P (t1 , t2 ); t1 , t2 HS } {A(t1 , t2 ); t1 , t2 HS }
Construimos el
arbol de Gilmore para A1 A2 A3 con:
A1 = (x)(y)(z)((P (x, y) P (y, z)) A(x, z)),

A2 = (x)P (f (x), x),

A3 = (y)A(y, a)

112

CAPITULO 4. METODO
DE LAS TABLAS SEMANTICAS

La tabla sem
antica que demuestra igualmente la validez del razonamiento se muestra a continuaci
on.
La diferencia de tama
no entre los dos
arboles no debe conducir a conclusiones erroneas sobre la complejidad 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 significado de los mismos en el modelo es el mismo: b es el padre de a y c es el padre de b,
as como f (a) es el padre de a y f (f (a)) es el padre de f (a).

113

4.3. EJERCICIOS

4.3.

Ejercicios

1. Aplicar el metodo de las tablas sem


anticas 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 sem


anticas 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 sem


anticas 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

a)

b)

la validez de la siguientes inferencias utilizando Tablas semanticas:


(x)((y)(S(x, y) M (y)) (y)(I(y) E(x, y)))
(x)I(x) (x)(y)(S(x, y) M (y))
(x)(G(x) M (x))
(x)(M (x) F (x))
(x)(G(x) F (x))

5. Aplicar el metodo de las tablas sem


anticas 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 sem


anticas 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

114

CAPITULO 4. METODO
DE LAS TABLAS SEMANTICAS
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 sem


anticas 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 sem
anticas 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 razonamientos:
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:

(x)(C(x) (W (x) R(x)))


(x)(C(x) O(x))
a)

(x)(O(x) R(x))

(y)(S(y) C(y))
b)
(x)((y)(S(y) V (x, y)) (z)(C(z) V (x, z)))

(x)(F (x) (y)(G(y) H(x)))


(x)F (x) (x)(F (x) G(x))
c)

(x)(F (x) H(x))

(x)(G(x) (y)H(y))
(x)G(x)
d)

(x)H(x)

(x)(F (x) G(x))


(x)(F (x) G(x))
e)

(x)F (x)

(x)(H(x) A(x))
f)
(x)((y)(H(y) T (x, y)) (y)(A(y) T (x, y)))

4.3. EJERCICIOS

g)

h)

i)

j)

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

F (a)
(x)(F (x) G(x)) (x)((F (x) G(x)) (F (x) G(a)))

(x)(y)P (x, y)
(x)P (x, x)

(x)(y)(z)((P (x, y) P (y, z)) P (x, z))

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

(x)(y)Q(x, y)

115

116

CAPITULO 4. METODO
DE LAS TABLAS SEMANTICAS

Captulo 5

M
etodo de Resoluci
on
Indice
5.1. Resoluci
on b
asica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
5.2. Unificaci
on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
5.2.1. El Algoritmo de Unificacion . . . . . . . . . . . . . . . . . . . . . . . . . 125

5.3. Resoluci
on de Atomos
no b
asicos . . . . . . . . . . . . . . . . . . . . . 127
5.3.1. Resoluci
on Lineal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
5.3.2. Resoluci
on Lineal Ordenada . . . . . . . . . . . . . . . . . . . . . . . . . 134
5.4.

Cl
ausulas de Horn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
5.4.1. Programaci
on l
ogica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
5.4.2. Mnimo Modelo de Herbrand para un Programa logico . . . . . . . . . . 145

5.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147


Como comentamos en el estudio de la logica proposicional, el sistema de demostracion automatica
m
as conocido y m
as utilizado en los sistemas de programacion logica es, sin duda, el metodo de resoluci
on
introducido por Robinson. En este captulo presentamos la extension del metodo proposicional que, como
venimos reiterando, para la l
ogica de primer orden es un semialgoritmo.
Como en el caso proposicional, la extension que vamos a definir,
para verificar la validez de una fbf, A, considera como entrada el conjunto de clausulas correspondientes a una forma clausal simult
aneamente satisfacible con A y determina si tal conjunto de
cl
ausulas es o no insatisfacible;
para verificar la validez de una inferencia
H1
H2
..
.
Hn
C
considera como entrada el conjunto de clausulas correspondientes a una forma clausal simultaneamente satisfacible con H1 Hn C, y determina si tal conjunto de clausulas es o no insatisfacible.

117

CAPITULO 5. METODO
DE RESOLUCION

118

Tambien como en el caso proposicional, la base semantica del metodo de resolucion que vamos a definir
es el siguiente resultado: Dado un conjunto de cl
ausulas b
asicas, se tiene que:
es insatisfacible si y solo si |= 2

donde 2 representa la cl
ausula vaca (disyuncion vaca de literales).
Destaquemos que:

no hemos puesto restricci


on al cardinal de , sobre el que sabemos que a lo sumo es infinito
numerable;
las cl
ausulas b
asicas son afirmaciones del lenguaje natural del tipo contemplado en la logica clasica
proposicional
En definitiva, nuestro problema consiste en extender el metodo de Resolucion estudiado en la logica
cl
asica proposicional para que contemple la posibilidad de analizar la satisfacibilidad de un conjunto infinito numerable de cl
ausulas. Pero que sentido tiene considerar || = 0 ? Tiene sentido considerar un
razonamiento con un conjunto infinito numerable de hipotesis? En efecto, solo vamos a contemplar razonamientos en L1 con un n
umero finito de hipotesis, pero leamos con cuidado nuestra afirmacion anterior
y destaquemos que hablamos de un conjunto infinito numerable de cl
ausulas b
asicas y recordemos
que
Un conjunto de cl
ausulas, L1 , es satisfacible si y solo si el conjunto b
de sus instancias b
asicas es satisfacible
Recordemos tambien que, basta que en intervenga un s
mbolo de funci
on 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 definitiva, no podemos olvidar que la forma clausal = {P (f (x)))} representa la fbf ()P (f (x) y, en
general,
Si C una cl
ausula y {x1 , . . . , xn } es el conjunto de variables que interviene en
C entonces: Una interpretaci
on M es un modelo para C si y solo si M es un
modelo para (x1 ) . . . (xn )C(x1 , . . . , xn ).
Disponemos de alg
un resultado especfico sobre la satisfacibilidad de un conjunto infinito de clausulas
b
asicas? Afortunadamente s: disponemos del teorema de Compacidad de Herbrand, que nos asegura
que: si es un conjunto de cl
ausulas y b el conjunto de instancias basicas de , entonces
b es satisfacible si y solo si existe un subconjunto finito b0 b que es
satisfacible.
As que podemos empezar plante
andonos la primera extension obvia del metodo para analizar la satisfacibilidad de un conjunto de cl
ausulas b
asicas.

5.1.

Resoluci
on b
asica

Definici
on 5.1 Dos cl
ausulas b
asicas C1 y C2 se dicen resolubles respecto a un
atomo A, si A
ocurre en C1 y su opuesto A ocurre en C2 . Si C1 y C2 son resolubles respecto a A, llamamos resolvente
de C1 y C2 respecto de A , denotada RA (C1 , C2 ), a la cl
ausula
RA (C1 , C2 ) = (C1 {A}) (C2 {A})
donde C1 {A} y C1 {A} representan las cl
ausulas obtenidas al eliminar A y A en C1 y C2 , respectivamente.
La regla de resoluci
on es la siguiente:

BASICA

5.1. RESOLUCION

119

Si C1 y C2 son resolubles respecto a A entonces


C1
C2
RA (C1 , C2 )
Ejemplo 5.1
1. RP (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. RQ(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. RP (a) (P (a), P (a)) = 2

4. RR(f (c)) (Q(a, b) R(f (c)), P (a) R(f (c))) = Q(a, b) P (a)

5. RP (a) (Q(a, b) R(f (c)), P (a) R(f (c))) No existe

La justificaci
on sem
antica de la regla de resolucion para clausulas basicas 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 resoluci
on) Dado un conjunto de cl
ausulas b
asicas ,
si C1 , C2 son resolubles entonces
es satisfacible si y solo si {Rl (C1 , C2 )} lo es.
Definici
on 5.2 Dado un conjunto de de cl
ausulas b
asicas y una cl
ausula b
asica C, se dice que C es
deducible por resoluci
on a partir de , denotado `R C, si existe una secuencia de cl
ausulas b
asicas
C1 , C2 , , Cn tal que:
1. Cada Ci (1 i n) es o bien una cl
ausula de o bien una resolvente de dos cl
ausulas anteriores
en la secuencia.

2. Cn = C.

La secuencia Ci (1 i n) se dice que es una deducci


on por resoluci
on de C a partir de . Una
deducci
on por resoluci
on de 2 a partir de se le denomina una refutaci
on por resoluci
on de .
Ejemplo 5.2 Demos una refutaci
on por resolucion del siguiente conjunto finito de clausulas basicas:
= {P (a) Q(a, b), Q(a, b) R(f (c)), P (a) R(f (c)), R(f (c))}
1.
2.
3.
4.
5.
6.
7.
8.

P (a) R(f (c))


R(f (c))
P (a)
Q(a, b) R(f (c))
Q(a, b)
P (a) Q(a, b)
Q(a, b)
2

de
de
RR(f (c)) (1, 2)
de
RR(f (c)) (2, 4)
de
RP (a) (3, 6)
RQ(a,b) (5, 7)

1
Basta advertir que dicha regla no es m
as que la expresi
on en terminos de y de la ley del silogismo
hipotetico: Para cualesquiera tres fbfs b
asicas A, B y C

A B, A C |= B C

CAPITULO 5. METODO
DE RESOLUCION

120

El modo habitual de representar las deducciones por resolucion a partir de un conjunto de clausulas
es mediante un
arbol binario.
Definici
on 5.3 Un
arbol de resoluci
on para un conjunto de cl
ausulas b
asicas es un
arbol caracterizado como sigue:
1. Cada nodo no hoja tiene dos descendientes inmediatos.
2. Cada nodo hoja est
a etiquetado por una cl
ausula de .
3. Cada nodo no hoja est
a etiquetado por una resolvente de las etiquetas de sus descendientes inmediatos.
Por definici
on, resulta obvio el siguiente resultado.
Teorema 5.2 Si C es la etiqueta de la raz de un
arbol de resoluci
on para , entonces `R C.
Si C es 2, el
arbol se dice que es un
arbol de refutaci
on para .
Ejemplo 5.3 A continuaci
on se presenta un arbol de refutacion para el conjunto finito de clausulas
b
asicas
= {P (a) Q(a, b), Q(a, b) R(f (c)), P (a) R(f (c)), R(f (c))}
P (a) Q(a, b)

P (a) R(f (c)) R(f (c)) Q(a, b) R(f (c))


@
@
@

@
@
@
@

R(f (c))

@
P (a)

@
@

Q(a, b)

@
Q(a, b)@
@
@
@
@
@
@
2
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 extension del metodo de resolucion para el caso de un
conjunto finito de cl
ausulas y, como era de esperar, tal extension es inmediata Pero como operar en

BASICA

5.1. RESOLUCION

121

el caso de un conjunto infinito de cl


ausulas ? Desearamos disponer de herramientas que nos permitan

eludir la ingente tarea de ir generando todos los subconjuntos finitos de b . 2 Este


fue el objetivo de
Robinson al definir el metodo de resoluci
on para L1 y a describirlo dedicamos el resto del captulo.
Volvamos a nuestro problema, analizar la satisfacibilidad de un conjunto de clausulas en L1 . 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 b2 es
satisfacible. Pero
b2 = {P (c), P (c), P (f (c)), P (f (c)), . . . P (f n (c)), P (f n (c)), . . .}3
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 H1 H2 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 refutaci
on por resoluci
on de b , podemos proceder como sigue:
1.
2.
3.
4.
5.
6.
7.
...

P (a)
P (b)
P (a) P (f (a))
P (f (a))
P (f (a)) P (f 2 (a))
P (f 2 (a))
...

de b
de b
de b
RP (a) (1, 3)
de b
RP (f (a)) (4, 5)
...

Se puede generar la cl
ausula P (f n (a)) para todo n N , pero ninguna otra clausula. Por tanto el conjunto
de cl
ausulas es satisfacible.
En el ejemplo anterior, la simplicidad de b nos ha permitido concluir la satisfacibilidad pero, desafortunadamente, no existe un metodo general y eficiente para generar todas las instancias basicas de
un conjunto de cl
ausulas de L1 . M
as a
un, para calibrar la complejidad del problema. Consideremos que
el universo de Herbrand de un conjunto de fbfs es H = {a, b, c, d}, entonces, una clausula con dos
variables, por ejemplo C1 = P (x, y) o bien C2 = P (x, a) Q(y), tiene 16 instancias basicas posibles y,
por ejemplo, si consta de tres cl
ausulas con dos variables, ! tiene 4.096 instancias basicas diferentes.
Por esta razo
on, como hemos indicado, la idea de Robinson consiste en trabajar directamente con las
cl
ausulas sin tener que manejar explcitamente las instancias basicas. Profundizamos ahora en esta idea:
2
3

Recordemos que, puesto que |b | = 0 , se tiene que 2 = 1


donde c es la constante de Herbrand

CAPITULO 5. METODO
DE RESOLUCION

122

Si consta de un par de cl
ausulas de L1 , por ejemplo, = {P (x) Q(x), P (f (y)) R(x, x)}, se
tiene que estas dos cl
ausulas
C1

C2

P (x) Q(x)

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 C1 y C2 :
C1b

C2b

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

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 modificar la definici
on de clausulas resolubles de modo que podamos asegurar que dos
cl
ausulas C1 y C2 son resolubles si y solo si existe una clausula C10 , instancia de C1 , y una clausula C20 ,
instancia de C2 , tales que C10 y C20 son resolubles. La idea de Robinson de trabajar directamente con
cl
ausulas con variables requiere considerar un mecanismo, debido a Herbrand, llamado unificacion. Los
siguientes ejemplos nos ayudar
an a comprender de que se trata.
En el ejemplo anterior, hemos usado instancias basicas C10 y C20 . Ahora bien, puesto que al considerar
instancias de las cl
ausulas se ha podido llegar a un par resoluble, sera conveniente obtener la resolvente
m
as general posible, as podramos permitir que alguna de sus instancias se pueda resolver posteriormente
con alguna otra cl
ausula de . Un ligero analisis permite encontrar una sustitucion mas general, [x/f (y)],
que tambien proporciona un par resoluble de clausulas C10 y C20 :
C10
C20

= P (f (y)) Q(f (y))

= P (f (y)) R(f (y), z)

obteniendose como resolvente la cl


ausula 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 C1b , C2b y C3b :
C1b

P (f (b), a, a)

C2b
C3b

P (f (b), a, a) Q(a, g(a, f (b))

Q(z, g(a, f (b)))

En primer lugar, podemos ahora resolver C1b y C2b 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 cl
ausula con Q(a, g(a, f (b))) es la clausula vaca.
En general, todas las instancias con las sustituciones [x/f (t1 )], [y/t2 ], [u/t1 ], [v/a], [w/t2 ] y [z/a]
donde t1 , t2 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 m
as general. Implcitamente, se ha usado el concepto de unificacion debido
a Herbrand y que, como hemos indicado, es una herramienta fundamental en la extension del metodo de
resoluci
on al caso general. Pasamos ya a introducir estos conceptos.


5.2. UNIFICACION

5.2.

123

Unificaci
on

La unificaci
on ha adquirido mucha significacion 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, procesamiento del lenguaje natural, sistemas expertos, lenguajes de manipulacion de textos, sistemas de
planificaci
on, sistemas de representaci
on del conocimiento, lenguajes de programacion logica, sistemas de
reescritura y el
algebra computacional.
Comenzamos introduciendo la noci
on de sustituci
on (finita),4 si no hay lugar a confusion simplemente
diremos sustituci
on:
Definici
on 5.4 Sea Term el conjunto de terminos de L1 . Una sustituci
on finita es una aplicaci
on
: V T erm que coincide con la aplicaci
on identidad salvo en un n
umero finito de variables, es decir,
tal que (x) = x salvo para un n
umero finito de elementos x de V.
Si no hay lugar a confusi
on, nos referiremos a una sustituci
on finita simplemente como sustitucion y
la representaremos mediante el conjunto de variables xi tal que (xi ) =
6 xi :
= {x1 /t1 , x2 /t2 , . . . , xn /tn }
El conjunto de variables {x1 , . . . , xn } se llama dominio de (y se denotar
a dom()), mientras que el
rango de (denotado ran()) es el conjunto de variables que aparecen en los terminos ti .
Una sustituci
on = {v1 /t1 , . . . , vn /tn } es b
asica si los terminos t1 , . . . , tn son b
asicos.
Una sustituci
on = {x1 /t1 , . . . , xn /tn } es de renombramiento si los terminos t1 , . . . , tn son todos
smbolos de variables.
Dada una sustituci
on , la extendemos a Term del siguiente modo: (t) es el termino obtenido sustituyendo en t cada variable x por (x).
La aplicaci
on de la sustituci
on a un termino t se denotara por t, y el termino obtenido se dira que
es una instancia de t. En particular, si es una sustitucion basica, diremos que t es una instancia
b
asica de t.
Si 1 y 2 son dos sustituciones, la composicion de 1 y 2 , se denotara como 2 1 . La operacion
es asociativa y tiene como elemento unidad a la sustitucion vaca .
Dadas dos sustituciones 1 y 2 definidas por
1
2

= {x1 /t1 , x2 /t2 , . . . , xn /tn }

= {y1 /u1 , y2 /u2 , . . . , yk /uk }

la composici
on 2 1 viene dada por
{x1 /2 (t1 ), . . . , xn /2 (tn ), yi1 /2 (yi1 ), . . . , yim /2 (yim )}
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}.
4

En la Secci
on 1.1.5 se defini
o la sustituci
on de las variables libres de una f
ormula por un termino; lo que ahora
se define es otro tipo de sustituci
on, dentro del contexto de unificaci
on.

CAPITULO 5. METODO
DE RESOLUCION

124

La extensi
on de una sustituci
on finita al conjunto Atom de los atomos de L1 se realiza de forma
obvia:
P (t1 , . . . , tn ) = P (t1 , . . . , tn ) .
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)
Definici
on 5.5 Diremos que un conjunto de terminos {t1 , . . . , tn } es unificable si existe una sustituci
on tal que t1 = t2 = . . . = tn . Asimismo, diremos que un conjunto de
atomos con el
)},
es
unificable
si
existe
una
sustituci
on tal que
mismo predicado, {P (t11 , . . . , t1n ), . . . , P (tn1 , . . . , tm
n
P (ti1 , . . . , tin ) = P (tj1 , . . . , tjn ) para cualesquiera i y j tales que i, j {1, . . . , m}. En ambos casos
diremos que es un unificador, del conjunto {t1 , . . . , tn } en el caso de terminos, o del conjunto
m
on de
atomos.
{P (t11 , . . . , t1n ), . . . , P (tm
1 , . . . , tn )} en el caso de unificaci
Ejemplo 5.8
1. Los
atomos P (f (x), a) y P (y, f (w)) no son unificables ya que y y f (x) son unificables pero a y
f (w) no lo son.
2. Los
atomos P (f (x), z) y P (y, a) son unificables y = {x/a, y/f (a), z/a} es un unificador. En efecto
(P (f (x), z)) = (P (y, a)) = P (f (a), a)
Definici
on 5.6 Dado un conjunto de terminos {t1 , . . . , tn }, diremos que un unificador de {t1 , . . . , tn }
es de m
axima generalidad (denotado umg) si para cualquier otro unificador de {t1 , . . . , tn } se tiene
que = para alguna sustituci
on .
Intuitivamente, un unificador de m
axima generalidad realiza el menor n
umero de sustituciones y las
m
as 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 unificadores 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)).
adem
as, 2 es m
as general que 1 en el sentido de que 1 = {x/a} 2
No existe un u
nico unificador de m
axima 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 sustituci
on 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 .


5.2. UNIFICACION

125

n: Por definici
Demostracio
on 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 xi /ti donde ti 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 sustituci
on 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 unificaci
on de Robinson que, dado un conjunto de
tomos, determina si es o no unificable y, si lo es, proporciona un umg para tal conjunto. Damos adem
a
as
una versi
on del algoritmo para un conjunto de ecuaciones de terminos

5.2.1.

El Algoritmo de Unificaci
on

Antes de presentar el algoritmo necesitamos algunas definiciones previas.


Definici
on 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 posici
on 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 posici
on. 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.1.1.

Algoritmo de unificaci
on

Paso 1 Sea k = 0, Tk = k T y k = .
Paso 2 Si Tk es unitario, detener el algoritmo con la salida: k es el unificador mas general para T .
En otro caso, hallar el conjunto de discrepancias, Disk , de Tk .
Paso 3 Si existen terminos xk y tk en Disk tales que xk es una variable que no ocurre en tk , ir al paso
4. En otro caso, detener el algoritmo con la salida: T no es unificable.
Paso 4 Sea k+1 = (xk /tk ) k y sea Tk+1 = (xk /tk )Tk .
Paso 5 Hacer k = k + 1 y volver al paso 2.
Para cualquier conjunto finito no vaco de terminos (de atomos), este algoritmo siempre termina. En
efecto, en caso contrario, se generara una secuencia infinita 0 T, 1 T, . . . de conjuntos finitos y no vacos
con la propiedad de que cada uno de ellos tiene una variable menos que el anterior (es decir, k T contiene
xk pero k+1 T no), lo cual es imposible porque T (respectivamente A) solo puede contener un n
umero
finito de variables.
er er

El algoritmo anterior es no determinista ya que en el paso (3) pueden existir varias elecciones
de xk y tk . Tiene un paso sumamente ineficiente, la verificacion sistematica 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 comprobaci
on simplemente se omite, aun a riesgo de perder la correccion del algoritmo y, en
consecuencia, con la posibilidad de obtener un resultado erroneo.

CAPITULO 5. METODO
DE RESOLUCION

126

Teorema 5.4 (de unificaci


on) Si T es un conjunto no vaco y unificable de terminos, entonces el
algoritmo de unificaci
on siempre termina en una aplicaci
on del paso 2 y la sustituci
on k es un umg para
T . adem
as, k es tal que, para cualquier otro unificador de T se tiene que = k y por lo tanto, el
algoritmo nos proporciona un umg idempotente.
n: Si T es unificable, y el algoritmo termina con la salida: k es el unificador mas general
Demostracio
para T , es evidente que k es un unificador; nos falta probar que k es un umg, es decir, que para
cualquier otro unificador existe una sustitucion tal que = k .
Sea un unificador 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 {xk /tk }. Bastara probar que
{xk /tk } = . Para ello es suficiente que coincidan en todo smbolo de variable:
Si x 6= xk , entonces es claro que {xk /tk }x = x y por lo tanto {xk /tk }(x) = (x)

Para x = xk , se tiene {xk /tk }x = tk y por lo tanto {xk /tk }(xk ) = (tk ). Ahora bien,
puesto que es un unificador de T y xk y tk estan en Disk (Tk ), ha de ser (xk ) = tk y por
lo tanto, (tk ) = (xk ) y tambien en este caso {xk /tk }(xk ) = (xk ).
Ejemplo 5.11 Para los
atomos P (a, x, f (g(y))) y P (z, f (z), f (u)) la ejecucion es como sigue:
k = 0; 0 = ; D0 = 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))
D1 = 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))
D2 = 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)))
D3 = 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 ejecucion es como sigue:
k = 0; 0 = ; D0 = 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))

DE ATOMOS

5.3. RESOLUCION
NO BASICOS

127

1 (Q(y, y)) = Q(f (a), f (a))


D1 = Dis(Q(f (a), g(x)), Q(f (a), f (a))) = {g(x), f (a)}
No son unificables
Ejemplo 5.13 Para los
atomos P (a, x, h(g(z))) y P (z, h(y), h(y)) la ejecucion es como sigue:
k = 0; 0 = ; D0 = 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))
D1 = {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))
D2 = {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)))
D3 =
3 es un umg
El concepto de unificaci
on puede verse como el analogo a la resolucion de ecuaciones en una teora
algebraica, algo tan antiguo como la misma Matematica; en definitiva, la teora de la unificacion no es m
as
que la extensi
on de este estudio a un contexto mas abstracto. Por esta razon, incluimos en esta seccion una
segunda versi
on del algoritmo de unificaci
on que, dado un conjunto de ecuaciones de terminos, determina
si es o no unificable y, si lo es, proporciona un umg para tal conjunto.

5.3.

Resoluci
on de Atomos
no b
asicos

Una vez conocido el algoritmo de unificacion, podemos considerar la extension del principio de resoluci
on para la l
ogica de primer orden. En la definicion del principio de resolucion para fbfs de L1 , usaremos
el unificador m
as general proporcionado por el algoritmo de unificacion.
Definici
on 5.8 Sean C1 y C2 dos cl
ausulas sin variables en com
un, y sean A C1 y B C2 tales
que A unifica con B con umg . En tal caso se dice que C1 y C2 es un par resoluble y se define la
resolvente binaria de C1 y C2 respecto a A mediante a la cl
ausula C definida como sigue
C = (C1 {A}) (C2 {B})
Del mismo modo que en el caso b
asico, las cl
ausulas C1 y C2 se denominan clausulas paternas de C.
Es preciso destacar que en la definici
on de resolvente, es posible resolver varios literales a la vez. Esta
caracterstica del metodo para la l
ogica de primer orden se conoce con el nombre de factorizaci
on.
Consideremos, por ejemplo, el conjunto de clausulas = {P (x) P (y), P (x) P (y)}. Este conjunto
es insatisfacible. En efecto,

CAPITULO 5. METODO
DE RESOLUCION

128

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


on por resolucion que elimina u
nicamente un literal cada vez puede
producir 2. Este hecho motiva la definici
on siguiente.
Definici
on 5.9 Si dos o m
as literales (con el mismo signo) de una cl
ausula C son unificables con umg
entonces C se dice que es un factor de C.
Definici
on 5.10 Una resolvente para las cl
ausulas C1 y C2 es una de las siguientes resolventes
binarias:
1. Una resolvente binaria de C1 y C2 .
2. Una resolvente binaria de C1 y un factor de C2 .
3. Una resolvente binaria de un factor de C1 y C2 .
4. Una resolvente binaria de un factor de C1 y un factor de C2 .
Ejemplo 5.14 Si consideramos la cl
ausula C = P (x, t) P (y, x) Q(a), el umg = {y/x, t/x} nos
proporciona el factor de C
(C) = P (x, x) Q(a)
Ejemplo 5.15
Si consideramos la cl
ausula C = P (x) Q(x) P (a), el umg = {x/a} nos proporciona el factor
de C
P (a) Q(a)
Ejemplo 5.16 Podemos resolver las cl
ausulas
C1 = Q(x) R(x) P (x, y) P (f (z), f (z)) y
C2 = 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)
Definici
on 5.11 Dados un conjunto de cl
ausulas y una cl
ausula C de L1 , se dice que C es deducible
por resoluci
on a partir de , denotado `R C, si existe una secuencia de cl
ausulas C1 , C2 , , Cn tal
que:
1. Cada Ci (1 i n) es o bien una cl
ausula de o bien una resolvente de dos cl
ausulas anteriores
en la secuencia.
2. Cn = C.
La secuencia Ci (1 i n) se dice que es una deducci
on por resoluci
on de C a partir de .
Una deducci
on por resoluci
on de 2 a partir de se dice una refutaci
on por resoluci
on de .

DE ATOMOS

5.3. RESOLUCION
NO BASICOS
er er

129

Veamos que la exigencia de que C1 y C2 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 cl
ausulas insatisfacible; sin embargo, P (f (x)) y P (x) no son unificables, porque no podemos hacer la sustituci
on 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.17 Una refutaci


on 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 .
de 1. y 2. (con umg = {x/f (u), y/a, w/a})

4. Q(v, g(a, f (u)))


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.18 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 unificables 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 cl
ausulas del ejemplo 5.17 para el que, como hemos visto, no existe ning
un
problema.
Nuestro prop
osito es demostrar ahora que el principio de resolucion con unificacion es completo; esto
es, que un conjunto de cl
ausulas S es insatisfacible si y solo si la clausula vaca es deducible usando la
regla de resoluci
on. Para ello necesitaremos el siguiente lema, que permitira tomar como punto de partida
una refutaci
on por resoluci
on b
asica y contemplar su extension a una resolucion general.
Lema 5.1 (de extensi
on) Si C10 y C20 son instancias de C1 y C2 respectivamente, y si C 0 es una
0
0
resolvente de C1 y C2 entonces existe una resolvente C de C1 y C2 tal que C 0 es una instancia de C.
n: Renombremos, si es necesario, las variables de modo que C1 y C2 tengan variables
Demostracio
distintas. Sean L01 y L02 los literales sobre los que se resuelve C10 y C20 , y sea
C 0 = (C10 L01 ) (C20 L02 )
donde es un umg de L1 y L2 . Puesto que las clausulas Ci0 son instancias de las clausulas Ci , existe
una sustituci
on tal que Ci0 = Ci . Sean Li 1 , . . . , Li ri los literales de Ci que corresponden a Li , es decir,
aquellos que Li 1 = = Li ri = L0i . Si ri > 1 obtengamos un umg i para el conjunto {Li 1 , . . . , Li ri }
y sea Li = i Li 1 . En tal caso Li es un literal del factor i Ci de Ci . Si ri = 1 sea entonces i = id y

CAPITULO 5. METODO
DE RESOLUCION

130

Li = Li 1 . Sea = 1 2 . Con esta definicion de Li tenemos que L0i es una instancia de Li ; puesto que
L01 y L02 son unificables tambien tenemos que L1 y L2 son unificables. Sea un umg de L1 y L2 :
C

=
=
=

((C1 ) L1 ) ((C2 ) L2 )

((C1 ) ({L1 1 , . . . , L1 r1 })) ((C2 ) ({L2 1 , . . . , L2 r2 }))

(( )C1 ( ){L1 1 , . . . , L1 r1 }) (( )C2 ( ){L2 1 , . . . , L2 r2 })

C es una resolvente de C1 y C2 ; adem


as, es claro que C 0 es una instancia de C, puesto que
C0

=
=
=

(C10 ) L01 ) (C20 ) L02 )

((C1 ) ({L1 1 , . . . , L1 r1 })) ((C2 ) ({L2 1 , . . . , L2 r2 }))

(( )C1 ( ){L1 1 , . . . , L1 r1 }) (( )C2 ( ){L2 1 , . . . , L2 r2 })

y es m
as general que .
Teorema 5.5 (Completitud del principio de resoluci
on) Un conjunto de cl
ausulas S es insatisfacible si y solo si la cl
ausula vaca 2 es deducible por resoluci
on a partir del conjunto S.
n: Supongamos que S es insatisfacible. Sea A = {A1 , A2 , . . . , } el conjunto de atomos
Demostracio
(b
asicos) de S. Sea T un
arbol sem
antico completo para A. Por el teorema de Herbrand, T tiene un arbol
sem
antico cerrado y finito T 0 .
Si T 0 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 sem
antico. En este caso, el teorema es obviamente cierto.
Si T 0 tiene m
as 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 infinita en T 0 , lo
que no puede ser puesto que T 0 es finito. Sea N un nodo inferencia en T 0 y sean N1 y N2 sus descendientes
(que son nodos fallo), sea tambien
I(N )

I(N1 )

I(N2 )

{m1 , m2 , . . . , mn }

{m1 , m2 , . . . , mn , mn+1 }

{m1 , m2 , . . . , mn , mn+1 }

Puesto que N1 y N2 son nodos fallo pero N no lo es, deben existir dos instancias basicas C10 y C20 de
las cl
ausulas C1 y C2 tales que C10 y C20 son falsas en I(N1 ) e I(N2 ) respectivamente, pero no en I(N ).
Por lo tanto, C10 debe contener a mn+1 y C20 debe contener a mn+1 . Sea L01 = mn+1 y L02 = mn+1 ;
resolviendo respecto de los literales L01 y L02 obtenemos la resolvente
C 0 = (C10 L01 ) (C20 L02 )
Ahora C 0 debe ser falsa en I(N ) puesto que tanto (C10 L01 ) como (C20 L02 ) son falsas en I(N ). Por el
lema de extensi
on, existe una resolvente C de C1 y C2 tal que C 0 es una instancia basica de C. Sea T 00
el
arbol sem
antico cerrado para (S {C}), obtenido de T 0 eliminando toda la parte que existe bajo el
primer nodo en el que la resolvente C 0 es falsificada. Claramente, el n
umero de nodos de T 00 es menor
que el de T 0 . Aplicando este mismo proceso a T 00 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 deduccion de 2 a partir de S.
Para la demostraci
on del recproco supongamos que existe una deduccion de 2 a partir de S. Sean
R1 , R2 , . . . , Rk las resolventes de tal deduccion. Supongamos que S es satisfacible, entonces existe un
modelo M de S. Sin embargo, si un modelo satisface las clausulas resolubles C1 y C2 tambien satisface

DE ATOMOS

5.3. RESOLUCION
NO BASICOS

131

a su resolvente; por lo tanto M satisface a R1 , R2 , . . . , Rk , lo cual es imposible puesto que una de estas
cl
ausulas es 2. Por lo tanto S es insatisfacible.
Ejemplo 5.19 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.20 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 refutaci
on 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}).

8. 2

de 5. y 7.

CAPITULO 5. METODO
DE RESOLUCION

132

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 (conceptualmente 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. m
as
precisamente:
Dado un conjunto de cl
ausulas , denotamos por R() la union de y el conjunto de todas las
resolventes de cl
ausulas de (resolventes obtenidas utilizando solo clausulas de ). Para todo n N,
definimos Rn () como sigue:
R0 ()

n+1

()

= R(Rn ())

Por definici
on, es claro que Rn () Rn+1 ().
El metodo propuesto construye sucesivamente R1 (), R2 () . . . Si existe un k N tal que 2 Rk ()
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 cl
ausulas 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 Rn (), es decir,
el conjunto Rn () se satura por resoluci
on.
Es evidente que el proceso de saturacion va a generar multitud de clausulas innecesarias para la
obtenci
on de la cl
ausula 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
depuraci
on.
Ejemplo 5.21 Comprobamos que el conjunto de clausulas = {P (x) Q(x), P (x) R(x), Q(x)
R(x), P (x)} es insatisfacible, usando el metodo de resolucion por saturacion:
1. P (x) Q(x)

2. P (x) R(x)

3. Q(x) R(x)

4. P (x)

5. P (x) R(x)

(por 1 y 3)

6. Q(x)

(por 1 y 4)

7. P (x) Q(x)

(por 2 y 3)

8. R(x)

(por 2 y 4)
R() = {P (x) R(x), Q(x), P (x) Q(x), R(x)}

9. P (x)

(por 1 y 7)

10.
P (x)

(por 2 y 5)

10. R(x)

(por 3 y 6)

11. Q(x)

(por 3 y 8)

12.
Q(x)

(por 4 y 7)

12.
R(x)

(por 4 y 5)

12.
P (x)

(por 5 y 8)

12.
P (x)

(por 6 y 7)
R () = R() {P (x), R(x), Q(x)}
2

DE ATOMOS

5.3. RESOLUCION
NO BASICOS

133

12.
P (x)

(por 1 y 11)

12.
P (x)

(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 inclusion de las resolventes que ya estan en Si . 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 refinamientos mucho mas depurados del metodo de
resoluci
on que se presentan en la siguiente seccion.

5.3.1.

Resoluci
on Lineal

Presentamos a continuaci
on el refinamiento conocido como resoluci
on lineal propuesto independientemente por Loveland 5 y Luckham 6 , y como caso particular, la mejora de este refinamiento, debida a
Kowalski y Kuenner, 7 llamado resoluci
on lineal ordenada.
La idea principal para disminuir el tama
no del espacio de b
usqueda es reducir el n
umero de posibles
resolventes que se pueden obtener. Para ello se limita el conjunto de clausulas que pueden ser utilizadas
para generar nuevos resolventes a partir de una clausula.
El nombre de resoluci
on lineal se debe a que las deducciones se construyen como un tipo de razonamiento en cadena, es decir, para generar 2 se comienza con una clausula, se resuelve esta con otra
cl
ausula y la resolvente obtenida con otra clausula y as sucesivamente. Este razonamiento en cadena es
similar al que se realiza en matem
aticas 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, finalmente, llegamos a la expresion del miembro de
la derecha de la igualdad.
Definici
on 5.12 Sea un conjunto de cl
ausulas y C0 . Una deduccion lineal de una cl
ausula C a
partir de con cabeza C0 , es una secuencia de cl
ausulas del tipo
C0 , B0 , C1 , B1 , . . . , Cn1 , Bn1 , Cn
tal que
1. C0 .
2. Para todo i = 1, . . . , n 1, Ci es una resolvente de Ci1 y Bi1 .
3. Para todo i = 1, 2, . . . , n, Bi o Bi = Cj para alg
un j con j < i.
4. Cn = 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.
D. Luckham. Refinements 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.
6

CAPITULO 5. METODO
DE RESOLUCION

134

C0

B0

C1

B1

C2

..
.

Cn1

Bn2
Bn1

C
Las cl
ausulas Ci se denominan cl
ausulas centrales y las Bi clausulas laterales. Si C = 2, el
arbol se
denomina un a
rbol de refutaci
on lineal para con cabeza C0 .
Ejemplo 5.22 Un
arbol de refutaci
on lineal para = {P Q, P Q, Q R, Q R} (donde P , Q
y R son
atomos de L1 ) con cabeza P Q es,
P Q

P Q

Q R

Q R

Las cl
ausulas laterales son P Q, Q R, Q R de y Q. Esta
es, ademas, una clausula central.
El metodo de resoluci
on lineal es correcto y completo, es decir, un conjunto de clausulas es insatisfacible
si y solo si existe una refutaci
on lineal para 8
En la pr
actica etiquetamos los arcos no solo con la clausula lateral sino tambien explicitando el umg
utilizado para obtener la siguiente cl
ausula central.

5.3.2.

Resoluci
on Lineal Ordenada

Este tipo de resoluci


on constituye una mejora de la resolucion lineal. Dos son las ideas basicas 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.

DE ATOMOS

5.3. RESOLUCION
NO BASICOS

135

Considera las cl
ausulas como secuencia de literales en lugar de como conjunto de literales, llamandolas cl
ausulas ordenadas.
La introducci
on de la ordenaci
on de las literales aumenta, como veremos, la eficiencia de la resoluci
on lineal de manera considerable.
Guarda la informaci
on del literal respecto del que se resuelve.
En resoluci
on lineal, al resolver respecto de un literal, este simplemente se elimina; cuando, en
realidad, la informaci
on que aporta el literal eliminado es sumamente u
til.
En el proceso de construir resolventes, la resolucion lineal ordenada introduce las siguientes consideraciones:
1. solo permite resolver dos cl
ausulas ordenadas C1 y C2 respecto al u
ltimo literal de C1 .
2. guarda la informaci
on 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 encuadrado.
er er

Los literales encuadrados se mantienen en las formulas simplemente como etiquetas informativas acerca de las literales respecto de las que ya se ha resuelto, pero no participan en la
resoluci
on.

Ejemplo 5.23 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 Q R y P R es P Q, obtenida mediante las siguientes simplificaciones:
a) El resultado sera P Q R P , pero al estar P repetida se mantiene solo la ocurrencia
m
as 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 relaci
on a la resoluci
on lineal, la resolucion lineal ordenada no solo reduce el n
umero de resolventes por considerar debido al hecho de resolver u
nicamente respecto del u
ltimo literal, sino que adem
as
incorpora una nueva estrategia de eficiencia considerando un determinado tipo de clausulas respecto de
las cuales solo se requiere resolver con cl
ausulas centrales.
Definici
on 5.13 Una cl
ausula ordenada se denomina cl
ausula ordenada reducible si su u
ltimo
literal es el opuesto de alg
un literal enmarcado de dicha cl
ausula. Si C es una cl
ausula ordenada reducible,
la cl
ausula ordenada obtenida al eliminar el u
ltimo literal de C se denomina cl
ausula reducida de C.
Si la cl
ausula Ci por resolver es reducible, se puede demostrar que solo sera necesario resolver con
cl
ausulas centrales y existe una cl
ausula central Cj tal que R(Ci , Cj ) es la reducida de Ci .
Disponemos ya de los elementos necesarios para definir la deduccion en la resolucion lineal ordenada.
Definici
on 5.14 Sea un conjunto de cl
ausulas ordenadas y C0 . Una deducci
on lineal ordenada
de una cl
ausula C a partir de con cabeza C0 es una secuencia de cl
ausulas ordenadas
C0 , B0 , C1 , B1 , . . . , Cn1 , Bn1 , Cn
tal que
1. Para todo i = 0, 1, 2, . . . , n 1, Bi o Bi = Cj para alg
un j con j < i.

CAPITULO 5. METODO
DE RESOLUCION

136

2. Para todo i = 2, . . . , n, si Ci1 es reducible, entonces Ci es la reducida de Ci1 y en caso contrario,


Ci es la resolvente ordenada de Ci1 y Bi con Bi .
3. Cn = C.
Como en el caso de la resoluci
on lineal, la secuencia de clausulas ordenadas
C0 , B0 , C1 , B1 , . . . , Cn1 , Bn1 , Cn
se representa

C0

B0

C1

B1

C2 .
..

Bn2

Cn1

Bn1

C
En el caso en que C = 2, este
arbol se dice que es un
arbol de refutaci
on lineal ordenada para .
Ejemplo 5.24 Un
arbol de refutaci
on lineal ordenada para
= {P Q, P Q, Q R, Q R}
con cabeza P Q es el que mostramos a continuacion:
P Q

P Q R

Q R
Q R

P Q R Q

(. . . P Q)

P Q

P Q

Q R

P Q R

Q R

P Q R Q

(. . . P Q)
2

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).
Ejemplo 5.25
Si consideramos la cl
ausula ordenada C = P (x) Q(x) P (a) y el u.m.g = {x/a}

DE ATOMOS

5.3. RESOLUCION
NO BASICOS

137

ltimo literal el enmarcado obtenemos que P (a) es un factor


obtenemos P (a) Q(a) y eliminando el u
ordenado para C.
El metodo de resoluci
on 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 .

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 asegurar que no existe, es decir, a dar una descripcion algortmica del metodo:
Dado un conjunto de cl
ausulas, se elige una clausula cabeza C0 . Elegida C0 , se toman de
todas las cl
ausulas laterales resolubles con C0 . Sean R1 , . . . , Rk las correspondientes resolventes. Cada
Ri (1 i k) es una cl
ausula central de una deduccion a partir de con cabeza C0 . Si alguna Ri
es 2 entonces es insatisfacible. En caso contrario, para cada i, buscamos todas las clausulas laterales
resolubles con Ri y continuamos de este modo, etapa por etapa, hasta generar 2 o bien desarrollar todas
las posibles deducciones a partir de con cabeza C0 . En este u
ltimo caso, eliminamos C0 de y repetimos
el proceso para {C0 }.
En cuanto a su representaci
on gr
afica, las deducciones lineales ordenadas no se suelen representar
como
arboles sino como se indica a continuacion:
C0
C1
C2
..
.
Cn1
Cn

B0
B1

Bn1

y para cada proceso de cabeza C0 , se utiliza un arbol con raz etiquetada con la clausula cabeza C0 . 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 C0 .
Ejemplo 5.26 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)
verificar su insatisfacibilidad usando resolucion lineal ordenada.
Puesto que las cl
ausulas de no son basicas, el primer paso que hay que dar consiste en el renombramiento de todas las variables, para evitar posibles conflictos de nombres al utilizar el algoritmo de
unificaci
on.

CAPITULO 5. METODO
DE RESOLUCION

138
er er

Este renombramiento siempre es posible, puesto que el conjunto de clausulas representa la


conjunci
on de todas ellas que, adem
as estan cuantificadas universalmente. Las equivalencias
(x)(A(x) B(x)) (x)A(x) (x)B(x) (x)A(x) (y)B(y)
justifican el renombramiento.

Tras renombrar tenemos un conjunto 0 simultaneamente 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 0 , donde en cada
arco del
arbol aparece la cl
ausula lateral respecto de la que se resuelve y las sustituciones proporcionadas
por el unificador de mayor generalidad.

5.4.

Cl
ausulas de Horn

El metodo de resoluci
on aumenta considerablemente su eficiencia si se restringe el tipo de clausulas
a las que se aplica. El tipo m
as destacado, por su papel jugado en la Programacion Logica, es el de las
cl
ausulas de Horn estudiadas por primera vez por Alfred Horn en 1951. En esta seccion, estudiamos las
cl
ausulas de Horn y damos una breve visi
on de su uso en el lenguaje Prolog.
Definici
on 5.15 Una cl
ausula de Horn es una cl
ausula con a lo sumo un literal positivo.
Una cl
ausula de Horn se dice un hecho o cl
ausula unidad9 si consiste exactamente en un literal
positivo, es decir, si es de la forma P (t1 , . . . , tn ). En una forma clausal el hecho P (t1 , . . . , tn ) representa
a su cierre universal, es decir, a la f
ormula (x1 ) . . . (xk )P (t1 , . . . , tn ).
Una cl
ausula de Horn se dice una regla si contiene un literal positivo y literales negativos. Si C es
una regla, Q el literal positivo y P1 , . . . , Pn los literales negativos que intervienen en C, entonces
C (P1 . . . Pn ) Q
P1 . . . Pn se denomina cola de la cl
ausula y Q la cabeza de la cl
ausula. En una forma clausal la regla
(P1 . . . Pn ) Q, representa a su cierre universal (x1 ) . . . (xk )((P1 . . . Pn ) Q).
Ejemplo 5.27 Por ejemplo, la cl
ausula P (x) Q(y, a) R(x, y) es equivalente a la fbf (P (x)
Q(y, a)) R(x, y), esta f
ormula modeliza la regla si (x)P (x) y (y)Q(y, a) entonces (x)(y)R(x, y).
Definici
on 5.16 Una cl
ausula de Horn se dice definida o cl
ausula de programa si es un hecho o
una regla.
Una cl
ausula de Horn se dice un objetivo si todos los literales son negativos.
Puesto que la resoluci
on es un sistema de demostracion por refutacion, la conjuncion de objetivos
individuales se a
nadir
a a la conjunci
on de las hipotesis como una clausula no definida, es decir, una
cl
ausula sin literales positivos. Por esta razon a las clausulas no definidas se les denominan objetivos:
9

Unit clause en la bibliografa inglesa.

5.4.

CLAUSULAS
DE HORN

139

R (x,y) D (y) H (f(x),y) S(x)


S(g(a))
x/g(a)
R (g(a),y) D (y) H (f(g(a)),y)
H (f(w ),g(r))
w /g(a),y/g(r)
R (g(a),g(r)) D (g(r))
P (z) D (z)
P (t) D (q) H (b,t)
z/g(r)
q/g(r)
R (g(a),g(r))

D (g(r)) P (g(r))

P (s) S(s)
s/g(r)
R (g(a),g(r)) D (g(r))

P (t) D (q) H (b,t)


t/g(r)
P (g(r)) S(g(r))

S(g(a))
r/a
R (g(a),g(a))
R (u,g(r))
u/g(a),r/a

Figura 5.1:

CAPITULO 5. METODO
DE RESOLUCION

140

En una forma clausal, el objetivo P1 . . . Pn , representa a su cierre universal


(x1 ) . . . (xk )(P1 . . . Pn )
y por tanto,
(x1 ) . . . (xk )(P1 . . . Pn ) (x1 ) . . . (xk )(P1 . . . Pn )

(x1 ) . . . (xk )(P1 . . . Pn )

En definitiva, la f
ormula que deseamos saber si se deduce o no de un conjunto de clausulas definidas
es de la forma (x1 ) . . . (xk )(P1 . . . Pn ).
Si vamos a usar resoluci
on sobre cl
ausulas de Horn, sera conveniente observar que la resolvente de dos
cl
ausulas de Horn tambien es una cl
ausula de Horn. Mas formalmente, tenemos el siguiente resultado.
Lema 5.2 Las cl
ausulas de Horn son cerradas por resoluci
on.
Un programa l
ogico es una base de conocimiento o conjunto de clausulas de programa, consideradas
como hip
otesis. La regla de resoluci
on se aplica a las hipotesis para deducir conclusiones. As pues, si
P = {H1 , . . . , Hn } es un programa, ante la pregunta
la conjunci
on de objetivos individuales O1 O2 , . . . On es consecuencia logica de P?
el metodo de resoluci
on proceder
a como sigue:
1. Considera el conjunto de cl
ausulas = {H1 , . . . , Hn , O1 O2 . . . On }
2. Elige la cl
ausula objetivo O1 O2 . . . On como clausula cabeza e inicia el proceso de
resoluci
on lineal ordenada
3. Si se obtiene 2 la respuesta es afirmativa.
Puesto que las cl
ausulas objetivo son negativas, se traducen en una pregunta al programa que es una
conjunci
on de literales positivos, es decir, si {x1 , . . . , xm } es el conjunto de las variables que intervienen
en la cl
ausula objetivo P1 (t11 , . . . t1n ) . . . Pk (tk1 , . . . tkn ), entonces
(x1 ) . . . (xm )(P1 (t11 , . . . t1n ) . . . Pk (tk1 , . . . tkn ))
se traduce en la pregunta
(x1 ) . . . (xm )P1 (t11 , . . . t1n ) . . . Pk (tk1 , . . . tkn ))
En definitiva, en caso afirmativo, obtendremos una sustitucion que demuestra que la respuesta
(x1 ) . . . (xm )P1 (t11 , . . . t1n ) . . . Pk (tk1 , . . . tkn ))
es correcta.
El Teorema de Herbrand nos asegura que si P {C} es insatisfacible, existe una respuesta correcta
definida por una sustituci
on b
asica. Especficamente, la respuesta definida a una pregunta existencial
(x)A(x) a una base de conocimiento o programa , es un termino basico t0 tal que |= [x/t0 ]A(x).
Como nos muestra el siguiente ejemplo, no siempre es posible deducir una respuesta definida en el
sentido de Prolog.
Ejemplo 5.28 Sea = {P (a) P (b)} y la pregunta definida (x)P (x). Existen terminos basicos t1 = a
y t2 = b tales que {P (a) P (b)} |= [x/t1 ]P (x) [x/t2 ]P (x), pero no existe ning
un termino basico t tal
que |= [x/t]P (x).

5.4.

CLAUSULAS
DE HORN

141

En la pr
actica, 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 negaci
on como fallo

o hip
otesis del mundo cerrado. 10 Esta
no es la solucion optima, ya que identifica lo falso con lo no
demostrable. Sin embargo, el uso de esta tecnica con clausulas de Horn es la base del lenguaje Prolog.
En definitiva, podemos expresar este hecho como sigue:
Si P es un programa y A una pregunta tal que P 6`R A entonces, concluimos que P `R A
Si el objetivo es m
ultiple, es decir, si intentamos probar que P `R P1 . . . Pn , la aplicacion del
metodo de resoluci
on lineal ordenada P {P1 . . . Pn } se recoge en programacion logica como una
funci
on de selecci
on que selecciona sucesivamente los objetivos a considerar.11

5.4.1.

Programaci
on l
ogica

Aunque con mejoras para aumentar la eficiencia, un interprete de programacion logica es esencialmente un metodo de demostraci
on autom
atica por resolucion. La programacion logica es un formalismo
computacional que combina dos principios basicos:
1. El uso del lenguaje l
ogico para expresar conocimiento;
2. El uso de la inferencia l
ogica para procesar conocimiento.
En un contexto de resoluci
on 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 programaci
on l
ogica, como programacion declarativa, permite expresar el conocimiento independientemente de la m
aquina sobre la que vaya a ser ejecutado. De este modo, permite modificar detalles
de implementaci
on sin afectar a la correccion logica del programa. Por tanto, es mas compacto, flexible
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 simples y precisas de relaciones entre los programas y los resultados computados por ellos; entre los
programas y sus especificaciones y entre diversos programas.
2. Permite al programador olvidarse de c
omo va a ser realizada la computacion y concentrarse en
qu
e problema ha de resolver el programa, es decir, concentrarse en dar una especificacion clara,
simple y abstracta del problema (la responsabilidad del c
omo, pasa al traductor del lenguaje). As,
un programa l
ogico es una especificaci
on ejecutable.
3. Proporciona un paradigma uniforme para la tecnologa del software: un solo paradigma sirve para
construir y manipular programas, especificaciones, bases de datos y herramientas software asociadas.
4. Puede ser modificada 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 especificaci
on que describe con
mayor o menor detalle c
omo ha de comportarse un programa. Esta especificacion puede ser una declaraci
on informal en lenguaje natural de los requisitos que ha de satisfacer el programa; o puede ser formal,
10

Negation as failure y closed world assumption en la bibliografa inglesa.


La variante del algoritmo de resoluci
on usada en Prolog se llama resoluci
on SLD: Selecci
on Lineal de
programas Definidos, debido al uso de una funci
on de selecci
on, de resoluci
on lineal y de cl
ausulas definidas.
12
C. Hogger. Essentials of Logic Programming. Clarendon Press, 1990.
11

CAPITULO 5. METODO
DE RESOLUCION

142

es decir, un documento tecnico que recoge de forma precisa el comportamiento exacto que ha de tener el
programa.
La ventaja de las especificaciones formales son evidentes a posteriori, es decir, cuando despues de
escribir el programa, deseamos examinar si su comportamiento se ajusta a la especificacion.
Si la especificaci
on utiliza la l
ogica, podemos expresar las relaciones entre bloques simples del programa y los comportamientos de estos para, posteriormente, a partir del modo de combinacion de estos
bloques, utilizar las tecnicas de la l
ogica para determinar el comportamiento del programa total.
Los primeros trabajos sobre verificacion de programas utilizando la logica se deben a Floyd 13 y
Hoare. 14 Pero el avance m
as significativo se debe al trabajo de Z. Manna y A. Pnueli, 15 que utiliza la
l
ogica temporal para especificaci
on y verificacion de programas paralelos. En este trabajo, se utiliza la
l
ogica tanto para expresar hechos del programa como para describir su comportamiento. De este modo, la
l
ogica 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.
er er

Como afirma Peter Flach, Podramos comentar largamente la diferencia entre la programaci
on imperativa y la programaci
on declarativa (en particular de la programaci
on l
ogica a la
que nos estamos refiriendo). Por ejemplo, si nos centramos en el concepto de variable de
programa. En los lenguajes imperativos, una variable es un nombre para una ubicaci
on de
memoria que puede almacenar los datos de cieetos tipos. El contenido de la ubicaci
on pueden
variar con el tiempo, pero la variable siempre apunta al valor de la misma ubicaci
on. De
hecho, el termino variable.es un nombre poco apropiado, ya que se refiere a un valor que
est
a bien definido en cada momento. Por el contrario, una variable en un programa l
ogico es
una variable en el sentido matem
atico, es decir, un marcador de posici
on que puede tomar
cualquier valor. En este sentido, la programaci
on l
ogica est
a mucho m
as cerca de la intuici
on
matem
atica que de la programaci
on imperativa.
La programaci
on imperativa y la programaci
on l
ogica tambien difieren respecto a la modelo de
m
aquina que asumen. La programaci
on l
ogica contempla m
aquinas abstractas, mientras que
la programaci
on imperativa contempla una m
aquina din
amica, basada en estados mdonde el
estado de la computadora est
a dada por el contenido de su memoria. El efecto de un enunciado de programa es una transici
on de un estado a otro. Por su parte, en la programaci
on
l
ogica computador m
as programa representan una cierta cantidad de conocimientos sobre
el mundo, que se utiliza para responder a las consultas.

5.4.1.1.

Prolog

Prolog es un lenguaje de programaci


on logica; se utiliza cuando queremos que el ordenador resuelva
problemas que puedan expresarse en terminos de objetos y relaciones entre ellos.
Este formalismo de programaci
on a
nade al sistema logico central (es decir, a la conjuncion: logica en
forma clausal y resoluci
on) un tipo particular de estrategia de control con el proposito de obtener
una implementaci
on eficiente. 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.
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.

5.4.

CLAUSULAS
DE HORN

143

No obstante, el termino Prolog tiene ademas otras connotaciones referidas a estrategias de control,
por ejemplo, a
nade primitivas no l
ogicas dando lugar a un nuevo formalismo conocido como Prolog
impuro. Muchas de estas primitivas contemplan aspectos de comportamientos a expensas de corromper
el formalismo l
ogico b
asico.
En sntesis, la programaci
on en Prolog consiste en:
1. Declarar algunos hechos sobre los objetos y sus relaciones
2. Definir 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
cuesti
on. Si no lo encuentra, intentar
a encontrar la respuesta mediante las reglas. En definitiva,
Prolog

Proceso de obtenci
on de respuesta en clausulas de Horn.
+ Sistema de gesti
on de archivos de clausulas.
+ Cl
ausulas predefinidas (aritmeticas, etc).
+ Funciones para controlar el proceso de b
usqueda.
+ Funciones para controlar el proceso de unificacion

En Prolog las cl
ausulas se escriben en forma procedural :

16

T : P, Q, R, S
es decir: Para resolver T es preciso resolver P , Q, R y S
Ejemplo 5.29 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
16

de 4. y 8.

El termino procedural es una palabra inglesa, en espa


nol lo correcto sera procedimental, es decir, en forma de
procedimiento.

CAPITULO 5. METODO
DE RESOLUCION

144

Por lo tanto la respuesta ser


a 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 u
nico 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
atr
as ( backward chaining).
Ejemplo 5.30 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)
8. 2

de 2. y 6.
De 5. y 7. para el umg: x/c.

Por lo tanto la respuesta ser


a 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 cl


ausula resoluble con ella, la rama se poda y se realiza un backtracking para ejecutar con la cl
ausula S(x) T (x) .

5.4.

CLAUSULAS
DE HORN

5.4.2.

145

Mnimo Modelo de Herbrand para un Programa l


ogico

Al escribir un programa l
ogico P, tenemos en mente un significado para cada uno de los smbolos en
la signatura elegida, en definitiva, tenemos en mente una interpretacion que es un modelo para todos los
hechos y reglas de P. La formalizaci
on en el lenguaje L1 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 m
nimo 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 m
as informaci
on pero esta no puede ser derivada de P.
Teorema 5.6 Dado un programa l
ogico P la intersecci
on de todos los modelos de Herbrand para P es
el mnimo modelo de Herbrand para P.
n: Probemos en primer lugar que todo programa logico es satisfacible, es decir, tiene un
Demostracio
modelo de Herbrand. En efecto, consideremos MH, = (H , IH, ) donde
IH, = {P | P BP y el
atomo del cual P es instancia basica ocurre en P}
es un modelo de Herbrand para P.

La demostraci
on se completa sin m
as que considerar que, obviamente, la interseccion de modelos de
Herbrand para P es un modelo de P.
Teorema 5.7 Dado un programa l
ogico P el mnimo modelo de Herbrand para P es el conjunto de todos
los
atomos b
asicos que son consecuencia l
ogica de P.
n: Sea ConbAtom (P) el conjunto de todos los atomos basicos que son consecuencia semantiDemostracio
T
ca de P y sea mmH (P) = iI MiH,P la interseccion de todos los modelos de Herbrand para P. Tenemos
que probar que
ConbAtom (P) = mmH (P)
Por definici
on de consecuencia sem
antica, es obvio que
ConbAtom (P) mmH (P)
Inversamente, sea P mmH (P). Tenemos que probar que cualquier modelo M de P es un modelo de P .
Por definici
on 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 BH,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,
mmH (P) ConbAtom (P)

5.4.2.1.

Construcci
on del mnimo modelo de Herbrand

Definici
on 5.17 Sea P un programa l
ogico y sea
con : 2BH,P 2BH,P
el operador de consecuencia sem
antica definido como se indica para cualquier BH,P :

CAPITULO 5. METODO
DE RESOLUCION

146

con () = {Q | R1 . . . Rn Q es una instancia b


asica de una cl
ausula de P y R1 , . . . , Rn }
n
El mnimo modelo de Herbrand Mm
H,P se construye recursivamente con el operador de consecuencia,
hasta que se encuentra un punto fijo:
0con = ;
n
n+1
con = con (con ); para n 0
T
n= n
n
Mm
H,P =
n=0 con
n
Ejemplo 5.31 Sea P = {P (a), P (b), P (x) P (f (x))}. Entonces Mm
H,P se construye como sigue:
0
OPcon
= ;
1
OPcon
= {P (a), P (b)}

2
= {P (f (a)), P (f (b))}
OPcon

n
n
n
Mm
H,P = {P (f (a) | n N} {P (f (b) | n N}

Ejemplo 5.32 Sea P = {En(b, a), En(c, b), Sobre(x, y) := En(x, y), Sobre(x, y) := En(x, z), Sobre(z, y)}
El modelo mnimo de Herbrand para este programa es el siguiente:
{En(b, a), En(c, b), Sobre(b, a), Sobre(c, b), Sobre(c, a)}
er er

Terminamos este Captulo plante


andonos la siguiente pregunta:
Si los programas representan u
nicamente conocimiento positivo sobre un problema
C
omo se pueden obtener consecuencias l
ogicas negativas?
En efecto, los programas expresan conocimiento positivo, en el sentido que los hechos y las
reglas describen que ciertos objetos estan en cierta relacion. Las relaciones se hacen explcitas
en el modelo mnimo de Herbrand. Por ejemplo, si consideramos de nuevo el ejemplo 5.32,
observamos que ni el programa, ni el modelo mnimo de Herbrand, incluyen informacion
negativa del tipo: a no est
a sobre b, o b no esta sobre c. La manera de actuar en este
tipo de situaciones es considerar que toda la informacion disponible esta a nuestro alcance,
es decir, como destacamos en la p
agina 140, asumimos la hipotesis del mundo cerrado, CWA:
Si una a
tomo b
asico A, no puede derivarse del programa P, entonces puede derivarse A.
En nuestro ejemplo, la fbf Sobre(b, c) no puede ser derivada por resolucion a partir del programa P. En realidad Sobre(b, c) no puede ser derivada por ning
un sistema correcto, puesto
que no es una consecuencia l
ogica de P. Puesto que la resolucion es un sistema completo,
podemos concluir que P 6|= Sobre(b, c) y usando la CWA inferimos que Sobre(b, c).

147

5.5. EJERCICIOS

5.5.

Ejercicios

1. Definir por inducci


on estructural la nocion de sustituci
on finita sobre el conjunto Term de terminos
de L1 .
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 unificador 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 cl
ausulas tienen factores y en tal caso determnelos:
P (x) Q(y) P (f (x)
P (x, y) P (a, f (a))
P (x) P (f (y)) Q(x, y)

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


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

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)

CAPITULO 5. METODO
DE RESOLUCION

148
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 L1 y demostrar por resolucion la siguiente propiedad de las relaciones binarias:
Si una relaci
on es simetrica, transitiva y total (es decir, para todo elemento existe otro relacionado
con el) entonces tambien es reflexiva.
9. Transformar en f
ormula clausal la fbf
(x)(y)((P (x) P (f (a)) Q(y)) P (y) P (g(b, x)) Q(b))
y analizar mediante resoluci
on lineal ordenada su satisfacibilidad.
10. Aplicar resoluci
on 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 resoluci


on 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 resoluci


on lineal ordenada la validez de la fbf

(x)(y) P (x, y) P (y, y)
13. Formalizar en la l
ogica de primer orden la norma de la Paradoja del barbero de Russel:
En un pueblo hay un solo barbero y existe la norma de que El barbero u
nicamente corta
el pelo a aquellas personas que no se cortan el pelo a s mismas.
Demuestre que tal norma es insatisfacible.
14. Probar mediante resoluci
on lineal ordenada la correccion del razonamiento:
(x)P (x) ((y)Q(y) (z)R(z))
(z)R(z) (x)P (x)
15. Probar mediante resoluci
on lineal ordenada la correccion del razonamiento:
(x)(C(x) (W (x) R(x)))
(x)(C(x) Q(x))

(x)(Q(x) R(x))

149

5.5. EJERCICIOS
16. 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)
17. 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)
18. 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))

19. Para cada una de las f


ormulas 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))
20. 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 cl
ausulas tal que el razonamiento es valido si y solo si es insatisfacible.
21. 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.
22. Probar haciendo uso del metodo de resolucion la correccion del siguiente razonamiento:

CAPITULO 5. METODO
DE RESOLUCION

150

Hay pacientes a los que les agradan todos los medicos. A ning
un paciente le agrada
ning
un charlat
an. Por lo tanto, ning
un medico es charlatan.
23. Aplicar resoluci
on 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.
24. Aplicar resoluci
on 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.
25. Aplicar resoluci
on 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.
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.
26. Dado el programa Prolog:
Comprende(l
ogica-comput-I,x)
Atiende(x, clases)
Responsable(carlos)

:
:

Atiende(x, clases)
Responsable(x)

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 at
omicos se puede inferir de este programa?

Captulo 6

L
ogica de Predicados de Segundo
Orden
Indice
6.1. Lenguajes de segundo orden . . . . . . . . . . . . . . . . . . . . . . . . 152
6.1.1. F
ormulas Bien Formadas . . . . . . . . . . . . . . . . . . . . . . . . . . 152
6.1.2. Limitaciones expresivas de la logica de primer orden que no tiene la de
segundo orden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154
6.1.3. Algunas cuestiones mas acerca de la logica de segundo orden . . . . . . 158
En este captulo vamos a dar una breve vision de la logica de predicados de orden superior. Veremos
su complejidad y, que de cara a nuestro interes, computacionalmente es difcilmente tratable.
Como ya conocemos, en la l
ogica de primer orden, L1 , podemos cuantificar variables individuales,
podemos expresar, por ejemplo, hay individuos x tales que se dedican a la profesi
on de actriz o bien,
simplificando, existen actrices, mediante la formula, (x)A(x), donde A(x) expresa x es actriz. Pero
en L1 no podemos cuantificar sobre los smbolos de predicados de individuos, es decir, en L1 no podemos
predicar sobre los elementos de P en la signatura de los lenguajes de primer orden. As, en nuestro
ejemplo, no podemos cuantificar sobre el smbolo A que representa el predicado actriz.
Consideremos otros ejemplos:
en L1 podemos expresar que R es una relacion tal que cada elemento solo se relaciona consigo
mismo por

(x)(y) R(x, y) (x = y)
pero no podemos expresar la existencia de una tal relacion.
en L1 no podemos expresar existen relaciones binarias que son transitivas, pero que no son simetricas.
Si (X, ) es un conjunto bien fundado (es decir, todo subconjunto de X tiene un elemento minimal),
entonces en L1 no existe ninguna fbf A tal que nos exprese que (X, ) es bien fundado si y solo si
A es v
alida
La fbf (x)(y)(S(x, y) R(y, x)) expresa que S es la relacion inversa de P. Pero en L1 no existe
ninguna fbf A tal que nos exprese que S es el la clausura transitiva de P .

151

152

CAPITULO 6. LOGICA
DE PREDICADOS DE SEGUNDO ORDEN

Una l
ogica que permita cuantificar no solo sobre variables individuales, sino tambien sobre los smbolos
de predicados individuales se denomina l
ogica de segundo orden.
En L1 no solo no podemos cuantificar sobre variables de predicados, tampoco podemos predicar
sobre tales variables. Si decimos ser actriz es una profesi
on estamos predicando sobre el predicado de
individuo actriz. Una l
ogica que permita predicar sobre variables individuales y sobre variables de
predicados individuales se denomina l
ogica de tercer orden y podemos seguir as sucesivamente. En
general, a la l
ogica que integra todos los formalismos de orden superior a 1 se le denomina l
ogica de
orden superior.
En este captulo nos limitamos a considerar la logica de predicados de segundo orden, L2 y nos centraremos tanto en las propiedades de interes que la diferencian claramente de L1 , como en sus limitaciones
desde el punto de vista computacional.

6.1.

Lenguajes de segundo orden

Recordemos que el alfabeto de un lenguaje de primer orden con signatura = (C, F, P) denotado L1 (),
es
a1 = V {, , , , , , , , , (, ), {, }, . . .}
donde
1. V = {x, y, z, v, . . . , x1 , y1 , z1 , v1 , . . . , xn , yn , zn , vn , . . .} es un conjunto infinito numerable, de smbolos de variables individuales (de primer orden).
2. C es un conjunto numerable (posiblemente vaco), de smbolos de constante individuales para
cuyos elementos usamos los smbolos a, b, c, . . . (posiblemente subindizados).
S
3. F = 1 Fn es un conjunto numerable (posiblemente vaco) de smbolos de funci
on sobre individuos
y cada Fn un conjunto numerable (posiblemente vaco) de smbolos de funcion n-arias sobre n-tuplas
de individuos, para cuyos elementos usamos los smbolos f, g, h, . . . (posiblemente subindizados y,
si ha lugar a confusi
on, superindizados por n).
S
4. P = 1 Pn es un conjunto numerable y no vaco de smbolos de predicados que predican sobre
individuos y cada Pn un conjunto numerable de smbolos de predicados n-arios que predican
sobre n-tuplas de individuos, para cuyos elementos usamos los smbolos P, Q, R, . . . (posiblemente
subindizados y, si ha lugar a confusion, superindizados por n).
Como hemos indicado, la l
ogica de predicado de segundo orden, L2 , aumenta la expresividad de la logica
de primer orden, L1 , permitiendo cuantificar sobre predicados. En consecuencia, junto a las variables de
individuos, incluye una familia numerable de variables de predicado de aridad n para cada n 0.
Definici
on 6.1 [Alfabeto de un lenguaje de segundo orden] Dado un lenguaje de primer orden L1 (),
con alfabeto = a1 , el alfabeto del lenguaje de segundo orden L2 () es
a2 = a1 X
S
donde X = Xn y cada Xn es un conjunto infinito numerable de variables de predicados n-arios o
variables de segundo orden. Para los elementos de X usaremos los smbolos X, Y, Z, . . . posiblemente
subindizados.

6.1.1.

F
ormulas Bien Formadas

El conjunto de terminos (cadenas de smbolos que representan elementos del universo del discurso)

es el mismo que el introducido en la definicion 1.2 para L


1 , es decir T erm1 = T erm2 y lo denotaremos
simplemente por T erm.

153

6.1. LENGUAJES DE SEGUNDO ORDEN

Destaquemos que, seg


un hemos definido, los smbolos de funcion no toman como argumentos smbolos
de predicado.
Ahora definimos el conjunto de fbfs at
omicas.
?

Definici
on 6.2 [Atomos]
Los
atomos son los elementos de (a
2 ) pertenecientes al conjunto

Atom
2 = {P (t1 , . . . , tn ) | P Pn , t1 , . . . , tn T erm}{X(t1 , . . . , tn ) | n N, X Xn , t1 , . . . , tn T erm}
Podemos ya definir el conjunto de fbfs, esto es, el lenguaje L
2.
Definici
on 6.3 [F
ormulas bien formadas] Dado un smbolo de variable predicativa X X , se definen las
funciones
UX , EX : (a2 ) (a2 )

por

UX (A) = (X)A y EX (A) = (X)A

El conjunto de las f
ormulas bien formadas es el conjunto de los elementos de (a
2 ) determinados por las
siguientes reglas:

1. Toda fbf de L
1 es una fbf.
2. Si X es un smbolo de variable predicativa n-ario y t1 , . . . , tn T erm, entonces X(t1 , . . . , tn ) es
una fbf.
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 individual, (x)A y (x)A son fbfs.
5. Si A es una fbf y X es un smbolo de variable predicativa, (X)A y (X)A son fbfs.
6. s
olo las cadenas obtenidas aplicando las reglas 1, 2, 3, 4 y 5 son fbfs.
Las definiciones de variables predicativas libres y ligadas son las analogas a las correspondiente nociones de variables libres y ligadas en primer orden introducidas en la definicion 1.13.
Ejemplo 6.1

(R)(x)(y) R(x, y) (x = y) expresa que existe una relacion tal que cada elemento solo se
relaciona consigo mismo
(X)(X(a) X(b)) expresa que existe una propiedad tal que a y b la satisfacen
El Principio de los indiscernibles de Leibnitz.

se puede expresar en L2 por

(a = b) (X)(X(a) X(b))
La expresi
on S es la clausura transitiva de P ?? puede ser expresada por la fbf de segundo orden
(x)(y)(S(x, y) (X)((X) Q(x, y)));
donde (X) es
(z)(v)(P (z, v) S(z, v)) (z)(v)(w)((S(z, v) Q(v, w)) S(z, w))
es decir, S es la intersecci
on de todas las relaciones transitivos que contienen P .
1

Si dos objetos a y b comparten todas sus propiedades, entonces a y b son identicos, es decir, son el mismo
objeto.


CAPITULO 6. LOGICA
DE PREDICADOS DE SEGUNDO ORDEN

154
Sem
antica para L
2

Desde un punto de vista sem


antico, la modificacion efectuada respecto a la sintaxis de los lenguajes
de primer orden exige que, adem
as de asignar significado a las variables individuales (en un conjunto
de individuos) asignemos tambien significado a las nuevas variables predicativas, bien en partes de un
conjunto dado (si son monarias) o bien en conjuntos de n-uplas ordenadas de partes de un conjunto (si
son n-arias).
Definici
on 6.4 [Sem
antica] Si L
2 es un lenguaje de segundo orden con alfabeto , definimos una
interpretaci
on (U, I) para L
exactamente
como en la Definicion 1.27 para la logica de primer orden.
2
Asmismo, se define la evaluaci
on de variables individuales como en primer orden, : V U . Adem
as,
definimos, para cada n, una valuaci
on o asignaci
on de variables predicativas n-arias
n : Xn U n
tal que a cada variable predicativa n-aria X Xn le asigna n-uplas ordenadas de elementos de U .

Las nociones de satisfacibilidad, validezy consecuencia logica son extensiones de las dadas en
primer orden (ver Definici
on 1.31). Extendemos en primer lugar la nocion de satisfacibilidad dada en
primer orden a
nadiendo:
(U, I, , {n | n N}) |= X(t1 , . . . , tn ) si y solo si I (t1 , . . . , tn ) n (X)
(U, I, , {n | n N}) |= (X)A si y solo si existe U n tal que
(U, I, , {n | n N})X/ |= A
donde (U, I, , {n | n N})X/ expresa que n (X) = .

La definici
on de (U, I, , {n | n N}) |= (X)A se obtiene considerando (X) como cuantificador
definido en el modo habitual, es decir
(X)A =def (X)A
Podramos contar con un lenguaje de segundo orden mas complejo introduciendo un conjunto de
variables funcionales en la signatura, es decir, smbolos de funcion cuantificables. Esta extension no la
consideraremos en este libro.
Aunque las modificaciones introducidas puedan parecer peque
nas, pronto veremos que las repercusiones en la potencia expresiva es muy grande. Vamos ahora a analizar la falta de capacidad expresiva de
la l
ogica de primer orden para hablar de algunas propiedades de interes.

6.1.2.

Limitaciones expresivas de la l
ogica de primer orden que no tiene la
de segundo orden

Entenderemos que una propiedad P es expresable (caracterizable o definible) en la logica de primer


orden, L1 , cuando existe un conjunto (finito o infinito) de formulas cerradas L1 tal que para toda
interpretaci
on (U, I) de L1 se cumple que:
(U, I) satisface

si y solo si

(U, I) cumple la propiedad P

As, por ejemplo, la propiedad de reflexividad es expresable en la logica de primer orden ya que la formula
(x)R(x, x) es verdadera en toda interpretacion (U, I) donde la relacion binaria R se interpreta como una
relaci
on reflexiva, esto es, I(R) contiene al menos todos los pares de la forma (u, u) para todo u U . Por
el contrario, en cualquier interpretaci
on donde I(R) no posea dicha interpretacion, la formula (x)R(x, x)
ser
a falsa.
Entre las limitaciones expresivas de la logica de primer orden podemos destacar algunas como las
siguientes:

155

6.1. LENGUAJES DE SEGUNDO ORDEN

I) Dificultades para expresar las cardinalidades de las interpretaciones, es decir, incapacidad para expresar tanto la infinitud como la finitud mediante un conjunto finito de formulas.
En la Secci
on 3.3.1, mostramos que en la Teoras de Primer Orden con Igualdad, podamos expresar
propiedades acerca de la cardinalidad del dominio de una interpretacion, esto es, acerca de su
n
umero de elementos. Contamos con formulas que recogen afirmaciones como hay exactamente
n elementos, hay a lo sumo n elementos o hay al menos n elementos, pero las dificultades
surgen al pretender expresar que el dominio es finito o infinito.
Una f
ormula que exprese hay al menos n elementos es verdadera justamente en todas las interpretaciones (U, I), donde |U | n. Aqu caben modelos tanto finitos (con lmite inferior n en cuanto
a su cardinalidad) como infinitos.
er er

Si consideramos el conjunto inf de todas las formulas que, para cualquier entero
positivo n, expresan hay al menos n elementos tenemos un conjunto de formulas
que, claramente, s
olo puede ser satisfacible en interpretaciones con un n
umero infinito
de elementos. Es decir, tenemos el resultado siguiente: para toda interpretaci
on
(U, I), se cumple que
(U, I) satisface inf

si y s
olo si

U es infinito

Cabe preguntarse ahora si podemos mejorar este resultado, es decir, si existe un conjunto finito (por lo tanto, una formula) capaz de expresar la infinitud del dominio de
los modelos. La respuesta es negativa. Este resultado es consecuencia directa del Teorema de compacidad, que vale para la logica de primer orden como hemos mostrado (ver
Teorema 2.9 en la p
agina 72).
La demostraci
on del resultado es sencilla. Supongamos que hubiera una formula A que
expresara infinitud del dominio, es decir, que fuera verdadera en todas las interpretaciones con un dominio infinito y falsa en todas las interpretaciones con un dominio
finito. Sabemos que todos los modelos del conjunto inf son infinitos, luego inf |= A
y entonces, teniendo en cuenta el Teorema de compacidad, existira un conjunto finito
inf tal que |= A. Ahora bien, como ha quedado patente, no todos los modelos
de son infinitos y puesto que |= A, los modelos infinitos de , son modelos de A,
luego no todos los modelos de A son finitos, as que una formula A que exprese infinitud
del dominio no puede existir.
Hemos pues mostrado una falta de expresividad de la logica de primer.
Destaquemos otro hecho: En la L
ogica de Primer Orden existen formulas para las cuales todos
sus modelos son infinitos. En efecto, consideremos las siguientes propiedades expresables en primer
orden:
(x)R(x, x)

(R es irreflexiva)


(x)(y)(z) (R(x, y) R(y, z)) R(x, z)

(R es transitiva)

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

(R es serial)

La conjunci
on de estas tres f
ormulas es una formula cuyos modelos son todos infinitos. Pero ello no
significa que tal conjunci
on exprese infinitud; ya hemos comprobado que eso es imposible. Puede
haber interpretaciones con un n
umero infinito de elementos donde la formula sea falsa, basta con
interpretar R de una manera concreta que haga tal trabajo.

156

CAPITULO 6. LOGICA
DE PREDICADOS DE SEGUNDO ORDEN
Esto sugiere que en segundo orden podemos expresar la infinitud sustituyendo la anterior letra
predicativa R en la f
ormula conjuntiva anterior por una variable relacional de segundo orden cuantificada convenientemente. De hecho, la formula de segundo orden siguiente, denotada IN F (usamos
una variable binaria de segundo orden X en lugar de R) expresa infinitud:


IN F = (R) (x)X(x, x) (x)(y)(z) (X(x, y) X(y, z)) X(x, z) (x)(y)X(x, y)

er er

Como vemos, en la L
ogica de Primer Orden podemos expresar la propiedad de infinitud
del dominio, pero con un conjunto infinito de formulas. En cambio, el resultado respecto
de la finitud es peor, ni siquiera es posible expresar con un conjunto infinito de formulas
que el dominio de los modelos es finito. Supongamos lo contrario, que existe un conjunto de
f
ormulas, llamemosle f in , tal que para toda interpretacion (U, I), se cumple que
(U, I) satisface f in

si y solo si

U es finito

Dado que todos los subconjuntos finitos de inf poseen al menos un modelo finito, es claro
que todo subconjunto finito del conjunto inf f in posee un modelo finito. Por el Teorema
de compacidad el conjunto inf f in tambien tendra un modelo, lo cual nos lleva a contradicci
on, ya que dicho modelo de inf y f in a la vez, tendra que ser simultaneamente
infinito y finito.
En cambio, en segundo orden basta con negar la formula anterior IN F para expresar la
finitud.
II) Incapacidad para expresar el principio de inducci
on matem
atica que establece que:
Para cualquier propiedad P, si 0 cumple la propiedad P y si un n
umero natural cualquiera
n la cumple, tambien la cumple el siguiente, entonces todo n
umero natural cumple la
propiedad P.
Este principio se aplica s
olo a los n
umeros naturales o cualquier conjunto isomorfo a el, y, como
veremos, en la L
ogica de Primer Orden no contamos con recursos para hablar u
nicamente de ellos.
En efecto, se
nalemos en primer lugar, que los lenguajes de primer orden no pueden caracterizar la
estructura de los n
umeros naturales. Consideremos la signatura de la aritmetica de primer orden:
Un smbolo de constante: a (para representar al 0).

Un smbolo de funci
on monaria: f11 (para sucesor ) y dos smbolos de funciones binarias:
2
f1 (para suma ) y f22 (para producto ).
El u
nico smbolo de predicados es el smbolo de predicado binario =.
Consideremos ahora la interpretaci
on MN cuyo dominio es N y que asigna a cada smbolo introducido su significado natural, es decir, a la constante a el 0, al smbolo f1! la funcion sucesor en N,
etc.
Sabemos que la teora para MN es el conjunto de fbfs de primer orden verdaderas en MN . Llamemos
T (N) a dicha teora. Sea c una nueva constante (ampliamos, pues, el lenguaje de la teora) y
consideremos el conjunto de f
ormulas = {An | n N}, donde A1 es c 6= f11 (a), A2 es c 6=
1 1
f1 (f1 (a)), etc.
Consideremos el conjunto T (N) y comprobemos que cualquier subconjunto finito T (N)
tiene un modelo.

6.1. LENGUAJES DE SEGUNDO ORDEN

157

tiene a lo sumo un n
umero finito de formulas de , sea An la formula de subndice maximo.
N
Entonces podemos definir una interpretacion MN
c que coincide con M excepto que asigna un
valor a c en N; en realidad, cualquier n
umero natural mayor que n nos sirve para asignarle a c.
La interpretaci
on MN
ormulas de que pertenecen a . En efecto,
c es un modelo de todas las f
basta tener en cuenta que c es distinto de la asignacion realizada a todos los terminos funcionales
que intervienen en dichas f
ormulas. Por otro lado, MN
en un modelo de las formulas de
c es tambi
T (N) pertenecientes a , ya que estas no dependen del valor asignado a c.
Por el Teorema de compacidad, tenemos que T (N) tiene un modelo, sea M. Este modelo cuenta
al menos con un elemento que no pertenece a N, pues el objeto asignado a c no es ning
un n
umero
natural, debido a lo que expresan las formulas de . Si transferimos este hecho al lenguaje de la
aritmetica primitivo (es decir, sin la constante c) lo cual podemos realizarlo sin mas que restringir
M eliminando la asignaci
on efectuada a c en M, la interpretacion obtenida es tambien un modelo
de T (N), pero sigue contando con el mismo dominio.
Lo que hemos hecho es aplicar el siguiente lema de reducci
on:
Lema 6.1 Sean L(1 ) y L(2 ) dos lenguajes de primer orden tales que 1 2 . Sea (U2 , I2 ) una
interpretaci
on de L(2 ) y (U1 , I1 ) la restricci
on de (U2 , I2 ) a L(1 ). Entonces para todo termino
b
asico t y toda f
ormula A de L1 se cumple:
1. I(t) = I 0 (t).
2. A es verdadera en (U, I) si y s
olo si A es verdadera en (U, I 0 ) La cuesti
on es que el modelo final que hemos encontrado no es MN , claro esta, es un modelo que
satisface una teora aritmetica con al menos un elemento que no esta en N. Se trata de lo que se
llama un modelo no est
andar de la aritmetica.
Como consecuencia se deduce que no tenemos recursos suficientes en primer orden para hablar de
todos los n
umeros naturales 0, 1, 2 . . . y solo de ellos. Se nos cuelan mas cosas. Justamente este
hecho impide que podamos expresar el principio de induccion.
Sin embargo, en L1 s podemos expresar este principio para cada propiedad P elegida, es decir,
podemos expresar:
[P (0) (x)(P (x) P (f11 (x)))] (x)P (x)
En l
ogica de segundo orden, en cambio, se puede expresar el principio en toda su generalidad
(usamos una variable monaria X de segundo orden):

(X) [X(0) (x)(X(x) X(f11 (x)))] (x)X(x)
III) Incapacidad para expresar el orden de los reales. El conjunto de los n
umeros reales, R,
es no numerable. Sin embargo, por el teorema de Lowenheim-Skolem, la teora de primer orden de
R es satisfacible en un modelo de cardinalidad numerable. As que no podemos contar en primer
orden con un conjunto de enunciados que expresen la estructura de los reales. Necesitamos para
ello nuevos recursos ling
usticos, como los que nos proporciona la logica de segundo orden.
Hay una propiedad que marca la diferencia para capturar el orden de los reales. Se trata de la
siguiente. En cualquier conjunto (A, ) totalmente ordenado y en el que hagamos una particion en
dos subconjuntos, A1 y A2 , de modo que todo elemento de A1 sea anterior a todo elemento de A2 ,
tenemos una de las siguientes situaciones:
(a) A1 tiene u
ltimo elemento, pero A2 no tiene primero.
(b) A1 no tiene u
ltimo elemento, pero A2 tiene primero.


CAPITULO 6. LOGICA
DE PREDICADOS DE SEGUNDO ORDEN

158

(c) A1 no tiene u
ltimo elemento ni A2 tiene primero.
Si (c) es una situaci
on que no puede darse, decimos que R es completa. Esta propiedad (de
compleci
on) se expresa en segundo orden como sigue:
h

(P ) (x)P (x) (x)P (x) (x)(y) ((P (x) P (y)) x y

i
(x)(P (x) (y)((x y) P (y)) (x)(P (x) (y)((y x) P (y))
En la recta real, el antecedente de la formula anterior expresa que dividimos la recta en dos mitades
(damos un corte) y el consecuente expresa que o bien el primer segmento tiene un u
ltimo elemento
o bien el segundo segmento tiene un primer elemento.
Por su parte, el resto de las propiedades que necesitamos para caracterizar el orden de los reales,
s son expresables en primer orden. La nocion de orden total es expresable. Una relacion binaria
R es una relaci
on de orden total en A si es reflexiva, antisimetrica, transitiva y conexa, es decir:
(x)R(x, x)
(x)(y) (R(x, y) R(y, x)) x = y

(R es reflexiva)



(x)(y)(z) (R(x, y) R(y, z)) R(x, z)
(x)(y)(R(x, y) R(y, x))

(R es antisimetrica)
(R es transitiva)
(R es conexa)

Supongamos que la relaci


on R fuera, ademas, una relacion densa, lo cual es expresable en primer
orden mediante
(x)(y)(R(x, y) (z)(R(x, z) R(z, y)) 2
(entre cada par de elementos cualesquiera de un conjunto relacionados mediante R, siempre se
puede intercalar un tercero). Supongamos, ademas, que R cumpliera igualmente que en el conjunto
sobre el que se define no hay primero ni u
ltimo respecto a dicha relacion. Esto es expresable
en primer orden mediante (x)(y)R(y, x) y (x)(y)R(x, y) respectivamente. Estas propiedades
(todas ellas expresables en primer orden menos una) definen un orden isomorfo al orden habitual
en R. Es decir, el orden de los reales se puede caracterizar diciendo que es un orden total, denso,
completo y sin inicio ni final.
IV) Incapacidad para expresar el principio de la identidad de los indiscernibles.
El principio de identidad de los indiscernibles de Leibniz establece que cualquier par de objetos con
las mismas propiedades son, en realidad, el mismo objeto. En primer orden no podemos cuantificar
propiedades, pero en segundo orden se expresara

(x)(y) (x = y) (X)(X(x) X(y))
donde X es una variable predicativa monaria. Mas a
un, esta formula muestra que el concepto de
identidad es definible en segundo orden.

6.1.3.

Algunas cuestiones m
as acerca de la l
ogica de segundo orden

Hay propiedades de la l
ogica de primer orden que no se conservan al pasar a la logica de segundo
orden y otras que no se tenan en primer orden que tampoco se logran con este paso. Destaquemos las
siguientes:
2

Entre cada par de elementos cualesquiera de un conjunto relacionados mediante R, siempre se puede intercalar
un tercero

6.1. LENGUAJES DE SEGUNDO ORDEN

159

1. No existe prueba efectiva de la validez de las formulas de segundo orden; es decir, la logica de
segundo orden es indecidible, al igual que la de primer orden.
2. Hemos visto que el Teorema de Compacidad era la llave para mostrar la inexpresividad en primer
orden de una serie de propiedades importantes como el orden de los naturales y otras. Si dicho
teorema valiera en segundo orden podramos razonar con los mismos argumentos que hemos usado
en primer orden. Pero, como hemos visto, no es as.las propiedades estudiadas se pueden expresar en
segundo orden, as que podemos concluir que en esta logica no podemos contar con la compacidad,
es decir, existen un conjunto infinito numerable e insatisfacible y, que sin embargo, todo subconjunto
suyo es satisfacible (en consecuencia, tal conjunto contendra al menos una fbf de segundo orden).
3. Una consecuencia de que no valga el teorema de compacidad, corolario de la correccion y completitud, es que no existen sistemas con un conjunto finito de axiomas en logica de segundo orden
que posean dichas propiedades. Sin embargo, el desarrollo de las logicas modales, muestra que hay
sistemas correctos y completos de l
ogica de segundo orden relativos a determinados conjuntos de
proposiciones de segundo orden.
4. Para mostrar que la l
ogica de primer orden era incapaz de expresar el orden de los reales hemos
usado el teorema de L
owenheim-Skolem. El mismo argumento podra exponerse en segundo orden,
pero hemos visto que se puede caracterizar dicho orden, por lo cual el teorema de LowenheimSkolem no es aplicable en segundo orden.

S-ar putea să vă placă și