Está en la página 1de 58

Cuaderno Didactico

Lgica de Predicados



Jose Lmilio Labra Gayo
Daniel lernandez Lanin





Lscuela Uniersitaria de Ingeniera 1cnica en Inormatica de
Oiedo ,L.U.I.1.I.O.,

|virer.iaaa ae Orieao


1abla de Contenidos

Introduccin ......................................................................................................................................... 1
Lenguaje lormal de la Lgica de Predicados .................................................................................. 2
Otros Ordenes...................................................................................................................................... 6
Interpretacin.......................................................................................................................................
Consecuencia y Lquialencia Lgicas............................................................................................. 14
lormas Normales............................................................................................................................... 18
Algoritmo de Resolucin.................................................................................................................. 23
Introduccin............................................................................................................ 23
Resolucin Proposicional ...................................................................................... 23
Resolucin General ................................................................................................ 2
Uniicacin.......................................................................................................................................... 30
Algoritmo de Resolucin General ................................................................................................... 35
Lstrategias de resolucin....................................................................................... 44
Prueba de 1eoremas por Resolucin.............................................................................................. 49
Bibliograa.......................................................................................................................................... 51
ndice Alabtico................................................................................................................................ 53
Inormacin de Contacto ................................................................................................................. 56


Lgica de Predicados
L.U.I.1.I.O.

-1-
Introduccin
Ln las ltimas dcadas, ha aumentado considerablemente el inters de la inormatica
por la aplicacin de la lgica a la programacin. De hecho, ha aparecido un nueo
paradigma de programacin ,la programacin declaratia, cuyos undamentos tericos se
basan en los desarrollos de la lgica de predicados que pretendan alcanzar sistemas de
demostracin automatica de teoremas. Ln este cuaderno didactico se describiran los
conceptos basicos de esta disciplina aplicables a la inormatica, en concordancia con el
programa de la asignatura de Lgica pesente en el primer ano de los planes de estudio de
Ingeniero 1cnico en Inormatica de Sistemas e Ingeniero 1cnico en Inormatica de
Gestin impartidos en la Lscuela de Ingeniera 1cnica en Inormatica de Oiedo
,LUI1IO,.
Para su lectura no se necesita ningn conocimiento preio ya que se an deiniendo
todos los trminos que aparecen. No obstante sera recomendable cierta amiliarizacin
con la lgica de proposiciones y la nomenclatura matematica.
Ll orden de exposicin se diide en dos bloques:
- Un primer bloque contiene los conceptos clasicos de la lgica de predicados con la
deinicin sintactica del lenguaje ,rmulas bien ormadas,, la aproximacin semantica
,concepto de interpretacin y de equialencia lgica, .
- A continuacin, se expone el algoritmo de resolucin, para lo cual se describen los
conceptos de substitucin y uniicacin.


Lgica de Predicados
L.U.I.1.I.O.

-2-
Lenguaje Formal de la Lgica de Predicados
Ll instrumento undamental de comunicacin humana es el Lenguaje, ormado por
rases de tipo interrogatio, imperatio y declarativo. Lstas ltimas constituyen el
elemento basico de descripcin del conocimiento.
La lgica es la disciplina que estudia los mtodos de ormalizacin del conocimiento
humano. Ln lgica se estudian, por tanto, mtodos de ormalizacin de rases declaratias.
Para ello existen dos nieles de abstraccin segn el grado de detalle que se quiera
ormalizar: Lgica proposicional y lgica de predicados.
La lgica proposicional o lgica de enunciados toma como elemento basico las
rases declaratias simples o proposiciones que son aquellos elementos de una rase que
constituyen por s slos una unidad de comunicacin de conocimientos y pueden ser
considerados Verdaderos o Ialsos.
La lgica de predicados estudia las rases declaratias con mayor grado de detalle,
considerando la estructura interna de las proposiciones. Se tomaran como elemento basico
los objetos y las relaciones entre dichos objetos. Ls decir, se distingue:
- Que se afirma ,predicado o relacin,
- De quien se afirma ,objeto,
A continuacin se deinira el lenguaje ormal que se utilizara en la lgica de
predicados. Se deine el conjunto de smbolos que apareceran en las distintas
ormalizaciones ,alabeto,. Seguidamente se deinen las reglas sintacticas de construccin
de rmulas correctas.
Definicin 1: Ll alfabeto de la lgica de predicados estara ormado por los siguientes
conjuntos de smbolos:
Conjunto de smbolos de Variables (JAR): Lsta ormado por las ltimas letras del
alabeto minsculas.1ambin se utilizan subndices, por
ejemplo: x v : x v : x v : JAR
n n n
, , , , , , , , ,
1 1 1
L .
Conjunto de smbolos de Constantes (CONS ): Primeras letras del alabeto
minsculas ,con subndices,, por ejemplo: a b c a b c a b c CONS
n n n
, , , , , , , , ,
1 1 1
L
Conjunto de letras de funcin ( FUNC): Lsta ormado por las letras f g h , , ,L .
1ambin se pueden incluir subndices para dierenciar distintas unciones:
f g h f g h FUNC
n n n 1 1 1
, , , , , , L
Ln algunos casos se indica la aridad
1
mediante un superndice. As por ejemplo
f FUNC
2
sera una uncin con dos argumentos.
1
La aridad de una uncin o de un predicado se deine como el nmero de argumentos
que tiene.


Lgica de Predicados
L.U.I.1.I.O.

-3-
Conjunto de letras de Predicado ( PRED): Se representan mediante letras
maysculas, P Q R PRED , , ,K
Como en el caso de las unciones, se puede representar la aridad mediante un
superndice, por ejemplo: P PRED
3
sera un predicado con tres argumentos.
Smbolos de conectivas: Seran:
Negacion
conectiva ' y'
conectiva ' o'
implicacion
doble implicacion o equivalencia
Cuantificadores: Seran los smbolos:
CuantiIicador universal
CuantiIicador existencial
Signos de puntuacin: Parntesis ( ) y coma.
Definicin 2: Un termino es una cadena de smbolos utilizada para representar objetos
siguiendo las siguientes reglas:
- 1oda ariable o constante indiidual es un trmino.
- Si t t t
n 1 2
, , , L son trminos y f
n
es una uncin de aridad n entonces f t t t
n
n
( , , , )
1 2
L
es un trmino.
- 1odos los trminos posibles se generan aplicando nicamente las dos reglas
anteriores.
Definicin 3: Un tomo
2
es una cadena de smbolos de la orma:
) , , , (
2 1 n
n
t t t P
Donde P
n
es un predicado de aridad v y
n
t t t , , ,
2 1
son trminos.
2
Obsrese que un trmino representara un objeto, mientras que un atomo tomara un alor
Verdadero o lalso segn la interpretacin.


Lgica de Predicados
L.U.I.1.I.O.

-4-

Definicin 4: Dado un alfabeto de lgica de predicados, se puede definir el
conjunto de frmulas bien formadas (fbf) cuyos elementos siguen las reglas:
- 1odo atomo es una rmula bien ormada ,se denominara frmula atmica,
- Si A y B son rmulas bien ormadas entonces:
;.)
;)
.

.
.
.
.
- Si A es una rmula bien ormada y una ariable
3
entonces x A ( ) y x A ( ) seran
rmulas bien ormadas.
Ljemplo 1: La frase "1odos los estudiantes de informtica son listos" podria
formalizarse empleando los predicados I x x ( ) " = estudia inIormatica" y L x x ( ) " = es listo"
como:

Definicin 5: Ln una expresin del tipo xA, xA, la ariable x es conocida como
variable de cuantificacin, a la rmula A como mbito o recorrido de la
cuantiicacin.
Definicin 6: Ln una rmula bien ormada A, una ariable esta ligada si esta en el ambito
de un cuantiicador que la tiene como ariable de cuantiicacin.. Una ariable esta libre si
no esta ligada.
3
Mas adelante se modiicara esta regla imponiendo la condicin de que sea una variable
libre en .
; ; ) ; ) )
1rmino
tomo ,b
b
Son rmulas bien ormadas


Lgica de Predicados
L.U.I.1.I.O.

-5-
Definicin : Se dice que una rmula bien ormada es una frmula cerrada si todas sus
ariables estan ligadas.
Con las deiniciones anteriores podran aparecer problemas si una ariable aparece
cuantiicada dos eces. Por ejemplo, en la rmula x P x xQ x ( ( ) ( )) , la esta sometida a
dos cuantiicaciones. Para eitar conusiones. Ln la deinicin de rmula bien ormada, se
establece una restriccin en el tercer punto que quedara:
i A e. vva frvvta biev forvaaa , x una variable libre en evtovce. xA , xA .erav frvvta.
biev forvaaa..`

Ljemplo 2: Ln la expresin:
_
ambito
)) , ( , ( v x f x P x
- La ariable aparece en el ambito del cuantiicador uniersal que ademas la tiene como
ariable de cuantiicacin, por tanto, la ariable esta ligada.
- La variable y tambin esta en el ambito del cuantiicador uniersal, pero ste no la tiene
como ariable de cuantiicacin, por lo tanto, es una ariable libre.


Lgica de Predicados
L.U.I.1.I.O.

-6-
Otros Ordenes
Como ya se ha indicado, existen diersos rdenes dentro del calculo de predicados.
Se denomina lgica de predicados de Orden Cero a la lgica de predicados en la
que se trabaja con predicados de aridad cero ,seran proposiciones Verdaderas o lalsas, de
ah que tambin se le conozca como lgica de proposiciones o enunciados,. Puesto que no
se utilizan constantes, ariables, unciones ni cuantiicadores su estudio es sencillo. Sin
embargo, existen estructuras deductias que la lgica de proposiciones no puede
ormalizar de orma adecuada, por ejemplo, la deduccin:
1oao. to. ivforvatico. .ov ti.to., ]vav e. ivforvatico, tvego ]vav e. ti.to
Ln lgica de predicados de orden cero se ormalizara mediante tres proposiciones
,q y r independientes y la rmula resultante " p q r " no sera alida.
Ln lgica de predicados de Primer Orden se permite la cuantiicacin de
ariables. De esa orma, el razonamiento anterior se ormalizara :
( ( ( ) ( )) ( )) ( ) x Informatico x Listo x Informatico Juan Listo Juan
Ln este caso, s se puede comprobar la alidez de esa rmula ,se estudiaran mtodos
en los siguientes apartados,.
Sin embargo, se impone la limitacin de no poder cuantiicar mas que ariables, con
lo cual, existe un amplio conjunto de rases que se quedan uera del ambito de la lgica de
primer orden.
Ljemplo 3: Una rase de la orma: i.te vva fvvciv f tat qve ara cvatqvier ei.te vv , ae
forva qve f x v ( ) = se debera ormalizar incluyendo un cuantiicador existencial sobre las
unciones :
f x v Igual f x v ( ( ), )
Ljemplo 4: La rase .tgvva. retaciove. evtre are. ae atvvvo. ae ta cta.e .ov .ivetrica.
4
se
ormalizara: )) , ( ) , ( ( x v R v x R v x R
Ln los ejemplos anteriores aparecen rmulas con cuantiicadores aplicados a
ariables de predicado y uncin, suponiendo la existencia de dominios predicados y de
unciones. La lgica que premite ese tipo de cuantiicacin se conoce como lgica de
predicados de Segundo Orden.
Ll problema de identiicar rmulas alidas esta resuelto
5
en lgica proposicional
,Orden Cero,, es parcialmente resoluble en lgica de predicados de Primer Orden e
irrsoluble en lgica de Orden Superior.
4
Se recuerda que una relacin R es simtrica si R, implica ,R para todo e ,.


Lgica de Predicados
L.U.I.1.I.O.

--
Interpretacin
Una interpretacin es un mecanismo que permitira asignar un alor Verdadero , V, o
lalso ,F, a una rmula. Para ello es necesario dar un signiicado a cada uno de los
smbolos que aparecen en la rmula. Las conectias y los cuantiicadores tienen un
signiicado ijo, mientras que el signiicado de las constantes, smbolos de uncin y
smbolos de predicado puede ariar.
Ln una interpretacin, se deine un dominio de discurso sobre el cual aran las
ariables, se asignan alores a las constantes y se deinen los smbolos de uncin y de
predicados de orma particular. Se necesita, por tanto, asignar un alor concreto a cada
smbolo de la rmula en un dominio determinado.
Definicin 8: Una interpretacin de una rmula l consiste en:
-Un conjunto no aco D, llamado Dominio de la interpretacin
-Asociar a cada letra de constante c F un elemento del dominio c D
I
.
-Asignar a cada letra de uncin f de aridad n una aplicacin f
I
de la orma
D D D D
n
. .
-Asignar a cada letra de predicado P de aridad n una aplicacin P
I
de la orma
{ } F V, D D D
n
.
5
Un problema esta resuelto si siempre se puede encontrar solucin. Ls parcialmente
resoluble si se encuentra solucin para algunos casos y no se encuentra para otros, y es
irresoluble si no se encuentra solucin en ningn caso.


Lgica de Predicados
L.U.I.1.I.O.

-8-
Ljemplo 5: Sea ( ) ( ) ( ) ( ) ( ) ) (a Q x f R x Q x P x F = y las interpretaciones siguientes:
Interpretacin
I
1
I
2

Dominio: Nmeros naturales Personas
Constantes
a
I
1
2 = a fuan
I
2
=
Iunciones
f x x
I
1
2
( ) = f x x
I
2
( ) = madre de
P x x
I
1
( ) = es un numero impar P x x
I
2
( ) = juega al poker
Q x x
I
1
0 ( ) = > Q x x
I
2
( ) = estudia inIormatica
Predicados:
R x x
I
1
( ) = es multiplo de 9 R x x
I
2
( ) = es terco
Bajo la interpretacin I
1
la rmula equialdra a:
"Ll cuadrado de todo nmero impar mayor que cero es mltiplo de 9 y el 2 es mayor que
cero"
Mientras que bajo la interpretacin I
2
sera:
"1odas las madres de los estudiantes de inormatica que juegan al pker son tercas y juan
estudia inormatica".
Definicin 9: Dada una interpretacin se deine el alor de una rmula F bajo I ,
denotado por J F
I
( )
6
de la siguiente orma

:
- Si F es un predicado de n argumentos de la orma P a a a a
n
( , , , )
0 1 2
K entonces
J F P a a a
I
I I
n
I
( ) ( , , , ) =
0 1
K donde cada elemento a
i
I
es el resultado de aplicar la
interpretacin al argumento a
i
.
-Si F es de la orma G entonces

=
=
=
V F
F V
) (
) (
) (
G J si
G J si
F J
I
I
I

6
Ln esta deinicin se supone que la rmula l no tiene ariables libres. Si l tuiese, por
ejemplo, x x x
n 0 1
, , , K ariables libres, la aloracin de la rmula se dejara en uncin de
los posibles alores que puedan tomar x x x
n 0 1
, , , K en el dominio. La expresin correcta
sera J F x x x
I n
( ) , , ,
0 1
K . No se ha utilizado esa notacin para no complicar las
expresiones resultantes.

Obsrese que J F
I
( ) es el alor de erdad de F, que puede ser Verdadero o lalso.


Lgica de Predicados
L.U.I.1.I.O.

-9-
-Si F es de la orma G H entonces

= =
=
contrario caso en
) ( ) (
) (
F
V V H J G J si
F J
I I
I

-Si F es de la orma G H entonces

= =
=
contrario caso en
) ( ) (
) (
V
F F H J G J si
F J
I I
I

-Si F es de la orma G H entonces

= =
=
contrario caso en
) ( y ) (
) (
V
F V F H J G J si
F J
I I
I

-Si F es de la orma G H entonces

=
=
contrario caso en
) ( ) (
) (
F
V H J G J si
F J
I I
I

-Si F es de la orma xG x ( ) entonces

=
=
contrario caso en
todo para )) ( (
) (
F
V V D d d G J si
F J
I
I

-Si F es de la orma xG x ( ) entonces:

=
=
contrario caso en
algun para )) ( (
) (
F
V V D d d G J si
F J
I
I

,Ln las dos posibilidades anteriores, G d ( ) se orma sustituyendo todas las apariciones
de por a en la rmula C;) ,
Ls importante remarcar la naturaleza no constructia de la deinicin. Si el dominio
es ininito, para calcular el alor de la rmula se deberan chequear ininitos elementos, lo
cual es inviable. Ntese la dierencia con respecto a la lgica ed proposiciones o lgica de
orden 0, en donde SI era posible acotar todas las posibles interpretaciones desde la premisa
que cada letra proposicional poda adoptar slo dos alores ,1 , ,. La deinicin no
aporta ningn algoritmo para calcular J F
I
( ), de hecho, en la mayora de los casos, no existe
tal algoritmo.
Ljemplo 6: Dada la rmula ( ) ( ) ( ) ( ) ( ) ( ) ) ( , , , v f b a g Q x f Q v x P v x F = , una
interpretacin I para la rmula sera:
Dominio: { } 3 , 2 , 1 = D
Constantes: a b
I I
= = 1 3 ,
lunciones: f x x
I
( ) = 4
g x v : x v :
I
( , , ) ( ) = + + + MOD 3 1


Lgica de Predicados
L.U.I.1.I.O.

-10-
Predicados: P x v x v
I
( , ) " " =
Q x x OR x
I
( ) " " = = = 2 3
Para calcular el alor de la rmula para esa interpretacin se chequeara si para todo
existe un , que cumpla ( ) ( ) ( ) ( ) ( ) ( ) ) ( , , , v f b a g Q x f Q v x P .
Se comienza por x=J:
a, Se busca un ,, escogiendo, por ejemplo, ,~1. Como se puede er en el siguiente
esquema, el alor que se obtiene sera F:
( ) ( ) ( ) ( ) ( ) ( ) ) ( , , , v f b a g Q x f Q v x P

b, Puesto que para ,~1 no se cumple, se busca un nueo alor de ,. Para ,~2 se tiene:
( ) ( ) ( ) ( ) ( ) ( ) ) ( , , , v f b a g Q x f Q v x P

Al obtener alor V no es necesario chequear mas alores de , ,ya se ha encontrado
uno, y se sigue buscando un nueo alor de .
V 3 2
V 1
V V
V
V 3 3
V 2
V I
I
1 1 1 1 3 1
1 2 1 1 3 2


Lgica de Predicados
L.U.I.1.I.O.

-11-
c, Para x=2:
a. y=J:
( ) ( ) ( ) ( ) ( ) ( ) ) ( , , , v f b a g Q x f Q v x P

,ya se ha encontrado un alor de ,, se chequea el ltimo alor de ,
d, Para x=3:
a. y=J:
( ) ( ) ( ) ( ) ( ) ( ) ) ( , , , v f b a g Q x f Q v x P

Como se ha encontrado un alor de , para todos los que haca V la rmula, el
alor de la rmula bajo esa interpretacin J F
I
( ) = V
I 1 3
I 2
I I
V
I 2 3
V 2
I I
V
2 1 2 1 3 1
3 1 3 1 3 1


Lgica de Predicados
L.U.I.1.I.O.

-12-
Ljemplo 7: Dada la rmula F x vP x f v Q a = ( , ( )) ( ) y la interpretacin I :
Dominio: { } 3 , 2 , 1 = D
Constantes: a
I
= 3
lunciones:
` f x
I
( )
1 2
2
1
Predicados: { } ) 3 , 2 ( ), 3 , 1 ( =
I
P , { } 3 , 2 =
I
Q
Se puede comprobar que, en este caso, para x = 3 no existe ningn alor de , que
haga V la rmula. Por tanto, J F
I
( ) = F.
Definicin J0: Una interpretacin I de una rmula F es un modelo para F si J F
I
( ) = V.
Definicin JJ: Una rmula F es vlida si y slo si toda interpretacin I es un modelo de
F .
Obsrese que al existir ininitas interpretaciones, no sera posible chequear si una
rmula es o no alida mediante tablas de erdad.
Definicin J2: Una rmula F es satisfacible si existe alguna interpretacin I que sea un
modelo de F
Definicin J3: Una rmula F es insatisfacible o contradiccin si no existe ninguna
interpretacin I que sea un modelo de F.



Lgica de Predicados
L.U.I.1.I.O.

-13-
Una rmula puede ser: satisacible o insatisacible. Un tipo especial de rmula
satisacible, es aquella que toma siempre alor V ,es alida,. Por tanto, las rmulas alidas
son un subconjunto de las satisacibles.
1eorema J: Una rmula l es vlida si y slo si su negacin F es insatisfacible.
Dem: Si l es alida quiere decir que
J F
I
( ) = V
para toda Interpretacin I. Por tanto,
J F
I
( ) = F
para toda interpretacin, y no existe ninguna interpretacin tal que
J F
I
( ) = V
.


Lgica de Predicados
L.U.I.1.I.O.

-14-
Consecuencia y Equivalencia Lgicas
Definicin 14: Sea C un conjunto de Iormulas { }
n
P P P , ,
2 1
y sea Q una Iormula. Se
dice que Q es consecuencia lgica del conjunto C de premisas (se denotara C Q ) si
toda interpretacion que es un modelo de C es tambien un modelo de Q.
Es decir, si para toda interpretacion I se cumple que si
V = = = = ) ( ) ( ) (
2 1 n I I I
P J P J P J entonces J Q
I
( ) = V (Intuitivamente, se podria
considerar cada interpretacion como un "posible mundo". De esa Iorma, decir que Q es
consecuencia logica de unas premisas es equivalente a pensar que Q toma valor V en
cualquier mundo en el que las premisas tomen valor V).
Una estructura de la Iorma { } Q P P P
n
, ,
2 1
se denomina razonamiento.
Donde { }
n
P P P , ,
2 1
es el conjunto de premisas y Q, la conclusion.
Se dice que un razonamiento es correcto si la conclusion es consecuencia logica
de las premisas.
1eorema 2: Q P P P
n
, , ,
2 1
es correcto si y slo si Q P P P
n

2 1
es alida
Dem: La demostracin se diidira en dos partes:
J.- Si Q P P P
n
, , ,
2 1
entonces Q P P P
n

2 1
es alida.
Q P P P
n
, , ,
2 1
no es alida cuando existe una interpretacin I que cumple
que V = ) (
2 1 n I
P P P J mientras que J Q
I
( ) = F. Ls decir en caso de que
V = = = = ) ( ) ( ) (
2 1 n I I I
P J P J P J y J Q
I
( ) = F. Ls decir cuando no se cumple que
Q P P P
n
, , ,
2 1
.
2.-Si Q P P P
n

2 1
es alida entonces Q P P P
n
, , ,
2 1

Si Q P P P
n

2 1
es vlida entonces toda interpretacin para la cual
V = = = = ) ( ) ( ) (
2 1 n I I I
P J P J P J obliga a que J Q
I
( ) = V, por tanto
Q P P P
n
, , ,
2 1



Lgica de Predicados
L.U.I.1.I.O.

-15-
A continuacion se indican una serie de Iormulas validas o leyes del calculo de
predicados.
Se supone que A, B y C son Iormulas bien Iormadas y x una variable.
Supresin de Implicacin: A B A B
Supresin de Doble Implicacin: ( ) ( ) A B B A B A



Definicin JS: Se dice que dos rmulas A y B son equivalentes lgicamente ,se
denota por A B A B , si para toda interpretacin , se cumple que J A J B
I I
( ) ( ) =
Absorcion ( ) A A B A ( ) A A B A
A F F A V V
Elemento neutro A A V A A F
El. Complementario A A F A A V
Idempotencia A A A A A A
Prop. Commutativa A B B A A B B A
Prop. Asociativa ( ) ( ) C B A C B A ( ) ( ) C B A C B A
Prop. Distributiva ( ) ( ) ( ) C A B A C B A ( ) ( ) ( C A B A C B A

Leyes de De Morgan ( ) B A B A ( ) B A B A
Doble Negacion
(Involucion)
A A


Lgica de Predicados
L.U.I.1.I.O.

-16-
Leyes de De Morgan con cuantificadores:
( ) ( ) x A x x xA ( ) ( ) x A x x xA
Ljemplo 8: La rase ^o ei.tev are. qve vo .eav rotar se
ormalizara: x Ave x Juela x ( ( ) ( ))
Aplicando las leyes anteriores sera equialente a:
( ) ( ) ( ) ) ( ) ( ) ( ) ( ) ( ) ( x Juela x Ave x x Juela x Ave x x Juela x Ave x
que podra leerse como: "1odas las aes saben olar".
Intercambio de cuantificadores:
) , ( ) , ( v x A x v v x A v x ) , ( ) , ( v x A x v v x A v x
) , ( ) , ( v x A x v v x A v x
Nota: La ley anterior se cumple nicamente en el sentido dado , ya que
) , ( ) , ( v x A v x v x A x v
/
.
Si se Considera la interpretacin: Dovivio~Per.ova., .;,,)~ e.ta ca.aao cov ,.
La ley anterior implicara la rase:
i toaa. ta. er.ova. ;,) e.tav ca.aaa. cov atgviev ;) evtovce. ei.te atgviev ;) qve e.ta ca.aao
cov toaa. ta. er.ova. ;,)
Gran distributividad
( ) ( ) ( ) ( ) ( ) ( ) x xB x xA x B x A x

( ) ( ) ( ) ( ) ( ) ( ) x xB x xA x B x A x
Nota: No se cumplen cambiando la conectia o por la conectia ,, es decir:
( ) ( ) ( ) ( ) ( ) ( ) x xB x xA x B x A x / , por ejemplo, para la interpretacin .;)~ e.
atvvvo y ;)~ e. vv borracbo. No es lo mismo: i.tev atvvvo. borracbo. que i.tev
atvvvo. , ei.tev borracbo..
De la misma orma: ( ) ( ) ( ) ( ) ( ) ( ) x xB x xA x B x A x / , ejemplo:
Dovivio: e.tvaiavte.. .;)~ e.ta ategre. ;)~ e.ta tri.te.
La rase 1oao. to. e.tvaiavte. e.tav ategre. o tri.te. no es equialente a 1oao. to.
e.tvaiavte. e.tav ategre. o toao. e.tav tri.te..


Lgica de Predicados
L.U.I.1.I.O.

-1-
Gran distributividad restringida:
( ) ( ) ( ) x A B x x xA B ( ) ( ) ( ) x A B x x xA B
( ) ( ) ( ) x A B x x xA B ( ) ( ) ( ) x A B x x xA B
,donde no aparece en ,


Lgica de Predicados
L.U.I.1.I.O.

-18-
Formas Normales
Definicin J6: Se dice que una rmula F esta en Iorma Normal Prenexa(INP) si es de
la orma
M x Q x Q x Q
n n

2 2 1 1

donde
n
Q Q Q
2 1
son cuantiicadores , , , y M es una rmula sin cuantiicadores.
La secuencia Q x Q x Q
n
x
n 1 1 2 2
L se denomina prefijo de F, mientras que M sera la
matriz de la rmula.
A continuacin se indica mediante un teorema que cualquier rmula cerrada puede
ser tranasormada en una rmula equialente en lorma Normal Prenexa. Si la rmula no
uese cerrada ,tuiese ariables libres, se aplicara el cierre existencial consistente en
anadir al principio de la rmula un cuantiicador existencial por cada ariable libre.
1eorema 3: Para cualquier rmula cerrada de calculo de predicados se puede encontrar
una rmula equialente en lorma Normal Prenexa.
Dem: La demostracin consiste en indicar cmo se transormara la rmula original
utilizando las reglas de equialencia de la seccin anterior, obteniendo la rmula en lorma
Normal Prenexa.
Los pasos a seguir seran:
- Renombrar ariables con el mismo nombre y distinto cuantiicador.
-Lliminar la doble implicacin ,,, utilizando F G F G G F ( ) ( )
-Lliminar implicacin: F G F G
-Aplicar leyes de De Morgan con y sin cuantiicadores de orma que las
negaciones slo aecten a rmulas atmicas.
- Pasar los cuantiicares al principio de la rmula aplicando las leyes de
cuantiicadores.
A continuacin se deiniran la lorma Normal Conjuntia y la lorma Normal
Disyuntia. Para ello, se utilizara la siguiente notacin:



Lgica de Predicados
L.U.I.1.I.O.

-19-

= i
n
i
X
1
es igual a la rmula X X X
n 1 2
L
= i
n
i
X
1
es igual a la rmula X X X
n 1 2
L
Definicin J7: Un literal es una rmula atmica p t t t
n
( , , , )
1 2
K ,tambin llamado literal
positivo, o una rmula atmica negada p t t t
n
( , , , )
1 2
K ,llamado literal negativo,
Definicin J8: Una rmula F esta en Iorma Normal Conjuntiva(INC) si es una
conjuncin inita de la orma |
.
|

\
|

= =
if
m
f
n
i
L
i
1 1
, donde cada L
if
es un literal.
Definicin J9: Una rmula F esta en Iorma Normal Disyuntiva(IND) si es una
disyuncin inita de la orma |
.
|

\
|

= =
if
m
f
n
i
L
i
1 1
, donde cada L
if
es un literal.
1eorema 4: Para cualquier rmula cerrada se puede encontrar una rmula equialente en
lorma Normal Conjuntia ,disyuntia,.
Dem: Cualquier rmula se puede transormar en una rmula en lorma Normal
Conjuntia ,disyuntia, equialente mediante las leyes de De Morgan y las propiedades
distributias.
Definicin 20: Una rmula esta en Iorma Normal Conjuntiva (disyuntiva) Prenexa,
se escribe lNCP ,lNDP,, si esta en lorma Normal Conjuntia ,disyuntia, y en lorma
Normal Prenexa.
1eorema S: Cualquier rmula cerrada se puede transormar en una rmula lgicamente
equialente a ella en lNCP.
Dem: Se transorma la rmula en lNP mediante el teorema 3 obteniendo la rmula en
lNP y, mediante el teorema 4 se transorma la matriz a lNC
Definicin 2J: Una rmula cerrada esta en Iorma Normal de Skolem (INS) si esta en
lNCP y todos los cuantiicadores son uniersales.
Para conertir una rmula a lorma Normal de Skolem es necesario suprimir los
cuantiicadores existenciales. La rmula obtenida no sera lgicamente equialente a la
anterior, sino que sera equisatisacible.
A continuacin se muestra el algoritmo de skolemizacin para suprimir los cuantiicadores
existenciales de una rmula cerrada.


Lgica de Predicados
L.U.I.1.I.O.

-20-
Algoritmo (skolemizacin)
1.- Se busca el primer cuantiicador existencial comenzando por la izquierda.
2.- Si no se encontr, inalizar.
3.- Si el cuantiicador existencial esta al principio ,de la orma xF x ( ),, se suprime la
ariable cuantiicada por una nuea constante ,quedara F a ( ) ,.
Voler al paso 1.
4.- Si existen n cuantiicadores uniersales antes del cuantiicador existencial de la
orma: ) , , , , (
2 1 2 1
v x x x F v x x x
n n
suprimir la ariable cuantiicada
existencialmente ,,, por una nuea uncin de las ariables uniersales anteriores
,
n
x x x , , ,
2 1
,. Quedando de la orma: )) , , , ( , , , , (
2 1 2 1 2 1 n n n
x x x f x x x F x x x .
Voler al paso 1.
1eorema 6: Dada cualquier rmula en lgica de predicados se puede encontrar una
rmula eqvi.ati.facibte a ella en lorma Normal de Skolem.
Dem: Mediante los teoremas anteriores, se puede obtener una rmula equialente en
lorma Normal Conjuntia Prenexa ,lNCP,. Para obtener la rmula en lNS es necesario
suprimir los cuantiicadores existenciales segn los pasos 3 y 4 del algoritmo anterior.
Si se realiza el paso 3, una rmula de la orma xF x ( ) es satisacible cuando existe un alor
constante del dominio que satisace F. Puesto que la nuea constante a no tiene alor
asignado, si se le asocia el alor que satisace F, entonces F a ( ) sera satisacible.
Si se realiza el paso 4, tenemos un alor que satisace F dependiendo de los alores
n
x x x , , ,
2 1
,. Si escogemos una uncin f , que asigne ese alor a ) , , , (
2 1 n
x x x f . .
Lntonces, la rmula )) , , , ( , , , , (
2 1 2 1 2 1 n n n
x x x f x x x F x x x tambin sera
satisacible.
La demostracin en el otro sentido es eidente.
Obsrese la dierencia entre x vC x v ( , ) y v xC x v ( , ). Si se toma la siguiente
interpretacin: "C;,,)~ esta casado con ," se tiene:
x vC x v ( , ) ~ "1oao. e.tav ca.aao. cov atgviev que sera satisacible con C;,f;)) donde
se habra escogido la uncin f;) como la persona que esta casada con .
v xC x v ( , ) ~"i.te atgviev qve e.ta ca.aao cov toao. . Ln este caso sera
equisatisacible con C;,a). Lscogiendo la constante a como la persona que esta casada con
todos.



Lgica de Predicados
L.U.I.1.I.O.

-21-
Definicin 22: Una rmula esta en Iorma Clausal si esta en lNS y se suprimen los
cuantiicadores uniersales y las conjunciones por comas
8
.
Ljemplo 9: lormalizar y pasar a lorma Clausal la rase: 1oao et qve e.tvaie bi.toria o fito.ofa,
arevaera atgo ivtere.avte , covocera cvatqvier er.ova;e griego
Para ormalizar la rase, se toma:
- ;) ~ x estudia historia - ;) ~ x estudia ilosoa - ;) ~ x es interesante
- A,x,y,~ x aprende y - C;,,) ~ x conoce y - C;)~ x es un personaje
griego
Quedara la rmula:
( ) ( ) ( ) ( ) ( ) ( ) ) , ( ) , ( ) ( ) ( ) ( v x C v G v v x A v I v x F x H x
Para transormar la rmula a lorma Clausal se seguira, los pasos generales:
1.- Renombrar ariables comunes:
( ) ( ) ( ) ( ) ( ) ( ) ) , ( ) , ( ) ( ) ( ) ( : x C : G : v x A v I v x F x H x
1.- Lliminar
( ) ( ) ( ) ( ) ( ) ( ) ) , ( ) , ( ) ( ) ( ) ( : x C : G : v x A v I v x F x H x
2.- Introducir negaciones.
( ) ( ) ( ) ( ) ( ) ( ) ) , ( ) , ( ) ( ) ( ) ( : x C : G : v x A v I v x F x H x
3.- Pasar cuantiicadores al principio de la rmula. Se obtiene lNP.
( ) ( ) ( ) ( ) ( ) ( ) ) , ( ) , ( ) ( ) ( ) ( : x C : G v x A v I x F x H : v x
4.- Poner la matriz en lNC, aplicando propiedades distributias. Se obtiene lNCP.

8
La lorma Clausal es equialente a la lNS, simplemente se reescribe como un conjunto de
clausulas.
; ;) ;,) )
; ;) .;,,) )
;;) C;) C;,) )
;;) ;,) )
;;) .;,,) )
;;)C;) C;,) )
,


Lgica de Predicados
L.U.I.1.I.O.

-22-
5.- Quitar cuantiicadores existenciales. Se obtiene lNS

6.- Suprimir cuantiicadores uniersales y reescribir como un conjunto de clausulas,
obteniendo, as lorma Clausal.
( )
( )
)
`



) , ( ) ( )), ( , ( ) ( )), ( ( ) (
), , ( ) ( )), ( , ( ) ( )), ( ( ) (
: x C : G x F x f x A x F x f I x F
: x C : G x H x f x A x H x f I x H

Definicin 23: Una clausula lorn es una clausula que tiene como mucho un literal
positio, se denota de la orma:
, ,
1 n
P P C .
donde el literal positio C se conoce
como la cabeza de la clausula y los literales negatios como el cuerpo de la clausula.
Si n = 0, se denomina Hecho, sera "C"
Una clausula lorn sin literal positio se conoce como Objetivo, sera de la orma
" , ,
1 n
P P . "
Definicin 24: Se denomina clausula aca y se denota por J a la clausula que no tiene
literales. Por deinicin, la clausula aca es insatisacible o contradiccin
; ;) ;f;)) )
; ;) .;,f;)) )
;;) C;) C;,) )
;;) ;f;)) )
;;) .;,f;)) )
;;)C;) C;,) )



Lgica de Predicados
L.U.I.1.I.O.

-23-
Algoritmo de Resolucin
Introduccin
La presentacion se diidira en dos partes, en la primera parte se presenta el
algoritmo de resolucin para lgica de proposiciones demostrando su consistencia y
completud.
Ln la segunda parte se presentara el algoritmo de resolucin general para lgica de
predicados, el cual incluye un paso preio de uniicacin de clausulas mediante
substituciones.
Ll algoritmo se basa en una nica regla de inerencia sencilla y, a la ez de gran
potencia: la regla de resolucin. Puesto que se utiliza una sola regla, es Iacil de analizar
e implementar.
Resolucin Proposicional
Intuitiamente, la idea de la resolucion proposicional es simple:
Si se sabe que se cumple: "P Q" y que se cumple "no P R" entonces se
puede deducir que se cumplir "Q R".
Ljemplo 2J: Si se tiene: "Gana o Pierde o Lmpata" y "Si Gana entonces da una liesta o
Va de Viaje". Se puede deducir que: "O Pierde o Lmpata o da una liesta o a de Viaje".
lormalizando, la primera rase sera: G P E y la segunda: G F J G F J
La regla de resolucin inerira: P E F J
Definicin 34: Dadas dos clausulas C
1
y C
2
tales que exista un literal t de orma que l C
1

y l C
2
, se denomina resolvente de C
1
y C
2
respecto a l
a: { } ( ) { } ( ) l C l C C C R
l
=
2 1 2 , 1
) ( . Se dice que C
1
y C
2
son clusulas resolubles.

1eorema 6 (Consistencia de la regla de resolucin): Ll resolente de dos clausulas es
consecuencia lgica de ellas. Ls decir { } ( )
2 1 2 1
, , C C R C C
Dem: Sean
m
l l l l C
1 12 11 1
= y
n
l l l l C
2 22 21 2
= dos clausulas
resolubles.
Ll resolente de C
1
y C
2
respecto a t sera
n m l
l l l l l l C C R
2 22 21 1 12 11 2 1
) , ( =


Ll mtodo de resolucin es un algoritmo acilmente mecanizable propuesto por J.A.
Robinson en 1965. Si un conjunto de clausulas es insatisacible, el algoritmo lo detecta y
para ,teorema de Completud,. Si el conjunto es satisacible podra detectarlo o no parar,
por lo cual se dice que es un algoritmo parcialmente completo.


Lgica de Predicados
L.U.I.1.I.O.

-24-
Por el teorema 2, probar que { } ( )
2 1 2 1
, , C C R C C es equialente a probar que
( )
2 1 2 1
, C C R C C es alida. Supngase que existe una interpretacin que la hace lalsa,
la asignacin de alores sera:

Puesto que se llega a una contradiccin, la rmula no puede ser Ialsa y sera siempre
erdadera, es decir, la rmula es Vlida.
1eorema 7: Si el resolente de 2 clausulas C
1
y C
2
es la clausula aca, entonces esas dos
clausulas son insatisacibles.
Dem: Segn el teorema anterior, el resolente de 2 clausulas es consecuencia lgica de
ellas, por tanto, la rmula: C C
1 2
es alida. Puesto que tiene alor lalso, para que
la implicacin sea alida, C C
1 2
tienen que tener alor lalso. Ls decir, son insatisacibles.
Ll algoritmo de resolucin chequeara si un conjunto de clausulas es insatisacible, para ello
seleccionara pares de clausulas resolubles y calculara su resolente. Si se obtiene la clausula
aca, el conjunto es insatisacible. Ln caso contrario, el resolente se anade al conjunto de
clausulas y se seguiran buscando nueos pares de clausulas.

Algoritmo de resolucin proposicional
Lntrada: Un conjunto de clausulas C
Salida: Detecta si C es insatisacible
1.- Buscar dos clausulas C C C
1 2
, tales que exista un literal t que cumple que l C
1
y l C
2

2.- Si se encuentran:
3.- Calcular R C C
l
( , )
1 2
y anadirlo al conjunto C
4.- Si R C C
l
( , )
1 2
= entonces SALIR indicando que C es insatisfacible.
5.- Si no, Anadir R C C
l
( , )
1 2
a C y Voler a 1
3.- Si no se encuentran: SALIR indicando que C no es insatisfacible.
Ljemplo 22: Sea C el siguiente conjunto de clausulas { } r q p r q p p , , , , se
puede demostrar que C es insatisacible por resolucin. Para ello:
I I
11
. I
1m
I I
21
. I
2n
I
11
. I
1m
I
21
I
2n

V I
I
V
I
Contradiccin!


Lgica de Predicados
L.U.I.1.I.O.

-25-
- Se resuele la tercera clausula , r , con la cuarta , p q r ,, obteniendo p q.
- Se resuele ahora la clausula anterior con la segunda clausula , p q , obteniendo: p
- Se resuele ahora la clausula anterior con la primera y se llaga a la clausula aca J
Puesto que se llega a la clausula aca, C es insatisacible.
A continuacin se presentaran las ideas generales necesarias para la demostracin del
teorema de completud del algoritmo de resolucin proposicional basandose en el concepto
de arbol semantico deinido en la seccin anterior. Se puede proundizar mas en |Ben-Ari
93|. Ademas, existe otra orma de demostrar el teorema por induccin en el nmero de
literales, ase |Sperschneider 91|
Ljemplo 23: Sea el conjunto de clausulas { } r q p r q p p C = , , , , para construir
el arbol semantico para C se recuerda que un conjunto de clausulas equiale a una rmula
en lorma Normal Conjuntia, en este caso, ( ) ( ) ( ) r q p r q p p . Ln la
siguiente igura se muestra el arbol semantico correspondiente marcando la clausula
alsiicada en los nodos de allo. Ll arbol semantico sera:

( ) p
( ) p q
( ) p q r
( ) r
p
q
r
F F
F
F
p
q
r

Lema J: Si un conjunto de clausulas es insatisacible, entonces el arbol semantico es inito
y esta limitado por nodos de allo, se denomina, en ese caso, rbol de fallo.
Lema 2: Cada nodo de allo v alsiica al menos a una de las clausulas del conjunto que
sera la clusula asociada a n.
Lema 3: La clausula C asociada a un nodo de allo v contiene un subconjunto de los
complementos de los literales que aparecen en la rama que a desde la raz del arbol
semantico hasta v.
Dem: Puesto que la clausula C es alsiicada en el nodo v, todos sus literales deben tener
asignado un alor en la interpretacin parcial correspondiente a v. Ademas, el alor de esos
literales debe ser F,puesto que C es una disyuncin, con lo cual, el alor asignado debe ser
el complementario.
Definicin 3S: Se denomina nodo de inferencia a un nodo del arbol semantico cuyos dos
hijos son nodos de allo.
Lema 4: Ln un arbol de allo, salo que slo tenga un nodo, debe existir al menos un nodo
de inerencia.
Dem: Puesto que el arbol de allo es inito y las ramas se desarrollan de dos en dos,
necesariamente tendremos un ltimo nodo desarrollado con dos hijos.


Lgica de Predicados
L.U.I.1.I.O.

-26-
Lema S: Un nodo de inerencia i indica un paso de resolucin de las clausulas asociadas a
sus dos hijos. Ll resolente de dichas clausulas es alsiicado por el nodo i y,
ocasionalmente, por alguno de sus antecesores.
Dem: Ln un nodo de inerencia i cualquiera, se tendra un esquema como el que sigue:
F (C
k
)
i
( ) p
p = V
( )
=
p
p F
F (C )
j
f k

- Puesto que el nodo i no alsiic C
f
y lo nico que cambia en el nodo ; respecto a i es el
alor de , la clausula C
f
debe contener el literal p ,complementado para que sea lalso,.
- Por la misma razn anterior, la clausula C
k
debe contener el literal ,sin complementar
para que sea lalso,
Por tanto C
f
y C
k
son resolubles respecto a . Ll esquema sera:
k f k f p
k k
f f
C resto C resto C C R
C resto p C
C resto p C
) , (

=
)
`

=
=

Ln el nodo ;, C
f
toma alor lalso, por tanto resto C
f
tomara tambin alor lalso, como
resto C
f
no contiene el literal tambin tomaran alor lalso en el nodo i. De la misma
orma, resto C
k
tomara alor lalso en et voao i. Por tanto, R C C resto C resto C
p f k f k
( , ) =
tomara alor lalso en el nodo i, es decir, el nodo i, es un nodo de allo para el resolente
de C
f
y C
k

Ln ocasiones, puede ocurrir que el resolente sea alsiicado tambin por alguno de los
padres del nodo de inerencia, como ejemplo, considrese el conjunto de clausulas
{ } r p r q p p , , , , el arbol semantico, junto con los resolentes sera:
( ) p
p
q
r
( ) p q
( ) p r
( ) p
p
q
r
( ) r F
F
F
F

Ll resolente de los nodos 6 y es ,p, que alsiica al nodo 4 pero tambin
alsiica a su antecesor, el nodo 2.



Lgica de Predicados
L.U.I.1.I.O.

-2-


1eorema 8 (Completud del Algoritmo de Resolucin Proposicional): Si un conjunto
de clausulas es insatisacible entonces, aplicando el algoritmo de resolucin, se alcanza la
clausula aca.
Dem: Dado un conjunto de clausulas insatisacibles, el arbol semanttico sera un arbol de
allo ,Lema 1,, ademas existira al menos un nodo de inerencia ,Lema 4, con el cual se
puede ormar un resolente de sus dos hijos ,Lema 5, y anadirlo al conjunto. Si se
construye el arbol semantico para el nueo conjunto, el nueo arbol semantico sera mas
pequeno que el anterior ,puesto que se encuentra un nodo de allo antes, y, como el
conjunto es insatisacible, existira de nueo otro nodo de inerencia, ..., repitiendo el
proceso se llegara a un arbol semantico con un solo nodo que correspondera a la clausula
aca.
Resolucin General
Como ya se ha indicado, el algoritmo de resolucin general para lgica de predicados de
primer orden es una generalizacin del algoritmo de resolucin proposicional que incluye
un paso preio de uniicacin de clausulas mediante substituciones. Ls necesario, por
tanto, deinir qu es una substitucin para deinir a continuacin qu es un uniicador de
clausulas. Una ez deinidos ambos conceptos se presenta el mtodo de resolucin general
demostrando su consistencia y completud.
Definicin 36: Una substitucin es un conjunto inito de la orma
{ }
n n
t v t v t v / , , / , /
2 2 1 1
donde cada v
i
es una ariable, cada t
i
es un trmino distinto de
v
i
y las ariables v v v
n 1 2
, , , L son distintas entre s.
Definicin 37: Una expresin es un trmino, un literal o una conjuncin o disyuncin de
literales. Una expresin simple es un trmino o un atomo.
Definicin 38: Sea { }
n n
t v t v t v / , , / , /
2 2 1 1
= y E una expresin, entonces se deine la
instancia de por , denotado por ( ) E , como la expresin que resulta de substituir
simultaneamente cada aparicin de la ariable v
i
en por el trmino t
i
,i n = 1, , K ,.
Ljemplo 24: Sea E P x v f a = ( , , ( )) y { } ) ( / , / x f v b x = entonces
( ) )) ( ), ( , ( a f x f b P E = .
Substitucin
Una substitucin sera un mecanismo que nos permitira transormar rmulas. Ll
inters principal de las substituciones radica, en esta exposicin, en su aplicacin a la
unificacin de un conjunto de expresiones, haciendo que las expresiones resulten
sintacticamente idnticas.

Una substitucin es bsica si los trminos t
i
no contienen ariables.
Si ( ) E no contiene ariables entonces ( ) E es una instancia bsica de .


Lgica de Predicados
L.U.I.1.I.O.

-28-
Definicin 39: Sean { }
m m
t x t x t x / , , / , /
2 2 1 1 1
. = y { }
n n
s v s v s v / , , / , /
2 2 1 1 2
. =
dos substituciones, entonces la composicin de substituciones
1 2
o es la substitucin:
Ejemplo 25: Sea { } : v v f x / ), ( /
1
= y { } v : b v a x / , / , /
2
= entonces
Definicin 40: La substitucin deinida por el conjunto aco se denomina substitucin
vacia substitucin identidad y se denota por .
Ljemplo 26: Sea { } : v v f x / ), ( /
1
= y { } b : a x / , /
2
= .
{ } b : b v v f x / , / ), ( /
2 1
= .
Definicin 4J: Dadas dos expresiones, E y F, se dice que son variantes si existen dos
substituciones
1
y
2
tales que ( ) F E
1
= y ( ) E F
2
= . 1ambin se dice que es una
ariante de o que es una ariante de .
Ljemplo 27: P f x v g : a ( ( , ), ( ), ) es una ariante de P f v x g u a ( ( , ), ( ), ). Sin embargo,
9
Obsrese que no se incluye el par v v / .
( ) ( ) ( ) { } { }
f f m m
s v t x t x t x / / , , / , /
2 2 2 2 1 2 1
Donde f n = 1K ,
{ }
n f
x x x v , , ,
2 1
. y se eliminan los elementos ( )
i i
t x
2
/ que cumplen ( )
i i
t x
2
= .
{ } v : b f x / ), ( /
2 1
=
9



Propiedades de la Composicin de Substituciones
- Asociativa:
1 2 3 1 2 3
o o o o ( ) ( ) = para todas las substituciones
1 2 3
, ,
Lsta propiedad permite omitir los parntesis en la composicin de v substituciones
- Llemento Neutro: La substitucin aca cumple o o = = para toda
substitucin .
- No cumple la propiedad commutativa.
- ( ) ( ) ( ) E E
2 1 1 2
= para todas las substituciones
1 2
, y las expresiones E.

Sea E P x v g : = ( , , ( )) , entonces:

1
( ) ( ( ), , ( )) E P f v : g : = y ( ) )) ( , ), ( ( ) (
1 2
b g b v f P E =
De la misma orma:
1 2
o ( ) ( ( ), , ( )) E P f v b g b =





Lgica de Predicados
L.U.I.1.I.O.

-29-
P x x ( , ) no es una ariante de P x v ( , ).
Definicin 42: Sea E una expresin y 1 el conjunto de ariables que aparecen en . Una
substitucin de renombramiento para es una substitucin de la orma
{ }
n n
v x v x / , , /
1 1
tal que { } J x x
n
, ,
1
e v
f
son ariables distintas entre s que no
pertenecen a 1


Lgica de Predicados
L.U.I.1.I.O.

-30-
Definicin 43: Dado un conjunto inito de expresiones simples { }
n
E E E C , , ,
2 1
= y una
substitucin . Se dice que es un unificador para C si despus de aplicar la
substitucin, el conjunto es unitario. Ls decir, si: ( ) ( ) ( )
n
E E E = = =
2 1

Ljemplo 28: Sea { } ) , ( ), ), ( ( a v P : x f P C = , entonces { } a : a f v a x / ), ( / , / = es
un uniicador de C, ya que ( ) ( ) ) ), ( (
2 1
a a f P E E = =
Definicin 44: Se dice que un uniicador para un conjunto inito de expresiones simples
es un unificador ms general,umg, si para cualquier otro uniicador existe una
substitucin que cumple = o . De orma intuitia, el uniicador mas general puede
considerarse como el uniicador mas simple de todos los posibles uniicadores.
Ljemplo 29: Sea { } )) , ( , ( )), , ( ), ( ( a v g v P : u g x f P C = , se puede comprobar que
{ } a : v u x f v / , / ), ( / = es un uniicador mas general que cualquier otro
uniicador. Por ejemplo el uniicador { } a : v u a x a f v / , / , / ), ( / = puede ser obtenido a
partir de aplicando la substitucin { } a x / = . Ls decir, se cumple que = o .
Ln el ejemplo anterior, se puede obtener otro umg: { } a : u v x f v / , / ), ( /
2
= . Lsto indica
que un uniicador no esta nicamente determinado. Sin embargo se puede obserar que
y
2
estan relacionados por dos substituciones de renombramiento { } u v / y { } v u / , ya
que: { } v u /
2
= y { } u v /
2
= , y por tanto, las clausulas que resulten de aplicar
dos umg distintos seran ariantes.
1eorema 9: Si
1
y
2
son dos umg de un conjunto de expresiones C, entonces las
expresiones
1
( ) C y
2
( ) C son ariantes.
Unificacin
Ll concepto de uniicacin se debe a lerbrand que present, en su tesis de 1930, un
algoritmo no determinista para calcular el uniicador de dos trminos. Sin embargo, sera
Robinson, en 1965, quien lo oliera a redisenar para aplicarlo al algoritmo de prueba de
teoremas por resolucin. Ll algoritmo de Robinson requera tiempo y espacio
exponenciales y, desde entonces, se ha realizado un gran esuerzo para mejorar su eicacia.
Para un tratamiento detallado del algoritmo de uniicacin y sus aplicaciones a otros
campos, ase |Knight 89|.



Sin embargo, el conjunto { } )) ( , ( ), ), ( ( w f v P a x f P no es uniicable porque los
segundos argumentos a y f;r) no uniican.




Lgica de Predicados
L.U.I.1.I.O.

-31-
Definicin 4S: Dado un conjunto de expresiones simples { }
n
E E E E , , ,
2 1
= , se deine
el Conjunto de Discrepancias o desacuerdos de E y se denota por ( ) E D , como el
conjunto obtenido de la siguiente orma:
Ljemplo 30: Sea { } ) ), ( ), ( ( ), , ), ( ( ), ), ( ), ( ( b v h x f P a : x f P a v h x f P E = , puesto que las tres
expresiones de E son similares, se buscan el primer conjunto E
f
cuyas discrepancias sean
distintas del conjunto aco. Se tiene:
10
Se consideran expresiones similares, las que estan ormadas por una misma letra ,de
predicado o uncin, seguida de un mismo nmero v de argumentos, donde n 0

A continuacin se presentara el algoritmo de unificacin , que toma como entrada
un conjunto inito de expresiones y deuele el umg si las expresiones son uniicables. Ln
caso contrario inorma que las expresiones no son uniicables.
Intuitiamente se comporta de la siguiente orma. Supngase que se quieren uniicar
dos expresiones, se toman dos punteros comenzando por la izquierda de cada una de las
expresiones. Los punteros se mueen juntos hacia la derecha hasta que se encuentran dos
smbolos dierentes. Ln ese momento, se intentan uniicar las dos subexpresiones
encontradas. Si se pudieron uniicar, el proceso contina con las dos expresiones tras
aplicarles la nuea substitucin, si no, las expresiones no son uniicables y se acaba.
Cuando los punteros alcancen el inal de las dos expresiones, la composicin de todas las
substituciones sera el umg.
Para la descripcin del algoritmo es necesario deinir qu es el conjunto de
discrepancias.
- Si E es unitario, entonces D E ( ) =
- Si no:
- Si las expresiones de E son todas "similares"
10
, es decir, E es de la orma:
{ } ) , , , ( , ), , , , ( ), , , , (
2 1 2 22 21 1 12 11 mn m m n n
t t t f t t t f t t t f E =
Se deine { }
mf f f f
t t t E , , ,
2 1
= y D E D E
f
( ) ( ) = para el menor ; tal que
D E
f
( )
Si no D E E ( ) = .



Lgica de Predicados
L.U.I.1.I.O.

-32-
{ } ) (
1
x f E = , que al ser unitario, sus discrepancias son igual al conjunto aco.
{ } : v h E ), (
2
= , se buscan las discrepancias de E
2
, que, como no es unitario, ni las
expresiones similares, quedara { } : v h E E D ), ( ) (
2 2
= =
Ll menor ; que cumple que D E
f
( ) es 2 y, por tanto, { } : v h E D E D ), ( ) ( ) (
2
= =
Algoritmo de Unificacin

1.- Inicializacin: k:= 0,
0
: =
2.- Si
k
E ( ) consta de una sola rmula atmica , la sido uniicado por
k
,
entonces: Salir y Deoler
k
que sera el umg de E
sino: ( ) ( ) E D D
k k
= :
3.- Si en D
k
existe una ariable r y un trmino t en el que no aparece la variable v
entonces:
{ } t v
k k
/
1
=
+

k k = +1
Voler al paso 2.
sino: Salir y Deoler que el conjunto E no es uniicable.


Ll algoritmo de uniicacin presentado contiene una indeterminacin en el paso 3,
ya que pueden existir arias posibilidades a la hora de seleccionar r y t. Sin embargo, la
aplicacin de cualquier umg producido por el algoritmo obtiene expresiones que slo
diieren en el nombre de las ariables. Lsta claro que el algoritmo termina, ya que se tiene
un nmero inito de ariables y cada aplicacin del paso 3 elimina una ariable.





Lgica de Predicados
L.U.I.1.I.O.

-33-
Ljemplo 3J: Sea

{ } ) , ( )), ( ), ( ( v v P x g a f P E =
.
Ljemplo 32: Sea { } )) ( ), ( , ( ))), ( ( , , ( v h v h : P : g h x a P E =
Ln el paso 3 del algoritmo de uniicacin, se establece el chequeo de que el trmino no
contenga la ariable. Lse chequeo se conoce como "chequeo de ocurrencias",occur check,.
A continuacin se da un ejemplo de su uso.
Paso J: k = 0,

0
=
.
Paso 2:
{ } v a f D ), (
0
=

Paso 3: Selecciona
v v =
y
t f a = ( )
.
{ } ) ( /
1
a f v =
, k = 1
Paso 2:
{ } )) ( ), ( ( )), ( ), ( ( ) (
1
a f a f P x g a f P E =
,
{ } ) ( ), (
1
a f x g D =

Paso 3: No encuentra variable en
D
1 sale e indica que NO son uniicables.

Paso J: k = 0,

0
=
.
Paso 2:
{ } : a D ,
0
=

Paso 3: Selecciona v=z, t=a.
{ } a : /
1
=
, k = 1
Paso 2: { } )) ( ), ( , ( ))), ( ( , , ( ) (
1
v h v h a P a g h x a P E = ,
{ } ) ( ,
1
v h x D =

Paso 3: Selecciona: v=x, t=h(y).
{ } ) ( / , /
2
v h x a : =
. k=2
Paso 2:
{ } ) ( ), ( , ( ))), ( ( ), ( , ( ) (
2
v h v h a P a g h v h a P E =
. { } ) ( ,
2
a g v D =
Paso 3: Selecciona v=y, t=g(a).
{ } ) ( / )), ( ( / , /
3
a g v a g h x a : =
, k=3.
Paso 2:
{ } ))) ( ( )), ( ( , ( ) (
3
a g h a g h a P E =
es unitario. Salir y devolver

3 que ser el
umg de E.



Lgica de Predicados
L.U.I.1.I.O.

-34-
Ljemplo 33: Sea { } )) ( , ( ), , ( v f v P x x P E = .
Ljemplo 34: Sea { } ) , ( , ), , ( ), , ( ( ), , , (
1 1 1 1 0 0 1
=
n n n
x x f x x f x x f P x x P E .

Paso 1: k = 0,
0
= .
Paso 2: { } v x D ,
0
=
Paso 3: Selecciona r~, t~,. { } v : /
1
= , k = 1
Paso 2: { } )) ( , ( ), , ( ) (
1
v f v P v v P E = , { } ) ( ,
1
v f v D =
Paso 3: Puesto que , aparece en f;,), el conjunto NO es uniicable.
Robinson demostr en lo que se conoce como teorema de unificacin que el
algoritmo de uniicacin para y deuele un umg si el conjunto de expresiones es uniicable
o para e indica que el conjunto no es uniicable si se es el caso.
Ll algoritmo de uniicacin puede llegar a ser muy ineiciente. Ln el peor de los
casos, su tiempo de ejecucin puede llegar a ser una uncin exponencial de la longitud de
la entrada.


Lgica de Predicados
L.U.I.1.I.O.

-35-
Algoritmo de Resolucin General

Definicin 46: Dadas dos clausulas C
1
y C
2
sin ariables comunes, tales que l C
1 1
y
l C
2 2
son dos literales que pueden ser uniicados por un umg . Se dice entonces que C
1

y C
2
son clusulas resolubles y se deine el resolvente de C
1
y C
2
respecto a l
1
y l
2

como la clausula:

Ljemplo 36: Sean las clausulas: C P x
1
= ( ) y C P a
2
= ( ) . Uniiacndo los dos nicos literales,
se obtiene el umg { } a x / = y el resolente R C C ( , )
1 2
=J sera la clausula aca.
Ljemplo 37: Sea el conjunto { } ) ( )), ( ( x P x f P .
Ln lgica de Primer Orden el algoritmo de resolucin requiere un paso preio de
uniicacin de los literales por los que se resuele. A continuacin se exponen las
deiniciones del algoritmo de resolucin general con uniicacin y se demostrara que es
consistente y parcialmente completo.
{ } { } ) ( ) ( ) ( ) ( ) , (
2 2 1 1 2 1 ,
2 1
l C l C C C R
l l
=

Ljemplo 3S: Considrense las clausulas
C P f x g v Q x v R x
1
= ( ( ), ( )) ( , ) ( ) y C P f f a g : Q f a :
2
= ( ( ( )), ( )) ( ( ), )
1omando los literales l P f x g v
1
= ( ( ), ( )) y l P f f a g :
2
= ( ( ( )), ( )) se encuentra un umg
{ } v : a f x / ), ( / =
Lntonces, el resolente de C
1
y C
2
respecto a l
1
y l
2
sera:
R C C Q f a v R f a Q f f a v
l l
1 2
1 2 ,
( , ) ( ( ), ) ( ( )) ( ( ( )), ) =
Se demostrara que, si el resolente de dos clausulas de un conjunto es la clausula
aca, entonces ese conjunto es insatisacible. Ln el ejemplo, esta claro que el conjunto
{ } ) ( ), ( a P x P es insatisacible ya que representa la rmula xP x P a ( ) ( ) .
Para que el mtodo sea completo ,er pag. 42,, las clausulas no deben tener ariables
en comn. Lsto se logra manteniendo las clausulas en su orma original y, a la hora de
utilizarlas, substituyendo todas sus ariables por nombres de ariable nueos, es decir, se
aplica una substitucin de renombramiento para obtener una clausula ariante. Se recuerda
que las ariables en una clausula estan cuantiicadas implcitamente de orma uniersal
luego el renombramiento de ariables no cambia la satisacibilidad del conjunto.


Lgica de Predicados
L.U.I.1.I.O.

-36-
Algoritmo de resolucin general
Lntrada: Un conjunto de clausulas C
Salida: Detecta si C es insatisacible
1.- Buscar dos clausulas C C C
1 2
, resolubles
2.- Si se encuentran:
3.- Calcular R C C ( , )
1 2
y anadirlo al conjunto C
4.- Si R C C ( , )
1 2
= entonces SALIR indicando que C es insatisfacible.
5.- Si no, Anadir R C C ( , )
1 2
a C , Voler a 1
3.- Si no se encuentran: SALIR indicando que C no es insatisfacible.

11
Ll proceso de renombramiento, no debe conundirse con el chequeo de
ocurrencias. Ll cual preiene la uniicacin dentro de una clausula: P f x P x ( ( )) ( ) . Lsa
clausula representa la rmula x P f x P x ( ( ( )) ( )) que no es alida.

Las clausulasC P f x
1
= ( ( )) y C P x
2
= ( ) no pueden ser resueltas ya que no uniican
los literales debido al chequeo de ocurrencias. Sin embargo, si se renombran sus ariables,
se tiene:
C P f x
v
1 1
= ( ( )) y C P x
v
2 2
= ( )
Utilizando el umg { } ) ( /
1 2
x f x = , queda: R C C
v v
( , )
1 2
=J
Puesto que se obtiene la clausula aca, el conjunto { } ) ( )), ( (
2 1
x P x f P es
insatisacible, y el conjunto original: { } ) ( )), ( ( x P x f P tambin sera insatisacible. Lste
resultado es correcto, ya que, el conjunto anterior, teniendo en cuenta la cuantiicacin
uniersal de las ariables, sera:
) ( )) ( ( x P x x f xP
Lse conjunto, es, eidentemente, insatisacible
11
.
Utilizando la resolucion se puede comprobar que si un conjunto de clausulas es
insatisIacible (teorema de completud, pag 42) se podran ir generando resolventes de una
clausula con otra hasta que se llegue a la clausula vacia. A continuacion se describe el
algoritmo general de resolucion:



Lgica de Predicados
L.U.I.1.I.O.

-3-
Ljemplo 38: A continuacin se describe el comportamiento del algoritmo con el conjunto:
1
P x Q x R x f x ( ) ( ) ( , ( ))

2
P x Q x S f x ( ) ( ) ( ( ))

3
T a ( )

4
P a ( )

5
R a v T v ( , ) ( )

6
T x Q x ( ) ( )


T x S x ( ) ( )

8
Q a ( )
{ } a x /
6 3
9
Q a S f a ( ) ( ( ))
{ } a x / 2 4
10
S f a ( ( ))

8 9
11
Q a R a f a ( ) ( , ( ))
{ } a x / 1 4
12
R a f a ( , ( ))

8 11
13
T f a ( ( ))
{ } ) ( / a f v 5 12
14
S f a ( ( ))
{ } ) ( / a f x 7 13
15
J

10 14
Puesto que se obtiene la clausula aca el algoritmo termina en el paso 3 indicando que el
conjunto de clausulas es insatisacible
12
Normalmente se dice que es reutacionalmente completo. Ls decir, completo para
reutaciones o deriaciones de la clausula aca.
)
`



) ( ) ( ), ( ) ( ), ( ) , ( ), ( ), (
)), ( ( ) ( ) ( )), ( , ( ) ( ) (
x S x T x Q x T v T v a R a P a T
x f S x Q x P x f x R x Q x P

Ln las lneas 1- se escriben de nueo las clausulas del conjunto. A continuacin
,lneas 8 a 15, aparecen las distintas Clausulas C ,resolente, junto con el umg utilizado y
los nmeros de clausulas resolubles.
Ll siguiene paso consistira en demostrar que el sistema de razonamiento que utiliza el
principio de resolucin es consistente y parcialmente completo
12
.


Lgica de Predicados
L.U.I.1.I.O.

-38-
1eorema J0 (Consistencia del principio de resolucin): Si C es el resolente de C
1
y C
2

entonces C es consecuencia lgica de C
1
y C
2
.
Supngase que el resolente no es consecuencia lgica de C
1
y C
2
, entonces, se tendran los
siguientes alores de erdad:

Dem: Puesto que una substitucin signiica particularizar las ariables de una expresin. La
instancia de cualquier expresin sera consecuencia lgica de , es decir, para cualquier
substitucin se cumple que ( ) E E
Ln particular el umg de l
1
y l
2
es una substitucin y tambin se cumplira que
( )
1 1
C C
( )
2 2
C C .
|1|
Ahora resta probar que ( ) ( ) C C C
2 1

Se tiene: C l RC
1 1 1
= y que C l RC
2 2 2
= ,Recurdese que l C
1 1
y que l C
2 2
,
donde RC
1
y RC
2
representan el resto de literales de C
1
y C
2
.
Si es un umg de l
1
y l
2
entonces ( ) ( ) l l
2 1
=
) ( ) ( ) (
1 1 1
RC l C =
( ) ( ) ( ) C l RC
2 2 2
= ~ ( ) ( ) l RC
1 2

Por otra parte,
{ } { } ) ( ) ( ) ( ) ( ) , (
2 2 1 1 2 1 ,
2 1
l C l C C C R C
l l
= = ~( ) ( ) RC RC
1 2

o;
1
) o;RC
1
) o;
2
) o; RC
2
) o;RC
1
) o;RC
2
)
I I
I V
I
I I ? ?


Lgica de Predicados
L.U.I.1.I.O.

-39-
( )
( )
C
C C
C C

)
`

2 2
1 1


- Puesto que son clausulas basicas, se pueden considerar como proposiciones con
alor V F / . Se ha demostrado que al aplicar el algoritmo de resolucin sobre un conjunto de
proposiciones insatisacibles se obtiene la clausula aca ,teorema de completud
proposicional,.
1eorema JJ (Lema de elevacin): Si C
1
y C
2
son clausulas sin ariables comunes y
1
y

2
dos substituciones tales que = C C
1 1 1
( ) y = C C
2 2 2
( ) no tienen ariables en comn y
son resolubles mediante un umg en una clausula C entonces existe ,puede eterar.e, una
clausula C y dos substituciones y tales que C es el resolente de C
1
y C
2
mediante un
umg y ( ) C C = , C es una instancia de C,. Vase el esquema de la igura:
C
1
C
2

1

2
= C C
1 1 1
( ) = C C
2 2 2
( )
C
umg
se puede
elevar a:
C
1
C
2

1

2
= C C
1 1 1
( ) = C C
2 2 2
( )
C
C
umg



( ) l
1
no puede tomar alor F, ya que la expresin del primer corchete sera alsa ,tiene que
ser V,. De la misma orma, tampoco puede tomar alor V pues hara alsa la expresin del
segundo corchete. Por tanto, la rmula anterior no puede tomar alor F y sera alida. Se
cumple que:
( ) ( ) C C C
2 1
y, uniendo con |Lrror! Marcador no definido.| se tiene:
lalta demostrar que el algoritmo de resolucin es parcialmente completo en el
sentido de que, cuando el conjunto de clausulas es insatisacible, encuentra la clausula
aca.
Los pasos a seguir en la demostracin son:
- Utilizando el teorema de lerbrand, si un conjunto de clausulas es insatisacible
entonces existe un subconjunto inito de clausulas basicas insatisacible.


Lgica de Predicados
L.U.I.1.I.O.

-40-

- Una ez obtenida la clausula aca sobre el conjunto de clausulas basicas se extrapola el
resultado al conjunto original de clausulas, para lo cual se emplea el lema de eleacin.
Dem: Supngase que:
{ }
1 2 1 1
RC l l l C
m
=
{ }
2 2 1 2
RC l l l C
n m m m

+ + +
=
Donde l
i
seran los literales que uniicaran, RC
1
y RC
2
representan el resto de literales de
cada clausula y, puesto que tiene que existir al menos un literal en cada clausula m> 0 y
n > 0.
Se cumplira que:
{ } ) ( ) ( ) ( ) (
1 1 1 1 1 1 1 1
RC l l C C
m
= =
{ } ) ( ) ( ) ( ) (
2 2 2 1 2 2 2 2
RC l l C C
n m m

+ +
= =
es un umg de los literales: { } ) ( , ), ( ), ( , ), (
2 1 2 1 1 1 n m m m
l l l l
+ +
y el
resolente sera:
= C RC RC ( ( )) ( ( ))
1 1 2 2
U |2|
Puesto que
1
y
2
no tienen ariables en comn y
1 1
( ) C y
2 2
( ) C tampoco, la
substitucin ( )
2 1
sera un uniicador de { }
n m m m
l l l l
+ +
, , , , ,
1 1
. . ya que:
( ){ }=
+ + n m m m
l l l l , , , , ,
1 1 2 1
. .
{ } =
+ +
) ( , ), ( ), ( , ), (
2 1 1 2 1 2 1 1 2 1 n m m m
l l l l . .
{ } ) ( , ), ( ), ( , ), (
2 1 2 1 1 1 n m m m
l l l l
+ +
. .
\ ese conjunto era uniicable por .
Si existe un uniicador, existira un umg, sea el umg de { }
n m m m
l l l l
+ +
, , , , ,
1 1
. . ,
entonces, por la deinicin de umg cumplira que, para cualquier otro uniicador ,en este
caso ( )
2 1
, existe una substitucin tal que
( ) =
2 1
|3|
Sea C RC RC = ( ) ( )
1 2
el resolente de C
1
y C
2
respecto a , entonces:
( ) = C
( ( ) ( )) RC RC
1 2
=
o ( ) RC RC
1 2
= ,aplicando |2|,


Lgica de Predicados
L.U.I.1.I.O.

-41-
( )( )
2 1 2 1
RC RC ~
( )( ) ( )( ) =
2 2 1 1 2 1
RC RC
,Puesto que C
1
y C
2
no tienen ariables en comn, la substitucin
1
slo aecta a C
1

y no tiene eecto sobre RC
2
,de igual orma,
2
no aecta a RC
1
,, por tanto:

1 2 1 1 1
= ( ) ( ) RC RC y
1 2 2 2 2
= ( ) ( ) RC RC ,
~ ( ) ( ) ( ) ( ) =
2 2 1 1
RC RC
,aplicando |Lrror! Marcador no definido.|,
~ C
Por tanto ( ) C C = , es decir, C es una instancia de C
Ljemplo 39: Sea C P x v P f a Z R :
1
= ( , ) ( ( ), ) ( ) y C P f x g v Q x v
2
= ( ( ), ( )) ( , ) y las
substituciones: { } ) ( / ), ( /
1
v f : a f x = y { } b v a x / , /
2
= . Se obtiene el esquema:



Lgica de Predicados
L.U.I.1.I.O.

-42-
1eorema J2 (Completud del principio de resolucin general,: Si un conjunto de clausulas
es insatisacible, entonces, aplicando el algoritmo de resolucin general se obtendra la
clausula aca.

C P x v P f a : R :
1
= ( , ) ( ( ), ) ( )
C P f x g v Q x v
2
= ( ( ), ( ) ( , )

1
= x f a v g b : g b / ( ), / ( ), / ( ) l q

2
= x a v b / , / m r
= C P f a g b R g b
1
( ( ), ( )) ( ( ))
= C P f a g b Q a b
2
( ( ), ( )) ( , )
= C R g b Q a b ( ( )) ( , )
umg

Siguiendo el lema de eleacin, existira una clausula C resolente de C
1
y C
2
con
umg { } a x v g : v g v a f x / ), ( / ), ( / ), ( / = que seguira el esquema:
C P x v P f a : R :
1
= ( , ) ( ( ), ) ( )
C P f x g v Q x v
2
= ( ( ), ( ) ( , )

1

2
= C C
1 1 1
( )
= C C
2 2 2
( )
= C R g b Q a b ( ( )) ( , )
C R g v Q a v = ( ( )) ( , )
umg
= v b / m r


Con el lema de eleacin queda demostrado el teorema de completud:


Lgica de Predicados
L.U.I.1.I.O.

-43-
Dem: Sea C el conjunto de clausulas insatisacibles, entonces se tiene la siguiente
cadena de equialencias:
C es insatisacible
,por el teorema de lerbrand,
Lxiste un subconjunto inito de clausulas basicas de C insatisacible
,Completud de resolucin proposicional,
Lxiste una deriacin de un conjunto de clausulas basicas de C a la clausula aca.
,lema de eleacin,
Lxiste una deriacin del conjunto C de clausulas a la clausula aca.
NO1A: en la ltima implicacin, para poder aplicar el lema de eleacin, se supone
que las clausulas de C no tienen ariables en comn.
Si no se utilizan ariantes, el algoritmo no es completo, as, por ejemplo, el conjunto:
{ } )) ( ( ), ( x f P x P es insatisacible, sin embargo, P x ( ) y P f x ( ( )) no son uniicables a no
ser que se utilicen ariantes


Lgica de Predicados
L.U.I.1.I.O.

-44-
Estrategias de resolucin
Definicin 47: Un literal es puro si y slo si no existe un literal complementario con el que
uniique en el conjunto de clausulas.
Una clausula que contenga un literal vro es intil en la bsqueda de la clausula aca,
puesto que el literal vro no podra ser eliminado nunca mediante resolucin. Por tanto, una
estrategia de borrado consiste en la eliminacin de clausulas con literales puros.
Ljemplo 40: Ll conjunto { } ) ( ), ( ) ( )), ( ( ) ( ), ( a Q a Q a P x f P x P a P C = es
insatisacible, sin embargo, para demostrarlo, se puede ignorar la segunda clausula, puesto
que ambas contienen el literal puro P;f;)).
Definicin 48: Una tautologia es una clausula que
contiene el mismo literal en su orma directa e inersa.
Ljemplo 4J: La clausula p q r p es una tavtotoga.
La presencia o ausencia de tautologas en un conjunto de clausulas no aecta la condicin
de satisacibilidad del conjunto. Un conjunto de clausulas permanecera satisacible
independientemente de que se le anadan tautologas. De la misma orma, un conjunto de
clausulas insatisacible seguira siendo insatisacible aunque se eliminen todas sus
El metodo de resolucion es un algoritmo no determinista ya que pueden
encontrarse multiples Iormas de alcanzar la clausula vacia en un conjunto insatisIacible.
Muchas veces, siguiendo un determinado camino se alcanzara la clausula vacia con
muchos menos pasos de resolucion que por otro camino.
Durante el desarrollo del algoritmo es necesario responder las siguientes
preguntas: Que dos clausulas se seleccionan y sobre que literales se realiza la
resolucion?.
Las distintas estrategias de resolucion tratan de responder a ambas preguntas de
Iorma que se mantenga la completud (si el conjunto es insatisIacible, alcanzar la
clausula vacia) y que se obtenga un comportamiento eIiciente.
Una de las desventajas de la utilizacion de la reglas de resolucion sin ninguna
restriccion consiste en que se pueden seleccionar clausulas cuyo resolvente no sea util
en el camino de busqueda de la clausula vacia. Se observa que muchas veces los
resolventes son redundantes o no aportan ninguna utilidad para la busqueda. A
continuacion se mencionan una serie de estrategias que serviran para eliminar el trabajo
inutil.
Estrategias de Borrado
Una estrategia de borrado sera una tecnica en la cual se eliminan una serie de
clausulas antes de que sean utilizadas. Si dichas clausulas no van a aportar nada para la
busqueda de la clausula vacia, su eliminacion permitira un ahorro computacional.
Eliminacion de clausulas con literales puros
Lliminacin de tautologas


Lgica de Predicados
L.U.I.1.I.O.

-45-
tautologas. Ls posible, por tanto, eliminar las tautologas de un conjunto de clausulas para
que no interengan en el proceso de bsqueda sin alterar la satisacibilidad del conjunto.
Obsrese que los literales de una clausula deben ser exactamente complementarios para
poder aplicar la eliminacin de tautologas. No se pueden eliminar literales no idnticos
simplemente porque sean uniicables.
Ljemplo 42: Ll conjunto { } ) ( ), ( ), ( ) ( b P a P x P a P es insatisacible. Sin embargo, si
se elimina la primera clausula el conjunto resultante sera satisacible.
Definicin 49: Una clausula C subsume a una clausula
D si existe una substitucin tal que D C ) ( .
Ljemplo 43: Ln el conjunto { } ) ( ), ( ), ( ) ( ) ( ), ( ) ( a Q b P w R v Q a P v Q x P . La
clausula ) ( ) ( v Q x P subsume a ) ( ) ( ) ( w R v Q a P puesto que la clausula resultante
de aplicar la substitucin { } v v a x / , / a la primera clausula, esta incluida en la segunda
clausula. De esa orma, se puede eliminar la segunda clausula, sin alterar la insatisacibilidad
del conjunto.
Se puede demostrar que si una clausula D de un conjunto de clausulas es subsumida por
otra, entonces el conjunto de clausulas tras eliminar D es satisacible si y slo si el conjunto
original de clausulas lo era. Las clausulas subsumidas pueden ser, por tanto, eliminadas sin
modiicar la condicin de satisacibilidad del conjunto.
Ls necesario obserar que, durante el desarrollo del proceso de resolucin, se pueden
generar resolentes de clausulas que sean tavtotoga. o ctav.vta. .vb.vviaa.. Las estrategias de
borrado deberan chequear el conjunto de clausulas original as como los distintos
resolentes generados en cada resolucin.
Resolucin Unitaria
Definicin S0: Un resolente unitario es un resolente en el cual al menos uno de sus
padres es una clausula unitaria ,con un slo literal,.
Una estrategia de resolucin unitaria es una aplicacin del algoritmo de resolucin en la
cual todos los resolentes son unitarios.
Ljemplo 44: Sea { } r r q r p q p C = , , , . A continuacin se aplicara la estrategia
de resolucin unitaria, para ello, se seleccionan siempre dos clausulas resolubles tales que
una de ellas tenga un literal.
1.- p q
2.- p r
3.- q r
4.- r
5.- p R
r
( , ) 2 4
6.- q R
r
( , ) 3 4
.- q R
p
( , ) 1 5
8.- R
q
( , ) 1 6
9.- r R
q
( , ) 3 7
10.- R
q
( , ) 6 7

Obsrese que los resolentes generados son un subconjunto de los que se podran generar
mediante la resolucin sin restricciones. Por ejemplo, las clausulas 1 y 2 podran

haberse seleccionado para obtener q r . Sin embargo ni esa clausula ni sus descendientes
podran ser generados porque ninguna de las clausulas que la generan es unitaria.
Eliminacion de Subsunciones


Lgica de Predicados
L.U.I.1.I.O.

-46-
Los procedimientos de resolucin basados en resolucin unitaria son sencillos de
implementar y, normalmente, bastante eicientes. Obsrese que si una clausula es resuelta
con una clausula unitaria, su resolente tiene menos literales que la clausula original. De esa
orma los procedimientos siguen una bsqueda directa hacia la clausula aca ganando en
eiciencia.
Desaortunadamente, los procedimientos de inerencia basados en resolucin unitaria no
son, en general, completos. Por ejemplo, el conjunto
{ } q p q p q p q p C = , , , es insatisacible, sin embargo, la resolucin unitaria
no encontrara la clausula aca porque ninguna de las clausulas es unitaria.
Por otro lado, restringiendo el ormato de clausulas a clausulas lorn ,clausulas con un
literal positio como maximo, se puede demostrar que si un conjunto de clausulas lorn es
insatisacible, entonces se llegara a la clausula aca aplicando la estrategia de resolucin
unitaria.
Definicin SJ: Un resolvente de entrada es un resolente en el cual al menos uno de sus
padres es una clausula del conjunto original de entrada.
Una estrategia de resolucin de entrada es una aplicacin del algoritmo de resolucin en
la cual todos los resolentes son de entrada.
Ljemplo 4S: Sea { } r r q r p q p C = , , , . A continuacin se aplicara la estrategia
de resolucin de entrada, para ello, se seleccionan siempre dos clausulas resolubles tales
que una de ellas pertenezca al conjunto inicial de clausulas:
1.- p q
2.- p r
3.- q r
4.- r
5.- q r
R
p
( , ) 1 2
6.- p r R
q
( , ) 1 3
.- p R
r
( , ) 2 4
8.- r R
p
( , ) 2 6
9.- R
r
( , ) 4 8

Se puede demostrar que la resolucin unitaria y la resolucin de entrada tienen el mismo
poder de inerencia en el sentido de que si con una estrategia se puede alcanzar la clausula
aca, con la otra tambin.
Una consecuencia de lo anterior es que la resolucin de entrada es completa para clausulas
lorn, pero incompleta en general. Como contraejemplo, se puede tomar el del apartado
anterior.

Resolucin de Entrada
Resolucin Lineal
La resolucion lineal (tambien conocida como resolucion con Iiltrado de
antepasados) es una generalizacion de la resolucion de entrada en la cual al menos una
de cada par de clausulas a resolver pertenece al conjunto inicial de entrada o es un
antepasado del otro padre.


Lgica de Predicados
L.U.I.1.I.O.

-4-
Definicin S2: Sea un conjunto de clausulas y C un elemento de ese conjunto. Lntonces
una derivacin por resolucin lineal de C
n
desde S con clusula inicial C es una
secuencia de clausulas de la orma
n
C C C C , , ,
1 0
= tales que para cada i~0,1,...,v1:
,1, C
i +1
es un resolente de C
i
;llamada ctav.vta cevtrat) y de otra clausula B
i
,llamada
clausula lateral,, y
,2, Cada B
i
o pertenece a ,sera una clausula de entrada, o es un antepasado de
C
i
.
La resolucin lineal toma su nombre del aspecto lineal que presentan las inerencias
realizadas. Una resolucin lineal comienza con una clausula del conjunto inicial ,llamada
clusula cabeza, y produce una cadena lineal de resoluciones como la que se muestra en
la igura para el conjunto de clausulas { } q p q p q p q p C = , , , . Obsrese
que cada resolente, despus del primero, se obtiene del resolente anterior y de alguna
otra clausula del conjunto inicial o de sus antepasados.
p q
q
q

p
q
p q p q p q

La resolucion lineal eita muchas resoluciones intiles centrandose en cada paso en los
antepasados de una clausula y en los elementos del conjunto inicial.
Se puede demostrar que la resolucin lineal es completa. Ademas, no es necesario probar
con todas las clausulas del conjunto inicial como clausulas cabeza ya que si un conjunto de
clausulas es satisacible y S c l qes insatisacible, entonces se encuentra la clausula aca
mediante resolucin lineal tomando c como clausula cabeza. Por tanto, si se sabe que un
conjunto de clausulas es satisacible, no es necesario probar con los elementos de como
clausulas cabeza.

Resolucin Ordenada
La resolucion ordenada o selectiva es una estrategia de resolucion muy restrictiva
en la cual cada clausula se toma como un conjunto de literales ordenados. La resolucion
solo se realiza con el primer literal de cada clausula. Los literales del resolvente
mantienen el orden de las clausulas padre con los literales del padre positivo (la clausula
que contenia el literal por el que se resuelve aIirmado) seguidos de los literales del padre
negativo (la clausula que contenia el literal por el que se resuelve negado).


Lgica de Predicados
L.U.I.1.I.O.

-48-
Ljemplo 46: Sea { } r r q r p q p C = , , , . A continuacin se aplicara la estrategia
de resolucin ordenada ,se han ordenado los literales de cada clausula por orden
alabtico,:
1.- p q
2.- p r
3.- q r
4.- r
5.- q r R
p
( , ) 1 2

6.- r R
q
( , ) 3 5
.- R
r
( , ) 4 6

La clausula 5 es el nico resolente ordenado entre las clausulas 1 y 4. Las clausulas 1 y 3
no resuelen puesto que sus literales complementarios no son los primeros. Por la misma
razn tampoco resuelen las clausulas 2 y 4 ni las clausulas 3 y 4. Una ez generada la
clausula 5, resuele con la clausula 3 para producir la clausula 6, la cual resuele con la
clausula 4 para producir la clausula aca.
La resolucin ordenada es la mas eiciente ,en el ejemplo, se obtuo la clausula aca en el
tercer paso de resolucin,. Desaortunadamente, la resolucin ordenada no es completa.
Sin embargo, se ha demostrado que la resolucin ordenada s es completa para clausulas
lorn.

1ras este bree repaso de las principales estrategias de resolucin, cabe resenar que
los principales sistemas de demostracin automatica utilizan una combinacin de las dos
ltimas estrategias restringidas a conjuntos de clausulas lorn. Ln particular, los sistemas de
Programacin Lgica utilizan la resolucin lineal ordenada conocida como resolucin SLD
,Setectire Livear re.otvtiov for Defivite Ctav.e., que se deinira en la siguiente seccin.


Lgica de Predicados
L.U.I.1.I.O.

-49-
Prueba de Teoremas por Resolucin
Una de las primeras aplicaciones de los ordenadores para la computacin
simblica
13
ue la demostracin automatica de teoremas.
Una teoria esta ormada por un conjunto de consecuencias lgicas ,teoremas, que
se siguen a partir de un conjunto inicial de rmulas ,axiomas, mediante reglas de
inerencia. La axiomatizacin de las teoras matematicas ue estudiada de orma intensia
en las dcadas que precedieron la aparicin de los ordenadores. Se consider que los
ordenadores seran capaces de tomar como entrada un conjunto de axiomas y una rmula
y chequear si la rmula era consecuencia lgica de los axiomas.
Ll calculo de predicados es el lenguaje ormal utilizado uniersalmente para expresar
las distintas teoras. Ln 1900, lilbert consideraba que se podra llegar a axiomatizar toda la
teora matematica, de orma que probar nueos teoremas sera una cuestin mecanizable.
Sin embargo, en 1931, Godel demostr que cualquier sistema suicientemente
general como para contener la teora elemental de los nmeros naturales no es completo.
Ls decir contiene rmulas cuya alidez o insatisacibilidad no puede ser demostrada.
No existe, por tanto, un procedimiento general para decidir si una rmula es
consecuencia lgica de un conjunto de axiomas utilizando el calculo de predicados, de ah
que no todos los teoremas puedan ser descubiertos. Sin embargo, existen algoritmos de
decisin para subconjuntos limitados como el calculo proposicional o teoras geomtricas
sencillas, donde se ha aplicado el ordenador como herramienta capaz de probar nueos
teoremas.

Ljemplo 47: A continuacin se muestran las clausulas resultantes de una posible
axiomatizacin de la teora de nmeros naturales con las operaciones suma y producto.
Para ello se utiliza la constante 0, la uncin s x x ( ) " " = +1 y los predicados:
" a igual es " ) , , ( v x : : v x suma + = y " a igual es " ) , , ( v x : : v x producto =
1.- ) , 0 , ( x x suma
2.- ( ) ) ( ), ( , ) , , ( : s v s x suma : v x suma 1 ) ( ) 1 ( + + = + + v x v x
3.- producto x ( , , ) 0 0
4.- ( ) ( ) : v s x producto : v x suma v v x producto , , ) , , ( ) , , ( x v x v x + = + ( ) 1

13
La computacin simblica utiliza el ordenador para manipular smbolos, se opone a la
computacin numrica que utiliza el ordenador como maquina de cmputo de cantidades
numricas. Un ejemplo caracterstico consistira en la dierencia entre el calculo de la
uncin deriada ,la solucin es una rmula, respecto al calculo de la deriada en un punto
determinado ,la solucin es una cantidad,


Lgica de Predicados
L.U.I.1.I.O.

-50-
A partir de los axiomas anteriores, se podran intentar demostrar algunos teoremas
sencillos de la teora de nmeros. Por ejemplo, para saber si existe un nmero X cuyo
producto por s mismo sea igual a uno. Se planteara la conclusin: su producto se
intentara concluir:
( ) ( ) ( ) 0 , , s x x producto x
Para comprobarlo, se anadira la negacin de esa conclusin al conjunto de clausulas
y, si al aplicar resolucin se obtiene la clausula aca, se deduce que existe tal nmero.


Lgica de Predicados
L.U.I.1.I.O.

-51-
Bibliografa

|Ben-Ari, 93| M. Ben-Ari
Mathematical Logic for Computer Science
Prentice Hall Intl. (1993)

|Cuena 85| Jos Cuena
gica vforvatica
Alianza Inormatica ,1985,

|Genesereth, 87| M. R. Genesereth, N.J. Nilsson
Logical foundations of Artificial Intelligence
Morgan KauImann Publishers, Inc. (1987)

|ISO 93| Comit ISO Internacional
PROOC. Part 1, Ceverat Covvittee Draft ;orraaor ^orvatira O).
Reerencia: ISO,ILC J1C1 SC22 \G1. N110. Marzo 1993

|Knight 89| Kein Knight
|vificatiov: . Mvttiai.citivar, vrre,
ACM Computing Sureys, Vol. 21 No. 1, Marzo 1989. pp. 92-124

|Kowalski 9| R. Kowalski
ogic for Probtev otrivg
North lolland. 1raduccin espanola: Lgica, Programacin e Inteligencia
Artiicial. ,199,

|Kumar 92| Subrata Kumar Das
Deavctire Databa.e. ava ogic Progravvivg
Addison-\esley ,1992,

|Lloyd 8| John \ylie Lloyd
ovvaatiov. of ogic Progravvivg.
Springer Verlag . 2nd. Ld. ,198,

|Maier, 88| David Maier, David S. Warren
Computing with Logic
The Benjamin/Cummings Publishing Company, Inc. (1988)

|Nilsson 90| Ul Nilsson, Jan Matuszynski
ogic, Progravvivg ava Protog
John \iley & Sons ,1990,



Lgica de Predicados
L.U.I.1.I.O.

-52-
|Sperschneider, 91| V. Sperschneider, G. Antoniou
Logic: A Ioundation Ior Computer Science
Addison-Wesley Publishing Company (1991)

|Sterling 86| Leon Sterling, Lhud Shapiro
1be .rt of Protog
1he MI1 Press. 2nd. Ld. 94 ,1986,



Lgica de Predicados
L.U.I.1.I.O.

-53-
ndice Alfabtico
"chequeo de ocurrencias" 33
alfabeto 2
Algoritmo de resolucin general
36
Algoritmo de resolucin
proposicional 24
algoritmo de unificacin 31
Algoritmo de Uniicacin 32
mbito 4
aridad 2
tomo 3
cabeza de una clusula 22
chequeo de ocurrencias 36
cierre existencial 18
clusula cabeza 4
clusula Horn 22
clausula vacia 36
clusula vacia 22
clausula ariante 35
clusulas resolubles 23
completo 35
Completo 39
Completud del Algoritmo de
Resolucin Proposicional 2
completud del principio de
resolucin 42
composicin de substituciones 28
computacin simblica 49
conectivas 3
Conjunto de Desacuerdos 31
Conjunto de Discrepancias 31
Conjunto de letras de funcin 2
Conjunto de letras de Predicado
3
Conjunto de simbolos de
Constantes 2
Conjunto de simbolos de
Variables 2
consecuencia lgica 14
contradiccin 12
correcto 14
Cuantificadores 3
cuerpo de la clusula 22
demostracin automatica 49
dominio
equialencia lgica 15
Lstrategias de resolucin 44
expresin 2
expresin simple 2
Lxpresiones similares 31
lNC 19
INCP 19


Lgica de Predicados
L.U.I.1.I.O.

-54-
lND 19
INDP 19
lNP 18
lNS 19
Iorma Clausal 21
lorma Normal Conjuntia 19
lorma Normal Conjuntia Prenexa
19
lorma Normal de Skolem 19
lorma Normal Disyuntia 19
lorma Normal Disyuntia Prenexa
19
lorma Normal Prenexa 18
frmula atmica 4
frmula cerrada 5
rmula insatisacible 12
rmula satisacible 12
rmula alida 12
rmulas bien ormadas 4
Godel 49
Hecho 22
lerbrand 30
lilbert 49
instancia 2
instancia bsica 2
Interpretacin , 8, 14
lema de eleacin 40
literal 19
literal negatio 19
literal positio 19
literal puro 44
lgica 2
lgica de enunciados 2
lgica de predicados 2
lgica de predicados de orden
cero 6
lgica de predicados de Primer
Orden 6
lgica de predicados de
Segundo Orden 6
lgica proposicional 2
matriz 18
modelo 12
nodo de inferencia 25
Objetivo 22
occur check 33
prefijo 18
programacin lgica 1
razonamiento 14
recorrido 4
regla de resolucin 23
Resolucin proposicional 23
resolvente 23, 35
resolvente de entrada 46
Robinson 30
Signos de puntuacin 3


Lgica de Predicados
L.U.I.1.I.O.

-55-
substitucin 2
substitucin basica 2
substitucin de renombramiento29,
30, 35
substitucin aca 28
subsuncin 45
tautologia 44
1eorema de completud
proposicional 39
teorema de lerbrand 39
teorema de unificacin 34
teoria 49
termino 3
umg 30
uniicacin 30
uniicador 30
uniicador mas general 30
alor de una rmula 8
variable de cuantificacin 4
ariable libre 4
ariable ligada 4
ariante 30
ariantes 28



Lgica de Predicados
L.U.I.1.I.O.

-56-
Informacin de Contacto

Lscuela Universitria de Ingenieria
1ecnica en Informtica (L.U.I.1.O.)
www.euitio.unioi.es
Jose Lmilio Labra Gayo labralsi.unioi.es
Daniel Iernndez Lanvin dlaninunioi.es

También podría gustarte