Você está na página 1de 195

Logica para la Computacion

I) Logica Clasica Proposicional

La Logica
es aquello
que resbala en la inteligencia de las masas
como las gotas de lluvia en un impermeable.

Este documento presenta la Logica Proposicional Clasica, 1 y su objetivo es presentar la logica como una
herramienta atractiva y u til para las aplicaciones informaticas.
Aunque el documento ha sido pensado para los alumnos de la titulacion de Informatica, es igualmente de
interes para todos aquellos que deseen conocer como puede ser usada la logica para representar y procesar
el conocimiento.
La Logica Computacional, como disciplina incluida en los estudios conducentes a la obtencion del ttulo
de Ingeniero Informatico, ha de enmarcarse en el a mbito de lo que se ha dado en llamar Fundamentos y
M
etodos Formales en Computaci
on.
El atractivo de las Ciencias de la Computacion es doble. Por una parte, su juventud; por otra parte, sus
orgenes. Se suele establecer que las Ciencias de la Computacion se han desarrollado, principalmente, a
partir de la confluencia de tres disciplinas: Matematica, Ingeniera y Lingustica. Vamos a hacer un un breve
comentario sobre cada una de ellas.
Podramos situar el inicio de la aportacion de la Ingeniera a la Logica en 1938, cuando Claude E.
Shannon 2 (mas tarde famoso por su Teora de la Informacion) observo que las funciones realizadas
por circuitos combinacionales (inicialmente construidos con reles), se podan representar con la notacion
simbolica de las a lgebras de Boole. A mediados de los 50, Samuel Caldwell y David Huffman extendieron
este trabajo a los circuitos secuenciales, lo cual dio origen al desarrollo de la teora de maquinas de estados
finitos. 3
La contribucion de la Lingustica llega a finales de los 50, cuando Noam Chomsky, con su Teora
de las gramaticas formales, establecio las bases de la Lingustica matematica e inicio el camino hacia la
formalizacion en la descripcion de los lenguajes naturales. 4
En la misma e poca de los trabajos de Chomsky, se estaba investigando en la especificacion de la sintaxis
de lenguajes de programacion de ordenadores. John Backus adapto las aportaciones de Emil Leon Post 5 a
1

El termino logica se deriva del griego logike-logikos, que significa razon.


C.E. Shannon. A symbolic analysis of relay and switching circuits. Transactions of the AIEEE, 57: 713-723, 1938.
3
D.A. Huffman. The synthesis of sequencial switching circuits. Journal of the Franklin Institute, 257: 161-190, 1954.
4
N. Chomsky. On certain formal properties of grammars. Information and Control, 2 (2): 137-167. 1959.
5
E.L.Post. Introduction to a general theory of elementary propositions. In Jean van Heijenoort, edito, From Frege to Godel. A
Source Book in Mathematical Logic. Harvard University Press, 1921.
2

II

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

J.W. Backus. The syntax and semantics of the proposed international algebraic language of the Zurich. ACM-GAMM Conference. IFIP59, 125-131, 1959.
7
invitamos al lector a indagar sobre el conocido como decimo problema de Hilbert

III

- Comunicacion Hombre-Maquina.
- Lenguajes de Programacion.
- Ingeniera y Metodologa del Software.
- Vision computacional.
- Planificacion.
- Verificacion de protocolos de seguridad.
- Diagnostico.
- Etc.
Es cierto que se puede argumentar que la Logica no ha tenido la repercusion esperada en las aplicaciones;
pero tambien lo es que la situacion ha variado en las dos u ltimas decadas y que destacadas empresas en
Informatica y Telecomunicaciones como IBM, AT&T, Intel, Motorola, . . . reclaman especialistas en el tema.
Todas estas consideraciones nos llevan a abordar la redaccion de este texto (y los sucesivos sobre diferentes logicas cuyo papel es relevante en Computacion) con ilusion y responsabilidad, como reto sobre
cuyas consecuciones esperamos sugerencias de los lectores.

IV

Agradecimientos
A los alumnos de la titulacion de Informatica de la Universidad de Malaga que en los u ltimos anos han ido
configurando con sus inquietudes y sugerencias el contenido de este libro.
A todos los componentes del grupo GIMAC, que da a da profundizan en los diversos aspectos de la logica
de cara a aplicaciones de interes.


Indice
general

VI

INDICE
GENERAL

Captulo 1

Preliminares

Indice
1.1.
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.

Relaciones y Funciones . . . . . . . . . . . . . . .
Numeros

Naturales y Numerabilidad . . . . . . .
Relaciones de Equivalencia y Relaciones de Orden
Secuencias . . . . . . . . . . . . . . . . . . . . . .
Alfabeto y Cadenas . . . . . . . . . . . . . . . . .

Arboles
. . . . . . . . . . . . . . . . . . . . . . . .
Conjuntos Inductivos y Funciones Recursivas . . .
1.7.1. Funciones Recursivas . . . . . . . . . . . . .
1.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

2
5
8
10
11
12
16
19
21

Seguro que el lector no se sorprendera si comenzamos este libro haciendo una breve referencia al concepto de conjunto o colecci
on. Este concepto es una de las ideas mas destacadas en las matematicas
1
del siglo XX. Desde el trabajo pionero del matematico aleman Georg Cantor (1845-1918) a finales del siglo
XIX, la sencilla nocion de conjunto ha tenido una profunda influencia en todos los aspectos y niveles de la
investigacion matematica.
El hecho que diferencia mas claramente el tratamiento matematico de los conjuntos es el uso de las
notaciones simbolicas. Un ejemplo importante de esta notacion es la de relacion de pertenencia, que simbolizamos mediante la letra griega . As, x A denota que x es un elemento del conjunto A; mientras
que x 6 A denota que x no es un elemento del conjunto A.
Para especificar un conjunto hemos de determinar sus elementos. La experiencia docente nos indica
que el lector seguramente conoce dos modos de definir un conjunto:
por extensi
on (es decir, enumerando todos sus elementos; lo cual solo es posible para conjuntos
finitos). Por ejemplo, {4, 6, 8} es el conjunto de numeros naturales pares mayores que 3 y menores
que 9.
por comprehensi
on (es decir, mediante un predicado que satisfacen exactamente sus elementos).
Por ejemplo, el ejemplo anterior podemos describirlo como
{x N | x es de la forma x = 2m, donde m N y 3 x 9}
1

No deja de ser sorprendente, ya que no establece nada cuantitativo o geometrico.


CAPITULO
1. PRELIMINARES

Pero tambien podemos describir conjuntos infinitos. Por ejemplo, describimos el conjunto de todos
los numeros naturales pares por
{x N | x es de la forma x = 2m, donde m N}
Una cuestion fundamental que podemos preguntarnos sobre los conjuntos es cuando son iguales? Definimos que dos conjuntos son iguales cuando tienen los mismos elementos, es decir,

si x A entonces x B, y
A = B si y solo si
si x B entonces x A
En este primer captulo, vamos a introducir las nociones, notaciones y resultados basicos que vamos a
utilizar en el resto del libro. Suponemos conocidas las nociones intuitivas de conjunto, subconjunto, conjunto vaco, as como las operaciones elementales entre conjuntos, es decir, las definiciones de union e
interseccion de conjuntos. No incluimos demostraciones, ya que consideramos que el lector es conocedor
de todo lo expuesto en este captulo y nuestro objetivo al contemplarlos no es otro que hacer el documento
autocontenido en la medida de lo posible.

1.1. Relaciones y Funciones


La nocion de relacion formaliza el concepto utilizado en la vida real de asociaciones entre objetos.
La idea de relacion se adquiere en la infancia, simultaneamente al desarrollo del lenguaje, y juega un papel
fundamental en nuestros razonamientos.
Como afirma Steven Strogatz en el reciente y apasionante libro El placer de la x: 2
Su papel late en el corazon del a lgebra. Lo que las hace tan cruciales es que ofrecen las primeras herramientas para describir como una cosa afecta a otra, a traves de los principios de
causa y efecto, oferta y demanda, dosis y respuesta, etc.
Su papel en Computacion es clave en numerosas a reas como la teora de automatas, los lenguajes de programacion, la logica, el modelo relacional de bases de datos y un largo etcetera.
La definicion de relacion se apoya en la construccion del producto cartesiano de conjuntos.
Definicion 1.1 [Producto Cartesiano] Dados n conjuntos, A1 , A2 , . . . , An , con n N \ {0}, se define el
producto cartesiano, A1 A2 An , de la siguiente manera:
A1 A2 An =

n
Y

Ai = {(a1 , . . . , an ) | ai Ai , 1 i n}

i=1

Si A1 = A2 = = An = A, el producto cartesiano A . n. . A se denota por An , con A1 = A.

r r Observese que A A A = si y solo si A = para algun i, con 1 i n.


1
2
n
i
2

Steven Strogatz. El placer de la x. Una visita guiada por las matematicas, del uno al infinito. 2012. Ed Taurus.

1.1. RELACIONES Y FUNCIONES

Relaciones entre dos conjuntos


Definicion 1.2 Dados dos conjuntos A y B, una relaci
on de A en B es cualquier subconjunto R
(posiblemente vaco) de A B. Denotaremos por R(A, B) el conjunto de relaciones de A en B.
Si R R(A, B), llamamos dominio de R, denotado por Dom(R), al conjunto
Dom(R) = {a A | existe b B tal que (a, b) R}
y llamamos imagen de R, denotado por Im(R), al conjunto
Im(R) = {b B | existe un a A tal que (a, b) R}
En particular, si B = A, una relacion de A en A se llama relaci
on binaria en A. Denotaremos
por RBin (A) el conjunto de relaciones binarias en A.
Si R es una relacion binaria en un conjunto A, como alternativa a (x, y) R, es frecuente usar las
notaciones:
x R y, leda x esta relacionado con y,
y R(x), leda y es accesible desde x mediante R. Para cada x A, definimos el conjunto
R(x) = {y | (x, y) R}.
Damos a continuacion definiciones de nuevas relaciones obtenidas a partir de otras relaciones:
Si R, S R(A, B), entonces R S y R S son relaciones en R(A, B) llamadas uni
on e
on de R y S, respectivamente.
intersecci
Sea R R(A, B) y S R(B, C), la relacion de A en C denotada R S y definida por
(a, c) R S si y solo si existe un b B tal que (a, b) R y (b, c) S
on de R y S.
se denomina composici
Si R R(A, B), entonces R1 es la relacion de B en A definida por
aR1 b

si y solo si

bRa

y se llama inversa de R.
Ejemplo 1.1
1. Dado un conjunto cuyos elementos denotan personas, la union de las relaciones binarias madre y
padre es la relacion progenitor, la composicion de las relaciones binarias madre y padre
es la relacion abuelo y la inversa de la relacion padre es la relacion hijo.
2. Dado un conjunto arbitrario, A, la interseccion de las relaciones binarias y en P(A), 3 que sin
duda son bien conocidas para el lector, es la relacion binaria de igualdad de subconjuntos de A.
3

conjunto de todos los subconjuntos de a, tambien denotado 2A .


CAPITULO
1. PRELIMINARES

Funciones
Una relacion R R(A, B) se dice que es una funci
on, cuando cumple la condicion siguiente:
Si xRu y xRv, entonces u = v
es decir, cada elemento x Dom(R) esta relacionado con un u nico elemento de Im(R).
Para denotar funciones se utilizan habitualmente letras minusculas tales como f, g, . . ., y para indicar
que f es una funcion de A en B, se utiliza la notacion f : A B.
Una funcion f : A B se dice parcial si Dom(f ) A y se dice total cuando Dom(f ) = A.
Para toda funcion f : A B y para todo x Dom(f ), el elemento y B tal que (x, y) f , se denota
por f (x) y se llama la imagen de x por f .
on significara funcion total.
En todo lo que sigue, funci
Para todo conjunto A, toda funcion f : An A (con n natural 1 y A1 = A) se dice que f es una
funcion n-aria o de aridad n (o de n argumentos) sobre A.
En particular, cuando n = 2, y en un contexto algebraico, se dice que f es una operaci
on interna
en A. En tal caso, es costumbre denotar xf y (notacion infija) en vez de f (x, y) (notacion prefija).
Una funcion f : A B se dice:
inyectiva si, para todo x, y A se tiene que si f (x) = f (y), entonces x = y.
sobreyectiva si Im(f ) = B.
biyectiva si es inyectiva y sobreyectiva.

Notacion:
El conjunto de todas las funciones de un conjunto A en un conjunto B, es decir, el conjunto {f : A
B | f es una funcion} se denotara por B A .
Ejemplo 1.2
1. Para todo conjunto A, la funcion f : A A definida por f (x) = x es biyectiva, se denota por idA
y se llama identidad de A.
2. Dado A, para todo subconjunto B de A definimos XB : A {0, 1} por
(
1 si x B
XB (x) =
0 si x 6 B
A XB se le llama funci
on caracter
stica de B.
Si P(A) es el conjunto cuyos elementos son los subconjuntos de A, la funcion
: P(A) {0, 1}A
definida por (B) = XB , es biyectiva. Por ello, es costumbre denotar al conjunto P(A) alternativamente por 2A .


1.2. NUMEROS
NATURALES Y NUMERABILIDAD

Extension y restriccion de una funcion


Sean f : B C y g : X C con X B. Si para todo x X se verifica que g(x) = f (x). Se dice que g
es una restricci
on de f a X e, indistintamente, que f es una extensi
on de g a B.
Observese que cualquier restriccion de una funcion inyectiva es inyectiva y que cualquier extension de
una funcion sobreyectiva es sobreyectiva.
Por u ltimo, como en el caso de las relaciones, veamos como definir nuevas funciones a partir de otras
dadas:
Dadas las funciones f : A B y g : B C, la composici
on de ambas es una funcion de A en
C, la cual se denota por g f , se lee f compuesta con g,4 y viene dada por
(g f )(x) = g(f (x))
g f hereda las propiedades comunes de f y g. Es decir, si f y g son ambas inyectivas, sobreyectivas
o biyectivas, entonces g f es inyectiva, sobreyectiva o biyectiva, respectivamente.
Si f : A B es biyectiva, la relacion f 1 es una funcion biyectiva de B en A llamada la inversa
de f . Es inmediato que en tal caso, f 1 f = idA y f f 1 = idB .

1.2. Numeros
Naturales y Numerabilidad
La caracterstica basica de un conjunto finito es su tamano, es decir, el numero de elementos que
posee. Para los conjuntos finitos, este concepto y sus propiedades mas basicas (si A B, entonces el
numero de elementos de A no supera al numero de elementos de B, etc) son adquiridos a muy temprana
edad por el ser humano. Por el contrario, la extension del concepto de tamano a conjuntos infinitos no
esta exenta de dificultades y no se adecua al uso de la intuicion. En esta seccion revisaremos las nociones y
resultados basicos acerca del tamano de los conjuntos, que utilizaremos en adelante.
El conjunto de los naturales, {0, 1, 2, . . .}, se denota por N. Denotaremos por N el conjunto N {0} y
por [n] el conjunto {1, 2, . . . , n}.
Un conjunto A se dice numerable si existe una funcion sobreyectiva h : N A. En caso contrario,
se dice que A es no numerable. Si la funcion h es ademas inyectiva, se dice que A es infinito
numerable. Si consideramos la identidad de N, idN , concluimos que N es infinito numerable.
Si A es numerable pero no infinito numerable, entonces existe un n N y una funcion biyectiva
h : [n] A. En este caso, se dice que A es finito y que su numero de elementos es n.
Si A es numerable, la biyeccion h : N A (o h : [n] A en el caso finito) proporciona una
enumeracion de sus elementos:
A = {a1 , a2 , . . . , an , . . . } para el caso infinito.
A = {a1 , a2 , . . . , an } para el caso finito
4

Algunos autores prefieren usar la notacion f g. Nosotros utilizaremos la notacion g f porque, posiblemente, sea la mas
extendida, y porque coincide con el orden de escritura de la notacion prefija, es decir, (g f )(x) = g(f (x)).


CAPITULO
1. PRELIMINARES

Los conjuntos infinitos numerables y los conjuntos infinitos no numerables no son finitos, y por esta razon
decimos que son conjuntos infinitos.
Para comparar entre s a los conjuntos infinitos se introduce la nocion de cardinal de un conjunto.
No vamos a profundizar en este libro sobre este concepto. Nos limitaremos a destacar que a cada conjunto
A se le asocia un ente llamado cardinal de A, denotado |A|, tal que
1. |A| = 0 si A = .
2. Si A es finito, |A| = numero de elementos de A.
3. Si existe una funcion inyectiva f : A B entonces decimos que |A| es menor o igual que |B| y se
denota |A| |B|.
4. Si |A| |B|, pero no existe una funcion inyectiva de B en A, se dice que |A| < |B|.
5. Si existen funciones inyectivas f : A B y g : B A, o equivalentemente, existe una biyeccion
h : A B, entonces decimos que |A| es igual que |B| y se denota |A| = |B|.
6. El cardinal de un conjunto infinito numerable se denota por 0 .
El cardinal de A se dice finito si A es finito e infinito en caso contrario. El menor cardinal infinito
es 0 y para todo conjunto finito, A, se tiene |A| < 0 .
El siguiente teorema de Cantor asegura la existencia de cardinales tan grandes como se quiera.
Teorema 1.1 Para todo conjunto A se verifica que |A| < |2A |.
En relacion a la cardinalidad de los conjuntos numericos, se tiene que |Z| = |Q| = 0 , es decir, los
enteros y los racionales son infinitos numerables, mientras que para el conjunto R de los numeros reales, se
tiene que 0 < |R|. El cardinal de R se denota por 1 .

Principio de Induccion
Formulacion 1:
Si P es una propiedad relativa a los numeros naturales tal que
0 verifica P (denominado caso base), y
para cada n N se tiene que, si n verifica P (denominada hipotesis de induccion), tambien n + 1
verifica P,
entonces, se tiene que todos los naturales verifican P.
Formulacion 2:
Si P es una propiedad relativa a los numeros naturales tal que
0 verifica P (denominado caso base), y
para cada n N \ {0} se tiene que, si todos los naturales anteriores a n verifican P (denominada
hipotesis de induccion), tambien n verifica P.


1.2. NUMEROS
NATURALES Y NUMERABILIDAD

entonces, se tiene que todos los naturales verifican P.


Aun podemos establecer un nuevo enunciado para este principio. La motivacion para este nuevo enunciado es que, a veces, cierta propiedad P solo se verifica a partir de un cierto natural n0 , es decir, para todo
n N tal que n n0 . En tales condiciones, es posible aplicar el Principio de Induccion en cualquiera de
las dos formulaciones anteriores sin mas que modificar el caso base, sustituyendo 0 verifica P, por n0
verifica P. Se tiene as el conocido como Principio de Inducci
on a partir de un n0 .
Ejemplo 1.3 Vamos a aplicar el Principio de Induccion para probar la propiedad
P(n) : 3n + 4n < 5n ,

para todo n 3

1. Caso base: Para n = 3 es cierto, ya que 91 = 33 + 43 < 53 = 125.


2. Hipotesis de induccion:
Supongamos que el resultado es cierto para n = k, es decir, 3k + 4k < 5k , y veamos que tambien es
cierto para n = k + 1.
Haciendo n = k + 1, obtenemos:

3k+1 + 4k+1 = 3 3k + 4 4k < 5 3k + 5 4k = 5 (3k + 4k ) < 5 5k = 5k+1


donde en () hemos hecho uso de la hipotesis de induccion.

Por u ltimo, disponemos aun de otra formulacion para el Principio de induccion:


Formulacion 3: Principio de Induccion fuerte
Si P es una propiedad relativa a los numeros naturales y n0 N tales que
n0 verifica P (denominado caso base), y
para cada k N, k n0 se tiene que, si todos los naturales n tales que n0 n k verifican P ,
tambien k + 1 verifica P (denominada hipotesis de induccion).
entonces, se tiene que todos los naturales verifican P.
Ejemplo 1.4 Vamos a aplicar el Principio de Induccion Fuerte para probar la propiedad
P(n) : n 2

es primo o es el producto de dos o mas primos

1. Caso base: Para n = 2 es cierto, ya que 2 es primo.


2. Hipotesis de induccion:
Supongamos k 2 y que el resultado es cierto para todo n tal que 2 n k, y veamos que tambien
es cierto para k + 1.
Existen dos opciones para k + 1
si k + 1 es primo. el resultado es cierto
En otro caso, existen p, q N, tales que p, q 6= 1 y p, q 6= k + 1 y k + 1 = p q. As pues,
2?p?k y 2?q?k. Y por la hipotesis de induccion, tanto p como q son primos o producto de dos o
mas primos. Por lo tanto, k + 1 es el producto de dos o mas primos.



CAPITULO
1. PRELIMINARES

1.3. Relaciones de Equivalencia y Relaciones de Orden


Las relaciones de equivalencia y las relaciones de orden, formalizan, respectivamente, los procesos
naturales de clasificacion y ordenacion de los elementos de un conjunto.
Una relacion binaria R sobre un conjunto A puede verificar, entre otras, las siguientes propiedades:
Reflexiva: Para todo x A, se tiene que xRx.
etrica: Dados x, y A, si x R y, entonces y R x.
Sim
Antisim
etrica: Dados x, y A, si x R y e y R x, entonces x = y.
Transitiva: Dados x, y, z A, si x R y e y R z, entonces x R z.

Relaciones de Equivalencia
Una relacion binaria R sobre A se dice de equivalencia si es reflexiva, simetrica y transitiva.
Dada una relacion de equivalencia sobre A, para todo x A se define el conjunto
[x] = {y A|x R y}
que se denomina clase de equivalencia de x. El conjunto {[x] | x A} de todas las clases de
equivalencia se llama conjunto cociente de A por R y se denota A/R.
S
Puesto que para todo x A se tiene que x [x], podemos asegurar que A = xA [x]. Ademas, es
inmediato comprobar que, para todo x, y A, se tiene que o bien [x] = [y] o bien [x] [y] = . Por lo
tanto, A/R es una partici
on o clasificaci
on del conjunto A.
Clausuras de Relaciones
Supongamos una relacion binaria R sobre un conjunto A que esta definida mediante la propiedad P.
En ocasiones interesa describir, en terminos de R, la mnima relacion (en el sentido de la inclusion de
conjuntos), R , tal que:
R contiene a R,
R satisface P.
Una tal relacion, si existe, se denomina P-clausura de R.
Vamos a definir algunas de las P-clausuras mas utilizadas. Comencemos dando la definicion de potencia
de exponente natural de una relacion:
Definicion 1.3 Para toda relacion binaria, R, sobre A,
R0 = idA

Rn+1 = Rn R

1.3. RELACIONES DE EQUIVALENCIA Y RELACIONES DE ORDEN

r r Observese que x Rn y si y solo si existen n 1 elementos, a , . . . , a


1
n1 ,de A tal que
x R a1 , a1 R a2 , . . . y an1 R y

Definicion 1.4 Si R es una relacion binaria en un conjunto A:


1. Llamamos clausura reflexiva de R a la union Rr = R IA .
S
2. La union R+ = n1 Rn , se llama la clausura transitiva (o cierre transitivo) de R y es la
menor relacion transitiva que contiene a R.
S
3. La union R = n0 Rn , se llama la clausura reflexiva y transitiva (o cierre reflexivo y transitivo) de R y es la menor relacion reflexiva y transitiva que contiene a R.
4. la union Rs = R R1 , se llama clausura sim
etrica de R.
5. Por u timo, llamamos clausura de equivalencia de R a la relacion Req = ((Rr )s )+ y es la
menor relacion de equivalencia que contiene a R.
En el caso de que A sea finito, se demuestra que la clausura transitiva, R+ , de una relacion binaria R
en A puede expresarse como union de una familia finita. Concretamente, si |A| = n, entonces
+

R =

n
[

Ri

i=1

Ejemplo 1.5 Sea A = {a, b, c} y R = {(a, a), (a, b), (b, c), (c, b)}. Entonces:
Rr = R {(b, b), (c, c)}
R+ = R {(a, c), (b, b), (c, c)}
R = R {(a, c), (b, b), (c, c)}
Rs = R {(b, a)}
Req = A A

Relaciones de Orden
Una relacion R sobre el conjunto A se dice de orden parcial si es reflexiva, antisimetrica y transitiva. En tal caso, el par (A, R) se dice que es un conjunto parcialmente ordenado. Por ejemplo,
para todo conjunto A se tiene que (2A , ) es un conjunto parcialmente ordenado.
Las relaciones de orden parcial son frecuentemente denotadas por el smbolo , y as lo haremos en
todo lo que sigue.
Sea (A, ) un conjunto parcialmente ordenado. Un subconjunto X no vaco de A, se dice totalmente
ordenado, si para todo x, y X, se tiene que x y o y x.


CAPITULO
1. PRELIMINARES

10

Un orden parcial se dice que es un orden total (o un orden lineal) si el propio A es totalmente ordenado. Obviamente, si es un orden total sobre A, todo subconjunto X de A es totalmente
ordenado.
(N, ), (Z, ), (Q, ) y (R, ), donde es la relacion de precedencia habitual, son conjuntos totalmente ordenados.
Definicion 1.5 Sea (A, ) un conjunto parcialmente ordenado y X un subconjunto no vaco de A. Entonces,
nimo de X (o el primer elemento de X), si b x para todo
1. un elemento b X se dice que es el m
x X.
2. un elemento b X se dice que es el m
aximo de X (o el u ltimo elemento de X), si x b para todo
x X.
3. un elemento b X se dice que es un elemento maximal de X si para todo x X se tiene que si
x b entonces x = b.
4. un elemento b X se dice que es un elemento minimal de X, si para todo x X se tiene que si
x b entonces x = b.
Definicion 1.6 Una relacion de orden parcial sobre A se dice que es un buen orden sobre A o bien
que (A, ) es un conjunto bien ordenado, si todo subconjunto X de A tiene primer elemento.
(N, ) es un conjunto bien ordenado. De hecho, en N son equivalentes el principio de induccion, enunciado anteriormente, y su buena ordenacion. Por el contrario, (Z, ), (Q, ) y (R, ) no son conjuntos
bien ordenados.

r r De forma obvia, si A es un conjunto finito, toda relacion de orden total sobre A proporciona una enumeracion de A (enumeracion inducida por el orden total), y recprocamente, toda enumeracion de A
proporciona una relacion de orden total sobre A (relacion inducida por la enumeracion.

1.4. Secuencias
En esta seccion presentamos la nocion quizas mas utilizada en las Ciencias de la Computacion: la
nocion de secuencia, introducida para describir una coleccion de objetos de algun tipo, cuyo orden es
importante.
Utilizamos secuencias finitas, por ejemplo, para especificar que cuatro tareas concretas t, u, v y w del
conjunto de tareas que intervienen en una aplicacion determinada, han de ser realizadas en un cierto orden
(debido, por ejemplo, a los recursos que e stas necesitan).
Por otra parte, algunas aplicaciones requieren el uso de secuencias infinitas. Por ejemplo, la descripcion
de la imparcialidad de planificacion de un sistema operativo, por tratarse de una propiedad en el lmite,
reclama el uso de secuencias infinitas. Presentaremos en primer lugar las secuencias en general y en la
siguiente seccion nos centraremos en las secuencias finitas.
En determinadas ocasiones se utiliza la siguiente nomenclatura para las funciones:
Dados dos conjuntos I y A, se llama secuencia de elementos de A indizada por I , a
toda funcion : I A.

1.5. ALFABETO Y CADENAS

11

La secuencia indizada, : I A, se denota por (ai )iI (donde ai = (i) A) y al conjunto I se le llama
conjunto de
ndices. En particular, si A 2B (es decir, los elementos de A son subconjuntos de
B), a las secuencias indizadas de elementos de A se les llama familias de conjuntos.
Una secuencia (ai )iI se dice numerable (respectivamente, no numerable) si el conjunto I de ndices
es numerable (respectivamente, no numerable). El conjunto de ndices frecuentemente usado para indizar
secuencias finitas es [n] y para las secuencias infinitas numerables es N.
Las secuencias infinitas numerables de elementos de A se denominan sucesiones de elementos de A.
Es costumbre denotar las secuencias finitas por [a1 , . . . , an ] y las sucesiones por a1 , . . . , an , . . . o {an }nN .
En relacion al cardinal del conjunto AI (de todas las secuencias sobre A indizadas por I) se tiene:
Si |I| es infinito y |A| > 1, entonces |AI | > 0 .
Si I es finito y |A| 0 , entonces |AI | 0 . En particular, si |A| = 0 se tiene que |AI | = 0 .
Las familias de conjuntos permiten generalizar la union e interseccion de conjuntos: Sean A1 , A2 subconjuntos de A, entonces
A1 A2 = {x A| existe un i [2] tal que x Ai }
A1 A2 = {x A| para todo i [2] tal que x Ai }
Para una familia cualquiera
de subconjuntos
de A, (Ai )iI , definimos la union (resp. interseccion) de
S
T
dicha familia, denotada iI Ai (resp. iI Ai ), por
[

Ai = {x A | existe un i I tal que x Ai }

iI

Ai = {x A | para todo i I, x Ai }

iI

En relacion a la numerabilidad de la union de una familia de conjuntos, se tiene que:


La uni
on numerable de una familia de conjuntos numerables es numerable
En particular, la union numerable de conjuntos numerables, (Ai )iI , es infinito numerable en los siguientes
casos:
1. Uno al menos de los elementos de la familia es infinito numerable.
2. El conjunto de ndices I es infinito numerable, todos los elementos, Ai , de la familia son finitos y
Ai Aj = para todo par de elementos distintos de la familia.

1.5. Alfabeto y Cadenas


Sea A un conjunto numerable y no vaco al que llamamos alfabeto. Una cadena sobre el alfabeto
a es toda secuencia finita u : [n] A. El natural n se llama longitud de u y se denota long(u). Las cadenas (tambien llamadas palabras) se denotan por yuxtaposicion de sus elementos, es decir, u1 u2 un
(cadena de longitud n).


CAPITULO
1. PRELIMINARES

12

Introducimos la cadena vac


a o cadena nula, denotada A o simplemente , a la aplicacion :
A. Si convenimos en denotar el conjunto vaco por [0], entonces : [0] A.
Definicion 1.7 Para todo natural
n, sea An el conjunto de las cadenas de longitud n sobre A. La union de la
S
familia (An )nN , esto es, nN An , se llama el lenguaje universal sobre el alfabeto A y se denota
por A .
Definicion 1.8 Dadas dos cadenas u : [m] A y v : [n] A, se define la concatenaci
on de u y v,
denotada uv, como la cadena w : [m + n] A definida por
w(i) =

u(i)
v(i m)

si
si

1im
m+1im+n

La concatenacion es una operacion interna sobre el lenguaje universal A . La cadena vaca es el


elemento neutro para dicha operacion (u = u = u), es asociativa y si |A| > 1, no es conmutativa.
Definicion 1.9 Dada una cadena u, una cadena v se dice es un prefijo de u, si existe una cadena w tal
que u = vw.
Una cadena v es un sufijo de u, si existe una cadena w tal que u = wv. Una cadena v es una
subcadena de u, si existen cadenas x e y tales que u = xvy. Un prefijo, sufijo o subcadena v de una
cadena u se dice propia si v 6= u.

1.6. Arboles
En nuestro estudio la estructura de a rbol que vamos a introducir sera una herramienta basica. Usaremos los a rboles para representar objetos, para expresar la semantica de objetos, para representar espacios
de busqueda de demostraciones y como base de las demostraciones en s.
En esta seccion introducimos la nocion de a rbol debida a Gorn 5 y las nociones basicas sobre a rboles.
El punto de partida es fijar un conjunto infinito numerable A y una enumeracion {a1 , a2 , . . . , an , . . .} de
A.
rbol, D, es un conjunto de cadenas sobre A (subconjunto de A )
Definicion 1.10 Un dominio de a
que satisface las siguientes condiciones:
1. Si D 6= , existe D sin prefijo.
2. Para todo u D, todo prefijo de u pertenece a D.
3. Para todo u D tal que uai D, se tiene que uaj D para todo j tal que 1 j < i.

r r Observese que por la segunda condicion, para todo dominio de a rbol D 6= se tiene que D.

Ejemplo 1.6 El dominio de a rbol


D = {, a1 , a2 , a3 , a1 a1 , a1 a2 , a2 a1 , a2 a2 , a3 a1 , a3 a1 a1 }


1.6. ARBOLES

13

a1
a1 a1

a2
a1 a2

a2 a1

a3
a2 a2

a3 a1
a3 a1 a1

Figura 1.1:
se representa como aparece en la Figura 1.1:
arbol
Definicion 1.11 Sea un conjunto no vaco a cuyos elementos llamamos etiquetas. Un -
(brevemente, un a rbol) es una funcion T : D donde D es un dominio de a rbol. Las cadenas u
Dom(T ) se acostumbran a llamar los nodos o las direcciones del a rbol t. Si D = , la funcion T se
denomina
arbol vac
o. Para todo a rbol T no vaco, el nodo se llama la ra
z de T .
Ejemplo 1.7 Sea = {f, g, h, a, b}. El a rbol T : D , donde D es el dominio de a rbol del ejemplo 1.6
anterior y T es la funcion dada por
{(, f ), (a1 , h), (a2 , g), (a3 , b), (a1 a1 , a), (a1 a2 , b)(a2 a1 , b), (a2 a2 , a), (a3 a1 , f ), (a3 a1 a1 , g)}
se representa como aparece en la Figura 1.2.
f

h
a

g
b

b
a

f
g

Figura 1.2:
Definicion 1.12 El grado de ramificaci
on de un nodo u es el cardinal del conjunto
{ai A | uai Dom(T )}
y se denota por d(u). Los nodos u tales que d(u) = 0 se llaman hojas.
5

G. Huet and E. Shapiro et al. Fundamentals of Artificial Intelligence. Springer Verlag, 1986.


CAPITULO
1. PRELIMINARES

14

Definicion 1.13 Un a rbol T se dice de ramificaci


on finita si d(u) es un natural para todo nodo u.
Un a rbol T se dice binario si para todo nodo u se tiene que d(u) 2 y se dice completo si para todo
nodo no hoja, u, se tiene que d(u) = 2.
Un a rbol T se dice finito si Dom(T ) es finito y se dice infinito en caso contrario. Obviamente
todo a rbol finito es de ramificacion finita. Los a rboles de un solo nodo se llaman
arboles hoja.
Los nodos de la forma uai , con ai A, se llaman descendientes inmediatos (o hijos) de
u, y al nodo u el ascendiente inmediato (o padre) de cualquiera de sus descendientes inmediatos
uai . Si el a rbol es binario y d(u) = 2, los descendientes inmediatos de u se denominan descendiente
izquierdo y descendiente derecho respectivamente.
Cuando se trabaja con -arboles para un determinado, es costumbre referirse a los nodos por sus
etiquetas, y as utilizar expresiones como:
El nodo a, cuando debera decirse el nodo etiquetado con a.
El a rbol o los a rboles cuyos nodos son elementos de , cuando debera decirse El a rbol o
los a rboles cuyos nodos estan etiquetados con elementos de .
Utilizamos el ejemplo 1.6 para ilustrar este uso:
1. En el a rbol 1.6 todos los nodos a son hojas.
2. En el a rbol 1.6 uno de los nodos f es la raz del a rbol.

Caminos
Definicion 1.14 Sea T un a rbol y u, v Dom(T ). Un camino desde u hasta v es una secuencia finita de
nodos u1 , u2 , . . . , un+1 tal que:
u = u1 y v = un+1 .
Para todo j (2 j n), uj = uj1 akj para algun akj A.
El natural n se llama longitud del camino.
En a rboles infinitos, cabe considerar caminos infinitos.
Definicion 1.15 Un camino infinito desde el nodo u es una sucesion de nodos u1 , u2 , . . . , un , . . . tal
que:
u = u1 .
Para todo j > 1, uj = uj1 akj para algun akj A
Una rama es un camino infinito desde la raz o un camino desde la raz a una hoja, es decir, un camino
maximal. As, las ramas se clasifican (atendiendo a su longitud) en finitas e infinitas. Obviamente, en un
a rbol finito solo existen ramas finitas y su numero coincide con el numero de hojas.
Dado un a rbol T , para todo nodo u de T existe un u nico camino desde la raz al nodo u. La longitud
de dicho camino se llama la profundidad o el nivel de u. La nocion de profundidad de un nodo
estratifica los nodos de un a rbol en: nodos de profundidad 0 (la raz), profundidad 1, profundidad 2, etc.
rbol T es el maximo del conjunto {nivel(u)|u Dom(T )},
La profundidad o altura de un a
cuando T no tiene ramas infinitas, e infinito en caso contrario.
El siguiente resultado establece una condicion suficiente para la existencia de ramas infinitas.


1.6. ARBOLES

15

Lema 1.1 (Konig) En todo a rbol infinito de ramificacion finita existe al menos una rama infinita.
A continuacion presentamos una curiosa aplicacion del Lema de Konig. 6
Vamos a jugar con un conjunto de bolas etiquetadas con numeros naturales, sin restricciones sobre el
numero de bolas y sin restricciones sobre los numeros que aparecen en las etiquetas. Supongamos que,
al inicio del juego, tenemos una caja con una sola bola. Tenemos permiso para sacar la bola de la caja y
reemplazarla por tantas bolas como queramos, siempre que esten etiquetadas con numeros menores que el
de la bola retirada. Esta es toda la mecanica del juego, tomar una bola de la caja, retirarla y sustituirla por
bolas con numeros menores. Por ejemplo, podramos retirar una bola con el numero 30 y sustituirla por cien
mil bolas con etiquetas menores que treinta.
El problema consiste en demostrar que, sin importar como actuemos (de acuerdo con las reglas), finalmente acabaremos quedandonos sin bolas en la caja.

Subarboles
Definicion 1.16 Sea T un a rbol y u un nodo de T . El sub
arbol de ra
z u es el a rbol Tu definido
como sigue:
Dom(Tu ) = {v| uv Dom(T )}.
Tu (v) = T (uv).
Para todo a rbol T y para todo nodo no hoja u de T , los subarboles cuya raz son los descendientes inmediatos
de u se llaman sub
arboles de u. En particular, si d(u) = 2 se llaman sub
arbol izquierdo y
sub
arbol derecho respectivamente.
Es inmediato que si T es de ramificacion finita, todos sus subarboles son tambien de ramificacion finita.
Si ademas T es infinito, por el Lema de Konig, T tiene subarboles infinitos.

Recorridos de un a rbol
Describimos a continuacion dos modos habituales de ordenar, enumerar o recorrer los nodos de un a rbol finito. Dichas enumeraciones proporcionan una secuencia de sus nodos contemplados como elementos
de .
Primero en Profundidad: En todo a rbol finito T , la relacion pp en Dom(T ) definida a continuacion es de orden total. Diremos que u pp v si se cumple alguna de las condiciones siguientes:
1. u es prefijo de v
2. Existen cadenas x, y, z A y elementos ai , aj A con i < j tales que u = xai y y v = xaj z.
La enumeracion de los nodos de T proporcionada por dicha relacion se llama recorrido primero
en profundidad. Si u pp v por la primera condicion, se dice que u es un ascendiente de v y que
v es un descendiente de u.
Primero en Anchura: En todo a rbol finito T , la relacion pa en Dom(T ) definida a continuacion es
de orden total. Diremos que u pa v si se cumple alguna de las condiciones siguientes:
6

Ver R. Smullyan. Trees and balls games. Annals of the New York Academy of Sciences, 321:8690, 1979.


CAPITULO
1. PRELIMINARES

16
1. long(u) < long(v)

2. Existen cadenas x, y, z A con long(y) = long(z) y elementos ai , aj A con i < j tales que
u = xai y y v = xaj z.
La enumeracion de los nodos de T proporcionada por dicha relacion se llama recorrido primero
en anchura.
Ejemplo 1.8 Para el a rbol
f

g
i

h
k

g
g

k
j

el recorrido primero en profundidad viene dado por la siguiente secuencia de sus nodos:
f, g, i, j, h, i, h, k, g, g, k, j
y el recorrido primero en anchura viene dado por la siguiente secuencia de sus nodos:
f, g, h, i, i, j, h, g, k, g, k, j

1.7. Conjuntos Inductivos y Funciones Recursivas


En diferentes a reas de las Ciencias de la Computacion es frecuente introducir objetos mediante la
definici
on inductiva de conjuntos. Por definicion inductiva entendemos la definicion de un
conjunto caracterizado por satisfacer las propiedades siguientes:
es el menor conjunto que contiene a un conjunto dado X llamado conjunto base o conjunto de
a tomos.
es cerrado para un conjunto F de aplicaciones llamado conjunto de constructores.
Antes de describir formalmente estos conjuntos, vamos a describir un caso sencillo en el que tanto el
conjunto base, como el conjunto de constructores consta de un solo elemento. Se trata de la definicion
inductiva de los numeros naturales, N.
Consideremos el alfabeto A = {O, (, ), } y el lenguaje universal sobre el alfabeto A, es decir, A .
Consideremos el operador
C : A A ; C (u) = (u)

1.7. CONJUNTOS INDUCTIVOS Y FUNCIONES RECURSIVAS

17

Entonces, el subconjunto de A generado a partir del conjunto base X = {O} y el constructor C es


B = {O, (O), ((O)), (((O))), . . .}
Si interpretamos O por el 0 de N y por la funcion sucesor en N, es decir (n) = n + 1, Entonces B
no es mas que el conjunto de los naturales {0, 1, 2, . . . . . .}

r r Observese que:
1. El conjunto B es el menor subconjunto de A que contiene a O y es cerrado para C , es decir,
para todo u B, se tiene que C (u) = (u) B
2. El conjunto B es la union de la sucesion de conjuntos Xn descritos como sigue:
X1 = {O}
Xn+1 = Xn {(u) | u Xn }

Pasamos ya a establecer que se entiende por conjunto definido inductivamente.


Definicion 1.17 Sea A un conjunto no vaco, X un subconjunto no vaco de A y F un conjunto de aplicaciones sobre A. 7
F = {fin : An A | (i, n) I J}
donde I es un conjunto arbitrario no vaco y J un subconjunto no vaco de N .
Un subconjunto Y de A se dice inductivo sobre X para F, si verifica las dos condiciones
siguientes:
1. X Y
2. Y es cerrado para F, es decir, para toda aplicacion f : An A en F, y para toda tupla (y1 , . . . , yn )
Y n , se tiene que f (y1 , . . . , yn ) Y .
La interseccion de los conjuntos inductivos sobre X para F, al que denotaremos por X + , es tambien un
conjunto inductivo sobre X para F y se llama la clausura inductiva de X para F.

r r Tenemos que asegurar que la definicion dada de clausura inductiva de X para F es correcta. Para
ello, puesto que tal clausura, a la que hemos denotado X + , la hemos definido como la interseccion de
todos los conjuntos inductivos sobre X para F , tenemos que asegurarnos que existen tales conjuntos.
Efectivamente es as, ya que el propio A es inductivo sobre X para F .

Vamos a dar una descripcion constructiva de X + :


Sea (Xi ) una sucesion creciente de subconjuntos de A definida como sigue:
X1

= X

Xi+1 = Xi {f (x1 , . . . , xn ) | f F y (x1 , . . . , xn ) Xin }


Entonces,
X+ =

Xi

i1

Advirtamos que no exigimos que todos los elementos de F tengan la misma aridad, es decir, F puede contener aplicaciones
monarias, binarias, . . . .


CAPITULO
1. PRELIMINARES

18

r r Advirtamos que cada elemento de X + , puede ser representado por un conjunto de a rboles del siguiente
modo:
- Cada elemento x X (elemento del conjunto base) se representa por un a rbol de un solo nodo
etiquetado con x.
- Cada elemento a = f (x1 , . . . , xn ) Xi por cualquier a rbol tal que:
(i) su raz es f y su grado de ramificacion es n.
(ii) cada descendiente inmediato de la raz es la raz de un a rbol que representa a xj .
As pues, es posible que un elemento a X + pueda ser representado por diferentes a rboles, dependiendo de la n-upla (x1 , . . . , xn ) elegida (basta que a = f (x1 , . . . , xn ) Xi ).

Ahora tenemos los elementos necesarios para advertir que el principio de induccion no es mas que la
lectura para N del siguiente resultado.
Teorema 1.2 (Principio de Induccion Estructural) Sea X + la clausura inductiva de X para un conjunto
de constructores F. Sea P una propiedad relativa a X + tal que:
1. Todo elemento de X verifica P.
2. F respeta la propiedad P, es decir, para todo f F de aridad n se tiene que:
Si x1 , . . . , xn X + verifican P, entonces f (x1 , . . . , xn ) verifica P.
En tales condiciones, todos los elementos de X + verifican P.
1.7.0.1.

Clausuras Inductivas Libremente Generadas

Un tipo de clausura inductiva de particular interes (por su adecuacion para ser manipulada computacionalmente) lo forman las clausuras inductivas libremente generadas, que son aquellas
en las que los elementos de X + son generados de forma u nica a partir del conjunto base X y del conjunto
de constructores F, es decir, aquellas en las que todo elemento a de X + es representado por un u nico a rbol.
Mas formalmente:
Definicion 1.18 Sea A un conjunto, X un subconjunto de A, F un conjunto de aplicaciones sobre A y
X + la clausura inductiva de X para F. Se dice que X + es libremente generada si cumple las
siguientes condiciones:
1. Para toda aplicacion, f : Am A, en F, su restriccion a X + es inyectiva, es decir, todo constructor
genera elementos distintos desde elementos distintos.
2. Para todo par de aplicaciones, f : Am A y g : An A en F, tales que f 6= g, sus imagenes
f ((X + )m ) y g((X + )n ) son disjuntas, es decir, constructores distintos generan elementos distintos.
3. Para toda aplicacion, f : Am A, en F y para todo elemento (x1 , . . . , xm ) (X + )m , se tiene que
f (x1 , . . . , xm )
/ X, es decir, ningun constructor genera elementos del conjunto base.
Es obvio que el conjunto de los naturales, como clausura inductiva, es libremente generado.

1.7. CONJUNTOS INDUCTIVOS Y FUNCIONES RECURSIVAS

19

r r En el caso de las clausuras inductivas libremente generadas, X + sera siempre infinito.

En las clausuras libremente generadas, los conjuntos Xi satisfacen la siguiente propiedad:


n , entonces f (x , . . . , x ) 6 X .
Si (x1 , . . . , xn ) Xin Xi1
1
n
i

Por lo tanto, X + es la union de la sucesion estrictamente creciente de conjuntos Yi definidos como sigue:
Y1

Y2

Y1 {f (y1 , . . . , yn ) | f F e (y1 , . . . , yn ) Y1n }

... ...
Yi+1

n
Yi {f (y1 , . . . , yn ) | f F e (y1 , . . . , yn ) Yin Yi1
}

1.7.1. Funciones Recursivas


Sea A un conjunto, X un subconjunto no vaco de A, F un conjunto de aplicaciones sobre A y X + la
clausura inductiva de X para F. Bajo ciertas condiciones, es posible extender una funcion definida sobre
X, de forma u nica, a X + . Sean:
Un conjunto B y un conjunto G de funciones de alguna aridad sobre B.
Una funcion d : F G tal que, para todo f F, d(f ) tiene la misma aridad que f .
En tales condiciones, si X + es libremente generada, entonces para toda funcion h : X B existe una
u nica funcion b
h : X + B tal que:
1. b
h es una extension de h, es decir, b
h(x) = h(x) para todo x X.

2. b
h(f (x1 , . . . , xn )) = d(f )(b
h(x1 ), . . . , b
h(xn )) para toda funcion f de F y para todo (x1 , . . . , xn )
+
n
(X ) .
La segunda condicion puede expresarse diciendo que el diagrama

(X + )n

bn
h

Bn

X+

b
h

d(f )

es conmutativo, es decir, b
h f = d(f ) b
hn , siendo b
hn la funcion definida por:
b
hn (x1 , . . . , xn ) = (b
h(x1 ), . . . , b
h(xn ))

on recursiva o tambien definida inductivaLa extension b


h definida se dice que es una funci
mente.


CAPITULO
1. PRELIMINARES

20

As pues, conocido el valor de b


h sobre los elementos del conjunto base, la extension b
h se define sobre
+
un elemento a de X en terminos de s misma sobre elementos que son mas simples que a. 8

Ejemplo 1.9 La potencia de exponente natural de una relacion binaria R en un conjunto A (que hemos
introducido en la seccion 1.1) es la funcion recursiva
b
h : N 2AA

extension de h : {0} 2AA , con h(0) = idA , definida por b


h((n)) = d()(b
h(n)) donde
d() : 2AA 2AA ;

d()(S) = S R

es decir, b
h((n)) = b
h(n) R.

Si denotamos b
h(k) = Rk para todo k N, se tiene la definicion ya presentada
R0 = idA

Por esta razon, se suele decir que b


h se llama a s misma.

Rn+1 = Rn R

1.8. EJERCICIOS

21

1.8. Ejercicios
1. Sean X, Y, S, T conjuntos tales que X Y = T S y X Y = T S = . Demuestre que
X = si y solo si T = (X S) (Y T )
2. Demuestre que una relacion binaria R en un conjunto A es transitiva si y solo si R+ = R.
3. Dadas dos relaciones binarias R y S en un conjunto A, demuestre que
a) (R+ )1 = (R1 )+
b) Si R S = S R, entonces (R S)+ = R+ S +
4. Dada la relacion en C definida por z1 z2 si y solo si z1 z2 R. demuestre que es una
relacion de equivalencia.
5. Proporcione un ejemplo de relacion binaria no reflexiva, cuya clausura transitiva s sea reflexiva.
6. Sea A un conjunto arbitrario. Demuestre que si B A , entonces (B ) = B .
7. Sea (Ai )iI una familia de subconjuntos de un conjunto A. Pruebe que:
S
T
a) ( iI Ai )c = iI Aci
T
S
b) ( iI Ai )c = iI Aci

donde, dado un conjunto X, hemos denotado por X c el conjunto complementario de X.

8. Sea una funcion f : A B, I un conjunto no vaco y, para cada i I, Ai A. Demuestre que:


S
S
a) f ( iI Ai ) = iI f (Ai ).
T
T
b) f ( iI Ai ) iI f (Ai ).
T
T
c) f ( iI Ai ) = iI f (Ai ), si f es inyectiva.
9. Sea f : R R definida por f (x) =

x2
x2 +1 .

Demuestre que f (R) = [0, 1) y que f no es inyectiva.

10. Sean A, B, C conjuntos no vacos y f : A B y f : B C. Construya un ejemplo en el que f


sea sobreyectiva, g inyectiva y g f ni sobreyectiva ni inyectiva.
11. Demuestre por induccion que para todo n N se tiene que:
a) n5 n es divisible por 5.
Pn
an+1 1 para cualquier a R \ {0, 1}.
k
b)
k=0 a =
a1

12. Sea = {a1 , . . . , a26 } = {a, . . . , z}, el alfabeto romano. Defina rigurosamente la relacion binaria
orden lexicografico sobre , tal que, si la denotamos por ,
u v se lee: u precede a v en el diccionario.
13. Sean (A, 1 ) y (B, 2 ) dos conjuntos parcialmente ordenados. Una aplicacion f : A B se dice
que es monotona si para cualesquiera a, b A tales que a 1 b se tiene que f (a) 2 f (b). Demuestre
que:


CAPITULO
1. PRELIMINARES

22

a) La composicion de dos aplicaciones monotonas es monotona.


b) Si f es monotona y es el mnimo elemento de un subconjunto X no vaco de A, entonces f ()
es el mnimo elemento de f (X).
c) Proporcione un contraejemplo para mostrar que si f es monotona y es el mnimo elemento de
A, entonces f () no es necesariamente el mnimo elemento de B.
14.

a) Defina una tabla 2-dimensional de elementos de un conjunto A, como una secuencia de filas,
siendo cada fila una secuencia de elementos de A.
b) Dada una tabla 2-dimensional de elementos de un conjunto A, TA , Defina funciones sobre TA
que seleccionen la i-esima fila, la j-esima columna y el elemento aij , respectivamente.
c) Demuestre que la aplicacion que selecciona la j-esima columna es una secuencia.

15. Demuestre que en un a rbol binario T


a) El numero de nodos en el nivel k es menor o igual que 2k .
b) Si h es la altura de T , entonces el numero de hojas es menor o igual que 2h .
c) Si h es la altura de T , entonces el numero de nodos de T es menor o igual que 2h+1 1.
d) Si n es el numero de nodos de T con n 1, entonces la altura de T es mayor o igual que log2 n.
16. Sea B la clase de los a rboles binarios y sea f : B N, definida por

si T es vaco
0
f (T ) =
m
ax{f (TL ), f (TR )} si f (TL ) 6= f (TR )

f (TR ) + 1
si f (TL ) = f (TR )

donde TL y TR son los subarboles izquierdo y derecho de T , respectivamente. f (T ) es llamado el


numero Strahler de T .
a) Determine el numero Strahler de un a rbol binario completo de altura h.
b) Proporcione una relacion general entre la altura de un a rbol binario y su numero Strahler.

17.

a) Demuestre el lema de Konig.


b) Use el lema de Konig para demostrar que el juego citado como ejemplo de su uso debe terminar.
(Indicacion: supongamos que creamos un a rbol como sigue: los nodos son las bolas que han
pasado por la caja. El nodo raz es la bola con la que comenzamos a jugar. Los hijos de una
bola son las bolas que introducimos cuando la reemplazamos).

18. Defina inductivamente el conjunto {n N | n es multiplo de 3 y de 7}, usando (para definir los
constructores) solamente la suma en N.
19.

a) Defina inductivamente el conjunto S de las secuencias finitas de elementos de un conjunto A.


Razonar si S es o no libremente generado.
b) Demuestre por induccion estructural que la longitud de una secuencia s coincide con la longitud
de su inversa (secuencia obtenida tomando los elementos de s en orden inverso).

20. Sea A = {a, b, c} y : A A A la aplicacion definida por la tabla siguiente:

1.8. EJERCICIOS

23

a
b
c

a
a
b
c

b
b
c
a

c
c
a
b

a) Demuestre que A es la clausura inductiva de X = {b} para .


b) Demuestre que existe una aplicacion h : X N que no tiene ninguna extension g a A tal que g
es un homomorfismo de (A, ) en (N, +), es decir, tal que g(x y) = g(x) + g(y).
21. Defina recursivamente la funcion nivel de un nodo en un a rbol.
22. Dadas las siguientes definiciones recursivas de aplicaciones, busque para cada una de ellas una
formula simple para su definicion y pruebe por induccion que la respuesta es correcta
a) f : N N, definida por
f (n) =

1
f (n 1) + 2n + 1

si n = 1
en caso contrario

si m = 1
en caso contrario

b) g : N N N, definida por
g(n, m) =

1
g(n, m 1) n

24

CAPITULO
1. PRELIMINARES

Captulo 2

Logica y Computacion

Indice
2.1. Objetivo de la logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.2. Tipos de Logicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.3. Expectativas y Limitaciones de la Logica en Computacion

. . . . . . . . . . . . . . . 31

2.3.1. El Lenguaje . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.3.2. La Semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2.3.3. Teora de la Demostracion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
2.3.4. La Automatizacion de las Deducciones . . . . . . . . . . . . . . . . . . . . . . . 40
2.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

2.1. Objetivo de la logica


La importancia de la Logica se ha reconocido desde la antiguedad. Ya los griegos saban que el razonamiento es un proceso sujeto a ciertos esquemas y que, al menos parcialmente, esta gobernado por leyes
perfectamente formulables (Aristoteles fue el primero en intentar describir las leyes de la logica). Pero su
importancia en la actualidad se debe sin duda al destacado papel que ha tomado recientemente en los mas
diversos campos de las Ciencias de la Computacion.1 No debemos sorprendernos por este hecho, ya que,
como expone magistralmente Hofstadter en su libro Godel, Escher y Bach. Un Eterno y Gracil Bucle,2
. . . la logica nacio como un intento de mecanizar los procesos intelectivos del razonamiento . . .
De hecho, si se pretenden mecanizar tareas tales como:
- Calculos basados en operaciones aritmeticas (que el hombre puede memorizar y aplicar sin necesidad
de razonar).
- Busqueda de datos (por simple comparacion con un patron dado).
1
Sin a nimo de ser exhaustivos, podemos destacar su utilidad en Comprension del Lenguaje Natural, Teora de Automatas y Lenguajes Formales, Diagnosis, Simulacion de Circuitos Digitales, Planificacion, Control Automatico, Analisis, Sntesis y Verificacion
de Programas, Programacion logica, Inteligencia Artificial, Control de Procesos, Robotica, Bases de Datos, . . .
2
D.R. Hofstadter. Godel, Escher y Bach. Un Eterno y Gracil Bucle. Tusquets Eds. 4a ed. 1992.

CAPITULO
2. LOGICA
Y COMPUTACION

26

- Clasificacion u ordenacion de datos (siguiendo un criterio establecido).


no es necesario aplicar la Logica (en el sentido de ciencia). Pero si pretendemos mecanizar tareas inteligentes, tareas en las que interviene destacadamente la capacidad deductiva del hombre, como las involucradas
en los campos de las Ciencias de la Computacion citados, se requiere:
- Tener conocimiento sobre el dominio.
- Razonar con tal conocimiento.
- Conocer como dirigir o guiar tal razonamiento
Para todo ello es preciso definir (con claridad y precision) y analizar los procesos inferenciales que el hombre
practica de modo natural. Este es el objetivo de la logica.
Sin embargo, las inquietudes teoricas en el campo de la automatizacion del razonamiento, distan mucho temporalmente de las consecuciones. As, la idea de crear un lenguaje simbolico aparece en la Edad
Media con Raimundo Lulio,3 pero no tuvo e xito en la e poca. La razon, como indican Gochet, Gregoire y
Gribomont,4 es que:
. . . desgraciadamente, el nivel de la Ciencia y en particular de las Matematicas era muy bajo
en la e poca . . .
Como hemos indicado en el captulo anterior, la historia de la logica computacional puede ser trazada
al menos desde Thomas Hobbes y Gottfried Leibniz en el siglo XVII, George Boole y Gottlob Frege en
el siglo XIX, Jacques Herbrand y Gerhard Gentzen en 1930 y John Alan Robinson en 1960, todos ellos
matematicos.5 Sus trabajos constituyen la base de lo que hoy se entiende por Ciencias de la Computacion.
Son muchas las definiciones posibles para la logica y quizas la mas estandar es la siguiente:
. . . la logica es la ciencia que tiene como objetivo el analisis de los metodos de razonamiento
...
Desde su papel crucial en Computacion, encontramos nuevas definiciones que reflejan nuestro interes. Recogemos la de Johan van Benthem (junto con otros autores) en su texto Logic in Action: 6
La logica es una teora de tareas informacionales claves ejecutadas por actores cognitivos
que razonan, aprenden, actuan e interactuan con otros de modo inteligente.
En este texto, estudiaremos la logica que analiza la validez de las construcciones del lenguaje natural
llamadas razonamientos deductivos (o inferencias deductivas), es decir, construcciones que responden al esquema:
Si . . . y . . . y . . . y . . . y . . . , entonces . . .
y que utilizamos para establecer que cierta afirmacion (la conclusion) se deriva, deduce o infiere deductivamente de otras (las hipotesis).
3

I.M. Bochenski. Historia de la Logica Formal. Ed. Gredos. 1976.


P. Gochet, E.Gregoire y P. Gribomont. From Standard Logic to Logic Programming. Introducing a Logic Based Approach to
Artificial Intelligence. A.Thayse Editors JOHN WILEY & SONS. 1988.
5
J.W. Lloyd.Ed. Computational Logic. Symposium Proceedings Brussels. Basic Research Series. Springer Verlag.1990.
6
van Benthem, J; van Ditmarsch, H; van Eijck, J and Jaspars, J. Logic in Action. Springer-Verlag. 1980. Existe una nueva version
online de 2014.
4


2.1. OBJETIVO DE LA LOGICA

27

Tipos de Razonamientos
Segun Charles S. Peirce el ser humano tiene tres modos de razonar: el deductivo, el inductivo y el
abductivo. Veamos ejemplos de cada uno de ellos.
Ejemplos de deduccion:
Regla:
Caso:
Deduccion (de la conclusion):

Todas las bolas de la bolsa B1 son blancas.


Estas bolas provienen de la bolsa B1 .
Estas bolas son blancas.

Regla:
Caso:
Deduccion (de la conclusion):

Los animales sin bilis son longevos.


El hombre y el caballo no tienen bilis.
El hombre y el caballo son longevos.

Regla:
Caso:
Deduccion (de la conclusion):

Si el fusible esta fundido, entonces la lavadora no funciona.


El fusible esta fundido.
La lavadora no funciona.

En la deduccion la conclusion se obtiene de la premisa: dada la Regla y el Caso, el resultado hace


explcito algo ya implcito en las premisas (se dice aqu que se va de lo universal a lo singular). No es mas
que la aplicacion de una regla a un caso para establecer un resultado. Si sabemos que todas las bolas de B1
son blancas y extraemos un punado de bolas, antes de mirarlas, sabemos que son blancas.
Ejemplos de induccion:
Caso:
Caso:
Induccion (de la regla):

Estas bolas proceden de la bolsa B1


Estas bolas son blancas.
En la bolsa B1 todas las bolas son blancas

Caso:
Caso:
Induccion (de la regla):

El hombre y el caballo no tienen bilis


El hombre y el caballo son longevos
Los animales sin bilis son longevos

Caso:
Caso:
Induccion (de la regla):

La lavadora no funciona
El fusible esta fundido.
Si el fusible esta fundido, entonces la lavadora no funciona.

El razonamiento deductivo no provoca replica, pero en el razonamiento inductivo, entendemos que para
que la regla inducida sea admisible habra que exigir la enumeracion exhaustiva de todos los casos, con lo
cual se convertira en un razonamiento deductivo. Cuando la enumeracion no es exhaustiva, hay un salto
cualitativo de lo particular a lo universal. As, sin saber de que color son las bolas de B1 , extraemos un
punado y observamos que son blancas. Otro punado y volvemos a ver que tambien e stas son blancas. Otro
punado mas y volvemos a ver que tambien e stas son blancas, . . . . Espontaneamente, inferimos que todas las
bolas son blancas, aunque la inferencia no tiene el caracter de necesario.
En definitiva, la induccion permite crear una Regla (hipotetica) a partir de un Caso y otro Caso y otro
caso, . . . . A diferencia de la deduccion, la induccion no es logicamente valida sin confirmaciones externas
(en los ejemplos dados, bastara una excepcion a la regla para que la regla quedase falsificada, por ejemplo,
bastara una bola negra...por mas que la excepcion puede reforzar en cierto modo a la regla precisamente

CAPITULO
2. LOGICA
Y COMPUTACION

28

por su caracter de excepcionalidad), la induccion no es valida sin una ratificacion emprica y pese a todas
las posibles ratificaciones empricas siempre parece existir el riesgo de una excepcion.
Ejemplo de abduccion:
Regla:
Caso:
Abduccion (de Hipotesis):

Todos las bolas de la urna B1 son blancas


Estas bolas son blancas.
Estas bolas proceden de la bolsa B1

Regla:
Caso:
Abduccion (de Hipotesis):

Los animales sin bilis son longevos


El hombre y el caballo son longevos
El hombre y el caballo no tienen bilis

Regla:
Caso:
Abduccion (de Hipotesis):

Si el fusible esta fundido la lavadora no funciona


La lavadora no funciona
El fusible esta fundido

La abduccion propone un modo de inferir basico:


AB
B
A
Siguiendo con el primer ejemplo y observando que tenemos bolas blancas y teniendo a disposicion una Regla
que parece dar una explicacion (sabemos que todas las bolas de la urna B1 son blancas) entonces razonamos
que quizas estas bolas blancas procedan de la urna B1 . De este modo (pese a la incertidumbre) hemos
incrementado nuestro conocimiento. Al principio sabamos que (por ejemplo) las bolas eran blancas,
ahora sabemos que pueden corresponder a la urna B1 .
Por estar fundamentada en el juego de hipotesis factibles, es por lo que Peirce ha considerado a la
abduccion como la u nica forma de razonar que es realmente susceptible de incrementar nuestro saber, o,
mejor dicho, de crear nuevas ideas y prever (aunque al precio de un cierto riesgo de error).
La abduccion, como la induccion, debe ser confirmada, la confirmacion sin embargo jamas podra ser
absoluta. Existira una abduccion correcta si la Regla elegida para explicar la Conclusion se confirma tantas
veces de modo que, practicamente, nos encontremos ante una razonable certeza.
El razonar abductivo es el razonar del detective: permite relacionar diversos indicios dentro de una
hipotesis explicativa valida.
De estos tres tipos de razonamiento, la deduccion es el u nico tipo de completamente certero, que infiere
su Resultado como conclusion necesaria. La induccion produce una Regla que se valida solamente a
la larga, y la abduccion, la menos certera de las tres, simplemente sugiere que algo puede ser el caso.
En este libro nos limitamos a estudiar razonamientos deductivos.
En todo su quehacer, como ya destaco Aristoteles, la logica se interesa en la forma y no en el contenido
de los razonamientos. Por ejemplo, consideremos los dos razonamientos deductivos siguientes, cuya validez
nadie pondra en duda:
1. Si Pars es la capital de Espana y Roma es la capital de Italia, entonces Pars es la capital de Espana.


2.2. TIPOS DE LOGICAS

29

2. Todos los malaguenos miden mas de dos metros. Juan es malagueno. Por lo tanto, Juan mide mas de
dos metros.
El primero tiene la forma: si A y B, entonces A, y el segundo (que responde al tipo de razonamiento referido por los griegos como silogismo) tiene la forma:
Todos los A son B, c es un A. Por lo tanto, c es un B
La validez de estas formas de argumentacion es el objetivo de la logica deductiva. La verdad o falsedad de
las hipotesis y de la conclusion (como ocurre en el primer ejemplo) no conciernen a la logica. Su objetivo
es u nicamente:
conocer si de las hipotesis es lcito inferir la conclusion, si la informacion que recoge la conclusion
esta implcita en la informacion que recogen las hipotesis, y
establecer metodos validos de inferencia, es decir, poder contestar a las preguntas siguientes:
es lcito inferir de las hipotesis H1 , H2 , . . . , Hn la conclusion C?,
Existen metodos lcitos de inferencia?;
Existen metodos lcitos de inferencia que son automatizables?.
Con esta concepcion como punto de partida, para contestar a las anteriores preguntas, habra que establecer con claridad:
1. El tipo de construcciones del lenguaje natural que aceptamos como hipotesis y como conclusion.
2. El grado de analisis sobre tales construcciones.
3. El planteamiento de partida sobre la nocion de verdad o falsedad.
Todo ello, dara lugar a diversos tipos de logicas.

2.2. Tipos de Logicas


Entre las diversas logicas, y como referencia y fundamento de todas las demas, se encuentra la l
ogica
cl
asica o estandar, la mas ampliamente estudiada desde que George Boole expusiera sus Leyes de la
Verdad en 1854 7 y a la que en sntesis podemos describir como sigue:
Analiza razonamientos deductivos.
considera u nicamente frases declarativas del lenguaje natural y, para ellas contempla que solo admiten
dos posibles valores de verdad: o son verdaderas o son falsas (es decir, la logica clasica es bivaluada).
considera que podemos pronunciarnos acerca del valor de verdad de una frase declarativa de un modo
absoluto, sin recurrir a consideraciones de contexto alguno. Nos pronunciamos sobre su valor de
verdad sin tener en cuenta en que momento se declaran, ni en que lugar, ni cual es nuestro grado de
conocimiento previo, . . .
7

George. Boole. An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and
Probabilities. Dover, New York, 1958.

CAPITULO
2. LOGICA
Y COMPUTACION

30

contempla la verdad composicionalmente, es decir, el valor de verdad de una frase compuesta queda
totalmente determinado por la verdad de las frases simples componentes (es decir, la logica clasica es
veritativo-funcional o extensional).
El estudio sobre tales construcciones se realiza en dos niveles de analisis estructural, segun se contemplen u nicamente construcciones declarativas simples y compuestas o bien, en cada afirmacion simple
se distinga que se declara y de que o quien se declara. Estos dos niveles dan lugar a la logica clasica
proposicional y a la logica clasica de predicados, respectivamente.
asica, es un termino generico usado para referir a cualquier logica diogica no cl
El termino l
ferente a una logica que posea las caractersticas que acabamos de senalar. Por lo tanto, no sera clasica
cualquier logica que, al analizar la correccion de los razonamientos, permita considerar contextos (temporales, de creencia, de necesidad y posibilidad, . . . ); no se limite a contemplar como valores de verdad
u nicamente el 0 y el 1; no sea veritativo-funcional; considere razonamientos abductivos o inductivos . . .
Aunque las logicas no clasicas han adquirido mayor protagonismo por su papel en las Ciencias de la
Computacion, surgieron antes de la existencia de los ordenadores. Los filosofos griegos ya cuestionaban el
etiquetar los enunciados de verdaderos sin contemplar la verdad por necesidad o la verdad por posibilidad
o sin contemplar que existen enunciados cuya verdad es temporal. . . Smullyan 8 afirma sobre la necesidad
de las logicas no clasicas:
. . . no es que la logica clasica de respuestas incorrectas a ciertas cuestiones, sino que ciertas cuestiones no pueden ser expresadas en ella facilmente, de modo natural o en un modo
computacionalmente eficiente . . .
Hoy da es una cuestion abierta conseguir una rigurosa clasificacion de las logicas no clasicas. Siguiendo
a Susan Haak 9 , la mayora de las logicas no clasicas, son:
- Extensiones de la l
ogica cl
asica: Pueden y analizar como correctos todos aquellos
razonamientos que la logica clasica califica como tales, pero tambien razonamientos que la logica
clasica no puede. Ejemplos de este tipo de logicas son aquellas en las que el analisis de los razonamientos consideran contextos de tiempo (logicas temporales), de conocimiento (logicas epistemicas),
de creencia (logicas doxasticas), etc.
- Desviaciones o rivales de la l
ogica cl
asica: Utilizan el mismo vocabulario que
la logica clasica, pero no consideran como correctos algunos de los que la logica clasica califica como
tales. Un ejemplo significativo de logica rival es el de la logica Intuicionista o constructivista, que
no contempla como ley la ley del tercero excluido (A A siempre es verdadera). Esta logica fue
introducida por Brouwer. Para un intuicionista, A es verdadero solo si es posible dar constructivamente una realizacion de A o probar constructivamente la existencia de A y, obviamente, existen
afirmaciones para las que no es posible dar constructivamente una realizacion ni de ella ni de su
negacion.
Otras logicas de este tipo son las logicas difusas, abductivas, paraconsistentes, probabilsticas, etc.
A todas ellas les prestaremos atencion en sucesivos textos. En este solo trataremos la logica clasica
proposicional.
8
9

En R. M. Smullyan. First-Order Logic. Springer-Verlag, 1968. Vuelto a publicar por Dover en 1995.
Susan Haack. Philosophy of Logics. Cambridge University Press. 1978.

2.3. EXPECTATIVAS Y LIMITACIONES DE LA LOGICA


EN COMPUTACION

31

2.3. Expectativas y Limitaciones de la Logica en Computacion


La vision de la logica que hemos adoptado, enfocada al analisis de razonamientos o inferencias y con el
objetivo final de aplicaciones computacionales conlleva, como destaca el logico matematico Martin-Lof, 10
los cuatro aspectos siguientes:
el lenguaje,
la semantica,
una teora de la demostracion, y
la automatizacion de las deducciones.
En esta seccion, describimos cada uno de estos cuatro aspectos enmarcandolos en un contexto general y,
particularizando a la logica clasica, comentamos brevemente los resultados que generan expectativas y los
que establecen limitaciones respecto al uso de la logica en computacion.

2.3.1. El Lenguaje
Todo metodo formal para abordar una tarea, requiere la eleccion de las cadenas de smbolos que
constituiran el lenguaje utilizado para describir el conocimiento sobre el dominio en el que se enmarca
dicha tarea. Ello conlleva la descripcion de los smbolos y las palabras (combinaciones permitidas de
smbolos) que se utilizaran para representar las construcciones del lenguaje natural de forma no ambigua
y de modo que quede reflejado el grado de analisis pretendido. Este aspecto se recoge mediante lo que se
denomina lenguaje formal que definimos en esta seccion.
En adelante, llamaremos alfabeto a un conjunto numerable de smbolos al que denotaremos por a.
Un lenguaje L sobre a es un subconjunto no vaco del lenguaje universal sobre a, es decir
L a =

an

nN

A los elementos de L los llamaremos palabras o f


ormulas bien formadas (en adelante, fbfs).
As pues, un lenguaje L viene determinado por:
(i) Un conjunto numerable, a, de smbolos, llamado alfabeto del lenguaje.
(ii) Un conjunto de reglas de formaci
on que determinan que cadenas de smbolos del alfabeto
atica o sintaxis
son palabras o fbfs del lenguaje. Estas reglas de formacion constituyen la gram
del lenguaje.
Si ambos conjuntos estan definidos sin hacer referencia alguna al significado de los smbolos, el lenguaje se
denomina lenguaje formal.
10

P. Martin-Lof. Truth of a proposition, evidence of a judgement, validity of a proof. Synthese, 73, 1987.

CAPITULO
2. LOGICA
Y COMPUTACION

32

rr

Puesto que el alfabeto a es numerable, podemos asegurar que el cardinal del lenguaje universal sobre a
es infinito numerable, es decir, |a | = 0 , en consecuencia, podemos asegurar que el numero de palabras
o fbfs de cualquier lenguaje, L, sobre un alfabeto a es a lo sumo infinito numerable, es decir, |L| 0

El estudio de los lenguajes formales tiene un papel destacado en la construccion de compiladores para
lenguajes de programacion. En efecto, habitualmente, la sintaxis de un lenguaje de programacion viene dada
como una gramatica, es decir, mediante un conjunto de reglas que describen que programas son sintacticamente lcitos. Por ejemplo, en el lenguaje Pascal, las declaraciones if vienen definidas por la regla
if-declaracion

:=

if-expresion
then-declaracion
[else-declaracion]

Las propiedades de estas gramaticas se estudian en el marco de los lenguajes formales.

rr

Adviertase que diversos lenguajes pueden tener el mismo alfabeto (su diferencia la establecen sus diferentes reglas de formacion).

Ejemplo 2.1
1. Dado el conjunto a = {, }, definimos el siguiente lenguaje L1 sobre a:
(i) y , son fbfs de L1 .
(ii) Si es una fbf de L1 entonces es tambien una fbf de L1 .
(iii) Si es una fbf de L1 entonces es tambien una fbf de L1 .
Por lo tanto, y son palabras de L1 y no es una palabra de L1 .
2. El lenguaje MIU:11 Dado el conjunto a = {M, I, U }, L2 = a es un lenguaje sobre a. Es decir,
cualquier cadena finita que consta de los smbolos M , I, y U es una palabra de L2 .
3. El lenguaje mg: Dado el conjunto a = {, m, g}, L3 a es el lenguaje sobre a definido como sigue:
Las fbfs son las cadenas de a que satisfacen
- su primer y u ltimo smbolo es .
- tanto m como g intervienen exactamente una vez en la cadena y la ocurrencia de m es
anterior a la ocurrencia de g
Por lo tanto, mg y m g son palabras de L3 y las cadenas m g y
m g m no son cadenas de L3 .

11

D. Hofstadter. Godel, Escher, Bach, un gracil y eterno bucle. Ed. Tusquets, 1992.

2.3. EXPECTATIVAS Y LIMITACIONES DE LA LOGICA


EN COMPUTACION

33

Lenguaje y Metalenguaje
A un lenguaje formal se le denomina lenguaje objeto y al lenguaje utilizado para describirlo se
le denomina metalenguaje. La logica utiliza como metalenguaje el lenguaje natural, la teora intuitiva
de conjuntos, . . . .
Ejemplo 2.2 Cuando en el lenguaje mg (introducido en el Ejemplo 2.1) utilizamos expresiones como: sea
m g una fbf del lenguaje, tenemos que ser conscientes de que , y no son smbolos del lenguaje
(recordemos que solo , m y g lo son), sino que son smbolos del metalenguaje. Utilizamos una cadena
como m g para representar cualquier fbf del lenguaje y en ella , y denotan cadenas de guiones.
Por lo tanto, (de acuerdo con la definicion del lenguaje mg) tendremos que poner una restriccion a y :
que ambas sean cadenas no vacas de guiones (sin embargo, s puede ser una cadena vaca de guiones).

2.3.2. La Semantica
En la logica clasica proposicional que vamos a considerar en este texto, la semantica tiene como fin dar
significado a las fbfs del lenguaje a partir de su estructura sintactica y, puesto que se trata de una logica
deductiva, establecer la nocion (semantica) de deduccion.
Cuando ponemos en relacion las fbfs del lenguaje con los entes (concretos o abstractos) por ellas designados (a los que consideramos sus significados o valores semanticos), damos el paso de la sintaxis a la
semantica. Describir la sem
antica para un lenguaje L requiere definir una terna
(S, D, I)
donde
anticos.
S se denomina conjunto de significados o valores sem
D S se denomina conjunto de significados o valores sem
anticos destacados.
I se denomina conjunto de interpretaciones para el lenguaje L.
Concretamos la definicion de interpretacion para un lenguaje.
Definicion 2.1 Dado un conjunto de valores semanticos o significados, S, una interpretaci
on, I,
para un lenguaje L es una aplicacion que asocia un significado o valor semantico a cada fbf de L, es decir,
una interpretacion es una aplicacion I : L S.
El problema en estudio, el a mbito en el que queramos razonar, determinara el conjunto, D S de
los valores semanticos (o significados) destacados. Como veremos, sera este conjunto el que nos permitira
introducir el concepto de razonamiento valido.
En la logica clasica, el conjunto de valores semanticos es S = {verdad, f alsedad} y verdad es el
valor semantico destacado.
As pues, cada interpretacion nos permite una lecturade las fbfs del lenguaje formal, le asigna un
significado a cada fbf. Como hemos indicado, denotaremos por I el conjunto de interpretaciones consideradas, es decir, I S L . En definitiva, I es el conjunto de posibles lecturas que consideramos para las
palabras del lenguaje.
Para establecer la nocion de razonamiento v
alido, nos interesa conocer que interpretacion lee
o interpreta la fbf con un valor semantico destacado:
Definicion 2.2 Sea L un lenguaje formal y (S, D, I) una semantica para L.

CAPITULO
2. LOGICA
Y COMPUTACION

34

Una interpretacion, I I, es un modelo para una fbf, A, del lenguaje L, si asigna a A


un valor destacado, es decir, si I(A) D. El conjunto de modelos de A se denota Mod(A) y nos
detalla toda la informacion contenida en A, todas las formas posibles de modelizarla.
Una interpretacion, I I, es un contramodelo para una fbf, A, del lenguaje L, si asigna a A un valor no destacado, es decir, si I(A) 6 D. El conjunto de contramodelos de A se denota
Contramod(A).
Una interpretacion, I I, es un modelo para un conjunto de fbfs, L, del lenguaje L si es un modelo de todas y cada una de las fbfs de , es decir, I(A) D para toda A (I
asigna a todas la fbfs en un valor destacado). El conjunto de modelos de se denota Mod().
Una interpretacion, I I, es un contramodelo para un conjunto de fbfs, , del
lenguaje L si es un contramodelo de alguna fbf de , es decir, existe A tal que I(A) 6 D
(I asigna a alguna fbf en un valor no destacado). El conjunto de contramodelos de se denota
Contramod().
Definicion 2.3
Una fbf, A L, se dice modelizable o satisfacible si existe al menos una interpretacion
I I tal que I(A) D, es decir, Mod(A) 6= .
Una fbf, A L, es no modelizable o insatisfacible si para toda interpretacion I I
se tiene que I(A) 6 D, es decir, Mod(A) = .
Un conjunto de fbfs, L, se dice modelizable o satisfacible si tiene al menos un
modelo, es decir, Mod() 6= .
Un conjunto de fbfs, L, es no modelizable o insatisfacible si no tiene modelos, es
decir, Mod() = .
Una vez dada la nocion de modelo, se dispone de todo lo requerido para establecer las nociones de
validez e inferencia semantica (que entendemos al decir que unas fbfs son deducidas o derivadas de otras).
Definicion 2.4
Una fbf, A L, se dice v
alida, denotado |= A, si toda interpretacion es un modelo para A, es
decir, Mod() = I.
Dado un conjunto de fbfs L y una fbf C L, se dice que C se deduce sem
anticamente
de , denotado |= C, si todo modelo para es un modelo para C, es decir,
Mod() Mod(C)
Denominamos Teor
a de Modelos para un lenguaje L, a un par (L, S), donde S = (S, D, I) es
una semantica para L.
En el campo de la programacion, la formalizacion de la semantica de programas permite, dada una
especificacion formal de la computacion deseada, demostrar la correccion de un programa respecto a la
especificacion.

2.3. EXPECTATIVAS Y LIMITACIONES DE LA LOGICA


EN COMPUTACION

35

Ejemplo 2.3 Vamos a dar una teora de modelos para el lenguaje mg del Ejemplo 2.1.
Definimos el conjunto de valores semanticos como S = {(n, m, l) | n, m, l N} y el conjunto de
valores semanticos destacados D, como el siguiente subconjunto de S:
D = {(n, m, l) S | n + m = l}
As pues, (3, 24, 27) D (es un valor semantico destacado) y (3, 24, 21) 6 D (es un valor semantico no
destacado).
Ahora definimos el conjunto de interpretaciones.
I = {Ik | k N};

Ik : L3 S

donde Ik ( m g) = (a, b, c), con a = k long(), b = k long() y c = k long().


Con esta definicion, se tiene que
I6 ( m g ) = (18, 6, 12),
I3 ( m g ) = (9, 3, 12), e
I0 ( m g ) = (0, 0, 0).
Tenemos pues que:
La interpretacion I0 es un modelo para m g , porque
I0 ( m g ) = (0 3, 0 1, 0 2) = (0, 0, 0) D
La interpretacion I3 no es un modelo para m g , porque I3 es un contramodelo para ella.
En efecto, I3 ( m g ) = (9, 3, 6) 6 D (9 + 3 6= 12).
La fbf m g es valida, ya que para todo k N, se tiene que
Ik ( m g ) = (3k, k, 4k) D

(3k + k = 4k)

Todas las fbfs son modelizables, ya que I0 es un modelo para toda fbf del lenguaje.

r r Conviene destacar que el conjunto de fbfs modelizables y el conjunto de fbfs validas depende de cada
uno de los elementos de la terna (S, D, I).
Consideremos de nuevo el ejemplo anterior. Mantenemos el mismo conjunto de valores semanticos,
S = {(n, m, l) | n, m, l N}, y el mismo conjunto de valores semanticos destacados D = {(n, m, l)
S | n + m = l}. Pero ahora consideramos el conjunto de interpretaciones
I = {Ik | k N, k 6= 0};

Ik : L3 S}

donde cada Ik se define de igual modo, es decir, Ik ( m g) = (a, b, c), con


a = k long(),

b = k long() y c = k long()

Ahora tenemos que:


La fbf m g es insatisfacible, es decir, no tiene ningun modelo, porque para todo
k 6= 0, se tiene que Ik ( m g ) = (3k, k, 2k) 6 D, ya que 3k + k 6= 2k.
La fbf m g es valida, ya que para todo k N, k 6= 0, se tiene que
Ik ( m g ) = (3k, k, 4k) D

(3k + k = 4k)

CAPITULO
2. LOGICA
Y COMPUTACION

36

2.3.3. Teora de la Demostracion


Especificar un mecanismo deductivo para el lenguaje formal, es decir, un mecanismo que permita
obtener una fbf de otras, sin hacer referencia a interpretacion alguna, nos lleva a la teora de la demostracion.
En particular, en los llamados Sistemas Axiom
aticos sobre un lenguaje L, el mecanismo deductivo viene dado por:
1. Un conjunto finito o infinito numerable, Axiom, de fbfs de L, llamadas axiomas (es decir, Axiom
L).
2. Un conjunto de reglas de inferencia o reglas de deducci
on que establecen cuando
una fbf de L es consecuencia inmediata de una o varias fbfs de L.
Los axiomas pueden ser considerados como reglas de inferencia sin hipotesis. Las reglas de inferencia suelen ser introducidas como patrones formales o esquemas y, si bien su eleccion viene dictada
por la semantica, en su uso se realiza una abstraccion total de los significados, es decir, se manipulan las
componentes del lenguaje de un modo puramente sintactico. 12
Definicion 2.5 Una demostraci
on en un sistema axiomatico, SAxiom sobre un lenguaje L, es una
secuencia finita de fbfs en L,
A1 , A2 , . . . , An ()
en la cual cada fbf, Ai , es o un axioma de SAxiom o una consecuencia inmediata (segun dictan las reglas
de inferencia) de una o mas fbfs anteriores en la secuencia.
Si la u ltima fbf de una demostracion es An = A, se dice que la secuencia () es una demostraci
on
de A en SAxiom .
Definicion 2.6 Una fbf, A L, se dice es un teorema en un sistema axiomatico SAxiom sobre L,
denotado SAxiom A (o simplemente A, si no hay lugar a confusion), si existe para ella una demostracion
en SAxiom . Obviamente, los axiomas de SAxiom son teoremas de SAxiom . Podemos caracterizar el conjunto
de los teoremas como un conjunto minimal de fbfs que contiene al conjunto de los axiomas y es cerrado
para las reglas de inferencia.

r r As pues, los teoremas son los productos manufacturados de una fabrica peculiar, en la que la materia
prima son los axiomas y las maquinas son las reglas de inferencia.

r r De la definicion anterior se tiene que en una demostracion de longitud n, si m < n y consideramos los m
primeros elementos de la secuencia, tenemos una demostracion del m-esimo elemento de la secuencia.
Por tanto todas las fbfs de una demostracion son teoremas.

Definicion 2.7 Una deducci


on de una fbf A L desde un conjunto L de fbfs en un sistema
axiomatico SAxiom , denotado SAxiom A, es una secuencia finita de fbfs en L,
A1 , A2 , . . . , An
12

()

El nivel puramente sintactico es la base de la fuerte conexion entre Logica y Computacion, ya que en esta u ltima, los procesos
simbolicos juegan un destacado papel.

2.3. EXPECTATIVAS Y LIMITACIONES DE LA LOGICA


EN COMPUTACION

37

en la cual cada fbf, Ai , es o un axioma de SAxiom , una fbf de o una consecuencia inmediata (segun dictan
las reglas de inferencia) de una o mas fbfs precedentes en la secuencia ().
Las fbfs de se suelen llamar hip
otesis o premisas, en cuyo caso decimos que A es una
on de las hipotesis.
conclusi

r r As pues, en una deduccion, los productos manufacturados (en nuestra peculiar fabrica), utilizan como
materia prima no solo los axiomas, sino tambien las hipotesis (es decir, las fbfs de ). Las maquinas
siguen siendo las reglas de inferencia.

r r Es obvia, por lo tanto, la relacion existente entre demostraciones y deducciones. Si en un sistema


axiomatico SAxiom se tiene que A entonces toda deduccion de A desde es una demostracion

de A en un sistema SAxiom
tal que SAxiom
tiene las mismas reglas de inferencia que S y sus axiomas
son los axiomas de SAxiom junto con todas las fbfs de .
La nocion de demostracion como deduccion logica de un teorema a partir de un conjunto de axiomas fue
divulgada por primera vez por Euclides en sus Elementos, 13 sin embargo no se dispone de una definicion
rigurosa hasta Leibniz en el siglo XVII.

Propiedad de Monotona
En el Ejercicio 3 se propone demostrar una propiedad destacada del concepto de deduccion, la propiedad
de monotona:
Si y A entonces A.
Es decir: si aumentamos el conjunto de hipotesis, se mantiene o aumenta el conjunto de conclusiones. Las
logicas que poseen esta propiedad se denominan l
ogicas mon
otonas. La Logica clasica es monotona.
Sin embargo, existen logicas (no clasicas) que no son monotonas y que son u tiles (mas aun, imprescindibles)
para modelizar el razonamiento del sentido comun, en el que en ocasiones hemos de revisar nuestras
conclusiones al aumentar nuestro conocimiento.
La relacion de consecuencia deductiva, , que acabamos de definir, tiene tambien otras dos propiedades
de comprobacion inmediata a partir de las definiciones:
reflexividad, es decir: para toda fbf A se tiene que A
transitividad o corte, es decir: Si A y {A} B, entonces B
Ejemplo 2.4 14 Definamos un sistema axiomatico sobre el lenguaje MIU (dado en el Ejemplo 2.1), al que
tambien llamaremos el sistema MIU:
Axioma: MI
Reglas de inferencia:
R1. De una fbf I, se tiene como consecuencia inmediata IU .
R2. De una fbf M , se tiene como consecuencia inmediata M .
13
14

Euclides. The Thirteen Books of The Elements. Dover, New York, 1956.
D. Hofstadter. Godel, Escher, Bach, un gracil y eterno bucle. Ed. Tusquets, 1992.

CAPITULO
2. LOGICA
Y COMPUTACION

38

R3. De una fbf III, se tiene como consecuencia inmediata U .


R4. De una fbf U U , se tiene como consecuencia inmediata .
donde y representan cualquier cadena de smbolos del alfabeto {M, I, U } (incluida la cadena vaca).
Veamos que MUIUI es un teorema del sistema axiomatico MIU. Para comprobarlo, todo lo que tenemos
que hacer es dar una demostracion, es decir, mostrar como generarlo a partir del axioma MI y las reglas
de inferencia:
1. MI

Ax.1

2. MII

De 1 y R2

3. MIIII

De 2 y R2

4. MUI

De 3 y R3

5. MUIUI

De 4 y R2

Ahora podemos afirmar que MUIUI es un teorema del Sistema MIU. Este enunciado no
es un teorema de MIU, sino una afirmacion verdadera acerca del sistema MIU, es decir, es un metateorema
acerca de MIU.
Con este ejemplo, reflejamos las acciones en el sistema como un juego puramente sintactico, sin pretender reflejar aspecto alguno de la realidad, sin esperar que los teoremas tengan ningun significado (no
hemos dotado al lenguaje MIU de ninguna semantica).
Ejemplo 2.5 [De Hofstadter 15 ] Definamos ahora un sistema axiomatico sobre el lenguaje mg (dado en el
Ejemplo 2.1), al que llamamos asimismo el sistema mg:
Axiomas: Toda fbf de mg que responde al esquema m g es un axioma.
Regla de inferencia: De una fbf de mg que responde al esquema mg, se tiene como consecuencia inmediata m g.
A diferencia de MIU, para el lenguaje mg, hemos definido una semantica y un sistema axiomatico. Los
tres aspectos expuestos hasta ahora (lenguaje, semantica y teora de la demostracion), suelen ser agrupados
diciendo que disponemos de una teor
a formal.
Definicion 2.8 Sea una teora formal T = (L, (S, D, I), SAxiom ), donde
(S, D, I) es una semantica para el lenguaje L, y
SAxiom es un sistema axiomatico para el lenguaje L.
a T , si es un modelo para el conjunto de
Una interpretacion, I I es un modelo para la teor
teoremas de T .
En una teora formal, la teora de modelos (descrita por (S, D, I)) y la teora de la demostracion (descrita
por SAxiom ), se desarrollan con el objetivo (no siempre alcanzable) de que coincidan, es decir, de modo que
si una fbf es valida semanticamente tambien sea derivable sintacticamente, y viceversa. Esta interaccion es
precisamente lo que hace de la logica una herramienta atractiva.
15

D. Hofstadter. Godel, Escher, Bach, un gracil y eterno bucle. Ed. Tusquets, 1992.

2.3. EXPECTATIVAS Y LIMITACIONES DE LA LOGICA


EN COMPUTACION

39

Las propiedades que relacionan una teora de modelos y una teora de la demostracion sobre un lenguaje formal son referidas como correccion de la teora (la derivabilidad sintactica asegura la derivabilidad
semantica) y completitud de la teora (la derivabilidad semantica asegura la derivabilidad sintactica).
Definicion 2.9 Una teora formal se dice correcta si cumple que
Si A entonces |= A
En particular, en una teora correcta todo teorema es una fbf valida.
Una teora formal se dice completa si cumple que
Si |= A entonces A
En particular, en una teora completa toda fbf valida es un teorema.

r r Conseguir una teora correcta es un objetivo facilmente alcanzable, basta elegir como axiomas fbfs
validas y exigir que las reglas de inferencia respeten la validez, es decir, que las consecuencias inmediatas de fbfs validas sean fbfs validas 16 . Por el contrario, la completitud es mas difcil ya que hemos
de asegurar que no hemos olvidado ningun axioma, y que las reglas son todas las necesarias para generar
todas las fbfs validas. Mas aun, la completitud no siempre es alcanzable, ello se debe a que con ella se
pretende (nada menos!) caracterizar sint
acticamente la validez, es decir caracterizar sintacticamente nuestra comprension (recogida en la semantica) sobre ciertos aspectos del mundo
real; lo cual es a veces imposible, por excesivamente ambicioso.

Ejemplo 2.6
- El lenguaje mg dado en el Ejemplo 2.1, con la semantica dada en el Ejemplo 2.3 y el sistema axiomatico dado en el ejemplo 2.4, es una teora correcta y completa.
- Como probaremos mas adelante, tanto la logica clasica proposicional como la logica de predicados
de primer orden, disponen de sistemas axiomaticos correctos y completos.
- El Teorema de incompletitud de Godel 17 afirma que no existe ningun sistema axiomatico en el que
todas las verdades de la teora de numeros sean demostrables. 18
Aun cuando dispongamos de una teora completa, desafortunadamente, la mayora de los teoremas de
completitud para un sistema de demostracion dado, prueban que si una fbf (o inferencia) es valida, existe
para ella una demostracion (o deduccion) en el sistema, pero no indican como encontrarla. Consecuentemente, para hacer de la logica una herramienta no solo atractiva sino tambien efectiva, es preciso considerar
un cuarto aspecto, el aspecto computacional.
16

Si en nuestra particular fabrica la materia prima (Axiomas) es de color azul y las maquinas (Reglas de Inferencia) respetan el
color, los productos fabricados (Teoremas) seran azules.
17
E. Mendelson. Introduction to Mathematical Logic. Wadsworth & Brook/Cole, third edition, 1987.
J. H. Gallier. Logic for Computer Science: Foundations for Automatic Theorem Proving. Wiley & Sons, 1987.
D. Hofstadter. Godel, Escher, Bach, un gracil y eterno bucle. Ed. Tusquets, 1992.
18
Mas precisamente, en terminos aun no aclarados en este libro, el Teorema de incompletitud de Godel afirma que toda axiomatizacion recursivamente enumerable y consistente de la Aritmetica es incompleta.

CAPITULO
2. LOGICA
Y COMPUTACION

40

2.3.4. La Automatizacion de las Deducciones


Esta componente es tambien de naturaleza sintactica y es la componente intrnsecamente computacional.
Pretende disponer de un procedimiento de decision (algoritmo) tal que, dada una fbf, A, (respectivamente,
un conjunto de fbfs, , y una fbf C), decida en un numero finito de etapas si A es o no valida (respectivamente, si C se deduce o no de ).

r r Nuestro objetivo es encontrar procedimientos de decision. Los problemas en los que estamos interesados
son problemas de decisi
on, es decir, problemas en los que sea cual sea la inferencia de entrada,
la salida sea SI o NO.

atica
on Autom
La busqueda de tales procedimientos se denomina en la bibliografa Demostraci
de Teoremas, y a los algoritmos se les denomina ATPs (Automated Theorem Provers).
Si una logica dispone de un ATP, se dice que es decidible. La logica proposicional clasica es decidible, pero Church y Turing demostraron (independientemente en 1936) que la logica clasica de predicados
de primer orden no lo es.
Para la logica clasica de predicados de primer orden, la demostracion automatica de teoremas solo podra
on, es decir, procedimientos que garantizan
aspirar a encontrar procedimientos llamados de semidecisi
la respuesta afirmativa si su entrada es una fbf (respectivamente, una deduccion) valida pero, cuando la
entrada no es valida puede dar respuesta o no terminar. Una logica tal se dice semidecidible.
Una medida de la eficiencia de un algoritmo es su complejidad computacional la cual, dada
una entrada, E, se expresa mediante una funcion que relaciona el tamano de la entrada, Tamano(E), y el
numero de etapas o recursos de computacion, Recursos(E), requeridas para proporcionar la salida. Una vez
determinados Tamano(E) y Recursos(E), es preciso establecer la relacion existente entre ellas.
La eficiencia de los procedimientos en que estamos interesados puede depender de muchos factores 19 :
El lenguaje en el que las fbfs han de ser expresadas y la estructura de datos utilizada para dicha
representacion.
El conjunto de reglas de inferencia disponibles en el metodo.
La tecnica de eleccion de una regla en el conjunto posible de e stas, y la eleccion de una o mas fbfs a
la que aplicar la regla.
El espacio requerido por el metodo para efectuar una demostracion.
La posibilidad de usar teoremas auxiliares en la demostracion.
Pero de nuevo, en cuanto a la consecucion de eficiencia, nos encontramos con una limitacion:
Aunque los ordenadores actuales son capaces de ejecutar con rapidez multitud de calculos, existen problemas cuya complejidad es tal que requieren excesivo tiempo o bien excesivo espacio de memoria para ser
resueltos con un ordenador. Esto significa que, aunque se disponga de algoritmos para resolverlos, todos
ellos requieren (en el peor caso) 20 una cantidad exponencial de espacio de memoria y/o un numero exponencial de etapas en terminos del tamano del problema. Tales problemas son referidos como intratables, en
19

W. Zhang. Cut elimination and automatic proof procedures. Theoretical Computer Science, Vol 91 Issue 2, 1991. Pages 265284. Elsiever Science Publishers.
20
Es decir el valor maximo de Recursos(E) para cada Tamano(E)

2.3. EXPECTATIVAS Y LIMITACIONES DE LA LOGICA


EN COMPUTACION

41

contraposicion a los problemas denominados tratables para los que se dispone de algoritmos que, para todas
las entradas, requieren a lo sumo una cantidad polinomica de tiempo y memoria.
Restringiendonos a la logica, incluso para una logica decidible como la logica clasica proposicional, no
se conoce si el problema de comprobar la satisfacibilidad de una fbf (existencia de un modelo para la fbf),
referido como SAT, 21 o el de comprobar la validez de una fbf, referido como TAUT, 22 son tratables, pero
se conjetura que no lo son.
Podemos concluir pues que la demostracion automatica de teoremas ha de centrarse en la busqueda
de ATPs que solo tomen un tiempo excesivo para determinar la validez de una fbf o inferencia en casos
excepcionales, y que se ejecuten satisfactoriamente en la mayora de las entradas.

21

S. Cook. The complexity of theorem- proving procedures. Proceedings of the 3rd Annual ACM Symposium on Theory of
Computing, 151-158, 1971.
22
Se denomina TAUT, debido a que las fbfs validas en la logica clasica proposicional se llaman tautolog
as.

CAPITULO
2. LOGICA
Y COMPUTACION

42

2.4. Ejercicios
1. Defina los lenguajes L1 y L3 del ejemplo 2.1, como conjuntos inductivos libremente generados. Describa el a rbol asociado a cada fbf de L1 y L3 .
2. Razone si son o no ciertas las afirmaciones siguientes:
-

MUIIU es un teorema del sistema MIU.


MU es un teorema del sistema MIU.
UMII es un teorema del sistema MIU.
Todo teorema del sistema MIU tiene como primer smbolo M .

3. Demuestre que en un sistema axiomatico son ciertas las siguientes afirmaciones:


i) (Propiedad de monotona) Si y A entonces A.
ii) (Propiedad de Compacidad) Si A entonces existe finito tal que y A
iii) Si A y existe tal que para toda fbf B se tiene que B, entonces A.
4. Considere el lenguaje mg dado en el ejemplo 2.1, con la semantica descrita en el ejemplo 2.3 y el
sistema axiomatico descrito en el ejemplo 2.4, es una teora correcta? es completa?
5. Sea Vprop = {p, q, r, . . . , p0 , q0 , r0 , . . . , pn , qn , rn , . . . , }, y sea S = {(, ), [, ]}.
Sea O1 = {, , , , } y a1 = Vprop S O1 .
Sea O2 = {, } y a2 = Vprop S O1 O2 .
considere los lenguajes:23
a) L1 a1 en el que sus elementos son elementos de Vprop , o bien de la forma (X), o de la forma
[X] para X L1 o bien de la forma X donde X L1 o de la forma (X Y ) donde X, Y L1
y {, , , }.
b) L2 a2 en el que sus elementos cumplen las caractersticas de los de L1 pero ademas puede
contener elementos de la forma X donde X L2 y {, }.
A partir del conjunto base Vprop , determine un conjunto de constructores definidos a partir de dependientes de O1 y de O1 O2 respectivamente, para expresar L1 y L2 como clausuras inductivas
libremente generadas.
6. Se considera el conjunto de valores semanticos S = {0, 12 , 1}.
a) Cuantas funciones f : S S (de aridad uno) pueden definirse sobre S? Es decir, cuantos
operadores monarios distintos pueden definirse sobre una logica trivaluada?
b) Cuantas de las funciones anteriores no son constantes?
c) Cuantas funciones f : S S S (de aridad dos) pueden definirse sobre S? Es decir, cuantos
operadores binarios distintos pueden definirse sobre una logica trivaluada?
d) Generalice los resultados anteriores para el caso en el que el cardinal de S sea n, esto es, para
una logica n-valuada.
23

Los lenguajes L1 y L2 son los lenguajes de la logica proposicional clasica y la logica modal proposicional clasica respectivamente.

Captulo 3

Logica Proposicional

Indice
3.1. El Lenguaje Lprop de la Logica Clasica Proposicional . . . . . . . . . . . . . . . . . . 43

3.1.1. Arbol
Sintactico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.2. Semantica para la logica clasica proposicional . . . . . . . . . . . . . . . . . . . . . . 48
3.2.1. Clasificacion semantica de las fbs: Satisfacibilidad y Validez . . . . . . . . . . . . 51
3.2.2. Relacion de igualdad semantica: Equivalencia Logica . . . . . . . . . . . . . . . . 53
3.2.3. Leyes de la Logica Clasica Proposicional . . . . . . . . . . . . . . . . . . . . . . 58
3.3. Formas Normales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
3.3.1. Forma Normal Negativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
3.3.2. Formas Normales Disyuntivas y Conjuntivas . . . . . . . . . . . . . . . . . . . . 67
3.4. Propiedad de Compacidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
3.5. Consecuencia Logica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
3.6. Ejercicios

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

En este captulo iniciamos el estudio de la logica clasica mas simple: la logica clasica proposicional.
Comenzamos presentando dos de los aspectos destacados en el tema anterior:
el lenguaje, y
la semantica.

3.1. El Lenguaje Lprop de la Logica Clasica Proposicional


Como ya hemos indicado, un lenguaje consta de un alfabeto de smbolos y de la definicion de un conjunto de cadenas de smbolos de dicho alfabeto llamadas formulas bien formadas (abreviadamente fbfs).
El tipo mas simple de lenguaje logico es el que corresponde a la logica clasica proposicional la cual, a
fin de establecer criterios sobre la exactitud de razonamientos, formaliza la parte mas elemental de nuestro
lenguaje natural del modo mas simple. Concretamente:
Considera solo las frases declarativas, llamadas proposiciones o enunciados, a las que es
posible asignar un valor de verdad o falsedad y ningun otro, es decir, es bivaluada. El valor de
43

CAPITULO
3. LOGICA
PROPOSICIONAL

44

verdad queda completamente determinado por el valor de verdad o falsedad de los enunciados simples
que la componen y las partulas no, o, y, si . . . entonces y si y solo si, utilizadas como elementos de
enlace.
La asignacion de valores de verdad o falsedad a los enunciados se realiza sin recurrir a consideraciones
de contexto alguno y sin considerar la estructura interna de los enunciados simples. 1
As pues consideramos una logica en la que se satisfacen dos principios: (aunque tales principios no son
exclusivos de esta logica):
Principio de contradiccion: Un enunciado nunca es verdadero y falso a la vez.
Principio del tercero excluido: Un enunciado es verdadero o falso; no existe una tercera posibilidad.
En cuanto al tipo de enunciados contemplados por la logica clasica proposicional (segun lo descrito),
tenemos que los siguientes enunciados no son considerados en esta logica:
- Esta aqu Luis? (no es una frase declarativa).
- Esta ciudad es preciosa (hace referencia a un lugar no nombrado).
- Ella es complaciente con e l (hace referencia a personas no nombradas).
- !Silencio! (expresa una orden).
- Ojala estuviera ya de vacaciones (expresa un deseo).
- Lo bueno si breve, dos veces bueno (expresa una opinion a la que no podemos asignarle el valor de
verdad o falsedad).
Por el contrario, las siguientes frases pueden ser consideradas como frases simples por la logica clasica
proposicional:
- Algunos mamferos estan en peligro de extincion.
- En el futuro habra mas oportunidades de ocio.
- Es necesario que llueva.
- Madrid es la capital de Espana.
- La valvula de escape esta abierta.
- Se ha creado un fichero de actualizacion.
Vamos pues a conocer la logica mas simple, la base de cualquier otra logica. Sin embargo, no es esta
simplicidad su u nico interes, ya que existen aplicaciones computacionales para las que esta logica resulta ser
una herramienta adecuada. Por ejemplo, si bien la logica clasica proposicional no basta para la especificacion y analisis de requerimientos de sistemas complejos, s es suficiente en el caso de sistemas relativamente
1

En definitiva, en las frases simples del lenguaje natural, que podramos describir como las mnimas frases capaces de transmitir
informacion, se realiza el nivel mas sencillo de analisis: los elementos que componen internamente un enunciado simple (el sujeto
y el predicado), son irrelevantes para la logica proposicional clasica.

3.1. EL LENGUAJE LP ROP DE LA LOGICA


CLASICA
PROPOSICIONAL

45

pequenos. Por otra parte, la simplicidad de esta logica permite especificaciones concisas, eliminar con facilidad las posibles contradicciones introducidas en un primer intento de especificacion, clarificar y eliminar
ambiguedades y razonar facilmente sobre el sistema (un buen libro que introduce este uso es el de Darrel
Ince 2 ).
Una aplicacion inmediata de la logica clasica proposicional se puede ver en el campo de los computadores digitales. La razon es que a las situaciones de paso o no paso de corriente, podemos asociarles los
valores 0 y 1.
Definicion 3.1 El lenguaje, Lprop , de la logica clasica proposicional se define como sigue:
El alfabeto, aprop consta de:
Un conjunto numerable de smbolos o variables proposicionales
Vprop = {p, q, r, . . . , p1 , q1 , r1 , . . . , pn , qn , rn , . . .}
Con estos smbolos representaremos las frases simples del lenguaje natural. En cada frase intervendran u nicamente un numero finito de este conjunto de smbolos proposicionales. La razon para
considerar este conjunto infinito es que el numero de frases simples que pueden intervenir en un
razonamiento no es limitado.
Los smbolos de constante, y .
Los smbolos , , , y , llamados conectivas u operadores l
ogicos.
Los smbolos de puntuacion (,).
F
ormulas bien formadas de Lprop (en adelante, fbfs): El lenguaje Lprop es la clausura inductiva libremente generada del conjunto base Vprop {, } para los constructores C , C , C , C y C ,
definidos como sigue:
Para dos cadenas X e Y cualesquiera del alfabeto aprop , definimos:
C (X) = X
C (X, Y ) = (X Y )
C (X, Y ) = (X Y )
C (X, Y ) = (X Y )
C (X, Y ) = (X Y )

se lee verdad y se lee falsedad y, si A y B son fbfs,


on de A;
A se lee no A y se llama negaci
A B se lee A y B y se llama conjunci
on de A y B;
A B se lee A o B y se llama disyunci
on de A y B;
2

D. Ince. An Introduction to Discrete Mathematics and Formal System Specification. Claredon Press, 1988.

CAPITULO
3. LOGICA
PROPOSICIONAL

46

A B se lee Si A entonces B y se llama implicaci


on material con antecedente A y
consecuente B;
A B se lee A si y solo si B y se llama biimplicaci
on material de A y B.
El lector puede comprobar que Lprop es una clausura inductiva libremente generada.

r r Por el Principio de Induccion Estructural, para demostrar que todas las fbfs tienen la propiedad P basta
demostrar que:
1. Caso base: toda fbf A Vprop {, } tiene la propiedad P
2. Pasos inductivos:
a) si la fbf A tiene la propiedad P, entonces A tiene la propiedad P.
b) si las fbfs A y B tienen la propiedad P, entonces A B, A B, A B y A B tienen la
propiedad P.

r r Recordemos de nuevo que, como destacamos en el tema anterior, al describir los lenguajes formales
en general, el cardinal del lenguaje universal sobre aprop es infinito numerable, es decir, |aprop | = 0 ,
en consecuencia, el numero de palabras o fbfs de cualquier lenguaje, Lprop , sobre aprop es, a lo sumo
infinito numerable, es decir, |Lprop | 0

Usualmente, la definicion de las fbfs de Lprop se presenta en terminos menos formales como sigue: el
conjunto de las fbfs es el conjunto de cadenas sobre el alfabeto dado, aprop , determinado por las siguientes
condiciones:
1. Los smbolos de proposicion (elementos de Vprop ) son fbfs, llamadas fbfs at
omicas.
2. y son fbfs.
3. Si A es una fbf entonces A es una fbf.
4. Si A y B son fbfs entonces (A B), (A B), (A B) y (A B) son fbfs.
5. Solo las cadenas obtenidas aplicando las reglas anteriores son fbfs.
mbolos, es
Los smbolos A y B usados en la definicion de fbfs no son smbolos del lenguaje sino metas
decir, smbolos para hablar acerca el lenguaje. Por lo tanto, las expresiones A, (A B), (A B), . . . no
son fbfs sino esquemas de fbfs (de los que se obtienen fbfs por sustitucion de los metasmbolos por fbfs).
En todo lo que sigue siempre hablaremos de fbfs cuando en realidad se trata de esquemas de fbfs.
En la practica, para economizar parentesis en la escritura, se aceptan diversos convenios. Entre ellos, el
mas sencillo es el de omitir los parentesis inicial y final de toda fbf. As pues, escribiremos A B, A B,
etc. en lugar de (A B), (A B), etc.

3.1. EL LENGUAJE LP ROP DE LA LOGICA


CLASICA
PROPOSICIONAL

47

Ejemplo 3.1
La frase si no conseguimos terminar en media hora la tarea, uno de los dos sera despedido y perderemos esta gran oportunidad, se puede expresar en Lprop mediante la fbf:
p ((q r) s)
donde p simboliza conseguimos terminar en media hora la tarea, q simboliza sere despedido, r
simboliza seras despedido y s simboliza perderemos esta gran oportunidad.
La frase es preciso descubrir rapidamente quien tiene oculto el botn, si no lo han sacado ya del
pas, se puede expresar en Lprop mediante la fbf:
t u
donde t simboliza lo han sacado ya del pas, u simboliza es preciso descubrir rapidamente quien
tiene oculto el botn.
Definimos a continuacion las nociones de grado y de subformula de una fbf.
Definicion 3.2
1. La funcion grado, gr : Lprop N, que asigna a cada fbf A el numero de conectivas que intervienen
en A, gr(A), se define recursivamente como sigue:
gr(A)
gr(A)
gr(A B)

=
=
=

0 si A Vprop {, }
1 + gr(A)
1 + gr(A) + gr(B) si {, , , }

2. La funcion subf
ormula, Sub : Lprop 2Lprop , que asigna a cada fbf A Lprop el conjunto
L
Sub(A) 2 prop de todas sus subformulas, se define recursivamente como sigue:
Sub(A)
Sub(A)
Sub(A B)

=
=
=

{A}
si A Vprop {, }
Sub(A) {A}
Sub(A) Sub(B) {A B} si {, , , }

r r Adviertase que en una misma fbf puede haber diversas ocurrencias de una misma subformula, como en
A = ((p q) (r q)) (q (p q), en la que las subformulas p, q y p q tienen mas de una
ocurrencia.

Ejemplo 3.2 Dada la fbf A = (p q) r tenemos que gr(A) = 3 y que


Sub(A) = {(p q) r, p q, r, p, q, q}
La nocion de subformula tambien puede ser introducida como el cierre reflexivo y transitivo de la relacion
ormula inmediata definida en Lprop como sigue:
es subf
Si A Vprop {, }, ninguna fbf es subformula inmediata de A.
A es subformula inmediata de A.
A y B son las subformulas inmediatas de A B.

CAPITULO
3. LOGICA
PROPOSICIONAL

48

3.1.1. Arbol
Sintactico
Definicion 3.3 El a rbol sintactico de una fbf A de Lprop , denotado TA , es el -arbol (donde = aprop es
el alfabeto para Lprop ) definido recursivamente como sigue:
1. Si A = p con p Vprop {, } entonces TA es A

2. Si A = B entonces TA es

TB

3. Si A = (B C) donde {, , , } entonces TA es TB

TC

Ejemplo 3.3 El a rbol sintactico de la fbf A = ((p q) (p q)) (q p) es

q
Definicion 3.4 La profundidad de una fbf, A, denotada pr(A), es la profundidad de su a rbol sintactico TA .

r r La profundidad de la formula A del ejemplo 3.3 es 5.


La profundidad de una formula es, en realidad, la longitud de la rama mas larga de su a rbol sintactico
(medida por el numero de arcos o enlaces entre nodos) y podemos definirla como sigue:
pr(A)
pr(A)
pr(A B)

=
=
=

0 si A Vprop {, }
1 + pr(A)
1 + max{pr(A), pr(B)} si {, , , }

3.2. Semantica para la logica clasica proposicional


Como hemos senalado en el captulo anterior, la semantica tiene como fin dar significado a las fbfs del
lenguaje a partir de su estructura sintactica y establecer la nocion (semantica) de deduccion.
Como en el caso general, tenemos que definir la terna (S, D, I). Para la logica clasica proposicional:
1. El conjunto de significados o valores semanticos es S = {0, 1}.
2. El conjunto de valores semanticos destacados es D = {1}

3.2. SEMANTICA
PARA LA LOGICA
CLASICA
PROPOSICIONAL

49

3. Nos queda definir el conjunto de interpretaciones, I, que subconjunto del conjunto total de todas las
posibles asignaciones de significado, {f : Lprop {0, 1}}, considera la logica clasica proposicional?
Los elementos de I constituyen el concepto basico sobre el que se define la semantica para el lenguaje
Lprop y se denominan interpretaciones booleanas. Con estas interpretaciones pretendemos recoger que el significado de es no, el significado de es y, el significado de es o,
concretamente el o no exclusivo de nuestro lenguaje natural, el significado de es si . . . entonces. . .
y el significado de es . . . si y solo si . . . .
Como hemos indicado, la logica clasica es veritativo-funcional, es decir, el significado de las fbfs no atomicas queda determinado por el de las fbfs atomicas que intervienen en ella. De aqu la definicion siguiente:
Definicion 3.5 Una interpretaci
on booleana, I, (en adelante, simplemente interpretacion) es una
funcion del conjunto de fbfs atomicas, Vprop {, }, en el conjunto de valores de verdad {0, 1}:
I : Vprop {, } {0, 1}

tal que I() = 0 e I() = 1

Dada una interpretacion I, la asignacion de un valor de verdad a una fbf arbitraria, A, se realiza mediante la extensi
on recursiva de I a Lprop , 3 a la que denotaremos tambien por I, obtenida
al asignar a los constructores {C , C , C , C , C } las funciones sobre {0, 1}, {f , f , f , f , f },
dadas por la siguiente tabla:
x
1
1
0
0

y
1
0
1
0

f (x)
0
0
1
1

f (x, y)
1
0
0
0

f (x, y)
1
1
1
0

f (x, y)
1
0
1
1

f (x, y)
1
0
0
1

Por lo tanto, la extension recursiva de una interpretacion I es la aplicacion


I : Lprop {0, 1}
determinada de forma u nica por las siguientes condiciones: 4
I(A) = 1 I(A), es decir, I(A) = 1 si y solo si I(A) = 0;
I(A B) = max{I(A), I(B)}, es decir, I(A B) = 0 si y solo si I(A) = I(B) = 0;
I(A B) = min{I(A), I(B)}, es decir, I(A B) = 1 si y solo I(A) = I(B) = 1;
I(A B) = 0 si y solo si I(A) = 1 e I(B) = 0;
I(A B) = 1 si y solo si I(A) = I(B);
Para toda fbf A y para toda interpretacion I, si I(A) = 1 se dice que A es verdadera y se denota
I |= A. Si I(A) = 0 se dice que A es falsa y se denota I 6|= A.
Denotaremos por ILprop el conjunto de interpretaciones para Lprop .
3

Recordemos que, como destacamos en el primer captulo, esta extension es u nica.


Las conectivas definidas de este modo, es decir, de tal manera que el significado de una expresion compuesta depende u nicamente del significado de sus componentes, se denominan conectivas extensionales. Al estudiar las logicas no clasicas,
conoceremos el uso de las conectivas intensionales
4

CAPITULO
3. LOGICA
PROPOSICIONAL

50

r r La asignacion por I de valores de verdad a las fbfs A, A B y A B responde fielmente a nuestro


objetivo sin provocar discusion alguna:
A es verdadera si y solo si A es falsa.
A B es verdadera si y solo si A y B son verdaderas.
A B es falsa si y solo si A y B son falsas.
No ocurre as en el caso de y . En efecto, es natural, por ejemplo, aceptar que si I(A) = 1 e
I(B) = 1, entonces I(A B) = 1.
Tampoco presenta problema aceptar que si I(A) = 1 pero I(B) = 0, entonces I(A B) = 0.
La dificultad radica al tomar la opcion de que si I(A) = 0 e I(B) = 1, entonces I(A B) = 1.
Tenemos la tentacion de decir que, si A es falsa y B es verdadera, entonces si A entonces B no
es ni verdadera ni falsa. La razon de nuestra reticencia se debe a que tendemos a leer este enunciado
estableciendo una relacion de causa-efecto entre A y B y con esta lectura no tiene sentido decir que es
verdadero el enunciado: si Roma es la capital de Espana entonces Pars es la capital de Francia.
Conviene, pues, precisar que lo que se pretende con A B, es expresar
unicamente que, en el
supuesto de que A sea verdadera, entonces B tambien lo sera. Por lo tanto, como dice Alfred Tarski 5
con su ilustrativo ejemplo:
. . . Supongamos que realizo la siguiente afirmacion: si tu resuelves el problema, entonces
me comere el sombrero.
Si tu no resuelves el problema y yo no me como el sombrero, como puedes decir que miento?
Si tu no resuelves el problema y yo me como el sombrero, como puedes decir que miento?
Solo miento si resuelves el problema y no me como el sombrero . . .
Las mismas consideraciones podemos hacer para I(A B) = 1 en el caso que I(A) = 0 e I(B) = 0.
En definitiva, como toda fbf de Lprop , toda fbf del tipo A B es tan solo una formalizacion en Lprop
de un expresion del lenguaje natural del tipo si. . . entonces . . . de la que podemos asegurar que, en
toda interpretacion, I, se tiene que:
Si I(A) = 0, entonces I(A B) = 1, es decir, si el antecedente es falso, la implicacion material
es verdadera.
Si I(B) = 1, entonces I(A B) = 1, es decir, si el consecuente es verdadero, la implicacion
material es verdadera.

Insistamos de nuevo que, dada una fbf A, y una interpretacion I, el valor de verdad de A solo depende
de los valores de verdad asignados por I a los smbolos de proposicion que intervienen en A. Esto justifica
la siguiente nocion de interpretacion para una fbf:
Definicion 3.6 Una interpretaci
on para una fbf A es una asignacion de valores de verdad a
los smbolos proposicionales que intervienen en A (es decir, una restriccion de una interpretacion al conjunto de smbolos de proposicionales que intervienen en A). Denotaremos por ILprop (A) el conjunto de
interpretaciones para A. As pues, si denotamos por Vprop (A) el conjunto de smbolos o variables proposicionales que intervienen en A, se tiene que ILprop (A) = {I : Vprop (A) {0, 1} } y, por lo tanto, si
|Vprop (A)| = n, se tiene que |ILprop (A)| = 2n .
5

A. Tarski. Introduction to Logic and the Methodology of Deductive Sciences. Oxford University Press, second edition, 1946.
Traduccion al espanol por Espasa-Calpe, 1977.

3.2. SEMANTICA
PARA LA LOGICA
CLASICA
PROPOSICIONAL

51

r r Supongamos que Vprop (A) = {p1 , p2 , . . . , pn }. El lector conoce que el conjunto de interpretaciones
para A, ILprop (A) = {I : {p1 , p2 , . . . , pn } {0, 1} } se puede identificar con el conjunto potencia de
{p1 , p2 , . . . , pn } 6 , denotado P(Vprop (A)) o 2Vprop (A) . Esta identificacion se realiza mediante la aplicacion biyectiva que asocia a cada I ILprop (A) el subconjunto de {p1 , p2 , . . . , pn } cuyos elementos son
aquellos a los que I le asigna la imagen 1.
Si, por ejemplo, A = p (q (r p)), tenemos que Vprop (A) = {p, q, r}. Entonces, la interpretacion
I1 definida por I1 (p) = 1; I1 (q) = 0 e I1 (r) = 1 podemos identificarla con el subconjunto de {p, q, r}
cuyos elementos son aquellos a los que I1 le asigna la imagen 1, es decir, la identificamos con {p, r}

La forma habitual de presentar los valores de verdad de una fbf para cada una de sus interpretaciones,
es mediante las conocidas tablas de verdad. Dada una fbf, A, con n smbolos proposicionales, se
construye una tabla de verdad que nos permite determinar el valor de verdad que le asignan cada una de las
2n interpretaciones para A. Dicha tabla tendra 2n filas (una para cada una de las interpretaciones para A) y
tantas columnas como subformulas.
Ejemplo 3.4 La tabla de verdad para (p q) (p q) es:
{p, q}
{p}
{q}

p
1
1
0
0

q
1
0
1
0

p
0
0
1
1

p q
1
0
1
1

p q
0
0
1
0

(p q) (p q)
0
1
1
0

En la primera columna de la tabla, hemos representado cada interpretacion mediante el conjunto de smbolos
proposicionales de la fbf a las que asigna 1.

3.2.1. Clasificacion semantica de las fbs: Satisfacibilidad y Validez


Si el lector recuerda lo estudiado en el captulo anterior, comprobara que lo que vamos a hacer es
particularizar a la logica proposicional los conceptos que vimos en el caso general.

Conjunto de todos los subconjuntos de {p1 , p2 , . . . , pn }.

CAPITULO
3. LOGICA
PROPOSICIONAL

52
Definicion 3.7

- Una fbf, A, se dice modelizable o satisfacible, si I(A) = 1 para alguna interpretacion


I. En este caso, se dice que la interpretacion I satisface A, o bien que I es un modelo para A.
Denotaremos por Mod(A) el conjunto de modelos de A, es decir:
Mod(A) = {I ILprop | I(A) = 1}
Denotaremos por Contramod(A) el conjunto de contramodelos de A, es decir:
Contramod(A) = {I ILprop | I(A) = 0}
Una fbf, A, se dice contingente si tanto ella como su negacion son satisfacibles es decir, existe
una interpretacion I que es un modelo de A y una interpretacion, I , que es un contramodelo de A.
As pues, A es contingente si Mod(A) 6= y Contramod(A) 6=
Obviamente, puesto que Mod(A) = Contramod(A) se tiene que
Proposicion 3.1 A es contingente si y solo si A es contingente.
Definicion 3.8 Una fbf, A, se dice que es
v
alida o una tautolog
a, si I(A) = 1 para toda interpretacion I, es decir, toda interpretacion
es un modelo de A. Es decir, Mod(A) = ILprop .
insatisfacible o que es una contradicci
on si I(A) = 0 para toda interpretacion I. Es
decir, Contramod(A) = ILprop .
El siguiente resultado es inmediato a partir de las definiciones.
Proposicion 3.2
es valida y es insatisfacible.
A es valida si y solo si A es insatisfacible.
Tenemos pues la siguiente clasificacion de las fbfs:
Lprop = {fbfs insatisfacibles} {fbfs contingentes} {fbfs validas}
Es decir, cada fbf, A, esta en uno de los tres subconjuntos disjuntos que aparecen en la union.

r r Ahora que disponemos de la definicion de formula valida, podemos insistir en las razones de la definicion
semantica de la conectiva .
Es evidente que esperamos que dadas dos fbfs arbitrarias A y B, la fbf (A B) B sea valida. Ahora
bien, sabemos que dada una interpretacion, I, si I(A) = 0 e I(B) = 1 se tiene que I(A B) = 0. En
consecuencia, para que (A B) B sea valida, si consideramos X = A B e Y = B, es preciso que
si I(X) = 0 e I(Y ) = 1 asignemos I(X Y ) = 1.
Analogamente, puesto que si I(B) = 0 se tiene que I(A B) = 0, para que (A B) B sea valida,
es preciso que si I(X) = 0 e I(Y ) = 0 asignemos I(X Y ) = 1.

3.2. SEMANTICA
PARA LA LOGICA
CLASICA
PROPOSICIONAL

53

Definicion 3.9 Sea un conjunto de fbfs. Decimos que


de fbfs es consistente, modelizable o satisfacible, si existe alguna interpretacion
I tal que I(A) = 1 para toda fbf A de . En este caso, se dice que la interpretacion I satisface , o
bien que I es un modelo para . Denotaremos por Mod() el conjunto de modelos de . Es decir:
\
Mod() =
Mod(Ai )
Ai

es finitamente satisfacible si todos sus subconjuntos finitos son satisfacibles.


es insatisfacible si no es satisfacible, es decir, si no existe un modelo para . Denotaremos
por Contramod() el conjunto de contramodelos de , es decir:
[
Contramod() =
Contramod(Ai )
Ai

En particular, se tiene el siguiente resultado:


Proposicion 3.3 Si = {A1 , , An }:
Mod() =

i=n
\

Mod(Ai ). Es decir, es satisfacible si y solo si lo es A1 . . . An .

i=1

Las tablas de verdad son un metodo efectivo o algoritmo para determinar si una fbf es o no valida y,
puesto que A es valida si y solo si A es insatisfacible, es un algoritmo para determinar si A es o no
satisfacible. Es decir, es un algoritmo tanto para el problema SAT como para el problema TAUT. 7
En general, todo procedimiento de decision para la satisfacibilidad puede ser usado como procedimiento
de decision para la validez. Para analizar si A es valida aplicamos el procedimiento de decision para la
satisfacibilidad a A. Tal procedimiento se denomina procedimiento por refutaci
on (porque,
para probar la validez de una fbf, intentamos refutarsu negacion).

3.2.2. Relacion de igualdad semantica: Equivalencia Logica


Dadas las fbfs (p q) y p q, es inmediato comprobar que, para cualquier interpretacion I, ambas
son verdaderas o ambas son falsas. En definitiva, ambas transmiten la misma informacion, son iguales
sem
anticamente. Para dos fbfs arbitrarias, este hecho se recoge mediante la nocion de equivalencia
logica.
ogicamente equivalentes, denotado A B, si
Definicion 3.10 Dos fbfs A y B se dice que son l
para toda interpretacion I se tiene que I(A) = I(B), es decir, si A B es una tautologa y, por lo tanto,
Mod(A) = Mod(B).
Es inmediato que es una relacion de equivalencia sobre Lprop .
7

Recordemos que el problema SAT consiste en dada una fbf arbitaria, A, determinar si A es o no satisfacible y el problema
TAUT consiste en dada una fbf arbitaria, A, determinar si A es o no una tautologa.
En Inteligencia Artificial, dado un problema NP-completo, calP , para resolverlo se convierte calP en un problema qonsistente
en la satisfactibilidad de un conjunto de formulas booleanas proposicionales (es decir, al problema SAT). Una vez solucionada la
instancia obtenida con un algoritmo de satisfactibilidad, a partir de la solucion encontrada se genera una solucion para el problema
calP .

CAPITULO
3. LOGICA
PROPOSICIONAL

54

r r Es importante destacar la diferencia que existe entre el conectivo , que es un smbolo del alfabeto del
lenguaje, y el metas
mbolo . Cuando escribimos A B simplemente estamos escribiendo en el
lenguaje una fbf que puede ser verdadera o falsa para cada interpretacion. Cuando decimos que A B,
estamos usando el metalenguaje para expresar que el enunciado representado por A es verdadero si y
solo si lo es el enunciado representado por B, es decir, A y B tienen el mismo significado, es decir, A
y B son sem
anticamente iguales. Los smbolos y estan pues a niveles sintacticos (es decir, en
lenguajes) distintos.

Como consecuencia inmediata de la definicion, tenemos que:


Lema 3.1
1. Dadas dos fbfs validas cualesquiera, A y B, se tiene que A B.
2. Dadas dos fbfs insatisfacibles cualesquiera, A y B, se tiene que A B.

Conectivas primitivas y conectivas definidas


Los siguientes ejemplos de equivalencias muestran como, semanticamente, unas conectivas pueden ser
expresados en funcion de otras:
A B A B,

A B (A B)

A B A B

La no independencia de los conectivas podra haber sido recogida en el alfabeto de Lprop tomando unas
conectivas como primitivas y dando las restantes mediante definicion. El conjunto de conectivas escogidas
como primitivas suele variar, habitualmente suele escogerse uno de los tres siguientes:
1. {, , }. En cuyo caso,
def

A B = A B

def

A B = (A B) (B A)

2. {, , , }. En cuyo caso,
def

A B = (A B) (A B)
3. {, }. En cuyo caso,
def

A B = A B;

def

def

A B = (A B) y A B = ((A B) (B A))

La eleccion del conjunto de conectivas primitivas vendra determinada por la aplicacion pretendida. As, por
ejemplo,
si estamos interesados en la deduccion, la eleccion nos conducira a (junto con ).
sin embargo, en aplicaciones a la electronica no sera de gran interes debido a que no es simetrico,
es decir, (A B) 6 (B A). Por esta razon, en tales aplicaciones se adoptan de modo universal
las conectivas y (junto con ).

3.2. SEMANTICA
PARA LA LOGICA
CLASICA
PROPOSICIONAL

55

Hasta aqu, hemos considerado una conectiva monaria y cuatro conectivas binarias (no todas ellas independientes, como acabamos de ver). Podramos preguntarnos si la logica proposicional, para cumplir su objetivo
de formalizacion de la parte senalada de nuestro lenguaje natural, requiere alguna otra conectiva monaria o
binaria, o bien si requiere conectivas de aridad mayor que dos. La respuesta a ambas preguntas, dada por
Post 8 es que no necesitamos mas conectivas:
1. La semantica de cualquier conectiva monaria vendra determinada por una de las funciones mi : {0, 1}
{0, 1} para i {1, 2, 3, 4}, dadas por la siguiente tabla:
x
1
0

m1 (x)
1
0

m2 (x)
0
1

m3 (x)
1
1

m4 (x)
0
0

Es claro que m2 = f y que m1 , m3 , m4 no aportan nada, ya que nos proporcionaran conectivos que
a cada fbf A le asocian, respectivamente, el propio A, siempre verdad y siempre falso.
La negacion es esencial en todas las aplicaciones de la Logica:
las puertas not en el diseno logico de circuitos.
Los operadores not en programacion logica.
Los hechos negativos en la representacion del conocimiento.
2. La semantica de toda conectiva binaria vendra determinada por una de las funciones
bi : {0, 1} {0, 1} {0, 1}, para i {1, 2, . . . , 16}
dadas por la siguiente tabla:

p
1
1
0
0

q
1
0
1
0

b1
1
1
1
1

b2
1
1
1
0

b3
1
1
0
1

b4
1
1
0
0
p

b5
1
0
1
1

b6
1
0
1
0
q

b7
1
0
0
1

b8
1
0
0
0

b9
0
1
1
1
N AN D

b10
0
1
1
0
XOR

b11
0
1
0
1
q

b12
0
1
0
0
()

b13
0
0
1
1
p

b14
0
0
1
0
()

b15
0
0
0
1
N OR

b16
0
0
0
0

Observamos que b2 = f , b3 = f , b5 = f , b7 = f , b8 = f ; por su parte b1 , b4 , b6 no aportan


nada, ya que nos proporcionaran conectivos que a cada par de fbfs A y B le asocian, respectivamente,
siempre verdad, el propio A, y el propio B. Para 8 < i 16, bi proporciona la negacion de la
conectiva determinada por b17i (por ejemplo, b12 = f f ).
La conectiva b3 = f , donde corresponde a la implicacion inversa, es ampliamente utilizada como
operador base en los lenguajes de programacion logica.
La conectiva b9 = N AN D se denomina tambien trazo de Sheffer 9 y se denota tambien por
|, o bien por : N AN D(A, B) = A|B = A B (A B)
8

E. Post. Introduction to a general theory of elementary propositions. In J. van Heijenoort, editor, A source book in mathematical
logic, 18791931. Harvard University ress, 1967.
9
Sheffer stroke en la bibliografa inglesa.

CAPITULO
3. LOGICA
PROPOSICIONAL

56

La conectiva b15 = N OR se denomina tambien flecha de Peirce y se denota tambien por


: N OR(A, B) = A B (A B)
Por su parte, la conectiva b10 = f , donde corresponde al o exclusivo de nuestro lenguaje
natural, es decir, A B (A B) (A B) (A B) se lee A o B, pero no ambas.
Tambien denominada XOR, resulta de interes debido a que es el u nico con la propiedad de poder
proporcionar sus componentes, por ejemplo,
(A B) B A
Por esta razon, es utilizado en las aplicaciones de la computacion en criptografa y en la codificacion
para correccion de errores.

rr
Como discernir cuando el odel lenguaje natural ha de ser formalizado por o por ? De nuevo
hemos de insistir en que nuestro e nfasis ha de estar en la informacion que se desea transmitir. As
pues, como indica Willard Quine,10 en el ejemplo de Tarski en el que un nino le pide a su padre
que le lleve a una cierta hora a la playa y, a continuacion, le pide que le lleve a la misma hora al
cine. El padre contesta, con un tono de negativa: o iremos a la playa o iremos al cine, el uso del
o exclusivo es claro y usaremos para su espcificacion. Por el contrario, si se afirma que el
pasaporte se extendera solo a aquellas personas nacidas en el pas o a aquellas personas casadas
con nacidos en el pas, el uso del o inclusivo es claro y usaremos para su espcificacion.

3. Para finalizar, la semantica de una conectiva n-aria arbitraria vendra determinada por una funcion
gi : {0, 1}n {0, 1}. Supongamos que gi viene dada por la tabla:
x1
11
21
...
2n 1

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

xn
1n
2n
...
2n n

gi
1
2
..
2n

donde todo ij y todo k es 0 o 1. Entonces, si es la conectiva determinada por gi , y k1 , k2 , . . . , kl


son las filas de la tabla anterior en las que km = 1, es claro que
(p1 , . . . pn ) (lk1 1 lk1 2 . . . lk1 n )
(lk2 1 lk2 2 . . . lk2 n )
.....................
(lkl 1 lkld 2 . . . lkl n )
donde lij = pj si ij = 1 y lij = pj si ij = 0.
Veamos este resultado aplicado en un ejemplo concreto.
Ejemplo 3.5 Sea 3 la conectiva ternaria cuya semantica viene determinada por la funcion g : {0, 1}3
{0, 1} definida por la tabla:
10

W. Quine. Methods of logic. Henry Holt, 1950.

3.2. SEMANTICA
PARA LA LOGICA
CLASICA
PROPOSICIONAL
x1
1
1
1
1
0
0
0
0

x2
1
1
0
0
1
1
0
0

x3
1
0
1
0
1
0
1
0

57

g
0
1
1
0
0
1
1
0

entonces
3 (p1 , p2 , p3 ) (p1 p2 p3 ) (p1 p2 p3 ) (p1 p2 p3 ) (p1 p2 p3 )

r r Conviene destacar que una frase del lenguaje natural (de las consideradas por la logica proposicional)
puede ser formalizada por diversas fbfs del lenguaje Lprop de la logica proposicional, 11 todas ellas
semanticamente equivalentes, es decir, con la misma informacion.
As pues, A Mara le gusta la carne o el pescado puede ser formalizada por
p q (si p formaliza A Mara le gusta la carne y q formaliza A Mara le gusta el pescado), o
bien
(p q) (No es cierto que a Mara no le guste la carne ni el pescado), o bien
p q (Si a Mara no le gusta la carne entonces le gusta el pescado),
...
Lo usual y mas conveniente es ajustarse, en la medida de lo posible a la literalidad de la frase (aunque,
hay claras excepciones).
Por otra parte, el lenguaje natural no solo utiliza como partculas de enlace aquellas destacadas como la
lectura de las conectivas de Lprop :
no, y, o, si . . . entonces . . . y si y solo si.
Sin embargo, hemos demostrado que e stas tienen total potencia expresiva, es decir, bastan para expresar
cualquier otra. Por lo tanto, ante una frase del lenguaje natural, nuestro quehacer habra de centrarse en
analizar cual es la informacion que deseamos transmitir para despues proceder a formalizarla en Lprop .
Por ejemplo, las frases A Mara le gusta la carne pero no el pescado, A Mara le gusta la carne,
sin embargo no le gusta el pescado, A Mara le gusta la carne aunque no el pescado transmiten
la misma informacion que A Mara le gusta la carne y no le gusta el pescado y por lo tanto las
formalizaremos por p q.

Tenemos ya todos los elementos necesarios para responder a la pregunta que nos hicimos al comenzar
esta seccion: cuantas conectivas se requieren en la logica clasica proposicional? Para contestarla, introducimos la definicion siguiente.
Definicion 3.11 Un conjunto de conectivas se dice adecuado o completo si para todo n N
y cualquier conectiva, , de aridad n se tiene que (p1 , . . . , pn ) es equivalente a una fbf en la que solo
intervienen conectivas pertenecientes a .
En esta seccion hemos dado todos los elementos para demostrar el siguiente resultado.
11

en rigor, podemos decir que por una infinidad numerable de fbfs

CAPITULO
3. LOGICA
PROPOSICIONAL

58

Proposicion 3.4 Los conjuntos de conectivas {, }, {, }, {, } son conjuntos completos de conectivas. Los u nicos conjuntos completos de conectivas con una sola conectiva son {} y {}.
Ejemplo 3.6
1. Veamos la expresion en terminos de la conectiva monaria y las conectivas binarias y de una de
las conectivas ternarias mas utilizada en Computacion, la conectiva
Si A entonces B y en caso contrario C
que denotaremos por [A, B, C] 12 y que, como es bien conocido, se utiliza para expresar que:
si A es verdadera el valor de [A, B, C] ha de ser el de B y si A es falsa el valor de
[A, B, C] ha de ser el de C
es decir, A actua a modo de interruptor.
El lector puede comprobar facilmente que [A, B, C] (A B) (A C).
2. As mismo, podemos considerar tambien como conectiva definida la conectiva ternaria denominada
incompatibilidad condicionada y denotada [[A, B, C]]. Esta conectiva es utilizada para
expresar que si A es verdadera el valor de [[A, B, C]] ha de ser el de B y si A es falsa el valor de
[[A, B, C]] ha de ser el de C. Por lo tanto, [[p, q, r]] (A B) (A C) [p, q, r].
3. En ocasiones es u til considerar conectivas que aseguran un determinado numero de afirmaciones
verdaderas entre un numero finito de afirmaciones. Por ejemplo, la conectiva al menos dos de
las tres, que denotaremos 32 (A, B, C) y que expresa que al menos dos de las tres afirmaciones
A, B, C son verdaderas. En consecuencia:
32 (A, B, C) = (A B) (A C) (B C)

3.2.3. Leyes de la Logica Clasica Proposicional


Las leyes de una logica establecen la interaccion semantica entre las conectivas. Si consideramos el
conjunto de conectivas
{, , , , }
Damos a continuacion una lista de leyes (equivalencias basicas), que pueden ser comprobadas de forma
trivial usando las tablas de verdad, 13 y los nombres por las que son conocidas:
12
13

En parte de la bibliografa se le denomina disyunci


on condicionada.
El lector puede ver que cada una de ellas nos indica la interaccion entre dos conectivas

3.2. SEMANTICA
PARA LA LOGICA
CLASICA
PROPOSICIONAL

A
(A B)
(A B)

AA
AB
(A B) C
A (B C)
A (A B)
A
A
AA
AB
(A B) C
A (B C)
A (A B)
A
A

A
A B
A B

A
BA
A (B C)
(A B) (A C)
A
A

A
BA
A (B C)
(A B) (A C)
A

Doble negacion
Ley de De Morgan
Ley de De Morgan

Ley idempotentes
Ley commutativa
Ley asociativa
Ley distributiva
Ley de absorcion

Ley idempotentes
Ley commutativa
Ley asociativa
Ley distributiva
Ley de absorcion

A ellas anadimos las siguientes leyes


A A
A A

Ley de complementacion
ley de complementacion

Y si contemplamos las conectivas y :


A
A
A
(A B)
AB

;
A;
A;
A B
B A;

A
A
A
(A B)
AB

A
A B A B
B A

r r La propiedad distributiva de sobre coincide con la que conocemos en aritmetica de la propiedad


distributiva del producto sobre la suma: x (y + z) = xy + xz y la que conocemos de la teora de
conjuntos de respecto a : X (Y Z) = (X Y ) (X Z)). Pero si nos centramos en la propiedad
distributiva de sobre no tenemos la analoga total:
es distributiva respecto de : X (Y Z) = (X Y ) (X Z)), pero
la suma no es distributiva respecto al producto: x + yz 6= (x + y)(x + z). Esta propiedad es cierta
si nos limitamos a la aritmetica binaria (es decir, en {0, 1}), como es nuestro caso en la logica
clasica proposicional).

Las leyes asociativas nos permiten dar categora de fbf a las expresiones
W
A1 A2 . . . An (abreviadamente Vni=1 Ai )
A1 A2 . . . An (abreviadamente ni=1 Ai )

59

CAPITULO
3. LOGICA
PROPOSICIONAL

60

Cada una de ellas representa una cualquiera de las fbfs (equivalentes entre s) que se obtiene intercalando
parentesis de modo conveniente.
W
V
Con la categora de fbf dada a las expresiones ni=1 Ai y ni=1 Ai , las leyes distributivas se pueden
generalizar como sigue:
Leyes Distributivas-G

A(

n
_

i=1
n
^

A(

i=1

Bi )
Bi )

n
_

(A Bi )

i=1
n
^

(A Bi )

i=1

Dualidad
Hay leyes de la logica clasica proposicional, como algunas de las expuestas mas arriba, que realizando
en ellas algunos intercambios de conectivas nos permiten obtener una nueva ley. De este modo podemos
reducir, a veces, a la mitad nuestro trabajo al estudiar las propiedades semanticas de las fbfs. Por ejemplo,
si en la ley de De Morgan, (A B) A B, intercambiamos las conectivas y , obtenemos
la ley de De Morgan (A B) A B y viceversa;
si en la ley Distributiva A (B C) (A B) (A C) intercambiamos las conectivas y ,
obtenemos la ley Distributiva A (B C) (A B) (A C) y viceversa;
si en la ley de cero-uno A A intercambiamos las conectivas y y las constantes y ,
obtenemos la ley de cero-uno A A
Estos resultados se recogen en el llamado principio de dualidad. En los ejemplos expuestos se dice que en
cada uno de los tres temes, una cualquiera de las fbfs es la dual de la otra.
Para establecer el principio de dualidad nos restringirnos al uso de las
conectivas {, , }.
Comenzamos con la siguiente definicion:
Definicion 3.12 Sea A una fbf que solo contiene las conectivas , y . La fbf dual de A se define
recursivamente como sigue:
dual(A)

A, si A Vprop

dual()

dual()

dual(A)

dual(A)

dual(A B)

dual(A) dual(B)

dual(A B)

dual(A) dual(B)

En definitiva: Si A {, } entonces la fbf dual de A es A. En caso contrario, la formula dual de A


resulta de intercambiar en A todas las apariciones de y .
Es facil probar (y se deja al lector) que:

3.2. SEMANTICA
PARA LA LOGICA
CLASICA
PROPOSICIONAL

61

Lema 3.2 Para toda fbf, A, con , y como u nicas que conectivas, se tiene que
dual(dual(A)) = A
Podemos ya enunciar el resultado fundamental sobre dualidad.
Teorema 3.1 (Principio de dualidad) Sean A, B fbfs que solo contiene las conectivas , y . Entonces:
AB

si y solo si

dual(A) dual(B)

r r En la bibliografa, podemos encontrar el uso de las tablas de verdad de la fbf A cuya fbf dual se desea
obtener: Reemplazar todos los 1s por 0s y reordenar la tabla as obtenida para obtener el orden estandar
de las variables proposicionales.
Ejemplo 3.7 Para la fbf p q:
p
0
0
1
1

q
0
1
0
1

pq
0
0
0
1

cambiado los 0s por 1s obtenemos


p
1
1
0
0

q
1
0
1
0

(p q)D
1
1
1
0

p
0
0
1
1

q
0
1
0
1

(p q)D
0
1
1
1

y reordenando la tabla:

que nos indica que la fbf dual buscada es p q

Teorema de Equivalencia
El siguiente resultado proporciona otro mecanismo simple mediante el cual se obtienen nuevas equivalencias a partir de equivalencias conocidas. Para su formulacion introducimos las siguientes notaciones:
Definicion 3.13 A[B/C] expresa que B es una subformula de la fbf A y que en A se han sustituido todas
las ocurrencias de B por C. A este proceso se le denomina de sustituci
on uniforme.
Teorema 3.2 (de equivalencia) Si B es una subformula de A y B C, entonces A A[B/C].

CAPITULO
3. LOGICA
PROPOSICIONAL

62

: Sea I una interpretacion arbitraria, Puesto que B C, se tiene que I(B) = I(C).
D EMOSTRACI ON
Deseamos probar que I(A) = I(A[B/C]). Realizamos la demostracion por induccion sobre la profundidad
k de la raz del subarbol TB en el a rbol TA .
Si k = 0, entonces A = B, A[B/C] = C y el resultado es obvio.
Supongamoslo cierto para k < n y probemoslo para k = n. Si k = n, distinguimos los dos casos
siguientes:
1. A = X. Entonces B es subformula de X y la raz de TB en el subarbol TX es de profundidad < n.
Por lo tanto, la hipotesis de induccion asegura que A[B/C] = X[B/C] X = A.
2. A = X Y con {, , , }. Entonces B es subformula de X o de Y . Supongamos que B es
subformula de X. En este caso, la raz de TB en el subarbol TX es de profundidad < n. Por lo tanto,
de nuevo la hipotesis de induccion asegura que A[B/C] = X[B/C] Y X Y = A.
El paso de A a A[B/C] es lo que se llama una transformaci
on de equivalencia.
Podemos definir otro tipo de sustitucion que no requiera cambiar todas las ocurrencias de B por C,
sino solo algunas. Para diferenciar esta operacion de la sustitucion uniforme, se le denomina simplemente
sustituci
on o reemplazo. Para este tipo de sustitucion, el teorema 3.2 sigue siendo cierto.
La traduccion del teorema de equivalencia en terminos de a rboles sintacticos, es directa:
Si B es una subf
ormula de A y B C, entonces al sustituir en TA
rbol sint
los sub
arboles TB por el
arbol TC , se obtiene el a
actico
de una fbf equivalente a A.

3.3. Formas Normales


Hemos definido en Lprop la relacion de equivalencia semantica, a la que hemos denotado por . Esto
nos permite trabajar con el conjunto cociente Lprop / . De este modo, cada fbf en Lprop pertenecera a una y
solo una clase de equivalencia en Lprop / . As,
1. Todas las fbfs validas estaran en la misma clase de equivalencia (en la misma que ),
2. Todas las fbfs insatisfacibles estaran en la misma clase de equivalencia (en la de ),
3. p estara en la misma clase de equivalencia que, por ejemplo, p (p A), para cualquier fbf A, 14
4. etc.
Como siempre que trabajamos en un conjunto cociente, deseamos tener un representante can
onico
para cada clase de equivalencia, es decir, de un tipo de fbf , lo mas simple posible, tal que cualquier fbf sea
expresable, (de forma semanticamente equivalente) por una de dicho tipo.
14

Como nos asegura la ley de absorcion.

3.3. FORMAS NORMALES

63

r r As ocurre cuando trabajamos con fracciones; definimos que dos fracciones, a y c , son equivalentes
b
d
si y solo si a.d = b.c y elegimos como representante canonico de la clase a la que pertenece ab , la
fraccion irreducible (aquella para la que el maximo comun divisor del numerador y denominador es 1)
12
es 45 .
perteneciente a esa clase. As, el representante canonico de la clase a la que pertenece 15

Si, por ejemplo, describimos un circuito en terminos de la logica proposicional, desearamos poder
disponer de una fbf equivalente a la fbf inicial obtenida al describir inicialmente el circuito y que represente
una combinacion mas simple de puertas logicas.
Lo ideal sera poder encontrar la combinacion mas simple, pero desafortunadamente, a diferencia de lo
que ocurre en el caso de las fracciones, no se conoce una tecnica para tal fin, no existe el mejor representante
canonico de cada clase de equivalencia en el conjunto cociente Lprop / . Sin embargo, disponemos de
algunos tipos de representantes canonicos, que se denominan formas normales, que se han mostrado
especialmente u tiles: la forma normal negativa, fnn, la forma normal disyuntiva, fnd, y la forma normal
conjuntiva, fnc, que definimos a continuacion:
Definicion 3.14
1. Los smbolos proposicionales, junto con sus negaciones son llamados literales. Decimos que los
literales p y p son literales opuestos. Si es un literal, denotaremos su opuesto por .
2. Una fbf se dice que es
un cubo si es , , un literal o una conjuncion (posiblemente vaca) de literales.
un cubo es restringido si no contiene literales repetidos ni pares de literales opuestos. 15
una cl
ausula si es , , un literal o una disyuncion (posiblemente vaca) de literales.
una cl
ausula restringida si no contiene literales repetidos ni pares de literales opuestos. 16
Definicion 3.15 Una clausula C1 se dice que contiene a la clausula C2 , si todo literal de C2 es un literal
de C1 .
Un cubo D1 se dice que contiene al cubo D2 si todo literal de D2 es un literal de D1 .
La anterior definicion da nombres a tres tipos de fbfs de Lprop : literales, clausulas y cubos que podemos
decir de ellas respecto a su semantica? Vamos a analizarlo:
Claramente, todo literal es contingente. Dado p, se tiene que toda interpretacion que asigna a p el
valor de verdad 1 es un modelo de p y toda interpretacion que asigna a p el valor de verdad 0 es un
contramodelo de p.
Dualmente, dado p, se tiene que toda interpretacion que asigna a p el valor de verdad 0 es un modelo
de p y toda interpretacion que asigna a p el valor de verdad 1 es un contramodelo de p.
Veamos que ocurre con las clausulas:
Toda clausula que contiene un literal y su opuesto es valida. As, por ejemplo, la clausula p
q p r es valida.
15
16

En la bibliografa, a un cubo restringido tambien se le conoce como mint


ermino.
En la bibliografa, a una clausula restringida tambien se le conoce como maxt
ermino.

CAPITULO
3. LOGICA
PROPOSICIONAL

64

Toda clausula que no contiene un literal y su opuesto es contingente.


Para la clausula C = p q r, se tiene que
Mod(C) = {, {p}, {r}, {p, q}, {p, r}, {q, r}, {p, q, r}}

17

Contramod(C) = {{q}}
La u nica interpretacion que hace falsa a C es aquella que asigna el valor 0 a p y a r y asigna 1 a
q.
As que existen clausulas validas y clausulas contingentes. Pero
existe alguna cl
ausula insatisfacible?
Antes de contestar a esta pregunta reflexionemos sobre las propiedades de . Hemos visto que
es asociativa (podemos eliminar los parentesis), es conmutativa (no es relevante el orden en el
que escribamos sus literales) y es idempotente (podemos eliminar repeticiones de literales).
As, p ((r q) p) podemos escribirla (por la propiedad de asociatividad de ) como
p r q p y p r q p p p q r (por la commutatividad hemos elegido el
orden alfabetico) y, finalmente, p p q r p q r (por la propiedad idempotente).
En definitiva, una clausula queda determinada por el conjunto de sus literales; en nuestro ejemplo, podemos representar la clausula p ((r q) p) por el conjunto {p, q, r}, es decir,
contemplar una clausula, C como una disyuncion de literales C = l1 l2 ._
. . ln o como la
disyuncion de los literales del conjunto = {l1 , l2 , . . . , ln }, es decir C =
li . Tiene pues
li

sentido considerar que:


y son clausulas.
Todo literal l es una clausula
La cl
ausula vac
a, es la disyunci
on vac
a de literales, denotada por .
Y cual es la semantica de  ? Para responder a esta pregunta, pensemos que, dada una clausula,
C, basta que tenga un literal para que sea satisfacible (ya que toda interpretacion que asigne a
tal literal el valor de verdad 1, sera un modelo de C). Por lo tanto, la cl
ausula vac
a es
insatisfacible (no posee ningun literal al que asignar el valor 1). El mismo razonamiento
podemos realizar para una disyuncion de fbfs arbitarias:
Toda disyunci
on vac
a de fbfs es insatisfacible
Repetimos el mismo analisis para los cubos:
Todo cubo que contiene un literal y su opuesto es insatisfacible. Por ejemplo, p q p r
es insatisfacible.
Todo cubo que no contiene un literal y su opuesto es contingente.
Para el cubo D = p q r, se tiene que:
Mod(C) = {{p, r}} 18
Contramod(D) = {, {p}, {q}{r}, {p, q}, {q, r}, {p, q, r}}
17
Recordemos que representa la interpretacion que asigna el valor 0 a todos los smbolos proposicionales, por lo tanto asigna
el valor 1 a q y, en consecuencia, asigna el valor 1 a C.
18
La u nica interpretacion que hace verdadero a D es aquella que asigna el valor 1 a todos sus literales, es decir, la que asigna 1 a
p y a r y asigna 0 a q.

3.3. FORMAS NORMALES

65

As que existen cubos insatisfacibles y cubos contingentes. Pero existe algun cubo valido?
Realizando la misma reflexion que para las clausulas, puesto que es asociativa, conmutativa
e idempotente , podemos representar el cubo p ((r q) p) por el conjunto {p, q, r}, es
decir, contemplar un cubo, D como una conjuncion finita de literales D = l1 l2
^. . . ln o
como la conjuncion de los literales del conjunto = {l1 , l2 , . . . , ln }, es decir D =
li . Tiene
li

pues sentido considerar que:

y son cubos.
Todo literal l es un cubo.
El cubo vac
o, es la conjunci
on vac
a de literales y lo denotaremos por
.
Y cual es la semantica del cubo vaco? Como hemos razonado respecto a las clausulas, dado un
cubo, D, basta que tenga un literal para que tenga un contramodelo, ya que toda interpretacion
que asigne a tal literal el valor de verdad 0, sera un contramodelo de D. Por lo tanto, el cubo
alido (no posee ningun literal al que asignar el valor 0). Y aplicando el mismo
o es v
vac
razonamiento a la conjuncion vaca de fbfs arbitrarias, tenemos que: Toda conjunci
on
vac
a de fbfs es v
alida.

3.3.1. Forma Normal Negativa


Tenemos ya tres familias de fbfs: literales, cubos y clausulas. bastan estos tipos de fbfs para ser elegidas
como representantes canonicos? La respuesta es no: No toda fbf es equivalente a otra de uno de estos tres
tipos de fbfs. Basta considerar, por ejemplo, la fbf A = p (q r). El lector puede comprobar que no
existe ningun cubo ni ninguna clausula equivalente a A.
As que tenemos que seguir en la tarea de buscar formas normales. Comenzamos introduciendo la forma
normal mas simple y la que menos coste conlleva en el proceso de conversion:
Definicion 3.16 Sea A una fbf, decimos que A esta en forma normal negativa (abreviadamente,
que es una fnn), si satisface las siguientes condiciones:
En A no intervienen ni (en terminos de su a rbol sintactico, ninguno de los nodos de TA es
ni ).
El a mbito de las negaciones en A se reduce a los smbolos proposicionales (en terminos de su a rbol
sintactico, en TA los nodos , si existen, tan solo ocurren como ascendientes directos de smbolos
proposicionales).
Decimos que una fbf en forma normal negativa es restringida si es , o bien no contiene
ninguna constante logica y todas las clausulas y cubos que contiene son restringidos.
Es inmediato comprobar que podemos definir las fnns recursivamente como sigue:
Definicion 3.17 Dentro del conjunto de formulas generalizadas definimos recursivamente las formulas en
forma normal negativa como sigue:
Las constantes logicas, la clausula vaca (), el cubo vaco () y los literales son formulas en forma
normal negativa conjuntiva y son formulas en forma normal negativa disyuntiva.

CAPITULO
3. LOGICA
PROPOSICIONAL

66

Si C1 ,. . . ,Cn son formulas en forma normal negativa conjuntiva, entonces C1 Cn es una


formula en forma normal negativa disyuntiva.
Si D1 ,. . . ,Dn son formulas en forma normal negativa disyuntiva, entonces D1 Dn es una
formula en forma normal negativa conjuntiva.
Aceptaremos por convenio que el a rbol sintactico de una fnn es:
1. Si A es , , , o un literal, entonces TA es el a rbol de un solo nodo etiquetado con A.

Jn
J V W

2. Si A = i=1 Ai , donde
es o , entonces TA es TA1 . . . TAn

Ejemplo 3.8 La representacion de las fbfs usando a rboles sintacticos ayuda a identificar y entender el esquema que hemos definido anteriormente. Como vemos en el ejemplo siguiente, en una fnn las conectivas y
se van alternando en cada nivel y la conectiva solo aparece en las hojas formando parte de los literales.
Cuando trabajamos con este tipo de fbfs, para toda variable proposicional, p, se suele escribir p en lugar de
p.
As, por ejemplo, tenemos el a rbol sintactico de la fbf

p ((q p) (p s)) r ((s r q) p)

p
q

Teorema 3.3 Toda fbf es equivalente a una formula en forma normal negativa restringida.
: El proceso de conversion para obtener la forma normal negativa equivalente consiste en
D EMOSTRACI ON
la aplicacion de las siguientes leyes:
1. Con las equivalencias:

A B A B,
(A B) A B,

(A B) A B,
(A B) A B,

eliminamos las implicaciones y trasladamos la negacion hasta las variables proposicionales.


2. La equivalencia A A simplifica las concatenaciones de negaciones. La asociatividad de la
conjuncion y de la disyuncion permite agruparlas y disponerlas en niveles alternativos.
3. Finalmente, aplicando si es posible las siguientes equivalencias dentro de cada clausula y cada cubo
Conseguimos la fnn restringida
A A A, A A , A A, A ,
A A A, A A , A A, A ,
Describimos una transformacion a una fnn equivalente, denominada Signar con complejidad lineal.

3.3. FORMAS NORMALES

67

La transformacion Signar
Dada una fbf, A, la siguiente definicion proporciona una transformacion elemental que convierte una fbf, A,
en una fnn equivalente:
Definicion 3.18 Dada una fbf A definimos recursivamente A(), donde {+, }:
p(+) = p

p() = p

(A)(+) = A()

(A)() = A(+)

(A B)(+) = A(+) B(+)

(A B)() = A() B()

(A B)(+) = A(+) B(+)

(A B)() = A() B()

(A B)(+) = A() B(+)

(A B)() = A(+) B()

por signar un a rbol TA , entenderemos recorrer TA primero en profundidad para obtener TA(+) .
Ejemplo 3.9 Sea A la fbf







p (r t) q (t s) p (q t) r (q (s r)) s

cuyo a rbol sintactico TA aparece en la Figura 3.1.Al signarlo, se obtiene el a rbol sintactico TA(+) , que
aparece en la Figura 3.2.

p
r

q
t

Figura 3.1: El a rbol TA .

3.3.2. Formas Normales Disyuntivas y Conjuntivas


Las fnnrs siguen teniendo una compleja estructura sintactica. Su a rbol sintactico puede ser de profundidad arbitraria y, por lo tanto, es difcil su lectura semantica. Nos gustara tener como representantes
canonicos unas formas normales mas legibles.

CAPITULO
3. LOGICA
PROPOSICIONAL

68

t
q

Figura 3.2: El a rbol TA(+) .

r r Volviendo a las fracciones, es evidente que poco nos dice la fraccion 1317 , pero si obtenemos su
17121
3
, tenemos mas claro su significado. Cuando introdujimos el concepto de forma
equivalente irreducible: 13
normal, pusimos el ejemplo de las fracciones para destacar su ventaja respecto a las fbfs y destacamos
que para las fracciones existe el mejor representante canonico y, por el contrario, para las fbfs no
exista la mejor forma normal. Ahora destacaremos una ventaja de las fbfs respecto a las fracciones:
1317
3
13
ha sido muy favorable, no siempre es as. Pensemos en dos
Aunque el ejemplo elegido 17121
n
numeros primos de gran tamano, n y m. La fraccion m
es irreducible.

Sin embargo, para las fbfs existen dos representantes canonicos cuyo significado es simple. Sea cual sea
la complejidad de una fbf (en terminos de la profundidad de su a rbol sintactico, podemos obtener una fbf
equivalente de profundidad a lo sumo 2. Mas aun, como veremos podemos obtener dos fbfs equivalentes
con esta caracterstica:

Definicion 3.19
1. Una fbf se dice que es normal disyuntiva si es:
,
,
un cubo, o
una disyuncion (posiblemente vaca) de cubos.
W
Es decir, una forma normal disyuntiva es del tipo n1 Di , donde D1 , . . . , Dn son cubos.

2. Una fbf se dice que es normal conjuntiva si es:


,
,
una clausula, o

una conjuncion (posiblemente vaca) de clausulas.


Es decir, una forma normal conjuntiva es del tipo

n
^

Ci , donde C1 , . . . , Cn son clausulas.

i=1

Definicion 3.20 Una fnd se dice restringida (abreviadamente, fndr), si cumple los siguientes requisitos:

3.3. FORMAS NORMALES

69

Ningun cubo contiene un literal y su opuesto.


Ningun cubo contiene literales repetidos.
Ningun cubo contiene a otro.
Una fnc se dice restringida (abreviadamente, fncr) si cumple los siguientes requisitos:
Ninguna clausula contiene un literal y su opuesto.
Ninguna clausula contiene literales repetidos
Ninguna clausula contiene a otra.
Realizando el mismo analisis que el realizado para las clausulas y los cubos, podemos representar una
fndr como un conjunto de cubos y una fncr como un conjunto de clausulas, en particular, la representaci
on
de una fncr, A, como conjunto de cl
ausulas se denomina la forma clausal de
A.

r r Recordemos que para demostrar que no necesitamos conectivas n-arias con n > 2 porque podemos
introducirlas como conectivas definidas en terminos de , y , utilizamos la tabla de verdad que define
la conectiva y comprobamos que poda ser definida como disyuncion de cubos: si 3 es la conectiva
ternaria cuya semantica viene definida por la tabla:
p
1
1
1
1
0
0
0
0

q
1
1
0
0
1
1
0
0

r
1
0
1
0
1
0
1
0

3 (p, q, r)
0
1
1
0
0
1
1
0

entonces 3 (p, q, r) (pqr)(pqr)(pqr)(pqr). As, que ya disponemos de


un modo de obtner una fnd para cualquier fbf, a partir de su tabla. A la fnd as generada se le denomina
forma normal disyuntiva completa (en ella cada smbolo proposicional ocurre una y solo
una vez).
Este metodo nos proporciona tambien el modo de obtener una fnc equivalente a una fbf dada. En efecto,
dada una fbf, A, bastara seguir los siguientes pasos.
1. construimos la tabla de verdad para A
2. tal tabla nos proporciona la forma normal disyuntiva completa de A:
A

n
_

Di

i=1

3. Finalmente, haciendo uso de la ley de De Morgan, obtenemos


A

n
_

i=1

Di

Di

Ci

es decir, una fnc equivalente a A, denominada forma normal conjuntiva completa.

CAPITULO
3. LOGICA
PROPOSICIONAL

70

Ejemplo 3.10 Dada la fbf A = (p (q r)) (p (q r)), mostramos como obtener una fbf
equivalente en fnd y una fbf equivalente en fnc.
p
1
1
1
1
0
0
0
0

q
1
1
0
0
1
1
0
0

r
1
0
1
0
1
0
1
0

A
0
1
0
0
1
1
1
1

A
1
0
1
1
0
0
0
0

Obtenemos pues que


1. A (p q r) (p q r) (p q r) (p q r) (p q r)
Con lo cual, tenemos una fnd completa equivalente a A
2. Ahora, puesto que A (p q r) (p q r) (p q r), obtenemos
A (p q r) (p q r) (p q r)
y aplicando la ley de De Morgan,
A (p q r) (p q r) (p q r)
La complejidad del proceso es claramente exponencial y la necesidad de construir la tabla de verdad lo
hace poco asumible para fbfs con un elevado numero de variables proposicionales. Debemos pues disponer
de otro metodo. Tal metodo, como veremos, elude la construccion de tablas de verdad y consiste en la
aplicacion sistematica de las leyes de la logica clasica proposicional que ya conocemos.
Teorema 3.4 Para toda fbf, A Lprop , existen una forma normal disyuntiva restringida, A1 y una forma
normal conjuntiva restringida, A2 , tales que
A A1 A2
: El teorema de equivalencia nos asegura que, dada una fbf arbitraria, A, podemos obtener
D EMOSTRACI ON
a partir de A una fndr o una fncr equivalente, realizando en cada paso una de las siguientes transformaciones
de equivalencia y en el siguiente orden:
1. Eliminacion de la conectiva , mediante la transformacion de equivalencia:
A B (A B) (B A)

(para las fncrs)

A B (A B) (A B) (para las fndrs)


2. Eliminacion de la conectiva , mediante la transformacion de equivalencia: A B A B.

3.3. FORMAS NORMALES

71

3. Transmision de las negaciones a las fbfs atomicas, mediante las transformaciones de equivalencia:
(A B) A B, (A B) A B y A A.
4. Aplicacion, cuantas veces sea posible, de la ley distributiva generalizada de respecto a (para las
fndrs) o de respecto a (para las fncrs).
5. Aplicacion, cuantas veces sea posible, de las leyes correspondientes (para , o para ) de idempotencia, de complementacion, de cero y uno y de absorcion para obtener las formas normales restringidas.
Despues de realizar los pasos 1) y 2), se obtiene una fnn.
Ejemplo 3.11 Dada la fbf A = (p (q r)) (r (p s)), mostramos como obtener una expresion
equivalente en fndr.

(p (q r)) (r (p s))

(p (q r)) (r (p s))

(p (q r)) (r (p s))

p (q r) (r (p s))

p ( q r) (r (p s))

p (q r) (r (p s))
p (q r) (r p) (r s)

eliminacion de
eliminacion de
Ley de De Morgan
Ley de De Morgan
Doble negacion

Distributiva

El uso de las leyes distributivas en los metodos que acabamos de describir nos indican que el metodo
que acabamos de describir tiene complejidad exponencial en el peor caso.
Podamos haber intuido este resultado negativo, ya que no cabe duda que el problema de satisfacibilidad
para fnds tiene complejidad lineal. En consecuencia, despues de lo que sabemos sobre el problema SAT,
podemos asegurar que no existe algoritmo eficiente para transformar una fbf en una fnd equivalente.
En la seccion siguiente describimos un metodo eficiente para, dada una fbf, A, obtener una fnc, A que,
si bien no es equivalente a A si es equisatisfacible, es decir,
A es satisfacible si y solo si A es satisfacible
esta propiedad, como veremos mas adelante nos basta para considerar tal transformacion de gran utilidad en
la busqueda de demostradores automaticos en la logica clasica proposicional.
3.3.2.1.

Transformacion de Tseitin

Esta transformacion convierte una formula, A, en una fnc equisatisfacible con solo un aumento lineal en
tamano. Para ello:
1. Introduce una nueva variable pi para cada subformula, Bi , no atomica de A,
2. Si la subformula Bi de A es de la forma Bi = Bi1 Bi2 , donde {, }, establece que pi
(pi1 pi2 ).
3. Convierte pi (pi1 pi2 ) en f nc equivalente en el modo estandar, es decir,
pi (pi1 pi2 ) (pi pi1 ) (pi pi2 ) (pi pi1 pi2 )

CAPITULO
3. LOGICA
PROPOSICIONAL

72

pi (pi1 pi2 ) (pi pi1 pi2 ) (pi pi1 ) (pi pi2 )


As pues, dada la fbf, A, sea p1 la variable proposicional introducida asociada a ella y Sub(A) el conjunto
de sus subformulas. Entonces, introducimos la formula
^
p1
F N C(pi pi1 pi2 )
pi =(pi1 pi2 )Sub(A)

donde pi es la variable proposicional introducida asociada a la subformula Bi Sub(A) y, en la que por


abuso de notacion, hemos identificado pi con Bi al expresar Bi Sub(A).
Cada expresion pi pi1 pi2 contiene a lo sumo tres variables proposicionales y dos conectivas, por lo
tanto el tamano de esta fbf en f nc, F N C(pi pi1 pi2 ) estara acotada por una constante.
La demostracion de que es equisatisfacible se realiza de forma estandar por induccion sobre el grado de
A. Ademas se puede comprobar que ni se pierden ni se anaden modelos.
Ejemplo 3.12 Consideremos la fbf A = (p (q r)) s
Incorporamos en su a rbol sintactico las nuevas variables proposicionales asociadas a cada una de sus
subformulas y obtenemos el a rbol
(p1 )

(p2 )

(p3 )

Introducimos las fbfs:


p1 (p2 s)

(p1 (p2 s)) ((p2 s) p1 )


(p2 (p2 s) (p2 s p1 )
(p1 p2 ) (p1 s) (p2 s p1 )

p2 (p p3 )

(p2 (p p3 ) ((p p3 ) p2 )
(p2 p p3 ) ((p p3 ) p2 )
(p2 p p3 ) (p p2 ) (p3 p2 )

p3 (q r)

(p3 (q r)) ((q r) p3 )


(p3 (q r)) (q r p3 )

(p3 q) (p3 r) (q r p3 )

As pues, obtenemos
p1 (p1 (p2 s)) (p2 (p p3 )) (p3 (q r))
que nos proporciona la FNC

3.4. PROPIEDAD DE COMPACIDAD


p1

73

(p1 p2 ) (p1 s) (p2 s p1 )


(p2 p p3 ) (p p2 ) (p3 p2 )
(p3 q) (p3 r) (q r p3 )

Terminamos esta seccion resumiendo lo que hemos expuesto

Toda fbf puede ser convertida a fnc equivalente en tiempo y espacio


exponencial con el mismo conjunto de variables proposicionales y
en tiempo y espacio lineal si se a
naden nuevas variables a fnc equisatisfacib

3.4. Propiedad de Compacidad


En la definicion de satisfacibilidad de un conjunto de fbfs, , no hemos puesto restriccion al cardinal
de . Puesto que Lprop es infinito numerable, el conjunto Lprop puede ser tambien infinito numerable
(es decir, || = 0 ). Podramos preguntarnos cual es la utilidad practica de considerar conjuntos infinitos
de fbfs. En efecto, nuestro interes al estudiar la logica proposicional esta en razonamientos con un conjunto
finito de hipotesis y nunca nos vamos a encontrar con la necesidad de analizar la satisfacibilidad de un conjunto infinito de fbfs. Sin embargo, cuando estudiemos la logica de predicados de primer orden, podremos
comprobar que el analisis de la satisfacibilidad de un conjunto finito de fbfs de la logica de primer orden
se reduce a analizar la satisfacibilidad de un conjunto posiblemente infinito numerable de fbfs de la logica
proposicional.
La satisfacibilidad de un conjunto infinito de fbfs viene caracterizada por el conocido Teorema de Compacidad.
Recordemos que un conjunto de fbfs se dice finitamente satisfacible si todos sus subconjuntos finitos son satisfacibles.
Definicion 3.21 Un conjunto de fbfs finitamente satisfacible, , se dice maximal si para cada fbf, A, se
tiene que o bien A o bien A .

r r Toda interpretacion, I I, determina de forma natural un conjunto finitamente satisfacible y maximal,


denotado I , definido por
A I si y solo si I(A) = 1
La inversa de esta propiedad es de gran interes y nos la asegura la siguiente proposicion:

Proposicion 3.5 Todo conjunto finitamente satisfacible maximal tiene un y solo un modelo.
: Sea un conjunto finitamente satisfacible maximal. Puesto que es maximal, para todo
D EMOSTRACI ON
p Vprop se tiene que p o bien p . Definimos la interpretacion I como sigue
I (p) = 1

si y solo si

Veamos en primer lugar que I Mod(). Sea A y denotemos:


+
+ = {p Vprop | p ocurre en A} y +
1 =

= {p | p + } y
1 =

CAPITULO
3. LOGICA
PROPOSICIONAL

74

Se tiene pues que +


otesis,
1 1 {A} y es finito (ya que Vprop (A) es finito). Por lo tanto, por hip

se
tiene
que
y

es satisfacible. Ademas, por la construccion de +


1
1

Mod(+
1 1 {A}) = Mod(1 1 )

a
En efecto, cualquier modelo I de +
1 1 puede extenderse de manera natural a un modelo de , que ser
,
por
tanto,
la
restricci
o
n
tambien un modelo de A, ya que A . Los a tomos que componen A estan en +
1

de dicho modelo a I evalua A y es un modelo de +


1 1 A.

Ahora, puesto que I Mod(+


1 1 ), se tiene que I (A) = 1 y puesto que A es una fbf cualquiera
de , se tiene que I Mod().

Veamos que Mod() = {I }. En efecto, sea I Mod(). Dada una variable proposicional cualquiera, tenemos que
Si p , entonces I (p) = I (p) = 1
Si p 6 , puesto que es maximal, p y, en consecuencia, I (p) = I (p) = 0.
Por lo tanto, I = I .
Como consecuencia de esta proposicion, tenemos el siguiente teorema:
Teorema 3.5 (de Compacidad) Un conjunto de fbfs, , es satisfacible si y solo si es finitamente satisfacible.
Equivalentemente, un conjunto de fbfs es insatisfacible si y solo si contiene un subconjunto finito
insatisfacible.
: Si es satisfacible, se tiene que, obviamente, es finitamente satisfacible.
D EMOSTRACI ON
Inversamente, supongamos que es finitamente satisfacible. Sea A1 , A2 , . . . , An . . . una enumeracion
de todas las fbfs del lenguaje Lprop . 19 Construimos la siguiente sucesion de subconjuntos de fbfs:
1. 0 =
2. Para todo n 1, si n {An } es finitamente satisfacible, entonces, n+1 = n {An } y en caso
contrario n+1 = n {An }
Ahora, es inmediato comprobar que n es finitamente satisfacible para todo n:
0 es finitamente satisfacible por hipotesis.
Supongamos que n es finitamente satisfacible y veamos que n+1 lo es.
- si n+1 = n {An } el resultado es cierto, por construccion;
- si n+1 = n {An }, entonces existe un subconjunto finito de n tal que {An } es
insatisfacible. Sea un subconjunto finito cualquiera de n+1 . Por la hipotesis de induccion,
se tiene que ( ) \ {An } n es satisfacible.
19

Recordemos que Lprop es infinito numerable, es decir, |Lprop | = 0


3.5. CONSECUENCIA LOGICA

75


Sea I Mod ( )\{An } . Puesto que {An } es insatisfacible, se tiene que I(An ) =
0; por lo tanto, I(An ) = 1 y, en consecuencia,
I Mod( {An }) Mod( )
Puesto que es un subconjunto finito cualquiera de n+1 , tenemos demostrado que n+1 es
finitamente satisfacible.
S
Construyamos = n n . Este conjunto es finitamente satisfacible maximal, ya que todo subconjunto
finito de es un subconjunto de n para algun n y, por lo tanto satisfacible. Finalmente, es claro que
Mod() Mod().

r r El Teorema de Compacidad nos advierte que no existe ningun conjunto infinito de fbfs insatisfacible tal
que cualquier subconjunto finito suyo sea satisfacible.

3.5. Consecuencia Logica


En esta seccion estudiamos el concepto que, como hemos venido repitiendo, es nuestro objetivo fundamental: conocer cuando un enunciado de la logica proposicional es consecuencia de otros. Se trata, como
en el caso general, del concepto de consecuencia logica.
Definicion 3.22 Sea un conjunto de fbfs, Lprop , y sea una fbf, C Lprop . Se dice que C es
consecuencia l
ogica, se deduce o se deriva sem
anticamente de , denotado |=
C, si
Mod() Mod(C)
es decir, si para toda interpretacion, I ILprop se tiene que, si I(Ai ) = 1 para toda fbf Ai entonces
tambien se tiene que I(C) = 1. En definitiva, no es posible que todas las fbfs de sean verdaderas y C sea
falsa.
En la definicion, puede no ser finito. No obstante se tiene el siguiente resultado que es una version
equivalente del teorema de compacidad.
Teorema 3.6 Sea un conjunto de fbfs, Lprop , y sea una fbf, C Lprop . Entonces, |= C si y solo si
existe un subconjunto finito 0 de tal que 0 |= C.
Si = {A1 , A2 , . . . , An }, es costumbre expresarlo:
A1 , A2 , . . . , An |= C en lugar de |= C
y denominar a las fbfs Ai premisas o hipotesis y a la fbf C conclusion.
Comencemos destacando algunas propiedades de la relacion de consecuencia semantica, |=, que se
obtienen de modo inmediato a partir de la definicion.
Teorema 3.7 Sea un conjunto de fbfs.

CAPITULO
3. LOGICA
PROPOSICIONAL

76

1. Si es insatisfacible, entonces se tiene que |= A para toda fbf A. 20


2. es insatisfacible si y solo si |= .
3. Si A es una fbf valida, entonces se tiene que |= A para todo conjunto de fbfs . 21
4. Si es un conjunto de fbfs validas y |= C, entonces C tambien es valida.
5. |= C si y solo si {C} es insatisfacible.
6. Supongamos que es finito, = {H1 , H2 , . . . , Hn }. Entonces:
6.1 H1 , H2 , . . . , Hn |= C si y solo si |= (H1 H2 . . . Hn ) C.
6.2 H1 , H2 , . . . , Hn |= C si y solo si {H1 , H2 , . . . , Hn } {C} es insatisfacible.
7. Propiedad reflexiva: |= A, para toda A
8. Propiedad de monoton
a: Si |= C y , entonces |= C.
9. Propiedad del Corte: Si |= A y , A |= B, entonces |= B
:
D EMOSTRACI ON
1. es insatisfacible si y solo si Mod() = , por lo tanto, Mod(A) sea cual sea A.
2. Es inmediato, ya que es insatisfacible si y solo si Mod() = = Mod().
3. Si A es valida, se tiene que Mod(A) = ILprop , por lo tanto, Mod() ILprop sea cual sea .
T
4. Si todas las formulas de = {Ai | i } son validas, se tiene que Mod() = i Ai = ILprop y
por lo tanto, si |= C, se tiene que Mod() = ILprop Mod(C) y, en consecuencia, Mod(C) =
ILprop , es decir, C es valida.
5. |= C si y solo si Mod() Mod(C) si y solo si Mod()cap(ILprop \ Mod(C) = si y
solo si Mod() Contramod(C) = si y solo si Mod() Mmod(C) = si y solo si
Mod( {C}) = si y solo si es {C} es insatisfacible.
6. 6.1 H1 , H2 , . . . , Hn |= C si y solo si, para toda interpretacion I ILprop se tiene que: si I(Hi ) = 1,
1 i n, entonces I(C) = 1 si y solo si, para toda interpretacion I ILprop se tiene que:
si I(H1 . . .n ) = 1, entonces I(C) = 1 si y solo si, para toda interpretacion se tiene que: si
I( (H1 H2 . . . Hn ) C) ) = 1.
6.2 Por el item anterior H1 , H2 , . . . , Hn |= C si y solo si, para toda interpretacion I ILprop se
tiene que: si I(Hi ) = 1, 1 i n, entonces I(C) = 1 si y solo si: si I(Hi ) = 1, 1 i n,
entonces I(C) = 0 y, por lo tanto, si y solo si {H1 , H2 , . . . , Hn } {C} es insatisfacible.
7. Si I es un modelo de , I asigna el valor 1 a todas las fbfs de A y, en particular a A.
8. Es inmediato, ya que si se tiene que Mod( ) Mod() y por lo tanto, si |= C, es decir,
si Mod() Mod(C), tambien se tiene que Mod( ) Mod(C).
20

El resultado nos advierte que de una inconsistencia se deriva cualquier afirmacion. De aqu que tendremos que asegurarnos
(si deseamos realizar razonamientos de interes) de que el conjunto de hipotesis es satisfacible
21
En consecuencia, nuestro interes estara en las conclusiones no validas


3.5. CONSECUENCIA LOGICA

77

9. Tenemos que comprobar que Mod() Mod(B): para ello, basta tener en cuenta que
por la hipotesis |= A, se tiene que Mod() Mod(A) y por lo tanto, se tiene que Mod()
Mod(A) = Mod()
por la hipotesis , A |= B, se tiene que Mod( {A}) Mod(B)
Ahora bien, Mod( {A}) = Mod() Mod(A) y , por el primer item:
Mod( {A}) = Mod() Mod(A) = Mod()
Por lo tanto, el segundo item nos asegura que Mod() Mod(B).

r r Al igual que hicimos al destacar la diferencia entre la conectiva (el cual es un smbolo del lenguaje) y el metasmbolo (que expresa la equivalencia logica), es importante que ahora insistamos en la
diferencia que existe entre el conectivo , que no hace referencia a ninguna relacion causal entre las
fbfs que conecta, y el metasmbolo |=. Cuando afirmamos A |= B, estamos usando el metalenguaje para
expresar que si el enunciado representado por A es verdadero, podemos asegurar que tambien es verdadero el enunciado representado por B. Los smbolos y |= estan pues a niveles sintacticos distintos.
Sin embargo, entre el metasmbolo (|=) y el conectivo () existe la siguiente relacion:
A |= B

si y solo si

|= A B

En definitiva, A |= B o, equivalentemente |= A B o, equivalentemente, Mod(A) Mod(B), nos


indica que la informacion de B esta implcita en la informacion de A, o bien que A es m
as fuerte
que B.

Por u ltimo, es inmediato comprobar el siguiente teorema:


Teorema 3.8 Las fbfs A y B son logicamente equivalentes si y solo si A |= B y B |= A

CAPITULO
3. LOGICA
PROPOSICIONAL

78

3.6. Ejercicios
1. Formalice las siguientes frases: 22
a) Si o bien dimiten tanto el primer embajador como el segundo embajador o bien el primer embajador ni dimite ni compromete al encargado de negocios, en cualquier caso el segundo embajador
dimitira si, y solamente si, el primer embajador compromete al encargado de negocios.
b)

- Si el paciente tiene rubeola, tiene fiebre.


- Si el paciente tiene hepatitis, pero no tiene rubeola, tiene la piel amarilla.
- Si el paciente tiene fiebre o tiene la piel amarilla, tiene hepatitis o tiene rubeola.

2. Defina recursivamente: el numero de parentesis de una formula, el numero de conectivas binarias de


una formula y el numero de a tomos de una formula.
3. Demuestre, haciendo uso del Principio de Induccion Estructural, que toda fbf tiene un numero par de
parentesis.
4. Demuestre por induccion estructural que, para toda fbf, A, se tiene que pr(A) gr(A).
5.

23

Supongamos que se nos entregan ocho tarjetas que poseen la siguiente caracterstica: todas ellas
tienen dibujado por una cara un triangulo y por la otra cara un crculo, de tal modo que si la cara
visible de una tarjeta muestra un triangulo, podemos tener la certeza de que habra un crculo por la
otra cara y viceversa. Ahora bien, tanto los triangulos como los crculos pueden ser de dos colores:
rojos o azules. Y aqu ya no hay seguridad: por ejemplo, si en una cara de una tarjeta aparece dibujado
un triangulo rojo, sabemos que en la otra cara hay necesariamente un crculo, pero no sabemos si ese
crculo es rojo o azul.
Supongamos ahora que de esas ocho tarjetas se eligen cuatro. Esas cuatro tarjetas tienen en sus caras
visibles estas cuatro figuras: un triangulo rojo, un crculo rojo, un triangulo azul y un crculo azul. Para
cada uno de las siguientes afirmaciones, cual sera el numero mnimo de tarjetas de las que habra que
conocer su cara no visible para poder contestar si es o no verdadera?:
- En todas las tarjetas hay un triangulo rojo y un crculo azul.
- En todas las tarjetas hay un triangulo rojo o un crculo azul.
- En todas las tarjetas donde hay un triangulo rojo hay un crculo azul.
- Solamente hay un crculo azul en aquellas tarjetas en las que hay un triangulo rojo.

6. Exprese en terminos de , , la conectiva ternaria cuya tabla de verdad es


22
23

W. Quine. Methods of logic. Henry Holt, 1950.


A. Deano. Introduccion a la logica formal. Alianza Universidad, 1974.

3.6. EJERCICIOS

79
A
1
1
1
1
0
0
0
0

B
1
1
0
0
1
1
0
0

C
1
0
1
0
1
0
1
0

(A, B, C)
1
1
0
0
0
1
1
0

7. Pruebe que no es definible en terminos de {, }.


8. Demuestre que no es definible en terminos de {, }.
9. Demuestre que todas las conectivas proposicionales son expresables en terminos de y .
10. Pruebe que los u nicos conjuntos unitarios adecuados de conectivas son {|} (| se lee Nand o barra
de Scheffer) y {} ( se lee Nor o flecha de Peirce) cuya semantica viene dada, respectivamente,
por las funciones b9 y b14 de la tabla dada en la seccion 3.2.2.
11. Sea el conectivo o exclusivo. Probar que {, , } es un conjunto adecuado.
12. Exprese la formula (p q) (r s) de manera equivalente usando los siguientes conjuntos
adecuados de conectivas {, }, {, } y {, }.
13. Cual es la relacion semantica entre A (B C) y (A B) C?
14. Sea A una fbf. Pruebe que si A es una tautologa entonces A tiene al menos una ocurrencia de .
15. Demuestre que si A es una formula en la que no aparece el smbolo de negacion, entonces A es
satisfacible.
16. Dada una fbf satisfacible, A, razone si son o no ciertas cada una de las siguientes afirmaciones:
a) A es valida,
b) A es satisfacible,
c) A es insatisfacible.
17. Demuestre las siguientes Leyes:
a) De Distribucion de respecto a y :
(A (B C)) (A B) (A C)
(A (B C)) (A B) (A C)
b) ((A B) C) (A (B C))
c) ((A B) A) B
d) ((A B) A) B
e) ((A B) A) B
f ) ((A B) B) A

CAPITULO
3. LOGICA
PROPOSICIONAL

80
g) ((A B) (A B)) A
h) (A (B B)) A

18. Pruebe que para todo n N existe un conjunto de fbfs de cardinal n, tal que satisface (simultaneamente) las dos condiciones siguientes:
a) es insatisfacible.
b) Todo subconjunto de de cardinal n 1 es satisfacible.
19. Demuestre que
a) Si es satisfacible, entonces:
1)
2)
3)
4)

Si se elimina una de sus fbfs, entonces el conjunto resultante es satisfacible,


Si se le anade una fbf valida, el conjunto resultante es satisfacible,
Si se le anade una contradiccion, el conjunto resultante es insatisfacible,
Si se le anade una fbf satisfacible no se puede asegurar que el conjunto resultante sea satisfacible.

b) Si es insatisfacible, entonces:
1) Si se le anade una fbf arbitraria, entonces el conjunto resultante es insatisfacible,
2) Si se elimina de entre sus fbfs una fbf valida (si la hubiera), el conjunto resultante es insatisfacible,
3) Si se elimina una fbf arbitraria no valida, no se puede asegurar que el conjunto resultante
sea insatisfacible.
20. Un conjunto, , de fbfs se dice minimal insatisfacible si es satisfacible y todos sus subconjuntos
propios son satisfacibles, Determine cuales de los siguientes conjuntos son minimal insatisfacibles;
a) {p q, p r, p q, r},
b) {p q, p r, q r, p},
c) {p q, p r, q r, p}.
Pruebe que todo conjunto tiene un subconjunto minimal insatisfacible.
21. Probar que todo conjunto minimal insatisfacible es finito.
22. Determine los modelos y contramodelos de la formula A = (p q) (p q). Es satisfacible la
formula A? Es valida la formula A?
23. Determine los modelos y contramodelos de la formula A = (p q) (p q) Es satisfacible
la formula A? Es valida la formula A?
24. Sea I un conjunto de interpretaciones. Conteste razonadamente si existe una fbf A tal que
Mod(A) = .
25. Construya, si es posible: (a) una formula bien formada que NO sea valida; (b) una formula bien
formada que SI sea valida; (c) una formula valida que NO sea bien formada.

3.6. EJERCICIOS

81

26. Construya, si es posible: (a) una formula satisfacible que NO sea valida; (b) una formula satisfacible
que SI sea valida; (c) una formula valida que NO sea satisfacible.
27. Determine si son insatisfacibles, satisfacibles o validas las siguientes formulas:
(p q) p, (p q) (q p), (p q) (q p), (p q) (p r), (p q) (p q)
28. Determine si son satisfacibles o insatisfacibles los siguientes conjuntos de formulas:
{p q, (p q)},

{p q, (p q) p},

{p, q, p q},

{p, q, p q}

29. Escriba cinco formulas con tres variables proposicionales distintas y grado mayor que cinco. Diga
cuales son insatisfacibles, cuales son satisfacibles y cuales son validas.
30. Demuestre el principio de Dualidad: Sean A, B fbfs que solo contiene las conectivas , y . Entonces:
a) |= A si y solo si |= dual(A)
b) A B si y solo si dual(A) dual(B)
31. Dadas las siguientes fbfs:
pq
(p q) (r s)
(p q) ((q (r ((r s) p))) r)
((p q) r) (p r)
(p (q r)) ((p s) r)
(p (q r)) ((p q) (p r))
(p (q r)) ((q r) ((p q) (p r)))
p (((r s) (r s)) (p q))
p ((p q) ((q r) s))
(p (q r)) ((q r) (r|p))
Obtenga fnds y fncs equivalentes a cada una de ellas.
32.

24

Supongamos que un poltico declara en la prensa:


Si los impuestos suben, la inflacion bajara si y solo si el euro no se devalua

para posteriormente, decir en un informativo de una cadena televisiva:


Si la inflacion baja o el euro no se devalua, los impuestos no subiran
y despues afirmar en el Congreso:
o bien baja la inflacion y se devalua el euro, o han de subir los impuestos
24

R. Korfhage. Logica y Algoritmos. Limusa-Wiley, 1970.

CAPITULO
3. LOGICA
PROPOSICIONAL

82

Nuestro poltico publica luego un informe en el que, tras reiterar las afirmaciones anteriores, saca de
ellas la siguiente conclusion:
Los impuestos deben subir, pero la inflacion no bajara y el euro no se devaluara
Es valido su razonamiento?
33.

25

Pruebe si es o no valido el siguiente razonamiento:


Si ha escapado Moriarty, entonces o Holmes ha claudicado o Watson sigue con el asunto.
Watson sigue con el asunto. Holmes no ha claudicado a no ser que Moriarty haya escapado.
Por lo tanto, Moriarty ha escapado si y solo si Holmes ha claudicado.

34. En una isla hay dos tribus, la de los veraces (que siempre dicen la verdad) y la de los mentirosos (que
siempre mienten). Un viajero se encuentra con tres islenos A, B y C y cada uno le dice una frase:
a) A dice: B y C son veraces si y solo si C es veraz
b) B dice: Si A y C son veraces, entonces C y yo somos veraces y A es mentiroso
c) C dice: B es mentiroso si y solo si A es veraz o B es veraz
Determine a que tribu pertenecen A, B y C.
35. Determine los modelos y contramodelos del conjunto = {p p, p r, q r}. El conjunto
es satisfacible? Es correcta la inferencia |= q? Es correcta la inferencia |= r?
36. Un conjunto de fbfs, , en el que solo intervienen las conectivas , y se dice saturado si satisface
las siguientes condiciones: para cualesquiera fbfs, A y B se tiene que
A si y solo si A 6 ,
A B si y solo si A y B ,
A B si y solo si A o B .
Demuestre que,
(i) dada una interpretacion I I el conjunto {A Lprop | I(A) = 1} es saturado.
(ii) dado un conjunto saturado, , existe una interpretacion I I tal que = {A Lprop | I(A) =
1}.
(iii) |= A si y solo si A pertenece a todo superconjunto de saturado.
37. Calcule Mod() y caracterice el conjunto consecuencia semantica de , es decir, el conjunto {C
L | |= C}.
38. Demuestre que si es un conjunto de fbfs y A, B y C son fbfs se tiene:
a) |= B C si y solo si |= B y |= C.
b) Si {A} |= B, entonces |= A B.
c) {A, A B} |= B.
25

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

3.6. EJERCICIOS

83

d) A |= A B y B |= A B. El recproco es falso.
e) Si {A} |= C y {B} |= C entonces {A B} |= C.
f ) Si B y {A} |= B entonces |= A.
g) Pruebe que |= A sii {A} es insatisfacible
h) Usando el resultado anterior, pruebe que {B A, A C, B C} |= C
39. Demuestre que si y son conjuntos de fbfs y A y B son fbfs se tiene que:
a) Si |= A y |= A B, entonces |= B.
b) Si |= A A entonces, para toda fbf C se tiene que \ {C} |= C.
40. Pruebe que para fbfs cualesquiera A y B se tiene:
a) A B si y solo si A |= B y B |= A.
b) A B si y solo si para toda fbf C: A |= C sii B |= C.
41. Dadas dos fbfs cualesquiera, A y B, decimos que A es mas fuerte que B si |= A B Conteste
razonadamente a las siguientes preguntas:
a) Existe una fbf mas fuerte que todas las demas?
b) Existe una fbf mas debil que todas las demas?
42. Razone sobre la veracidad de las siguientes afirmaciones:
a) Si una formula no es valida, su negacion s lo es.
b) Si una formula no es satisfacible, su negacion s lo es.
c) Si una formula no es consecuencia de un conjunto de formulas, su negacion s lo es.
d) Si una formula no es consecuencia de un conjunto de formulas, su negacion tampoco.
e) Si un conjunto de formulas es satisfacible, cada elemento del conjunto tambien es satisfacible.
f ) Si cada elemento de un conjunto de formulas es satisfacible, el conjunto tambien es satisfacible.
g) Si |= A, es posible que exista tal que 6|= A.
h) Si 6|= A, es posible que exista tal que |= A.
43. Un conjunto de fbfs se dice independiente si, para toda fbf A , se tiene que \ {A} 6|= A.
a) Pruebe que para todo conjunto finito existe un subconjunto 0 independiente tal que para toda
fbf A , se tiene que 0 |= A.
b) Sea {A1 , A2 , . . . , An , . . .} una enumeracion de los elementos de . Encuentre una sucesion de
fbfs , = {B1 , B2 , . . . , Bn , . . .}, tal que:
1) y son equivalentes, es decir, |= Bi y |= Ai para todo i.
2) |= Bi+1 Bi y 6|= Bi Bi+1 para todo i.
3) Dada la sucesion obtenida en (ii), definimos C1 = B1 y Ck = Bk1 Bk para todo
k > 1. Pruebe que = {C1 , C2 , . . . , Cn . . .} es independiente y equivalente a .
4) Pruebe que todo conjunto infinito numerable de fbfs , es equivalente a un conjunto independiente.

84

CAPITULO
3. LOGICA
PROPOSICIONAL

Captulo 4

Teora de la Demostracion para la Logica


Proposicional

Indice
4.1. Un Sistema Axiomatico para la Logica Proposicional . . . . . . . . . . . . . . . . . . 86
4.1.1. El Sistema de ukasiewicz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
4.1.2. Correccion y Completitud de . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.1.3. Independencia de los Axiomas de . . . . . . . . . . . . . . . . . . . . . . . . . 96
4.2. Deduccion Natural . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.3. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

En el captulo anterior hemos estudiado el lenguaje y la semantica de la logica proposicional. En este


captulo estudiaremos el tercer aspecto destacado por Martin-Lof: la teora de la demostracion.
Como punto de partida, destaquemos que, dada una logica, es decir, un lenguaje L y una teora de modelos, (S, D, I) para L, existen, en general, diversos sistemas de demostracion para tal logica, que podemos
agrupar en dos grandes bloques:
Sistemas de deduccion.
Sistemas de refutacion.
En un sistema de deduccion, la verificacion de una formula (o de una inferencia) se realiza directamente, mediante lo que podramos llamar mecanismos de razonamiento hacia adelante. Estos mecanismos
conducen desde las hipotesis a la formula que deseamos inferir.
En un sistema de refutacion, por el contrario, se realiza un razonamiento hacia atr
as, en el
siguiente sentido: se hace uso de la conexion entre los conceptos semanticos de validez e insatisfacibilidad.
Concretamente, se hace uso de la conexion establecida por las dos equivalencias siguientes:
A es valida si y solo si A es insatisfacible
|= A si y solo si {A} es insatisfacible
85

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

86

As pues, en los sistemas de refutacion, se verifica la formula (o la inferencia), intentando refutar la


negacion de la formula (o el conjunto de las hipotesis y la negacion de la conclusion).
Los tipos mas destacados de sistemas de deduccion son los denominados:
Sistemas axiomaticos (o sistemas de tipo Hilbert).
Sistemas de deduccion Natural.
En este captulo estudiaremos un sistema axiomatico y un sistema de deduccion natural para la logica clasica
proposicional.

4.1. Un Sistema Axiomatico para la Logica Proposicional


Como detacamos en el segundo captulo, deseamos caracterizar la validez semantica y la consecuencia logica en terminos puramente sintacticos. Es decir, deseamos saber si una fbf es valida o bien si un
razonamiento es valido sin recurrir a la busqueda de modelos.
Sabemos que las tablas de verdad nos permiten mostrar que una determinada fbf es una tautologa
o que un razonamiento es valido. Un sistema axiomatico nos permite explicitar como y por que lo es,
demostrando como se obtiene tal tautologa o bien como se llega a la conclusion C a partir de las
hipotesis, mediante reglas de transformacion.
Como hemos visto en el Captulo 2 (al describir el sistema MIU), un sistema axiomatico para un lenguaje
logico L consiste en:
Un conjunto de fbfs de L llamadas axiomas, y
Un conjunto finito de relaciones de la forma A1 , A2 , . . . , An A llamadas, reglas de inferencia,
donde Ai (1 i n) y A representan fbfs de L.
A partir de los axiomas y usando las reglas de inferencia, obtenemos fbfs llamadas teoremas.
Si A1 , A2 , . . . , An A es una regla de inferencia, es costumbre decir que la fbf A es una consecuencia
directa de las fbfs Ai (1 i n).
Dos sistemas axiomaticos S y S para un lenguaje logico, L, se dicen equivalentes si el conjunto de
teoremas de S coincide con el conjunto de teoremas de S . En particular, si suponemos que ambos tienen las
mismas reglas de inferencia, entonces S y S son equivalentes si y solo si todo axioma de S es un teorema
de S y todo axioma de S es un teorema de S.
Entre los diversos sistemas axiomaticos equivalentes para la logica clasica proposicional, hemos escogido uno de los mas usados, debido a ukasiewicz, 1 al que denotaremos .
1

E. Mendelson. Introduction to Mathematical Logic. Wadsworth & Brook/Cole, third edition, 1987.

4.1. UN SISTEMA AXIOMATICO


PARA LA LOGICA
PROPOSICIONAL

87

4.1.1. El Sistema de ukasiewicz


Este sistema considera como conectivas primitivas la negacion () y la implicacion material (). Su
conjunto de axiomas es el siguiente:
Ax.1: A (B A)
Ax.2: (A (B C)) ((A B) (A C))
Ax.3: (A B) (B A)
Existe una u nica regla de inferencia llamada modus ponens (abreviadamente MP)
MP: A, A B B
Puesto que A, B y C son metasmbolos (que representan fbfs), los axiomas Ax.1, Ax.2 y Ax.3 no son
axiomas en el sentido estricto del termino, sino esquemas de axiomas. Por lo tanto, el conjunto
de axiomas es un conjunto numerable de fbfs, el cual se ha especificado mediante un conjunto finito de
esquemas de axiomas.
Definicion 4.1 Una fbf A se dice que es un teorema de , si existe una secuencia finita de fbfs, A1 , A2 , . . . , An ,
tal que:
1. Cada Ai (1 i n) es un axioma o es obtenida mediante la aplicacion de la regla de inferencia
MP a dos fbfs anteriores en la secuencia.
2. An es A.
La secuencia A1 , A2 , . . . , An se dice es una demostraci
on de A. Obviamente, todo axioma es un teorema cuya demostracion se reduce a una secuencia con e l como u nico elemento.
Definicion 4.2 Dado un conjunto, , de fbfs, se dice que A es deducible o derivable en desde ,
denotado A, si existe una secuencia finita de fbfs, A1 , A2 , . . . , An , tal que:
1. Cada Ai (1 i n) es un axioma, una fbf de , o es obtenida de dos fbfs anteriores en la secuencia
mediante la aplicacion de la regla de inferencia MP.
2. An es A.
La secuencia, A1 , A2 , . . . , An , se dice que es una deducci
on o derivaci
on de A desde . Es obvio,
por definicion, que toda demostracion de una fbf A es una deduccion de A desde = , por ello se denota
A para expresar que A es un teorema.

r r Por las definiciones de demostraci


on, tenemos asegurado dos resultados de interes:
on y deducci
Si A1 , A2 , . . . , An es una demostracion de A, no solo An = A es un teorema, sino que los son
tambien todos los Ai con 1 i < n.
Teorema de Finitud: Si A, entonces existe un subconjunto finito tal que
A (las fbfs de de las que consta una deduccion de A a partir de ).
a Si A y , entonces A (basta considerar la deduccion
Teorema de Monoton
de A a partir de , que tambien es una deduccion de A a partir de ).

88

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL
En el siguiente ejemplo probamos que A A y B (B A) son teoremas de .

Ejemplo 4.1
- Una demostracion de A A es:
1. A ((A A) A)

Ax.1

2. (A ((A A) A)) ((A (A A)) (A A))

Ax.2

3. (A (A A)) (A A)
4. A (A A)

MP(1,2)
Ax.1

5. A A

MP(3,4)

- Una demostracion de B (B A) es:


1. (A B) (B A)

Ax.3

2. ((A B) (B A)) (B ((A B) (B A)))

Ax.1

3. B ((A B) (B A))
4. (B ((A B)

MP(1,2)
Ax.2

(B A))) ((B (A B)) (B (B A)))


5. (B (A B)) (B (B A))
6. B (A B)

MP(3,4)
Ax.1

7. B (B A)

MP(5,6)

El siguiente (meta)teorema acerca del sistema , debido a Jacques Herbrand, es de gran utilidad para
facilitar las deducciones y en particular las demostraciones.
Teorema 4.1 (de la deduccion) Para todo conjunto de fbfs, , y dos fbfs cualesquiera A y B:
Si {A} B, entonces A B
: Tenemos que demostrar que si existe una deduccion de B desde {A}, entonces
D EMOSTRACI ON
existe una deduccion de A B desde . Lo demostraremos por induccion sobre el numero n de fbfs de la
secuencia que constituye la deduccion de B desde {A}:
1. Si n = 1, tenemos tres posibilidades,
(i) B es un axioma de . En este caso, una deduccion de A B a partir de es:
1. B
2. B (A B)
3. A B

Ax.de
Ax.1
MP(1,2)

(ii) B . En este caso, una deduccion de A B a partir de es:


1. B
2. B (A B)
3. A B

de
Ax.1
MP(1,2)

4.1. UN SISTEMA AXIOMATICO


PARA LA LOGICA
PROPOSICIONAL

89

(iii) B = A. En este caso, A B = A A. Por lo tanto la demostracion para A A dada en el


ejemplo anterior es una deduccion de A A a partir de .
2. Supongamos ahora que el resultado es cierto para toda fbf para la que exista una deduccion de longitud
k < n. Es decir, la hipotesis de induccion es:
Dada una fbf arbitraria, C, si existe una deduccion de longitud k < n de X desde {A},
entonces existe una deduccion de A X desde .
y debemos demostrar que
Si existe una deduccion de longitud n de B desde {A}, entonces existe una deduccion
de A B desde .
En este caso tenemos cuatro posibilidades: las tres primeras son que B sea un axioma de , o que
B o que B = A, y podemos obtener las deducciones de A B a partir de como en el
caso n = 1. La cuarta posibilidad consiste en que B haya sido obtenida de dos fbfs anteriores en la
secuencia, mediante la aplicacion de MP. Por lo tanto, estas dos fbfs tendran la forma C y C B
para alguna fbf C. Supongamos que la deduccion de B desde {A} es la siguiente:
(1) . . .

...

(. . . ) . . .

...

(m) C

...

(. . . ) . . .

...

(k) C B

...

(. . . ) . . .

...

(n) B

MP(m, k)

Se tiene pues que la secuencia (1), . . . , (m) es una deduccion de C a partir de {A} de longitud
m < n, y la secuencia (1), . . . , (k) es una deduccion de C B a partir de {A} de longitud
k < n. Por lo tanto, por la hipotesis de induccion, existen deducciones de A C a partir de y de
A (C B) a partir de ; sean estas deducciones:
(1) . . .

...

(. . . ) . . .

...

(n1 ) A C

...

y
(1) . . .

...

(. . . ) . . .

...

(n2 ) A (C B)

...

La deduccion buscada de A B a partir de es:

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

90

(1) . . .

...

(. . . ) . . .

...

(n1 ) (A C)

...

(1) . . .

...

(. . . ) . . .

...

(n2 ) A (C B)

...

(n1 + n2 + 1) (A (C B)) ((A C) (A B))

Ax. 2

(n1 + n2 + 2) (A C) (A B)

MP (n2 , n1 + n2 + 1)

(n1 + n2 + 3) (A B)

MP (n1 , n1 + n2 + 2)

El recproco del teorema de la deduccion es inmediato:


Teorema 4.2 Para todo conjunto de fbfs, se tiene que:
Si A B, entonces {A} B
: Si tenemos una deduccion de A B a partir de ,
D EMOSTRACI ON
(1) . . .

...

(. . . ) . . .

...

(n1 ) A B

...

entonces obtenemos la siguiente deduccion de B a partir de {A}


(1) . . .

...

(. . . ) . . .

...

(n1 ) A B

...

(n1 + 1) A

de {A}

(n1 + 2) B

MP (n1 , n1 + 1).

4.1. UN SISTEMA AXIOMATICO


PARA LA LOGICA
PROPOSICIONAL

91

r r Si analizamos la demostracion del metateorema de la deduccion, advertimos que las u nicas propiedades
de de las que hemos hecho uso son las siguientes:
1. Toda fbf del tipo A (B A) es un teorema de .
2. Toda fbf del tipo (A (B C)) ((A B) (A C)) es un teorema de .
3. MP es la u nica regla de inferencia.
Por lo tanto, en cualquier otro sistema axiomatico que satisfaga las tres propiedades anteriores, disponemos de este resultado.

El caso tpico, por extremo, donde se observa a simple vista la utilidad del metateorema de la deduccion es
el teorema A A, ya que es obvio que A A.
Un hecho destacable en el problema de la deduccion es la posibilidad de utilizar nuevas reglas de inferencia. Si A es deducible a partir de A1 , A2 , . . . , An entonces la relacion
A1 , A2 , . . . , An A
puede ser usada como nueva regla de inferencia o regla derivada en las deducciones.
En los siguientes ejemplos ilustramos el uso del metateorema de la deduccion para probar el segundo
teorema del ejemplo anterior y para establecer la regla derivada llamada Silogismo Hipot
etico (SH).
Ejemplo 4.2 Haciendo uso del metateorema de la deduccion tenemos que
B (B A) si y solo si B (B A) si y solo si {B, B} A
Por lo tanto, bastara encontrar una deduccion de A a partir de {B, B}:
1. B

Hip.

2. B (A B)

Ax.1

3. A B

MP(1,2)

4. (A B) (B A)

Ax.3

5. B A

MP(3,4)

6. B

Hip.

7. A

MP(5,6)

Ejemplo 4.3 Vamos a probar la validez en de la siguiente deduccion, llamada silogismo hipot
etico
{A B, B C} A C
Haciendo uso del metateorema de la deduccion,
{A B, B C} A C sii {A B, B C, A} C
Bastara encontrar una deduccion de C a partir de {A B, B C, A}:
1. A B

Hip.

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

92

2. B C

Hip.

3. A

Hip.

4. B

MP(1,3)

5. C

MP(2,4)

Ejemplo 4.4 Vamos a demostrar los siguientes teoremas en :


a) (A A) A
b) (A B) ((A B) A)
c) {A (B C), B} A C
d) A A
e) A A
f) (A B) (B A)
g) A (B (A B))
h) (A B) ((A B) B)
(a) Haciendo uso del metateorema de la deduccion,
(A A) A si y solo si {A A} A
1. A A

Hip.

2. A ((A A) A)

Ax.1.

3. ((A A) A) (A (A A))

Ax.3.

4. A (A (A A))
5. (A (A (A A))) ((A A) (A (A A)))

SH (2,3).
Ax.2.

6. (A A) (A (A A))

MP(4,5)

7. A (A A)

MP (1,6)

8. (A (A A)) ((A A) A)
9. (A A) A
10. A

Ax.3.
MP (7,8)
MP (1,9)

(b) Haciendo uso del metateorema de la deduccion,


(A B) ((A B) A) sii {A B, A B} A
1. A B

Hip.

2. A B

Hip.

3. (A B) (B A)

Ax.3.

4. B A

MP (1,3)

5. A A

SH (2,4).

6. (A A) A
7. A

Por (a)
MP (5,6)

4.1. UN SISTEMA AXIOMATICO


PARA LA LOGICA
PROPOSICIONAL

93

(c) Haciendo uso del metateorema de la deduccion,


{A (B C), B} A C sii {A (B C), B, A} C
1. A (B C)

Hip.

2. B

Hip.

3. A

Hip.

4. B C

MP (1,3)

5. C

MP (2,4)

(d) Una demostracion de A A es:


1. (A A) ((A A) A)
2. A A
3. (A A) A
4. A (A A)
5. A A
(e) Una demostracion de A A es:
1. (A A) (A A)
2. A A
3. A A
(f) Una deduccion de B A a partir de {A B} es:
1. A B

Por (b).
Teorema (ejemplo 4.1)
Por (c) sobre 1 y 2
Ax.1
SH (3,4)
Ax.3
Por (d)
MP (1,2)
Hip.

2. A A

Por (d).

3. A B

MP (1,2)

4. B B

Por (e).

5. A B
6. (A B) (B A)
7. B A
(g) Una deduccion de (A B) a partir de {A, B} es:
1. A

SH (3,4).
Ax.3
MP (5,6)

Hip.

2. A ((A B) B)

Teorema

3. (A B) B

MP (1,2)

4. ((A B) B) (B (A B)
5. B (A B)
6. B
7. (A B)

Por (f)
MP (3,4)
Hip.
MP (5,6)

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

94

(h) Una deduccion de B a partir de {A B, A B} es:


1. A B

Hip.

2. A B

Hip.

3. (A B) (B A)

Por (f)

4. (B A)

MP (1,2)

5. (A B) (B A)

Por (f)

6. B A

MP (2,5)

7. (B A) ((B A) B)

Por (b)

8. (B A) B

MP (6,7)

9. B

MP (4,8)

4.1.2. Correccion y Completitud de


Analizamos en primer lugar la correccion de . Para ello, comencemos destacando que inmediato comprobar las dos afirmaciones siguientes:
1. Los axiomas del sistema son tautologas.
2. La regla MP conserva las tautologas, es decir, si A y A B son tautologas entonces B es tautologa.
Por lo tanto, se tiene el siguiente resultado:
Teorema 4.3 (correccion de ) Todo teorema de es una tautologa, es decir
Si A entonces |= A
El recproco es tambien cierto, es decir, el sistema es completo. Para su demostracion, establecemos en
primer lugar el siguiente lema:
Lema 4.1 Sea A una fbf en la que solo intervienen los conectivos y . Sea {p1 , p2 , . . . , pn } el conjunto
de smbolos proposicionales que intervienen en A. Dada una interpretacion I para A, si i {1, 2, . . . , n}
denotamos por pi el smbolo proposicional definido por:
pi = pi si I(pi ) = 1
pi = pi si I(pi ) = 0
y denotamos por A la fbf definida por:
A = A si I(A) = 1
A = A si I(A) = 0
Entonces, {p1 , p2 , . . . , pn } A .

4.1. UN SISTEMA AXIOMATICO


PARA LA LOGICA
PROPOSICIONAL

95

: Lo demostramos por induccion sobre el numero de ocurrencias de y en A.


D EMOSTRACI ON
Si n = 0 se tiene que A = pi para algun i y tenemos que probar que pi pi , resultado que ya
conocamos.
Supongamos el resultado cierto para todo k < n y probemoslo para n. Existen dos posibilidades:
1. Si A = B, entonces B tiene menos ocurrencias de y que A. Por lo tanto,
a) Si I(B) = 1, se tiene que I(A) = 0, B = B y A = A. Por hipotesis de induccion,
podemos asegurar que
{p1 , p2 , . . . , pn } B
y, por el apartado (e) del ejemplo 4.4, B B = A . Por lo tanto,
{p1 , p2 , . . . , pn } A
b) Si I(B) = 0, se tiene que I(A) = 1, B = B y A = A. Por hipotesis de induccion,
podemos asegurar que
{p1 , p2 , . . . , pn } B = A
2. Si A = B C, entonces tanto B como C tienen menos ocurrencias de y que A. Por lo
tanto,
a) Si I(B) = 0, se tiene que I(A) = 1, B = B y A = A. Por hipotesis de induccion,
podemos asegurar que
{p1 , p2 , . . . , pn } B
y, puesto que tenemos probado que B (B C), se tiene que
{p1 , p2 , . . . , pn } (B C) = A
b) Si I(C) = 1, se tiene que I(A) = 1, C = C y A = A. Por hipotesis de induccion,
podemos asegurar que
{p1 , p2 , . . . , pn } C
y, puesto que C (B C) es un axioma (Ax.1), se tiene que
{p1 , p2 , . . . , pn } (B C) = A
c) Si I(B) = 1 y I(C) = 0, se tiene que I(A) = 0, B = B, C = C y A = A. Por
hipotesis de induccion, podemos asegurar que
{p1 , p2 , . . . , pn } B

{p1 , p2 , . . . , pn } C

Puesto que, por (g) del ejemplo 4.4, B (C (B C)), se tiene que
{p1 , p2 , . . . , pn } (B C) = A

Teorema 4.4 (Completitud debil de ) Toda tautologa es un teorema de , es decir

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

96

Si |= A entonces A
: Supongamos que A es una tautologa y sea {p1 , p2 , . . . , pn } el conjunto de smbolos
D EMOSTRACI ON
proposicionales que intervienen en A. Para toda interpretacion I para A, por el lema anterior, se tiene
que son ciertas las 2n expresiones {p1 , p2 , . . . , pn } A donde pi = pi o pi = pi . Por lo tanto, por el
metateorema de la deduccion, {p1 , p2 , . . . , pn1 } pn A y {p1 , p2 , . . . , pn1 } pn A.
Ahora, el apartado (h) del ejemplo 4.4 asegura que {p1 , p2 , . . . , pn1 } A.
El resultado buscado, A, se obtiene repitiendo n 1 veces este proceso.

El teorema de compacidad junto con el teorema de la deduccion y su inverso, permiten generalizar la equivalencia
|= A si y solo si
A
Tenemos as el siguiente teorema:
Teorema 4.5 (Correccion y Completitud Fuerte de ) Para todo conjunto de fbfs,
|= A si y solo si A
: Si |= A, entonces {A} es insatisfacible y, por el teorema de compacidad 3.6,
D EMOSTRACI ON
existe un subconjunto finito = {A1 , . . . , An } (de ) tal que {A} es insatisfacible y, en consecuencia, |= A. Con lo cual, |= (A1 . . . An ) A y, por el teorema de completitud debil 4.4, concluimos
que (A1 . . . An ) A.
Ahora, aplicando el recproco del teorema de deduccion 4.2, se tiene que A y por la propiedad de
monotona 4.1.1 de , llegamos al resultado deseado, es decir, A.
Inversamente, si A, entonces, por el teorema de Finitud 4.1.1, existe un subconjunto finito =
{A1 , . . . , An } (de ) tal que A y, por el teorema de la deduccion 4.1, se tiene que (A1 , . . . , An )
A.
Si tenemos en cuenta el teorema de la correccion debil, podemos asegurar que |= (A1 , . . . , An ) A o,
equivalentemente, |= A. Finalmente, aplicando la propiedad de monotona de |= llegamos al resultado
deseado, es decir, |= A.
Las equivalencias |= A si y solo si A y |= A si y solo si A, pueden expresarse en los
siguientes terminos:
Los planteamientos sem
antico y sint
actico de la L
ogica Proposicional
son equivalentes en cuanto a la caracterizaci
on de la verdad e inferencias
l
ogicas.

4.1.3. Independencia de los Axiomas de


La completitud de nos asegura que los esquemas de axiomas Ax.1, Ax.2 y Ax.3, son suficientes para
demostrar todas las fbfs validas de la logica proposicional. En esta seccion veremos que el conjunto {Ax.1,
Ax.2, Ax.3} es minimal, en el siguiente sentido: ninguno de los tres puede ser demostrado a partir de los
otros dos.
2

La demostracion fue dada por Kalmar en 1935.

4.1. UN SISTEMA AXIOMATICO


PARA LA LOGICA
PROPOSICIONAL
4.1.3.1.

97

Ax.3 es independiente de {Ax.1, Ax.2}

Sea h : L L la aplicacion que a cada fbf A L le asocia la fbf obtenida al eliminar en A todos los
conectivos . Entonces,
1. h(A (B A)) = h(A) (h(B) h(A)) es una tautologa para fbfs cualesquiera A y B.
2. h((A (B C)) ((A B) (A C))) =
(h(A) (h(B) h(C)) ((h(A) h(B)) (h(A) h(C))), es una tautologa para fbfs
cualesquiera A, B y C.
3. Si A B y A son tautologas, entonces B es una tautologa.
Tenemos pues que la aplicacion h transforma los axiomas Ax.1 y Ax.2 en tautologas, y que MP conserva
tautologas. Sin embargo, tenemos que
h((A B) (B A)) = (h(A) h(B)) (h(B) h(A))
no es una tautologa. Por lo tanto, Ax.3 no es demostrable en a partir de Ax.1 y Ax.2.
4.1.3.2.

Ax.1 es independiente de {Ax.2, Ax.3}

Para demostrar la independencia de Ax.1, definimos la siguiente semantica sobre el lenguaje L.


- El conjunto de valores semanticos es {0, 1, 2}.
- El conjunto de valores destacados es {0}.
- Una interpretacion para L es toda aplicacion I : En {0, 1, 2} que satisfaga:
I (A) = f (I (A))
(I (A))
I (A B) = f
son las aplicaciones
donde f y f
: {0, 1, 2} {0, 1, 2} {0, 1, 2}
f : {0, 1, 2} {0, 1, 2} y f

definidas por las tablas siguientes

x
0
1
2

f (x)
1
1
0

x
0
0
0
1
1
1
2
2
2

y
0
1
2
0
1
2
0
1
2

(x)
f
0
2
2
2
2
0
0
0
0

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

98

Respecto a esta semantica, una fbf, A L, se dice especial si, para toda interpretacion I , se tiene
I (A) = 0. Se deja al lector comprobar que:
1. (A (B C)) ((A B) (A C)) es especial para fbfs cualesquiera A y B.
2. (A B) (B A) es especial para fbfs cualesquiera A, B y C.
3. Si A B y A son especiales, entonces B es especial.
Sin embargo, A (B A) no es especial. Por lo tanto, Ax.1 no es demostrable en a partir de Ax.2 y
Ax.3.
4.1.3.3.

Ax.2 es independiente de {Ax.1, Ax.3}

Para demostrar la independencia de Ax.2, definimos la siguiente semantica sobre el lenguaje L:


- El conjunto de valores semanticos es {0, 1, 2}.
- El conjunto de valores destacados es {0}.
- Una interpretacion para L es toda aplicacion
I : En {0, 1, 2}
que satisfaga:
I (A) = f (I (A))
(I (A))
I (A B) = f
son las aplicaciones
donde f y f
: {0, 1, 2} {0, 1, 2} {0, 1, 2}
f : {0, 1, 2} {0, 1, 2} y f

definidas por las tablas siguientes

x
0
1
2

f (x)
1
0
1

x
0
0
0
1
1
1
2
2
2

y
0
1
2
0
1
2
0
1
2

(x)
f
0
2
1
0
2
0
0
0
0

Respecto a esta semantica, una fbf A se dice grotesca si, para toda interpretacion I , se tiene I (A) = 0.
Se deja al lector comprobar que:
1. A (B A) es grotesca para cualesquiera fbfs A y B.

NATURAL
4.2. DEDUCCION

99

2. (A B) (B A) es grotesca para cualesquiera fbfs A, B y C.


3. Si A B y A son grotescas entonces B es grotesca.
Sin embargo, (A (B C)) ((A B) (A C)) no es grotesca. Por lo tanto, Ax.2 no es
demostrable en a partir de Ax.1 y Ax.3.

r r Cabe plantearse cual es el interes de trabajar con un conjunto minimal de conectivas y un conjunto
minimal de axiomas. Al respecto, destaquemos que: disponer de un conjunto reducido de conectivas
y de axiomas dificulta la demostracion de teoremas en el sistema axiomatico, pero facilita sin duda la
demostracion de teoremas sobre el sistema axiomatico, ya que requiere contemplar menos casos.

Los sistemas axiomaticos son un marco adecuado para desarrollos teoricos y su handicap, como se ha tenido
ocasion de vislumbrar, es la dificultad para construir demostraciones. Esta dificultad se ve aliviada en los
sistemas de deduccion natural, introducidos independientemente en 1934 por Gentzen y Jaskowski. Como
el mismo Gentzen destaca,3 el proposito de estos sistemas es recoger el modo habitual de argumentar en la
vida diaria (de aqu el calificativo de natural), permitir un modo mas natural de realizar deducciones que
los aportados por los sistemas de demostracion introducidos hasta la fecha.

4.2. Deduccion Natural


El metateorema de la deduccion es un resultado de gran utilidad para facilitar las deducciones, y en
particular las demostraciones, en los sistemas axiomaticos. El tipo de tecnica que proporciona (introduccion
de hipotesis) se formaliza en los sistemas de deduccion natural.
En los sistemas de deduccion natural las deducciones adquieren el protagonismo sobre las demostraciones. Podemos afirmar que:
on natural es un sistema para derivar conclusiones
Un sistema de deducci
desde un conjunto de hip
otesis, sin utilizar axiomas, es decir, utilizando

unicamente reglas de inferencia.


Con tal fin, se introducen suficientes reglas de inferencia para recoger el significado de cada conectiva
aisladamente.
Las reglas de inferencia son de dos tipos, reglas de introducci
on y reglas de eliminaci
on
de conectivas, denotadas (i) y (e) respectivamente, donde representa una conectiva arbitraria. Cada regla consta de una o mas hipotesis y una sola conclusion y la representaremos as
hipotesis
conclusion
Damos a continuacion un conjunto de reglas de inferencia las cuales constituyen un sistema de deduccion natural correcto y completo para la logica proposicional.
3

G. Gentzen. Investigations into logical deduction. In M. E. Szabo, editor. The collected papers of Gerhard Gentzen. Elsevier
North-Holland, 1970.

100

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

( i) Formaliza el hecho de que si tenemos A y B entonces tenemos su conjuncion A B:


A
B
AB
(e) La eliminacion de la conjuncion nos permite quedarnos con un elemento de la conjuncion, esto es, de
A B podemos deducir bien A o bien B:
AB
A

AB
B

( i) Hace uso de la nocion de subderivacion y su lectura es la siguiente: si bajo la hip


otesis adicional
on), entonces podemos deducir A B.
A hemos deducido B (subderivaci
A
B
AB
Esta regla formaliza, al igual que el metateorema de la deduccion en los sistemas axiomaticos, el
resultado semantico:
Si {A} |= B, entonces |= A B
donde es un conjunto de fbfs.
( e) Formaliza la regla de inferencia Modus Ponens que conocemos de los sistemas axiomaticos
A
AB
B
(i) Si tenemos A o bien tenemos B entonces tenemos A B
A
AB

B
AB

(e) Formaliza el llamado razonamiento por casos. Como se observa, dicha regla requiere dos
subderivaciones.
AB
A
B
C
C
C
Es decir, si C se deduce tanto de A como de B entonces C se puede deducir de A B.

NATURAL
4.2. DEDUCCION

101

(i) Formaliza la demostraci


on por contradicci
on: Si la hipotesis adicional A conduce a una
contradiccion (B y B), entonces no puede darse A, por lo tanto, concluimos A.
B
A
B
A
(e) Permite eliminar la doble negacion
A
A
(Rep) Esta es una regla especial que no es de introduccion ni de eliminacion de conectivos, llamada regla
on, que recoge el resultado semantico A |= A y que es de utilidad en las subderivade repetici
ciones.
A
A
Definicion 4.3 En todo sistema de deduccion natural, DN, dado un conjunto de fbfs, se dice que una
formula A es deducible o derivable de , denotado DN A, si existe una secuencia finita de fbfs,
A1 , A2 , . . . , An tal que:
1. Cada Ai , (1 i n) es una formula de o es obtenida de formulas anteriores de la secuencia
mediante la aplicacion de alguna regla de inferencia.
2. An es A.
La secuencia A1 , . . . , An se dice que es una deducci
on o derivaci
on tipo Gentzen de A a
partir de .
Una formula A es un teorema si es derivable desde el conjunto vaco de formulas. Usaremos DN A
para expresar que A es un teorema de DN .
Definicion 4.4 Un conjunto de fbfs se dice DN-inconsistente si para toda fbf A se tiene que DN
A. El conjunto se dice DN-consistente si no es DN-inconsistente.

r r Las hipotesis, es decir , los elementos de , pueden ser usados en la derivacion inicial y, por lo tanto, en
todas las subderivaciones.
Las hipotesis adicionales requeridas por algunas reglas de inferencia, no son hipotesis del razonamiento
que deseamos probar y solo pueden ser usadas del modo indicado por las reglas que han dado lugar a su
introduccion.
De forma mas visual, podemos decir que cualquier formula obtenida en una derivacion puede repetirse
en cualquier subderivacion suya, pero no al reves: No se pueden extraer formulas de una subderivacion!

Como en los sistemas axiomaticos, si A es deducible de A1 , A2 , . . . , An , la relacion


A1 , A2 , . . . , An DN A

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

102

puede ser usada en las deducciones como nueva regla de inferencia, llamada regla derivada. El siguiente ejemplo ilustra el desarrollo de una derivacion en el sistema de deduccion natural recien presentado
y proporciona una u til regla derivada (que otros sistemas consideran como regla basica).
Ejemplo 4.5 Demostrar que {A B, A} DN B.
Vamos a obtener una derivacion de B a partir de A B y A haciendo uso de las reglas de la deduccion
natural:
AB
A
B
A
B
B

Hip.
Hip. ad.
Hip. ad.
Hip.
(i)
(e)

B
B

Hip. ad.
Rep.

(e)

Resulta conveniente usar una numeracion de las distintas fbfs que aparecen en la derivacion como se indica
a continuacion:
(1)

AB

(2)

Subderv.

(3)

(4)

Hip.

(2.1)

(2.2)

Subderv.

Hip. adicional

(2.2.1)

Hip. adicional

(2.2.2)

Hip.

(2.3)

(2.1), (2.2) y (i)

(2.4)

(2.3) y (e)

(3.1)

Hip. adicional

(3.2)

(3.1) y (Rep)

Subderv.

(1), (2), (3) y (e)

Esta regla derivada, que denotaremos SD y que se conoce como silogismo disyuntivo tiene dos
versiones:
AB
AB
A
B
o bien
B
A

NATURAL
4.2. DEDUCCION

103

Teorema 4.6 (Correccion de DN) Para todo conjunto de fbfs y para toda fbf A se tiene que si DN A
entonces |= A.
: Por induccion sobre la longitud de la derivacion DN A
D EMOSTRACI ON
Si n = 1, entonces A y es obvio que |= A.
Supongamos que el resultado es cierto para toda fbf para la que existe una deduccion de longitud
menor que n a partir de y probemoslo para el caso en el que exista una deduccion de A a partir de
de longitud n.
Si A = B C tiene que haber sido obtenida de fbfs B y C, anteriores en la secuencia, mediante la
aplicacion de (i). Ahora bien, tanto B como C son derivables a partir de y para ellas existe una
deduccion a partir de de longitud menor que n. Por hipotesis de induccion, |= B y |= C y, por
lo tanto, se tiene que |= B C, es decir, |= A.
Los demas casos, es decir, si A ha sido obtenida de fbfs anteriores en la secuencia mediante la aplicacion de las reglas (e), ( i), ( e), (e), (i), (i), (e), se demuestran de forma analoga y se
dejan como ejercicio al lector.
Para probar la completitud de DN, necesitamos algunos lemas previos:
Lema 4.2 Dado un conjunto de fbfs, las dos condiciones siguientes son equivalentes
1. Existe una fbf A tal que DN A y DN A.
2. es DN-inconsistente.
:
D EMOSTRACI ON
Si (1.), entonces (2.): Por hipotesis, existe una derivacion a partir de de la forma:
(1)

...

...

..
.
(k) A

...

..
.
(m) A

...

A partir de esta derivacion obtenemos una derivacion de una fbf arbitraria B a partir de , anadiendo
las siguientes lneas:
(m + 1)

Subderv.
(m + 1,1)

Hip. adicional

(m + 1,2)

(m) y (Rep)

(m + 2)

(m + 1),(k) y (i)

(m + 3)

(m + 2) y (e)

104

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL
Si (ii), entonces (i) Es evidente.

Lema 4.3 Para todo conjunto de fbfs


Si es satisfacible entonces es DN-consistente.
: Si fuera DN-inconsistente entonces existira una fbf A tal que DN A y DN A.
D EMOSTRACI ON
Con lo cual, por la correccion de DN, |= A y |= A. Por lo tanto, sera insatisfacible, contra la
hipotesis.
Definicion 4.5 Un conjunto de fbfs se dice maximalmente DN-consistente si
es DN-consistente.
Si y es DN-consistente, entonces = .

Lema 4.4 Todo conjunto de fbfs DN-consistente esta contenido en un conjunto de fbfs maximalmente
DN-consistente.
: Sea {A1 , A2 , . . . , An , . . .} una enumeracion de En. Definimos una sucesion creciente
D EMOSTRACI ON
de subconjuntos de En, (n )n1 , como sigue:
1 = .
Para n 1, si n {An } es DN-consistente, definimos n+1 = n {An }, y en caso contrario,
n+1 = n .
Por construccion, todos los n son DN-consistentes. Ademas
S
El conjunto = n n es DN-consistente:

Puesto que todo subconjunto finito de es un subconjunto finito de algun n , si existiera un B tal
que tanto B como B fueran derivables a partir de , el conjunto de todas las hipotesis usadas en
ambas derivaciones sera un subconjunto finito de algun n . Por lo tanto, B y B seran derivables
desde n , lo cual contradice la DN-consistencia de n .
El conjunto es maximalmente DN-consistente:
Sea un conjunto DN-consistente tal que . Si C entonces C = Ak para algun k.
Puesto que k se tiene entonces que k {Ak } es DN-consistente. Por lo tanto, k+1 =
k {Ak }, es decir,Ak k+1 y, por lo tanto, = .

Lema 4.5 Dado un conjunto de fbfs


Si es DN-consistente, entonces es satisfacible.

NATURAL
4.2. DEDUCCION

105

: Si es DN-consistente, por el Lema 4.4, esta contenido en un conjunto maximalmente


D EMOSTRACI ON
DN-consistente . Bastara pues dar un modelo para .
Consideremos la siguiente interpretacion I: Para todo smbolo proposicional p, se tiene I(p) = 1 si y
solo si p .
Probemos que, para toda fbf A, I(A) = 1 si y solo si A . Por induccion sobre la profundidad de A:
Si A Vprop el resultado es cierto por definicion de I.
Si A = B C entonces I(A) = 1 si y solo si I(B) = I(C) = 1 si y solo si B C (compruebese).
El resto de los casos se demuestran de forma analoga y se dejan como ejercicio al lector.
Ya estamos en condiciones de demostrar la completitud del sistema DN, formalmente demostraremos el
siguiente teorema:
Teorema 4.7 (Completitud de DN) Para todo conjunto de fbfs y para toda fbf A se tiene que si |= A
entonces DN A.
: Supongamos |= A. Si 6DN A entonces {A} sera DN-consistente (comD EMOSTRACI ON
pruebese). Por lo tanto, por el Lema 4.5, {A} es satisfacible, es decir, existe una interpretacion I tal
que I(B) = 1 para toda fbf B y I(A) = 0 en contra del supuesto |= A.
Los sistemas de deduccion natural son, al igual que los sistemas axiomaticos, no algortmicos. Establecen los pasos permitidos en la tarea de verificacion, pero no un metodo sistematico para realizar dicha tarea.
Es por lo tanto deseable en el quehacer heurstico de construir una derivacion, disponer de estrategias que la
faciliten. Las siguientes estrategias son consideradas basicas:
1. Si la conclusion tiene como conectivo principal, usar ( i).
2. Si una hipotesis tiene como conectivo principal, usar ( e).
3. Si las estrategias anteriores fallan, usar ( i).
El siguiente ejemplo se desarrolla haciendo uso de las estrategias anteriores.
Ejemplo 4.6 Demostremos que A B DN A B.
Siguiendo la estrategia I, necesitamos una subderivacion usando ( i), es decir, una subderivacion del
tipo:
(1) Subderv.
(1.1) A

Hip. adicional

..
.
(1.k) B
(2) A B

(1) y ( i)

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

106

Ahora, siguiendo la estrategia II, intentamos eliminar el conectivo de la hipotesis. Para ello, en la
subderivacion (1) utilizamos (e).
(1)

Subderiv.
(1.1)

Hip. adicional

(1.2)

A B

Hip.

(1.3)

Subderv.
(1.3.1) A

Hip. adicional

..
.
(1.3.n) B
(1.4)

(1.5)
(2)

Subderv.
(1.4.1) B

Hip. adicional

(1.4.2) B

(1.4.1) y (Rep)

(1.2), (1.3), (1.4) y (e)

AB

(1) y ( i)

Por u ltimo, la subderivacion (1.3) nos conduce a la estrategia III. Obtenemos as la derivacion planteada.
(1)

Subderv.
(1.1)

(1.2)

Subderv.

Hip. adicional

(1.2.1)

Hip. adicional

(1.2.2)

(1.2.1) y (Rep)

(1.3)

(1.1),(1.2) y (i)

(1.4)

A B

Hip.

(1.5)

Subderv.

(1.6)

(1.7)

(1.5.1)

(1.5.2)

Subderv.

Hip. adicional

(1.5.2.1) B

Hip. adicional

(1.5.2.2) A

(1.3) y (Rep)

(1.5.3)

(1.5.1), (1.5.2) y (i)

(1.5.4)

(1.5.3) y (e)

(1.6.1)

Hip. adicional

(1.6.2)

(1.4.1) y (Rep)

Subderv.

(1.4), (1.5), (1.6) y (e)

NATURAL
4.2. DEDUCCION
(2) A B

107
(1) y ( i)

A continuacion mostramos como se puede acortar la derivacion anterior haciendo uso del silogismo
disyuntivo como regla derivada.
(1) Subderv.
(1.1)

(1.2)

Subderv.

Hip. adicional

(1.2.1)

Hip. adicional

(1.2.2)

(1.2.1) y (Rep)

(1.3)

(1.1),(1.2) y (i)

(1.4)

A B

Hip.

(1.5)

(1.4), (1.3) y SD

(2) A B

(1) y ( i)

108

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL

4.3. Ejercicios
1. Dado el lenguaje L de la logica proposicional y la semantica dada para L, defina sistemas axiomaticos
sobre L con las siguientes caractersticas:
a) correcto pero no completo.
b) completo pero no correcto.
2. Sean A y B fbfs de L y un conjunto de fbfs de L. Pruebe que en el sistema axiomatico de
ukasiewicz se verifica que
a) Si A , entonces A

Reflexividad

b) A A
c) Si A y , entonces A
d) Si A y , A B, entonces B

Monoton
a
Corte

e) Si A, entonces A
f ) A si y solo si A
g) Si A y A B, entonces B
h) A si y solo si existe un subconjunto finito tal que A
3. Sean A y B dos fbfs de L. Pruebe que en el sistema axiomatico de ukasiewicz se verifica que
Si A entonces \ {B} A B
4. Dado el alfabeto a = {a, b, c, , }, definimos el siguiente lenguaje L sobre a:
a) a, b y c, son fbfs de L .
b) Si es una fbf de L entonces es tambien una fbf de L
c) Si A y B son fbfs de L entonces (A B) es tambien una fbf de L
Sobre el lenguaje L definimos el siguiente Sistema Axiomatico:
Axiomas:
(A A)
(A (B A))
Regla de inferencia:

(A B)
A.

Demuestre que
a) a es un teorema.
b) Toda semantica sobre L proporciona una teora completa y decidible.
c) Definir sobre L una semantica respecto a la cual el sistema dado no proporciona una teora
correcta.

4.3. EJERCICIOS

109

5. Definimos un Sistema Axiomatico sobre el lenguaje siguiente: Dado el alfabeto: a = {, }, definimos el lengaje L como sigue :
(i) y , son fbfs de L .
(ii) toda secuencia de longitud 2 cuyo primer elemento es es una fbf. de L
Axioma:
Regla de inferencia:

De una caracterizacion de las cadenas del lenguaje que son teoremas en este sistema axiomatico.
6. En cada uno de los siguientes casos, determine, si es posible, cuando la teora descrita es correta,
completa y/o decidible:
a) El lenguaje y axiomas de L y la regla de inferencia
AAB
b) El lenguaje de L, el axioma A B y la regla de inferencia
A B, B C B
7. Use el Sistema de Deduccion Natural DN para probar las siguientes inferencias:
a) (p q) r DN p (q r)
b) (p (q r)) (p q) DN (p (q r)) (p r)
c) p (p q) DN p q
d) q DN q (p q)
8. Use el sistema de deduccion natural DN para probar la validez de las siguientes formulas:
a) DN (A B) (A B)
b) DN (A B) (A B)
c) DN (A B) (A B)
d) DN (A B) (A B)
e) DN (A B) (B A)
9. Pruebe en el sistema de deduccion natural DN las siguientes reglas derivadas

(1 )

A
BA

A
C

(2 )

A
C

10. Use el Sistema de deduccion Natural DN para probar la validez de las siguientes formulas:
a) DN (A (B C)) ((A B) (A C))

110

PARA LA LOGICA

DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL
b) DN (B C) ((A B) (A C))
c) DN (A (B C)) ((A B) (A C))
d) DN A ((A B) B)

11. Use el Sistema de deduccion Natural DN para probar la validez de las siguientes inferencias:
a) {A B, (B A) A} DN B
b) {(A B) B, (E A) C, (C D) (D B)} DN C
c) {(A B) (A C), B A} DN C
12. Pruebe que para toda fbf A y para todo conjunto de fbfs ,
a) Si A es DN-inconsistente, entonces DN A
b) Si A es DN-inconsistente, entonces DN A
13. Pruebe que si es maximalmente DN-consistente se tiene que
a) Si DN A entonces A .
b) Para toda fbf A, A o A
c) Dadas dos fbfs arbitrarias A y B,
A B si y solo si (si A entonces B )
d) Para toda fbf A,
A si y solo si A
/

Captulo 5

Razonamiento Automatico en la logica


proposicional

Indice
5.0.1. Algoritmo de Quine . . . . . . . . . . . . . . . . . . . . .
5.1. Sistemas de refutacion . . . . . . . . . . . . . . . . . . . . . . . .
5.1.1. Las Tablas de Verdad como sistema de refutacion completo .
5.2. Metodo de las Tablas Semanticas . . . . . . . . . . . . . . . . . .
5.2.1. Reglas de Extension . . . . . . . . . . . . . . . . . . . . .
5.2.2. Descripcion del metodo . . . . . . . . . . . . . . . . . . .
5.3. Metodos que requieren que la entrada este en forma clausal . . .
5.3.1. Algoritmo de Quine como metodo de refutacion . . . . . .
5.3.2. El metodo Davis-Putnam . . . . . . . . . . . . . . . . . . .
5.3.3. Metodo de Resolucion . . . . . . . . . . . . . . . . . . . .
5.3.4. Resolucion como algoritmo . . . . . . . . . . . . . . . . .
5.3.5. Resolucion Lineal . . . . . . . . . . . . . . . . . . . . . .
5.3.6. Resolucion Lineal Ordenada . . . . . . . . . . . . . . . . .
5.3.7. Operacion de Reduccion . . . . . . . . . . . . . . . . . . .
5.3.8. Complejidad del Metodo de Resolucion . . . . . . . . . . .
5.4. Clausulas de Horn . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

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

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

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

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

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

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

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

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

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

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

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

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

112
114
116
117
119
123
126
128
129
133
139
142
143
144
147
151
157

En este captulo estudiamos la componente intrnsecamente computacional. Esta componente pretende establecer procedimientos de decision (algoritmos) de modo que, dada una fbf, A, (respectivamente,
un conjunto de fbfs, , y una fbf C), puedan decidir en un numero finito de etapas si A es o no valida
(respectivamente, si C es consecuencia logica o no de ).
Recordemos que la busqueda de tales procedimientos se denomina en la bibliografa Demostraci
on
Autom
atica de Teoremas, y a los algoritmos ATPs (Automated Theorem Provers).
Las tablas de verdad, introducidas por Peirce y Wittgenstein a principios del siglo XX, 1 constituyen un
metodo de demostracion automatica correcto y completo para Lprop , es decir, nos aseguran que la logica
1

C.-L. Chang and H. Keisler. Model theory. North-Holland, 1991.

111

112

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

clasica proposicional es decidible. No obstante, las tablas de verdad son u nicamente un punto de partida,
sencillo, pero insatisfactorio por diversas razones:
en primer lugar, es insatisfactorio como herramienta teorica, no solo por no ser generalizable a la
logica clasica de primer orden ni a la mayora de las logicas no clasicas, sino tambien porque, por
su estrecha relacion con la semantica, se aleja de lo que habitualmente entendemos por manipulacion
puramente sintactica de esquemas.
en segundo lugar, es insatisfactorio en el aspecto computacional por su ineficiencia ya que, si consideramos como tamano de una formula A su longitud como cadena de smbolos, dicho tamano es de
orden cn donde n es el numero de smbolos de proposicion que intervienen en A, y puesto que la tabla
de verdad para A tiene 2n filas, podemos afirmar que el tiempo necesario para escribir dicha tabla es
desmesurado incluso para formulas no muy grandes.
En efecto, el metodo de las tablas de verdad no es un algoritmo eficiente para el problema SAT (que
recordemos, consiste en analizar la satisfacibilidad de una fbf) ni para el problema TAUT (que consiste
en analizar la validez de una fbf). Por ejemplo, si examinamos las posibles interpretaciones para la
formula
A = p q r
en el orden alfabetico, el u nico modelo para A es la u ltima interpretacion examinada.
En general, si el tamano de la formula es n (llamando tamano al numero de smbolos que intervienen
en A) es preciso examinar 2k n interpretaciones hasta encontrar un modelo.
En este captulo estudiaremos otros ATPs para la logica proposicional.
Comenzamos con un sencillo metodo, pero que, para muchas entradas, mejora sustancialmente el de las
tablas de verdad:

5.0.1. Algoritmo de Quine


El algoritmo de Quine 2 esta basado en el concepto de a rbol semantico que definimos a continuacion.
Definicion 5.1 Sea = {p1 , p2 , . . . , pn , . . .} un conjunto numerable de smbolos de proposicion. Un

antico respecto de es un a rbol binario que satisface las condiciones siguientes:


arbol sem
1. Cada arco esta etiquetado con un literal pi o pi donde pi .
2. Los literales que etiquetan dos arcos que nacen del mismo nodo son opuestos.
3. Ninguna rama contiene mas de una ocurrencia de cada pi . Y, en consecuencia, ninguna rama
contiene un literal y su opuesto.
Si es finito, todo a rbol semantico respecto de es finito.
A cada nodo N de un a rbol semantico se le asocia una interpretacion parcial 3 que asigna, a un smbolo
proposicional p dado:
El valor 1 si algun arco del camino que une N con la raz esta etiquetado con p,
2
3

W. Quine. Methods of logic. Henry Holt, 1950.


Una asignacion de valores de verdad para un subconjunto de smbolos proposicionales.

113
El valor 0 si algun arco del camino que une N con la raz esta etiquetado con p,
si ni p ni p ocurren en el camino que une N con la raz, esta interpretacion parcial no asigna valor
de verdad a p.
Ejemplo 5.1 A continuacion mostramos un a rbol semantico respecto de {p, q, r}.

I (p) = 0

I1 (p) =
1
8

q
q
q
q

I5 (p) = 1
I2 (p) = 1

I (q) = 0

I2 (q) = 1
5

I9 (p) = 0
I10 (p) = 0
r
r
r
r
I9 (q) = 1
I10 (q) = 0

I3 (p) = 1
I3 (q) = 1
I3 (r) = 1

I4 (p) = 1
I4 (q) = 1
I4 (r) = 0

I6 (p) = 1
I6 (q) = 0
I6 (r) = 1

I7 (p) = 1
I7 (q) = 0
I7 (r) = 0

Definicion 5.2 Un a rbol semantico respecto de {p1 , . . . , pn } se dice completo si la interpretacion parcial
asociada a cada hoja asigna valores de verdad a todos los pi con 1 i n.
El a rbol del ejemplo anterior no es completo, ya que las interpretaciones asociadas a las dos u ltimas
hojas no asignan valor de verdad a r.
Definicion 5.3 Dada una fbf, A, el algoritmo de Quine procede como sigue:
1. Se selecciona una ordenacion [p1 , . . . , pn ] del conjunto {p1 , . . . , pn } de los smbolos proposicionales
que intervienen en A.
Esta ordenacion significara que los arcos de nivel 1 seran etiquetados con p1 y p1 , los arcos de nivel
2 seran etiquetados con p2 y p2 , . . . , y los arcos de nivel n seran etiquetados con pn y pn .
2. Se construye un a rbol semantico respecto a {p1 , . . . , pn } usando el siguiente criterio:
Si todas las posibles extensiones de la interpretaci
on parcial
asociada a un nodo , asignan el mismo valor de verdad a A, no
antico completo
arbol sem
arbol del
es preciso construir el sub
respecto a {p1 , . . . , pn } que tiene a N como ra
z. En su lugar, se
on parcial
a con el valor de verdad que la interpretaci
etiquetar
a
el asociada asigna a A.
3. Siguiendo este procedimiento, si el a rbol final tiene todas sus hojas etiquetadas con Ii (A) = 1,
la fbf A es valida. Si el a rbol final tiene todas sus hojas etiquetadas con Ii (A) = 0, la fbf A es
una contradiccion. Si el a rbol final tiene hojas etiquetadas con Ii (A) = 1 y hojas etiquetadas con
Ii (A) = 0, la fbf A es satisfacible y no valida, es decir, es contingente.
Ejemplo 5.2 Para la fbf A = (((p q) r) (p q)) (p r), el a rbol proporcionado por el
algoritmo de Quine, considerando la ordenacion [p, q, r], es:

114

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

I1 (A) =?

q
q

I2 (A) =?

I5 (A) = 1
r
r

I3 (A) = 1

I6 (A) = 1

I4 (A) = 1

Por lo tanto, A es valida.

r r El lector debe tener en cuenta que la traza de ejecucion del algoritmo esta completamente determinada
por la seleccion de la ordenacion [p1 , . . . , pn ] del conjunto {p1 , . . . , pn } de los smbolos proposicionales
que intervienen en A por la que se opta. Se propone como ejercicio aplicar el algoritmo a la fbf del
ejemplo anterior con el resto de ordenaciones posibles de los elementos del conjunto {p, q, r}

5.1. Sistemas de refutacion


Recordemos que en un sistema de refutacion se hace uso de la conexion entre los conceptos semanticos
de validez e insatisfacibilidad. Concretamente, se hace uso de la conexion establecida por las dos equivalencias siguientes:
A es valida si y solo si A es insatisfacible
|= A si y solo si {A} es insatisfacible
As pues, en los sistemas de refutacion, se verifica la formula (o la inferencia), intentando refutar la
negacion de la formula (o el conjunto de las hipotesis y la negacion de la conclusion). En definitiva, los
sistemas de refutacion se centran en el problema SAT 4 cuya eficiente solucion demanda la industria. Por
esta razon, existen competiciones anuales en las que se proponen soluciones (http://www.satcompetition.org/
).
En claro contraste con los sistemas de deduccion, la mayora de los sistemas de refutacion son procedimientos automaticos. Hasta nuestros das, la mayor parte de los trabajos sobre demostracion automatica de
teoremas se basan en dos metodos de refutacion:
1. El metodo de construccion de modelos, basado en el calculo de secuentes de Gentzen. 5
2. El metodo de resolucion, debido a Robinson 6 basado en tecnicas desarrolladas por Herbrand. 7
4

Los algoritmos para resolver SAT: Sat-solvers en la bibliografa inglesa.


G. Gentzen. Investigations into logical deduction. In Szabo.
6
J. Robinson. A machine-oriented logic based on the resolution principle. Journal of the ACM, 12(1):2341, 1965.
7
J. Herbrand. Investigation in proof theory: from Frege to Godel. In J. van Heijenoort, editor, A source book in mathematical
logic, 18791931. Harvard University Press, 1967.
5


5.1. SISTEMAS DE REFUTACION

115

El calculo de secuentes de Gentzen supuso la primera ocasion en que se utilizo la relacion de consecuencia logica como un calculo. Su sistema LK 8 ha dado lugar a diversos sistemas de demostracion
para diversas logicas, los cuales se conocen globalmente como tablas sem
anticas 9 y cuya primera
formulacion se debe a Beth. 10
Por su parte, los trabajos de Herbrand dieron lugar a importantes resultados debidos a Prawitz, 11 Gilmore, 12 Davis y Putnam, 13 culminando con la publicacion en 1965 de un trabajo de Robinson 14 en el que
se introduce la regla de inferencia conocida como regla de resolucion en la cual se basan la mayora de los
ATPs. 15
Los trabajos de Herbrand y Gentzen estan estrechamente relacionados, pero su desarrollo y aplicacion
han sido muy diferentes. Los ATPs basados en las tablas semanticas han sido comparativamente muy escasos 16 respecto a los basados en resolucion, y ello fue debido, basicamente, a los trabajos de Kowalski 17 y
Colmerauer, 18 los cuales impulsaron en la decada de los 70 la idea de que:
la Logica puede usarse como un lenguaje de programacion
Esta idea fue revolucionaria a causa de que, hasta 1972, la logica solo fue usada como lenguaje declarativo
de especificacion.
Como indicamos en un captulo anterior, si bien para la logica de primer orden estos metodos aseguran
su terminacion solo si la formula a la que se aplica es valida (es decir, son semialgoritmos), para la logica
proposicional que nos ocupa son algoritmos.
Los algoritmos para SAT pueden dividirse en dos clases: algoritmos completos y algoritmos
incompletos.
Los algoritmos completos realizan una busqueda a traves del espacio de todas las posibles interpretaciones para probar que
la formula es satisfactible, si el algoritmo encuentra una in- terpretacion que la satisface,
la formula es insatisfactible, si el algoritmo explora todo el espacio de busqueda y no encuentra
ninguna interpretacion que la satisface.
8

G. Gentzen. Investigations into logical deduction. In Szabo.


F. Oppacher and E. Suen. HARP: a tableau-based theorem prover. Journal of Automated Reasoning, 4:69100, 1988.
W. Carnielli. Sistematization of finite many-valued logics through the method of tableaux. Journal of Symbolic Logic, 52:473
493, 1987.
M. Fitting. Proof methods for modal and intuitionistic logics. Reidel Publishing Company, 1983.
10
E. Beth. The foundations of mathematics. North-Holland, 1959.
E. Beth. Aspects of modern logic. Reidel Publishing Company, 1967.
11
D. Prawitz. An improved proof procedure. Theoria, 26:102139, 1960.
12
P. Gilmore. A proof method for quantification theory; its justification and realization. IBM J. Res. Develop., 4:2835, 1960.
13
M. Davis and H. Putnam. A computing procedure for quantification theory. Journal of the ACM, 7(3):201215, 1960.
14
J. Robinson. A machine-oriented logic based on the resolution principle. Journal of the ACM, 12(1):2341, 1965.
15
C.-L. Chang and R. C.-T. Lee. Symbolic Logic and Mechanical Theorem Proving. Academic Press, 1973.
D. Loveland. Automated Theorem Proving: a logical basis. North Holland, 1978.
M. Stickel. A PROLOG technology theorem prover. Journal of Automated Reasoning, 4(4):353380, 1988.
16
P. Andrews. Theorem proving via general matings. Journal of the ACM, 28(2):193214, 1981.
W. Bibel. Automated theorem proving. Vieweg Verlag, second edition, 1987.
17
R. Kowalski. Predicate logic as a programming language. In Information processing74. North-Holland, 1974.
18
A. Colmerauer et al. Un system de communication homme-machine. Technical report, Gr. de Recherche en Intelligence Artificielle, Univ. daix-Marseille, 1973.
9

116

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

Por su parte, los algoritmos incompletos son algoritmos de busqueda local, es decir, no exploran, en general,
todo el espacio de busqueda. Normalmente, empiezan generando una interpretacion, de forma aleatoria, e
intentan encontrar alguna interpretacion que satisface la formula cambiando, en cada paso del algoritmo,
el valor que tiene asignado alguna de las variables proposicionales que intervienen en dicha formula. Estos
cambios se repiten hasta que se encuentra una interpretacion que satisface la formula o hasta que se realiza
un cierto numero de intentos. La principal diferencia entre los distintos algoritmos que se han implementado
radica en la forma de seleccionar la variable a la que se cambia el valor de verdad.
El inconveniente de los algoritmos incompletos es que, como refleja su nombre, pueden terminar sin
proporcionar una respuesta: si encuentran una solucion, la formula es satisfactible y el algoritmo termina,
pero si el algoritmo termina sin encontrar una solucion, no se puede concluir si la formula es satisfactible
o insatisfactible. Sin embargo, presentan una gran ventaja que en ocasiones los hacen preferibles aun a
costa de la perdida de completitud. Su ventaja es su eficiencia, ya que son capaces de resolver formulas
satisfactibles que no se pueden resolver por ninguno de los algoritmos completos existentes.
En este captulo exponemos algoritmos de refutacion completos (de ambos tipos: basados en los trabajos
de gentzen y basados en los trabajos de Herbrand) y algoritmos de refutacion incompletos. Antes de ello,
vamos a destacar que, aunque el uso habitual de las tablas de verdad permite considerarlas como sistema de
deduccion, 19 es posible utilizar las tablas de verdad, de forma mas eficiente, como sistema de refutacion.

5.1.1. Las Tablas de Verdad como sistema de refutacion completo


Consideremos un razonamiento,
Si H1 y H2 y . . . y Hn , entonces C
Para su verificacion, podemos limitarnos a analizar las filas de la correspondiente tabla de verdad en las
que C es falsa y, despues, comprobar si en alguna de estas filas son verdaderas H1 , . . . , Hn , en cuyo caso
tendramos que el razonamiento no es valido. Con ello, reduciramos la tarea de escribir 2n filas (supuesto
que n es el numero de smbolos de proposicion que intervienen en el razonamiento), a escribir 2k + m 2nk ,
donde k es el numero de smbolos de proposicion que intervienen en C y m el numero de filas en la tabla
para C en las que C es falsa.
Ejemplo 5.3 Para analizar la validez del razonamiento
p (q r)
s (p q)
r (q s)
rp
en lugar de escribir 24 = 16 filas, bastara:
1. Escribir la tabla de verdad para r p, que tiene 22 = 4 filas.
2. Seleccionar las interpretaciones que asignan 0 a r p, es decir, que asignan 1 a r y 0 a p.
3. Finalmente, escribir la tabla siguiente:
19

Y as lo hemos contemplado en el captulo 3.

5.2. METODO
DE LAS TABLAS SEMANTICAS
p
0
0
0
0

q
1
1
0
0

r
1
1
1
1

s
1
0
1
0

117

p (q r)
1
1
1
1

s (p q)
1
1
0
1

(r (q s)
1
0
0
0

La primera fila, nos proporciona una interpretacion, I, tal que I(p) = 0 e I(q) = I(r) = I(s) = 1 para
la que las hipotesis son verdaderas y la conclusion falsa. Por lo tanto, el razonamiento no es valido.
La estrategia seguida es una estrategia de refutaci
on, es decir, intentamos refutar la existencia de una interpretacion que satisface las hipotesis y no satisface la conclusion.
Un modo alternativo de evitar escribir la tabla completa para una formula A es utilizar el a rbol sintactico
de A como sigue:
1. Recorremos cada rama del a rbol sintactico de A, de las hojas a la raz, asignando dos valores a cada
smbolo proposicional de partida, 1 es el primer valor y 0 es el segundo, y transmitimos a los nodos,
segun las definiciones semanticas de las conectivas, la informacion aportada por esta asignacion. Esta
informacion la denotaremos por 1, 0 y ? respectivamente.
2. Un recorrido se suspende cuando llegamos a un nodo con el tipo de informacion ?.
3. Si al recorrer una rama llegamos a la raz con informacion 0, se concluye que A no es valida, ya que
cualquier interpretacion I que asigna a la hoja de partida el valor 1 o 0, asigna 0 a la formula
A.
4. Si al recorrer una rama desde la hoja pi con asignacion 0(o 1) llegamos a la raz con informacion
1, podemos eliminar en la tabla de verdad las filas correspondientes a la asignacion 0(o 1) de
pi .
Por lo tanto, es suficiente escribir las lneas de la tabla correspondientes a las asignaciones de las variables
proposicionales que no nos han permitido llegar en nuestro recorrido a la raz.
Ejemplo 5.4 Consideremos la formula A = (((p q) r) (p q)) (p r). La informacion
aportada en el a rbol sintactico,asegura que toda interpretacion que asigne 0 a p y toda interpretacion que
asigne 1 a r hace verdadera la formula A. Por lo tanto, en lugar de las 23 = 8 filas, basta escribir solo las
filas correspondientes a las interpretaciones (1 a p, 0 a r, 1 a q) y (1 a p, 0 a r, 0 a q).
p
1
1

q
1
0

r
0
0

(p q)
1
0

0
1

r)

0
0

(p q)
1
0

1
1

(p r)
0
0

Por lo tanto, la formula A es valida.

5.2. Metodo de las Tablas Semanticas


Como sistema de refutacion completo, para verificar la validez de una formula, A, (o de una inferencia,
|= C), se determina si A, (o el conjunto = {C}) es insatisfacible. Para ello se organiza la

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

118

?,?

?, 1
?, 0
p 1, 0

r 0, 1

1, ?

1,?

p 0, 1

p 0, 1

1, ?

r 1, 0

q 1, 0

q 1, 0
Figura 5.1:

busqueda sistematica de un modelo para A (respectivamente, un modelo para = {C}). Si la


busqueda tiene e xito, la fbf A (o la inferencia) no es valida y si la busqueda fracasa, la fbf A (o la inferencia,
|= C) es valida.
El metodo de las tablas semanticas esta basado en trabajos de Gentzen y en sntesis, puede describirse
como sigue:
Dado el conjunto de fbfs = {A1 , . . . , An } cuya satisfacibilidad se quiere comprobar, se organizan las
fbfs de en un a rbol de una sola rama con raz A1 y tal que cada Ai con 2 i n es sucesor inmediato de
Ai1 , es decir,
A1
A2
..
.
An
Llamaremos a este a rbol
arbol inicial asociado a . Este a rbol se ira ampliando sucesivamente
mediante ciertas reglas de extension, basadas u nicamente en la estructura sintactica de las formulas. Cada
a rbol obtenido se denomina
arbol asociado a . Las reglas de extension estan disenadas de modo
que:
La aplicacion de cada una de dichas reglas genera un a rbol binario cuyos nodos estan etiquetados con
fbfs.
Cada regla introduce fbfs que son subformulas propias o bien negaciones de subformulas propias de
fbfs existentes en el a rbol al que se aplica.

5.2. METODO
DE LAS TABLAS SEMANTICAS

119

Para la descripcion del metodo utilizaremos la notaci


on uniforme debida a Smullyan, que consiste
en agrupar las formulas por tipos, consiguiendo con ello una notable simplificacion en la exposicion del
metodo.
Definicion 5.4 Las fbfs se clasifican en:
literales,
de tipo , o de comportamiento conjuntivo,
de tipo , o de comportamiento disyuntivo.
Cada formula de tipo o de tipo tiene asociada dos componentes, denotadas 1 , 2 y 1 , 2 respectivamente. Las siguientes tablas muestran las formulas de tipo y de tipo junto con sus componentes.

AB
(A B)
(A B)
A

1
A
A
A
A

2
B
B
B
A

AB
(A B)
AB

1
A
A
A

2
B
B
B

Obviamente se tiene el siguiente teorema:


Teorema 5.1
Para toda -formula, 1 2 .
Para toda -formula, 1 2 .

5.2.1. Reglas de Extension


El a rbol inicial asociado a un conjunto de fbfs, , denotado T , es extendido sucesivamente, para obtener
a rboles asociados a , mediante las siguientes reglas:
() Si A denota la rama determinada por el nodo hoja A y una -formula ocurre en A , extendemos dicha
rama anadiendo:
Dos nodos etiquetados con sus componentes 1 , 2 si 1 6= 2 .
Un nodo etiquetado con la componente comun si 1 = 2 .

120

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

..
.

..
.

..
.

..
.

1
2

() Si A denota la rama determinada por el nodo hoja A y una -formula ocurre en A , extendemos dicha
rama anadiendo:
Dos nodos si 1 6= 2 : uno como descendiente izquierdo y otro como descendiente derecho
etiquetados con sus componentes 1 y 2 respectivamente.
Un nodo etiquetado con la componente comun, si 1 = 2 .
..
.

..
.

..
.

..
.

arbol para ,
Definicion 5.5 Sea = {A1 , . . . , An } un conjunto de fbfs. Un a rbol T se dice que es un
si existe una secuencia de a rboles T1 , . . . , Tn tal que:
T1 es el a rbol inicial asociado a , es decir, el a rbol de una sola rama:
A1
A2
..
.
An
on inmediata de Ti1 , es
Cada a rbol Ti (2 i n) es un a rbol asociado a que es extensi
decir, Ti se obtiene de Ti1 por aplicacion de una regla de extension a uno de sus nodos.

5.2. METODO
DE LAS TABLAS SEMANTICAS

121

Tn = T .
Definicion 5.6 Sea T un a rbol para . Una rama de T se dice cerrada, si en ella ocurren una formula
B y su negacion B. En caso contrario, se dice que la rama es abierta. El a rbol T se dice cerrado si
todas sus ramas son cerradas.
Una rama de un a rbol T para se dice completa si satisface las siguientes condiciones:
1. Si la formula ocurre en , tambien sus componentes 1 y 2 ocurren en .
2. Si la formula ocurre en , o la componente 1 o la componente 2 ocurre en .
Definicion 5.7 Un a rbol T para se dice terminado si toda rama es cerrada o completa.
Teorema 5.2 Para todo conjunto finito de fbfs, mediante un numero finito de extensiones inmediatas se
obtiene un a rbol terminado para .
: Basta advertir que para toda -formula y para toda -formula, el grado de sus compoD EMOSTRACI ON
nentes (1 y 2 , y 1 y 2 respectivamente) es estrictamente menor que el grado de o respectivamente.
En efecto, lo demostramos para el caso de una formula:
Sea T un a rbol para A. Para todo nodo B de T sea bin(B) el numero de conectivos binarios en B y
neg(B) el numero de conectivos en B. Definimos
W (B) = 2bin(B) + neg(B)
Cada extension inmediata de T por aplicacion de una regla de expansion a B, crea un nuevo nodo X o dos
nodos X1 y X2 tales que
W (X) < W (B),

W (X1 ) < W (B),

W (X2 ) < W (B)

Por lo tanto, ninguna rama de T puede ser extendida indefinidamente.


on para un conjunto, , de fbfs a todo a rbol cerrado para .
Definicion 5.8 Llamamos refutaci
Una fbf C se dice que se deriva del conjunto de fbfs {H1 , . . . , Hn }, si existe una refutacion para
{H1 , . . . , Hn , C}. En particular, una fbf A se dice demostrable si existe una refutacion para {A}.
Definicion 5.9 Un a rbol T para un conjunto, , de fbfs se dice satisfacible si el conjunto de las fbfs
que etiquetan los nodos de alguna de las ramas de T es satisfacible. Una rama tal se dice que es satisfacible.
Teorema 5.3 (de existencia de modelo) Toda rama completa y abierta de un a rbol T para es satisfacible.
: Sea F BF el conjunto de fbfs que etiquetan los nodos de . Definamos una interpretaD EMOSTRACI ON
cion I construida a partir de como sigue:
- I (p) = 1, si p F BF .
- I (p) = 0, si p F BF .

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

122

Puesto que es abierta, no existe ninguna fbf tal que tanto ella como su negacion sean miembros de
F BF .
Probaremos ahora que toda formula de F BF es verdadera en I .
Supongamos, por reduccion al absurdo, que existe una fbf que etiqueta algun nodo de y que es falsa
en I .
Elijamos la de menor grado (o una de ellas, si hay mas de una) con dicha propiedad, sea A tal formula.
Es decir, se cumple:
(H) I (A) = 0 y para toda B F BF tal que gr(B) < gr(A), se tiene que I (B) = 1.
A no puede ser un literal, dada la definicion de I . Si A = p, entonces I (p) = 1. Si A = p, entonces
= 0, luego I (p) = 1. Por tanto, A tiene que ser una o bien una . Veamos que tampoco puede
darse ninguno de estos casos.
I (p)

- Si A fuera una -formula, dado que es una rama completa y abierta se tiene que 1 y 2 F BF .
Como gr(1 ), gr(2 ) < gr(), entonces por la hipotesis (H), tendramos que I (1 ) = I (1 ) = 1.
Luego I () = 1, lo que entra en contradiccion con (H), que establece que I (A) = I () = 0. As pues,
A no puede ser una -formula.
- Si A fuera una -formula, dado que es una rama completa y abierta se tiene que 1 F BF o bien
2 F BF . Dado que gr(1 ), gr(2 ) < gr(), por (H) tendramos que si 1 F BF , entonces
I (1 ) = 1 y si 2 F BF , entonces I (2 ) = 1. En cualquier caso, I () = 1. Pero esto contradice la
hipotesis (H), que establece que I (A) = I () = 0. As pues, A tampoco puede ser una -formula.
El teorema de existencia de modelos asegura que en un a rbol terminado para un conjunto de fbfs,
cada rama abierta , de existir, proporciona un modelo para , concretamente, toda interpretacion I tal que
I(pi ) = 1 si pi ocurre en e I(pi ) = 0 si pi ocurre en .
Vemos pues que no es necesario que el modelo generado asigne valores de verdad especficos a todos
los smbolos proposicionales que intervienen en y que ramas distintas pueden generar el mismo modelo.
Teorema 5.4 (Correccion y completitud) El metodo de las tablas semanticas es:
1. Correcto: Si {H1 , . . . , Hn , C} puede ser refutado entonces H1 , . . . , Hn |= C.
2. Completo: Si H1 , . . . , Hn |= C, entonces existe una refutacion para {H1 , . . . , Hn , C}.
: Supongamos que existe una refutacion para {H1 , . . . , Hn , C} y probemos que H1 , . . . , Hn |=
D EMOSTRACI ON
C, es decir, que {H1 , . . . , Hn , C} es insatisfacible. Lo probaremos por reduccion al absurdo, demostrando
que si = {H1 , . . . , Hn , C} es satisfacible entonces todo a rbol terminado para tiene una rama abierta.
Para ello, bastara probar que:
Si T es un a rbol satisfacible para entonces el a rbol para , T , obtenido al aplicar a T
cualquier regla de extension es tambien satisfacible.
Lema 5.1 Sea T un a rbol satisfacible para y sea una rama satisfacible de T . Supongamos que T ha
sido obtenido al aplicar una regla de extension a un nodo de una rama de T etiquetado con una fbf A.
Entonces,

5.2. METODO
DE LAS TABLAS SEMANTICAS

123

Si 6= entonces es una rama de T y por lo tanto T es satisfacible.


Si = , podemos distinguir dos casos:
A es una formula. Entonces T ha sido obtenido al anadir al nodo hoja de las dos componentes 1A y 2A de A y, puesto que A (1A 2A ) y es satisfacible, T es satisfacible.
A es una formula. Entonces T ha sido obtenido al anadir al nodo hoja de dos nodos, uno
como descendiente izquierdo y otro como descendiente derecho, etiquetados respectivamente
con las componentes 1A y 2A de A y, puesto que A (1A 2A ) y es satisfacible, bien
1A o bien 2A es satisfacible. Por lo tanto, T es satisfacible.
Supongamos ahora que H1 , . . . , Hn |= C y probemos que existe una refutacion para {H1 , . . . , Hn , C}. Si
no existiera una refutacion para = {H1 , . . . , Hn , C} entonces todo a rbol terminado para tendra una
rama abierta y, por el teorema anterior, sera satisfacible. Por lo tanto, {H1 , . . . , Hn , C} sera satisfacible
en contra de la hipotesis.

5.2.2. Descripcion del metodo


En la construccion de un a rbol para refutar un conjunto de formulas, se tienen en cuenta las siguientes
consideraciones:
Para evitar ramificaciones innecesarias, se da prioridad a la regla ().
La regla () o () se aplica sobre cada nodo una sola vez. Para indicar que la -formula o -formula
correspondiente no sera usada mas, tras su aplicacion, se marca el nodo con X.
No se realiza ninguna extension sobre las ramas cerradas. Para indicar que una rama es cerrada se
marca con .

r r El numero maximo de subformulas de una fbf, A, de la logica proposicional es lineal (O(n)) en la


longitud de A. Por lo tanto, en el peor de los casos se emplea un tiempo polinomico (respecto a la longitud
de A) en desarrollar una rama entera de un a rbol semantico para A. Esto significa que el algoritmo es
polinomial no determinista, es decir, pertenece a la clase de complejidad NP.

En la siguiente Figura aparece un diagrama de flujo para la construccion de un a rbol de refutacion

124

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL
Hipotesis 1
Hipotesis 2
..
.
Hipotesis n
Negacion de la conclusion
(o, respec. Negacion de la formula)

Aplicar o a un nodo no marcado

Marcar con las ramas cerradas

Estan todas las ramas marcadas?


SI

V ALIDA

NO

Quedan nodos o sin marcar?


NO

N O V ALIDA

Figura 5.2:
En los siguientes ejemplos hacemos uso del metodo.

SI

5.2. METODO
DE LAS TABLAS SEMANTICAS

125

Ejemplo 5.5 Demostremos la validez de la formula ((p q) (q p)) ((p q) (p q)).


[((p q) (q p)) ((p q) (p q))]X1
(p q) (q p)X2
((p q) (p q))X3
p qX4
q pX5
p qX6
(p q)X7

q
p

q
p

q
p
p

q p

Ejemplo 5.6 Demostremos que no es valida la formula A = ((p q) (q p)) ((p q) (p q)).
[((p q) (q p)) ((p q) (p q))]X1
(p q) (q p)X2
((p q) (p q))X3
p qX4
q pX5
p qX6
(p q)X7

q
p

p q

La rama abierta encontrada nos proporciona un modelo de A, es decir, un contramodelo de A, concretamente, la interpretacion I tal que I(p) = 0 e I(q) = 0.
Las ramas no completadas, no son requeridas, ya que el metodo nos ha proporcionado un contramodelo.

126

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

Ejemplo 5.7 Demostremos que la inferencia (p q) r, q |= p r no es valida.


(p q) rX2
q
(p r)X1
p
r
(p q)X3
p
q

La rama abierta nos proporciona un modelo para el conjunto de formulas


{(p q) r, q, (p r)}
concretamente, cualquier interpretacion I tal que I(p) = I(q) = I(r) = 0 satisface todas las hipotesis, pero
no la conclusion de la inferencia.
El metodo de tablas semanticas que acabamos de describir tiene un marcado interes debido a que es
extensible a la logica de primer orden y, lo que es mas importante, la mayora de los ATPs existentes en
logicas no clasicas son de este tipo.

5.3. Metodos que requieren que la entrada este en forma clausal


La mayora de los sistemas de refutacion exigen que su entrada este en en forma normal conjuntiva
restringida. Concretamente, para verificar la validez de una formula A, considera como entrada una forma
clausal de A y para verificar la validez de una inferencia
H1
H2
..
.
Hn

C
consideran como entrada una forma clausal de H1 Hn C, y determinan si tal forma clausal (es
decir si tal conjunto de clausulas) es o no insatisfacible.
Ejemplo 5.8 Para estudiar la validez del razonamiento
H1
H2
H3
C

:
:
:
:

p (q r)
(q s) p
rp
s (p (q r))

obtenemos la forma clausal del conjunto que se obtiene tras refutar la conclusion:


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL

127

H1 = p (q r) p q r
H2 = (q s) p q s p
H3 = r p r p
C s (p q r) (q p) (r p)
Los detalles de la conversion en forma normal conjuntiva restringida de C son los siguientes:
C = (s (p (q r)))
(s ((p q r) (p (q r))))
s ((p q r) (p (q r)))
s (p p) (p q r) (q p) (q q r) (r p) (r q r)
s (p q r) (q p) (r p)
Por lo tanto, la forma clausal de {H1 , H2 , H3 , C} es
= {p q r, q s p, r p, s, p q r, q p, r p}
Ejemplo 5.9 Vamos a formalizar mediante un conjunto de clausulas el problema de la k-coloracion del grafo
de tres vertices
V1
V2

V3

que consiste en decidir si los nodos del grafo pueden colorearse empleando k colores de manera que dos
vertices adyacentes no tengan el mismo color. Para ello, consideramos el conjunto de variables proposicionales
{p11 , p12 , p13 p21 , p22 , p23 , p31 , p32 , p33 }
entendiendo que una variable pij se lee: el vertice Xi tiene asignado el color j.
As pues, para considerar el problema como un problema SAT, tendremos que contemplar la forma
clausal consistente en:
1. Un conjunto de clausulas que expresen que cada vertice tiene asignado un u nico color. Para lo cual,
consideramos
clausulas que expresen que cada vertice tiene asignado al menos un color:
p11 p12 p13 ;

p21 p22 p23 ;

p31 p32 p33

clausulas que expresen que cada vertice tiene asignado a lo sumo un color:
p11 p12 p21 p22 p31 p32
p11 p13 p21 p23 p31 p33
p12 p13 p22 p23 p32 p33
2. Un conjunto de clausulas que expresan que dos vertices adyacentes tienen asignados colores diferentes:

128

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL
p11 p21 p12 p22 p13 p23
p11 p31 p12 p32 p13 p33
p21 p31 p22 p32 p23 p33

A partir de esta formalizacion, toda interpretacion, I, que satisface estas clausulas, nos permite generar una
coloracion valida: si I(pij ) = 1, se asigna el color j al vertice Vi .
En esta seccion vamos a estudiar tres de metodos cuya entrada es una forma clausal: El metodo de
Quine, el metodo de Davis-Putnam y el metodo de Resolucion.

5.3.1. Algoritmo de Quine como metodo de refutacion


El algoritmo de Quine se simplifica significativamente si se utiliza para analizar la satisfacibilidad de
una forma clausal.
Sea un conjunto finito de clausulas restringidas cuya satisfacibilidad deseamos analizar. En este caso,
podemos describir el algoritmo de Quine como sigue:
Si p es un smbolo proposicional que interviene en . Dividimos en tres subconjuntos:
p el subconjunto de las clausulas de que contienen p como literal,
p el subconjunto de las clausulas de que contienen p como literal
= \ (p p ) el subconjunto de las clausulas restantes (que no contienen a p ni a p).
Con esta notacion, el algoritmo de Quine procede comenzando con un a rbol hoja etiquetado con y expandiendolo mediante las siguientes reglas:
1. Si = , entonces es satisfacible.
2. Si = {} entonces es insatisfacible. (donde  denota la clausula vaca)
3. En otro caso,
3.1 Seleccionar un smbolo proposicional p que intervenga en .
3.2 Calcular p , p y = \ (p p )
3.3 Obtener p cuyas clausulas son las de p despues de haber eliminado en cada una de ellas el
literal p.
3.4 Obtener p cuyas clausulas son las de p despues de haber eliminado en cada una de ellas el
literal p.
Entonces, es insatisfacible si y solo si los dos conjuntos p y p son insatisfacibles

20 .

Si es preciso recurrir al paso 3, se reitera el proceso. De este modo, el problema de analizar la satisfacibilidad
de ha quedado reducido al de analizar la satisfacibilidad de dos conjuntos de clausulas p y p
(ambos mas simples que , ya que ninguno de ellos contiene a p ni a p). El algoritmo termina cuando:
todas las ramas llevan a un conjunto insatisfacible, en cuyo caso el conjunto original es insatisfacible, o bien cuando
20

Adviertase que si es vaco, no hay que agregarlo ya que es una tautologa


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL

129

en una de las ramas se llega a un conjunto de clausulas en el que no hay un par de clausulas con
literales opuestos. Tal conjunto es satisfacible. Un modelo se obtiene dando el valor 1 a un literal de
cada clausula. 21
La correccion del algoritmo se basa en el teorema siguiente de comprobacion inmediata:
Teorema 5.5 Para cualquier interpretacion I I se tiene que:
Si I(p) = 1, entonces es satisfacible si y solo si lo es p .
Si I(p) = 0 entonces es satisfacible si y solo si lo es p .
Ejemplo 5.10 Analizar mediante el algoritmo de Quine la satisfacibilidad de
= {p q, p r, q r, p}
= {p q, p r, q r, p}

= {, q r}
p = {q, r, q r}
p

= {r, r}
= {, r}
q

Por lo tanto, el algoritmo termina concluyendo que es insatisfacible.

5.3.2. El metodo Davis-Putnam


Este metodo tambien toma como entrada un conjunto de clausulas y es usado como metodo de refutacion. Es una mejora del metodo de Quine que acabamos de estudiar y en e l se basan la mayora de los
algoritmos por refutacion completos. 22
La mejora se consigue tomando en consideracion que, como hemos advertido, al describir el metodo de
Quine, la ordenacion de los smbolos proposicionales elegida tiene especial relevancia en la ejecucion del
algoritmo y una seleccion o ptima evita ramas innecesarias en el a rbol semantico.
Con esta idea, para analizar la satisfacibilidad de un conjunto de clausulas, , se considera que un
smbolo de proposicion, p, debe tener prioridad en el proceso de seleccion de la ordenacion en los siguientes
casos:
Una de las clausulas de es p o bien p. En cuyo caso, decimos que tal literal (p o p) es una
cl
ausula unitaria en .
solo uno de los literales p o p interviene en . En cuyo caso, decimos que tal literal (p o p) es un
literal puro en .
21

Lo cual no altera el valor de verdad de las otras clausulas, ya que no contienen el opuesto de tal literal
Se conoce como procedimiento DPLL en la bibliografa.
Otro algoritmo completo eficiente es CHAFF (Ver M. moskewicz, C. Madigan, Y. Zhao, L. Zhang, y S. Malik. CHAFF: Engineering an efficient SAT solcer. En Proceedings of th 38th design Automation Conference (DAC 2001) pags 530-535. ACM Press,
2001.
CHAFF resuelve problemas de verificacion de hardware del orden del millon de variables, y fue el ganador de la competicion
SAT 2002.
22

130

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

En definitiva, el metodo utiliza tres reglas:


Regla de propagaci
on unitaria.. 23 Es la aplicacion iterada de la siguiente regla:
Dado un conjunto de clausulas que contiene una clausula unitaria cuyo u nico literal
es , la regla de la clausula unitaria elimina de todas las clausulas que contienen y
24
elimina, del resto de clausulas, todas las ocurrencias del literal opuesto, .
Por lo tanto, la regla puede ser expresada como sigue:
Si

entonces sustituimos por [/]

Al aplicar propagacion unitaria a se obtiene un conjunto de clausulas = [/] que es equisatisfacible con , es decir, tiene un modelo si y solo si tiene un modelo. Pero el conjunto de
clausulas es mas sencillo de resolver porque tiene menos literales:
Lema 5.2 Si es una clausula unitaria en , entonces es satisfacible si y solo si [/] es satisfacible.
Ademas, si I es un modelo de [/], entonces cualquier extension del I tal que I() = 1 es modelo de A.
: Sea A una fbf tal que es una forma clausal de A, entonces, [/] es una forma
D EMOSTRACI ON
clausal de A[/]. Tenemos que demostrar que A es equisatisfacible con B.
Puesto que es una clausula unitaria en , tenemos que A A.
Demostremos en primer lugar que A A[/]: Sea I una interpretacion cualquiera. Tenemos dos
posibilidades:
Si I() = 1 entonces, I(A) = I( A[/]) = 1
SI I() = 0 entonces, I(A) = I( A[/]) = 0
Ahora, es inmediato demostrar que A es equisatisfacible con A[/]. En efecto:
Si A es satisfacible, puesto que A A[/], se tiene que A[/] es satisfacible.
Si A[/] es satisfacible e I0 un modelo de A[/], entonces, puesto que en A[/] no ocurre ni ni
, podemos considerar la interpretacion I tal que I(p) = I0 (p) para todo smbolo proposicional que
ocurre en A[/] e I() = 1. Tenemos pues que I es un modelo de A.

Regla del literal puro: Dado un conjunto de clausulas que contiene un literal puro, ,
esta regla elimina de todas las clausulas que contienen . 25 Por lo tanto, la regla puede ser expresada
como sigue:
Si es puro, entonces sustituimos por [/]
Al aplicar esta regla a se obtiene un conjunto de clausulas que es equisatisfacible con , pero
que, como para la regla anterior, es mas sencillo de resolver porque tiene menos literales:
23

En la bibliografa inglesa: unit propagation y Boolean Constraint Propagation (BCP).


Es decir, se asigna a el valor de verdad 1, ya que si consideraramos interpretaciones, I, tal que I() = 0, tendramos que
I() = 0.
25
Es decir, se asigna a el valor de verdad 1
24


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL

131

Lema 5.3 Si es una literal puro en , entonces es satisfacible si y solo si [/] es satisfacible.
Ademas, si I es un modelo de [/], entonces cualquier extension del I tal que I() = 1 es modelo de A.
: Por el lema ??, si es una clausula unitaria en , el resultado esta asegurado. DemosD EMOSTRACI ON
tramos pues el caso en que no es una clausula unitaria en .
Supongamos que es satisfacible y sea I0 un modelo de . Entonces I0 (Ci ) = 1 para toda clausula Ci
en .
Podemos considerar dos casos:
Si I0 () = 1 entonces I0 () = I0 ([/]) = 1 y, por lo tanto, [/] es satisfacible.
Si I0 () = 0, puesto que, por hipotesis, en toda clausula de ocurre un literal distinto de , se tiene
que la interpretacion I tal que
I (p) = I0 (p) si p 6= y p 6= , y
I () = 1
es un modelo de [/].
Recprocamente, si [/] es satisfacible entonces toda interpretacion I0 que sea un modelo para [/]
puede extenderse a un modelo de , definiendo la nueva interpretacion I como sigue:
I( ) = I0 ( ) para todo literal tal que 6=
I() = 1.

Regla de ramificaci
on: Dado un conjunto de clausulas que contiene al menos un literal
que no es puro, la regla de ramificacion reduce el problema de determinar la satisfactibilidad de a
dos subproblemas mas sencillo de resolver:
el problema de determinar si {} es satisfactible, o bien
es satisfactible.
el problema de determinar si {}
El metodo aplica la regla de ramificacion a conjuntos de clausulas que no contienen clausulas unitarias ni literales puros. Puesto que la propagacion unitaria respeta la satisfacibilidad, se puede reducir
el problema de determinar la satisfacibilidad de a los dos subproblemas de determinar la satisfaci 26
bilidad de {} y {}.

Descripcion del algoritmo


El algoritmo procede como sigue:
Paso 1: Aplicar la regla de propagacion unitaria.
Si tras su aplicacion se tiene como resultado un conjunto vaco de clausulas, entonces el conjunto
al que se aplica es satisfacible.
26

Mediante la Regla de propagacion unitaria y a continuacion la regla del literal puro

132

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL
Si tras su aplicacion se tiene como resultado un conjunto de clausulas que contiene a , entonces
el conjunto al que se aplica es insatisfacible.
En otro caso, es preciso el paso 2.
Paso 2: Aplicar la regla del literal puro.
Si tras su aplicacion se tiene como resultado una conjunto vaco de clausulas, entonces el conjunto al que se aplica es satisfacible.
Si tras su aplicacion se tiene como resultado un conjunto de clausulas que contiene a , entonces
el conjunto al que se aplica es insatisfacible.
Si tras su aplicacion obtenemos una clausula unitaria, entonces regresamos al paso 1.
Si tras su aplicacion existe otro literal puro, volver a aplicar este paso.
En otro caso, es preciso el paso 3.
Paso 3: Elegir un literal que ocurra en el conjunto entrada de clausulas, aplicar la regla de ramificacion
y para cada uno de los dos subproblemas volver al paso 1.

Estos pasos se repiten hasta que se llega a un conjunto vaco de clausulas en algun subproblema (en cuyo
caso el conjunto de clausulas de entrada, , es satisfacible) o hasta que se llega a la clausula vaca en todos
los subproblemas (entonces, el conjunto de clausulas de entrada, , es insatisfactible).

rr

1. La descripcion del algoritmo no es determinista, ya que en la regla de bifurcacion no hemos establecido un criterio de seleccion del literal. Existen diferentes heursticas:
Seleccionar el literal con el maximo numero de ocurrencias.
Seleccionar literales con el maximo numero de ocurrencias en las clausulas pequenas.
Seleccionar literales que causen el mayor numero de propagaciones unitarias.
Seleccionar las literales aleatoriamente
2. Es obvio que el algoritmo es paralelizable de modo natural, sin mas que aprovechar la regla de bifurcacion para realizar el procesamiento en paralelo. Dividiendo el espacio de busqueda, al asignar
distintas ramas a los procesos, se consigue reducir el tiempo total de computo.

Ejemplo 5.11 Apliquemos el metodo a = {p q r, p r s, p t, q s, q r s}


{p q r, p r s, p t, q s, q r s}

{p, p q r, p r s, p t, q s, q r s} {p, p q r, p r s, p t, q s, q r s}
Pr.Unit
Pr.Unit
{q r, r s, q s, q r s}
{t, q s, q r s}

{q, q r, r s, q s, q r s}
Pr.Unit
{r, r s}
Pr.Unit
{s}
Pr.Unit
{}

{q, q r, r s, q s, q r s}
Pr.Unit
{r s, s, r s}


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL

133

Hemos llegado a una rama con el conjunto vaco de clausulas. Por lo tanto, es satisfacible.
Ejemplo 5.12 Apliquemos el metodo a
= {p q r, p r s, p t, q s, q r s, q r s, p t}
= {p q r, p r s, p t, q s, q r s, q r s, p t}

Pr.Unit p
Pr.Unit p

{q r, r s, q s, q r s, q r s}
Pr.Unit q

{t, q s, q r s, q r s, t}

Pr.Unit q

{r, r s, r s}
Pr.Unit r
{s, s}
{}

{. . . , }

{r s, s, r s}
Pr.Unit s
{r, r}
{}

En todas las ramas llegamos a la clausula vaca. Por lo tanto, es insatisfacible.

5.3.3. Metodo de Resolucion


Este metodo, introducido por Robinson, 27 es el sistema de demostracion automatica mas conocido.
Ello se debe a que la mayora de los sistemas de programacion logica son demostradores de teoremas por
resolucion.
A diferencia del metodo de las tablas semanticas y al igual que los metodos de Quine y Davis-Putnam, se
aplica u nicamente a formas clausales y para ello utiliza una sola regla de inferencia, la regla de Resolucion.
La idea basica del metodo de resolucion es el siguiente resultado semantico:
Teorema 5.6 Dado un conjunto de clausulas,
es insatisfacible si y solo si |=
donde representa la clausula vaca (disyuncion vaca de literales).
: Si es insatisfacible entonces |= A para toda fbf A, en particular para A = .
D EMOSTRACI ON
Recprocamente, puesto que es insatisfacible, si |= se tiene que es insatisfacible.
Basandose en este resultado, el metodo funciona derivando clausulas a partir del conjunto de clausulas
hasta obtener , o bien concluir que no es derivable de .
Para derivar nuevas clausulas a partir del conjunto de clausulas, , como hemos indicado, el metodo
utiliza una u nica regla de inferencia llamada regla de resolucion la cual pasamos a describir.
27

J. Robinson. A machine-oriented logic based on the resolution principle. Journal of the ACM, 12(1):2341, 1965.

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

134

Definicion 5.10 Dos clausulas C1 y C2 se dicen resolubles respecto a un literal l, si l ocurre en C1 y su opuesto l ocurre en C2 . Si C1 y C2 son resolubles respecto a l, llamamos resolvente de C1
y C2 respecto de l , denotada Rl (C1 , C2 ), a la clausula
Rl (C1 , C2 ) = la forma restringida de (C1 l) (C2 l)
donde C1 l representa la clausula obtenida al eliminar l en C1 y C2 l representa la clausula obtenida al
eliminar l en C2 , respectivamente.
Ejemplo 5.13
Rp (p q r, q p t) = q r t
Rp (p, p) =
C1 = q r, C2 = p r no son resolubles respecto de ningun literal.
Rp (q r, r p) NO existe.
Definicion 5.11 La regla de resoluci
on es la siguiente:
Si C1 y C2 son resolubles respecto a entonces entonces: R (C1 , C2 ) es consecuencia inmediata de C1 y C2 :
C1
C2
R (C1 , C2 )

r r Que ocurre si consideramos, por ejemplo, las clausulas C1 = p q r y C2 = p q t? En este


caso, podemos obtener:
Rp (C1 , C2 ) = q r q t
Rq (C1 , C2 ) = p r p t
As, pues, si dos clausulas son resolubles respecto a mas de un literal, las resolventes respecto a cualesquiera de estos literales es .
Podramos plantearnos resolver simultaneamente respecto de p y q. Sera correcto que tal resolvente es
r t? Veamos que no es as, ya que perderamos la propiedad deseada, es decir: C1 , C2 6|= r t. En
efecto, basta considera la interpretacion I tal que I(p) = I(q) = 1 e I(r) = I(t) = 0, tendramos que
I(C1 ) = I(C2 ) = 1, pero I(r t) = 0. Es preciso pues tener claro que la regla de resoluci
on
define la resolvente respecto a un
unico literal.

El siguiente resultado La justificacion semantica de la regla de resolucion es el siguiente resultado mas


general y de comprobacion inmediata:
Lema 5.4 Para cualesquiera tres fbfs A, B y C, se tiene que:
A B, A C |= B C
: Tenemos que comprobar que Mod((A B) (A C)) Mod(B C). En efecto,
D EMOSTRACI ON
Sea I Mod((A B) (A C)). Entonces, I(A B) = I(A C) = 1 y tenemos dos casos posibles
para I:


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL

135

Si I(A) = 1, se tiene que I(A) = 0 y puesto que I(A C) = 1, se concluye que I(C) = 1 y, por
lo tanto, I(B C) = 1, es decir, I Mod(B C).
Si I(A) = 0, se tiene que I(A) = 1 y puesto que I(A B) = 1, se concluye que I(B) = 1 y, por
lo tanto, I(B C) = 1, es decir, I Mod(B C).
Como consecuencia trivial de este resultado se tiene el siguiente resultado
Teorema 5.7 Dado un conjunto de clausulas , si C1 , C2 son resolubles entonces
es satisfacible

si y solo si

{Rl (C1 , C2 } lo es.

r r El Lema ?? nos destaca que la regla de Resolucion es una generalizacion de la regla Modus Ponens.
Concretamente, es un caso particular de la regla de Silogismo Hipotetico:
X Y, Y Z |= X Z
En efecto, basta tener en cuenta que A B B A; A C A C y B C B C.

Definicion 5.12 Dados un conjunto de clausulas y una clausula C, se dice que C es deducible por
resoluci
on a partir de , denotado R C, si existe una secuencia finita de clausulas C1 , C2 , , Cn
tal que
1. Cada Ci (1 i n) es o bien una clausula de o bien una resolvente de dos clausulas anteriores
en la secuencia.
2. Cn = C.
La secuencia Ci (1 i n) se dice que es una deducci
on por resoluci
on de C a partir de ;
on de .
on por resoluci
y si C =  la secuencia se denomina refutaci
Ejemplo 5.14 Demos una refutacion por resolucion del siguiente conjunto de clausulas
= {p q, q r, p r, r}
1.
2.
3.
4.
5.
6.
7.
8.

p r
r
p
q r
q
pq
q

de
de
Resolv(1, 2)
de
Resolv(2, 4)
de
Resolv(3, 6)
Resolv(5, 7)

Como consecuencia del teorema ?? tenemos el siguiente resultado que garantiza la correccion y completitud de la regla de resolucion.
Teorema 5.8 Un conjunto de clausulas restringidas es insatisfacible si y solo si es posible construir una
refutacion por resolucion. Es decir,
|=

si y solo si

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

136

Ejemplo 5.15 En el ejemplo ?? hemos visto que el razonamiento


H1
H2
H3
C

p (q r)
(q s) p
rp
s (p (q r))

es valido si y solo si el conjunto


= {p q r, q s p, r p, s, p q r, q p, r p}
es insatisfacible. Una refutacion por resolucion que lo prueba es la siguiente:
1. p q r
2. q s p
3. r p
4. s
5. p q r
6. q p
7. r p
8. q p
9. p r
10. p
11. q

R(8, 5)

R(3, 9)
R(6, 10)

12. p r
13. r

R(2, 4)

R(1, 11)

R(9, 12)

14. r

R(7, 10)

15.

R(13, 14)

5.3.3.1.

Arboles
semanticos para un conjunto de clausulas

Recordemos el concepto de a rbol semantico introducido en la definicion 5.1: Dada una secuencia de
smbolos de proposicion = {p1 , p2 , . . . , pn , . . .}, un a rbol semantico respecto de es un a rbol binario
que satisface las condiciones siguientes:
1. Cada arco esta etiquetado con un literal pi o pi donde pi .
2. Los literales que etiquetan dos arcos que nacen del mismo nodo son opuestos.


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL

137

3. Ninguna rama contiene mas de una ocurrencia de cada pi .


Ahora, sea es un conjunto finito de clausulas y [p1 , . . . , pn ] una ordenacion del conjunto de los smbolos proposicionales que intervienen en . Consideraremos un a rbol semantico respecto de [p1 , . . . , pn ], en
el sentido establecido en la siguiente definicion.
Definicion 5.13 Un nodo N de un a rbol semantico respecto de [p1 , . . . , pn ] se denomina nodo fallo si
su interpretacion IN asociada es tal que IN (Ci ) = 0 para alguna clausula Ci de , pero ninguna de las
interpretaciones asociadas a sus ascendientes posee esta propiedad.
Un nodo fallo nos proporciona una interpretacion (parcial) I que refuta a . Por tanto, no es preciso
considerar las extensiones de I.
Un a rbol semantico respecto de [p1 , . . . , pn ] se dice cerrado si todas sus hojas son nodos fallo.
Un nodo N de un a rbol semantico respecto de [p1 , . . . , pn ] se denomina un nodo inferencia si
sus dos descendientes inmediatos son nodos fallo.
Ejemplo 5.16 Dado = {p, q r, p q, p r}, la figura muestra un a rbol semantico cerrado para
respecto de [p, q, r]

p
p

q
q

()

I2 (p q) = 0
r
r

I6 (p) = 0

I4 (p r) = 0 I5 (q r) = 0

En este a rbol solo el nodo marcado con () es un nodo inferencia.


Lema 5.5 Sea N un nodo inferencia de un a rbol semantico respecto [p1 , . . . , pn ], y sean Ci y Cj clausulas
a las que asignan el valor de verdad 0 las interpretaciones asociadas al descendiente derecho de N y al
descendiente izquierdo de N . Si l y b
l son los literales que etiquetan los arcos que parten de N , entonces
IN (Rl (Ci , Cj )) = 0. En particular, N es un nodo fallo del a rbol semantico respecto de [p1 , . . . , pn ] para
{Rl (Ci , Cj )}.
: Supongamos que N no es un nodo fallo del a rbol semantico respecto de [p1 , . . . , pn ]
D EMOSTRACI ON
para {Rl (Ci , Cj )}. Entonces, la interpretacion I asociada a N es tal que IN (Rl (Ci , Cj )) = 1 y por lo
tanto, se tiene una de las situaciones siguientes:
1. Si Ni es el descendiente izquierdo de N , la interpretacion INi es una extension de IN tal que INi (Ci ) =
1.
2. Si Nd es el descendiente derecho de N , la interpretacion INd es una extension de IN tal que INd (Cj ) =
1
Por lo tanto, alguno de los dos descendientes inmediatos de N no sera nodo fallo, en contra de la hipotesis
de que N es un nodo inferencia.

138

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

Teorema 5.9 El metodo de resolucion es:


Correcto: dado un conjunto de clausulas , si existe una refutacion por resolucion de , entonces
es insatisfacible.
Completo: si un conjunto de clausulas es insatisfacible entonces existe una refutacion por resolucion de .
: Supongamos que C1 , C2 , . . . , Cn1 , es una deduccion por resolucion de a partir de
D EMOSTRACI ON
. Si fuera satisfacible existira un modelo I para , es decir, I(Ci ) = 1 para toda clausula Ci de . Puesto
que Cj , Ck |= Rl (Cj , Ck ), se tendra I(Ci ) = 1 para toda clausula Ci de la secuencia C1 , C2 , . . . , Cn1 , , y,
en particular, I() = 1 lo cual es imposible.
Recprocamente, si es insatisfacible y [p1 , . . . , pn ] es una ordenacion del conjunto de los smbolos
proposicionales que intervienen en , el a rbol semantico completo respecto a [p1 , . . . , pn ] nos permite (por
ser insatisfacible) obtener un a rbol semantico cerrado T para . Si T es un a rbol de un solo nodo, entonces
pues, en otro caso, se requiere al menos el primer nivel del a rbol semantico para acceder a un nodo
fallo. Por lo tanto, si , la secuencia de un solo elemento es una refutacion por resolucion de . En
cambio, si T no es un a rbol de un solo nodo, existe entonces al menos un nodo inferencia, o de lo contrario
todo nodo del a rbol tendra un descendiente no fallo, lo cual es imposible por tratarse T de un a rbol cerrado.
Sea, pues, N un nodo tal, y N1 y N2 sus descendientes inmediatos; entonces ambos son nodos fallo.
Por tanto, existen clausulas Cn , Cm en [C1 , . . . , Ck ] (una ordenacion de los elementos de ) tales que
IN1 (Cn ) = IN2 (Cm ) = 0. Sea l el literal del arco que va de N a N1 y b
l el literal opuesto que etiqueta
el arco que va de N a N2 , entonces por el lema previo a este teorema resulta que IN (Rl (Ci , Cj )) = 0.
Consideremos ahora el camino que va desde la raz del a rbol hasta N y eliminemos los arcos y nodos
debajo del primer nodo de dicho camino que cumpla que la clausula Rl (Ci , Cj ) es falsa en la interpretacion
parcial asociada a dicho nodo.
Obtenemos as un a rbol semantico cerrado T para [C1 , . . . , Ck ] {Rl (Ci , Cj )} que es un subarbol
estricto de T . Ahora, aplicamos este mismo proceso en T obteniendo como resultado un subarbol estricto
de T y una extension del conjunto de clausulas anterior de manera similar.
Procedemos as sucesivamente de modo que, en un numero finito de etapas, obtendremos una secuencia
cuyo a rbol semantico cerrado es un a rbol de un solo nodo y cuyo u ltimo elemento es , es decir, una
refutacion por resolucion de .
El modo habitual de representar las deducciones por resolucion a partir de un conjunto de clausulas
es mediante un a rbol binario.
Definicion 5.14 Un
arbol de resoluci
on para un conjunto de clausulas es un a rbol caracterizado
como sigue:
1. Cada nodo no hoja tiene dos descendientes inmediatos.
2. Cada nodo hoja esta etiquetado por una clausula de .
3. Cada nodo no hoja esta etiquetado por una resolvente de las etiquetas de sus descendientes inmediatos.
Por definicion, resulta inmediato el siguiente teorema:


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL

139

Teorema 5.10 Si C es la etiqueta de la raz de un a rbol de resolucion para , entonces R C.


Si C es , el a rbol se dice que es un
arbol de refutaci
on para .
Ejemplo 5.17 Construyamos un a rbol de refutacion para = {p q, q r, p r, r}:
pq

p r

q r

En general, para todo conjunto insatisfacible de clausulas, , existen refutaciones distintas para . El
siguiente a rbol muestra una nueva refutacion para el conjunto de clausulas del ejemplo anterior
p r

pq

q r

5.3.4. Resolucion como algoritmo


Si el conjunto de clausulas cuya satisfacibilidad estamos estudiando es finito, el conjunto de las variables proposicionales tambien es finito y, por lo tanto, tambien es finito el conjunto de resolventes que
podemos obtener (ya que estas deben ser clausulas restringidas). En consecuencia, es posible generar todas
las resolventes, lo que nos lleva al algoritmo basico construible sobre la regla de resolucion: generar sistematicamente todas las resolventes a partir de un conjunto de clausulas dado; si este conjunto contiene la
clausula vaca, el conjunto es insatisfacible, en caso contrario, es satisfacible.
En definitiva, dado un conjunto de clausulas , denotamos por R() la union de y el conjunto de
todas las resolventes de clausulas de (resolventes obtenidas utilizando solo clausulas de ).
Para todo n N, definimos Rn () como sigue:
R0 () =
Rn+1 () = R(Rn ())

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

140

Por definicion, es claro que Rn () Rn+1 ().


El algoritmo de resolucion construye sucesivamente R1 (), R2 () . . .. Si existe un k N tal que
Rk () entonces, es insatisfacible. En caso contrario, es satisfacible.
El siguiente teorema nos asegura que el algoritmo propuesto finaliza al cabo de un numero finito de
etapas.
Teorema 5.11 Dado un conjunto de clausulas, , existe m N tal que
Rn () = Rm () para todo n m
: Sea el conjunto de todas las clausulas cuyos literales son precisamente los literales
D EMOSTRACI ON
que ocurren en . Tenemos que es finito por serlo y ademas, como y al hallar la resolvente
de dos clausulas no se generan nuevos literales, se tiene que Rn () .
De este resultado y teniendo en cuenta que Rn () Rn+1 () y que es finito, se concluye de forma
inmediata que el algoritmo termina, es decir, el proceso de hallar resolventes para obtener nuevas clausulas
finaliza en un numero finito de etapas.
Puesto que el objetivo es comprobar la insatisfacibilidad de un conjunto , paramos la construccion de
la secuencia
R(), R2 (), . . . , Rm ()
cuando obtengamos . Si es satisfacible sera necesario construir conjuntos Rm () hasta que en un paso
dado no se generen nuevas clausulas, lo cual indicara que la clausula vaca no se puede deducir a partir
de .
El siguiente ejemplo muestra como aplicar el metodo propuesto.
Ejemplo 5.18 El conjunto de clausulas = {p q, p r, q r, p} es insatisfacible. Comprobemoslo
on: vamos a geneon por saturaci
usando el metodo de resolucion descrito, denominado resoluci
rar sistematicamente todas las posibles resolventes, comprobando si cada clausula es resoluble con todas
las demas y comprobando si cada nueva resolvente es a su vez resoluble con todas las demas. . .
1.

pq

2.
3.

pr
q r

4.

5.
6.

p r
q

R(1,3)
R(1,4)

7.
8.

p q
r

R(2,3)
R(2,4)

R() = {p r, q, p q, r}


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL
9.

10.

p
p

R(1,7)
R(2,5)

10.

R(3,6)

11.

12.

q
r

R(3,8)
R(4,5)

12.

12.

q
p

R(4,7)
R(5,8)

12.

R(6,7)

12.

12.

p
p

R(1,11)
R(2,10)

12.

(4,9)

141

R2 () = R() {p, r, q}

Las lneas tachadas indican que las resolventes generadas son eliminadas porque son repeticiones de
clausulas que estan previamente en la secuencia.
El metodo de resolucion por saturacion, es muy ineficiente. Basta observar que en el ejemplo anterior
se han generado quince resolventes hasta obtener la clausula vaca, en contraste con la siguiente refutacion
que requiere u nicamente cuatro resolventes:
5.

R(1,4)

6.
7.

r
q

R(2,4)
R(3,6)

8.

R(5,7)

Existen diversos refinamientos del metodo basico por saturacion. Todos ellos incluyen como simplificacion la eliminacion de aquellas clausulas, C, generadas por resolucion tales que satisfacen alguna de las
siguientes condiciones:
1. C contiene un literal y su opuesto, ya que en este caso C y claramente, {} es insatisfacible
si y solo si es insatisfacible.
2. C contiene otra clausula, C , ya generada. En este caso se dice que C subsume a C . La justificacion
semantica de esta regla de simplificacion es recogida en el lema siguiente.
Lema 5.6 Sea un conjunto de clausulas insatisfacible y sea C1 , C2 tal que C1 C2 . Entonces el
conjunto = \ {C2 } es insatisfacible.
: Basta tener en cuenta que, claramente, C1 |= C2 , es decir, C1 C2 C1 .
D EMOSTRACI ON
Presentamos a continuacion el refinamiento conocido como resoluci
on lineal propuesto por
Loveland 28 y Luckham, 29 y como caso particular, la mejora de este refinamiento, debida a Kowalski
28
29

D. Loveland. A linear format for resolution. In Proc. IRIA Symposium on Automatic Demostration, 1970.
D. Luckham. Refinements in resolution theory. In Proc. IRIA Symposium on Automatic Demostration, 1970.

142

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

y Kuenner, 30 llamado resoluci


on lineal ordenada. El nombre de resolucion lineal se debe a
que las deducciones se construyen como un tipo de razonamiento en cadena, es decir, para generar se
comienza con una clausula, se resuelve e sta con otra clausula y la resolvente obtenida con otra clausula y
as sucesivamente.

5.3.5. Resolucion Lineal


Sea un conjunto de clausulas y C0 . Una deducci
on lineal de una clausula C a partir de
con cabeza C0 , es una secuencia de clausulas del tipo
C0 , B0 , C1 , B1 , . . . , Cn1 , Bn1 , Cn
tal que
1. C0 .
2. Para todo i = 1, . . . , n 1, Ci es una resolvente de Ci1 y Bi1 .
3. Para todo i = 1, 2, . . . , n, Bi o Bi = Cj para algun j con j < i.
4. Cn = C.
arbol
El modo habitual de representar este tipo de deducciones es mediante un a rbol binario, llamado
de resoluci
on lineal, de la forma
C0

B0

C1

B1

C2
Cn1

..
.

Bn2
Bn1

C
ausulas laterales. Si
ausulas centrales y las Bi cl
Las clausulas Ci se denominan cl
C = , el a rbol se denomina un a rbol de refutaci
on lineal para con cabeza C0 .
Ejemplo 5.19 Un a rbol de refutacion lineal para = {p q, p q, q r, q r} con cabeza p q es,
30

R. Kowalski and D. Kuhner. Search strategies for theorem-proving. Machine Intelligence, 5, 1970.


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL

pq

p q

q r

q r

143

Las clausulas laterales son p q, q r, q r de y q. e sta u ltima es ademas una clausula central.
El metodo de resolucion lineal es correcto y completo, es decir, un conjunto de clausulas es insatisfacible si y solo si existe una refutacion lineal para .

5.3.6. Resolucion Lineal Ordenada


Este tipo de resolucion constituye, como hemos indicado, una mejora de la resolucion lineal. Dos son
las ideas basicas en las que se apoya este metodo:
1. Considera las clausulas como secuencia ordenada de literales en lugar de como conjunto de literales, llamandolas cl
ausulas ordenadas y dicho orden no puede ser alterado en el proceso de
deduccion.
2. Para analizar si dos clausulas C1 y C2 , son resolubles, solo miramos el u ltimo literal de C1 (en
consecuencia, el opuesto de este literal ocurre en C2 , aunque no sea como u ltimo literal).
3. Si en una clausula hay literales repetidos se deja u nicamente su ocurrencia mas a la izquierda.
4. El literal resuelto en la clausula C1 , se mantiene en la resolvente pero marcado con un recuadro.
5. En toda resolvente, se elimina todo literal encuadrado final.
Ejemplo 5.20 Presentamos tres ejemplos de resolucion lineal ordenada de dos clausulas dadas:
1. RO(p q r, p r t) = p q r t.
Como vemos, puesto que en la resolvente estara p repetida, hemos dejado la primera ocurrencia. La
clausula resolvente es p q t, el literal enmarcado r tiene un papel u nicamente de gua para la
descripcion del metodo.
2. RO(p q r, r) = p q. En este caso, hemos eliminado r porque ocurre en u ltimo lugar.
3. RO(p q r, q r) = p q r q.

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

144

5.3.7. Operacion de Reduccion


Sobre las clausulas con literales recuadrados, definimos la operacion de Reducci
on: si el u ltimo
literal de la clausula coincide con el opuesto de un literal recuadrado, tal literal es eliminado:
Red(p q r q) = p q r
En relacion a la resolucion lineal, la resolucion lineal ordenada no solo reduce el numero de resolventes
(debido al hecho de resolver u nicamente respecto del u ltimo literal) sino que ademas incorpora una nueva
eficiencia considerando un determinado tipo de clausulas respecto de las cuales solo se requiere resolver
con clausulas centrales:
ausula ordenada reducible si su
Definicion 5.15 Una clausula ordenada se denomina una cl
u ltimo literal es el opuesto de algun literal enmarcado de dicha clausula. Si C es una clausula ordenada
reducible, la clausula ordenada Red(C) se denomina la cl
ausula reducida de C.
Si la clausula Ci a resolver es reducible, existe una clausula central Cj tal que
RO(Ci , Cj ) = Red(Ci )

Disponemos ya de los elementos necesarios para definir la deduccion en la resolucion lineal ordenada.
Algoritmo. El algoritmo de resolucion lineal ordenada consiste en la creacion de uno o varios a rboles en
donde cada nodo y cada rama se etiquetan de una de las siguientes formas:
C1

C1

C2
RO(C1 , C2 )

Red(C1 )

es decir, en cada etapa, resolvemos la clausula actual C1 con una clausula del conjunto entrada de clausulas,
o bien reducimos la clausula actual C1 , si C1 es reducible.
Definicion 5.16 Sea un conjunto de clausulas ordenadas y C0 . Una deducci
on lineal
ordenada de una cl
ausula C a partir de con cabeza C0 es una secuencia de clausulas ordenadas C0 , B0 , C1 , B1 , . . . , Cn1 , Bn1 , Cn tal que
1. Para todo i = 0, 1, 2, . . . , n 1, Bi o Bi = Cj para algun j con j < i.
2. Para todo i = 2, . . . , n, si Ci1 es reducible, entonces Ci es la reducida de Ci1 y en caso contrario,
Ci es la resolvente ordenada de Ci1 y Bi con Bi .
3. Cn = C.
Como en el caso de la resolucion lineal, la secuencia de clausulas ordenadas
C0 , B0 , C1 , B1 , . . . , Cn1 , Bn1 , Cn
se representa mediante el a rbol


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL
C0

B0

C1

B1

C2

145

Bn2

..
.

Cn1

Bn1

C
En el caso en que C = , este a rbol se dice que es un
arbol de refutaci
on lineal ordenada
para .
Ejemplo 5.21 Un a rbol de refutacion lineal ordenada para
= {p q, p q, q r, q r}
con cabeza p q es el siguiente:
pq

q r

p q r

q r

p q r q

(. . . p q)

p
p q

p q
q r

p q r

q r

p q r q

(. . . p q)

Los puntos suspensivos en el a rbol de refutacion indican que no es preciso localizar la correspondiente
clausula lateral.
El metodo de resolucion lineal ordenada es correcto y completo, es decir, un conjunto de clausulas
ordenadas es insatisfacible si y solo si existe una refutacion lineal ordenada para .
Finalmente, pasamos a describir un modo sistematico para encontrar una refutacion lineal ordenada o
bien asegurar que no existe, es decir, a dar una descripcion algortmica del metodo:

146

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

1. La raz del primer a rbol es cualquier clausula del conjunto , C0 (a la que denominamos denomina cabeza).
2. Elegida C0 , se toman de todas las clausulas laterales resolubles con C0 . Sean R1 , . . . , Rk las correspondientes resolventes. Cada Ri (1 i k) es una clausula central de una deduccion a partir de
(con cabeza C0 ) (es decir, cada rama del a rbol se extiende anadiendo tantos hijos como clausulas
de sean resolubles respecto al primer literal por la derecha de la clausula de la hoja).
3. Si la clausula de una hoja es reducible, esta se extiende con una u nica rama cuyo nodo se etiqueta con
la clausula reducida.
4. Una rama deja de extenderse si ocurre una de las siguientes situaciones:
La clausula de la hoja ya ha sido generada anteriormente en cualquier parte del a rbol (y su rama
se ha extendido o parado por otra causa).
La clausula de la hoja es .
5. Si detenemos todas las ramas sin generar , iniciamos la construccion de otro a rbol a partir del
conjunto r{C0 }.
6. Si en cualquier a rbol generamos la clausula vaca, la salida del algoritmo es es insatisfacible.
7. Si todos los a rboles son parados sin generar la salida del algoritmo es es satisfacible.
En cuanto a su representacion grafica, las deducciones lineales ordenadas no se representan como a rboles
sino como se indica a continuacion:
C0
C1
C2 .
..
Cn1
Cn

B0
B1

Bn1

y para cada proceso de cabeza C0 , se utiliza un a rbol con raz la clausula cabeza C0 . El a rbol se genera
(habitualmente, primero en profundidad) de forma que cada nivel de profundidad representa una etapa. Las
ramas del a rbol as generado son por lo tanto deducciones lineales ordenadas de cabeza C0 .
En el siguiente ejemplo utilizamos la resolucion lineal ordenada para verificar la insatisfacibilidad de un
conjunto de clausulas.
Ejemplo 5.22 Dado = {p q, p r, q r, q w, r w, q r}, elegimos como cabeza la
clausula q r


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL
qr

147


qr
rw

q r q
q r w

(1)
qw
q

pq

q p

qr

q r

pr
q p r
rw
q p r w

qr

q p r q

qw
q p r w q

La rama senalada con (1) no ha sido desarrollada por ser q q una tautologa.

5.3.8. Complejidad del Metodo de Resolucion


Vamos a analizar la complejidad en el peor caso del metodo de resolucion cuando es utilizado para
analizar la insatisfacibilidad de un conjunto finito de clausulas .
Usaremos como medida del tamano de (la entrada al metodo) la suma del numero de literales de todas
las clausulas en y como medida de los recursos empleados el numero de aplicaciones que se realizan de
la Regla de Resolucion.
Procederemos directamente, mostrando una sucesion de conjuntos insatisfacibles de clasulas, n , cuyo tamano crece polinomicamente con n y para los cuales el tamano de la menor prueba posible crece
exponencialmente con n. Ello implica que cualquier implementacion del metodo de resolucion tiene una
complejidad en el peor caso al menos exponencial.31
31

Si nos limitamos a ciertos tipos de clausulas, como las clausulas de Horn que estudiaremos en la seccion siguiente, es posible
demostrar la existencia de algoritmos polinomicos e incluso lineales que resuelven el problema de la satisfacibilidad de un conjunto

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

148

Puesto que deseamos analizar la complejidad en el peor caso, bastara considerar un ejemplo y comprobar
que sobre e l, cualquier implementacion del metodo tiene una complejidad al menos exponencial. Para ello
hemos elegido la formalizacion del llamado principio del palomar que se puede enunciar como sigue:
Si tenemos n palomas y un palomar con n 1 casillas, y cada paloma debe estar en alguna
casilla, y en una casilla no puede haber mas de una paloma, entonces es imposible alojar las
palomas en el palomar.
o bien
Si tenemos un palomar con n 1 casillas y en ellas duermen n palomas, al menos hay una
casilla en la que duerme mas de una paloma.
Al simbolizar en un lenguaje proposicional las condiciones exigidas en la primera formulacion, obtenemos
necesariamente un conjunto insatisfacible de formulas.
Para su formalizacion, emplearemos n (n 1) smbolos de proposicion a las que denotaremos por pij ,
con la lectura la paloma i-esima esta en la casilla j-esima. Tendremos pues la siguiente formalizacion:
1. Clausulas que formalizan la condicion 1: Cada paloma esta en alguna casilla:
C1c1 =

p11 . . . p1(n1)

C2c1

p21 . . . p2(n1)

...

......

Cnc1 =

pn1 . . . pn(n1)

Son n cl
ausulas cada una con n 1 literales. Al conjunto de estas clausulas lo denotaremos por P Pnc1 = {C1c1 , . . . Cnc1 }
2. Clausulas que formalizan la condicion 2: Si la paloma i-esima esta en la casilla j-esima, entonces
la paloma k-esima (k 6= i) no esta en la casilla j-esima:
p11 p21
...
p11 pn1
...
p1(n1) p2(n1)
...
p1(n1) pn(n1)
...
p(n1)(n1) pn(n1)
2

cl
ausulas cada una con dos literales. Al conjunto de estas clausulas lo deSon n(n1)
2
2
notaremos por P Pnc2 = {C1c2 , . . . C cn(n1)
2 }. Finalmente, denotaremos por P Pn al conjunto de todas las
clausulas, es decir:

P Pn = P Pnc1 P Pnc2
de clausulas.


5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL

149

El tamano de P Pn es
l(P Pn ) = n(n 1) + 2

n(n 1)2
= n2 (n 1) < n3 .
2

Si consideramos, por ejemplo, el caso de 4 palomas y 3 casillas, es decir, intentamos una refutacion de
P P4 , observaremos que resultara necesario considerar simultaneamente las clausulas C1c1 , . . . , C4c1 para
deducir la clausula vaca.
La idea intuitiva que subyace en las demostraciones de los resultados que damos a continuacion y que
nos llevaran a concluir la complejidad exponencial del metodo para analizar la satisfacibilidad o no de P Pn
es la siguiente:
en toda refutacion de P Pn hay alguna clausula muy grande (lema ??) , y
esta clausula tan grande exige una refutacion de tamano exponencial respecto de n (teorema ??).
La idea es sencilla; pero de ejecucion muy laboriosa. La prueba la dio Haken en 1985. 32
Definicion 5.17 Sea un k {1, . . . , n}. Se dice que una interpretacion I del lenguaje anterior es kcr
tica cuando en cada casilla hay exactamente una paloma y solamente ha quedado sin colocar la
paloma k-esima. Mas formalmente,
En el que caso en que i {1, . . . , k 1, k + 1, . . . , n} se tiene que I(pij ) = 1 para exactamente un
j {1, . . . , n 1},
I(pkj ) = 0 para todo j {1, . . . , n 1},
Dado j {1, . . . , n1} se tiene que I(pij ) = 1 para exactamente un i {1, . . . , k1, k+1, . . . , n}
Una interpretacion I se dice cr
tica si es k-crtica, para algun k {1, . . . , n}. Denotamos por Icr el
conjunto de interpretaciones crticas.

r r Notese que una interpretacion k-crtica es un modelo de P Pn {Ck }.

Definicion 5.18 Dos clausulas C1 y C2 se dicen equivalentes respecto a Icr , si I(C1 ) = I(C2 )
para toda I Icr .
Una derivacion C1 , C2 |= C3 se dice correcta respecto a Icr , denotado C1 , C2 |=Icr C3 si
para toda interpretacion crtica, I Icr , se tiene que
Si I(C1 ) = I(C2 ) = 1 entonces I(C3 ) = 1
Definicion 5.19 Dada una clausula de C P Pn , decimos que una clausula es la forma mon
otona de
C, denotada mon(C), si mon(C) se obtiene a partir de C sustituyendo cada literal negativo pij por la
disyuncion del conjunto de literales positivos {p1j , p2j , . . . , p(i1)j , p(i+1)j , . . . , pnj } 33 .
Es facil ver que se cumplen los siguientes resultados:
32
33

j.

Armin Haken. The intractability of resolution. Theoretical Computer Science, 39. 1985. pp. 297-308.
Es decir, en lugar de decir la paloma i no esta en la casilla j decimos alguna de las n 1 restantes palomas esta en la casilla

150

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

Lema 5.7 Para toda clausula C se tiene que C y m(C) son equivalentes respecto a Icr .
Corolario 5.1 Sea C una resolvente de C1 , C2 , y sean m(C ), m(C1 ), m(C2 ), las correspondientes formas
monotonas. Para toda interpretacion crtica I, se tiene que si I(m(C1 )) = I(m(C2 )) = 1, entonces
I(m(C )) = 1.
Por lo tanto, dada cualquier refutacion de P Pn , podemos transformar todas sus clasulas en las correspondientes formas monotonas, obteniendo una refutacion correcta con respecto a Icr que tiene el mismo numero
de pasos que la refutacion original.
Si ahora probamos que no existen refutaciones con clausulas en forma monotona 34 que sean correctas
respecto a Icr y de tamano menor que exponencial, habremos alcanzado nuestro objetivo. Antes de abordar
esta tarea, introducimos la siguiente definicion.
Definicion 5.20 Diremos que una clausula C es grande si contiene al menos
decir, contiene al menos la decima parte de todas los smbolos proposicionales.

n2
10

literales positivos, es

Definicion 5.21 Si P Pn , decimos que |=Icr C si para toda I Icr se tiene que si I() = 1
entonces I(C) = 1.
Llamemos complejidad columbar de una cl
ausula C, denotada cpp(C), al mnimo numero de elementos del conjunto de clausulas P Pn necesario para deducir C mediante |=Icr
Lema 5.8 En toda refutacion de P Pn , correcta respecto a Icr , existe al menos una clausula que en forma
2
monotona tiene al menos 2n9 a tomos.
: Sea una refutacion de P Pn . Puesto que solo estamos considerando interpretaciones
D EMOSTRACI ON
crticas, solo las clausulas que expresan que alguna paloma esta asignada a una casilla seran elementos del
conjunto minimal.
Destaquemos que cpp satisface las tres propiedades siguientes:
Para toda clausula Ci P Pnc1 , se tiene que cpp(Ci ) = 1.
La complejidad de la clausula final es n.
Por la propiedad de correccion, C es una resolvente de dos clausulas cualesquiera C , C , se tiene
que cpp(C) cpp(C ) + cpp(C ).
El conjunto de estas tres afirmaciones implica que existe al menos una clausula C en la refutacion con
n
2n
3 < cpp(C) 3 .
Veamos que C contiene un numero grande de smbolos proposicionales.
Sea un conjunto minimal de clausulas de P Pnc1 tal que |=Icr y tal que || = m. Probaremos ahora
2
que C tiene al menos (n m)m 2n9 literales distintos.
Fijemos algun Cic1 y sea I una interpretacion i-crtica que haga falsa a C (tal interpretacion existe
pues, de lo contrario, no sera mnimo). Para cada Sea Cjc1
/ , construyamos una interpretacion j-crtica

I a partir de I de la siguiente forma: echamos a la paloma j de la casilla que ocupaba en la interpretacion


34

la transformacion a forma monotona no es esencial, pero hace mas clara la demostracion


5.4. CLAUSULAS
DE HORN

151

I , y en su lugar colocamos a la paloma i, es decir, reemplazamos Cic1 por Cjc1 . I satisface C, y difiere de
I solo en un lugar: si I asina a j la casilla l, entonces I asigna a i la casilla l. Puesto que C es monotona, ha
de contener a pil . Recorriendo los n m j s que no estan en l (usando la misma I), se sigue que C contiene
al menos n m smbolos proposicionales distintos pil , con l n. Repitiendo el razonamiento para todas
las Cic1 comprobamos que C contiene al menos (n-m)m literales positivos.
Teorema 5.12 Existe un K tal que para todo n > K, la menor prueba por resolucion de P Pn requiere al
n
menos 2 20 clausulas.
: Vamos a proceder por reduccion al absurdo, suponiendo que existe una refutacion de
D EMOSTRACI ON
n
P Pn con m clausulas, m < 2 20 y llegando a una contradiccion con el lema ?? anterior.
2

Recordemos que hemos llamado a una clausula C grande si en ella aparecen al menos n 10 literales
1
de las n (n 1) proposiciones atomicas de P Pn .
positivos . Entonces C incluye mas de 10
n

Supongamos que existe una refutacion de P Pn con s < 2 20 clausulas. Entonces habra a lo sumo s
1
de todas las clausulas grandes.
clausulas grandes. Existe al menos un pji tal que aparece en al menos 10
Supongamos que anadimos la condicion de que la paloma i esta en la casilla j y en ninguna otra casilla,
y de que en la casilla j no hay otra paloma. Ello equivale a quitar una paloma y una casilla y por tanto
a enunciar P Pn1 . Pero, en la refutacion cuya existencia estamos suponiendo, esta condicion se puede

expresar sustituyendo pji por , pji por (si j 6= j) y pji por (si i 6= i); lo cual significa suprimir

las clausulas en las que aparece pji y suprimir las apariciones de pji (si j 6= j) y pji (si i 6= i) en las
s
clausulas grandes.
restantes clausulas; con lo cual tenemos una refutacion de P Pn1 con a lo sumo 9 10
Repitiendo este proceso, a lo sumo en log 10 s pasos tenemos una refutacion de P Pn en la que no hay
9

clausulas grandes. Pero


clausula con al menos 2

n2
9

n log 10 = (1

> 2 0,45

9
n2

n2
10

log 10 2
9

20

)n > 0,67n y, segun el lema ??, debe haber una

a tomos; con lo cual se tiene la contradiccion buscada.

5.4. Clausulas de Horn


Si el numero de literales positivos admitidos en una clausula es estrictamente superior a 1, estamos en
presencia de informaci
on disyuntiva. En particular, las clausulas q1 . . .qn con todos los literales
positivos permiten la representacion de informaciones incompletas. As, si afirmamos
pq
sabemos que p es verdadera o q es verdadera (al menos una de los dos) vuela, pero no sabemos cual o
bien si son verdaderas las dos.
Una clausula general (p1 . . . pm ) (q1 . . . qn ) con m 1 y n > 1 representa una informacion
disyuntiva condicional.
La complejidad del metodo de resolucion se debe a la consideracion de estas clausulas Su complejidad
se puede mejorar pagando el precio de tener una menor expresividad, limitandose a un tipo especial de
clausulas llamadas clausulas de Horn que son la representacion utilizada en la programacion logica y que
no contempla la informacion disyuntiva.

152

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL
Un programa l
ogico, P, es un conjunto de formulas que responden al siguiente esquema
(A1 An ) A

en donde A y cada Ai son a tomos, As pues, no se incluye la negacion en A.


Este tipo de conjuntos responde a la idea de una base de conocimiento compuesta por reglas.
Si n = 0, la regla se reduce al a tomo A; estas reglas se denominan hechos.
Cada a tomo Ai , 1 i n, debe ser distinto de , ya que en caso contrario la regla sera una
tautologa y por lo tanto superflua en el programa.
El a tomo A s puede ser ; en ese caso, la regla es equivalente a la formula (A1 An ) y se
denomina restricci
on u objetivo.
Si las reglas de un programa logico se convierten en forma clausal, obtenemos un conjunto de clausulas que
contienen a los sumo un literal positivo. Este tipo de clausulas se denominan cl
ausulas de Horn y
por lo tanto, trabajar con programas logicos es equivalente a considerar conjuntos de clausulas de Horn.
Definicion 5.22 Una cl
ausula de Horn es una clausula con a lo sumo un literal positivo. Una clausula Horn se dice
definida si contiene un literal positivo,
unitaria positiva si consta de un solo literal positivo,
objetivo si solo contiene literales negativos.

r r Una clausula definida modeliza una regla. En efecto, la clausula p q r es equivalente a la fbf
(p q) r, esta formula modeliza la regla si p y q entonces r y en el a mbito de la programacion
logica se suele representar por r : p, q, llamandose a r la cabeza de la regla y a p, q la cola de la
regla.
Una clausula unitaria positiva consta de un solo literal positivo, p, y modeliza un hecho.

35

Puesto que la resolucion es un sistema de demostracion por refutacion, la conjuncion de objetivos individuales sera anadida a la conjuncion de la hipotesis como una clausula no definida, es decir, una clausula
sin literales positivos. Por esta razon a las clausulas no definidas se les denominan objetivos.
Advirtamos que puesto que las clausulas objetivo son negativas, se traducen en una pregunta al programa.
En la practica se suele considerar falsa la informacion que no puede ser deducida de un programa. Este
no es la solucion o ptima,
on como fallo. Esta
uso se conoce en programacion logica como negaci
ya que identifica lo falso con lo no demostrable. Sin embargo, el uso de esta tecnica con clausulas de
Horn es la base del lenguaje Prolog.
Si el objetivo es multiple, es decir, si intentamos probar que O1 . . . On , la aplicacion del metodo de resolucion ordenada a P {O1 . . . On } se recoge en Prolog como una funci
on de
selecci
on que selecciona sucesivamente los objetivos a considerar:
35

unit clause en la bibliografa inglesa.


5.4. CLAUSULAS
DE HORN

153

Si B = {H1 , . . . , Hn } es una base de datos cuyos elementos son hechos y reglas, ante la pregunta la
conjuncion de objetivos individuales O1 O2 , . . . , On es consecuencia logica de B?, que denotaremos por
B R O1 O2 , . . . , On ?, el metodo de resolucion procedera como sigue:
1. Considera el conjunto de clausulas = {H1 , . . . , Hn , O1 O2 . . . On }.
2. Elige un hecho p y una clausula C tal que p ocurre en C y calcula C = Rp (C, p), la cual
no es mas que la clausula obtenida al eliminar en C el literal p, y reemplaza por = {C }.
3. Si la respuesta es afirmativa. En caso contrario, repetira la etapa anterior hasta obtener o un
conjunto de clausulas no resolubles.
El proceso anterior siempre termina ya que en cada etapa de resolucion se suprime un literal de la clausula
resuelta.
Ejemplo 5.23
p q r?

36 Dado

el conjunto de hipotesis {p r t, q, r, t p r, t q} podemos deducir

1)

{p r t, q, r, t p r, t q, p q r}

2)

{p r t, q, r, t p r, t, p q r}

3)

{p r t, q, r, t p r, t, p r}

4)

{p t, q, r, t p r, t, p r}

5)

{p t, q, r, t p, t, p r}

6)

{p t, q, r, t p, t, p}

7)

{p, q, r, t p, t, p}

8)

{p, q, r, t p, t, }

La respuesta es que s se puede deducir p q r del conjunto dado, ya que el conjunto de clausulas obtenido
al anadir su negacion es insatisfacible.
El modo habitual de describir el proceso es como sigue:

36

A. Thayse, editor. From Standard Logic to Logic Programming. Wiley & Sons, 1988.

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

154
1. q

hecho

2. r

hecho

3. t : -q

regla

4. p : -r, t

regla

5. t : -p, r

regla

A esta base de conocimiento le hacemos la pregunta p q r?, que se traduce en tres objetivos:
q y r tienen respuesta afirmativa inmediata, ya que son hechos.
Nos queda pues el objetivo p. La u nica regla que tiene a p como cabeza es p : -r, t, que nos reduce
nuestro problema a dos nuevos objetivos: r y t. De nuevo r tiene respuesta afirmativa por ser un hecho
y t nos conduce a la regla t : -q, es decir, de nuevo al objetivo q que tiene respuesta afirmativa por ser
un hecho
As pues, la respuesta es S, de nuestra base de conocimiento se deduce que p q r.
La aplicacion del metodo de resolucion sobre conjuntos de clausulas de Horn (y por lo tanto el estudio de
consultas sobre un programa logico), admite refinamientos, lo que recogemos en los siguientes resultados.
Teorema 5.13 conjunto de clausulas de Horn es insatisfacible si y solo si tiene una refutacion por resolucion unitaria positiva.
: Sea un conjunto insatisfacible de clausulas de Horn. debe contener al menos una
D EMOSTRACI ON
clausula unitaria positiva {p}, ya que de lo contrario la interpretacion, I, tal que I(pi ) = 0 para todas las
variables proposicionales, sera un modelo de , contra la hipotesis de que es insatisfacible.
Al resolver {p} con todas las clausulas que contienen p, y eliminar todas las clausulas que contienen
p o p, se obtiene de menor tamano que y que sigue siendo un conjunto insatisfacible de clausulas de
Horn. La iteracion de este proceso es la refutacion unidad positiva deseada.
Teorema 5.14 Sea un conjunto de clausulas de Horn. Si es insatisfacible, entonces existe una refutacion por resolucion lineal tal que:
La cabeza es una clausula negativa (es un objetivo).
Las clausulas laterales son elementos de .
Es decir, si aplicamos el algoritmo de resolucion lineal sobre un conjunto de clausulas de Horn, empezaremos siempre por una clausula negativa (si no existiera, podremos afirmar que el conjunto es satisfacible)
y no necesitaremos utilizar literales marcados, ya que todas las resolventes obtenidas seran igualmente negativas y por lo tanto nunca se podra aplicar el paso de reduccion.


5.4. CLAUSULAS
DE HORN

rr

155

En definitiva, puesto que la base de conocimientos, B es, presumiblemente, satisfacible, en la ejecucion


del algoritmo de resolucion no tiene sentido buscar resolventes entre los elementos de la misma; en lugar
de ello buscaremos resolver una clausula objetivo O (que sera tomada como cabeza).
Si O = O1 . . . On , solo existe la posibilidad de que uno de tales literales negativos, Oi ,
se resuelva con el u nico literal positivo de una clausula de B. La resolvente sera por tanto una clasula
que constara solo de literales negativos. Por tanto, todos las resolventes que aparezcan a lo largo de la
refutacion contendran solo literales negativos.
El procedimiento de refutacion descrito es no determinista: en cada paso hemos de elegir que objetivo
resolver y, si no es un hecho, con que regla. Es preciso pues, especificar criterios que fijen las opciones
anteriores. Tales reglas concretan la semantica operacional del lenguaje de programacion logica.

Terminamos nuestro estudio de clausulas Horn destacando una de sus propiedades de gran interes. Para
ello comenzamos destacando el siguiente hecho:
Consideremos un conjunto finito de clausulas, , el cual es satisfacible. Sea Mod() el conjunto de sus modelos.
Como en el captulo 3, identificamos cada interpetacion I Mod() con el conjunto {p
Vprop () | I(p) = 1}. Sean I1 , I2 Mod()
podemos asegurar que I1 I2 Mod()?
Veamos que, en general no es cierto. Basta considerar = {p q}, para el cual,
Mod() = {{p}, {q}, {p, q}}
y {p} {q} = 6 Mod(). La respuesta s es afirmativa en el caso de un conjunto de
clausulas de Horn:

Definicion 5.23 Sea un conjunto finito de clausulas de Horn y Mod() el conjunto de sus modelos.
nimo de a
Llamamos modelo m
I =

I Mod()

IMod()

En particular, si Mod() = , entonces IMod()


= Vprop() 37

Teorema 5.15 (Existencia de modelo minimo) Todo conjunto no vaco finito y satisfacible de clausulas
de Horn posee un modelo mnimo.

37

Recordemos de nuevo que dado un conjunto X la interseccion vaca de subconjutos de X es el propio X.

156

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

r r El teorema de existencia de modelo mnimo tiene consecuencias de interes:


la u nica informacion que contiene el modelo mnimo es que ciertos hechos son verdaderos. Esto
corresponde a la Hip
otesis del Mundo cerrado y conlleva una justificacion parcial del concepto usado en programacion logica negacion como fallo a la que hemos hecho
referencia anteriormente. 38
si son dos conjuntos no vacos, finitos y satisfacibles de clausulas de programa. Entonces,
I es una extension de I .
Esta propiedad, no es cierta para clausulas arbitrarias. En efecto, Si = {p q r} se tiene que
I = 39 es un modelo minimal, sin embargo, = {r} es satisfacible, pero no posee modelo
mnimo.

38

La negacion como fallo se basa en la Hipotesis del mundo cerrado, que afirma que toda la informacion relevante esta expresada
de manera explcita en la Base de Conocimiento. Es decir, supone que informacion contenida en la Base de Conocimiento es
completa: lo que no esta recogido en ella, no se da. Claramente, no siempre es aceptable esta suposicion.
Es preciso distinguir entre la negacion como fallo y la negacion A con la que venimos trabajando y a la cual hemos caracterizado
del siguiente modo:
semanticamente como: para cualquier fbf, A, se tiene que A es verdadera si y solo si A es falsa, y
en terminos de derivabilidad: por medio de la regla (i) (introduccion de la negacion) en el sistema DN de deduccion natural:
para cualquier fbf, A, se tiene que A es derivable si cuando suponemos A como hipotesis adicional se deriva un absurdo.
desde el punto de vista practico: la negacion como fallo puede verse como un caso de los llamadosrazonamiento por ignorancia.
39
Es decir, la interpretacion que asigna 0 a p, q y r.

5.5. EJERCICIOS

157

5.5. Ejercicios
1. Use las tablas de verdad como metodo de refutacion y el algoritmo de Quine para estudiar la satisfacibilidad de la formula A = (p q) (q (p q)). En caso afirmativo, determine todos los modelos
de A. Es valida la formula A?
2. Use el algoritmo de Quine para estudiar la satisfacibilidad del conjunto
= {p (q r), q r, r s}
3. Use el algoritmo de Quine para estudiar la validez de la formula
A = ((p r) (q s)) ((p q) (r s))
4. Use el algoritmo de Quine para estudiar la correccion de la inferencia
p q, r s, (s q) t |= (p r) t
5. Use Tablas Semanticas para estudiar la validez de las siguientes formulas
A = (r (p q)) ((r p) (r q));

B = (p r) ((q s) ((p q) s))

6. Use Tablas Semanticas para estudiar la satisfacibilidad del conjunto


= {p (q r), p q, p}
y, en caso afirmativo, determine todos sus modelos.
7. Use Tablas Semanticas para estudiar la correccion de la inferencia
p (q r), q r, r s |= p s
8. Las formulas del tipo AB y (AB) pueden considerarse como formulas de tipo en el metodo
de las Tablas semanticas usando las siguientes equivalencias
AB (A B) (A B) y (AB) (A B) (A B)
y, en consecuencia, las siguientes reglas de expansion:
AB

(AB)

A
B

A A
B B

A
B

Utilizando estas reglas, estudie la validez de la formula A = (p q) (p (p q)).


9. Estudie la validez de las siguientes inferencias utilizando el metodo de las Tablas semanticas.
a) p (q r), q r, r s |= p s

158

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL
b) p q, r s, (s q) t |= (p r) t
c) p (q r), p q, p |= r
d) p (q r), q r, r s |= p s

10. Demuestre la validez de las siguientes formulas utilizando los metodos de Quine y Tablas semanticas.
p (q p)
((p q) (q p)
(p q) q
((p q) (p r) (q r)) r
(p (q q)) p

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


(p (p q)) q
p (p q)
(p (q p)) q

11. Demuestre las equivalencias basicas, utilizando los metodos de Quine y Tablas semanticas:
(p q) (p q)
((p q) r) (p (q r))
(p (q r)) ((p q) (p r))
(p (p q)) p
(p q) (q p)
(p q) (p q)
(p (q r)) ((p q) (p r))

(p q) (p q)
((p q) r) (p (q r)
(p (q r)) ((p q) (p r)
(p (p q)) p
(p q) (p q)
((pq)r) (p(qr)

12. Estudie la validez de las siguientes formulas utilizando el metodo de las Tablas semanticas.
(p q) ((q r) (q r))
((p (q r)) ((p q) r)
p (q (p q))
(p r) ((q s) ((p q) s))
(p q) ((q r) p)
(pq) ((p q) (q p))
((p q) p) p
(((p q) p) p)
(p q) ((p q) (p q))

(p p) p
(p q) ((p (q r)) (p r))
(p r) ((q r) ((p q) r)
(p q) ((q r) p)
(p q) ((p q) p)
((p q) (q r)) (p r)
(p(q r)) ((p q) (p r))
(p q) (p (p q))
(pq) ((p q) (p q))

13. Estudie la validez de las siguientes inferencias utilizando los metodos de Quine y Tablas semanticas.
p q, q r, r s, p q, p t, t u |= u
p q, r q |= (p r)
(p q) r, r s |= (p q) s
p, p q, p (q r) |= r

p q, q r |= p r
p r, q s, p q |= r s
p r, q s, p q |= r s

14. Sea el conjunto de clausulas


= {p q r, p q, s q, r r}
Halle todas las resolventes que se pueden obtener a partir de todos los pares de clausulas en .
15. Demuestre la insatisfacibilidad del conjunto de fbfs

5.5. EJERCICIOS

159
= {h, h (p q), p c, q c, c}

mostrando un a rbol semantico para tal que todas sus hojas son nodos fallos. Generese a partir del
a rbol construido una refutacion por resolucion de .
16. Use los metodos de Davis-Putnam y Resolucion Lineal Ordenada para analizar la satisfacibilidad o
no de los siguientes conjuntos de clausulas:
a) {h, h p q, p c, q c, c}
b) {p q, p q, p q, p q}
c) {p q, p q r, p q r, p r, p r}
d) {p q, p r s, r t, r u, u s t}
e) {p q, q r, r p, q r, p r}
17. Utilize el metodo de Davis Putnam para analizar la satisfacibilidad de la forma clausal que formaliza
el problema de la k-coloracion para el grafo del ejemplo ?? de la pagina ??
18. Convierta la siguiente inferencia a fncr y use los metodos de Davis-Putnam y Resolucion Lineal
Ordenada para determinar si es o no valida
{p q, p (r s), r (t u), (u s) t} |= s q
19. Estudie la satisfacibilidad de los siguientes conjuntos usando resolucion lineal ordenada.
a) {p r s, p r s, p rs, pr s}
b) {p q r s, q r s, p r s, q s, p s}
c) {p q, q r s, p q r s, r, q}
20. Lea la seccion 5.2.4. y analice cuales de los conjuntos del ejercicio anterior estan formados por clausulas de Horn. Estudie su satisfacibilidad atendiendo a las restricciones detalladas en dicha seccion.
21. Dada la base de datos B = {(q, t, v, (p q r) s, (t u) r, (v r) p, v u} responda a
la pregunta B s?.
22. Dada la base de datos B = {(p, s, (p q) r, u r, s u} responda a la pregunta ?B r?.
23. Pruebe que B R q u w, siendo
B = {p, t, s, t r, s w, w u, (p t) u, (p w) q, (p r s) q}
24. A partir de la Hipotesis del Mundo Cerrado pruebe que B R p siendo
B = {q, t, w p, (q r s) p, v p, u w, t r}

160

CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL

Captulo 6

El metodo TAS

Indice
6.1. -arboles como representacion de FNNs . . . . . . . . . . . . . . . . . . . . . . . . . 163
6.1.1. -listas:

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

6.1.2. Transformando -arboles en fnns . . . . . . . . . . . . . . . . . . . . . . . . . . 165


6.1.3. Transformando fnns en -arboles . . . . . . . . . . . . . . . . . . . . . . . . . . 166
6.1.4. Operaciones basicas con -arboles . . . . . . . . . . . . . . . . . . . . . . . . . 167
6.1.5. -arboles restringidos: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.2. Reglas de transformacion del metodo TAS . . . . . . . . . . . . . . . . . . . . . . . . 172
6.2.1. Regla de Reduccion Completa . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
6.2.2. Regla del literal puro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
6.2.3. Regla de Reduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
6.3. El Algoritmo TAS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
6.4. Ejemplo 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
6.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185

El metodo de resolucion es, como hemos indicado, el sistema de demostracion automatica mejor conocido y mas ampliamente desarrollado. No obstante, este metodo tiene inconvenientes aun no resueltos. As,
por ejemplo, como afirma Rich: 1
. . . basa su simplicidad en una representacion uniforme de los enunciados. Desafortunadamente, la uniformidad tiene su precio, todo parece igual. A causa de este parecido general, no
existe ninguna forma facil de seleccionar aquellos enunciados que tienen mas probabilidad de
ser u tiles para resolver un problema concreto. Al convertirlo todo a forma clausal, se pierde
a menudo una informacion heursticamente valiosa que esta contenida en la representacion
original de los hechos . . . Otro problema que plantea el uso de la resolucion como sistema
de demostracion automatica, es que en la vida diaria no se piensa siguiendo los pasos de la
resolucion. As pues, es muy difcil para una persona interaccionar con un demostrador por
resolucion. Que tal interaccion sea posible, es importante desde un punto de vista practico, debido a que las computadoras no han alcanzado un comportamiento o ptimo en la demostracion
de problemas complicados.
1

E. Rich. Artificial Intelligence. Mc Graw Hill, 1983.

161

CAPITULO
6. EL METODO
TAS

162
Por su parte, Gallier 2 utiliza argumentos similares:

El principal atractivo del metodo de resolucion, es que tiene una sola regla de inferencia (la
regla de resolucion). No obstante, existe un precio que pagar: el metodo de resolucion solo se
aplica a enunciados en forma normal conjuntiva.
En el mismo sentido incide Ramsay: 3
. . . lo mas irritante sobre resolucion es su falta de naturalidad. Se trabaja con ella del mismo
modo que con cualquier otro sistema formal. Sin embargo, nunca nos permite vislumbrar de
que modo resolveramos el problema por nosotros mismos. Si un demostrador de teoremas
por resolucion forma parte de un sistema que requiere explicar su modo de razonar a sus
usuarios, sera necesario volver a procesar sus demostraciones para obtenerlas en una forma
comprensible, incluso para un experto usuario. Sera conveniente encontrar algun otro motor
de inferencia que pudiera trabajar de modo mas cercano a como nosotros trabajamos, sus
demostraciones seran mas faciles de seguir.
El segundo inconveniente destacable sobre la exigencia de la conversion a forma clausal de las
formulas es el coste computacional. la transformacion conlleva una gran cantidad de trabajo
(la mayora de las veces innecesario) y a la destruccion de cualquier estructura que tuviera el
enunciado original del problema. Podramos incluso asegurar que es precisamente la conversion a forma clausal la causante de la dificultad de seguir las demostraciones por resolucion,
ya que la relacion de las clasulas con el enunciado original es con frecuencia casi imposible
de desentranar.
Ademas de las dificultades referidas, podemos senalar otra dificultad no menos importante: La dificultad
de ser extendido a las logicas no clasicas. Ello se debe a que para tales logicas no se han encontrado, por
el momento, formas clausales adecuadas, lo cual impide la aplicacion agradable de las tecnicas basadas en
resolucion.
En este captulo presentamos un nuevo metodo de demostracion automatica para la logica clasica proposicional, al que hemos denominado TAS, que al igual que el metodo de las tablas semanticas no requiere
la conversion a forma clausal.
Este metodo nacio en el grupo GIMAC 4 del Dpto de Matematica Aplicada de la Universidad de Malaga,
as que, antes de describirlo, podemos relatar brevemente cual fue su motivacion. Lo haremos de forma que
el lector de este libro pueda seguir las reflexiones que nos llevaron a su diseno.
Sabemos que nos enfrentamos a un problema NP-completo. As que solo nos queda intentar aportar todo
el ingenio posible para aranar eficiencia. A este objetivo se dedican no pocos investigadores en la actualidad.
Pero, en que tipo de metodos?
Lo que hemos comentado sobre los metodos que requieren que la entrada sea una forma clausal, nos
puede llevar a inclinarnos por el metodo de las tablas. Una de las razones para ello es su adaptabilidad a
todo tipo de logicas. Sin embargo, hemos visto que, a falta de anadir nuevas heursticas, tarea en la que no se
escatiman esfuerzos, deberamos mirar tambien las bondades de metodos como los de Davis-Putnam (quizas
el mas utilizado en Demostracion Automatica, como referente para el fin indicado de aranar eficiencia) o
2

J. H. Gallier. Logic for Computer Science: Foundations for Automatic Theorem Proving. Wiley & Sons, 1987.
A. Ramsay. Formal methods in artificial intelligence. Cambridge University Press, 1988.
4
Grupo de Investigacion de Matematicas Aplicadas a la Computacion.
3

DE FNNS

6.1. -ARBOLES
COMO REPRESENTACION

163

como el de Resolucion (insustituible hasta la fecha en el a mbito de la Programacion Logica). Sera pues
conveniente integrar las mejores propiedades de ambos tipos de metodos.
Por otra parte, existe un gran consenso en considerar que las estructuras de datos que se utilizan para representar formulas son decisivas para realizar, eficientemente, las operaciones que constituyen un algoritmo
de satisfactibilidad.
Teniendo en cuenta estas dos reflexiones, el metodo TAS que vamos a describir tiene las siguientes
caractersticas:
I) al igual que el metodo de las Tablas Semanticas, el metodo TAS no requiere la conversion previa de
la entrada a forma normal.
II) al igual que el metodo de las Tablas Semanticas, el metodo TAS se basa en la conversion de las
formulas de entrada en forma normal disyuntiva pero sin exigir la transformacion previa de la entrada.
De esta forma, permite su ejecucion paralela de forma natural. 5
III) generaliza para fbfs cualesquiera la Regla de Propagacion Unitaria, la Regla del Literal Puro y la
Regla de Ramificacion del metodo de Davis-Putnam.
IV) trabaja sobre una nueva representacion de las fbfs a la que denominamos -arbol, que determina el
criterio de seleccion de los literales involucrados en sus reglas.
Ademas de estas cuatro caractersticas, posee una mas que, como veremos, permite reducir el tamano de la
fbf sobre la que ejecuta antes de aplicar la regla responsable de la complejidad exponencial del metodo en
el peor caso, es decir, antes de aplicar la Regla de Ramificacion:
V) introduce una regla de transformacion sobre las subformulas para disminuir (si es posible) su tamano
y que es una transformacion de equivalencia. 6
Vamos pues a describir el metodo TAS. Para ello comenzamos introduciendo la nueva representacion de las
fbfs o mas concretamente, de las formas normales negativas, lo cual no supone limitacion alguna, ya que
como vimos en el captulo 3, la conversion de una fbf cualquiera a fnn tiene complejidad lineal.

6.1. -arboles como representacion de FNNs


Hasta aqu hemos usado dos tipos de representacion para las fbfs: como cadena de smbolos del alfabeto
y como a rbol sintactico. En esta seccion vamos a introducir una representacion alternativa para las fnns a la
que denominamos -
arbol.
De forma intuitiva, podemos decir que en la representacion por -arboles, las clausulas y cubos son
escritos como listas de literales en el modo descrito en la siguiente seccion.
5

Recordemos que una forma normal disyuntiva es insatisfacible si y solo si lo son cada uno de sus cubos componentes.
Si queremos disminuir (cuando sea posible) el tamano de una subformula, no podemos realizar transformaciones que tan solo
respeten la satisfacibilidad, ya que Si B es una subformula de A y se tiene que C es equisatisfacible con B, no podemos asegurar
que A y A[B/C] son equisatisfacibles.
6

CAPITULO
6. EL METODO
TAS

164

6.1.1. -listas:
Definicion 6.1 Una -lista es la constante , la constante , o una lista de literales (posiblemente vaca)
en la que cada variable proposicional aparece a lo sumo una vez.
Denotaremos por nil a la lista vaca. Si = 1 , . . . , n es una -lista, es la lista formada por los
literales opuestos a los de , es decir, 1 , . . . , n = 1 , . . . , n .
Ejemplo 6.1 Las siguientes listas de literales son -listas:

q
stu

p
qs

nil

p
q r tw

Sin embargo, pqrq no lo es, ya que q interviene dos veces.


Los elementos de las -listas se escribiran ordenados respecto del orden lexicografico. Esto no influye en la correccion de las transformaciones que vamos a describir posteriormente, 7 pero s aumentara la
eficiencia de su ejecucion.
Igual que en la definicion de forma normal negativa, en la definicion de -arbol distinguiremos entre
-arboles conjuntivos y -arboles disyuntivos.
En un -arbol, los nodos estan etiquetados con -listas precedidas de los prefijos [] o [], de manera
alternativa en cada nivel, para especificar el caracter conjuntivo o disyuntivo del correspondiente nodo. Este
prefijo no es estrictamente necesario, pero ayuda a leer y entender la fbf asociada. Segun la raz del -arbol
sea una []-lista o una []-lista, hablaremos de -arbol conjuntivo o -arbol disyuntivo.
Definicion 6.2 Definimos los -arboles como sigue:
1.

[]
T1

...

Tn

2. Si T1 ,. . . , Tn son -arboles conjuntivos y es una -lista, entonces el siguiente a rbol es un -arbol


disyuntivo:
[]
T1

...

Tn

Los -arboles definidos en los puntos 1 y 2 son -arboles hoja.


Ejemplo 6.2 Los siguientes a rboles son -arboles:
[]nil

[]pq

[]nil
[]nil

[]pqr

[]pq
[]pr

[]nil
[]pr

[]pq

[]qr
7

[]pqr

la razon por la que podemos tomar esta opcion, es que usaremos las -listas para representar clausulas y cubos, y sabemos
que y son conmutativas

DE FNNS

6.1. -ARBOLES
COMO REPRESENTACION

165

6.1.2. Transformando -arboles en fnns


Cada -arbol determina una fnn, la construida por el operador FNN que definimos a continuacion.
Definicion 6.3 El operador FNN, que convierte -arboles en fnns, se define recursivamente como sigue:
FNN( []nil) = FNN([]) = FNN([]) =
FNN( []nil) = FNN([]) = FNN([]) =
FNN( []1 . . . n ) = 1 n
FNN( []1 . . . n ) = 1 n

FNN

FNN

[]nil
T1

...
[]nil

T1

[]1 . . . n

[]1 . . . n

FNN

T1

FNN

T1

Tm

...

...

. . . Tm

Tm

Tm

= FNN(T1 ) FNN(Tm )

= FNN(T1 ) FNN(Tm )

= 1 n FNN(T1 ) FNN(Tm )

= 1 n FNN(T1 ) FNN(Tm )

r r Recordemos que
la conjuncion vaca de literales es valida. Por esta razon, definimos FNN([]nil) = .
la disyuncion vaca de literales es insatisfacible. Por esta razon, definimos FNN([]nil) = .

Ejemplo 6.3 Las fnns correspondientes a los -arboles del ejemplo ?? son las siguientes:
FNN([]nil) =
FNN([]pq) = p q

FNN

FNN

[]nil
[]nil
[]pq
[]pr

[]pqr

= FNN([]nil) FNN([]pqr) = (p q r)

= p q FNN([]pr) = p q (p r)

CAPITULO
6. EL METODO
TAS

166

[]nil

FNN
[]pr

[]pq

[]qr

[]pqr

= (p r) (p q (q r) (p q r))

En adelante, aplicaremos a los -arboles las propiedades y conceptos asociados a fnns. As por ejemplo,
diremos que el -arbol A es satisfacible para indicar que la fbf FNN(A) es satisfacible.

6.1.3. Transformando fnns en -arboles


Inversamente, toda fnn se puede expresar como -arbol, por lo que podemos trabajar exclusivamente
con este tipo de representacion. Por su definicion, toda fnn restringida responde a uno de los siguientes
esquemas:
1 n A1 Am , donde Ai , 1 i m son fnns disyuntivas y en la lista 1 ,. . . ,n no
aparecen literales opuestos o repetidos.
1 n A1 Am , donde Ai , 1 i m son fnns conjuntivas y en la lista 1 ,. . . ,n no
aparecen literales opuestos o repetidos.
De esta forma, es facil definir el operador de conversion que vemos a continuacion.
Definicion 6.4 El operador
Arbol que convierte fnns restringidas en -arboles, se define recursivamente
como sigue:
1.
Arbol(1 n ) = []1 . . . n
[]nil

2.
Arbol(A1 Am ) =

Arbol(A1 ) . . .

Arbol(Am )
[]1 . . . n

3.
Arbol(1 n A1 Am ) =

Arbol(A1 )

...

Arbol(Am )

4.
Arbol(1 n ) = []1 . . . n
5.
Arbol(A1 Am ) =

[]nil

Arbol(A1 ) . . .

6.
Arbol(1 n A1 Am ) =

Arbol(Am )
[]1 . . . n

Arbol(A1 )

...

Ejemplo 6.4 Vamos a escribir la fbf del ejemplo 3.8 como -arbol:

Arbol(Am )

DE FNNS

6.1. -ARBOLES
COMO REPRESENTACION

Arbol

167

[]p
[]
r

[]p

[]nil

[]
q r
s

[]
pq

[]
ps

6.1.4. Operaciones basicas con -arboles


Definimos la union, interseccion y diferencia de listas de literales, que denotaremos con los correspondientes smbolos conjuntistas; estos operadores se definen considerando las listas de literales como conjuntos. 8
Sin embargo, dado que necesitamos trabajar con -listas, al unir dos de ellas deberemos eliminar, en
su caso, la posible existencia de literales opuestos, reemplazando la lista por una constante logica (haciendo
uso de las leyes de complementacion y las leyes cero-uno).
Definicion 6.5 [Union de -listas] El operador Uni
on se define como:
(
[]
si 6= nil
Uni
on([], [] ) =
[]( ) en caso contrario
(
[]
si 6= nil
Uni
on([], [] ) =
[]( ) en caso contrario
En la definicion hemos aplicado que: 6= nil nos asegura que existe un literal tal que .
Si se trata de conjunciones es insatisfacible y si se trata de disyunciones es valida.
La segunda operacion basica es la sustitucion de literales por constantes.
Definicion 6.6 [Sustitucion de literales por constantes] Sea A un -arbol y un literal. El -arbol A[/]
se construye recorriendo A primero en profundidad de la raz a las hojas para realizar las siguientes
transformaciones:
1. En todo nodo [] tal que , se elimina en .
2. Si [] es un nodo tal que se procede como sigue:
2.1 Si dicho nodo es la raz, se realiza la sustitucion A[/] = [].
2.2 Si dicho nodo no es la raz, se elimina el subarbol que tiene a tal nodo como raz.
3. En todo nodo [] tal que , se elimina en .
4. Si [] es un nodo tal que se procede como sigue:
4.1 Si dicho nodo es la raz, se realiza la sustitucion A[/] = [].
8

Lo cual nos esta permitido ya que y son asociativas, conmutativas e idempotentes.

CAPITULO
6. EL METODO
TAS

168

4.2 Si dicho nodo no es la raz, se elimina el subarbol que tiene a tal nodo como raz.
En la definicion hemos utilizado:
En 1) la ley cero-uno: B B
En 2.1) la ley cero-uno: B B
En 2.2) las leyes cero-uno B (para sustituir por y, puesto que el padre del nodo es , la
ley cero-uno B B para eliminar el subarbol.
En 3) la ley cero-uno: B B.
En 4.1) la ley cero-uno: B
En 4.2) las leyes cero-uno B (para sustituir por y, puesto que el padre del nodo es , la
ley cero-uno B B para eliminar el subarbol.

Por otra parte, definimos A[/] como A[/].


La sustitucion de varios literales simultaneamente se puede hacer efectuando la operacion de la definicion anterior para cada literal,
A[1 . . . n /] = A[1 /] . . . [n /]
A[1 . . . n /] = A[1 /] . . . [n /],
pero tambien puede hacerse en un u nico recorrido del a rbol, segun establece el siguiente resultado.
Proposicion 6.1 Sea A un -arbol y = 1 . . . n una -lista. El -arbol A[/] se construye como
sigue:
1. Si [] es la raz de A y 6= nil, entonces A[/] = [].
2. Si [] es la raz de A y 6= nil, entonces A[/] = [].
Si no se pueden aplicar las reglas anteriores, recorremos A primero en profundidad de la raz a las hojas
para realizar las siguientes transformaciones:
3. Si un nodo esta etiquetado con [] y 6= nil, entonces el subarbol correspondiente al nodo
es eliminado; en caso contrario, el nodo es sustituido por []( r ); es decir, cada literal de es
eliminado del nodo.
4. Si un nodo esta etiquetado con [] y 6= nil, entonces el subarbol correspondiente al nodo
es eliminado; en caso contrario, el nodo es sustituido por []( r ); es decir, cada literal de es
eliminado del nodo.
Podemos calcular A[/] usando la proposicion anterior si tenemos en cuenta que A[/] = A[/].
Ejemplo 6.5

[]prt

[]rs
[]qst

[]pqt

[rs/] =

[]nil
[]pt

[]pqt

DE FNNS

6.1. -ARBOLES
COMO REPRESENTACION

169

6.1.5. -arboles restringidos:


Vamos a definir los -arbol restringidos como aquellos en los que no existen subarboles que puedan ser
reducidos de forma trivial a una constante.
Definicion 6.7 Sea A un -arbol y un nodo en A.
1. se dice concluyente si verifica una de las siguientes condiciones:
a) = [] o = []. 9
b) Es un nodo monario y su -lista es nil. 10
c) Tiene un hijo hoja y cuya -lista es nil. 12
d) Su -lista es , la -lista de su padre es y 6= nil. 13
2. se dice simple si es una hoja y su -lista es unitaria. 14
3. Decimos que es actualizable si satisface las condiciones siguientes:
a) su -lista es ,
b) tiene un hijo, , cuya -lista es nil,
c) si 1 ,. . . ,n son las -listas de los hijos de , entonces: = 1 m 6 .
Definicion 6.8 Decimos que el -arbol A es restringido si no tiene nodos concluyentes, simples o
actualizables.
Los nodos concluyentes, simples y actualizables pueden ser eliminados manteniendo el significado de
la fbf. Esta propiedad es establecida por el siguiente teorema.
Teorema 6.1 Todo -arbol es equivalente a un -arbol restringido.
La demostracion de este teorema consiste en la definicion del operador Restringir que modifica el a rbol
eliminando los nodos concluyentes, simples y actualizables.

El operador Restringir
Si A es un -arbol, el -arbol Restringir(A) se obtiene a partir de A aplicando las siguientes reglas
de reescritura hasta que no puedan aplicarse mas; omitiremos los prefijos [] y [] cuando no influyan en la
regla.
1. Si algun nodo esta etiquetado con [] o [], entonces el correspondiente subarbol se elimina o
simplifica de la siguiente forma:
9

Es decir, la fnn asociada a es B o bien B


es decir, la fnn asociada a es si es []nil 11 o bien si es []nil (porque la disyuncion vaca es insatisfacible)
12
es decir, tiene un hijo como el descrito en el item anterior
13
es decir, el subarbol con raiz representa a una fnn del tipo ( B) C, en cuyo caso la propiedad de absorcion nos
asegura que ( B) C C
14
Es decir, la fnn asociada es un literal
10

CAPITULO
6. EL METODO
TAS

170

[]
A1

...

Am

[]

...

Am

...

A1

[]
A1

[]

[]

[]

Am

A1

...

Am

Si la constante esta en la raz, simplemente se eliminan sus hijos. 15


[]
A1

...

...

[]

[]

Ak

[]
A1

Ak

2. Puesto que []nil y []nil , las leyes cero-uno, nos llevan a definir que, si algun hijo de
es una hoja etiquetada con []nil o []nil entonces el subarbol con raz se sustituye por [] y
[] respectivamente:
[]
A1

...

Am

...

Am

[]

[]

[]nil

[]
A1

[]nil

Observese que si no es la raz, podemos aplicar la regla ?? y eliminar completamente el subarbol.


3. Si algun hijo de es un nodo monario etiquetado con nil, entonces dicho nodo es eliminado de la
siguiente forma:

A1

...

Am

Uni
on(, )
A1 . . . Am Am+1 . . . Am+k

nil

Am+1
15

...

Am+1

En 1 hacemos uso de que X y X X. Dualmente, en 2 hacemos uso de que X y X X.

DE FNNS

6.1. -ARBOLES
COMO REPRESENTACION

171

La justificacion de esta regla es la siguiente: la etiqueta nil nos indica que el nodo correspondiente no
tiene hijos literales. Por otra parte, por la definicion de la estructura de -arbol, y son ambas o
bien ambas . por lo tanto, podemos aplicar la ley asociativa (de o respectivamente.
Si el nodo vaco y monario es la raz, entonces:
nil

A1

A1

...

...

Am

Am

4. Si algun hijo de es una hoja cuya -lista es unitaria, entonces el contenido de su -lista se pasa a
:

Uni
on(, )

A1

...

Am

...

A1

Am

5. La leyes distributivas nos conducen a la siguiente regla: Si en el esquema de abajo tenemos que
= 1 m 6 , el contenido de se pasa a

...

...

nil
1

Uni
on(, )

...

...

...

...

nil
...

m
...

Puesto que todas las transformaciones aplicadas son de equivalencia, el -arbol Restringir(A) as
construido es restringido y equivalente a A.
Ejemplo 6.6 Mostramos algunos ejemplos de -arboles que no son restringidos y las transformaciones que
conducen a su forma restringida.
(b)

(i)

[]nil
[]q

[]nil

[]r

(b)

[]nil

[]qr

[]nil
[]qr

[]nil

[]qr

[]qr

[]qr
(d)

(ii)

[]nil
[]nil
[]pq

[]pr

[]p
[]qr

[]p
[]nil
[]pq

[]pr

[]p
[]qr

CAPITULO
6. EL METODO
TAS

172
(iii)

(b)

[]nil

[]

[]nil

6.2. Reglas de transformacion del metodo TAS


El metodo TAS es un metodo transformacional de reescritura, en el que se realizan cambios en la estructura del a rbol sintactico de la fbf que se va a transformar, con el objetivo de adecuar la estructura de
dicho a rbol al objetivo propuesto: disminuir, en la medida de lo posible, el numero de distribuciones. Para
ello utiliza las siguientes reglas:
la Regla de Reduccion Completa, que generaliza la de propagacion unitaria del metodo DavisPutnam.
la Regla del Literal Puro, que generaliza la correspondiente regla del metodo Davis-Putnam.
la Regla de Reduccion, que especializa la regla de reduccion completa para que pueda ser aplicada
a las subformulas.
la Regla de Ramificacion, que al igual que la usada por el metodo Davis-Putnam no es mas que la
regla del metodo de Quine
En las siguientes secciones describimos cada una de estas reglas.

6.2.1. Regla de Reduccion Completa


Definicion 6.9 Un -arbol A es completamente reducible si es conjuntivo y su raz es no vaca.
Los a tomos que ocurren en la raz de un -arbol completamente reducible pueden ser eliminados de
todo el a rbol. La aplicacion del siguiente Teorema ??, que describe esta eliminacion, se hara en el algoritmo
con el nombre de reducci
on completa.
Teorema 6.2 Si [], con 6= nil, es la raz de A, entonces A es satisfacible si y solo si A[/] es
satisfacible. Ademas, si I es un modelo de A[/], entonces cualquier extension de I tal que I() = 1 para
cada , es un modelo de A
: Es consecuencia inmediata del siguiente lema:
D EMOSTRACI ON
Lema 6.1 Dada una fnn, A, se tiene que:
1. Si A = p B, entonces A p B[p/]
2. Si A = pB, entonces A es satisfacible si y solo si B[p/] es satisfacible. Ademas, si I es un modelo
de B[p/], entonces la interpretacion I tal que I (p) = 1 e I (q) = I(p) para todo a tomo q 6= p es
un modelo de A.
3. Si A = p B, entonces A p B[p/]

DEL METODO

6.2. REGLAS DE TRANSFORMACION


TAS

173

:
D EMOSTRACI ON
1. Supongamos que A = p B y sea I una interpretacion arbitraria. Tenemos dos posibilidades:
Si I(p) = 0, entonces I(A) = I(p B) = I(p B[p/] = 0
Si I(p) = 1, entonces I(A) = I(p B) = I(B) y puesto que I(p) = 1 = I(), tenemos que
I(B) = I(B[p/]). En definitiva, I(A) = I(p B) = I(B) = I(B[p/] = I(p B[p/] = 0
Por lo tanto, para ambas posibilidades, I(A) = I(p B[p/] = 0 y puesto que I es arbitraria,
A p B[p/].
2. Es consecuencia directa del tem 1.
3. Supongamos que A = p B y sea I una interpretacion arbitraria. Tenemos dos posibilidades:
Si I(p) = 1, entonces I(A) = I(p B) = I(p B[p/] = 1
Si I(p) = 0, entonces I(A) = I(p B) = I(B) y puesto que I(p) = 0 = I(), tenemos que
I(B) = I(B[p/]). En definitiva, I(A) = I(p B) = I(B) = I(B[p/] = I(p B[p/] = 0
Por lo tanto, para ambas posibilidades, I(A) = I(p B[p/] = 0 y puesto que I es arbitraria,
A p B[p/].
4. Es consecuencia directa del tem 3.
Ejemplo 6.7 El -arbol
A=

[]rs
[]prt

[]qst

[]pqt

es completamente reducible y por lo tanto es satisfacible si y solo si lo es el siguiente:


A[rs/] =

[]nil
[]pt

[]pqt

6.2.2. Regla del literal puro

Definicion 6.10 Un literal se dice puro en un -arbol si en e l no aparece el literal .


Las variables de los literales puros pueden ser eliminadas en todo el a rbol aplicando el resultado siguiente, que es incorporado al algoritmo en el proceso denominado reduccion de literales puros.
Teorema 6.3 Si es la lista de literales puros de A, entonces A es satisfacible si y solo si A[/] es
satisfacible. Ademas, si I es un modelo de A[/], entonces cualquier extension del I tal que I() = 1
para cada , es modelo de A.

CAPITULO
6. EL METODO
TAS

174

: Solo probaremos el primer caso, pues el segundo se demuestra de modo similar.


D EMOSTRACI ON
Si A[/] es satisfacible entonces la formula A es satisfacible. Concretamente, toda interpretacion I
que sea un modelo para A[/] puede extenderse a un modelo de A, definiendo la nueva interpretacion I
como sigue:
Si = 1 : 2 . . . n . Entonces, cada i , con 1 i n, es de la forma i = pi o bien i = pi . Sea
= {p1 , . . . , pn }. Definimos I tal que:
I (pj ) = I(pi ) si pj 6
I (1 ) = 1
Recprocamente, sea A una fnn satisfacible en la que todo literal es puro y consideremos una
formula B en forma normal disyuntiva equivalente a A. Obviamente, se tiene que:
B es satisfacible, por ser equivalente a A,
todo literal es puro en B, ya que las leyes aplicadas para obtener B a partir de A (distrivutiva,
leyes cero-uno, absorcion e idempotencia) no cambian la propiedad de de ser puro
A[/] B[/].
Puesto que B es satisfacible y esta en fnd entonces existe un cubo C en B que es satisfacible. solo tenemos
que considerar dos casos: Para cada , se tiene que
Si ocurre en C entonces C[/] es satisfacible porque C es un cubo.
Si no ocurre en C entonces C[/] es satisfacible porque C = C[/].
En cualquier caso podemos concluir que C[/] es satisfacible y, por lo tanto, B[/] es satisfacible, lo
cual indica que A[/] es satisfacible.

6.2.3. Regla de Reduccion


Vamos a definir la transformacion denominada reducci
on que elimina aquellos literales en un a rbol
que esten dominados por otro literal con la misma variable proposicional. As, cada rama del a rbol contendra
a lo sumo un literal por cada variable. Para esta regla, aplicable a los subarboles, el a rbol resultante sera
equivalente al inicial.
Definicion 6.11 Sea A un -arbol. Entonces Reducir(A) es el -arbol obtenido a partir de A recorriendolo primero en profundidad de la raz a las hojas y realizando en cada nodo la siguiente transformacion:
[]
A1

...

A1

...

A1 [/] . . .

Am

[]

Am

[]
Am [/]

[]
A1 [/] . . .

Am [/]

6.3. EL ALGORITMO TAS

175

Teorema 6.4 Sea A un -arbol. Entonces A Reducir(A).


: Es el resultado afirmado por los temes 1 y 3 del lema ??.
D EMOSTRACI ON
Ejemplo 6.8 Sobre el -arbol siguiente aplicamos la transformacion Reducir para obtener su version
reducida.

[]nil
[]pr

[]q

[]pr

[]q
[]p

[]p
[]qr

[]nil

[]pr

[]r

[]pr

[]q
[]pr

[]q
[]p

[]r

[]r

r r Como hemos indicado, la utilidad de la transformacion Reducir es clara, permite dejar una sola ocurrencia de cada smbolo proposicional en cada rama. Pero existe otra utilidad, la salida del proceso
Reducir puede ser un -arbol no restringido, en cuyo caso, tendremos que aplicar de nuevo el proceso
Restringir. As, en el ejemplo anterior, el a rbol salida no es restringido y, tras aplicarle el proceso
Restringir, obtenemos:
[]q
[]
pr
Mas aun, podemos encontrarnos con que, despues de aplicar Restringir, el -arbol obtenido sea
reducible, con lo cual, podemos, de nuevo reducir su tamano y as sucesivamente.

6.3. El Algoritmo TAS


Tenemos ya todos los elementos necesarios para describir el metodo TAS.
El flujo de datos del algoritmo es una lista de pares de la forma
[(B1 , 1 ), . . . , (Bm , m )],
donde cada Bi es un -arbol y cada i son listas de literales. La lista inicial para estudiar la satisfacibilidad
de una formula A es
[(
Arbol(A), nil)]
Los nuevos elementos en esta lista se obtendran al dividir los a rboles disyuntivos separando los elementos
de la disyuncion, o bien al aplicar el proceso de ramificacion.
De esta forma, si [(B1 , 1 ), . . . , (Bm , m )] es el flujo en un instante cualquiera de la ejecucion del
algoritmo, entonces:
la formula inicial A es satisfacible si y solo si B1 Bn es satisfacible.
Es decir, A es insatisfacible si y solo si todos los Bi son insatisfacibles. La lista de literales almacena la
informacion sobre el posible modelo, de forma que

CAPITULO
6. EL METODO
TAS

176

si Bi es satisfacible por un modelo I, entonces cualquier extension de I con I() = 1 para


cada i es un modelo de la formula inicial.
La lista [(B1 , 1 ), . . . , (Bm , m )] se denomina lista de tareas pendientes. Atendiendo a las observaciones
remarcadas mas arriba, el algoritmo terminara si
1. Todos los elementos del flujo son [] o []nil, en cuyo caso la formula inicial es insatisfacible.
elemento del flujo es []nil o [], en cuyo caso la formula inicial es satisfacible, pudiendo
2. Algun
ademas construir un modelo.
A continuacion, explicamos detalladamente la progresion del algoritmo sobre la lista de tareas describiendo cada bloque de transformaciones y cada transformacion que aparece en el diagrama de flujo del
algoritmo.
Bloque Actualizar: Despues de cada simplificacion las formulas del flujo entran en el bloque Actualizar, en
el cual se convierten los a rboles a forma restringida y se analiza si estamos en situacion de finalizacion:
1. Si todas los elementos de la lista son [] o []nil, el algoritmo finaliza devolviendo la salida
I NSATISFACIBLE.
2. Si alguno de los elementos de la lista es ([]nil, ) o ([], ), entonces el algoritmo finaliza
devolviendo la salida S ATISFACIBLE y dando como modelo a I tal que I() = 1 para cada
.
Paralelizar: Si algun elemento de la lista de tareas es disyuntivo, entonces a la lista de tareas se le aplica
la siguiente transformacion, con la cual se elimina la raz disyuntiva y se anaden tantos a rboles como
elementos tiene la disyuncion.

[. . . ,

[]1 . . . n
B1

...

Bm

, , . . . ]

[. . . , ([]1 , ), . . . , ([]n , ), (B1 , ), . . . , (Bm , ), . . . ]

Observese que si la raz no es vaca, los a rboles hoja generados en la lista de tareas permitiran finalizar
haciendo simplemente una completa reduccion.
Reduccion Completa: A continuacion se analiza si alguno de los elementos de la lista de tareas es completamente reducible, en cuyo caso se aplica la correspondiente reduccion:

[. . . ,

[]
B1

...

Bn

, , . . . ]

[. . . ,

[]nil
B1 [/] . . .

Bn [/]

, , . . . ]

Esta es la primera etapa en la que se modifica la lista con la informacion para el posible modelo,
anadiendo a ella los literales de la raz que han sido eliminados.

6.3. EL ALGORITMO TAS

177

Reduccion: Si el a rbol de la tarea no es completamente reducible, pasamos a aplicar el operador de subreduccion. Este proceso no modifica el contenido de la lista con la informacion para el posible modelo.
Literales puros: Si el operador de subreduccion no modifica el a rbol, se halla la lista de literales puros para
su reduccion. Si (B, ) es un elemento de la lista de tareas y es la lista (no vaca) de literales puros
de B, entonces:
[. . . , (B, ), . . . ]

[. . . , (B[/], ), . . . ]
Como vemos, esta etapa tambien modifica la lista de literales con la informacion para el posible
modelo.
Quine Las transformaciones explicadas hasta ahora no son suficientes para la construccion de un demostrador completo, es necesario una etapa de ramificacion. Concretamente, el algoritmo utiliza el mismo
proceso de ramificacion que el algoritmo de Quine. Si en la lista de tareas no se puede aplicar ninguna
de las transformaciones anteriores, entonces elegimos una tarea cualquiera y un literal y efectuamos
la siguiente transformacion en la lista de tareas.
[. . . , (B, ), . . . ]

...]
[. . . , (B[/], {}), (B[/], {}),

En las dos tareas se elimina completamente la variable elegida, la cual es anotada en la lista para la
construccion del posible contramodelo.
Es practicamente imposible mostrar un ejemplo en donde se apliquen todas las etapas del algoritmo. En
la secciones siguientes mostramos con detalle cinco ejemplos que abarcan todas las situaciones posibles en
la ejecucion del algoritmo.

Ejemplo 1
Estudiemos la validez de la siguiente inferencia
(p q) (p r) |= p (q r)
1. La entrada del algoritmo es
[(
Arbol(((p q) (p r)) (p (q r))), nil)] =

[]nil
[]nil
[]pq

[]pr

[]p , nil

[]qr

2. Al aplicar el operador Restringir observamos que la raz es actualizable porque el nodo marcado
con un crculo esta etiquetado con nil y sus dos hijos contienen el literal p; por lo tanto, la salida del
operador es:

[]p

[]p , nil
[]nil

[]pq []pr []qr

CAPITULO
6. EL METODO
TAS

178

3. El a rbol es completamente reducible, y la sustitucion [p/] conduce a

[]nil

[]nil
[]nil, p

[]q []r []qr


4. El operador Restringir sobre este a rbol actua como sigue:
(h. simples)

[]nil
[]nil
[]q

[]r

[]nil

(nil monario)

[]nil
[]qr

[]qr

[]nil

[]qr
[]qr

[]qr

Y por lo tanto, obtenemos el siguiente resultado

[]qr
, p

[]qr

5. La completa reduccion aplica la sustitucion [qr/] y produce el siguiente resultado:

[]nil
, pqr

[]nil
6. El operador Restringir elimina la hoja nil devolviendo:
[([], pqr)]
y por lo tanto, la inferencia es valida. Aunque hemos ido guardando los literales eliminados, en este
caso tal informacion no aporta nada.

Ejemplo 2
Queremos estudiar la validez del siguiente razonamiento:


p s, (s q) (s r) |= q p (r q) (p r))

1. La validez es equivalente a la insatisfacibilidad de la conjuncion de las dos hipotesis y la negacion de


la conclusion que convertimos en -arbol para obtener la entrada del algoritmo:

[]nil

[]ps

[]nil
[]q

rbol(A1 A2 A), nil)] =


[(A
, nil

[]qs
[]rs
[]p

[]qr []pr

6.3. EL ALGORITMO TAS

179

2. El operador Restringir detecta que la raz es actualizable, ya que el nodo marcado con un crculo es
vaco y todos sus hijos contienen el literal s; tras actualizar la raz, obtenemos el a rbol de la izquierda.
El nodo marcado con un crculo puede ser eliminado, ya que su interseccion con la raiz es distinta del
vaco; el a rbol resultante, a la derecha, es restringido

[]s

[]s

[]nil []q
[]ps []nil []q

, nil
, nil

[]qs []rs []p

[]qs
[]rs
[]p

[]qr []pr
[]qr []pr
3. El a rbol es completamente reducible y la reduccion lleva a

[]s

[]nil

[]nil

[]nil []q

[]q

, s

[s/], s =
[]qs []rs []p

[]q []r []p

[]qr []pr
[]qr []pr
4. El a rbol obtenido no es restringido, ya que las dos hojas de la izquierda son simples; tras eliminar
estas hojas, obtenemos el siguiente a rbol restringido:

[]nil

[]qr []q

,
s

[]p

[]qr []pr
5. Este a rbol no es completamente reducible y pasamos a aplicar el operador subreduce que produce el
siguiente resultado:

[]nil

[]qr []q

, s

[]p

[]r []r
6. El a rbol obtenido no esta restringido; el proceso Restringir actua como sigue

CAPITULO
6. EL METODO
TAS

180
(h. simples)

[]nil
[]qr

[]q

[]q

[]qr

[]p
[]r

(h. simples)

(nodo )

[]nil

[]nil

[]qr

[]q

[]q

[]q

[]qr

[]

[]r

y el resultado de la tarea es [([]q, s)].


7. La completa reduccion nos lleva a la finalizacion:
[(([]q)[q/], qs)] = [([]nil, qs)]
Por lo tanto, la inferencia no es valida y un contramodelo esta determinado por I(q) = 0, I(s) = 1.

Ejemplo 3
Vamos a estudiar la validez de la siguiente formula:
A = ((p (r t)) (q (t s))) ((p (q t)) (r ((q (s r)) s)))
1. La entrada al algoritmo es

[]r

[(
Arbol(A), nil)] = []prt []qst

[]pqt

[]s
[]qsr

, nil

2. Restringir: El nodo marcado con un crculo es eliminado, ya que tiene literales comunes con su
padre.

[]r

, nil

[]s
[]prt []qst []pqt
La hoja simple se elimina subiendo el literal s a la raz. Obtenmos el siguiente a rbol restringido.

[]rs

, nil
[]prt []qst []pqt

3. El -arbol es completamente reducible,

[]prt

[]rs
[]qst

[]pqt

[rs/], rs

6.3. EL ALGORITMO TAS

181

y la sustitucion efectiva de los literales por las constantes da como resultado

[]nil

, rs
[]pt []qt []pqt
4. El arbol obtenido ya esta restringido, no es completamente reducible, la subreduccion no modifica el
a rbol y no tiene literales puros. Aplicamos entonces la etapa Quine y para ello elegimos la variable p;
la lista de tareas pasa a ser:

[]nil
[]pt

[]qt

[]pqt

[p/], rsp ,

[]nil
[]pt

[]qt

[]pqt

[p/], rsp

Las sustituciones efectivas de los literales conduce a

[]nil
[]nil

, rsp ,
, rsp
[]qt []qt
[]t []qt
5. Nos preocupamos ahora de la primera tarea. El -arbol es restringido, no es completamente reducible y la subreduccion no realiza ninguna modificacion. S tenemos un literal puro, t, por lo que la
reduccion de dicho literal conduce a

[]nil
[]nil
[t/], rspt ,

, rsp
[]qt []qt
[]t []qt
La sustitucion efectiva del literal da

([]nil, rspt),

[]nil
[]t

[]qt

, rsp

ight)P orlotanto, laprimeratareaesf inalizable :A es satisfacible y un modelo es I(r) = 1,


I(s) = 0, I(p) = 1, I(t) = 0. Observese que, dado que el resultado es SATISFACIBLE, no es necesario continuar con la tarea pendiente.

Ejemplo 4
Estudiemos la validez de la siguiente inferencia:
A = (p (r q) (s r)) (p r (q s) (p q))
B = ((r q s) p)

CAPITULO
6. EL METODO
TAS

182

1. El -arbol de la premisa y de la negacion de la conclusion da la entrada del algoritmo:


6.

[]nil

[]p
[]nil

, nil
[(
Arbol(A B), nil)] =

[]p
[]pr
[]qrs

[]qr []rs []qs []pq


2. Restringir:

(actual.)

[]nil
[]nil
[]p

[]p
[]pr

[]qrs

[]qr []rs []qs []pq


(lit.comunes)

[]p
[]nil
[]p

[]p
[]pr []qrs

[]qr []rs []qs []pq


Los dos nodos marcados con un crculo en el primer a rbol, tienen un

[]p
[]nil
[]p

[]pr

[]qr []rs []qs []pq


literal en comun, p, que por la actualizacion suben a la raz; en el segundo a rbol, el nodo marcado
tiene un literal en comun con su padre y por lo tanto el subarbol es eliminado; el tercer -arbol es la
forma restringida.
3. El -arbol es completamente reducible:

[]nil
[]p

[]nil
[]nil

, p

[p/], p =

[]nil

[]p
[]pr
[]r

[]qr []rs []qs []pq


[]qr []rs []qs []q

6.4. EJEMPLO 5

183

4. Restringir:

[]nil

[]nil
[]nil

[]nil
[]nil

[]r

[]qr []rs []qs

[]q

[]nil

[]qr

[]nil
[]nil

[]qr

[]qr []rs []qs

[]qr []rs []qs

El nodo marcado en el primer a rbol es una hoja simple y el literal que contiene sube al padre; en
el segundo a rbol, la raz es vaca y monaria, por lo que es eliminada; el tercer a rbol es la forma
restringida.
5. Paralelizar: Dado que el -arbol es disyuntivo, es satisfacible si y solo si alguno de los subarboles es satisfacible; la etapa Paralelizar es la encargada de dividir el problema en las correspondientes subtareas:

[]nil

[]nil
[]qr
Paralelizar

, p ;
, p

[]nil []qr , p

[]qr []rs
[]qs
[]qr []rs []qs

6. La primera tarea no es completamente reducible y la subreduccion no modifica el a rbol; tiene dos


literales puros

[]nil
Lit.puros
[qs/], pqs ; . . . = [([]nil, pqs); . . . ]


[]qr []rs

7. Por lo tanto, la primera tarea es finalizable, siendo la salida del algoritmo: S ATISFACIBLE, con modelo
I(p) = 1, I(q) = 1 y I(s) = 0. En consecuencia, la inferencia no es valida e I es un contramodelo.

6.4. Ejemplo 5
Estudiemos la validez de la siguiente inferencia:
A1
A2
A3
A

= (p (q r)) ((r p) (p t))


= (q t) (p r)
= (t r) (q r)
= p r

1. Convertimos cada formula en -arbol:

Arbol(A1 ) =
Arbol(p (q r) ((r p) (p t)) =

[]p
[]qr

[]nil

[]pr

[]pt

CAPITULO
6. EL METODO
TAS

184

Arbol(A2 ) =

[]nil

[]nil

;
Arbol(A3 ) =

[]qt []pr

[]rt

[]qr

Arbol(A) = []pr
Por lo tanto, la entrada del algoritmo es:

[(
Arbol(A1 A2 A3 A), nil)] =
[]pr

[]p
[]nil

=
[]qr []nil []qt []pr

[]pr []pt

[]nil

, nil

[]rt []qr

2. La restriccion del a rbol elimina el subarbol cuya raz aparece marcada y tras esto pasamos a aplicar
la completa reduccion sustituyendo [pr/].

Restringir

[]pr
[]nil

[]nil


, nil

[]qt []pr []rt []qr

[]nil

Comp.Red.
[]nil []nil, pr

[]qt
[]q

3. El operador Restringir actua sobre el a rbol como sigue:


(nil monario)

[]nil

[]nil []nil
[]qt

[]q

(nil monario)

[]qt

[]qt

[]nil
[]q

y por lo tanto, el resultado de la tarea es [([]qt, pr)]


4. Finalmente, la completa reduccion nos lleva a [([]nil, pqrt)] y, por lo tanto, la inferencia no es
valida y un contramodelo es I(p) = 0, I(q) = 0, I(r) = 1, I(t) = 1.

6.5. EJERCICIOS

185

6.5. Ejercicios
1. Transforme los siguientes -arboles en formulas; obtenga la formula tal y como la devuelve el operador FNN, es decir, sin simplificar.
[]nil

[]nil
[]nil
[]pr

[]pq

[]qr

[]nil
[]qr

[]qr

[]q
[]nil

[]qr

[]pr

2. Transforme las siguientes formulas en -arbol.


a) ((s p) ((q s) (q t)))
b) p (q p) (q (s q) (r p))
c) ((p(q r)) (pq))
3. Evalue las siguientes sustituciones; en el segundo apartado, realice la dos sustituciones simultaneamente.

[]nil

[]nil

[]qr []q

[qr/]

[]nil
[]nil [q/],

[]nil

[]pr []pq []qr []qr


[]qr []pr
4. Obtenga la forma restringida de los siguientes -arboles y escriba los resultados como formulas.
,

[]nil
[]pr

[]p

[]qr

[]p

[]q

[]nil
[]pqr

[]pr
[]qr

[]pr

[]p

[]nil
[]nil

[]pq

5. Estudie la validez de las siguientes fbfs y razonamientos utilizando el metodo TAS.


a) ((p r) (q s)) ((p q) (r s))
b) p q, r s, (s q) t |= (p r) t


c) (s q) (s r), p (r q) (p r) q |= p s

d) (p q) (r q), (s p) (s r) |= s p
e) (p (q r)) ((p q) (p r))

f ) (p (q r)) ((q r) ((p q) (p r)))

CAPITULO
6. EL METODO
TAS

186
6. Para cada una de las siguientes formulas, A, obtenga
mas.
(p q) (p q)
((p q) r) (p (q r))
(p (q r)) ((p q) (p r))
(p (p q)) p
(p q) (q p)
(p q) (p q)
(p (q r)) ((p q) (p r))

Arbol(A) y deduzca la validez de las mis(p q) (p q)


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

7. Estudie la validez de las siguientes formulas utilizando el metodo TAS.


a) (p q) ((p q) p)
b) (r (p q)) ((r p) (r q))
c) ((p r) (q s)) ((p q) (r s))
d) (p q) (q (p q))
8. Estudie la validez de las siguientes inferencias utilizando el metodo TAS.
a) p (q r), q r, r s |= p s
b) p q, r s, (s q) t |= (p r) t
c) p (q r), p q, p |= r
d) p (q r), q r, r s |= p s
9. Estudie la validez de las siguientes inferencias utilizando el metodo TAS.
p (q p) (q (s q) (r p)) |= (q s) (p r)
p ((r p) (q s) (q p)) |= p (r q)
( ( (p q) (r s) ) r ) t |= (t p) (s p)
10. Utilice TAS para estudiar la validez de los siguientes razonamientos y formulas:
a)
((s t) r) (q (r (u p)))
((s p) r) (s (r p))
(s (t (q p))) ((p u) t)
b)
p (q ((s r) (t s)))
r (s (t (t q)))
(r s)
p (q (q p))

c) [(r (q t)) (r q) (s (r q)) p ((r q) t) (p t)] (s t)

6.5. EJERCICIOS

187

Figura 6.1: Algoritmo TAS

Você também pode gostar