Você está na página 1de 89

Logica Computacional

Notas para el curso Analisis Logico

Mat. Favio Ezequiel Miranda Perea


ii
Contenido

1 Sint
axis de la L ogica de Predicados 1
1.1 Conceptos Basicos . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Correspondencia con el lenguaje natural . . . . . . . . . . . . 5
1.2.1 La Negacion . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 La Disyuncion . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.3 La Conjuncion . . . . . . . . . . . . . . . . . . . . . . 5
1.2.4 La Implicacion . . . . . . . . . . . . . . . . . . . . . . 6
1.2.5 La Equivalencia . . . . . . . . . . . . . . . . . . . . . . 6
1.2.6 La Cuantificacion Universal . . . . . . . . . . . . . . . 6
1.2.7 La Cuantificacion Existencial . . . . . . . . . . . . . . 7
1.2.8 Algunos ejemplos de traduccion . . . . . . . . . . . . . 7
1.3 Principios de Induccion y Recursion . . . . . . . . . . . . . . . 12
1.4 Conceptos Sintacticos Importantes . . . . . . . . . . . . . . . 15
1.5 Sustituciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.6 Unificacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.6.1 Un Algoritmo de Unificacion . . . . . . . . . . . . . . . 25

2 Semantica de la L ogica de Predicados 31


2.1 Interpretaciones y Estados . . . . . . . . . . . . . . . . . . . . 31
2.2 Evaluacion de Terminos . . . . . . . . . . . . . . . . . . . . . 35
2.3 La definicion de Satisfaccion de Tarski . . . . . . . . . . . . . 38
2.4 Modelos y Consecuencia Logica . . . . . . . . . . . . . . . . . 44
2.4.1 Validez Universal . . . . . . . . . . . . . . . . . . . . . 47
2.4.2 Consecuencia Logica . . . . . . . . . . . . . . . . . . . 51
2.5 Formas Normales . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.5.1 Forma Normal Negativa . . . . . . . . . . . . . . . . . 57
2.5.2 Forma Normal Prenex . . . . . . . . . . . . . . . . . . 58
2.5.3 Forma Normal Conjuntiva . . . . . . . . . . . . . . . . 59

iii
iv CONTENIDO

2.5.4 Forma Normal de Skolem . . . . . . . . . . . . . . . . 60


2.5.5 Forma Clausular . . . . . . . . . . . . . . . . . . . . . 64
2.6 Los Teoremas Fundamentales de la Logica . . . . . . . . . . . 66
2.6.1 El Teorema de Herbrand . . . . . . . . . . . . . . . . . 66
2.6.2 El Teorema de Compacidad . . . . . . . . . . . . . . . 70
2.6.3 El Teorema de Lowenheim-Skolem . . . . . . . . . . . 72
2.7 El Problema de la Decision . . . . . . . . . . . . . . . . . . . . 74
2.7.1 Semidecidibilidad de la Consecuencia Logica . . . . . . 75
2.7.2 Indecidibilidad de la Consecuencia Logica . . . . . . . 77

Bibliografa 81
Captulo 1

Sint
axis de la L
ogica de
Predicados

En este captulo estudiaremos los preliminares sintacticos necesarios para el


resto del libro, solamente se supone un conocimiento de la logica proposi-
cional, tema que no trataremos aqu.

1.1 Conceptos B
asicos
Definicion 1.1 una signatura o tipo de semejanza es un conjunto de
smbolos de alguna de las siguientes formas:
(n1 ) (nk )
Smbolos de funcion o letras funcionales: f1 , . . . , fk ,...
(n1 ) (nk )
Smbolos de predicado o letras predicativas: P1 , . . . , Pk ,...

Smbolos de constante: c1 , . . . , ck . . .

Cada smbolo tiene asociado un numero natural, denotado entre parentesis,


que es su aridad o n
umero de argumentos. Las constantes pueden consider-
arse como smbolos de aridad cero.

Las signaturas sirven para simbolizar y traducir algun enunciado en lenguaje


natural, en nuestro caso el espa
nol, a un lenguaje formal como el que defini-
mos enseguida.

1
2
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Definicion 1.2 Sea una signatura. El lenguaje formal de primer orden


para , denotado L , es un conjunto que consta de los siguientes conjuntos
de smbolos:

Smbolos no logicos, que son los smbolos de .

Smbolos logicos:

Conectivos: , , , , .
Cuantificadores: , .

Variables: V AR = {x1 , . . . , xn , . . .}

Smbolos Auxiliares: parentesis (, ) y coma ,.

Si ademas L tiene el smbolo de igualdad = decimos que el lenguaje es


con igualdad. Nosotros utilizaremos lenguajes sin igualdad, a menos que se
especifique lo contrario.

Los puros smbolos no bastan para poder traducir del espa


nol al lenguaje
formal, para esto necesitamos combinar los diferentes smbolos de manera
adecuada, formando terminos y formulas. Los terminos son cadenas de
smbolos del lenguaje que representan individuos.

Definicion 1.3 Sea una signatura. Definimos recursivamente el conjunto


de -terminos, denotado T ERM (), como sigue:

Los smbolos de variable son -terminos, es decir, si x V AR entonces


x T ERM ().

Los smbolos de constante son -terminos, es decir, si ck entonces


ck T ERM ().

Si t1 , . . . , tn son terminos y f es un smbolo de funcion n-ario


entonces f (t1 , . . . , tn ) es un termino.

Son todos.

las variables y constantes se llaman terminos simples mientras que los smbolos
de funcion aplicados a terminos son los terminos compuestos

1.1. CONCEPTOS BASICOS 3

on 1.4 Un -termino t es cerrado si en t no figuran variables. El


Definici
conjunto de terminos cerrados se denota con T ERM0 ().

Finalmente, para poder lograr una traduccion del lenguaje natural, pre-
sentamos las formulas, que son cadenas de smbolos que sirven para repre-
sentar enunciados del espanol. Iniciamos con las formulas mas simples que
expresan propiedades y relaciones entre objetos.

Definicion 1.5 Sean una signatura y t1 , . . . , tn T ERM (). Las f


ormulas
atomicas son cadenas de smbolos de L de la siguiente forma:

P (t1 , . . . , tn ), donde P es un smbolo de predicado n-ario.

Si el lenguaje es con igualdad entonces agregamos ti = tj .

El conjunto de formulas atomicas se denota AT OM ().

Por u
ltimo definimos las formulas de una signatura.

on 1.6 Sea una signatura. Definimos las -formulas, recursiva-


Definici
mente, como sigue:

Las formulas atomicas son formulas.

Si , son formulas y x V AR entonces , , ,


, , x, x son formulas.

Son todas.

Para evitar la presencia excesiva de parentesis definimos el siguiente orden


de precedencia entre los conectivos.

(Precedencia Mayor).

, .

(Precedencia Menor).

As por ejemplo, la formula p qr s debe entenderse como (p (q


r)) s y la formula xP x Qy yRy como ((xP x) Qy) (yRy).
4
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Ejercicios
Sean 1 = {P (2) , Q(3) , R(1) , f (2) , g (1) , c, d} y 2 = {Q(2) , P (3) , R(1) , g (2) ,
f (3) , d, e}.

1.1.1.- Dar 5 ejemplos de 1 -terminos compuestos.

1.1.2.- Dar 5 ejemplos de 2 -terminos compuestos.

1.1.3.- Cuales de los siguientes son 1 -terminos o 2 -terminos?

(a) P (x, f (c, w)).


(b) g(f (x, d)).
(c) f (e, g(x, y), d).
(d) g(d, f (c, w)).
(e) f (x, w, g(d, f (w, e, v)).
(f) f (g(y), f (c, d)).
(g) g(f (x, g(w))).
(h) Q(d, f (d, e, y)).
(i) R(f (c, x)).
(j) P (e, g(x, d), f (z, g(e, w), w)).

1.1.4.- Dar 5 ejemplos de 1 -formulas atomicas.

1.1.5.- Dar 5 ejemplos de 2 -formulas atomicas.

1.1.6.- Cuales de las siguientes son 1 -formulas o 2 -formulas?

(a) Q(f (c, y), g(w), R(z)).


(b) xP (x, Q(c, d, y)).
(c) zQ(c, f (x, d), w) R(y).
(d) R(g(v, d)) Q(x, e).
(e) R(d) yP (f (c, x), y).
(f) Q(g(e, x), y) f (x, y, d).
(g) P (f (x, y, w), g(w, v), d) Q(d, e).
1.2. CORRESPONDENCIA CON EL LENGUAJE NATURAL 5

(h) yQ(y, y) R(w) P (x, y, e).


(i) (P (x, c) R(g(c, w))).
(j) xyw(Q(x, w)R(y) P (w, w)).

1.2 Correspondencia con el lenguaje natural


En esta seccion vamos a traducir enunciados del espa nol al lenguaje formal,
para lo cual necesitamos darle significado a los smbolos del lenguaje. Debe
quedar claro que aqu solamente presentaremos algunos ejemplos y consejos
para el proceso de traduccion, el cual depende en gran medida de la habilidad
del alumno. Vamos a analizar cada conectivo y cuantificador y su significado.

1.2.1 La Negaci
on
on de la formula es la formula .
La negaci

Smbolo utilizado:

Correspondencia con el espa


nol: No, no es cierto que , es falso que, etc.

Otros smbolos: , .

1.2.2 La Disyunci
on
on de las formulas , es la formula . Las formulas , se
La disyunci
llaman disyuntos.

Smbolo utilizado:

Correspondencia con el espa


nol: o.

Otros smbolos: + , |.

1.2.3 La Conjunci
on
La conjuncion de las formulas , es la formula . Las formulas , se
llaman conyuntos.
6
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Smbolo utilizado:

Correspondencia con el espa


nol: y, pero.

Otros smbolos: &, .

1.2.4 La Implicaci
on
La implicacion o condicional de las formulas , es la formula . Las
formulas es el antecedente y la formula es consecuente de la implicacion.

Smbolo utilizado:

Correspondencia con el espa nol: significa: si entonces ; , si ;


es condicion suficiente para ; es condicion necesaria para , etc.

Otros smbolos: , .

1.2.5 La Equivalencia
La equivalencia o bicondicional de las formulas , es la formula .

Smbolo utilizado:

Correspondencia con el espa nol: es equivalente a ; si y solo si ;


es condicion necesaria y suficiente para , etc.

Otros smbolos: , .

1.2.6 La Cuantificaci
on Universal
on universal de la formula es una formula del tipo x,
Una cuantificaci
donde x es una variable, llamada la variable del cuantificador.

Smbolo utilizado:

Correspondencia con el espa


nol: para todos, para cualquier, todos,
cualquiera, etc.

Otros smbolos: (x).


1.2. CORRESPONDENCIA CON EL LENGUAJE NATURAL 7

1.2.7 La Cuantificaci
on Existencial
on existencial de la formula es una formula del tipo x,
Una cuantificaci
donde x es una variable, llamada la variable del cuantificador.

Smbolo utilizado:

Correspondencia con el espa


nol: para alg
un, existe un, existe algun,
algun, etc.

Otros smbolos: (Ex).

1.2.8 Algunos ejemplos de traducci


on
En esta seccion vamos a dar algunos ejemplos de traduccion, como ya se dijo,
la forma de traducir no es u nica y dependera en gran medida de la habilidad
de cada estudiante.
Vamos a iniciar mostrando la traduccion de las proposiciones categoricas de
la logica aristotelica, que sirven de base a traducciones mas complicadas. Las
proposiciones categoricas corresponden a alguno de los siguientes esquemas:

UA Todo S es P.

EA Alg
un S es P.

UN Ning
un S es P.

EN Alg
un S no es P.

Para el proceso de traduccion necesitamos la signatura = {S, P } donde los


smbolos S y P son smbolos unarios de predicado.

UA Esta proposicion corresponde al juicio universal afirmativo y se traduce


con la formula x (S(x) P (x)).

EA Corresponde al juicio existencial afirmativo y se traduce mediante la


formula x (S(x) P (x)).

UN Corresponde al juicio universal negativo, la palabra ning


un es una
un y se traduce con x (S(x) P (x)) o
contraccion de no alg
equivalentemente con x (S(x) P (x)).
8
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

EN Esta proposicion corresponde al juicio existencial afirmativo y se tra-


duce con la formula x (S(x) P (x)).
Es comun cometer errores en alguno de estos casos al traducir, si bien
no hay una regla formal, es bueno recordar que los juicios universales se
escriben con implicacion y los existenciales con conjuncion. Lo cual no quiere
decir que no pueda aparecer un cuantificador universal con conjuncion o
un existencial con implicacion, sino que no es usual, sobre todo el u ltimo
caso. Como ejemplo observese el caso de las formulas x(G(x) M (x)) y
x(G(x) M (x)); si G(x) significa x es gato y M (x) significa x maulla
entonces la primera formula traduce a la afirmacion todos los gatos maullan
mientras que la segunda nos dice algo mucho mas fuerte que es todos son
gatos y maullan. El caso del existencial es mas complicado una formula
de la forma x (S(x) P (x)) aunque sintacticamente es correcta, tiene
problemas semanticos que veremos mas adelante, as que siempre que se
quiera traducir algo con un existencial debemos usar una conjuncion y nunca
una implicacion.
El proceso de traduccion tambien depende de la signatura elegida, pero lo
mas funcional es descomponer la oracion en espa nol en frases mas simples
que correspondan a formulas atomicas y traducir a partir de ellas. Pasemos
a los ejemplos.
Ejemplo 1.1 Formar los cuatro juicios aristotelicos posibles con las propie-
dades ser minotauro y ser troyano.
Elegimos la signatura = {M, T }, donde el significado del smbolo M es ser
minotauro y el de T es ser troyano, siempre es adecuado elegir smbolos
que recuerden a las propiedades o relaciones que se quieren representar. Los
juicios son:
Todos los minotauros son troyanos, x (M (x) T (x)).
Alg
un minotauro es troyano, x (M (x) T (x)).
Ning
un minotauro es troyano, x (M (x) T (x)).
Alg
un minotauro no es troyano, x (M (x) T (x)).
Ejemplo 1.2 Hay una lanza que perfora a todos los escudos. En este caso
tenemos dos propiedades, ser lanza, ser escudo y la relacion binaria
perforar. La signatura es = {L(1) , E (1) , P (2) }.
La traduccion es x (L(x) y (E(y) P (x, y))).
1.2. CORRESPONDENCIA CON EL LENGUAJE NATURAL 9

Ejemplo 1.3 Hay un escudo al cual ninguna lanza perfora. Usamos la


misma signatura del ejemplo anterior.
La traduccion es: x (E(x) y (L(y) P (y, x)))

Ejemplo 1.4 Considerese la siguiente signatura = {L(2) , E (2) , A(1) , F (1) ,


M (1) , g, q, c, a, h, d}, con el siguiente significado:
L(x, y) x es mas largo que y
E(x, y) x es escrito por y
A(x) x esta escrito en aleman
M (x) x es matematico
F (x) x es filosofo
g Grundlehren der Mathematik
q El Quijote de la Mancha
c La construccion logica del mundo
a Alicia en el pas de las maravillas
h David Hilbert
d Charles Dogdson.
Tenemos las siguientes traducciones.
Grundlehren der Mathematik es un libro escrito en alem
an.

A(g).

Hay un libro mas largo que El Quijote de la Mancha.

xL(x, q)

La construccion l
ogica del mundo es un libro escrito por un filosofo
y no es mas largo que Alicia en el pas de las maravillas

x(F (x) E(c, x)) L(c, a)

Alicia en el pas de las maravillas es un libro escrito por un matematico.

x(M (x) E(a, x))

Hay un libro escrito en alem


an por un matematico que es mas largo
que Grundlehren der Mathematik.

y(A(y) x (M (x) E(y, x)) L(y, g))


10
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Si Alicia en el pas de las maravillas es un libro escrito por un ma-


tematico entonces es un libro escrito por un filosofo.

x(M (x) E(a, x)) y(F (y) E(a, y))

No hay un libro escrito en alem


an por un filosofo.

x(A(x) y(F (y) E(x, y)))

No es el caso que cualquier libro es escrito por un filosofo.

xy(F (y) E(x, y))

Para cualquier libro escrito por Dogdson, Grundlehren der Mathe-


matik es un libro mas largo escrito por Hilbert.

x(E(x, d) E(g, h) L(g, x))

Hay alguien que es filosofo y matematico y ha escrito un libro en


alem
an.
x(F (x) M (x) y(E(x, y) A(y)))

Ejemplo 1.5 Existe un u nico objeto con la propiedad P. En este caso la


signatura es = {P } y usaremos un lenguaje con igualdad. A veces es
conveniente transformar la oracion en espa nol en una otra que diga lo mismo
pero que tenga una forma mas cercana a los conectivos logicos que puede
incluir variables. En nuestro caso la oracion original se transforma en Existe
un objeto x con la propiedad P y cualquier objeto con la propiedad P es x. La
traduccion es:
x(P (x) y(P (y) y = x))

Ejemplo 1.6 Una condici on necesaria y suficiente para que el sultan sea
usica. Hacemos = {F (1) , V (1) , M (1) , M u(1) , s}
felz es que tenga vino, mujeres y m
con el significado obvio. La traduccion es:

F (s) V (s) M (s) M u(s)

Como se ve esta es una formula proposicional, es decir, no se necesitaron


cuantificadores.
1.2. CORRESPONDENCIA CON EL LENGUAJE NATURAL 11

Ejemplo 1.7 No hay un barbero que rasura exactamente a aquellos hombres


que no se rasuran a si mismos. Esto es equivalente a no existe un barbero
que rasura a un hombre y si y s olo si y no se rasura a si mismo. La signatura
es = {B (1) , R(2) } y la traduccion es:

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

Ejercicios
1.2.1.- Hacer las siguientes traducciones, dando previamente una signatura
adecuada.

(a) Cualquiera que sea persistente puede aprender logica.


(b) Ning
un guajolote vuela.
(c) No todos los pachucos bailan.
(d) Alguna rumbera baila con algun pachuco.
(e) Los perros muerden a los carteros.
(f) Existe un perro que muerde a los carteros.
(g) Existe un cartero que es mordido por todos los perros.
(h) Hay un perro que no muerde carteros.
(i) Hay un cartero que no es mordido por perros.
(j) Hay un perro que es cartero y se muerde a si mismo.

1.2.2.- Tenemos seis cubos de color amarillo, azul o verde. Un cubo puede estar
uno sobre otro o en el piso. Considerese la signatura = {S (2) , A(1) , Az (1) ,
V (1) , L(1) , p} donde S(x, y) significa x esta sobre y, A(x), Az(x), V (x)
representan los colores, L(x) significa que x esta libre es decir que
ning un cubo esta sobre x y p representa al piso.
Simbolizar los siguiente:

(a) Hay un cubo azul sobre el piso con un cubo amarillo sobre el y un
cubo verde sobre el amarillo.
(b) Ning
un cubo amarillo esta libre.
(c) Hay un cubo azul libre y un cubo verde y libre.
(d) Cualquier cubo amarillo tiene un cubo sobre el.
12
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

(e) No todos los cubos azules estan libres.


(f) Cualquier cubo verde esta libre.
(g) Todos los cubos sobre el piso son azules.
(h) Cualquier cubo que este sobre un cubo amarillo es verde o azul.
(i) Hay un cubo verde sobre un cubo verde.
(j) Hay un cubo amarillo libre sobre el piso.
(k) Ning
un cubo esta sobre el piso.
(l) Hay un cubo amarillo que esta sobre uno azul y hay un cubo azul
sobre el.
(m) Todos los cubos estan sobre algo.

1.3 Principios de Inducci


on y Recursi
on
A lo largo de todo el libro necesitaremos hacer demostraciones acerca de
propiedades de los terminos y las formulas. Dado que tales objetos se han
definido por recursion es claro que las demostraciones se haran, en la gran
mayora de los casos, mediante una induccion. A continuacion enunciamos
algunos principios de induccion que utilizaremos cuando sea conveniente.
Principio de Induccion sobre Terminos.
Sea P una propiedad acerca de terminos. Para demostrar que P es
valida para todos los terminos, basta probar que:
P es valida para las variables.
P es valida para las constantes.
Suponiendo que P es valida para t1 , . . . , tn probar que P es valida
para f (t1 , . . . , tn ), donde f es un smbolo de funcion n-ario.
Principio de Induccion Fuerte sobre la longitud de los terminos.
Sea P una propiedad acerca de terminos. Para demostrar que P es
valida para todos los terminos, basta suponer P para todos los terminos
con menos smbolos que t y probar para t.
Principio de Induccion sobre Formulas.
Sea P una propiedad acerca de formulas. Para demostrar que P es
valida para todas las formulas, basta probar que:
Y RECURSION
1.3. PRINCIPIOS DE INDUCCION 13

P es valida para las formulas atomicas.


Suponiendo que P es valida para y probar que P es valida
para , , , , , x, x.
Por supuesto que se pude tomar un conjunto completo de conev-
tivos en lugar de probar todos los casos, cualquier combinacion
del smbolo de negacion, un conectivo binario y un cuantificador
bastan.

Principio de Induccion Fuerte sobre la longitud de las formulas.


Sea P una propiedad acerca de formulas. Para demostrar que P es
valida para todas las formulas, basta suponer P para todas las formulas
con menos smbolos que y probar para .

Principio de induccion sobre el peso de una formula.


Sea P una propiedad acerca de formulas. Para demostrar que P es
valida para todas las formulas, basta suponer P para todas las formulas
de menor peso que y probar para . El peso de una formula se define
como el n umero de smbolos logicos que figuran en ella.

En algunas ocasiones necesitaremos definir funciones o conjuntos rela-


cionados con terminos o formulas, para lo cual nos seran utiles los siguientes
principios de recursion.

Definicion Recursiva para Terminos.


Para definir una funcion h sobre el conjunto T ERM (), basta definir
como sigue:

Definir h(x) para x V AR.


Definir h(ck ) para cada constante ck .
Suponiendo que h(t1 ), . . . , h(tn ) estan definidas, definir h(f (t1 , . . . ,
tn )) para cada smbolo de funcion f de aridad n, utilizando
h(t1 ), . . . , h(tn ).

Definicion Recursiva para Formulas.


Para definir una funcion h sobre el conjunto F ORM (), basta definir
como sigue:

Definir h(P (t1 , . . . , tn )) para cada formula atomica P (t1 , . . . , tn ).


14
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Suponiendo definidas h() y h(), definir a partir de ellas, h(),


h( ), h( ), h( ), h( ), h(x), h(x). Por
supuesto que basta definir para un conjunto completo de conec-
tivos.

Ejemplo 1.8 Definimos recursivamente el peso de una formula como sigue:

p(P (t1 , . . . , tn )) = 0.

p() = p() + 1.

p( ) = p() + p() + 1

p(x) = p() + 1

Definimos el conjunto de subterminos de un termino t recursivamente como


sigue:

Sub(xn ) = {xn }

Sub(ck ) = {ck }

Sub(f (t1 , . . . , tn )) = {f (t1 , . . . , tn )} Sub(t1 ) . . . Sub(tn )

Ejercicios
1.3.1.- Definir recursivamente el conjunto de subformulas de la formula .

1.3.2.- Demuestre que cualquier formula tiene el mismo n


umero de parentesis
izquierdos que derechos.

1.3.3.- Demuestre que cualquier termino tiene el mismo n


umero de parentesis
izquierdos que derechos.

1.3.4.- Definir recursivamente el conjunto V ar(t) = {x V AR | x figura en t}.

1.3.5.- Definir recursivamente la funcion longitud long : T ERM () N


donde long(t) es el n
umero de smbolos de que figuran en t, sin contar
los parentesis.

1.4. CONCEPTOS SINTACTICOS IMPORTANTES 15

1.3.6.- Sean t un termino y ni el n


umero de presencias de smbolos de funcion i-
arios en t. Sea ncv(t) el n
umero de presencias de variables y constantes
en t. Muestre que X
ncv(t) = 1 + (i 1)ni
i

1.4 Conceptos Sint


acticos Importantes
Los siguientes conceptos seran de utilidad durante todo el libro.

Definicion 1.7 Dada una cuantificacion x o x, la formula se llama


el alcance del cuantificador.

Definici on 1.8 Una presencia de la variable x en la formula esta acotada


syss es la variable de un cuantificador de o figura en el alcance de un
cuantificador de .
Si una presencia de la variable x en la formula no esta acotada, decimos
que esta libre.

Ejemplo 1.9 Sea = xz(Q(y, z) R(z, x, y)) P (z, x).


El alcance del cuantificador es la formula z(Q(y, z) R(z, x, y)); el al-
cance del cuantificador es la formula Q(y, z) R(z, x, y). En hay tres
presencias de x, las dos primeras acotadas y la u
ltima libre; las presencias de
z son cuatro, acotadas las tres primeras y libre la u
ltima; finalmente las dos
presencias de y son libres.

Definicion 1.9 Sea una formula. El conjunto de variables libres de ,


se denota V l(). Es decir, V l() = {x V AR | x figura libre en }. La
notacion (x1 , . . . , xn ) quiere decir que V l() = {x1 , . . . , xn }.

Definici on 1.10 Una formula es cerrada si no tiene variables libres, es


decir, si V l() = . Una formula cerrada tambien se conoce como enunciado.
El conjunto de -formulas cerradas se denota con F ORM0 ().

on 1.11 Sea (x1 , . . . , xn ) una formula. La cerradura universal de


Definici
, denotada , es la formula x1 . . . xn . La cerradura existencial de ,
denotada es la formula x1 . . . xn .

Observese que una cerradura se obtiene cuantificando todas las variables


libres de una formula.
16
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Ejercicios
1.4.1.- Defina recursivamente el conjunto V l().

1.4.2.- Defina el conjunto V ac() = {x V AR | x figura acotada en }


mediante recursion para formulas.

1.4.3.- De ejemplos de formulas , tales que V l() V ac() = y V l()


V ac() 6= .

1.4.4.- Obtener V l() y V ac() para cada una de las siguientes formulas:

(a) xy(Q(x, y) R(w)) R(y, x).


(b) xyR(y, x, z) zQ(f (z), y).
(c) T (c, x, v) L(y, w, d) yzR(y, z).
(d) S(x, z) zT (z, w, a) yR(y, w).
(e) xyvw(Q(x, w) R(y, v) L(x, y, v)).

1.4.5.- De ejemplos de formulas que cumplan lo siguiente:

(a) es un enunciado que es cerradura universal de una implicacion


en la que el consecuente es una cerradura existencial.
(b) no es un enunciado pero es cerradura existencial de una con-
juncion.
(c) es un formula con al menos tres presencias libres de exactamente
dos variables distintas.
(d) es un enunciado que es disyuncion de un enunciado atomico con
un predicado ternario y una cerradura universal.
(e) no es un enunciado pero tiene dos cuantificadores universales con
variables distintas, un cuantificador existencial y ademas se vuelve
enunciado cuando se cierra universalmente con un solo cuantifi-
cador mas.

1.5 Sustituciones
La nocion de sustitucion es una herramienta indispensable para el logico, sin
ella no se podra hacer practicamente nada.
1.5. SUSTITUCIONES 17

Definici on 1.12 Una sustitucion es una funcion : V AR T ERM ()


tal que (x) = x excepto para un n umero finito de variables. Como una susti-
tucion solamente mueve un n umero finito de variables, usaremos la notacion
= {x1 /t1 , . . . , xn /tn } para denotar a la sustitucion tal que (xi ) = ti para
1 i n y (y) = y para y 6= xi . Para sustituciones usaremos notacion
sufija y eliminaremos parentesis, es decir, escribiremos x en lugar de (x).
Si = {x1 /t1 , . . . , xn /tn } entonces decimos que act ua sobre x1 , . . . , xn .

Definicion 1.13 Una sustitucion : V AR T ERM () es una susti-


on cerrada si ran() T ERM0 (). Es decir, si el rango de consta de
tuci
terminos cerrados.

Las sustituciones hasta ahora definidas no son de gran utilidad puesto que
solo act
uan sobre variables, a continuacion hacemos extensiones a terminos
y formulas.

Definici on 1.14 Sea = {x1 /t1 , . . . , xn /tn } una sustitucion, definimos la


extension : T ERM () T ERM () recursivamente, como sigue:

x = x, para toda x V AR.

c = c, para cualquier smbolo de constante c .

f (t1 , . . . , tn ) = f (t1 , . . . , tn )

En adelante cometeremos el abuso de denotar a como

Ejemplo 1.10 Sea = {x/y, y/f (z), z/c}.

w = w.

t = f (z).

c = c.

f (x, y, g(v, z)) = f (x, y, g(v, z)) = f (y, f (z), g(v, c))

Esta extension ya es bastante u


til, pero a
un no basta, pues tambien necesi-
tamos substituir variables en formulas, para lo cual definimos otra extension.
18
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Definici on 1.15 Sea = {x1 /t1 , . . . , xn /tn } una sustitucion, definimos la


extension : F ORM () F ORM () como sigue, es la formula que
se obtiene a partir de reemplazando simultaneamente todas las presencias
libres de xi por ti , para 1 i n. Abusando de la notacion escribimos
en lugar de . A se le llama una instancia de . Si es un enunciado
entonces decimos que es una instancia cerrada.

Ejemplo 1.11 Sean = xP (x) zQ(x, y, f (z)). = xQ(x, y, z)


zR(z, y) y = {x/f (x), y/d, z/g(c)}. Entonces
= xP (x) zQ(f (x), d, f (z)).
= xQ(x, d, g(c)) zR(z, d)

Definicion 1.16 Sean = {x1 /t1 , . . . , xn /tn } y F ORM (). es una


instancia admisible de si ninguna variable de ti , para 1 i n se acota
en al aplicar .

Veamos porque es necesario el concepto de instancia admisible. En el si-


guiente captulo daremos un significado formal a todas las nociones sintacticas
que hemos introducido hasta ahora, sin embargo, ya les hemos dado un sig-
nificado intuitivo que usaremos ahora. Considerese la formula x, con la
cual representamos que la formula se cumple para todo valor posible de la
variable x, de manera que nos gustara poder concluir, a partir de la formula
x, la instancia {x/t} para cualquier termino t. Veamos que pasa si con-
sideramos la formula xy(x = y), esta formula expresa el hecho de que
para cualquier individuo existe otro distinto de el y es cierta si nuestro uni-
verso de discurso tiene al menos dos elementos, pero al momento de obtener
el caso particular para y obtenemos la formula y(y = y) que claramente
es falsa. ? Que es lo esta mal?, observese que la presencia libre de x en
la formula y(x = y) se acoto al aplicar la sustitucion {x/y}, es decir la
instancia (y(x = y)){x/y} no es admisible. La condicion de admisibilidad
prohibe que sucedan situaciones erroneas como la anterior.

Ejemplo 1.12 Considerense las siguientes sustituciones, = {x/f (x), y/c},


= {x/f (y), y/z}, = {x/c, z/g(x, y)}, entonces:
(xP (x, y)) = xP (x, c) es admisible.
(yR(x, z, y)) = yR(f (y), z, y) no es admisible pues la presencia de
y en el termino f (y) se vuelve acotada.
1.5. SUSTITUCIONES 19

(xyQ(z, x, y) P (c, x)) = xyQ(g(x, y), x, y) P (c, c) no es ad-


misible pues las presencias de x, y en g(x, y) se vuelven acotadas.

El siguiente lema nos muestra la equivalencia entre las distintas formas


de ver una sustitucion.

Lema 1.1 Sean , dos sustituciones sobre la misma signatura . Las si-
guientes condiciones son equivalentes.
(a). = , vistos como conjuntos finitos.
(b). t = t para cualquier termino t.
(c). x = x para cualquier x V AR.

dem:

a) b). Vamos a demostrar b mediante induccion para los terminos.


Base de la induccion. El caso de las constantes es trivial, pues
c = c = c. Si x V AR y x 6= xi entonces x = x = x, aqu
estamos usando la hipotesis de que = como conjuntos finitos
de pares. Analogamente, xi = ti implica que xi /ti = . Por
lo tanto xi = ti .
Hipotesis de induccion tj = tj para 1 j m.
Vamos a demostrar que f (t1 , . . . , tm ) = f (t1 , . . . , tm ).
f (t1 , . . . , tm ) = f (t1 , . . . , tm ) = f (t1 , . . . , tm ) = f (t1 , . . . , tm )
HI

Por lo tanto se cumple b).


b) c). Esto es inmediato pues las variables son terminos.
c) a). Veamos que . Sea x/t . esto significa que x = t,
pero mediante c) tenemos que x = x, por lo tanto x = t, es decir,
x/t . Analogamente se prueba que .

El siguiente concepto de importancia es el de composicion de sustitu-
ciones.
20
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Definicion 1.17 Sean = {x1 /t1 , . . . , xn /tn }, = {y1 /s1 , . . . , yn /sm } dos
sustituciones sobre la misma signatura . La composicion queda definida
de la siguiente manera:

= {xi /ti | 1 i n y xi 6= ti }{yj /sj | 1 j m y yj


/ {x1 , . . . , xn }}

Ejemplo 1.13

Si = {y/x} y = {x/a} entonces = {x/a, y/a}.

Si = {x/f (y), y/z} y = {x/a, y/b, z/y} entonces = {x/f (b), z/y}.

Si = {x/f (x), y/z} y = {x/f (a), z/b} entonces = {x/f (f (a)), y/b,
z/b}.

Si = {x/f (y), y/g(z), w/v} y = {x/a, y/b, z/f (y), v/w, u/c} en-
tonces = {x/f (b), y/g(f (y)), z/f (y), v/w, u/c}.

El siguiente lema muestra algunas propiedades de la composicion de susti-


tuciones.

Lema 1.2 (Lema de Composicion)


Sean , , sustituciones sobre la misma signatura , t T ERM () y
F ORM (). Entonces:

(a). t() = (t).

(b). () = ( ).

(c). Si y () son admisibles entonces () es admisible.

(d). Si y () son admisibles entonces () = ()

dem:

Sean = {x1 /t1 , . . . , xn /tn }, = {y1 /s1 , . . . , yn /sm }

(a). Vamos a hacer induccion sobre los terminos.


1.5. SUSTITUCIONES 21

Sea z V AR, hay que analizar tres casos


z = xi . Entonces z() = xi () = ti , por definicion de
composicion. Por otra parte, (z) = (xi ) = ti . Por lo
tanto z() = (z).
z = yj y yj / {x1 , . . . , xn }. En tal caso z() = yj () =
yj = sj , por definicion de composicion. Por otra parte,
(z) = (yj ) = yj = sj .Por lo tanto z() = (z).
z 6= xi y z 6= yj para toda i, j. En este caso tenemos z() = z
y (z) = z = z.Por lo tanto z() = (z).
El caso de las constantes es trivial. c() y (c) = c = c.
Hipotesis de induccion: tk () = (tk ), con 1 k l.
f (t1 , . . . , tl )() = f (t1 (), . . . , tl ()) = f ((t1 ), . . . , (tl )) =
HI
f ((t1 ), . . . , (tl )) = (f (t1 , . . . , tl )).

(b). Por el lema 1.1, basta ver que z[() ] = z[( )], para z V AR.

z[() ] = [z()] = [(z)] = (z)[ ] = z[( )]

donde todas las igualdades se obtuvieron utilizando (a).

(c). Queremos mostrar que () es admisible.


Recordemos la definicion de .

= {xi /ti | 1 i n y xi 6= ti }
{yj /sj | 1 j m y yj / {x1 , . . . , xn }}

Para ver que () es admisible hay que checar que ninguna de las
variables en ti y sj se acote al aplicar a . Tenemos dos casos:

Sea yj /sj , por lo tanto yj / {x1 , . . . , xn }.


Suponga que hay una presencia libre de yj en , dado que yj /
{x1 , . . . , xn } entonces la misma presencia de yj esta libre en ,
puesto que las variables que se cambiaron fueron las xi . Por la
admisibilidad de () tenemos que ninguna varaible z de sj se
acota en al reemplazar la presencia de yj por sj y si no se da
el acotamiento de z en tampoco se dara en puesto que no
afecta a las yj . Por lo tanto las variables de sj permanecen libres.
22
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Sea xi /ti , por lo tanto xi 6= t1 .


Suponga que hay una presencia libre de xi en . Como es
admisible esta presencia de xi no cae dentro del alcance de alg un
cuantificador z o z, donde z es una variable de ti . Por lo tanto,
la subsecuente aplicacion de a reemplaza ti por ti . Ademas
como () es admisible, ninguna z que figure en ti y que no haya
estado presente en ti cae dentro del alcance de un cuantificador
z o z. Por lo tanto las variables de ti permanecen libres.

(d). Se le deja al lector.

Ejercicios
1.5.1.- Reescriba la definicion 1.15 mediante recursion para formulas.

1.5.2.- Defina la admisibilidad de mediante recursion sobre .

1.5.3.- Obtener las composiciones y en cada caso:

(a) = {x/a} = {y/f (x)}


(b) = {x/a, y/f (z), z/u} = {u/y, x/f (x), v/g(a), z/y}
(c) = {y/f (g(a, v)), z/f (v), u/h(w)} = {v/f (u), w/a, y(h(v)}
(d) = {y/v, v/z} = {v/y, z/v}
(e) = {y/v, v/z} = {u/a, w/f (v)}

1.5.4.- Defina la admisibilidad de mediante recursion sobre .

1.5.5.- Obtener la instancia en cada caso y analizar su admisibilidad.

(a) = xyP (x, y, z) = {x/a, y/f (a), z/f (y)}


(b) = xz(Q(x, y) yR(x, f (x))) = {x/g(a), y/f (b), z/b}
(c) = xyT (x, y, z)zP (f (x), g(y), z) = {x/f (a), y/g(b), z/f (x)}
(d) = P (x, a, y) y(P (x, y, a) R(a, z)) = {z/g(a, b), y/f (z)}
(e) = W (f (x, a), g(b)) xyS(f (x, a), g(z)) = {x/a, y/f (z, z),
z/f (y, x)}
1.5. SUSTITUCIONES 23

1.5.6.- Demuestre el lema 1.2(d).

1.5.7.- Muestre que si c es una constante entonces V l({x/c}) = V l() {x}.

1.5.8.- Sean 1 , 2 sustituciones tales que 1 = 2 1 y 2 = 1 2 para algunas


1 , 2 . Muestre que existe una sustitucion tal que ran() V AR y
1 = 2 .

1.5.9.- Muestre que {x/t}{z/c} = {z/c}{z/t} dado que x y z son variables


distintas, c es una constante y z no figura en t.

1.5.10.- Muestre que {x/t} = {x/t} si no actua en las variables libres


de .

1.5.11.- Pruebe que es un enunciado syss = para toda sustitucion .

1.5.12.- Una sustitucion es idempotente si = . Sean = {x1 /t1 , . . . , xn /tn }


y V = V ar(t1 ) . . . V ar(tn ). Pruebe que es idempotente syss
{x1 , . . . , xm } V = .
24
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

1.6 Unificaci
on
Los sistemas de programacion logica tienen 2 cimientos, la regla de resolucion
que analizaremos mas adelante y el proceso de unificaci on, que consiste en
encontrar, dado un conjunto de literales o terminos W , una substitucion de
tal forma que el conjunto imagen W conste de un solo elemento. En adicion
a sus aplicaciones en programacion logica, la unificacion tambien es impor-
tante para los sistemas de reescritura de terminos y para el razonamiento
automatico.

Definicion 1.18 Una literal es una formula atomica o la negacion de una


formula atomica

on 1.19 Una expresi


Definici on es una literal o un termino.

on 1.20 Sea W un conjunto no vaco de expresiones. Un unificador


Definici
de W es una substitucion tal que | W |= 1. Si W tiene un unificador
decimos que W es unificable.

Ejemplo 1.14 Sea W = {P (x, f (y)), P (x, f (x)), P (u, v)} entonces la susti-
tucion = {x/a, y/a, u/a, v/f (a)} es un unificador de W , ya que W =
{P (a, f (a))}

Un conjunto de formulas puede tener una infinidad de unificadores o ninguno,


dado un conjunto finito de formulas W , es decidible mediante un algoritmo si
W es unificable o no; si W es unificable el algoritmo proporciona un unificador
llamado unificador mas general.
Definicion 1.21 Un unificador de un conjunto de formulas W , se llama
unificador mas general ( abreviado umg ) si para cada unificador de W ,
existe una sustitucion , tal que =
La importancia de los unificadores mas generales es que nos permiten repre-
sentar de manera finita un numero infinito de sustituciones de manera que
no estamos restringidos a razonar solamente sobre dominios finitos.
Ejemplo 1.15 Sean W = {f (g(a, x), g(y, b)), f (z, g(u, v))}, = {x/a, z/g(a,
a), y/u, v/b}, = {z/g(a, x), y/u, v/b}. Entonces y son unificadores de
W y
resulta ser umg; en particular si = {x/a} entonces = .

1.6. UNIFICACION 25

1.6.1 Un Algoritmo de Unificaci


on
Antes de pasar a la descripcion formal del algoritmo vamos a hacer un analisis
intuitivo del problema. Sea W = {E1 , E2 }, queremos ver si el conjunto W es
unificable. En primer lugar las expresiones de W deben ser del mismo tipo,
es decir, ambas terminos o ambas literales. Despues hay que analizar varios
casos:

Las expresiones E1 y E2 son constantes. En este caso Ei = Ei para


cualquier sustitucion , de manera que W sera unificable syss E1 = E2 .

Alguna de las dos expresiones es una variable. Supongamos queE1 =


x. Si x figura en E2 entonces W no es unificable, en caso contrario
= {x/E2 } unifica a W .

E1 y E2 son expresiones compuestas, es decir, terminos compuestos o


literales. En este caso W es unificable syss se cumplen las siguientes
dos condiciones:

Los smbolos principales, es decir los primeros, de E1 y E2 son el


mismo.
Cada par correspondiente de subexpresiones de E1 y E2 deben ser
unificables.

Ejemplo 1.16 El conjuntos {c, d} no es unificable pues consta de dos con-


stantes diferentes; el conjunto {x, f (y)} es unificable mediante = {x/f (y)};
el conjunto {P (x, w), Q(y, a)} no es unificable pues P y Q son smbolos distin-
tos; {f (x, g(y), w), f (a, g(b), h(w))} no es unificable pues las subexpresiones
w y h(w) no son unificables,

Ahora pasamos al trato formal del problema presentando un algoritmo


de unificacion.

Definici on 1.22 Sea W 6= un conjunto de expresiones. Definimos el con-


junto discorde de W como sigue:
localizar la posicion del primer smbolo, es decir, el smbolo mas a la izquierda
en el que al menos dos expresiones de W difieren y extraer de cada expresion
de W la subexpresion que inicia en esta posicion; el conjunto DW de dichas
subexpresiones es el conjunto discorde de W .
26
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Ejemplo 1.17 Si W = {f (x, y), g(a)} entonces DW = W .

Ejemplo 1.18 Si W = {P (x, f (y)), P (x, f (a)), P (x, f (h(y)))} entonces DW =


{y, a, h(y)}.

A continuacion presentamos el algoritmo de unificacion AU :


Precondici on: k = 0, 0 =
while W k no sea unitario do
Hallar el conjunto discorde Dk de W k
if existen v, t Dk tales que v no figura en t then
k+1 := k {v/t}
k := k + 1
else
write(W no es unificable)
halt
end if
end while
Postcondici on: k es umg de W o W no es unificable.
Veamos algunos ejemplos.

Ejemplo 1.19 Sea W = {P (f (a), g(x)), P (y, y)}. Tomamos el primer


conjunto discorde D0 = {f (a), y}. Como y no figura en f (a) hacemos
1 = {y/f (a)}. W 1 = {P (f (a), g(x), P (f (a), f (a))}. Como W 1 no es
unitario obtenemos D1 = {g(x), f (a)} y dado que en D1 no hay variables el
algoritmo termina siendo W no unificable.

Ejemplo 1.20 Sea W = {f (a, x, h(g(z))), f (z, h(y), h(y))}. Veamos las
iteraciones del algoritmo en la siguiente tabla:

Sustitucion Conjunto Discorde


0 = D0 = {a, z}
1 = {z/a} D1 = {x, h(y)}
2 = {x/h(y), z/a} D2 = {g(a), y}
3 = {x/h(g(a)), y/g(a), z/a}

3 es un umg de W .

Veamos por u
ltimo un ejemplo con tres expresiones.

1.6. UNIFICACION 27

Ejemplo 1.21 Sea W = {Q(x, a, z), Q(y, a, h(y)), Q(x, a, h(g(b)))}. Las it-
eraciones son las siguientes:

Sustitucion Conjunto Discorde


0 = D0 = {x, y}
1 = {y/x} D1 = {z, h(x)}
2 = {y/x, z/h(x)} D2 = {x, g(b)}
3 = {x/g(b), y/g(b), z/h(g(b))}

3 es un umg de W .Este ejemplo tambien muestra el caracter no determinista


del algoritmo, ya que la sustitucion x/y tambien pudo ser usada para 1 .

Para finalizar la seccion se hara el analisis del algoritmo de unificacion


mostrando que la especificacion

{k = 0, 0 = } AU {k es umg de W o W no es unificable }

es correcta.

Lema 1.3 (Terminaci on de AU )


Si m es el n
umero de variables que figuran en W entonces el maximo k tal
que k es calculado en AU es menor o igual que m.

dem:

Observese que todas las variables que figuran en k , W k , Dk son variables


de W , de manera que AU no introduce variables nuevas.
Al calcular k+1 := k {v/t}, la variable v que figuraba en W se sustituye
por un termino que no la contiene, por lo que al calcular W k se reduce
el n
umero de variables en uno y como hay m variables este proceso puede
efectuarse a lo mas m veces.

Lema 1.4 (Correctez parcial para un conjunto no unificable)


Si W no es unificable, AU termina con el mensaje W no es unificable.

dem:

Como W k no es nunca un unitario y AU siempre termina, por el lema


anterior, necesariamente debe terminar con el mensaje requerido.
28
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

Lema 1.5 (Las sustituciones intermedias son mas generales)


Sea un unificador de W . Si k es la sustitucion obtenida en la k-esima
iteraci
on de AU entonces existe una sustitucion k tal que = k k .

dem:

Induccion sobre k.

k = 0, es obvio, al tomar 0 = .

Hipotesis de Induccion Existe un k tal que = k k .

Paso inductivo. Basta analizar el caso en que W k no es un unitario,


pues si lo fuera el algoritmo habra terminado. Como W k no es uni-
tario, AU produce el conjunto discorde Dk de W k . Por HI, tenemos
que = k k y como unifica a W , se sigue que k unifica a Dk . Por
lo tanto debe existir una variable v Dk . Sea t cualquier otro termino
de Dk , v no figura en t puesto que vk = tk . Sea k+1 = k {v/t}.
Definimos k+1 = k \ {v/vk }. Vamos a considerar 2 casos:

(a). vk 6= v. Entonces

k = {v/vk } k+1
(vk = tk )
= {v/tk } k+1
(tk = tk+1 )
= {v/t}k+1

(b). vk = v. En este caso se tiene que Dk solo tiene variables como


elementos, puesto que k unifica a Dk ; ademas k+1 = k , por lo
que k = {v/t}k+1 .

As que en cualquier caso, k = {v/t}k+1 , de donde se sigue que =


k k = k {v/t}k+1 = k+1 k+1 .

Lema 1.6 (Correctez Parcial para un conjunto unificable)


Si W es unificable entonces la ultima sustitucion generada por AU es un umg
de W .

1.6. UNIFICACION 29

dem:

Sean un unificador de W y m la u ltima sustitucion calculada por AU . Por


el lema anterior existe m tal que = m m . Como W es unitario, se sigue
que m unifica a W m , es decir, se cumple la condicion del ciclo while; pero
como = m m y era arbitrario, concluimos que k es umg de W .

Teorema 1.1 (Correctez total de AU )


Dado un conjunto finito de expresiones W , el algoritmo AU termina, dando
como resultado el mensaje W no es unificable, en el caso en que W no sea
unificable, y un umg de W en el caso en que W sea unificable.

dem:

Es consecuencia inmediata de los lemas anteriores.


Para finalizar la seccion veamos que, en cierto sentido, los unificadores
mas generales son u
nicos.

Definicion 1.23 Una sustitucion es una variante de si existen 1 , 2


tales que = 1 y = 2 .

Ejemplo 1.22 = {x/a, y/z} es una variante de = {x/a, y/x, z/y}, ya


que = {x/z} y = {z/x}.

Proposicion 1.1 Sean 1 , 2 unificadores mas generales del conjunto W .


Entonces 1 es variante de 2 .

dem:

Como 1 es umg de W , entonces, por la definicion 1.21 existe 1 tal que


2 = 1 1 y analogamente existe 2 tal que 1 = 2 1 . Por lo tanto 1 y 2
son variantes.

Ejercicios
1.6.1.- Decidir si los siguientes conjuntos son unificables mediante el algoritmo
de unificacion.

(a) W = {P (g(a, x), y), P (g(z, h(y), b)}


30
1. SINTAXIS
DE LA LOGICA DE PREDICADOS

(b) W = {f (x, y, h(a, x, y)), f (g(a), g(b), h(a, g(z), w))}


(c) W = {f (x, f (x, z)), f (g(x), f (a, b))}
(d) W = {Q(a, x, f (g(y))), Q(z, h(z, w), f (w))}
(e) W = {R(a, f (b), x, w), R(a, f (b), y, g(a, w))}

1.6.2.- Pruebe que el umg obtenido mediante el algoritmo de unificacion es


idempotente.

1.6.3.- Sean S, T dos conjuntos finitos de terminos tales que V ar(S)V ar(T ) =
. Pruebe que si S T es unificable, S es un umg de S, T es un umg
de T y ST es un umg de SS T T entonces ST T S es un umg de
S T.

1.6.4.- Sea un umg de un conjunto finito de terminos S. Pruebe que es


umg e idempotente syss para cada unificador de S, = .
Captulo 2

Semantica de la L
ogica de
Predicados

En este captulo le daremos significado a las nociones sintacticas del captulo


anterior, presentaremos los grandes teoremas de la logica clasica y dejaremos
preparado el camino hacia los metodos de la programacion logica.

2.1 Interpretaci
ones y Estados
Si bien en el captulo anterior le dimos cierto sentido a las formulas al mo-
mento de hacer traducciones el tratamiento formal fue puramente sintactico.
Es hasta ahora que les daremos a las formulas un significado formal. Inici-
amos con un ejemplo, sea = xP (x, x), para conocer el significado de
necesitamos saber el significado del predicado P y ademas debemos conocer
nuestro universo de discurso, es decir, cuales son los individuos a los que nos
estamos refiriendo, de esta manera los cuantificadores varan sobre los indi-
viduos del universo de discurso, de aqu los lenguajes como los que hemos
descrito se llamen lenguajes de primer orden. Tambien existen lenguajes
de orden superior cuya diferencia con los de primer orden radica en poder
cuantificar no solamente sobre individuos sino sobre conjuntos de individuos,
conjuntos de conjuntos de individuos, etc . Dependiendo del universo y el
significado de los smbolos elegidos una misma formula puede ser cierta o
falsa o en ocasiones ninguna de las dos cosas, por ejemplo, siguiendo con la
formula de arriba, si interpretamos a P como la relacion de divisibilidad
en los enteros, claramente sera cierta; sin embargo si P significa el orden

31
32
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

en los naturales, entonces sera falsa.


Observese que los u
nicos smbolos que cambian de significado son los smbolos
no logicos del lenguaje, que son los smbolos de la signatura. Para fijar una
manera de interpretar los smbolos de una signatura introducimos la nocion
de interpretacion o estructura.

on 2.1 Sea una signatura. Una -interpretacion o -estructura


Definici
A consta de lo siguiente:
Un conjunto A 6= llamado el universo o dominio de la estructura y
denotado | A | o dom(A).

Para cada smbolo de constante c , una elemento de A, denotado


cA y llamado la interpretacion de la constante c.

Para cada smbolo de predicado n-ario P , una relacion n-aria sobre


| A |, P A An . P A es la interpretacion de P.

Para cada smbolo de funcion n-ario f , una funcion f A : An A,


f A es la interpretacion de f.
Usaremos letras goticas may usculas A, B, C, etc. para denotar estructuras.
Si = {Pi , fj , ck } entonces es usual denotar a una -estructura con A =
hA, PiA, fjA, cA
k i.

As que cada lenguaje L puede tener asociada una infinidad de estruc-


turas todas diferentes entre si, mientras que una estructura solo puede sim-
bolizarse mediante una estructura u nica, salvo isomorfismo.
Veamos algunos ejemplos usuales.

Ejemplo 2.1 Una grafica es un conjunto de vertices V junto con una relacion
binaria A V V que representa a las aristas. Si tenemos la signatura
= {Q(2) }, entonces la -estructura A = hV, Ai, donde QA = A es una
grafica.

Ejemplo 2.2 Un conjunto total o parcialmente ordenado puede verse como


una -estructura B = hX, <i, donde es la misma que en el ejemplo anterior
y QB =<.

Ejemplo 2.3 Veamos ahora las estructuras algebraicas mas usuales. Sean
1 = {f (2) }, 2 = {f (2) , c}, 3 = {f (2) , g (2) , c}, 4 = {f (2) , g (2) , c, d}.

2.1. INTERPRETACIONES Y ESTADOS 33

(a). Estructuras con una operacion binaria.

(i) Semigrupo. Un semigrupo es una 1 -estructura A = hS, i donde


se cumple que xyz(f (x, f (y, z)) = f (f (x, y), z)), es decir, f A =
es asociativa. Como ejemplo tenemos A = hZ+ , +i.
(ii) Monoide. Un monoide es una 2 -estructura A = hM, , ei donde
se cumple que xyz(f (x, f (y, z)) = f (f (x, y), z))x(f (e, x) =
x = f (x, e)), es decir, f A = es asociativa y cA = e es un neutro
para . Como ejemplo tenemos A = hN, +, 0i.
(iii) Grupo. Un grupo es una 2 -estructura A = hG, , ei donde se
cumple que xyz(f (x, f (y, z)) = f (f (x, y), z)) x(f (e, x) =
x = f (x, e)) xy(f (x, y) = e), es decir, f A = es asociativa,
cA = e es un neutro para y cada elemento de G tiene un inverso
respecto a f A. Como ejemplo tenemos A = hZ, +, 0i.
(iv) Grupo Abeliano. Un grupo abeliano es una 2 -estructura A =
hG, , ei tal que A es un grupo y ademas se cumple que xy(f (x, y) =
f (y, x)), es decir, f A = es conmutativa. Como ejemplo tenemos
A = hQ, +, 0i

(b). Estructuras con dos operaciones binarias.

(i) Anillo. Un anillo es una 3 -estructura A = hA, , , ei tal que


hA, , ei es un grupo abeliano, A es asociativa y se cumple que
xyz(g(x, f (y, z)) = f (g(x, y), g(x, z))xyz(g(f (x, y), z) =
f (g(x, z), g(y, z))), es decir, distribuye a .
(ii) Anillo Conmutativo. Un anillo conmutativo es una 3 -estructura
A = hA, , , ei tal que A es un anillo y g A = es conmutativa.
(iii) Anillo con Unitario. Un anillo con unitario es una 4 -estructura
A = hA, , , e, 1i tal que hA, , , ei es un anillo y dA = 1 es un
neutro para g A = .
(iv) Dominio Entero. Un dominio entero es una 4 -estructura A =
hA, , , e, 1i tal que A es un anillo conmutativo con unitario y
se cumple que xy(g(x, y) = e x = e y = e). Como ejemplo
tenemos A = hZ, +, , 0, 1i
(v) Anillo con Division. Un anillo con division es una 4 -estructura
A = hA, , , e, 1i tal que A es un anillo con unitario y se cumple
34
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

que x(x 6= e y(g(x, y) = d)), es decir, todo elemento no cero


tiene un inverso multiplicativo.
(vi) Campo. Un campo es una 4 -estructura A = hA, , , e, 1i tal que
A es un anillo conmutativo con division. Como ejemplo tenemos
A = hR, +, , 0, 1i
Ya hemos dicho que para conocer el significado de una formula cualquiera
necesitamos saber como se interpretan sus smbolos no logicos. Sin em-
bargo a veces esto no es suficiente, considerese por ejemplo la formula
x(f (x, y) = z), y preguntemonos si sera cierta o falsa en determinada es-
tructura, por ejemplo en A = hN, +i. A un sabiendo que f A = + no podemos
contestar la pregunta pues no hay manera de saber cuanto valen y y z. Por
ejemplo si y vale 2 y z vale 5 entonces la formula es cierta haciendo que x
valga 3. Sin embargo si y vale 10 y z vale 7 entonces la formula es falsa en A
pues 3 / N. De manera que con lo visto hasta ahora no podemos todavia
encontrar el valor de verdad de una formula. Para esto necesitamos saber
el valor de las variables libres que figuran en ella, cosa que formalizamos
mediante el siguiente concepto.
on 2.2 Sea A una -interpretacion. Un estado de las variables es
Definici
una funcion s : V AR | A |.
Lo que un estado hace es informarnos acerca del valor de cada variable en la
estructura dada, es decir, un estado nos dice como interpretar las variables
libres de una formula. Sera necesario interpretar las variables acotadas ?.

Ejercicios
2.1.1.- Sea A 6= un conjunto. De ejemplos de estructuras cuyo universo sea
el conjunto potencia de A, P(A).
2.1.2.- Sea V un espacio vectorial sobre el campo K. Represente a V me-
diante una estructura. Es mas facil tomar como universo el conjunto
de vectores V y encontrar una manera adecuada para representar la
multiplicacion por escalares.
2.1.3.- Para cada uno de los siguientes conjuntos dar una estructura cuyo
universo sea el conjunto dado y que tenga al menos una relacion, una
funcion y una constante.
DE TERMINOS
2.2. EVALUACION 35

(a) Q[x]. El Anillo de polinomios con coeficientes en Q.


(b) RR . El conjunto de funciones f : R R.
(c) Suc = {hxn inN | xn R}, El conjunto de sucesiones de n
umeros
reales.
2.1.4.- Sea P un conjunto de smbolos de proposicion. Construir una estructura
que represente a la logica proposicional cuyas proposiciones atomicas
sean los elementos de P.

2.2 Evaluaci
on de T
erminos
En la seccion anterior aprendimos a interpretar los smbolos no logicos de un
lenguaje as como las variables en una estructura dada, pero para saber el
valor de verdad de una formula necesitamos interpretar o evaluar los terminos
que figuran en ella, cosa que haremos mediante la siguiente definicion.

Definicion 2.3 Sean A una -estructura, s : V AR | A | un estado de


las variables y t T ERM (). Definimos la interpretacion de t en A seg
un
s, denotada tA[s], recursivamente como sigue:
cA[s] = cA.
xA[s] = s(x).
f (t1 , . . . , tn )A[s] = f A(tA A
1 [s], . . . , tn [s]).

Veamos un ejemplo.
Ejemplo 2.4 Sean A = hQ, , g A, 85 i, donde f A = , g A( pq ) = p, cA = 58 ,
s : V AR Q tal que s(xi ) = 4i Vamos a interpretar algunos terminos en
A.
23
(a). xA
23 [s] = 4
8
(b). cA[s] = cA = 5
4 15 15
(c). f (x4 , x15 )A[s] = f A(xA A
4 [s], x15 [s]) = (s(x4 ), s(x15 )) = 4
4
= 4
A 8
(d). g(f (c, x7 ))A[s] = g A(f (c, x7 )A[s]) = g A(f A(cA[s], xA
7 [s])) = g ( 5 s(x7 )) =
g A( 85 47 ) = g A( 14
5
) = 14
36
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Los siguientes lemas seran de gran utilidad mas adelante pues optimizan
la evaluacion de terminos.

Lema 2.1 (Lema de Coincidencia para Terminos)


Sean A una -interpretacion, t T ERM () y s, s : V AR | A | dos
estados de las variables. Si s(x) = s (x) para toda x que figure en t entonces
tA[s] = tA[s ].

dem:

Por Induccion sobre los terminos.

Base de la Induccion.

t = c. Entonces cA[s] = cA = cA[s ]


t = x. Entonces xA[s] = s(x) = s (x) = xA[s ].
Hip.

A
Hipotesis de induccion. tA
i [s] = ti [s ] para 1 i n.

t = f (t1 , . . . , tn ). Entonces f (t1 , . . . , tn )A[s] = f A(tA A


1 [s], . . . , tn [s]) =
HI
A A
f A(tA
1 [s ], . . . , tn [s ]) = f (t1 , . . . , tn ) [s ]

Definicion 2.4 Sean A una -interpretacion, s : V AR | A |, x V AR y


a | A |. Definimos el estado modificado en x a partir de s, denotado s(x/a),
como sigue:
a si y = x
s(x/a)(y) =
s(y) si y 6= x

Observese que s(x/a) : V AR | A | es un estado que difiere de s u -


nicamente en el valor de x. y que el smbolo s(x/a) es solo el nombre del
estado, la aplicacion a una variable es s(x/a)(y). Como puede observarse
esta notacion recuerda a una sustitucion, esto no es conicidencia, sino que
los dos conceptos estan relacionados como veremos a continuacion.
Supongase que tenemos un termino t que tiene muchas presencias de la varia-
ble x y que queremos evaluar t{x/r} en algun estado de cierta interpretacion,
DE TERMINOS
2.2. EVALUACION 37

para esto aplicamos la definicion recursiva y cada vez que encontramos una
presencia del subtermino r en t{x/r} en debemos calcular el valor de r en el
mismo estado; esta situacion es poco practica, pensemos por ejemplo en que
r es un termino complicado y que hay miles de presencias de r en t. Una
mejor manera de evaluar t{x/r} sera evaluar r en el estado dado s, lo cual
nos da cierto valor a y evaluar el termino t{x/r} en el estado modificado
s(x/a). El resultado sera el mismo, como lo asegura el siguiente lema.
Lema 2.2 (Lema de Sustitucion para Terminos).
Sean A una -interpretacion, s un estado de las variables, x V AR y
t, r T ERM (). Si rA[s] = a entonces
(t{x/r})A[s] = tA[s(x/a)]

dem:
Induccion sobre el termino t.
Base de la Induccion.
t = c. Entonces (c{x/r})A[s] = (c)A[s] = cA = cA[s(x/a)]
t V AR
t = y 6= x. Entonces (y{x/r})A[s] = (y)A[s] = s(y) =
s(x/a)(y) = y A[s(x/a)]
t = x. Entonces (x{x/r})A[s] = (r)A[s] = a = s(x/a)(x) =
xA[s(x/a)]
H.I. (ti {x/r})A[s] = tA
i [s(x/a)] para 1 i n.

t = f (t1 , . . . , tn ). Entonces
(f (t1 , . . . , tn ){x/r})A[s] =

f (t1 {x/r}, . . . , tn {x/r})A[s] =

f A(t1 {x/r}A[s], . . . , tn {x/r}A[s]) =


HI

f A(tA A
1 [s(x/a)], . . . , tn [s(x/a)]) =

f (t1 , . . . , tn )A[s(x/a)]
38
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Ejercicios
2.2.1.- Sean A = hQ, +, , hA, 1, 12 i y B = hZ, , +, hA, 1, 3i. Donde f A =
+ = g B, g A = = f B, aA = 1, aB = 1, bA = 12 , bB = 3, hA
cumple hA( pq ) = pq , hA(0) = 0 y hB cumple hB(m) = m. Sean
s : V AR Q tal que s(x) = 13 , s(y) = 2, s(z) = 14 y s : V AR Z
tal que s (x) = 2, s (y) = 4, s (z) = 5.
Evaluar los siguientes terminos en A seg un s y en B segu n s .

(a) f (b, h(b)).


(b) g(h(a), g(b, x)).
(c) h(f (x, y)).
(d) f (h(z), g(z, b)).
(e) h(g(a, x)).

2.3 La definici
on de Satisfacci
on de Tarski
Ahora que ya sabemos evaluar terminos es posible dar la definicion formal
de verdad, pero como ya hemos visto una formula no necesariamente tiene
que ser verdadera o falsa en un estado dado, como sucedia en el caso de la
logica proposicional, de manera que el criterio de verdad es mas complicado
en este caso y esta basado en la nocion de satisfaccion que es mas simple.

on 2.5 (Definicion de satisfaccion de Tarski 1936).


Definici
Sean A una -interpretacion, s un estado de las variables y F ORM ().
Definimos recursivamente cuando es satisfacible en A mediante s, lo cual
se denota A |= [s], como sigue:
1
A |= P (t1 , . . . , tn )[s] syss P A(tA A
1 [s], . . . , tn [s])

Si el lenguaje tiene igualdad entonces A |= (t1 = t2 )[s] syss tA A


1 [s] = t2 [s].

P A (tA
1 A A A A
1 [s], . . . , tn [s]) significa que (t1 [s], . . . , tn [s]) P , es decir, que la n-ada de
A
terminos evaluados est a en la relaci
on P .
DE SATISFACCION
2.3. LA DEFINICION DE TARSKI 39

A |= [s] syss A 6|= [s].

A |= ( )[s] syss A |= [s] o A |= [s]

A |= ( )[s] syss A |= [s] y A |= [s]

A |= ( )[s] syss A 6|= [s] o A |= [s]

A |= ( )[s] syss A |= [s] y A |= [s], o A 6|= [s] y A 6|= [s].

A |= x[s] syss A |= [s(x/a)], para toda a | A |.

A |= x[s] syss A |= [s(x/a)], para alguna a | A |.

Decimos que es satisfacible si existen una interpretacion A y un estado s


tales que A |= [s].

Ejemplo 2.5 La formula atomica P (x, y) es satisfacible. Tomando A =


hZ, <i y s(x) = 2, s(y) = 5 tenemos que P A(xA[s], y A[s]) syss < (s(x), s(y))
syss 2 < 5 y esto u ltimo es claramente cierto. Por lo tanto A |= P (x, y)[s].
Sin embargo, tambien la formula P (x, y) es satisfacible en A mediante el es-
tado s tal que s (x) = 4, s (x) = 1. En este caso tenemos que (xA[s], y A[s]) =
(s(x), s(y)) = (4, 1) / P A pues 4 6< 1. Por lo tanto A 6|= P (x, y)[s ] es decir,
A |= P (x, y)[s ].

A continuacion mostramos los lemas de coincidencia y sustitucion en el


caso de formulas.

Lema 2.3 (Lema de Coincidencia para Formulas).


Sean A una -interpretacion, s, s cualesquiera dos estados de las variables
y F ORM (). Si s(x) = s (x) para toda x V l() entonces

A |= [s] syss A |= [s ].

dem:

Por induccion sobre las formulas.


40
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Base de la Induccion = P (t1 , . . . , tn ). Tenemos que A |= P (t1 , . . . , tn )[s]



syss P A(tA A
1 [s], . . . , tn [s]). Como V ar(ti ) V l() entonces s(x) = s (x)
p.t. x V ar(ti ). Por lo tanto podemos aplicar el lema 2.1 con lo
A
que obtenemos tA i [s] = ti [s ]. Por lo tanto A |= P (t1 , . . . , tn )[s] syss
A A A
P A(tA A
1 [s], . . . , tn [s]) syss P (t1 [s ], . . . , tn [s ]) syss A |= P (t1 , . . . , tn )[s ].

H.I. Para cualesquiera dos estados s, s , si s(x) = s (x) para toda x


V l() y para toda x V l() entonces A |= [s] syss A |= [s ] y
A |= [s] syss A |= [s ].

Paso Inductivo.

= . Tenemos A |= [s] syss A 6|= [s] syss A 6|= [s ] syss


HI
A |= [s ].
= . Tenemos A |= ( )[s] syss A |= [s] y A |= [s] syss
HI
A |= [s ] y A |= [s ] syss A |= ( )[s ].
= x. Primero observemos que s(x/a)(y) = s (x/a)(y) p.t.
y V l(), a |A|, porque V l() = V l() {x}. Por lo tanto
tenemos A |= x[s] syss p.t. a |A|, A |= [s(x/a)] syss p.t.
HI
a |A|, A |= [s (x/a)]. Es decir, A |= x[s] syss A |= x[s ].


Como consecuencia del lema de coincidencia para formulas tenemos el
siguiente resultado.

Proposici on 2.1 Sea un enunciado. Entonces se cumple una y s


olo una
de las siguientes propiedades.
(a). A |= [s] para todo estado s : V AR |A|.

(b). A 6|= [s]. para todo estado s : V AR |A|.

dem:

Sea s un estado cualquiera. Si A |= [s] entonces, como no tiene varaibles


libres, cualquier otro estado s coincide con s en V l() = . Por lo tanto
A |= [s ] y se cumple el caso (a). En caso de que A 6|= [s] se procede de
igual forma para obtener (b).
DE SATISFACCION
2.3. LA DEFINICION DE TARSKI 41

Lema 2.4 (Lema de Sustitucion para Formulas).


Sean A una -interpretacion, s un estado de las variables, t T ERM (),
F ORM () y a = tA[s]. Si {x/t} es admisible entonces

A |= {x/t}[s] syss A |= [s(x/a)]

dem:

Si x no figura libre en entonces {x/t} = y s(y) = s(x/a)(y) para toda


y V l(). Por lo tanto, usando el lema 2.3 obtenemos que A |= [s] syss
A |= [s(x/a)] y terminamos. El caso en el que x V l() se hace por
induccion sobre .

Base de la induccion. Es consecuencia inmediata del lema 2.2 y queda


como ejercicio.

H.I. Supongase que el lema es valido para y .

Paso Inductivo. Los casos en que = y = son inmediatos


de la HI y se dejan como ejercicio.
Sea = z. Observese que x 6= z pues x figura libre en . Como
{x/t} es admisible entonces z no figura en t. Ademas se cumple lo
siguiente:

(a). {x/t} es admisible pues {x/t} lo es.


(b). {x/t} = (z){x/t} = z({x/t}) pues z 6= x.
(c). a = tA[s] = tA[s(z/b)] p.t. b |A| pues z no figura en t.

De donde obtenemos que A |= {x/t}[s] syss A |= z({x/t})[s]


(b)
syss A |= {x/t}[s(z/b)] p.t. b |A| syss A |= [s(z/b)(x/a)] p.t.
HI,(c)
b |A| syss A |= [s(x/a)(z/b)] p.t. b |A| syss A |= z[s(x/a)]
z6=x
syss A |= [s(x/a)]

Corolario 2.1 Si {x/t} es admisible entonces para cualquier -interpretacion


A y estado s se cumple que A |= (x {x/t})[s]. Mas a un, si es una
cerradura universal no es necesario que {x/t} sea admisible.
42
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

dem:

Tenemos que mostrar que A 6|= x[s] o A |= {x/t}[s]. Si A 6|= x[s],


terminamos, as que supongamos que A |= x[s] y demostremos que A |=
{x/t}[s]. Por hipotesis tenemos que A |= [s(x/b)] p.t. b |A|. En partic-
ular si b = tA[s] entonces A |= [s(x/a)] que es equivalente, mediante el lema
2.4, a A |= {x/t}[s].
Supongamos ahora que es una cerradura universal, digamos = x1 . . . xn
donde esta libre de cuantificadores, V l() = {x1 , . . . , xn } y spg x 6= xi .
Vamos a demostrar que A |= x {x/t}[s]. Nuevamente suponemos
A |= x[s] y demostramos que A |= {x/t}[s]. Tenemos que A |= {x/t}[s]
syss A |= [s(x1 /b1 ) . . . (xn /bn )] p.t. b1 , . . . , bn |A|. Sea b = tA[s], como
s(x1 /b1 ) . . . (xn /bn ) y s(x1 /b1 ) . . . (xn /bn )(x/b) coinciden en V l() entonces
por el lema 2.3 tenemos que A |= [s(x1 /b1 ) . . . (xn /bn )] syss A |= [s(x1 /b1 ) . . .
(xn /bn )(x/b)] p.t. b1 , . . . , bn |A|. Aplicando ahora el lema 2.4 con , s(x1 /b1 )
. . . (xn /bn ) y t obtenemos que A |= {x/t}[s(x1 /b1 ) . . . (xn /bn )] p.t. b1 , . . . , bn
|A| (observese que {x/t} es admisible pues es libre de cuantificadores).
Pero esto u ltimo es equivalente a A |= x {x/t}[s].

Ejercicios
2.3.1.- Considerense las siguientes interpretaciones.

A = hZ, |, QA, +, , , 1, 0i donde P A =| (la relacion de divisi-


bilidad), QA es la relacion ser primo, f A = +, GA = , hA =
, aA = 1, bA = 0.
B = hQ, >, QA, +, , /, 13 , 52 i donde P B = >, QB es la relacion
tener denominador primo, f B = , g B = /, hB = +, aB =
1
3
, bB = 52 .
C = hR, P A, QA, +, , /, , 4i donde P A(x, y) syss x + y Q, QA(x)
syss x es irracional, f A = /, g A = +, hA = , aA = , bA = 4,

Contestar con cierto o falso, demostrando o dando un contraejemplo.

(a) A |= xy(P xy P yx)[s] Para cualquier s.


(b) A |= y(P (f (a, a), y) z(h(b, y) = f (z, z)))[s]. Para cualquier
s.
DE SATISFACCION
2.3. LA DEFINICION DE TARSKI 43

(c) A |= xyz(Qx P (x, g(y, z)) P (x, y) P (x, z))[s] Para


cualquier s.
(d) A |= (Q(x) P (x, u))[s] para s(x) = 3, s(u) = 17.
(e) A |= (Q(h(a, y)) P (a, h(x, y)))[s] para s(x) = 16, s(y) = 3.
(f) B |= xz(Q(x)z = g(f (a, f (a, a)), x) Q(z)))[s] Para cualquier
s.
(g) B |= yP (f (b, b), y)[s] para cualquier s.
(h) B |= Q(h(a, f (a, b)))[s] para cualquier s.
(i) B |= (Q(x) Q(h(x, h(a, h(a, a)))))[s] para s(x) = 79 .
(j) B |= yx(Q(x) Q(y) Q(g(x, y)))[s] para cualquier s.
(k) C |= yzP (y, h(z, z))[s] para cualquier s.
(l) C |= xyP (x, y)[s] para cualquier s.
p
(m) C |= (P (a, b) Q(f (b, z)))[s] para s(x) = (2).
(n) C |= xP (a, x)[s] para cualquier s.
(o) C |= y(Q(y) P (y, g(x, x)))[s] para s(x) = e.

2.3.2.- Demuestre que las siguientes condiciones son equivalentes:

(a) A |= ( )[s]
(b) Si A |= [s] entonces A |= [s].

2.3.3.- Demuestre que las siguientes condiciones son equivalentes:

(a) A |= ( )[s]
(b) A |= [s] si y solo si A |= [s].

2.3.4.- Pruebe que A 6|= [s] syss A |= [s].

2.3.5.- Pruebe que es satisfacible syss es satisfacible.


44
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

2.4 Modelos y Consecuencia L


ogica
Definicion 2.6 Sean A una -interpretacion, una formula y M un con-
junto de formulas. Decimos que A es modelo de o que es verdadera en
A si A |= [s] para todo estado de las variables s, esto lo denotamos con
A |= . Decimos que A es modelo de M si A |= para toda M . Si
A |= entonces decimos que es falsa en A.

Debe quedar claro que no se le puede dar el valor de verdadero o falso


a cualquier formula, sin embargo si es un enunciado entonces si toma
necesariamente alguno de los dos valores.
Ejemplo 2.6 Sean A = hN, <i y B = hQ, <i y considerese la formula
= xy(P (x, y) z(P (x, z) P (z, y)) que representa la propiedad de
densidad de P A. Por lo tanto tenemos que A 6|= puesto que el orden usual
de los naturales no es denso, mientras que B |= , pues para cualquier estado
s, si B |= P (x, y)[s(x/a)(y/b)] donde a, b Q entonces al tomar d = a+b2
se
tiene que B |= (P (x, z) P (z, y))[s(x/a)(y/b)(z/d)].
Tambien debemos aclarar que la relacion de verdad no tiene las mismas
propiedades que la relacion de satisfaccion, esto se debe a que la relacion
de verdad involucra una cuantificacion implicita de las variables libres de .
Debemos insistir en esto ya que es error com un aplicar ciertas propiedades
de la relacion de satisfaccion a la nocion de verdad lo cual resulta incorrecto,
como en el siguiente ejemplo.

Ejemplo 2.7 Sean A = hN, P A, QAi donde P A es la relacion ser par y QA


es la relacion ser impar. Considerense las formulas = P (x) y = Q(x).
Entonces A |= puesto que cualquier n umero natural es par o es impar.
Sin embargo no se cumple A |= ni A |= . Puesto que el valor de x no
puede ser siempre par o siempre impar.

Otro error com un sucede con la negacion, si se tiene que A 6|= entonces no
se puede concluir que A |= . La misma formula del ejemplo anterior
sirve como contraejemplo, pues el hecho de que el valor de x no sea siempre
par no implica que siempre sea impar. Tomense estados s, s con s(x) = 3 y
s (x) = 8 entonces A 6|= puesto que A 6|= [s] y tampoco se cumple A |=
puesto que A |= [s ], es decir A 6|= [s ].

Veamos ahora algunas propiedades de la relacion de verdad.



2.4. MODELOS Y CONSECUENCIA LOGICA 45

on 2.2 Sean A una -interpretacion y una formula. Entonces


Proposici

A |= syss A |= .

dem:

) Supogamos que A |= , es decir,A |= [s] p.t. s : V AR |A|.


En particular si V l() = {x1 , . . . , xn } entonces A |= [s(x1 /a1 ) . . . (xn /an )]
p.t.s y cualesquiera a1 , . . . , an |A|. Pero A |= [s(x1 /a1 ) . . . (xn /an )] syss
A |= xn [s(x1 /a1 ) . . . (xn1 /an1 )] syss . . . syss A |= x1 . . . xn [s] p.t. s.
Por lo tanto A |= .
) Supongamos que A |= , es decir, A |= [s] p.t. s : V AR |A|,
por lo tanto tenemos que A |= [s(x1 /a1 ) . . . (xn /an )] p.t. s y para cua-
lesquiera a1 , . . . , an |A|, donde V l() = {x1 , . . . , xn }. En particular se
tiene que A |= [s(x1 /s(x1 )) . . . (xn /s(xn ))] p.t. s, pues s(xi ) |A|. Pero
s(x1 /s(x1 )) . . . (xn /s(xn )) = s. Por lo tanto A |= [s] p.t. s, es decir, A |= .

Proposicion 2.3 Sean A una -interpretacion y , formulas. Si A |=


y A |= ( ) entonces A |= .
dem:

Supongamos que A |= y A |= ( ) y sea s : V AR |A|. Como


A |= [s] entonces A 6|= [s] o A |= [s], pero ademas A |= [s]
porque A |= . Por lo tanto se tiene que A |= [s] y como s era cualquiera
concluimos que A |= .
Uno de los problemas fundamentales en logica es la busqueda de modelos de
un conjunto dado M , tanto desde el punto de vista puramente teorico, al
buscar y clasificar modelos de un conjunto en especial y estudiar como son
estos modelos entre si, problemas de los que se encarga la rama de la logica
llamada teora de modelos, como desde el punto de vista computacional
donde el objetivo principal es tratar de mecanizar el problema, situacion que
posible en ciertos casos pero que como veremos mas adelante es imposible en
general.
En este momento nos limitaremos a dar algunos ejemplo sencillos de busqueda
de modelos, mas adelante podremos ver ejemplos mas complicados.
46
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Ejemplo 2.8 Sea M = {P (b), Q(b), R(b), x(P (x)(Q(x)R(x)), x(R(x)


P (x))} Queremos ver si M tiene un modelo.
En este caso lo mas facil es ir construyendo un modelo para cada formula
de M , si logramos que todas las formulas de M sean verdaderas al mismo
tiempo entonces habremos construido un modelo para M . Un modelo de M
tiene que ser una estructura de la forma A = hA, P A, QA, RA, bAi. Analicemos
cada formula de M .

(a). P (b). Para que A |= P (b) se debe cumplir que bA P A. As que al


menos debemos tener P A = {bA}

(b). Q(b). Para que A |= Q(b) se debe cumplir que bA QA, as que basta
QA = {bA}

(c). R(b). Para que A |= Q(b) se debe cumplir que bA RA por lo que
basta con R = {bA}.

(d). x(P (x) (Q(x) R(x)). Es decir, hay un elemento de |A| tal que
cumple P y no cumple Q ni R. Claramente este elemento no puede ser
bA por lo que P A debe tener al menos otro elemento, digamos P A =
{bA, a1 }.

(e). x(R(x) P (x)). Debemos tener que todo elemento de A que cumple
RA, debe cumplir P A, pero como ha sido definido RA esto ya se cumple
pues bA RA y bA P A.

De manera que P A = {bA, a1 } y QA = {bA} = RA y para que el modelo


resulte mas natural podemos tomar A = {0, 1}, bA = 0 y a1 = 1, con lo que
queda A = h{0, 1}, {0, 1}, {0}, {0}, 0i.

Veamos otro ejemplo.

Ejemplo 2.9 Sea M = {xP (x)xQ(x), x(P (x)Q(x)), xR(x, x),


xy(R(x, y) R(y, x)), x(P (x) y(Q(y) R(x, y))), x(Q(x)
y(Q(y)R(x, y)))} Queremos hallar un modelo de M , veamos cada formula.

(a). xP (x) xQ(x). Es decir, debe existir a1 |A| tal que P A(a1 ) y
ademas debe existir a2 |A| tal que QA(a2 ). Observese que podriamos
tener a1 = a2 .

2.4. MODELOS Y CONSECUENCIA LOGICA 47

(b). x(P (x) Q(x)). Esta formula indica que no hay un individuo que
cumpla P A y QA, de manera que los individuos encontrados en (a)
deben ser diferentes.

(c). xR(x, x). Esto es la relacion RA es antireflexiva, por lo que los pares
(a, a) no pueden pertenecer a RA. Observese que a un no necesitamos
que exista un par en la relacion.

(d). xy(R(x, y) R(y, x)). Esta formula indica que la relacion RA es


simetrica pero todavia no se exige que haya un par relacionado.

(e). x(P (x) y(Q(y) R(x, y))). Esto significa que para cada elemento
a que cumpla P A debe existir un elemento b que cumpla QA de man-
era que el par (a, b) este en la relacion RA. Como en (a) obtuvimos
que P A(a1 ) entonces debe existir b |A| tal que QA(b) y RA(a1 , b).
Observese que podemos tomar b = a2 , ademas, por (d), tambien debe-
mos tener RA(a2 , a1 ).

(f). x(Q(x) y(Q(y) R(x, y))). Esta formula es similar a la anterior.


Como tenemos que QA(a2 ), por (a), entonces debe existir a3 |A| tal
que QA(a3 ) y RA(a2 , a3 ), ademas por (c) tenemos que a3 6= a2 y por
(b), a3 6= a1 . Finalmente tambien debemos tener que RA(a3 , a2 ) para
que se cumpla (d).

De manera que las interpretaciones pueden quedar como sigue:

|A| = {1, 2, 3}

P A = {1}

QA = {2, 3}

RA = {(1, 2), (2, 1), (2, 3), (3, 2)}

2.4.1 Validez Universal


Ya hemos visto dos relaciones entre las interpretaciones y las formulas, que
son la relacion de satisfaccion y la relacion de verdad. Observemos la difer-
encia entre ellas, la formula es satisfacible si existe una interpretacion A y
un estado de las variables s que la satisface; la formula es verdadera o tiene
un modelo si existe un interpretacion A de manera que cualquier estado de
48
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

las variables satisface a . Existe otra relacion a


un mas fuerte en la que
debe ser verdadera en todas las interpretaciones.

on 2.7 Sea una -formula. Si A |= para toda -interpretacion


Definici
A entonces decimos que es universalmente valida y lo denotamos con |= .

Veamos algunos ejemplos

Ejemplo 2.10 La formula x x es universalmente valida.


Sea A una -interpretacion, veamos que A |= x x. Sea s un
estado de las variables, hay 2 casos:

A |= x[s]. Esto es equivalente con: A 6|= x[s] syss no existe


a |A| tal que A |= [s(x/a)] syss para todo a |A|, A 6|= [s(x/a)]
syss para todo a |A|, A |= [s(x/a)] syss A |= x[s].

A 6|= x[s]. Es decir, A |= x[s] syss existe a |A| tal que A |=


[s(x/a)] syss existe a |A|, A 6|= [s(x/a)] syss no para todo a
|A|, A |= [s(x/a)] syss A 6|= x[s].

Por lo tanto se tiene que A |= x[s] syss A |= x[s]. Es decir, A |=


x x. Por lo tanto, como A era arbitraria, se tiene que |= x
x.

Ejemplo 2.11 Vamos a demostrar la existencia del dios Bacco, esto es, ver-
emos que existe alguien tal que si el bebe entonces todos beben. Con B(x)
queremos decir que x bebe. veremos que la formula x(B(x) yB(y)) es
universalmente valida.
Sea A una -interpretacion y s un estado de las variables, veamos que
A |= x(B(x) yB(y))[s], es decir, A |= (B(x) yB(y))[s(x/b)], p.a.
b |A|. Tenemos dos casos:

B A = |A|. En este caso, como B A(a) p.t. a |A| se tiene que A |=


B(y)[s(y/a)] p.t. a |A|. Por lo tanto A |= yB(y)[s], en particular,
por el lema 2.3, para cualquier b |A| se tiene que A |= yB(y)[s(x/b)].
Por lo tanto A |= (B(x) yB(y))[s(x/b)].

B A 6= |A|. Sea b |A| tal que b


/ B A, es decir A 6|= B(x)[s(x/b)] esto
implica que A |= (B(x) yB(y))[s(x/b)].

2.4. MODELOS Y CONSECUENCIA LOGICA 49

Es por formulas como la anterior que no debe usarse el existencial con la


implicacion, puesto que nos gustara que el existencial fuera verdadero si
existe alguien que lo haga verdadero, pero en este caso el existencial se cumple
a
un cuando no exista un individuo que sea testigo de ello.
Un concepto de gran importancia que depende de la validez universal es
el de formulas logicamente equivalentes.

Definicion 2.8 Sean , formulas. Decimos que es l


ogicamente equiva-
lente a si |= . Esto lo denotamos con .

Las siguientes proposiciones que muestran equivalencias logicas seran de


utilidad mas adelante.

Proposici on 2.4 (Leyes de la Negaci on)


Se tienen las siguientes equivalencias l
ogicas.

on: .
(a). Doble Negaci

(b). De Morgan: ( ) .

(c). De Morgan: ( ) .

(d). ( )

(e). ( ) .

(f ). x x

(g). x x

dem:

El inciso (g) se demostro en el ejemplo 2.10, el resto se deja como ejercicio


al lector.

on 2.5 (Eliminacion de la Implicaci


Proposici on y de la Equivalencia)
Se cumplen las siguientes equivalencias l
ogicas.

(a). .

(b). ( ).
50
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

(c). ( ) ( ).

(d). ( ) ( ).

dem:

Se deja como ejercicio al lector.

on 2.6 (Eliminacion de un cuantificador).


Proposici

(a). x x.

(b). x x.

dem:

Ver el ejercicio 2.4.11

on 2.7 (Conmutatividad, Asociatividad y Distributividad)


Proposici

(a). .

(b). .

(c). ( ) ( ) .

(d). ( ) ( ) .

(e). ( ) ( ) ( ).

(f ). ( ) ( ) ( ).

dem:

Ver el ejercicio 2.4.12.



2.4. MODELOS Y CONSECUENCIA LOGICA 51

2.4.2 Consecuencia L
ogica
En esta seccion formalizaremos uno de los conceptos mas importantes de
la logica tradicional, que es el concepto de argumento correcto, concepto
que aparece en matematicas en diversas ocasiones, por ejemplo, cualquier
demostracion tiene que ser un argumento correcto. De hecho para muchos
la logica es el estudio de metodos y patrones de razonamiento en especial
del razonamiento que puede expresarse en forma de argumento. Para nues-
tros propositos un consiste de una serie de afirmaciones llamados premisas y
una afirmacion llamada conclusi on; un argumento es correcto si siempre que
se suponen sus premisas verdaderas, se puede demostrar que su conclusion
tambien es verdadera. Nosotros ya tenemos una nocion formal de verdad,
pero a un necesitamos una definicion formal de argumento correcto, cosa que
lograremos en esta seccion.

Definicion 2.9 Sean M un conjunto de formulas y una formula. Decimos


ogica de M , lo que se denota con M |= , si todo
que es consecuencia l
modelo de M es un modelo de . Es decir, Si para toda -interpretacion A,
si A |= M entonces A |= .

Si M |= tambien decimos que M implica l


ogicamente a .
Tenemos las siguientes observaciones:

(a). Como es usual en logica utilizamos el smbolo |= para denotar dos


conceptos distintos:

(i) La relacion ser modelo de entre interpretaciones y formulas,


A |= .
(ii) La relacion ser consecuencia logica de entre conjuntos de formulas
y formulas, M |=

Esto no debe causar confusiones, cuando a la izquierda del smbolo |= se


encuentra una interpretacion estamos hablando de la primera relacion,
en cambio, si encontramos un conjunto de formulas, nos referimos a la
segunda relacion.

(b). Si M = {} entonces escribimos |= en lugar de {} |= , lo mismo


sucede con 1 , . . . , n |= .
52
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

La idea intuitiva de argumento correcto queda plasmada en el concepto


formal de consecuencia logica. Un argumento con premisas 1 , . . . , n y con-
clusion es correcto si y solo si 1 , . . . , n |= , es decir si la conclusion
es consecuencia logica del conjunto de premisas {1 , . . . , n }.

Ejemplo 2.12 Si sabemos que todos los gatos maullan y que Cleofas es un
gato entonces es correcto concluir que Cleofas maulla. Vamos a demostrar
la correctud de este argumento. Las premisas son x(G(x) M (x)), G(c)
y la conclusion es M (c). Vamos a demostrar que:

x(G(x) M (x)), G(c) |= M (c).

Sea A un modelo de x(G(x) M (x)), G(c), es decir, A |= x(G(x)


M (x)) y A |= G(c), veamos que A |= M (c).
Sea s : V AR |A|, entonces por hipotesis tenemos que p.t. a |A|, A |=
G(c)[s(x/a)] y A |= (G(x) M (x))[s(x/a)]. En particular para cA se cumple
que A |= G(c)[s(x/cA)] y A |= (G(x) M (x))[s(x/cA)], es decir, se cumple
GA(cA) y ademas se cumple que A 6|= G(x)[s(x/cA)] o A |= M (x)[s(x/cA)].
Por lo tanto A |= M (x)[s(x/cA)], es decir, M A(cA), o equivalentemente A |=
M (c). De manera que en efecto Cleofas maulla.

Veamos ahora algunas propiedades de la consecuencia logica.

on 2.8 Se cumplen las siguientes propiedades.


Proposici

(a). Insatisfacibilidad implica Trivialidad. Si M = {, } entonces M |=


para toda formula .

(b). Monotona. Si M |= y M N entonces N |= .

on del Modus Ponens. Si M |= y M |= entonces


(c). Preservaci
M |= .

on Semantica del Teorema de la Deduccion. M |= syss


(d). Versi
M, |= .

dem:

2.4. MODELOS Y CONSECUENCIA LOGICA 53

(a). Sea M = {, } es claro que M no tiene un modelo de manera que la


condicion todo modelo de M es modelo de se cumple por vacuidad
al no tener M un modelo. Por lo tanto M |= .
(b). Tenemos que mostrar que N |= . Sea A un modelo de N , como
M N entonces A es tambien modelo de M y como M |= entonces
tenemos que A |= . N |= .
(c). Sea A un modelo de M . Por hipotesis se tiene que A |= y
A |= , por lo que mediante la proposicion 2.3 concluimos que A |= .
Por lo tanto M |= .
(d). ) Supongamos que M |= y sea A un modelo de M, . Como
A es modelo de M entonces A |= y ademas A |= . As que por
la proposicion 2.3 concluimos que A |= . M, |= .
) Supongamos que M, |= y sea A un modelo de M . Si A 6|=
entonces, por definicion tenemos que A |= , en caso contrario
A |= , por lo que A es modelo de M, as que por hipotesis concluimos
que A |= de donde se siguee que A |= . Por lo tanto en
cualquier caso A resulta ser modelo de , es decir, M |= .

La formalizacion de un criterio para decidir la correctud de argumentos
no es la unica razon por la que la consecuencia logica juega un papel central
en la logica. En general, obtener las consecuencias logicas de un conjunto
M significa intuitivamente extraer conocimiento que estaba implcito en M ,
problema de gran importancia en Ciencias de la computacion, cuya aplicacion
mas cercana resulta ser la programacion logica.
La extraccion de conocimiento a partir de un conjunto de hechos M puede
resultar muy simple o sumamente complicada, los casos simples llevan a cierta
automatizacion del proceso de extraccion de conocimiento mediante diversas
tecnicas como la programacion l ogica o el razonamiento automatico.
Mediante los casos dificiles han llevado a investigar en general si siempre es
posible, dada una base de conocimiento M y una formula contestar a la
pregunta M |= ?. Pregunta que contestaremos en la seccion 2.7.

Ejercicios
2.4.1.- Demostrar que si A |= y A |= entonces A |= .
54
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

2.4.2.- Demostrar que A |= syss A |= y A |= .

2.4.3.- Demostrar que si A |= entonces A 6|= .

2.4.4.- Demostrar que si A |= entonces A |= .

2.4.5.- Sea A una interpretacion. Sea TA el conjunto de todos los enuncia-


dos verdaderos en A, es decir, TA = { | es enunciado y A |= }.
Demostrar que si TA |= entonces TA.

2.4.6.- Genere un modelo para cada uno de los siguientes conjuntos.

(a) M = {P (a), Q(a), R(a), x (P (x)(Q(x)R(x))), x (R(x)


P (x))}
(b) M = {x (P (x) Q(x)), x (Q(x) P (x)), z (P (z) Q(z)),
x (P (x) y (Q(y) R(x, y))), x (Q(x) y (P (y)
R(x, y)))}

2.4.7.- Demostrar la validez universal en cada caso.

(a) |= x
(b) |= x( y)
(c) |= xy yx
(d) |= xy yx

2.4.8.- Muestre mediante ejemplos que las siguientes formulas no son univer-
salmente validas.

(a) {x/t} x.
(b) x {x/t} donde {x/t} es admisible.
(c) x x.
(d) x( ) x x.

2.4.9.- Demostrar la proposicion 2.4.

2.4.10.- Demostrar la proposicion 2.5.

2.4.11.- Demostrar la proposicion 2.6.

2.4.12.- Demostrar la proposicion 2.7.



2.4. MODELOS Y CONSECUENCIA LOGICA 55

2.4.13.- Demostrar la consecuencia logica en cada caso:

(a) xy (R(x, y) R(y, x)) |= xR(x, x)


(b) xy (D(x) M (y) T (x, y)) |= z (D(z) M (z) T (z, z))
(c) x (C(x) y P (y, x) O(x)), C(a), zP (z, a) |= O(a)

2.4.14.- Demostrar la propiedad de contrapositiva: M, |= syss M, |=


.

2.4.15.- Sea M = {1 , . . . , n } tal que M |= y T |= i para 1 i n.


Demuestre que T |= .

2.4.16.- Demostrar que M, , |= syss M, |= .

2.4.17.- Demostrar que M |= syss M {} no tiene modelo.

2.4.18.- Sea A una interpretacion. Sea TA el conjunto de todos los enuncia-


dos verdaderos en A, es decir, TA = { | es enunciado y A |= }.
Demostrar que si TA |= entonces TA.

2.4.19.- Demuestre que M |= syss M |= . Este hecho muestra que en


el proceso de extraccion de conocimiento el conjunto de hipotesis y la
formula que se desea concluir pueden pensarse implicitamente cuantifi-
cados universalmente, esto sera de gran importancia para la progra-
macion logica.
56
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

2.5 Formas Normales


En esta seccion desarrollaremos diversas formas normales para formulas que
son transformaciones de una formula que conservan ciertas propiedades semanticas.
Las formulas en forma normal tienen diversas ventajas que veremos mas ade-
lante.

Antes de pasar a las formas normales se simplifican las formulas mediante


el procedimiento conocido como rectificacion.

Definicion 2.10 Una formula esta rectificada si y solo si se cumplen las


siguientes condiciones:

(a). no tiene presencias libres y acotadas de una misma variable, es decir,


V l() V ac() = .

(b). no tiene cuantificadores de la misma variable con alcances ajenos.

(c). no tiene cuantificadores que acotan las mismas presencias de una


variable (cuantificadores m
ultiples).

(d). no tiene cuantificadores vacuos, es decir, cuantificadores tales que la


variable del cuantificador no figure en el alcance del mismo.

Lema 2.5 Se cumplen las siguientes equivalencias l


ogicas.

(a). Eliminacion de Cuantificadores M


ultiples.

(i) xx x.
(ii) xx x.

(b). Renombre de variables. Si y no figura libre en y {x/y} es admisible


entonces:

(i) x y{x/y}.
(ii) x y{x/y}.

(c). Eliminacion de Cuantificadores Vacuos. Si x no figura libre en en-


tonces:

(i) x .
2.5. FORMAS NORMALES 57

(ii) x .

dem:

Se deja como ejercicio.

Una consecuencia inmediata de los lemas anteriores es la siguiente pro-


posicion.

Proposici on 2.9 Siempre es posible transformar mediante un algoritmo una


formula dada en una formula Rec() de manera que Rec() est
a rectificada
y Rec() .

dem:

Sea una formula. Si V l() V ac() 6= podemos aplicar el lema 2.5(b)


para renombrar las presencias acotadas de todas las variables que figuraban
libres y acotadas en , analogamente si existia en cuantificadores con
alcances ajenos de la misma variable; los cuantificadores m
ultiples se eliminan
mediante el lema 2.5(a) y los cuantificadores vacuos se eliminan con el lema
2.5(c). La formula obtenida al terminar estos procesos es Rec() y observese
que no es unica.
El objetivo principal en esta seccion es transformar una formula dada en
una formula proposicional que sea en cierto sentido equivalente a la formula
original. Con las siguientes transformaciones esto se logra parcialmente.

2.5.1 Forma Normal Negativa


El objetivo de esta forma normal es obtener una formula equivalente a una
formula dada de manera que las negaciones solo afecten a formulas atomicas.

Definicion 2.11 Una formula esta en forma normal negativa si las nega-
ciones que figuran en afectan solo a formulas atomicas.

Proposici on 2.10 Sea una formula. Podemos encontrar de manera algo-


rtmica una f
ormula logicamente equivalente a y tal que est
a en forma
normal negativa. En tal caso se denota con F N N ().
58
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

dem:

Dada , aplicarle exhaustivamente las leyes de negacion (lema 2.4). La


formula obtenida es F N N ().

Ejemplo 2.13 Sea = x(P x y(Qy Rxy)) (P y xP x).


La forma normal negativa de y(QyRxy) se obtiene as: y(QyRxy)
y(Qy Rxy) y(Qy Rxy).
La forma normal negativa de (P yxP x) se obtiene as: (P yxP x)
P y xP x P y xP x.
Por lo tanto tenemos que F N N () = x(P x y(Qy Rxy)) (P y
xP x).

2.5.2 Forma Normal Prenex


El primer paso para eliminar los cuantificadores de una formula consiste en
factorizarlos de manera que todos queden juntos al principio de la formula,
esto se logran con la llamada forma normal prenex.
El siguiente lema describe la manera de factorizar cuantificadores.

Lema 2.6 Se cumplen las siguientes equivalencias l


ogicas.
(a). Si x no figura libre en entonces:
(i) x x( ).
(ii) x x( ).
(iii) x x( ).
(iv) x x( ).
(v) x x( ).
(vi) x x( ).
(b). Si x no figura libre en entonces:
(i) x x( ).
(ii) x x( ).

dem:

Se deja como ejercicio.


2.5. FORMAS NORMALES 59

Definicion 2.12 Si es una formula de la forma = Q1 x1 . . . Qn xn donde


es libre de cuantificadores y para toda i, Qi {, } se llama formula
en forma normal prenex.. La cadena de cuantificadores Q1 x1 . . . Qn xn es el
prefijo de mientras que es la matriz de .

Proposici on 2.11 Sea una formula. Entonces se puede construir medi-


ante un algoritmo una formula en forma normal prenex tal que . A
se le denota con F N P (). Observese que F N P () no es u
nica.

dem:

Dada obtener F N N (Rec()) y aplicarle el lema 2.6 hasta factorizar


todos sus cuantificadores, la formula obtenida es F N P ().
Ejemplo 2.14 Sea la misma formula del ejemplo 2.13.
Tenemos Rec() = x(P x v(Qv Rxv)) (P y zP z).
La forma normal prenex de v(Qv Rxv) es v(Qv Rxv).
La forma normal prenex de x(P x v(Qv Rxv)) es xv(P x (Qv
Rxv)).
La forma normal prenex de zP z es zP z.
La forma normal prenex de P y zP z es z(P y P z).
La forma normal prenex de z(P y P z) es z(P y P z).
Por lo tanto la forma normal prenex de es

F N P () = xvz(P x (Qv Rxv) (P y P z)).

Ejemplo 2.15 Sea = xP x yzRyz. Entonces

xP x yzRyz
y(xP x zRyz)
yz(xP x Ryz)
yzx(P x Ryz).

F N P () = yzx(P x Ryz).

2.5.3 Forma Normal Conjuntiva


Ya que hemos transformado una formula en una forma normal prenex ahora
presentamos una manera de simplificar una formula proposiciones, en par-
ticular nos va a interesar simplificar la matriz de una forma normal prenex,
60
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

esto se logra mediante la llamada forma normal conjuntiva que consiste en


expresar cualquier formula libre de cuantificadores como una conjuncion de
disyunciones de literales.

on 2.13 Una formulaVlibre de cuantificadores W


Definici esta en forma nor-
mal conjuntiva (FNC) si = i y para cada i, i = Lij donde para
in jmi
cada i, j, Lij es una literal.

Proposicion 2.12 Cualquier formula libre de cuantificadores se puede


transformar mediante un algoritmo en una formula quu est a en forma
normal conjuntiva tal que . A se le denota con F N C().

dem:

Utilizando la proposicion 2.5 podemos suponer que solo contiene negaciones


y conjunciones. Si es una literal L entonces ya esta en FNC pues L
(L L) (L L). Analogamente si es una conjuncion de literales entonces
ya esta en FNC, pues .
En cualquier otro caso mediante distributividades o la siguiente equivalencia,
obtenida con distributividad (prop 2.7), se puede obtener la FNC deseada:
(1 . . . n ) (1 . . . m ) (1 1 ) (1 2 ) . . . (1 m ) . . .
(n 1 ) (n 2 ) . . . (n m ).

Ejemplo 2.16 Obtener la forma normal conjuntiva de = (P Q)


(R S).2 . Primero eliminamos las implicaciones obteniendo (P
Q) (R S) ((P Q) (R S)) (P Q)
(R S) (P Q) R S (P R S) (Q R S) = F N C().

2.5.4 Forma Normal de Skolem


Ahora nuestro interes se centra en los cuantificadores existenciales y bus-
camos un posible metodo para eliminarlos de una formula, de manera que
se preserve la satisfacibilidad. Para esto utilizaremos el proceso de skolem-
izacion 3 , el cual consiste en substituir las formulas existenciales por testigos
2
Como solo nos interesa la forma, omitimos los argumentos de todos los smbolos de
relaci
on
3
El nombre es debido a su creador, Thoralf Skolem (1887-1963).
2.5. FORMAS NORMALES 61

de las cuantificaciones existenciales de la formula, de la siguiente manera:


x se substituye por {x/c}

x1 . . . xn y se substituye por x1 . . . xn {y/g(x1 , . . . , xn )}


aqu, c es un smbolo de constante nuevo, llamado constante de Skolem y
g es un smbolo de funcion nuevo llamado funcion de Skolem. Con Sko()
denotamos a la skolemizacion de que se obtiene al eliminar mediante este
proceso, de izquierda a derecha, todos los existenciales de la formula .
Ejemplo 2.17
sko()

yR(y) R(c)

xyP (x, y) xP (x, g(x))

xzyR(x, g(y), f (z)) xzR(x, g(h(x, z)), f (z))

Hasta ahora hemos visto que una formula es logicamente equivalente


a cualquiera de sus formas normales, situacion muy conveniente pues si hal-
lamos un modelo de una de estas formas normales, este mismo nos servira
como modelo de . Desafortunadamente no sucede lo mismo con la skolem-
izacion, sin embargo tenemos todavia una relacion entre y sko().
on 2.14 Sean , dos formulas, decimos que , son satisfacible-
Definici
mente equivalentes cuando es satisfacible si y solo si es satisfacible. Esta
propiedad sera denotada con sat .
Es claro que implica que sat , mas no al reves.
Ejemplo 2.18 Claramente x P (x, a) sat x P (a, x) pero si interpretamos
a como 0 y P como sobre N observamos que x P (x, a) 6 x P (a, x).

Ejemplo 2.19 xP (x) sat P (c), este ejemplo muestra que una formula
satisfaciblemente equivalente a la formula existencial dada, resulta mucho
mas facil de manejar.
62
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Con ayuda del siguiente teorema demostraremos que sat sko().

Teorema 2.1 (AE). (Forma Normal de Skolem). Sean una signatura, g


un smbolo de funcion que no est a en y x1 . . . xn y una -formula ce-
rrada tal que x1 . . . xn no est an acotadas en (de manera que la sustitucion
{y/g(x1 . . . xn )} es admisible). Sea g = {g}. Entonces todo g -modelo
de x1 . . . xn {y/g(x1 . . . xn )} es un g -modelo de x1 . . . xn y. Inversa-
mente, todo -modelo de x1 . . . xn y puede expanderse a un g -modelo
de x1 . . . xn {y/g(x1 . . . xn )}.

dem:

Como se tiene |= x1 . . . xn {y/g(x1 . . . xn )} x1 . . . xn y, en particu-


lar, para cualquier g -estructura A se tiene que A |= x1 . . . xn {y/g(x1 . . . xn )}
x1 . . . xn y. Si ademas tenemos que A |= x1 . . . xn {y/g(x1 . . . xn )} en-
tonces necesariamente A |= x1 . . . xn y. De manera que A es tambien un
g -modelo de x1 . . . xn y.
Inversamente. Sea A un -modelo de x1 . . . xn y. Por definicion de ver-
dad tenemos que dados cualesquiera a1 , . . . , an | A | existe a | A | tal
que A |= [s(y/a)] para todo estado s tal que s(xi ) = ai . Como no sabemos
si el elemento a que existe es u nico o no tenemos que hacer uso del axioma
de eleccion para escoger uno. Formalmente, mediante AE, definimos una
funcion G : | A |n | A | tal que G(a1 , . . . , an ) = a syss A |= [s(y/a)].
Sea B el g -modelo tal que | A |= | B | que interpreta los smbolos
de exactamente igual que A y tal que g B = G. Vamos a demostar
que B |= x1 . . . xn {y/g(x1 . . . xn )}, para lo cual basta demostrar que,
para cualesquiera a1 , . . . , an | B | y todo estado s : V AR | B |
tal que s(xi ) = ai se tiene que B |= {y/g(x1 . . . xn )}[s]. Pero medi-
ante el lema de sustitucion para formulas, puesto que {y/g(x1 . . . xn )} es
admisible, demostrar la u ltima afirmacion es equivalente a demostrar que
B |= [s(y/a)] donde a = g(x1 , . . . , xn )B = G(a1 , . . . , an ), pero esto es in-
mediato por la manera en que se definio a. Por lo tanto B es un g -modelo
de x1 . . . xn {y/g(x1 . . . xn )}.

Corolario 2.2 x1 . . . xn y tiene un modelo syss x1 . . . xn {y/g(x1 , . . . ,


xn )} tiene un modelo.

Corolario 2.3 Si es una formula entonces sat Sko()


2.5. FORMAS NORMALES 63

dem:

Es consecuencia inmediata del teorema.


A partir de todos los resultados anteriores podemos construir para cada
formula su forma normal de Skolem.

Definicion 2.15 Una formula cerrada de la forma x1 . . . xn , donde no


tiene cuantificadores y esta en forma normal conjuntiva es una formula en
forma normal de Skolem.

Teorema 2.2 Para cada formula podemos construir efectivamente una


formula en forma normal de Skolem de manera que sat . se denota
con F N S().

dem:

Es consecuencia inmediata de todos los resultados anteriores de esta seccion.

Ejemplo 2.20 Sea = xy(zwR(x, y, z, w) wP (w)). Primero ob-


tenemos la forma normal prenex de , xyv(zwR(x, y, z, w)
P (v)) xyvz(wR(x, y, z, w) P (v)) xyvzw(R(x, y, z, w)
P (v)) = F N P (). Ahora aplicamos el proceso de skolemizacion a F N P ():

(a). Eliminamos el primer existencial y mediante la funcion de skolem


f (x), obteniendo xvzw(R(x, f (x), z, w) P (v)).

(b). Eliminamos el segundo existencial v mediante la funcion de skolem


g(x), obteniendo xzw(R(x, f (x), z, w) P (g(x))).

(c). Eliminamos el tercer existencial w mediante la funcion de skolem


h(x, z), obteniendo xz(R(x, f (x), z, h(x, z)) P (g(x))).

sko() = xz(R(x, f (x), z, h(x, z)) P (g(x))).

Finalmente para obtener F N S() basta poner la matriz de sko() en forma


normal conjuntiva.
F N C(R(x, f (x), z, h(x, z)) P (g(x))) R(x, f (x), z, h(x, z)) P (g(x)).

F N S() = xz(R(x, f (x), z, h(x, z)) P (g(x)))


64
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

2.5.5 Forma Clausular


Por u
ltimo obtenemos la forma clausular de una formula, que consiste sim-
plemente en eliminar los cuantificadores universales en la forma normal de
Skolem respectiva.

on 2.16 Una cl
Definici ausula es una disyuncion de literales.

Con esta definicion podemos redefinir una forma normal conjuntiva como
una conjuncion de clausulas.

on 2.17 Si = x1 . . . xn es una formula en forma normal de


Definici
Skolem entonces se le llama la forma clausular de y se denota con Cl().

Observemos que Cl() es una conjuncion de clausulas, libre de cuantifi-


cadores; ademas es inmediato que existe un proceso efectivo para construir
Cl() y que Cl() sat . Con esto hemos logrado el objetivo planteado,
cada formula puede transformarse en una formula proposicional satis-
faciblemente equivalente Cl(). Mas adelante trabajaremos con las formas
clausulares que nos ofrecen diversas ventajas y veremos su importancia en la
programacion logica.

Ejemplo 2.21 Sea la formula del ejemplo 2.20. La forma clausular de


es
Cl() = R(x, f (x), z, h(x, z)) P (g(x))

Ejercicios
2.5.1.- Obtener las formas normales, FNN, FNP, FNS y la forma clausular de
cada una de las siguientes formulas:

(a) xP (x, y) xR(x, y).


(b) x(M (x) yR(x, y)).
(c) xyzP (x, y) xy(zT (x, y, z) R(x, y)).
(d) x (yR(x, y) yS(x, y) yR(x, y) P (w)).
(e) xy (P (x, y) zQ(z)) xyR(x, y, z).
(f) xyz(R(x, y, z) Q(x, z, y))
2.5. FORMAS NORMALES 65

(g) xyS(x, y) yx S(y, x).


(h) (xM (x) yO(y)) zM (z) wO(w).
(i) x(yP (x, y) zP (z, x))
(j) x(M (x) yO(y)) zM (z) wO(w).
(k) (x(P (x) yR(y)) x(Q(x) zP (x, z))) vS(v).

2.5.2.- Una formula libre


W de cuantificadores est
V a en forma normal disyuntiva
(FND) si = i y para cada i, i = Lij donde para cada i, j, Lij
in jmi
es una literal. Desarrollar resultados analogos a los de esta subseccion
para formas normales disyuntivas.

2.5.3.- Demostrar el lema 2.5.

2.5.4.- Demostrar el lema 2.6.

2.5.5.- Demostrar que la relacion sat es una relacion de equivalencia.


66
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

2.6 Los Teoremas Fundamentales de la L


ogica
En esta seccion estudiaremos algunos teoremas fundamentales para la logica
de primer orden, tanto desde el punto de vista teorico como desde el punto
de vista computacional.

2.6.1 El Teorema de Herbrand


El teorema de Herbrand proporciona una primera relacion entre la sintaxis y
la semantica al mostrar la equivalencia entre modelos como los definidos an-
teriormente y cierta clase de modelos especiales que son modelos sintacticos.

Definicion 2.18 Sea una signatura con al menos una constante. Una
-interpretacion A es una interpretacion o estructura de Herbrand syss el
universo de A es el conjunto de terminos cerrados de , es decir,
|A| = T ERM0 () = {t | t es un -termino cerrado}
la interpretacion de los smbolos de constante es cA = c y la interpretacion
de los smbolos funcionales es:
f (t1 , . . . , tn )A = f (t1 , . . . , tn )
Un modelo de Herbrand para un conjunto de formulas M es una estructura
de Herbrand que es modelo de M .

Observese que lo u
nico que no esta determinado en una estructura de
Herbrand es la interpretacion de los smbolos de predicado y que los smbolos
de constante y de funcion se interpretan como ellos mismos, por esta razon
a los modelos de Herbrand tambien se les llama modelos sintacticos.

El siguiente lema nos dice como se evaluan los terminos en una estructura
de Herbrand:
Lema 2.7 Sean una signatura con al menos una constante y A una -
interpretacion de Herbrand. Sean t un termino con variables x1 , . . . , xn y s
un estado de las variables tal que s(xi ) = ri donde ri es un termino cerrado,
para 1 i n. Entonces:
tA[s] = t{x1 /r1 , . . . , xn /rn }
En particular si t es un termino cerrado, tA[s] = t

2.6. LOS TEOREMAS FUNDAMENTALES DE LA LOGICA 67

dem:

(Por induccion sobre los terminos). Ejercicio.

El lema anterior nos dice que la interpretacion de terminos en una estruc-


tura de Herbrand coincide con aplicar una substitucion al termino y que los
terminos cerrados se interpretan como ellos mismos.

Definicion 2.19 Sean una signatura y M un conjunto de -formulas cer-


radas y universales. El conjunto de instancias cerradas donde x1 . . . xn
pertenece a M se llama conjunto de instancias cerradas de M y se denota
IC(M )

A continuacion presentamos el Teorema Clasico de Herbrand en una forma


moderna:

Teorema 2.3 (de Herbrand).


Sean una signatura con al menos una constante y M un conjunto de -
enunciados universales. Entonces las siguientes condiciones son equivalentes:

(a). M tiene un modelo.

(b). M tiene un modelo de Herbrand.

(c). IC(M ) tiene un modelo.

(d). IC(M ) tiene un modelo de Herbrand.

dem:

Debido a que todo modelo de Herbrand es un modelo, las implicaciones b a


y d c son triviales.
La validez universal de la formula x1 . . . xn {x1 /t1 , . . . , xn /tn } hace
inmediatas a las implicaciones a c y b d. As que basta probar la impli-
cacion c b. Sea A un modelo de IC(M ) dado. Definimos una estructura
de Herbrand B, para lo cual basta decir como se interpretan los smbolos de
predicado, puesto que por definicion los smbolos de constante y de funcion
se interpretan como ellos mismos. Si P es un smbolo de predicado n-ario,
entonces definimos:

P B = {(t1 , . . . , tn ) | A |= P (t1 , . . . , tn )}
68
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Observese que, por construccion de B, se cumple que:

A |= P (t1 , . . . , tn ) B |= P (t1 , . . . , tn )

es decir, A y B validan a las mismas formulas atomicas cerradas. Dicho resul-


tado se puede extender a cualquier formula cerrada libre de cuantificadores
mediante induccion sobre formulas (ejercicio).
Por ultimo veamos que B es modelo de M . Sea x1 . . . xn una formula
de M . Queremos demostrar que B |= x1 . . . xn , lo cual es equivalente a
mostrar que 4 para cualesquiera t1 , . . . , tn | B |, B |= {x1 /t1 , . . . , xn /tn }.
Pero esta ultima afirmacion es equivalente, utilizando el u ltimo ejercicio, a
la siguiente:

para cualesquiera t1 , . . . , tn | B |, A |= {x1 /t1 , . . . , xn /tn },

la cual es cierta puesto que {x1 /t1 , . . . , xn /tn } pertenece a IC(M ) y por
hipotesis, A es modelo de IC(M ). De manera que B |= x1 . . . xn por lo
que B es un modelo de Herbrand de M .

Sirviendonos de la definicion de equisatisfacibilidad 2.14 podemos reescribir


parte del teorema de Herbrand como sigue:

Corolario 2.4 Sean una signatura con al menos una constante y M un


conjunto de -enunciados universales. Entonces

M sat IC(M )

dem:

Es trivial.

Veamos ahora un resultado que muestra las ventajas de las formulas en


forma normal conjuntiva o disyuntiva, el cual muestra que las propiedades
semanticas de formulas proposicionales cerradas se pueden reducir a propie-
dades sintacticas muy simples.
4
Recuerdese que | B |= {t | t es un termino cerrado}

2.6. LOS TEOREMAS FUNDAMENTALES DE LA LOGICA 69

on 2.20 Dos literales de la forma L, L forman un par complemen-


Definici
tario.

Teorema 2.4 Sean una signatura que contiene al menos una constante y
L1 , L2 , . . . , Lk -literales cerradas. La siguiente tabla caracteriza propiedades
semanticas de ciertas formulas mediante propiedades sintacticas.

Forma Sintactica Propiedad Semantica Caracterizaci


on Sintactica

L1 L2 . . . Lk Tiene modelo {L1 , L2 , . . . , Lk } no contiene


un par complementario.

L1 L2 . . . Lk Es universalmente valida Nunca se da el caso

L1 L2 . . . Lk Tiene modelo Siempre se da el caso

L1 L2 . . . Lk Es universalmente valida {L1 , L2 , . . . , Lk } contiene


un par complementario.

dem:

Tomemos una formula del tipo L1 L2 . . .Lk . Si el conjunto {L1 , L2 , . . . , Lk }


contiene un par complementario digamos Li y Li con i k entonces como
Li Li no tiene modelo, la formula original L1 L2 . . . Lk no tiene
modelo.
Inversamente, supongamos que {L1 , L2 , . . . , Lk } no tiene un par complemen-
tario, vamos a definir un modelo de Herbrand A para L1 L2 . . . Lk . Para
cada smbolo de predicado P , definimos la interpretacion de P como
sigue:

P A = {(t1 , . . . , tn ) T ERM0 ()n | P (t1 , . . . , tn ) {L1 , L2 , . . . , Lk }}

Ahora veamos que si 1 i k entonces A |= Li . Hay dos casos:

Li = P (t1 , . . . , tn ). Como Li es cerrada entonces t1 , . . . , tn T ERM0 ().


As que P (t1 , . . . , tn ) = Li {L1 , L2 , . . . , Lk }. Por lo tanto, de la defi-
nicion de P A concluimos que A |= P (t1 , . . . , tn ), es decir,A |= Li .
70
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Li = P (t1 , . . . , tn ). Tenemos que t1 , . . . , tn T ERM0 () y P (t1 , . . . , tn )



/ {L1 , L2 , . . . , Lk } puesto que por hipotesis {L1 , L2 , . . . , Lk } no con-
tiene un par complementario. Por u ltimo de la definicion de P A se
sigue que A 6|= P (t1 , . . . , tn ), es decir, A |= P (t1 , . . . , tn ). Por lo tanto
A |= Li .

En conclusion se tiene que A |= L1 . . . Lk .


Los restantes casos de la tabla son consecuencia del anterior.

Una formula del tipo L1 L2 . . . Lk nunca es valida pues siempre


podemos constuir un modelo para L1 , procediendo como en el caso
anterior.

Una formula del tipo L1 L2 . . . Lk es valida syss L1 L2


. . . Lk no tiene un modelo syss {L1 , L2 , . . . , Lk } no tiene un par
complementario syss {L1 , L2 , . . . , Lk } no tiene un par complementario.

Una formula del tipo L1 L2 . . . Lk siempre tiene un modelo pues,


como se hizo arriba, se puede construir un modelo para L1 .

2.6.2 El Teorema de Compacidad


En esta seccion enunciamos el teorema de Compacidad, el cual es de impor-
tancia crucial para la automatizacion del razonamiento, ya que permite re-
ducir el problema de la satisfacibilidad de un conjunto arbitrario de formulas
a sus subconjuntos finitos, situacion de gran importancia desde el punto de
vista computacional en el que resulta imposible manejar objetos infinitos.
Por otra parte el teorema de compacidad es una de las herramientas princi-
pales para la teora de modelos.
Enunciamos el teorema para el caso de formulas cerradas y libres de cuan-
tificadores, es decir, formulas sin variables.

Teorema 2.5 (AE) (Compacidad para conjuntos de f ormulas cerradas y li-


bres de cuantificadores).
Sea una signatura y M un conjunto de -formulas cerradas y libres de
cuantificadores. Entonces, M tiene un modelo si y s
olo si todo subconjunto
finito de M tiene un modelo.

2.6. LOS TEOREMAS FUNDAMENTALES DE LA LOGICA 71

dem:

La demostracion, que utiliza el lema de Konig dependiente del axioma de


eleccion, puede verse en [SpAn91]. Una demostracion clasica, tambien de-
pendiente del axioma de eleccion, siguiendo el metodo de Henkin, puede verse
en [Am99].

Ahora, a partir de los teoremas de Herbrand y de Compacidad restringido,


demostramos el teorema general de Compacidad.

Teorema 2.6 (AE) (Teorema de Compacidad).


Sean una signatura y M un conjunto de -formulas cerradas. Entonces
M tiene modelo si y s
olo si todo subconjunto finito de M tiene modelo.

dem:

) Es trivial.
) Supongamos que M no tiene modelo.
Sea M = F N S(M ), el conjunto de formas normales de Skolem de los ele-
mentos de M , donde para cada M se uso un juego diferente de funciones
de Skolem. Puesto que sat F N S(), se tiene que M no tiene modelo.
Por el teorema de Herbrand, concluimos que IC(M ) no tiene modelo y como
IC(M ) consta de formulas cerradas y libres de cuantificadores, utilizando el
teorema 2.5, concluimos que existe un subconjunto finito E M tal que
E no tiene modelo. Pero tal E , tiene que ser de la forma E = F N S(E),
donde E es alg un subconjunto finito de M . De manera que E no puede tener
modelo.

Corolario 2.5 Sean una signatura y M un conjunto de -formulas. En-


tonces, M es satisfacible si y s
olo si todo subconjunto finito de M es satis-
facible.

dem:

Utilizar que sat y despues Skolemizar M .

El siguiente corolario, proporciona otra forma del teorema de Herbrand.


72
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Corolario 2.6 Sean una signatura con al menos una constante y M un


conjunto de -formulas cerradas y universales. Sea x una f ormula cer-
rada, con libre de cuantificadores. Las siguientes condiciones son equiva-
lentes:

(a). M |= x

(b). Existe un n
umero finito de terminos cerrados, t1 , . . . , tn tales que
M |= {x/t1 } . . . {x/tn }

dem:

(b) (a). Es inmediato utilizando que {x/t} |= x.

(a) (b). Supongase que M |= x. Entonces M {x} no tiene


modelo, es decir, M {x} no tiene modelo. Por el teorema de com-
pacidad (2.6) existe un subconjunto finito de M {x} que no tiene
modelo, ademas como M {x} consta de formulas universales y
cerradas entonces por el teorema de Herbrand (2.3) existe un subcon-
junto finito de IC(M {x}) que no tiene modelo. Tal conjunto
es de la forma M {{x/t1 }, . . . , {x/tn }}, donde M IC(M ).
Ahora bien, como para cualquier IC(M ) se tiene que M |= en-
tonces M {{x/t1 }, . . . , {x/tn }} tampoco tiene un modelo, pero
esto sucede syss M {{x/t1 } . . . {x/tn }} no tiene un modelo,
syss M |= ({x/t1 }. . .{x/tn }) y esto es equivalente mediante
las leyes de negacion a M |= {x/t1 } . . . {x/tn }.

2.6.3 El Teorema de L
owenheim-Skolem
La importancia del teorema de Lowenheim-Skolem es mas bien teorica, aqu
solo presentamos un version simple.

Teorema 2.7 (Lowenheim-Skolem)


Si un conjunto de formulas M tiene un modelo entonces M tiene un modelo
cuyo universo es a lo mas numerable.

2.6. LOS TEOREMAS FUNDAMENTALES DE LA LOGICA 73

dem:

Supongamos que M tiene un modelo. Consideremos F N S(M ). Como


M sat F N S(M ) entonces F N S(M ) tiene un modelo, por lo tanto por
el teorema de Herbrand (2.3) F N S(M ) tiene un modelo de Herbrand, pero
observese que el universo de Herbrand es a lo mas numerable. Pero por el
teorema 2.1 cualquier modelo de F N S(M ) es modelo de M . Por lo tanto M
tiene un modelo a lo mas numerable.

Ejercicios
2.6.1.- Resuelva los 2 ejercicios que se dejaron en la prueba del teorema de
Herbrand.

2.6.2.- Sea una -formula y A una -estructura de Herbrand. Pruebe que:

(a) A |= x syss para cada a | A |, A |= {x/a}


(b) A |= x syss para alguna a | A |, A |= {x/a}

2.6.3.- Sea = {c, R(1) }. Muestre que el conjunto de -formulas M = {R(c),


xR(x)} tiene un modelo pero no tiene un Modelo de Herbrand.

2.6.4.- Sean L1 , . . . , Lk literales que contienen variables. Muestre que L1 . . .


Lk es satisfacible syss {L1 , . . . , Lk } no contiene un par complementario.
Sugerencia: Skolemizar y usar el teorema 2.4.
74
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

2.7 El Problema de la Decisi


on
El area de la logica matematica caracterizada por el termino problema de
la decisi
on se origino a principios del siglo XX. En 1900 Hilbert formulo el
problema de encontrar un algoritmo que decida la validez universal de las
formulas de la logica de predicados de pirmer orden, el le llamo a este prob-
lema el Problema fundamental de la logica matematica.
A principios del siglo el problema parecia una mera custion de invencion
matematica, de hecho se logro alg un progreso al obtener procesos de de-
cision para ciertas clases de formulas de la logica de predicados, como la
clase monadica que consiste de formulas que solo tienen predicados unarios
y terminos sin smbolos de funcion, cuyo proceso de decision se resolvio afir-
mativamente en 1915.

En esta seccion presentamos una muy breve introduccion a la teora de


computabilidad , rama de la logica que se dedica averiguar que problemas
son calculables y cuales no; este es un problema basico tanto en Ciencias de
la Computacion como en logica matematica o matematicas en general. De
manera mas especfica, si esta dado un problema calculable la pregunta es si
habra un proceso efectivo para resolverlo. Con esto queremos decir que hay
una computadora que puede resolver el problema en un tiempo finito.
En esta seccion vamos a mostrar que el problema original de Hilbert no tiene
solucion, es decir, es indecidible. De hecho probaremos algo mas fuerte,
que es la indecidibilidad de la consecuencia logica. Antes de esto damos las
definiciones previas necesarias.

on 2.21 Un alfabeto A es un conjunto no vaco de smbolos.


Definici

on 2.22 Una cadena es una sucesion finita de smbolos de un alfa-


Definici
beto dado. A las cadenas tambien se les llama palabras

Un conjunto de gran importancia al estudiar cadenas es la estrella de


Kleene de un alfabeto dado, definida como sigue:

Definicion 2.23 Sea A un alfabeto. El conjunto de todas las cadenas


obtenidas a partir de A se llama la estrella de Kleene de A y se denota
A . Este conjunto contiene ademas una cadena especial denotada tal que
/ A, llamada la cadena vaca.

2.7. EL PROBLEMA DE LA DECISION 75

Definicion 2.24 Un conjunto S A de cadenas es decidible si existe un


procedimiento efectivo tal que dada una cadena S, el procedimiento
decide si S o / S.
S es indecidible si no es decidible.

Para dejar firme a la definicion de indecidibilidad debemos indicar que


operaciones se permiten en un procedimiento. Existen diversas maneras de
formular manera matematica que es lo que puede ser calculado. En 1936 Alan
Turing definio una maquina abstracta que ahora se conoce como maquina de
Turing y mostro que todo lo que puede ser calculado de manera intuitiva
tambien puede calcularse con una maquina de Turing.

Definicion 2.25 Un conjunto S de cadenas sobre un alfabeto A es recursiva-


mente numerable si existe un procedimiento efectivo que produce la respuesta
si para cada A en caso de que S.

Observese que si un conjunto S es recursivamente numerable y se tiene una


cadena / S no se sabe como se comporta el procedimiento de numerabilidad
recursiva, en la mayora de estos casos este proceso no termina.

2.7.1 Semidecidibilidad de la Consecuencia L


ogica
En esta seccion presentamos un proceso de semidecision para la consecuencia
logica.
Sean 1 , . . . , n , formulas, queremos contestar a la pregunta

1 , . . . , n |= ?

Para esto podemos reducir el problema de la siguiente manera:

1 , . . . , n |= syss {1 , . . . , n , } no tiene modelo

Aplicando el teorema 2.2 tenemos que

{1 , . . . , n , } sat F N S({1 , . . . , n , })

Ahora mediante el teorema de Herbrand tenemos que

F N S({1 , . . . , n , }) sat IC(F N S({1 , . . . , n , }))


76
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Por lo tanto con ayuda de la transitividad de sat obtenemos que

1 , . . . , n |= syss IC(F N S({1 , . . . , n , })) no tiene modelo

Hasta este punto todo el proceso es algortmico. Ahora por el teorema de


compacidad

IC(F N S({1 , . . . , n , })) no tiene modelo syss existe un subconjunto


finito M de IC(F N S({1 , . . . , n , })) tal que M no tiene modelo. Es
en este momento donde se pierde el proceso algortmico pues el teorema de
compacidad solo asegura la existencia del subconjunto finito pero la prueba
no es constructiva, es decir, no sabemos a ciencia cierta cual es el subcon-
junto finito. El proceso que sigue tambien es algortmico.
Observese que las formulas de IC(F N S({1 , . . . , n , })) son formulas cer-
radas libres de cuantificadores, de hecho son formas normales conjuntivas
cuyos conyuntos son clausulas. Digamos que M = {1 , . . . , m }, entonces

{1 , . . . , m } sat 1 . . . m

por lo que basta ver si 1 . . . m no tiene modelo. Para esto nos servimos
del ejercicio 2.5.2 y calculamos F N D(1 . . . m ).

Sea F N D(1 . . . m ) = 1 . . . k entonces

1 . . . k no tiene modelo syss ninguna i tiene modelo

Sea i = Li1 . . . Limi , mediante el teorema 2.4 tenemos que

Li1 . . . Limi no tiene modelo syss


{Li1 , . . . , Limi } contiene un par complementario
En conclusion se tienen dos procesos algortmicos:
El proceso de transformacion de {1 , . . . , n , } a IC(F N S({1 , . . . ,
n , neg})).
El proceso para decidir si el subconjunto finito M IC(F N S({1 , . . . ,
n , })) tiene modelo.
Lo unico que impide que el proceso completo sea un algoritmo es el uso del
teorema de compacidad. Es por esto que no podemos hablar de decidibilidad
sin embargo si tenemos la recursividad numerable.

2.7. EL PROBLEMA DE LA DECISION 77

Teorema 2.8 (Numerabilidad Recursiva de la Consecuencia Logica)


Sea una signatura finita. Existe un procedimiento efectivo que genera todas
las tuplas (1 , . . . , n , ) tales que 1 , . . . , n |= . Es decir, el conjunto de
tales tuplas forma un conjunto recursivamente numerable.
dem:

Sea (1 , . . . , n , ) una tupla de formulas. Enumerense los subconjuntos


finitos de IC(F N S({1 , . . . , n , })) hasta hallar uno que no tenga modelo.
Si este proceso termina entonces 1 , . . . , n |= .
Si 1 , . . . , n 6|= entonces el proceso no termina pues todos los subconjuntos
finitos de IC(F N S({1 , . . . , n , })) tienen modelo.
Para terminar el captulo mostraremos que este proceso de enumeracion
es lo mas cercano a un algoritmo que podemos obtener para la consecuen-
cia logica. Es decir, es imposible obtener un proceso efectivo que tambien
termine en los casos en que IC(F N S({1 , . . . , n , })).

2.7.2 Indecidibilidad de la Consecuencia L


ogica
El teorema de indecidibilidad de Church muestra que la consecuencia logica
y por lo tanto la validez universal de una formula, es indecidible, para de-
mostrarlo nos basaremos en el teorema de correspondencia de Post el cual
nos limitamos a enunciar.
Definici on 2.26 Considerese el siguiente problema: Dada una lista finita
[(a1 , b1 ), . . . , (ak , bk )] de parejas de cadenas no vacas sobre el alfabeto {0, 1},
encontrar una sucesion de ndices i1 , . . . , in tal que ai1 . . . ain = bi1 . . . bin .
La lista [(a1 , b1 ), . . . , (ak , bk )] se llama sistema de correspondencia de Post, la
sucesion de ndices es una solucion del sistema y el problema se conoce como
el problema de Correspondencia de Post.
Ejemplo 2.22 Considerese el sistema [(1, 101), (10, 00), (011, 11)]. Entonces
una solucion para el sistema es la sucesion 1, 3, 2, 3 puesto que a1 a3 a2 a3 =
101110011 = b1 b3 b2 b3 .
Teorema 2.9 (Post)
El problema de la correspondencia de Post es indecidible, es decir, no existe
un algoritmo que reciba como entrada un sistema de correspondencia [(a1 , b1 ),
. . . , (ak , bk )] y termine con la respuesta si si el sistema dado tiene solucion
y con no en otro caso.
78
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

Nuestro interes esta en investigar si una formula dada es universalmente


valida, esto lo haremos con un metodo muy usado en teora de la computabil-
idad que consiste en reducir un problema a uno ya conocido.

on 2.27 Sean C, D dos conjuntos de cadenas sobre un alfabeto finito


Definici
A. decimos que C es reducible a D si existe una funcion F : A A tal
que:

Existe un algoritmo que calcula a F .

Para cada A , C syss F () D.

La funcion F se llama reduccion de C a D.

As que si C es reducible a D mediante F entonces la pregunta C


? puede contestarse al responder la pregunta equivalente F () D ?.
Tambien debe quedar claro el siguiente hecho:

Si C es reducible a D entonces si C es decidible (recursivamente numer-


able) entonces D es decidible (recursivamente numerable).

En este hecho se basa la demostracion del siguiente teorema.

Teorema 2.10 (Teorema de Indecidibilidad de Church)


Sea una signatura finita que consta de una constante c, dos smbolos de
funcion f0 , f1 y un smbolo de predicado P . El conjunto de -formulas uni-
versalmente validas es indecidible.

dem:

La idea es definir un procedimiento efectivo que reduzca el problema de cor-


respondencia de Post al problema de validez universal de formulas.
El primer paso consiste en formalizar el problema de Post en logica de pred-
icados, para esto usamos la signatura dada.
Dado un termino t y una sucesion de ndices i1 , . . . , im {0, 1} . Uti-
lizamos la abreviatura fi1 ,...,im (t) para el termino fi1 (fi2 (. . . fim (t) . . .)). Sea
C = [(a1 , b1 ), . . . , (ak , bk )] un sistema de correspondencia. Considerense las
siguiente formulas:

i = P (fa1 (c), fb1 (c)) . . . P (fak (c), fbk (c)).



2.7. EL PROBLEMA DE LA DECISION 79

2 = xy (P (x, y) P (fa1 (x), fb1 (y)) . . . P (fak (x), fbk (y))).

3 = xP (x, x).

Vamos a demostrar que

C tiene solucion syss |= 1 2 3 ()

Para esto definimos una -interpretacion AC = h{0, 1} , P, F0 , F1 , i, donde

P(u, v) syss existen n > 0 e i1 , . . . , in k tales que u = ai1 . . . ain y


v = b i1 . . . b in .

F0 (u) = 0u, F1 (u) = 1u.

es la palabra vaca.

Es facil ver que AC |= 1 2 . Ademas AC |= 3 syss C tiene solucion.

Demostramos ahora ().


) Esta direccion es clara por la definicion de P AC = P.
) Sean C un sistema con solucion j1 , . . . , jn y A = hA, P , Fo , F1 , i una
-interpretacion tal que A |= 1 2 . Vamos a demostrar que A |= 3 .
Utilizamos la misma abreviatura citada arriba con F0 y F1 , observese que
Fu (Fv (a)) = Fuv

(a).
Como A |= 1 2 entonces tenemos

P (Fa j1 (. . . (Fa jn ( ) . . .)), Fbj1 (. . . (Fbjn ( ) . . .)))

es decir,
P (Fa j1 ...ajn ( ), Fbj1 ...bjn ( ))
y como aj1 . . . ajn = bj1 . . . bjn entonces se tiene A |= xP (x, x), es decir,
A |= 3 .
Por lo tanto () se cumple y por el teorema 2.9 concluimos que el conjunto
de -formulas universalmente validas es indecidible.

Corolario 2.7 El conjunto de parejas (, ) donde es una signatura finita


y es una -formula universalmente valida es indecidible. Por lo tanto el
conjunto de todas las tuplas (1 , . . . , n , ) de -formulas donde es una
signatura finita y 1 , . . . , n |= tambien es indecidible.
80
2. SEMANTICA
DE LA LOGICA DE PREDICADOS

dem:

Es consecuencia inmediata del teorema 2.10

Corolario 2.8 Sea una signatura finita. Entonces es indecidible si una


-formula es satisfacible.

dem:

Es inmediato al reducir el problema de la satisfacibilidad de al problema


de la no validez universal de .
Bibliografa

[Am99] J.A. Amor. Compacidad en Logica de Primer Orden y su


relacion con el Teorema de Completud. Facultad de Ciencias
UNAM. 1999.

[AmMi98] J. A. Amor, F. E. Miranda. Demostracion Automatica de Teo-


remas y la Nutria. Por aparecer en Aportaciones Matematicas,
Memorias del XXX Congreso Nacional de la SMM. SMM Mexico
1998.

[GrTr96] W.K. Grassmann, J.P. Tremblay. Logic and Discrete Mathemat-


ics, A Computer Science Perspective. Prentice Hall 1996.

[Ku92] S. Kumar. Deductive Databases and Logic Programming.


Addison-Wesley 1992.

[Lei97] A. Leitsch. The Resolution Calculus. Springer Verlag. 1997.

[LLo87] J.W. Lloyd. Foundations of Logic Programming, second edition.


Springer-Verlag. 1987.

[MeNe96] G. Metakides, A. Nerode. Principles of Logic and Logic Pro-


gramming. Studies in Computer Science and Artificial Intelli-
gence 13. North-Holland. 1996.

[Mi99] F. Miranda P. Fundamentos Logicos del Programa de Razon-


amiento Automatico OTTER. Tesis de Maestria, Facultad de
Ciencias UNAM 1999.

[SpAn91] V. Sperschneider, G. Antoniou. Logic, A Foundation for Com-


puter Science. Addison-Wesley. 1991.

81
82 BIBLIOGRAFIA

[WOLB92] L. Wos, R. Overbeek, E. Lusk, J. Boyle. Automated Reasoning,


Introduction and Applications. McGraw-Hill. 1992.
Indice

alcance, 15 consecuencia logica, 51


alfabeto, 74 indecidibilidad de la, 78
algoritmo semidecidibilidad de la, 77
de unificacion, 25 consecuente, 6
anillo, 33 constante de Skolem, 61
con division, 33 conyuntos, 5
conmutativo, 33 cuantificacion, 6, 7
antecedente, 6 existencial, 7
argumento, 51 universal, 6
conclusion del, 51
correcto, 51, 52 disyuncion, 5
premisas del, 51 disyuntos, 5
dominio entero, 33
bicondicional, 6
eliminacion
cadena, 74 de la equivalencia, 50
vaca, 74 de la implicacion, 50
campo, 34 de un cuantificador, 50
cerradura del cuantificador m ultiple, 56
existencial, 15 del cuantificador vacuo, 56
universal, 15 enunciado, 15
clausula, 64 equivalencia, 6
condicional, 6 estado de las variables, 34
conjuncion, 5 modificado, 36
conjunto estrella de Kleene, 74
decidible, 75 estructura, 32
discorde, 25 universo de una, 32
indecidible, 75 expresion, 24
recursivamente numerable, 75
reducible, 78 formula, 3
unificable, 24 atomica, 3

83
84 INDICE

cerrada, 15 lema
falsa, 44 de coincidencia
rectificada, 56 para formulas, 39
satisfacible, 39 para terminos, 36
universalmente valida, 48 de sustitucion
verdadera, 44 para formulas, 41
formulas para terminos, 37
logicamente equivalentes, 49 lenguaje formal, 2
satisfaciblemente equivalentes, de orden superior, 31
61 de primer orden, 2, 31
forma clausular, 64 leyes
forma normal, 56 de asociatividad, 50
conjuntiva, 60, 64 de conmutatividad, 50
de Skolem, 63 de De Morgan, 49
disyuntiva, 65 de distributividad, 50
negativa, 57 de la negacion, 49
prenex, 59 literal, 24
matriz de la, 59
prefijo de la, 59 maquina de Turing, 75
funcion modelo, 44
de Skolem, 61 de Herbrand, 66
de reduccion, 78 monoide, 33

grupo, 33 negacion, 5
abeliano, 33 par complementario, 69
peso, 13, 14
implicacion, 6
problema
logica, 51
de Correspondencia de Post, 77
indecidible, 75
de la decision, 74
instancia, 18
programacion
admisible, 18
logica, 53, 64
cerrada, 18
interpretacion, 32 razonamiento
de un smbolo automatico, 53
de constante, 32 rectificacion, 56
de funcion, 32 renombre de variables, 56
de predicado, 32
de un termino, 35 satisfaccion
INDICE 85

de una formula, 39 acotada, 15


semigrupo, 33 del cuantificador, 6, 7
signatura, 1 libre, 15
sistema
de correspondencia de Post, 77
solucion del, 77
skolemizacion, 61
subtermino, 14
sustitucion, 17
cerrada, 17
idempotente, 23
variante, 29
sustituciones
composicion de, 20

termino, 2
cerrado, 3
compuesto, 2
simple, 2
teora
de modelos, 45
de computabilidad, 74
teora
de modelos, 70
teorema
de Church, 78
de compacidad, 70, 71
de Herbrand, 67, 71
de Lowenheim-Skolem, 72
de Post, 77
de Skolem, 62
tipo de semejanza, 1

unificacion, 24
algoritmo de, 25
unificador, 24
mas general, 24

variable

Você também pode gostar