Escolar Documentos
Profissional Documentos
Cultura Documentos
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
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
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.
n
Y
Ai = {(a1 , . . . , an ) | ai Ai , 1 i n}
i=1
Steven Strogatz. El placer de la x. Una visita guiada por las matematicas, del uno al infinito. 2012. Ed Taurus.
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
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
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
para todo n 3
CAPITULO
1. PRELIMINARES
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
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.
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
[
iI
Ai = {x A | para todo i I, x Ai }
iI
CAPITULO
1. PRELIMINARES
12
u(i)
v(i m)
si
si
1im
m+1im+n
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.
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
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
17
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 }
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 .
= 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.
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.
19
Por lo tanto, X + es la union de la sucesion estrictamente creciente de conjuntos Yi definidos como sigue:
Y1
Y2
... ...
Yi+1
n
Yi {f (y1 , . . . , yn ) | f F e (y1 , . . . , yn ) Yin Yi1
}
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 ))
CAPITULO
1. PRELIMINARES
20
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
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
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
x2
x2 +1 .
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) 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.
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 )
17.
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.
1.8. EJERCICIOS
23
a
b
c
a
a
b
c
b
b
c
a
c
c
a
b
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
CAPITULO
2. LOGICA
Y COMPUTACION
26
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):
Regla:
Caso:
Deduccion (de la conclusion):
Regla:
Caso:
Deduccion (de la conclusion):
Caso:
Caso:
Induccion (de la regla):
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):
Regla:
Caso:
Abduccion (de Hipotesis):
Regla:
Caso:
Abduccion (de Hipotesis):
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.
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.
31
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
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]
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.
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
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
(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}
b = k long() y c = k long()
(3k + k = 4k)
CAPITULO
2. LOGICA
Y COMPUTACION
36
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.
()
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.
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.
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
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.
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
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)
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:
-
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.
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.
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 )
D. Ince. An Introduction to Discrete Mathematics and Formal System Specification. Claredon Press, 1988.
CAPITULO
3. LOGICA
PROPOSICIONAL
46
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.
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.
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
q
Definicion 3.4 La profundidad de una fbf, A, denotada pr(A), es la profundidad de su a rbol sintactico TA .
=
=
=
0 si A Vprop {, }
1 + pr(A)
1 + max{pr(A), pr(B)} si {, , , }
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}
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
CAPITULO
3. LOGICA
PROPOSICIONAL
50
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.
CAPITULO
3. LOGICA
PROPOSICIONAL
52
Definicion 3.7
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
i=n
\
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).
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.
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
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
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
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
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. 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
Ley de complementacion
ley de complementacion
;
A;
A;
A B
B A;
A
A
A
(A B)
AB
A
A B A B
B A
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)
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
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:
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.
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
CAPITULO
3. LOGICA
PROPOSICIONAL
64
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
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
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.
CAPITULO
3. LOGICA
PROPOSICIONAL
66
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,
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(+)
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
CAPITULO
3. LOGICA
PROPOSICIONAL
68
t
q
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.
n
^
i=1
Definicion 3.20 Una fnd se dice restringida (abreviadamente, fndr), si cumple los siguientes requisitos:
69
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
n
_
Di
i=1
n
_
i=1
Di
Di
Ci
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
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
(p2 )
(p3 )
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) (p3 r) (q r p3 )
As pues, obtenemos
p1 (p1 (p2 s)) (p2 (p p3 )) (p3 (q r))
que nos proporciona la FNC
73
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
= {p | p + } y
1 =
CAPITULO
3. LOGICA
PROPOSICIONAL
74
se
tiene
que
y
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
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
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.
CAPITULO
3. LOGICA
PROPOSICIONAL
76
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
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)
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.
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
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)
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
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
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
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
PARA LA LOGICA
DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL
86
E. Mendelson. Introduction to Mathematical Logic. Wadsworth & Brook/Cole, third edition, 1987.
87
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
Ax.2
3. (A (A A)) (A A)
4. A (A A)
MP(1,2)
Ax.1
5. A A
MP(3,4)
Ax.3
Ax.1
3. B ((A B) (B A))
4. (B ((A B)
MP(1,2)
Ax.2
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)
de
Ax.1
MP(1,2)
89
...
(. . . ) . . .
...
(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)
...
PARA LA LOGICA
DE LA DEMOSTRACION
CAPITULO
4. TEORIA
PROPOSICIONAL
90
(1) . . .
...
(. . . ) . . .
...
(n1 ) (A C)
...
(1) . . .
...
(. . . ) . . .
...
(n2 ) A (C 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)
...
(. . . ) . . .
...
(n1 ) A B
...
...
(. . . ) . . .
...
(n1 ) A B
...
(n1 + 1) A
de {A}
(n1 + 2) B
MP (n1 , n1 + 1).
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)
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)
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)
93
Hip.
2. B
Hip.
3. A
Hip.
4. B C
MP (1,3)
5. C
MP (2,4)
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
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)
95
{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
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.
97
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.
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.
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
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.
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
AB
B
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
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!
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.4)
(2.3) y (e)
(3.1)
Hip. adicional
(3.2)
(3.1) y (Rep)
Subderv.
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.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, = .
NATURAL
4.2. DEDUCCION
105
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)
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.4)
(1.5.3) y (e)
(1.6.1)
Hip. adicional
(1.6.2)
(1.4.1) y (Rep)
Subderv.
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
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
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:
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
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
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
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.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
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:
5.2. METODO
DE LAS TABLAS SEMANTICAS
119
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
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),
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
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)
V ALIDA
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
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
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 ;
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.
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
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
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
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
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 {}.
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.
{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}
{}
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 )
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
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
p (q r)
(q s) p
rp
s (p (q r))
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
p
p
q
q
()
I2 (p q) = 0
r
r
I6 (p) = 0
I4 (p r) = 0 I5 (q r) = 0
138
CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL
5.3. METODOS
QUE REQUIEREN QUE LA ENTRADA ESTE EN FORMA CLAUSAL
139
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
CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL
140
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
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 .
CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL
144
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.
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.
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
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
n2
9
n log 10 = (1
> 2 0,45
9
n2
n2
10
log 10 2
9
20
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
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
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
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
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()
Teorema 5.15 (Existencia de modelo minimo) Todo conjunto no vaco finito y satisfacible de clausulas
de Horn posee un modelo mnimo.
37
156
CAPITULO
5. RAZONAMIENTO AUTOMATICO
EN LA LOGICA
PROPOSICIONAL
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));
(AB)
A
B
A A
B B
A
B
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
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
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
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
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.
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
[]
T1
...
Tn
...
Tn
[]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
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.
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
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.
[]prt
[]rs
[]qst
[]pqt
[rs/] =
[]nil
[]pt
[]pqt
DE FNNS
6.1. -ARBOLES
COMO REPRESENTACION
169
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
CAPITULO
6. EL METODO
TAS
170
[]
A1
...
Am
[]
...
Am
...
A1
[]
A1
[]
[]
[]
Am
A1
...
Am
...
...
[]
[]
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
A1
...
Am
Uni
on(, )
A1 . . . Am Am+1 . . . Am+k
nil
Am+1
15
...
Am+1
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
DEL METODO
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
[]nil
[]pt
[]pqt
CAPITULO
6. EL METODO
TAS
174
...
A1
...
A1 [/] . . .
Am
[]
Am
[]
Am [/]
[]
A1 [/] . . .
Am [/]
175
[]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.
CAPITULO
6. EL METODO
TAS
176
[. . . ,
[]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.
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
CAPITULO
6. EL METODO
TAS
178
[]nil
[]nil
[]nil, p
[]nil
[]nil
[]q
[]r
[]nil
(nil monario)
[]nil
[]qr
[]qr
[]nil
[]qr
[]qr
[]qr
[]qr
, p
[]qr
[]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))
[]nil
[]ps
[]nil
[]q
[]qs
[]rs
[]p
[]qr []pr
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
[]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
[]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
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
[]prt
[]rs
[]qst
[]pqt
[rs/], rs
181
[]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
[]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
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
[]nil
[]p
[]nil
, nil
[(
Arbol(A B), nil)] =
[]p
[]pr
[]qrs
(actual.)
[]nil
[]nil
[]p
[]p
[]pr
[]qrs
[]p
[]nil
[]p
[]p
[]pr []qrs
[]p
[]nil
[]p
[]pr
[]nil
[]p
[]nil
[]nil
, p
[p/], p =
[]nil
[]p
[]pr
[]r
6.4. EJEMPLO 5
183
4. Restringir:
[]nil
[]nil
[]nil
[]nil
[]nil
[]r
[]q
[]nil
[]qr
[]nil
[]nil
[]qr
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
[]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
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
[]nil
Comp.Red.
[]nil []nil, pr
[]qt
[]q
[]nil
[]nil []nil
[]qt
[]q
(nil monario)
[]qt
[]qt
[]nil
[]q
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
[]nil
[]nil
[]qr []q
[qr/]
[]nil
[]nil [q/],
[]nil
[]nil
[]pr
[]p
[]qr
[]p
[]q
[]nil
[]pqr
[]pr
[]qr
[]pr
[]p
[]nil
[]nil
[]pq
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))
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))
6.5. EJERCICIOS
187