Академический Документы
Профессиональный Документы
Культура Документы
Camilo Rocha
E-mail address: me@camilorocha.info
Para Elisa.
Derechos de autor 2014-2016 Camilo Rocha.
ltima actualizacin 15 de enero de 2017.
Versin 0.3c
cbna
Esta obra est bajo una licencia de Creative Commons
Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional.
Este trabajo puede ser copiado y distribudo libremente, como copia electrnica o en papel. No
puede ser vendido por un valor mayor a su costo actual de reproduccin, almacenamiento o
transmisin.
ndice general
Prefacio ix
Captulo 0. Prembulo 1
0.1. Preludio 1
0.2. Induccin 5
0.3. Sistemas formales 9
0.3.1. Induccin sobre teoremas 13
Captulo 2. Semntica 37
2.1. Funciones Booleanas 38
2.2. Valuaciones 48
2.3. Clasificacin de proposiciones 55
2.4. Consecuencia tautolgica y argumentaciones 60
2.5. La isla de caballeros y escuderos 66
2.5.1. Especificacin 67
2.5.2. Anlisis por casos 68
2.5.3. Anlisis con tablas de verdad 69
2.5.4. Anlisis con argumentaciones 69
v
vi ndice general
Bibliografa 207
Prefacio
ix
x Prefacio
Dado que el principal nfasis de este texto es en el uso de de la lgica matemtica como
herramienta para razonar, la dimensin de los sistemas formales es un marco conveniente
y riguroso para la formulacin de los fundamentos de la lgica. Un sistema formal permite
hacer clculos a partir de una coleccin de frmulas distiguidas (llamadas axiomas) y unas
reglas de manipulacin sintctica (llamadas reglas de inferencia). De este modo la lgica,
tanto proposicional como de predicados, se presenta como sendos sistemas formales que
resultan en juegos de manipulacin sintctica. Claramente, desde la perspectiva de un es-
tudiante que quiere entender qu calcula, es importante asociar nociones de significado a
las frmulas de los sistemas formales lgicos. Para este fin, en este texto se estudian las
semnticas proposicional y de predicados, como marcos de referencia conceptual y com-
plementaria al de los sistemas formales lgicos.
El estilo calculatorio de Dijkstra y Scholten ha sido utilizado, principalmente, en el
rea de mtodos formales de la informtica durante los ltimos 40 aos. Su uso en el aula
de clase se ha visto concentrado en el mismo planteamiento de la lgica como herramien-
ta de estudio y en las matemticas discretas durante las ltimas dos dcadas. El poder de
este sistema lgico est relacionado directamente con el hecho de que se privilegia la equi-
valencia lgica, en lugar de la implicacin, como relacin para calcular demostraciones.
Dado que la equivalencia lgica es un conectivo lgico ms fuerte que la implicacin l-
gica, el estilo calculatorio de Dijkstra y Scholten puede tambin ser usado para clculos
lgicos basados en la implicacin, es decir, en este estilo de hacer lgica hay lugar para
hacer deducciones con un estilo tradicional en las matemticas. Sin embargo, a pesar de
su aparente potencial acadmico y didctico, este estilo de hacer matemticas ha pasado
largamente desapercibido por la comunidad acadmica y, en algunas ocasiones, ha sido
objeto de crtica por su formulacin. Posiblemente, esto se debe a la tradicin en mate-
mticas en usar el lenguaje coloquial para desarrollar demostraciones, al hecho de que el
estilo calculatorio de Dijkstra y Scholten propone algunos cambios en notacin e introduce
nuevas convenciones para escribir demostraciones. En este texto se materializa el concepto
de demostracin la Dijkstra y Scholten, y se relaciona directamente con aquel de de-
mostracin en un sistema formal. La notacin empleada para cuantificar, y para operatorias
generalizadas, se presenta como azcar sintctico de la notacin tradicionalmente utilizada
en las matemticas. De este modo estas notas aclaran al lector que la propuesta de Dijkstra
y Scholten desde la informtica es en un sistema lgico bien fundamentado.
La lgica computacional se ocupa de mecanizar la lgica matemtica y utilizarla como
motor de inferencia para razonar acerca de y llevar a cabo computaciones. Recientemen-
te, el autor de este texto, en compaa de otros colaborares, ha estudiado las propiedades
computacionales de la lgica de Dijkstra y Sholten como sistema de reescritura de trmi-
nos, obteniendo resultados inesperados y sorprendentes. Por ejemplo, el sistema formal
de la lgica proposicional presentado en este texto puede ser usado como un sistema de
reescritura resultando en un procedimiento de decisin para la lgica proposicional. Simi-
larmente, el sistema formal de primer orden presentado en este texto puede ser mecanizado
por reescritura, con ayuda de secuentes la Gentzen, resultando en un procedimiento de
semi-decisin para lgica de predicados. Es decir, cada uno de los sistemas lgicos presen-
tados en este texto gozan de las mejores propiedades computacionales posibles (en cada
caso). Adicionalmente, relaciones de la lgica de Dijkstra y Scholten con otras teoras co-
mo la de anillos Booleanos y la lgica Aristotlica han sido encontradas y documentadas.
En este texto se exploran algunas de estas relaciones.
Prefacio xi
Camilo Rocha
Cali, Agosto de 2016
Captulo 0
Prembulo
Este captulo contiene material necesario para el resto del texto y debe ser abordado
a medida que se necesite. El material en esta seccin incluye convenciones y definiciones
bsicas, y adems hace un recuento sucinto sobre la induccin matemtica y los sistemas
formales.
0.1. Preludio
1
2 0. Prembulo
Primero que todo, note que las definiciones vienen identificadas con un cdigo. As
no es necesario referirse a ellas como en la definicin anterior (puede haber ms de una
definicin antes del texto que la referencia y entonces esta indicacin sera ambigua), sino
ms bien referencindola directamente como en la Definicin 0.1. En este ltimo caso la
palabra definicin es un nombre propio y por eso su inicial se escribe en mayscula.
Los tipos de letra son claves para entender una definicin. Por ejemplo, en la Defini-
cin 0.1 hay dos tipos de letra. Los sustantivos conjunto de nmeros naturales y nmero
natural estn en letra cursiva, lo cual no es un capricho: estos dos son los nombres de los
objetos que estn siendo definidos. Esto quiere decir, por ejemplo, que en este texto los
nmeros naturales son esos y no otros. Como convencin se adopta el smbolo N para
representar el conjunto de nmeros naturales. En la segunda parte de la Definicin 0.1 la
expresin n es una variable matemtica y por eso tambin aparece en letra cursiva.
En algunas ocasiones se hacen suposiciones de notacin y convencin. Por ejemplo,
en la Definicin 0.1 el autor supone conocimiento del lector acerca de qu es un nmero, de
preferir la notacin arbica sobre la romana para escribirlos y de entender el significado del
smbolo . Es posible tratar de definir todas estas suposiciones formalmente; sin embargo,
sera imprctico en el caso de este texto porque desviara al lector de su objetivo principal.
Una vez un objeto est (unvocamente) definido, es posible entonces proceder a es-
tudiarlo al analizar y estudiar sus propiedades. Es en este momento, habiendo definido el
objeto de inters, que se pueden postular y demostrar propiedades acerca del objeto de
estudio de manera precisa.
Teorema 0.2
El Teorema 0.2 (si!, tambin tiene nombre) establece una propiedad inductiva de los
nmeros naturales que por lo pronto sirve nicamente de ejemplo. La propiedad enunciada
en el Teorema 0.2 indica que el sucesor (i.e., el siguiente) de cualquier nmero natural es
un nmero natural. Claramente, esto debe estar acompaado de una demostracin rigurosa.
En este texto las demostraciones se presentan en un prrafo que inicia con el sustativo
Demostracin en letra negrilla y termina con un cuadro vaco indicando el fin de la
demostracin, de la siguiente forma:
Demostracin. ...
0.1. Preludio 3
Nota 0.3
Para estudiar lgica es necesario entender muy bien las definiciones y hacer demostracio-
nes.
Ejercicios
1. Investigue y enuncie las convenciones notacionales para identificar cada uno de los
siguientes conjuntos, explicando la relacin que hay entre cada uno de ellos:
a) Nmeros enteros.
b) Nmeros racionales.
c) Nmeros reales.
d) Nmeros complejos.
2. Investigue y enuncie la definicin para cada uno de los siguientes objetos matemticos:
a) Nmero algebraco.
b) Nmero irracional.
c) Nmero trascendental.
3. Investigue y enuncie la definicin para cada uno de los siguientes objetos matemticos:
a) Conjunto.
b) Conjunto finito.
c) Conjunto infinito.
4 0. Prembulo
4. Investigue y enuncie la definicin para cada uno de los siguientes objetos matemticos:
a) Funcin parcial.
b) Funcin total.
c) Funcin inyectiva.
d) Funcin sobreyectiva.
e) Funcin biyectiva.
5. Investigue y enuncie la definicin para cada uno de los siguientes objetos matemticos:
a) Relacin binaria.
b) Relacin binaria reflexiva.
c) Relacin binaria irreflexiva.
d) Relacin binaria simtrica.
e) Relacin binaria antisimtrica.
f ) Relacin binaria asimtrica.
g) Relacin binaria transitiva.
6. Investigue y enuncie la definicin para cada uno de los siguientes objetos matemticos:
a) Monoide algebraico.
b) Grupo algebraico.
c) Retculo algebraico.
d) Espacio mtrico.
e) Espacio topolgico.
7. Investigue y enuncie los siguientes teoremas (sin demostracin):
a) Teorema fundamental de la aritmtica.
b) Teorema fundamental del lgebra.
c) Teorema fundamental del clculo.
8. Para cada una de las siguientes abreviaciones, investigue su origen en latn, su signifi-
cado en castellano y formule un ejemplo de su uso:
a) e.g.
b) et al.
c) etc.
d) i.e.
e) ibid.
f ) Ph.D.
g) Q.E.D.
h) v.gr.
i) viz.
j) vs.
9. Para cada una de las siguientes expresiones en latn, investigue su siginificado en cas-
tellano y explique cmo puede ser usada en matemticas:
a) a fortiori.
b) a priori.
c) ad absurdum.
d) ad infinitum.
10. Investigue acerca del orgen en griego antguo de la palabra lema y su significado en
castellano. Adems, enuncie tres lemas importantes de las matemticas.
0.2. Induccin 5
11. Investigue acerca del orgen en griego antguo de la palabra corolario y su significa-
do en castellano. Adems, enuncie un corolario importante de las matemticas.
0.2. Induccin
Hay una ancdota acerca del matemtico alemn Carl Friedrich Gauss quien, a los 8
aos de edad, no prestaba mucha atencin en clase. A modo de castigo, una vez su profesor
de matemticas le pidi sumar los nmeros naturales de 0 a 100. La leyenda dice que Gauss
respondi correctamente 5050 despus de un par de segundos de formulada la pregunta;
esto enfureci al profesor. Cmo pudo el pequeo Gauss hacer el clculo con tanta
rapidez? Posiblemente Gauss saba que la ecuacin de los nmeros triangulares
n (n + 1)
0 + 1 + 2 + 3 + 4 + + n =
2
es cierta para todo nmero natural n. Entonces, al tomar n = 100, Gauss pudo calcular
fcilmente la cantidad consultada por el profesor de la siguiente manera:
100 101
0 + 1 + 2 + 3 + 4 + + 100 = = 5050.
2
Sin embargo, para que un clculo como el anterior sea siempre correcto es necesario
demostrar que la ecuacin es cierta para todos los valores de n (algo que posiblemente
Gauss ya haba hecho). Tenga presente, en general, que si una ecuacin es cieta para al-
gunos valores de n, esto no la hace correcta para todos los valores de n: en matemticas
no es posible demostrar una afirmacin con base en ejemplos. An ms, en el caso de los
nmeros naturales, es imposible pretender demostrar uno a uno una propiedad para todos
ellos porque hay una cantidad infinita de nmeros naturales.
El principio de induccin matemtica (finita) es una herramienta fundamental para ob-
tener resultados en matemticas, incluyendo la lgica. Este principio permite, por ejemplo,
establecer la veracidad de la ecuacin de los nmeros triangulares para cualquier valor de
n N, a pesar de que los nmeros naturales son un conjunto enorme. De manera general,
el principio de induccin matemtica permite demostrar que cualquier nmero natural (o
una gran cantidad de ellos) tiene una propiedad dada.
Nota 0.4
Se escribe M(k) para indicar que k N tiene la propiedad M. Por ejemplo, M(5) indica que
5 tiene la propiedad M.
El principio de induccin matemtica para una propiedad M est basado en los si-
guientes dos casos:
1. Caso base: el nmero natural 0 satisface la propiedad M, i.e., hay una demostracin
de M(0).
2. Caso inductivo: si n es un nmero natural para el cual se supone M, entonces se puede
demostrar que n + 1 tiene la propiedad M; i.e., se tiene una demostracin de que M(n)
implica M(n + 1).
6 0. Prembulo
Definicin 0.5
El principio de induccin matemtica dice que, bajo la suposicin de las propiedades (1)
y (2) mencionadas anteriormente, todo n N tiene la propiedad M. La suposicin que se
hace en el caso inductivo se llama hiptesis inductiva.
Teorema 0.6
La ecuacin de los nmeros triangulares es cierta para todo nmero natural n. Es decir,
n (n + 1)
0 + 1 + 2 + 3 + 4 + + n =
2
para n N.
Demostracin. Primero que todo, se identifica claramente la propiedad que se quiere de-
mostrar. Sea G(n) una abreviacin para la ecuacin 0 + 1 + 2 + 3 + 4 + + n = n(n+1)
2 , lo
cual se escribe as:
n (n + 1)
G(n) : 0 + 1 + 2 + 3 + 4 + + n = .
2
Note que n es el parmetro de G as como n es el parmetro en la ecuacin de los nmeros
triangulares. El objetivo es demostrar G(n) para n N. Por el principio de induccin
matemtica (Definicin 0.5) basta con demostrar los casos (1) y (2).
Caso base: se quiere demostrar que 0 tiene la propiedad G. Note que G(0) abrevia la
ecuacin 0 = 0(0+1)
2 , que es directamente una identidad. Entonces 0 tiene la propiedad
G, i.e., G(0).
Caso inductivo: se quiere demostrar que si n tiene la propiedad G, entonces (n + 1) tiene
la propiedad G(n + 1) (i.e., G(n) implica G(n + 1)). Se supone como hiptesis inductiva
que n N tiene la propiedad G(n) y con esta informacin se busca una demostracin
0.2. Induccin 7
Ejercicios
1. Investigue sobre Carl Friedrich Gauss y describa sus principales aportes a las matem-
ticas.
2. Investigue y explique por medio de dibujos por qu la ecuacin usada por el peque-
o Gauss, enunciada al inicio de esta seccin, recibe el nombre de ecuacin de los
nmeros triangulares.
3. Use el principio de induccin matemtica, indicando cada uno de los casos y el uso de
la hiptesis inductiva, para demostrar
A(n) : (2 1 1) + (2 2 1) + (2 3 1) + + (2 n 1) = n2
para todo n N con n 1.
4. Explique por medio de dibujos por qu la ecuacin del Ejercicio 3 es conocida como
la ecuacin de los nmeros cuadrados.
5. Use el principio de induccin matemtica, indicando cada uno de los casos y el uso de
la hiptesis inductiva, para demostrar
n (n + 1) (2 n + 1)
B(n) : 02 + 12 + 22 + 32 + + n2 =
6
para todo n N.
6. Use el principio de induccin matemtica para demostrar
5n2 + 11n
C(n) : 8 + 13 + 18 + 23 + + (3 + 5n) =
2
8 0. Prembulo
20. Considere un conjunto C de n + 1 nmeros tomados del conjunto {1, 2, . . . , 2n}, con
n 1. Demuestre que en C hay dos nmeros tales que uno divide al otro.
21. Este ejercicio ilustra por qu el caso base es importante en el principio de induccin
matemtica. Considere la siguiente afirmacin:
Definicin 0.7
Definicin 0.8
Para el lenguaje del sistema formal debe siempre existir un algoritmo para decidir (i.e.,
que responda si o no en un nmero finito de pasos) si una expresin arbitraria es o no una
de sus frmulas. Es importante recalcar que todos los lenguajes estudiados en este texto
tienen esta propiedad.
Nota 0.9
Definicin 0.10
Nota 0.11
Ejemplo 0.2
Nota 0.12
0. 0 ( )
1. 1 ( )
n 1. n1 ( )
Nota 0.13
Fjese que la frmula que se usa como objeto de la demostracon, aparte de ser un teorema,
es cualquier frmula del sistema formal. Ninguna otra suposicin se ha hecho sobre la
forma o estructura interna de . Lo mismo sucede con los i . Entonces, en caso tal de lograr
el objetivo de demostrar que tiene la propiedad Q, necesariamente se logra demostrar
que cualquier teorema de F tiene la propiedad Q. Este tipo de comportamiento se conoce
comnmente como el principio de universalidad.
Por un momento suponga que la propiedad Q satisface las siguientes dos condiciones:
1. cada axioma de F tiene la propiedad Q,
2. cada regla de inferencia de F es tal que si sus premisas tienen la propiedad Q, entonces
necesariamente su conclusin tiene la propiedad Q.
Bajo estas dos suposiciones, el objetivo es demostrar Q() (i.e., que el teorema tiene
la propiedad Q). Al analizar la demostracin 0 , . . . , n1 de bajo estos dos supuestos,
se tiene que la frmula 0 es necesariamente un axioma de F dado que aparece en la
primera lnea de la demostracin. Por la suposicin (1), entonces se concluye que 0 tiene
la propiedad Q. Ahora considere la segunda frmula 1 . Si esta frmula es tambin un
axioma, entonces tiene la propiedad Q por la suposicin (1). De lo contrario, 1 es la
conclusin de una regla de inferencia cuya nica premisa puede ser 0 . Ya se conoce que
la frmula 0 tiene la propiedad Q. Entonces, por la suposicin (2), se concluye que 1
tambin tiene la propiedad Q. Al continuar de esta forma, se llegar a la conclusin de que
la frmula n1 (la misma ) tiene la propiedad Q, i.e., Q().
El prrafo anterior hace un recuento informal de una tcnica de demostracin impor-
tante llamada induccin sobre teoremas o induccin sobre la longitud de una demostra-
cin. A continuacin, en el Metateorema 0.14, se presenta una demostracin formal (i.e.,
rigurosa) de este resultado.
Metateorema 0.14
Demostracin. Para n N, sea S (n) la propiedad todo teorema de F con una demostra-
cin de mximo n renglones tiene la propiedad Q. El objetivo es entonces demostrar que
todo n 1 tiene la propiedad S . De este modo, se habr demostrado que todo teorema de
F tiene la propiedad Q (por qu?). La demostracin procede por induccin matemtica
sobre n, suponiendo que (1) y (2) son ciertos.
0.3. Sistemas formales 15
Caso base: En este caso n = 1 y el objetivo es demostrar que todo teorema de F con
una demostracin de mximo un rengln tiene la propiedad Q. Dado que hay un solo
rengln en la demostracin, necesariamente dicho teorema es un axioma (porque apa-
rece en el primer rengln de la demostracin); por la suposicin (1), se concluye que
el teorema tiene la propiedad Q.
Caso inductivo: Suponga que n 1 tiene la propiedad S ; el objetivo es demostrar que
n + 1 tiene la propiedad S . Sea un teorema de F con una demostracin de n + 1
pasos; algo de la forma 0 , 1 , . . . , n1 , , en donde cada i es una frmula de F.
Hay dos casos sobre . Si es un axioma, entonces por la suposicin (1), tiene
la propiedad Q. Si no, es la conclusin de una regla de inferencia con premisas
en 0 , 1 , . . . , n1 . Note que cualquier premisa tiene una demostracin de mximo
n lneas (la misma demostracin de sirve como testigo). Entonces, por la hiptesis
inductiva se obtiene que cada premisa tiene la propiedad Q. Por la suposicin (2),
dado que es la conclusin de una regla de inferencia cuyas premisas todas tienen la
propiedad Q, necesariamente tiene la propiedad Q. En cualquiera de los dos casos,
tiene la propiedad Q y consecuentemente n + 1 tiene la propiedad S . Es decir, S (n)
implica S (n + 1).
Por el principio de induccin matemtica todo n 1 tiene la propiedad S (n). Es decir, todo
teorema de F tiene la propiedad Q.
No debe ser una sorpresa descubrir que la induccin sobre teoremas comnmente
recibe el nombre de demostracin por induccin sobre el nmero de pasos de una demos-
tracin. Su uso se ilustra con el siguiente ejemplo.
Ejemplo 0.3
ADD no es balanceada, entonces no es uno de sus teoremas. Esto permite concluir directa-
mente, por ejemplo, que la frmula || + || = ||| no es teorema de ADD.
Nota 0.15
Cuando se desee demostrar que una frmula no hace parte del conjunto de teoremas
de un sistema formal, posiblemente sea til encontrar una propiedad que cumplen todos
los teoremas de dicho sistema formal, pero que no cumple . Con base en esta propiedad
universal de todos los teoremas, se puede justificar que no es uno de ellos.
Ejercicios
7. Considere el sistema formal PR cuyas frmulas son cadenas (i.e., secuencias) de pa-
rntesis. El lenguaje tiene dos smbolos: ( y ). Cualquier expresin es una frmula.
El nico axioma es (). Sean y dos frmulas de PR; hay tres reglas de inferencia:
()
Add Double Omit.
()
Add Join.
()
a) Demuestre que cada una de las frmulas en el Ejercicio 7a son teoremas de PR0 .
b) Son todos los teoremas de PR teoremas de PR0 ? Justifique su respuesta.
c) Son todos los teoremas de PR0 teoremas de PR? Justifique su respuesta.
9. Sea F un sistema formal. Considere una funcin f que asigna a cada frmula de F un
valor en el conjunto {0, 1} y que satisface las siguientes condiciones:
a) Si es un axioma de F, entonces f () = 0.
b) Si 0 , . . . , n son las premisas de una regla de inferencia de F con conclusin y
f (0 ) = f (1 ) = = f (n ) = 0, entonces f () = 0.
Demuestre que si `F , entonces f () = 0.
10. Considere el sistema formal EVEN cuyos teoremas representan nmeros naturales pa-
res distintos a cero. El nico smbolo del sistema formal es |, cualquier expresin es
una frmula y el nico axioma es ||. Hay una regla de inferencia:
Pile.
||
a) Demuestre que cualquier teorema de EVEN tiene una cantidad par de palotes.
b) Demuestre que cualquier frmula con una cantidad par de palotes es un teorema
de EVEN.
c) Demuestre que EVEN es decidible.
d) Cambie el axioma de EVEN por uno nuevo, resultando en un sistema formal
ODD, de tal manera que los teoremas de ODD representen exactamente los n-
meros naturales impares.
11. Considere el sistema formal 2POW descrito a continuacin: hay dos smbolos a y
b, cualquier expresin es una frmula, el nico axioma es ab y hay una regla de
18 0. Prembulo
inferencia:
Extend.
ab
a) Demuestre para n 1, an bn es un teorema de 2POW (an denota la cadena de n
apariciones de a).
b) Sea un teorema de 2POW. Demuestre que hay un n 1 tal que es an bn .
c) Demuestre que 2POW es decidible.
12. A continuacin se describe el sistema formal PAL cuyos teoremas son todas los paln-
dromes sobre 3 letras. El lenguaje tiene tres smbolos a, b y c, cualquier expresin
es una frmula y hay seis axiomas: a, b, c, aa, bb y cc. El sistema cuenta con tres reglas
de inferencia:
Add a Add b Add c.
aa bb cc
a) Demuestre que las siguientes frmulas son teoremas de PAL:
1) abccccba
2) abcccba
b) Demuestre que todo teorema de PAL es palndrome.
c) Demuestre que todo palndrome sobre los smbolos a, b y c es teorema de
PAL.
13. A continuacin se describe el sistema formal MIU el cual aparece en el libro Gdel,
Escher, Bach de D. Hofstadter (1973). Hay tres smbolos M, I y U, cualquier
expresin es una frmula y hay un nico axioma MI. El sistema tiene 4 reglas de
inferencia, que se presentan a continuacin, en donde y representan cualquier
expresin (i.e., secuencia finita de smbolos, posiblemente vaca):
I M III UU
R1 R2 R3 R4.
IU M
a) Demuestre que las siguientes frmulas son teoremas de MIU:
1) MIU
2) MIUIUIUIU
3) MUIIIIU
b) Demuestre que la cantidad de apariciones de I en un teorema de MIU nunca es
mltiplo de 3.
c) Es MU un teorema de MIU?
Parte 1
Lgica proposicional
Captulo 1
Lenguaje y especificacin
Ejemplo 1.1
Si el tren llega tarde y no hay taxis en la estacin, entonces Juan llegar tarde a su reunin.
Juan no llega tarde a su reunin. El tren lleg tarde. Consecuentemente, haba taxis en la
estacin.
21
22 1. Lenguaje y especificacin
Ejemplo 1.2
Si est lloviendo y Juana no tiene una sombrilla a su alcance, entonces ella se empapar.
Juana no se empap. Est lloviendo. Consecuentemente, Juana tiene una sombrilla a su
alcance.
1.1. Proposiciones
Todas estas frases son declarativas dado que cada una de ellas es verdadera o falsa. La
frase (1) puede ser verificada con aritmtica bsica (y suponiendo tcitamente una repre-
sentacin arbica en base diez de los nmeros naturales). La frase (2) es un poco proble-
mtica. Para determinar su valor de verdad es necesario saber quines son Juana y Juan, y
posiblemente tener un recuento fehaciente sobre la situacin all descrita. En principio, si
alguien estuvo en la escena, entonces pudo haber detectado la reaccin agresiva de Jua-
na. La frase (3) es conocida como la conjetura de Goldbach y a simple vista parece trivial.
Claramente una afirmacin acerca de todos los nmeros naturales pares mayores que 2 es
verdadera o falsa. Al da de hoy, nadie sabe si la conjetura de Goldbach es verdadera o fal-
sa. La frase (4) parece un poco tonta: afirma que si los marcianos existen y gustan comer
calentado, entonces o lo prefieren con frjoles o sin frjoles. Esta frase tiene asociado un
valor de verdad independientemente de si existan o no los marcianos; en este sentido es
una proposicin. Et alors, quest-ce quon pense des phrases (5), (6), (7) et (8)? Las frases
(5), (6), (7) y (8) son tambin proposiciones; esto lo puede corroborar si puede leer un poco
de, respectivamente, ingls, francs, alemn o klingon.
Nota 1.1
En este texto se consideran como proposiciones aquellas frases que tengan un valor de ver-
dad asociado, independientemente de si este valor corresponde o no a la realidad. Adems,
una proposicin puede estar escrita en cualquier lenguaje, natural o artifical.
Ejemplo 1.4
Las lgicas estudiadas en este texto son simblicas por naturaleza y su desarrollo sigue
una metodologa que se describe a continuacin. Inicialmente, se especifica un conjunto
suficientemente grande de proposiciones del castellano como cadenas de smbolos. Estas
cadenas son cortas pero codifican las proposiciones. Posteriormente, estas proposiciones
son analizadas sistemticamente por medio de su significado matemtico o de un sistema
de inferencia. En algunas ocasiones, labores de validacin de especificaciones son mecani-
zadas, aprovechando la facilidad y velocidad de una mquina para manipular expresiones
simblicamente.
Ejercicios
1. Los siguientes prrafos han sido tomados de Wikipedia. De estos prrafos, liste tres
proposiciones y tres frases que no sean proposiciones.
Una especificacin formal usa notacin matemtica para describir de manera precisa
las propiedades que un sistema de informacin debe tener, sin preocuparse por la
forma de obtener dichas propiedades. Describe lo que el sistema debe hacer sin decir
cmo se va a hacer.
1.2. Lenguaje formal 25
Esta abstraccin hace que las especificaciones formales sean tiles en el proceso de
desarrollar un sistema, porque permiten responder preguntas acerca de lo que el sis-
tema hace con confianza, sin la necesidad de tratar con una gran cantidad de infor-
macin no relevante que se encuentra en el cdigo de programa del sistema en un
lenguaje de programacin cualquiera, o especular sobre el significado de frases en un
impreciso Pseudocdigo.
Una especificacin formal puede servir como un punto de referencia fiable tanto pa-
ra quienes se dedican a investigar sobre los requerimientos del cliente que solicita el
sistema, como para aquellos que desarrollan los programas para satisfacer esos reque-
rimientos, y tambin para los que redactan manuales de instrucciones para el sistema.
Debido a que es independiente del cdigo del programa, las especificaciones forma-
les de un sistema pueden ser elaboradas a principios de su desarrollo; y puede ser un
medio valioso para promover un entendimiento comn entre todos los interesados en
el sistema.
3. Considere los siguientes tres argumentos:
a) Si est soleado, entonces es de da. Est soleado. Por lo tanto, es de da.
b) Si no es martes, entonces es lunes. No es martes. Por lo tanto, es lunes.
c) Todos los planetas giran alrededor del Sol. Marte es un planeta. Por lo tanto,
Marte gira alrededor del Sol.
Identifique dos argumentos que tengan la misma estructura.
4. Investigue quin invent el Klingon y cmo se hizo popular. Adems presente tres
proposiciones en Klingon con su respectiva traduccin al castellano.
se usan para puntuar y agrupar proposiciones. Los conectivos lgicos reciben los siguientes
nombres y tienen las siguientes interpretaciones intuitivas:
Nota 1.3
Definicin 1.4
c) ( ) es una proposicin
d) ( ) es una proposicin
e) ( ) es una proposicin
f) ( ) es una proposicin
La expresin T (V) denota el conjunto de proposiciones con variables proposicionales en
V.
De acuerdo con la Definicin 1.4, una proposicin es una variable proposicional, una
constante o una frmula construda a partir de unas proposiciones ms sencillas y los co-
nectivos lgicos. Note que V T (V) porque cada variable proposicional es una pro-
posicin. La proposicin () es llamada negacin de . La proposicin ( ) es la
equivalencia de y , mientras que la proposicin ( . ) es la discrepancia de y . La
proposicin ( ) es una disyuncin con disyuntos y . La proposicin ( ) es una
conjuncin con conyuntos y . La proposicin ( ) es una implicacin con antece-
dente y consecuente . La proposicin ( ) es una consecuencia con consecuente
y antecedente . Finalmente, note que V es un subconjunto propio de T (V), escrito
V T (V).
Ejemplo 1.5
Una forma alternativa para determinar si una expresin es una proposicin, es usar
el principio de inversin. Este principio indica que el proceso de construccin de propo-
siciones siempre se puede invertir porque dada una proposicin, es posible saber cul de
las reglas de construccin (Definicin 1.4) fue la ltima usada para construrla. En parti-
cular, se puede determinar si una expresin es una proposicin aplicando recurrentemente
el principio de inversin sobre sus subexpresiones tratando de usar como mecanismo de
divisin la ltima regla de construccin aplicada. Si este proceso es exitoso para todas
las subexpresiones, entonces la expresin inicial es una proposicin; de lo contrario, no
lo es. Note que el principio de inversin tambin permite determinar si una expresin no
es una proposicin, algo tan importante como determinar si lo es. El siguiente ejemplo
1.2. Lenguaje formal 29
ilustra la aplicacin del principio de inversin para detectar que una expresin no es una
proposicin.
Ejemplo 1.6
Considere la expresin ()() p0 p1 que nicamente usa los smbolos del lenguaje de
la lgica proposicional. Note la mencin del smbolo de negacin en la expresin, el
cual, por las reglas de construccin de proposiciones, no puede estar a la derecha de una
proposicin. Entonces debe estar a la izquierda de una proposicin. Sin embargo, ninguna
proposicin inicia con el smbolo de parntesis derecho ) dado que la nica forma de usar
el parntesis derecho es justo despus de una proposicin (revise esto para cada una de las
reglas de construccin!) y no es una proposicin. Entonces, la expresin ()() p0 p1
no es una proposicin.
Nota 1.5
Adems, se adoptan algunas convenciones para escribir proposiciones. Primero, las letras
minsculas p, q, r, . . . se prefieren sobre p0 , p1 , p2 , . . ., a pesar de que estas ltimas son ms
precisas. Segundo, siguiendo la tradicin del uso de letras griegas en matemticas, las letras
griegas minsculas , , , , , . . . se usan para denotar proposiciones y las maysculas
, , , , . . . se usan para denotar conjuntos de proposiciones.
30 1. Lenguaje y especificacin
Ejemplo 1.7
Usando las convenciones en la Nota 1.5, la argumentacin en el Ejemplo 1.1, puede espe-
cificarse con la siguiente secuencia de cuatro proposiciones
((p (q)) r), (r), p, q
en donde las variables proposicionales simbolizan:
p: el tren est tarde
q: hay taxis en la estacin
r: Juan llega tarde a su reunin
Ejercicios
r q
p q true
El uso excesivo de parntesis es tedioso para los humanos. La razn por la cual los
parntesis son necesarios en las proposiciones es debido a que, a pesar de que comn-
mente sean escritas como lneas de texto, las proposiciones en realidad tienen forma de
rbol! Los parntesis son los signos de puntuacin que permiten escribir proposiciones
linealmente. La Figura 1 presenta el rbol de sintaxis correspondiente a la proposicin
(((p q) (true)) (r q)). Note que los parntesis son innecesarios en un rbol de
32 1. Lenguaje y especificacin
Definicin 1.6
Sea una proposicin. Una subproposicin de es una proposicin que corresponde a uno
de los subrboles en el rbol de sintaxis de .
Ejemplo 1.8
Hay rboles de smbolos que no son rboles de sintaxis por la misma razn que hay
expresiones en el lenguaje de la lgica proposicional que no son proposiciones.
Ejemplo 1.9
p
1.3. rboles de sintaxis 33
Este rbol no es un rbol de sintaxis porque una discrepancia aplica sobre dos proposicio-
nes y no sobre una sola.
Ejercicios
p q r p q
34 1. Lenguaje y especificacin
5. En cada uno de los siguientes casos, dibuje un rbol de smbolos que no represente
una proposicin y que satisfaga las condiciones dadas:
a) Al extenderlo el rbol resultante represente una proposicin.
b) Sea patolgicamente mal formado, i.e., no hay forma de extenderlo con subrbo-
les de tal modo que el rbol obtenido represente una proposicin.
Para demostrar que toda proposicin (o una gran cantidad de ellas) tiene una propiedad
dada se emplea el principio de induccin sobre proposiciones. Este principio de induccin
se presenta en el Metateorema 1.7; su demostracin se obtiene directamente del principio
de induccin matemtica sobre los nmeros naturales (Definicin 0.5). La induccin sobre
proposiciones a veces recibe el nombre de induccin sobre el nmero de conectivos de la
proposicin o induccin sobre la complejidad de una proposicin.
Metateorema 1.7
Sea Q una propiedad sobre proposiciones. Para demostrar que toda proposicin tiene la
propiedad Q, basta con demostrar:
1. Cada una de las variables proposicionales tiene la propiedad Q.
2. Cada una de las constantes true y false tiene la propiedad Q.
3. Si es de la forma () y tiene la propiedad Q, entonces tiene la propiedad Q.
4. Si es de la forma ( ), ( . ) ( ), ( ), ( ) o ( ), y y tienen
la propiedad Q, entonces tiene la propiedad Q.
En el Metateorema 1.7, los numerales (1) y (2) corresponden a los casos base de una
demostracin por induccin, mientras que los numerales (3) y (4) corresponden a los casos
inductivos; la suposicin de que o tienen la propiedad Q son las hiptesis inductivas.
Ejemplo 1.10
Se desea demostrar que toda proposicin tiene la misma cantidad de parntesis izquierdos
y derechos. Para una proposicin , se definen las funciones L y R de la siguiente manera:
L() : nmero de parntesis izquierdos en ,
R() : nmero de parntesis derechos en .
Para cualquier proposicin , el objetivo es demostrar la propiedad P:
P() : L() = R().
La demostracin procede por induccin sobre .
Caso base: Si es una variable proposicional, entonces no tiene parntesis alguno y
se tiene que L() = 0 = R(). Lo mismo sucede si es una constante.
Caso inductivo: Hay 7 casos: que sea de la forma (), ( ), ( . ), ( ),
( ), ( ) o ( ). Suponga que es de la forma ( ). Por la hiptesis
inductiva, se sabe que L() = R() y L() = R(). Note que:
L() = L(( ))
= 1 + L() + L()
= 1 + R() + R()
= R(( )) = R().
En cualquiera de las dos situaciones L() = R(), como se esperaba. Los casos en que es
de la forma (), ( . ), ( ), ( ), ( ) o ( ) son similares y se proponen
como ejercicios para el lector.
Ejercicios
1. Complete la demostracin del Metateorema 1.7 con los casos en que sea de las forma
true, false, (), ( ), ( ), ( ) o ( ).
2. Complete el Ejemplo 1.10 con los casos en que sea de la forma (), ( . ), (),
( ), ( ) o ( ).
3. Demuestre que cualquier proposicin que no sea una variable proposicional ni una
constante inicia con un parntesis izquierdo y termina con un parntesis derecho.
4. Demuestre que cualquier proposicin que no menciona variables proposicionales tiene
al menos una constante.
36 1. Lenguaje y especificacin
5. Demuestre que cualquier frmula con al menos una mencin de y que no menciona
constantes, es tal que menciona al menos dos variables proposicionales (no necesaria-
mente distintas).
6. Sea Prop(, ) el conjunto de proposiciones que tienen a y como nicos conec-
tivos lgicos. Demuestre que si Prop(, ), entonces es de la forma p, (p),
(()), ( ) o (( )), en donde y son proposiciones en Prop(, ).
7. Sea Prop(, ) el conjunto de proposiciones que tienen a y como nicos conec-
tivos lgicos, y sea Prop(, ). Suponga que satisface las siguientes cuatro
condiciones:
a) no existe una variable proposicional p tal que {p, (p)}
b) si (()) , entonces
c) si (( )) , entonces () y ()
d) si ( ) , entonces o
Demuestre que no existe Prop(, ) tal que {, ()} .
Captulo 2
Semntica
37
38 2. Semntica
Una proposicin expresa un hecho acerca del mundo, real o imaginario, de alguno
abstracto como lo es un modelo de computador o simplemente se refiere a una idea o un
sentimiento. En cualquier escenario, una proposicin tiene un nico valor de verdad (as
este no se conozca): es verdadera o es falsa. De esta forma, en el lenguaje formal de la l-
gica proposicional, cada variable proposicional puede ser verdadera o falsa, pero no ambas
al tiempo. Igualmente, una proposicin, construda a partir de variables proposicionales
y conectivos lgicos, puede ser verdadera o falsa. El objetivo de esta seccin es justificar
cmo el valor de verdad de una proposicin est unvocamente determinado por el valor
de verdad de sus variables proposicionales y por su estructura sintctica.
Definicin 2.1
Nota 2.2
Note que los valores Booleanos F y T son distintos a las constantes Booleanas false y
true, respectivamente, las cuales son conectivos lgicos del lenguaje formal de la lgica
proposicional.
Nota 2.3
Nota 2.4
Una funcin es una regla que asigna a cada elemento de un primer conjunto, llamado
dominio, un nico elemento de un segundo conjunto, llamado rango. Una funcin f con
dominio A y rango B se denota como f : A B. La composicin de las funciones f :
A B y g : B C es la funcin g f : A C definida para cualquier a A por
(g f )(a) = g( f (a)).
Definicin 2.5
Dado que los conectivos lgicos del lenguaje formal de la lgica proposicional son cons-
tantes, unarios y binarios, hay un inters particular en funciones Booleanas de 0, 1 y 2
parmetros. En la Definicin 2.5, este tipo de funciones corresponden, respectivamente, a
los casos n = 0, 1, 2.
Nota 2.6
Una tabla de valores (o tabla de verdad) es una representacin tabular de una funcin
Booleana.
Como se ver ms adelante, una tabla de verdad puede ser usada de una manera ms general
para representar clculos con funciones Booleanas.
40 2. Semntica
Ejemplo 2.1
Las primeras dos columnas de la tabla sistemticamente listan todos los elementos del
conjunto B2 (i.e., los valores de entrada); la tercera columna muestra el valor de H para
cada una de las parejas de las primeras dos columnas (i.e., los valores de salida).
El significado de cada uno de los operadores lgicos del lenguaje de la lgica propo-
sicional se hace preciso asociando una funcin Booleana a cada uno de ellos.
Definicin 2.7
Htrue () = T
Hfalse () = F
Dado que true y false son constantes en el lenguaje de la lgica proposicional, es natural
que las funciones que definen sus interpretaciones sean funciones Booleanas constantes.
La interpretacin de true es el valor Booleano T de verdad, mientras que la interpretacin
de false es el valor Booleano F de falsedad.
Definicin 2.8
p q (p q)
F F T
H (F, F) = H (T, T) = T
F T F
T F F H (F, T) = H (T, F) = F
T T T
p q (p q)
F F F H (F, F) = H (F, T) = H (T, F) = F
F T F H (T, T) = T
T F F
T T T
Definicin 2.15
Ejemplo 2.2
La proposicin
((p q) ((p) q))
2.1. Funciones Booleanas 45
Ejercicios
5) ? es asimtrico
6) ? es antisimtrico
7) ? es idempotente
8) ? es transitivo
11. Considere un conectivo lgico binario cuya interpretacin est dada por la funcin
Booleana H : B2 B definida de la siguiente manera:
A B 2 3
Cada carta tiene una letra en un lado y un nmero en el otro. Especifique qu cartas
deben ser destapadas para establecer el valor de verdad de la siguiente afirmacin: si
una carta tiene una vocal en uno de sus lados, entonces esa carta tiene un nmero par
en su lado opuesto.
48 2. Semntica
14. Suponga que Juana quiere ir de compras con sus amigas. Para poder ir de compras,
ella debe realizar al menos una de las siguientes tareas hogareas (las dems las har
su hermano):
Opcin 1: podar el csped (p)
Opcin 2: lavar y secar los platos (l) y doblar las toallas de la cocina (t)
Opcin 3: limpiar el polvo (d)
Opcin 4: fregar los pisos ( f )
Opcin 5: hacer mercado (h) y recoger la ropa de la lavandera (r)
a) Especifique cada una de las opciones de Juana usando los smbolos indicados en
cada proposicin.
b) Suponga que Juana se rehusa a limpiar el polvo, fregar el piso y podar el csped.
Juana tambin est cansada de lavar y secar los platos, pero ha decidido doblar
las toallas de la cocina. Ella tambin decide hacer mercado pero olvida recoger la
ropa de la lavandera. Puede ir Juana de compras con sus amigas? Justifique su
respuesta.
15. Esta historia es acerca de una caravana que atraviesa el desierto del Sahara. Una noche,
para dormir, levantaron carpas. Los principales protagonistas de la historia son a, b
y c. La persona a no soporta a c y por ello decide matarlo vertiendo veneno en la
cantimplora de c. De manera independiente, b decide matar a c y entonces, sin saber
que a ha vertido veneno en la cantimplora de c, b perfora un hueco en la cantimplora de
c con el objetivo de que pierda su bebida. Como resultado de estas acciones, c muere
un par de das despus a causa de la sed. La pregunta es quin es el asesino, a o b?
De acuerdo con una explicacin, b es el asesino dado que c nunca tom de la
bebida envenenada: de esta forma, c habra muerto as a no hubiera envenenado su
bebida. De acuerdo con una explicacin contraria, a es el asesino porque las acciones
de b no tienen un efecto directo en el resultado de la situacin: una vez a envenen
la bebida, el destino de c era claro an si b no hubiera perforado el agujero en la
cantimplora. Cul de las dos explicaciones es correcta?
n
16. Demuestre, usando el principio de induccin matemtica para n N, que hay 22
funciones Booleanas n-arias.
2.2. Valuaciones
Definicin 2.16
Una valuacin (o modelo) es una funcin que asigna valores en B a cada una de las variables
proposicionales. Formalmente, una valuacin es una funcin
v:VB
con dominio en las variables proposicionales {p0 , p1 , . . .} y rango en los valores Booleanos
{F, T}.
El siguiente paso es asociar un valor de verdad a una proposicin con base en una
valuacin. Es decir, el objetivo es extender una valuacin que asocia valores de verdad
a las variables proposicionales a una funcin que asocia valores de verdad a cualquier
proposicin. Esta extensin se formula inductiva sobre la complejidad de las proposiciones
con ayuda de las funciones Booleanas en la Definicin 2.18.
Definicin 2.18
Ejemplo 2.3
Considere una valuacin v tal que v(p) = T y v(q) = F. De acuerdo con la Definicin 2.18,
se tiene que:
v(((p) q)) = H (v((p)), v(q))
= H (v((p)), F) (v(q) = v(q) = F)
= H (H (v(p)), F)
= H (H (T), F) (v(p) = v(p) = T)
= H (F, F)
= T.
Demostracin. Por la Definicin 2.18, es directo que v asigna al menos un valor de verdad
en B a cualquier proposicin. Basta entonces con demostrar que v asigna un nico valor a
cada proposicin. Considere la siguiente propiedad F para cualquier proposicin :
F() : v asigna un nico valor a .
La demostracin de que toda proposicin tiene la propiedad F se sigue del principio de
induccin sobre proposiciones (Metateorema 1.7):
Caso base: Si es una variable proposicional, por ejemplo p, entonces v(p) = v(p) y la
propiedad F vale porque v es una funcin. Por su parte, si es una constante, entonces
v(true) = Htrue () y v(false) = Hfalse () y la propiedad F vale porque Htrue () y Hfalse ()
son funciones.
Caso inductivo: Hay 7 casos: que sea de la forma (), ( ), ( . ), ( ),
( ), ( ) o ( ). Si es de la forma () y tiene la propiedad F,
entonces v(()) = H (v()) tiene la propiedad F porque H es una funcin y v
asigna un nico valor a (hipotesis inductiva). Los casos en que es de la forma
( ), ( . ), ( ), ( ), ( ) o ( ) son similares y se proponen
como ejercicios para el lector.
En cualquiera de los dos casos v asigna un nico valor a . En conclusin, v es una funcin
con dominio en el conjunto de proposiciones y rango B.
2.2. Valuaciones 51
Nota 2.20
El Metateorema 2.19 aporta un resultado poderoso para el anlisis semntico de las propo-
siciones: si v es una valuacin y una proposicin, entonces v() = T o v() = F (pero
no los dos). Como se ver al final de esta seccin, este resultado es clave para estudiar el
significado de una proposicin sin conocer el detalle de su estructura sintctica.
A pesar de que las valuaciones y las funciones Booleanas son herramientas similares
para el anlisis del significado de las proposiciones, hay una diferencia estructural entre
ellas. Suponga por un momento que es una proposicin en donde aparecen las variables
p0 , . . . , pn1 . Si se dibuja una tabla de verdad para , entonces se asignan valores de verdad
a las variables de esta lista, ignorando cualquier otra variable. Sin embargo, al razonar
con valuaciones que asignan valores de verdad a cualquier variable proposicional, hay
ms de una valuacin que corresponde a un mismo rengln de la tabla de verdad de .
Entonces surge la pregunta: cmo escoger la valuacin indicada de modo tal que los
valores asignados a variables no mencionadas en no afecten el valor de verdad de ? La
respuesta, como se enuncia a continuacin, es que el valor de verdad de una proposicin
bajo una valuacin no se ve afectado por variables proposicionales que no aparecen en ella.
Es decir, para determinar el valor de verdad de con respecto a una valuacin, es suficiente
con considerar nicamente el valor de verdad asignado por dicha valuacin a las variables
proposicionales en .
Metateorema 2.21
Nota 2.22
Las valuaciones pueden ser usadas para simplificar (an ms) razonamientos y clcu-
los observando las propiedades de los conectivos lgicos. En algunas ocasiones, estas ob-
servaciones bastan para analizar el significado de las proposiciones sin conocer su estruc-
tura sintactica. El Metateorema 2.23 incluye algunas de estas observaciones.
Metateorema 2.23
Demostracin. Para el caso (1) note que v(()) = H (v()). Si v() = T, entonces
v(()) = F; si v() = F, entonces v(()) = T. En cualquiera de los dos casos se tiene
que v() , v(()). Para el caso (2) note que v(( )) = H (v(), v()). Si v() = v(),
entonces H (v(), v()) = T y consecuentemente v(( )) = T. De lo contrario v() ,
v(), obteniendo H (v(), v()) = F y consecuentemente v(( )) = F. Los casos (3)-(7)
son similares y se proponen como ejercicios para el lector.
Nota 2.24
Ejemplo 2.4
Se demostrar que v(((p q) ((p) q))) = T para cualquier valuacin v (el objetivo
es el mismo que en el Ejemplo 2.2). Por el Metateorema 2.23 se tiene:
v((p q)) = F sii v(p) = T y v(q) = F (caso )
sii v((p)) = F y v(q) = F (caso )
sii v(((p) q)) = F (caso ).
De estos clculos se concluye que v((p q)) = v(((p) q)) y, por el mismo Metateore-
ma 2.23, se obtiene v(((p q) ((p) q))) = T (caso ).
Ejemplo 2.5
Ejercicios
q r p
p q q
Una proposicin es una tautologa si para cualquiera de sus valuaciones, sin importar
qu valores asigne a las variables proposicionales, el valor de verdad de es verdadero.
Por ejemplo, las proposiciones (p p), (p(p)) y ((p q) ((p)q)) son tautologas,
mientras que (p q) no lo es. Una tautologa es cierta por virtud de su estructura interna y
56 2. Semntica
Ejemplo 2.6
Fjese que, a simple vista, la tarea de determinar si una proposicin es una tautolo-
ga parece humanamente imposible porque hay una cantidad infinita de valuaciones. Sin
embargo, y gracias al Metateorema 2.21, para determinar si una proposicin es una tauto-
loga basta con fijarse nicamente en una cantidad finita de valuaciones, i.e., una por cada
rengln en la tabla de verdad de la proposicin dada, y esto puede hacerse mecnicamente.
Metateorema 2.26
Hay un algoritmo que, dada cualquier proposicin de la lgica proposicional, decide si esta
es una tautologa o no.
Nota 2.27
Definicin 2.28
Note que si una proposicin es una tautologa, entonces es satisfacible. Adems, una propo-
sicin es una tautologa siempre y cuando su negacin sea una contradiccin (y viceversa).
Algunas de estas relaciones se proponen como ejercicios para el lector.
Ejemplo 2.7
Para justificar que (p (q)) es satisfacible, basta con encontrar una valuacin v tal que
v((p (q))) = T. Note que
v = {p 7 T, q 7 F, . . .}
es tal que v((p (q))) = T. Dado que esta proposicin es satisfacible, es imposible que
sea una contradiccin.
Antes de continuar, la Nota 2.29 introduce notacin para expresar cundo una pro-
posicin no es una tautologa. Sin embargo, como se explica a continuacin, hay que ser
cuidadosos con esta nueva notacin y as evitar su uso incorrecto.
Nota 2.29
Note que si una proposicin no es una tautologa, esto no indica que sea insatisfacible.
Es decir, es incorrecto usar 6|= para denotar que la proposicin es insatisfacible.
Por razones similares a las usadas para justificar por qu es posible determinar mec-
nicamente si una proposicin es una tautologa, tambin es posible determinar mecnica-
mente si una proposicin es satisfacible o insatisfacible.
Metateorema 2.30
Definicin 2.31
Dos proposiciones son lgicamente equivalentes si sus valores de verdad coinciden para
cualquier valuacin. Una proposicin implica lgicamente a otra siempre y cuando si la
primera es verdadera bajo una valuacin, entonces la segunda necesariamente es verdadera
bajo esa misma valuacin.
La implicacin lgica no es una relacin simtrica: puede que implique lgicamente
a , pero no necesariamente debe implicar . En este sentido, la equivalencia lgica es
un concepto ms fuerte que la implicacin lgica porque, a diferencia de la implicacin
lgica, la equivalencia lgica es simtrica.
Ejemplo 2.8
Ejercicios
1. Demuestre que las siguientes proposiciones son tautologas para cualesquiera propo-
siciones , , :
a) (( ( )) (( ) )).
b) (( ) ( )).
c) (( true) ).
d) (( ( )) (( ) )).
e) (( ) ( )).
f ) (( false) ).
g) (( ) ).
h) (( ( )) (( ) ( ))).
i) (( ( )) (( ) )).
j) (( ) ( )).
k) (( ())).
l) ( ( )).
m) (( ( )) (( ) ( ))).
n) (( ) (() ())).
2. Demuestre que las siguientes proposiciones son satisfacibles pero no tautologas:
a) (p q).
b) ((p) q).
c) ((p) (p q)).
d) ((p (q))).
e) (((p q)) p).
3. Proponga 3 proposiciones que sean contradicciones.
4. De acuerdo con la demostracin del Metateorema 2.26, hay un procedimiento (o fun-
cin), por ejemplo taut, que para cualquier proposicin la invocacin taut()
determina correctamente si es una tautologa o no. Usando nicamente este procedi-
miento como orculo, disee:
a) un procedimiento sat que para cualquier proposicin la invocacin sat()
determine correctamente si es satisfacible o no.
b) un procedimiento unsat que para cualquier proposicin la invocacin unsat()
determine correctamente si es insatisfacible o no.
5. Investigue y explique en qu consiste cada uno de los siguientes problemas de la lgica
computacional:
a) SAT
b) 3SAT
6. En cada uno de los siguientes casos, determine si existe una proposicin que sea una
tautologa y explique su respuesta:
a) tiene a true como nico conectivo lgico.
b) tiene a false como nico conectivo lgico.
c) tiene a como nico conectivo lgico.
d) tiene a . como nico conectivo lgico.
e) tiene a como nico conectivo lgico.
f ) tiene a como nico conectivo lgico.
60 2. Semntica
2. es insatisfacible si y solo si no hay una valuacin v tal que v() = T para toda .
Ejemplo 2.9
Definicin 2.33
Metateorema 2.34
Nota 2.35
Ejemplo 2.10
Sea = {(p q), p}. Note que |= q porque si v es tal que v((p q)) = T y v(p) = T, por
la funcin H se sigue v(q) = T. Otra forma de proceder para llegar a la misma conclusin
es tratar de falsificar la conscuencia lgica: encontrar una valuacin v tal que v(q) = F
y que v((p q)) = v(p) = T. Pero note que si v(p) = T, entonces es imposible tener
v((p q)) = T y v(q) = F. En este caso tambin se tiene |= q.
As como no toda proposicin es una tautologa, no se puede esperar que una propo-
sicin sea consecuencia tautolgica de un conjunto de proposiciones arbitrario.
Nota 2.36
Nota 2.37
Ejemplo 2.11
Sea = {(p q), p}. Note que q no es una consecuencia tautolgica de . Tome, por
ejemplo, v = {p 7 T, q 7 F, . . .} y note que v satsiface pero v(q) = F. Luego q no es una
consecuencia tautolgica de , es decir, {(p q), p} 6|= q.
El Metateorema 2.38 establece una relacin clara entre los conceptos de tautologa
y consecuencia tautolgica para casos en los cuales el conjunto de proposiciones que
acompaa la consecuencia tautolgica es finito. Para el caso en el cual puede ser infinito,
hay un resultado similar pero que est fuera del alcance de esta seccin.
Metateorema 2.38
Hay una observacin importante acerca del Metateorema 2.38. Note que la proposi-
cin en la expresin (1) es una de varias posibles dado que el orden de las proposiciones
en puede ser establecido de muchas formas. La moraleja que deja esta sitaucin, es que
en algunas ocasiones puede ser provechoso ser oportunista y construr la proposicin en
la expresin (1) ordenando las proposiciones en como mejor convenga para resolver el
problema dado.
Habiendo definido el concepto de consecuencia tautolgica, es posible asociar una
semntica precisa a las argumentaciones.
64 2. Semntica
Ejemplo 2.12
La lista de proposiciones obtenida al final del Ejemplo 2.12 recibe el nombre de forma
de argumentacin (o argumentacin).
Definicin 2.39
Definicin 2.40
Ejemplo 2.13
Ejercicios
c) |= ( ) si y solo si 6|= o |= .
d) 6|= ( ) si y solo si 6|= y 6|= .
e) 6|= ( ) si y solo si 6|= o 6|= .
f) 6|= ( ) si y solo si |= y 6|= .
7. Sean y conjuntos de proposiciones, y , proposiciones. Demuestre:
a) Si |= , entonces |= .
b) Si |= y , entonces |= .
c) {} |= si y solo si |= ( ).
d) Si {} |= y {()} |= , entonces |= .
8. Sea un conjunto de proposiciones. Demuestre que es insatisfacible si y solo si
|= false.
9. Sean y conjuntos de proposiciones, y una proposicin. Demuestre que si |=
y |= (), entonces es insatisfacible.
10. Sean y conjuntos de proposiciones, y , proposiciones. Demuestre o refute:
a) Si 6|= y , entonces 6|= .
b) Si 6|= y , entonces 6|= .
11. Demuestre que cada una de las siguientes argumentaciones son vlidas:
a) ( ), (), ().
b) ( ), (), ().
c) ( ), (), .
d) ( ), ( ()), ().
12. Demuestre que cada una de las siguientes argumentaciones es invlida:
a) (p q), q, p.
b) (p q), (p), (q).
13. Considere el Ejercicio 5 en la Seccin 1.2. Especifique cada una de las argumentacio-
nes y determine cules de las argumentaciones son vlidas o invlidas. Justifique su
respuesta.
14. Si una argumentacin 1 , . . . , n , es invlida, entonces la argumentacin
1 , . . . , n , ()
Hay una amplia variedad de acertijos lgicos (i.e., adivinanzas) relativas a una isla en
la cual ciertos habitantes llamados caballeros dicen siempre la verdad y otros llamados
escuderos siempre mienten. En dicha isla cada habitante es caballero o escudero; de ah
su nombre: la isla de caballeros y escuderos. Esta seccin presenta: (i) una forma para
especificar acertijos relacionados con la isla de caballeros y escuderos, y (ii) tres tcnicas
basadas en la semntica proposicional para analizar estas especificaciones. Los metodos
presentados en esta seccin pueder ser utilizados para analizar otros tipos de acertijos.
2.5. La isla de caballeros y escuderos 67
Nota 2.41
Las isla de caballeros y escuderos (en ingls, the island of knights and knaves) fue pre-
sentada inicialmente por Raymond Smullyan en su libro Cmo se llama este libro? (en
ingls, What is the name of this book?) en 1978. Smullyan es un prolfico matemtico y
lgico Estadounidense.
Ejemplo 2.15
Suponga que un turista est en presencia de dos habitantes de la isla llamados A y B, res-
pectivamente. A dice: al menos uno de nosotros es escudero. Puede el turista determinar
las naturalezas de A y B?
Nota 2.42
Ejemplo 2.16
Considere el Ejemplo 2.15. Lo dicho por A puede ser especificado con la proposicin:
((a) (b)).
Fjese que la proposicin ((a) (b)) en el Ejemplo 2.16 es cierta nicamente cuando al
menos una de las variables a y b es asignada F, i.e., cuando al menos uno entre A y B es
escudero. Esto coincide con la afirmacin hecha inicialmente por A en el Ejemplo 2.15.
Hasta ahora se ha logrado establecer cmo especificar con proposiciones las afirma-
ciones hechas por los habitantes de la isla. Sin embargo, an no se ha establecido cmo
relacionar cada una de estas proposiciones con la naturaleza del isleo que la emite. Para
avanzar en esta direccin, observe que hay una relacin biunvoca entre la naturaleza de
quien enuncia una afirmacin y la veracidad de dicha afirmacin. Por ejemplo, si un ca-
ballero hace una afirmacin, entonces dicha afirmacin es cierta. Conversamente, si dicha
afirmacin es cierta, entonces quien la enunci es caballero. En general, se puede observar
que la veracidad de una afirmacin es lgicamente equivalente a la naturaleza de quien la
enuncia. Fjese que de esta forma es imposible que un caballero mienta o que un escudero
diga la verdad.
Ejemplo 2.17
Considere el Ejemplo 2.15. Este acertijo puede ser especificado por la siguiente proposi-
cin:
(a ((a) (b))).
2.5.2. Anlisis por casos. En el caso del Ejemplo 2.15, el objetivo es determinar,
de ser posible, las naturalezas de A y B con base en la afirmacin hecha por A. Dado que
el Ejemplo 2.17 presenta una proposicin que formaliza la afirmacin hecha por A, basta
entonces con analizar esta proposicin. En este caso, el inters es por encontrar valuacio-
nes de a y b que hagan cierta dicha proposicin, y as determinar si A y B pueden ser
clasificados unvocamente.
2.5. La isla de caballeros y escuderos 69
Ejemplo 2.18
El anlisis por casos del acertijo del Ejemplo 2.15 se hace sobre la proposicin propuesta
en el Ejemplo 2.17:
(a ((a) (b))).
Caso a 7 T: Para que el lado derecho de la equivalencia sea cierto, se requiere b 7 F,
de lo contrario la proposicin no evaluara a T. Entonces, en el caso en que A sea
caballero, el habitante B necesariamente es escudero.
Caso a 7 F: En este caso, el lado izquierdo de la equivalencia evala a F, mientras que
el lado derecho, independientemente del valor de b, evala a T. Es decir, en este caso
no es posible que la proposicin sea cierta. Consecuentemente, es imposible que A sea
escudero.
Se concluye que A es caballero y B es escudero.
2.5.3. Anlisis con tablas de verdad. Hay una forma alternativa de analizar este
tipo de acertijos. En particular, note que en el anlisis por casos del Ejemplo 2.18 explora
todas las posibles valuaciones de la proposicin que especifica el acertijo. Otra forma de
analizar el acertijo es por medio de tablas de verdad.
Ejemplo 2.19
El anlisis por tabla de verdad del acertijo del Ejemplo 2.15 se hace sobre la proposicin
propuesta en el Ejemplo 2.17:
(a ((a) (b))).
La tabla de verdad de la proposicin es la siguiente:
a b ((a) (b)) (a ((a) (b)))
F F T F
F T T F
T F T T
T T F F
El nico rengln de la tabla de verdad que hace la proposicin cierta corresponde a a 7 T
y b 7 F. Entonces, A es caballero y B es escuedero.
argumentaciones. Esta forma de anlisis, consiste en especificar un acertijo como una ar-
gumentacin de la forma
1 , . . . , n , ,
Ejercicios
1. Explique por qu en el Ejemplo 2.18 es suficiente hacer anlisis por casos sobre a, y
no es necesario hacer anlisis por casos sobre a y b.
2. Suponga que un habitante de la isla llamado A dice: soy un escudero o B es un caba-
llero. Determine la naturaleza de A y B.
3. Suponga que un habitante de la isla llamado A dice: soy un escudero y B no lo es.
Determine la naturaleza de A y B.
4. Suponga que un turista est en presencia de dos habitantes de la isla llamados A y B. A
dice : nosotros tenemos la misma naturaleza. Pueden determinarse las naturalezas
de A y B? Justifique su respuesta.
5. Suponga que un turista est en presencia de dos habitantes de la isla llamados A y B. A
dice : al menos uno de nosotros es caballero. Pueden determinarse las naturalezas
de A y B? Justifique su respuesta.
6. Proponga una afirmacin que puede ser hecha por cualquier habitante de la isla, sin
importar si este es caballero o escudero. Explique su respuesta.
7. Proponga una afirmacin que no puede ser hecha por un habitante de la isla, sin im-
portar si este es caballero o escudero. Explique su respuesta.
8. Suponga que las variables proposicionales a y b representan la naturaleza de dos ha-
bitantes de la isla llamados A y B. Invente un acertijo que corresponda a la siguiente
especificacin, y determine la naturaleza de A y B:
(a (b)),
(b (a b)).
9. Resuelva el acertijo del Ejemplo 2.20 por anlisis de casos.
10. Resuelva el acertijo del Ejemplo 2.20 por tablas de verdad.
11. Hace muchos aos, tres habitantes de la isla, llamados A, B y C, estaban en un jardn.
Un turista pas por all y le pregunt a A: eres caballero o escudero?. El habitante A
respondi, pero tan confusamente que el turista no entendi la respuesta. Entonces el
turista pregunt a B: Qu dijo A?; a lo cual B respondi: A dijo que es escudero.
En ese momento C intervino con la siguiente afirmacin: No le crea a B porque est
mintiendo. Determine la naturaleza de B y C.
12. Al resolver el Ejercicio 11 es claro que el habitante C no cumple ningn papel im-
portante en el acertijo. Desde el momento en que B habl se puede saber que estaba
mintiendo sin el testimonio de C. Considere la siguiente variante de ese acertijo.
El turista le pregunta a A: cuntos caballeros hay entre Ustedes?. El habitante A
respondi, de nuevo, confusamente y el turista no entendi la respuesta. Entonces
el turista pregunta a B: Qu dijo A?; a lo cual B responde: A dijo que hay al
menos un caballero entre nosotros. Y por su parte C dice: No le crea a B porque est
mintiendo. Determine la naturaleza de B y C.
13. En esta ocasin hay tres habitantes de la isla llamados A, B y C:
A dice: Todos nosotros somos escuderos.
B dice: Exactamente uno de nosotros es caballero.
72 2. Semntica
Determine la naturaleza de A, B y C.
14. Tres habitantes de la isla llamados A, B y C estn reunidos:
A dice: Todos nosotros somos escuderos.
B dice: Exactamente uno de nosotros es escudero.
Puede determinarse la naturaleza de B y C? Justifique su respuesta.
15. De nuevo, tres habitantes de la isla llamados A, B y C estn reunidos:
A dice: B es escudero.
B dice: A y C son del mismo tipo.
Determine la naturaleza de C.
16. Tres habitantes de la isla llamados A, B y C estn reunidos. A dice: B y C son de la
misma naturaleza. Alguien pregunta entonces a C: Son A y B de la misma natura-
leza?. Determine, justificando su respuesta, qu responde C.
17. Disee un acertijo que involucre a un habitante de la isla de caballeros y escuderos, y
que permita determinar que es caballero.
18. Disee un acertijo que involucre a un habitante de la isla de caballeros y escuderos, y
que permita determinar que es escudero.
19. Disee un acertijo que involucre a dos habitantes de la isla de caballeros y escuderos,
y que permita determinar que ambos son caballeros.
20. Disee un acertijo que involucre a dos habitantes de la isla de caballeros y escuderos,
y que permita determinar que ambos son escuderos.
21. Disee un acertijo que involucre a dos habitantes de la isla de caballeros y escuderos,
y que permita determinar que son de diferente naturaleza, pero sin saber qu son cada
uno de ellos.
22. Disee un acertijo que involucre a tres habitantes de la isla de caballeros y escuderos,
y que permita determinar que todos son escuderos.
23. Hace muchos aos, algunos de los habitantes de la isla de caballeros y escuderos eran
hombres lobo, los cuales tenian la fea costumbre de transformarse en la noche y de-
vorar a la gente. Considere la siguiente situacin en la cual un turista se encontr con
tres habitantes de la isla, llamados A, B, C:
A dice: Yo soy hombre lobo.
B dice: Yo soy hombre lobo.
C dice: A lo sumo uno de nosotros es caballero.
Suponiendo que exactamente uno de A, B, C es hombre lobo, haga una clasificacin
completa de sus naturalezas. Ayuda: note que al menos uno entre A y B est mintiendo.
24. Suponga que es un conjunto de proposiciones que especifica informacin dada acer-
ca de un acertijo de la isla de caballeros y escuderos. Adems, suponga que la variable
proposicional a modela la naturaleza de un habitante A de la isla. Demuestre o refute:
a) Si A es caballero, entonces |= a.
b) Si |= a, entonces A es caballero.
Captulo 3
Herramientas proposicionales
Definicin 3.1
Una sustitucin es una funcin F : V T (V) distinta a la identidad en una cantidad finita
de elementos del dominio.
Una sustitucin F es una funcin que asocia una proposicin F(p) a cualquier variable
proposicional p.
73
74 3. Herramientas proposicionales
Nota 3.2
Cualquier sustitucin F es tal que F(p) , p para una cantidad finita de variables p. Por
ello, una sustitucin siempre puede ser escrita como un conjunto finito de la forma
{q0 7 0 , q1 7 1 , . . . , qn 7 n }
indicando que la proposicin i est asociada a la variable proposicional qi (0 i
n) y cualquier otra variable est asociada a s misma cuando esta no aparece en la lista
q0 , . . . , qn . Note que bajo esta convencin una sustitucin puede ser escrita en ms de una
forma. Sin embargo, esta situacin no traer problemas en la definicin de sustitucin
textual.
Como se explic inicialmente, una sustitucin F puede ser aplicada a una proposicin
con el propsito de obtener una proposicin F() en la cual algunas variables proposicio-
nales p en son sustitudas por F(p). La aplicacin de una sustitucin a una proposicin
recibe el nombre de sustitucin textual.
Definicin 3.3
De acuerdo con la Definicin 3.3, aplicar una sustitucin F a una proposicin resulta
en una proposicin F() similar a pero en la cual algunas variables proposicionales
han sido cambiadas. En particular, el caso (1) indica explcitamente cmo una variable
proposicional p en es reemplazada por F(p). Para este caso, note que si p no hace parte
de las variables afectadas por F, entonces F(p) = p, lo cual, para efectos prcticos,
resulta en no sustitur la variable p. Una sustitucin textual no afecta a las constantes true
y false (casos (2) y (3)). Los dems casos en la Definicin 3.3 corresponden a definiciones
inductivas que dependen de los dems conectivos lgicos.
3.1. Sustitucin textual 75
Ejemplo 3.1
Metateorema 3.4
Nota 3.5
Ejercicios
p, q := , = p := q := r := q .
7. Sea una proposicin y F una sustitucin. Demuestre que cualquier sustitucin textual
F() puede ser escrita como Fk ( F0 () ) en donde cada uno de los Fi (0 i k)
es una sustitucin igual a la identidad excepto por un elemento del dominio. Ayuda:
proceda por induccin matemtica sobre la cantidad de variables proposicionales p
tales que F(p) , p, el cual es finito por definicin, y use el Ejercicio 6.
que consiste, intuitivamente, en establecer que el efecto semntico de una sustitucin tex-
tual sobre una proposicin puede ser capturado tambin por medio de una valuacin sin
alterar la proposicin dada, y viceversa.
Lema 3.6
Sean p una variable proposicional, , proposiciones y v una valuacin. Hay una valuacin
w tal que v( p := ) = w().
Metateorema 3.7
El Metateorema 3.7 puede ser utilizado una y otra vez sobre una misma proposicin,
como se ilustra en el Ejemplo 3.3.
Ejemplo 3.3
y finalmente
|= ((p q) ((p) q)) p := q := .
Cuando se usa el Metateorema 3.7 una y otra vez sobre una misma proposicin, es im-
portante ser cuidadoso al escoger las variables que se instancian porque es posible cometer
errores muy fcilmente con las sustituciones textuales (ver Ejercicio 3.2.8).
Ejercicios
una relacin entre dos cantidades o, de manera ms abstracta, entre dos expresiones afir-
mando que estas representan el mismo objeto. Visto de manera ms general, la nocin de
igualdad puede ser caracterizada como lo propone Leibniz al afirmar que dos expresiones
son iguales siempre y cuando estas tengan exactamente las mismas propiedades. Esta lti-
ma nocin permite, por ejemplo, que dos expresiones sintcticamente distintas puedan ser
iguales de otras formas. En la lgica proposicional, dado que las expresiones son propo-
siciones y la relacin de igualdad es la equivalencia, el reemplazo de iguales por iguales
est directamente relacionado con la nocin de equivalencia lgica: dos proposiciones son
lgicamente equivalentes siempre y cuando una pueda ser sustituida por la otra en una
tercera proposicin sin alterar el valor de verdad de dicha proposicin.
Corolario 3.9
3.3.2. Leibniz. La segunda nocin de reemplazo de iguales por iguales est di-
rectamente relacionada con el planteamiento de Leibniz acerca de la igualdad resumido al
inicio de esta seccin. Esta nocin consiste en afirmar que si dos proposiciones son iguales
lgicamente, entonces cada una de ellas puede ser sustituida en una tercera proposicin re-
sultando en dos proposiciones que son iguales lgicamente. El Metateorema 3.10 presenta
esta segunda nocin de reemplazo de iguales por iguales.
Metateorema 3.10
S () : v( p := = v( p := ).
v((0 ) p := ) = H (v(0 p := ))
(aplicacin de v)
= H (v(0 p := ))
(hiptesis inductiva)
= v((0 ) p := )
(aplicacin de v).
Ejemplo 3.5
Ejercicios
1. Justifique por qu las afirmaciones (1) y (2) en el Ejemplo 3.4 son correctas.
2. Demuestre el Corolario 3.9 usando el Metateorema 3.8 como resultado auxiliar.
3. Demuestre el Corolario 3.9 sin usar el Metateorema 3.8 como resultado auxiliar.
4. Complete el caso base en la demostracin del Metateorema 3.10.
5. Complete el caso inductivo en la demostracin del Metateorema 3.10.
6. Demuestre el Corolario 3.11 usando el Metateorema 3.10 como resultado auxiliar.
7. Demuestre el Corolario 3.11 sin usar el Metateorema 3.10 como resultado auxiliar.
8. Sean un conjunto de proposiciones, , 0 , . . . , n , 0 , . . . , n proposiciones y p0 , . . . , pn
variables proposicionales. Si |= (i i ) para 0 i n, entonces
|= ( p0 , . . . , pn := 0 , . . . , n p0 , . . . , pn := 0 , . . . , n ).
Definicin 3.12
Ejemplo 3.6
Lema 3.13
que es una proposicin por la hiptesis inductiva y el hecho de que m+1 es una pro-
posicin (recuerde que m + 1 n). Si m + 1 > n, entonces oper(, , m + 1) =
oper(, , m), que por hiptesis inductiva es una proposicin.
Definicin 3.14
Metateorema 3.15
Metateorema 3.16
Sean 0 , . . . , n proposiciones:
1. |= (( ni=0 i ) ni=0 (i )).
W V
Ejercicios
El sistema de Dijkstra y
Scholten
Gottfried Wilhelm von Leibniz (1646-1716) tena el sueo de contar con un lenguaje
universal y formal, capaz de expresar conceptos matemticos, cientficos y metafsicos. Su
idea era utilizar este lenguaje, denominado caracteristica universalis, dentro del marco de
un clculo lgico especficamente diseado para efectuar cualquier inferencia lgica. Esta
visin formal y mecnica del razonamiento, en la cual era posible calcular cualquier
teorema de las matemticas, solo se conoci a finales del siglo XIX y fue desvirtuada (i.e.,
es imposible que dicho clculo exista) a mediados del siglo XX por Kurt Friedrich Gdel
(1906-1978), con su famoso segundo teorema de completitud. A pesar de ello, el objetivo
de Leibniz de algebrizar el razonamiento es considerado uno de los principales pilares
de la lgica moderna y de la computacin.
Histricamente, la lgica matemtica ha sido vista como un objeto de estudio y sus
bondades como lgebra del razonamiento han sido relegadas a un segundo plano por los
matemticos. Esto no es sorprendente porque las matemticas avanzaron durante siglos sin
la ayuda de la lgica matemtica y, adems, esta es un rea del conocimiento relativamente
nueva cuando se compara con el resto de las matemticas. Sin embargo, esta situacin ha
cambiado en la era digital en la cual la tecnologa ha permeado el quehacer de la huma-
nidad y ahora es posible hacer, por ejemplo, demostraciones asistidas o automticas en un
computador. Para hacer esto posible y principalmente desde la informtica, se han desarro-
llado nuevas lgicas que pueden ser mecanizadas en un computador. Es as como el sueo
87
88 4. El sistema de Dijkstra y Scholten
de Leibniz, a pesar de que nunca se podr llevar a cabo en su totalidad, tiene ms relevancia
que nunca en nuestra poca.
Este captulo presenta el sistema proposicional de Dijkstra y Scholten (o sistema for-
mal DS), un sistema formal para la lgica proposicional diseado por los cientficos ho-
landeses Edsger W. Dijkstra (1930-2002) y Carel S. Scholten (1925-2009) para potenciar
el razonamiento basado en la equivalencia lgica. Este sistema lgico, junto con su versin
ms general de primer orden, ha sido utilizado extensivamente en el diseo y en la verifica-
cin de algoritmos durante las ltimas cuatro dcadas, y su mecanizacin es un tema activo
de investigacin. El razonamiento basado en la equivalencia lgica, en contraste con el tra-
dicional basado en la implicacin lgica, y un formato propio de deduccin hacen de DS
un sistema efectivo y verstil en la prctica de la demostracin (i.e., clculo) de teoremas.
Este sistema lgico es un aporte de la informtica y su diseo basado en la equivalencia,
junto con su formato de demostracin, son suficientes para distinguirlo de cualquier otro
sistema deductivo de la lgica proposicional.
Nota 4.1
Definicin 4.2
(Ax3): (( true) )
(Ax4): (( ( )) (( ) ))
(Ax5): (( ) ( ))
(Ax6): (( false) )
(Ax7): (( ) )
(Ax8): (( ( )) (( ) ( )))
Note que los axiomas (Ax1-Ax8) involucran proposiciones arbitrarias, es decir, cada uno
de ellos representa una cantidad infinita de axiomas concretos. Este enfoque es equivalente
a presentar una definicin usando nicamente tres variables proposicionales, por ejemplo
p, q, r, en lugar de , , para luego extender dicha definicin permitiendo que cualquier
instancia bajo sustitucin textual de un axioma sea un axioma.
( ) ( )
Ecuanimidad Leibniz.
( p := p := )
resultantes son equivalentes. Para indicar el cambio de iguales por iguales, la regla Leibniz
usa el concepto de sustitucin textual (Definicin 3.3). En el caso de esta regla, fjese
en que la variable proposicional p puede no ser parte de : en ese caso cada una de las
frmulas p := y p := en la conclusin de la regla son trivialmente .
Ejercicios
1. Demuestre el Teorema 4.6.3 (ayuda: use las demostraciones de los teoremas 4.6.1
y 4.6.2).
2. Demuestre que cada uno de los axiomas de DS es una tautologa. Es decir, si es un
axioma de DS, entonces |= .
3. Demuestre que el Teorema 4.6.1 es una tautologa, es decir, |= true.
4. Demuestre que el Teorema 4.6.2 es una tautologa, es decir, |= (( ) true).
5. Demuestre que el Teorema 4.6.3 es una tautologa, es decir, |= ( ).
6. Encuentre proposiciones concretas , , para las cuales |= ( p := p := )
pero no |= ( ).
Nota 4.8
Nota 4.9
Nota 4.11
( ) ( )
Transitividad
( )
( true)
Identidad Identidad
( true)
Metateorema 4.12
0. 0 ( )
n. ( ( )) ( )
n + 1. (( ( )) (( ) )) (Ax1)
n + 2. (( ) ) (Ecuanimidad n y n + 1).
4.2. Propiedades estructurales de la equivalencia 95
Nota 4.13
( ( )) (( ) )
Asociatividad Asociatividad
(( ) ) ( ( ))
( )
Conmutatividad
( )
Las reglas de inferencia introducidas en esta seccin ahora son parte de DS . Recuerde
que estas reglas no le otorgan ms poder deductivo a DS, simplemente facilitan la demos-
tracin de teoremas en el sistema formal.
Ejercicios
La negacin y la discrepancia son conectivos lgicos del sistema formal. En DS, los
dos conectivos estn relacionados estructuralmente por medio de la equivalencia. Esta sec-
cin presenta axiomas definicionales para la negacin y la discrepancia, es decir, define
estos smbolos con base en otros conectivos del sistema formal. Al final de esta seccin se
encuentra una aplicacin del uso de la discrepancia en criptografa.
Definicin 4.14
Teorema 4.15
Las constantes true y false son opuestos el uno del otro (teoremas 4.15.1 y 4.15.2), y
entonces, naturalmente, la negacin de false es un teorema de DS (Teorema 4.15.3). La
negacin distribuye sobre la equivalencia (Teorema 4.15.4) y alterna entre los operandos
de una equivalencia (Teorema 4.15.5). Este ltimo teorema justifica la afirmacin hecha
previamente acerca de la definicin de .: desde el punto de vista deductivo resulta indi-
ferente cul de los operandos de la equivalencia sea negado. El Teorema 4.15.6 establece
la propiedad de la doble negacin: la negacin se cancela con ella misma. Finalmente,
4.3. La negacin y la discrepancia 97
Demostraciones para los dems teoremas se proponen como ejercicios para el lector.
Las demostraciones presentadas anteriormente sirven para ilustrar el primer uso de algunas
reglas de inferencia de DS y para introducir algunas convenciones:
En la demostracin del Teorema 4.15.1 se usan las reglas estructurales de asociatividad
y conmutatividad de la equivalencia presentadas en la Seccin 4.2.
98 4. El sistema de Dijkstra y Scholten
(( ) ( ))
Leibniz
((p false) p := ( ) (p false) p := ( ) )
Teorema 4.16
1. `DS (( . ( . )) (( . ) . ))
2. `DS (( . ) ( . ))
3. `DS (( . false) )
4. `DS (( . ) false)
5. `DS ((( . ) . ) )
4.3.1. Ciframiento de texto con xor. Como se explic al inicio de esta seccin,
en informtica hay (y se usa) un mtodo de ciframiento basado en la discrepancia. En
particular, este mtodo est basado en las propiedades de la discrepancia enunciadas en los
teoremas 4.16.1-5. La idea es que dada una cadena texto t y una llave de ciframiento k,
ambas representadas como secuencias de bits, t puede ser cifrada con la llave k por medio
de la operacin (t . k) interpretada bit a bit, obteniendo as un texto secreto. Suponga que
este texto secreto se denota con tk . Para recuperar el texto original t del texto secreto tk , es
decir, para descrifrar tk , basta con aplicar la operacin (tk . k). Por qu? Observe que, de
acuerdo con el Teorema 4.16.5, la operacin de desciframeinto garantiza la obtencin del
texto original:
(tk . k) = ((t . k) . k) = t.
Nota 4.17
Ejercicios
4.4. La disyuncin
La disyuncin es uno de los operadores bsicos del sistema formal DS, junto con
las constantes true y false, y la equivalencia . Su interpretacin es la del o inclusivo, es
decir, es verdadera cuando al menos uno de sus operandos es verdadero.
A continuacin se recuerdan los axiomas de DS que estn relacionados directamente
con la disyuncin.
Definicin 4.18
(Ax7): (( ) )
(Ax8): (( ( )) (( ) ( )))
La disyuncin satisface la ley del tercero excludo, es decir, bajo cualquier valuacin una
proposicin o su negacin son verdaderas (Teorema 4.19.1). La disyuncin tiene elemento
anulador true (teoremas 4.19.2-3). El Teorema 4.19.4 es una propiedad de caracterizacin
extraa que es til a la hora de simplificar algunas demostraciones que involucran a la
disyuncin. A continuacin se presentan demostraciones de algunos de estos teoremas.
Ejemplo 4.2
2 es irracional.
Suponga hacia una contradiccin
que 2 es racional, es decir, que hay a, b Z con
b , 0 tales que x = ba . Como 2 > 0, se puede suponer que a > 0 y b > 0. Adems,
siempre se puede suponer que la fraccin ab es irreducible (i.e., a y b no tiene factores
positivos en comn aparte de 1). Observe entonces lo siguiente:
a a2
2= sii 2 = 2 sii 2b2 = a2 .
b b
Esto indica que a es par (Ejercicio 7), es decir, a = 2c para algn c N (Ejercicio 6).
Entonces se tiene:
2b2 = a2 sii 2b2 = 4c2 sii b2 = 2c2 .
Esto a su vez indica que b es par, es decir, b = 2d para algn d N. Consecuentemente, ab =
2d = d y por tanto a y b tienen a 2 como factor comn. Esto contradice
2c c
la suposin sobre
la irreducibilidad de la fraccin ab y as la suposicin inicial de que 2 no es irracional es
falso. Por tanto, 2 es irracional.
Note que el argumento en el Ejemplo 4.2 est basado en el hecho de que 2 es o no
justifica que 2 no es racional (i.e., no es no
irracional (tercero excludo). El argumento
irracional). Entonces, necesariamente, 2 es irracional. Sin embargo, en ningn momento
4.4. La disyuncin 105
se construye una demostracin directa de la irracionalidad de 2 sino que se presenta
una demostracin indirecta.
Ejemplo 4.3
Los pasos deductivos en la demostracin del Ejemplo 4.2 pueden expresarse en lgica
proposicional. Considere la siguiente simbolizacin:
p: 2 es irracional.
La demostracin del Ejemplo 4.2 se justifica en DS de la siguiente forma:
1. (p (p)) (Teorema 4.19.1)
2. ((p)) ( 2 no es racional Ejemplo 4.2)
3. (((p)) ((p) false)) (Ax9)
4. ((p) false) (Ecuanimidad 2,3)
5. ((p (p)) (p false)) (Leibniz 4)
6. (p false) (Ecuanimidad 1,5)
7. ((p false) p) (Ax6)
8. p (Ecuanimidad 6,7).
Ejercicios
virtual de Java (JVM). Sin embargo, un usuario comn de Java no debe conocer el lengua-
je Java Bytecode para hacer aplicaciones Java. Adems, programar directamente en Java
Bytecode puede ser una experiencia algo tediosa. En este sentido, se puede pensar que una
demostracin en DS es algo de bajo nivel (mucho detalle), mientras que una derivacin es
algo de alto nivel que puede se compilado para obtener una demostracin.
Definicin 4.20
Note que una derivacin es una secuencia finita (y no vaca) de proposiciones en DS. En
particular, se acepta como derivacin una secuencia con una nica proposicin.
La Definicin 4.20 no asocia a una derivacin relacin alguna con una demostracin. La
relacin que existe entre estos dos objetos de DS es establecida en el Metateorema 4.21.
Metateorema 4.21
Nota 4.22
Ejemplo 4.4
Ejercicios
4.6. La conjuncin
Definicin 4.23
Teorema 4.24
( )
h Ax11 i
( ( ( )))
h conmutatividad de i
( ( ( )))
h asociatividad de i
(( ) ( ))
h conmutatividad de i
(( ) ( ))
h asociatividad de i
( ( ( )))
h Ax11 i
( )
Demostraciones para los dems teoremas se proponen como ejercicios para el lector.
Fjese que en la derivacin del Teorema 4.24.2 no se hace referencia alguna a las reglas
de inferencia de DS en ninguna de las explicaciones. Esta ser una prctica ms comn a
medida que se avance en este texto con el obejtivo de aprovechar el nivel de abstraccin
que brindan las derivaciones y tambin simplificar su escritura. Sin embargo, se alerta al
lector para que siempre tenga en cuenta qu regla de inferencia se usa en cada paso de una
derivacin.
A continuacin se enuncian algunas propiedades que relacionan la conjuncin con
otros conectivos lgicos.
4.6. La conjuncin 111
Teorema 4.25
Ejercicios
La implicacin lgica suele ser el conectivo lgico preferido en los sistemas de clculo
tradicionales de la lgica. Esto se debe a que la implicacin puede combinarse fcilmente
con la mayora de los dems conectivos lgicos. Por ejemplo, como se ver en el desa-
rrollo de esta seccin, la implicacin distribuye sobre la equivalencia, la disyuncin, la
conjuncin y sobre ella misma. Dado que la consecuencia lgica se define fcilmente con
base en la implicacin, y cualquier propiedad que tenga la impliacacin automticamente
es heredada por la consecuencia, el objetivo en esta seccin es estudiar principalmente las
propiedades de la implicacin. Esta seccin contiene una cantidad significativa de teore-
mas y ejercicios y, como tal, brinda una oportunidad al lector para practicar cmo calcular
teoremas en DS.
A continuacin se presentan los axiomas definicionales de la implicacin y la conse-
cuencia en DS.
Definicin 4.26
(Ax12): (( ) (( ) ))
(Ax13): (( ) ( ))
Nota 4.27
Teorema 4.28
2. `DS (( ( )) (( ) ( )))
3. `DS (( ( )) (( ) ( )))
4. `DS (( ( )) (( ) ( )))
5. `DS (( ( )) (( ) ( )))
Teorema 4.31
Nota 4.32
El Teorema 4.33.1 indica que la implicacin es reflexiva, el Teorema 4.33.2 que es transi-
tiva y el Teorema 4.33.3 que es antisimtrica.
Apelando a la implicacin como el orden natural entre las proposiciones, es posible
pensar en asociar una nocin de cantidad de informacin a una proposicin. Por ejemplo,
cuando las proposiciones p y (p q) son ciertas, la primera de ellas tiene ms informacin
que la segunda: en la primera de ellas necesariamente p es cierta pero en la segunda alguna
entre p y q son ciertas, pero no se sabe cul. Similarmente, cuando las proposiciones (pq)
y p son ciertas, la primera tiene ms informacin que la segunda porque establece que tanto
4.7. La implicacin y la consecuencia 117
Teorema 4.35
Ejercicios
48. El sistema formal L, propuesto por Gottlob Frege, usa los conectivos {, }. Para
, , proposiciones de L, los axiomas de L estn dados por el siguiente esquema
axiomtico:
L1: ( ( ))
L2: (( ( )) (( ) ( )))
L3: ((() ()) ( ))
El sistema L tiene como nica regla de inferencia Modus Ponens. Lleve a cabo los
numerales (a)(d) del Ejercicio 46 para L en lugar de PM.
49. El sistema formal R, propuesto por Barkley Rosser, usa los conectivos {, , }. Para
, , proposiciones de R, los axiomas de R estn dados por el siguiente esquema
axiomtico:
R1: ( ( ))
R2: (( ) )
R3: (( ) ((( )) (( ))))
El sistema R tiene como nica regla de inferencia Modus Ponens. Lleve a cabo los
numerales (a)(d) del Ejercicio 46 para R en lugar de PM.
50. El sistema formal LUK, propuesto por Jan ukasiewicz (pronunciado vu-ca-che-
vich), usa los conectivos {, }. Para , , proposiciones de LUK, los axiomas de
LUK estn dados por el siguiente esquema axiomtico:
LUK1: (( ) (( ) ( )))
LUK2: ((() ) )
LUK3: ( (() ))
El sistema LUK tiene como nica regla de inferencia Modus Ponens. Lleve a cabo los
numerales (a)(d) del Ejercicio 46 para LUK en lugar de PM.
4.7. La implicacin y la consecuencia 121
51. El sistema formal KA, propuesto por Stig Kanger, usa los conectivos {, }. Para
, , proposiciones de KA, los axiomas de KA estn dados por el siguiente esquema
axiomtico:
KA1: ( ( ))
KA2: (( ) (( ) ( )))
KA3: (( ()) ( ()))
KA4: ((()) (() ))
El sistema KA tiene como nica regla de inferencia Modus Ponens y es un sistema
proposicional de la lgica intuicionista. Lleve a cabo los numerales (a)(c) del Ejerci-
cio 46 para KA en lugar de PM.
Captulo 5
Tcnicas de razonamiento y
demostracin
123
124 5. Tcnicas de razonamiento y demostracin
introducen nuevos conceptos y establecen propiedades importantes del sistema DS, y que
son necesarias para el desarrollo del resto del captulo. La Seccin 5.3 presenta las de-
rivaciones relajadas, un concepto que extiende el de derivacin, y que facilita encontrar
demostraciones de implicaciones y consecuencias lgicas por trnsito desde el anteceden-
te al consecuente (y viceversa). La Seccin 5.4 es especial porque presenta dos resultados
importantes acerca del sistema DS. El primero de estos resultados es el Metateorema de la
Deduccin 5.9, una herramienta til para demostrar implicaciones lgicas. El segundo re-
sultado (se presenta sin demostracin) es el Metateorema de Solvencia y Completitud 5.11;
sin necesidad de exagerar, este metateorema puede ser el ms importante de DS. Su im-
portancia radica en establecer la coincidencia entre la relacin semntica |= y la relacin
deductiva `DS . En otras palabras, el Metateorema 5.11 establece que una proposicin es
tautologa si y solo si esta es teorema de DS. En la prctica la coincidencia semntica y de-
ductiva es til para analizar proposiciones pues permite cambiar entre estos dos mundos,
como ms convenga. Adicionalmente, la Seccin 5.3 extiende el concepto de demostra-
cin de un sistema formal para aceptar demostraciones bajo un conjunto de suposiciones,
en adicin a los axiomas del sistema formal.
Note que la precedencia de los conectivos lgicos es transitiva. Por ejemplo, de esta con-
vencin, se puede establecer que la negacin tiene ms precedencia que la implicacin y
que la discrepancia. Es importante observar que algunos conectivos no tienen precedencia
sobre otros; por ejemplo, la disyuncin y la conjuncin tienen la misma precedencia. En
estos casos de conectivos con la misma precedencia, la precedencia no ayuda a omitir pa-
rntesis en combinaciones de expresiones que los usen porque sin los parntesis puede
surgir ambigedad.
Ejemplo 5.1
Otro mecanismo que sirve el propsito de eliminar parntesis es por medio de las
propiedades algebraicas de los conectivos lgicos.
Ejemplo 5.2
Una voz de precaucin para el lector: no es prudente eliminar parntesis de una proposicin
si la situacin es tal que dicha omisin potencie la introduccin de alguna ambigedad.
126 5. Tcnicas de razonamiento y demostracin
Ejercicios
1. Elimine tantos parntesis como sea posible de la siguientes proposiciones sin introdu-
cir ambigedad:
a) (( ( )) (( ) ))
b) (( ) ( ))
c) (( false) )
d) (( ) )
e) (( ( )) (( ) ( )))
f ) (() ( false))
g) (false (true))
h) ((false) true)
i) (false)
j) ((( )) (() ))
k) ((() ) ( ()))
l) ((()) )
m) (( ()) false)
n) (( ) (( ()) ))
) (( ) ( ( ( ))))
o) (( ) )
p) (( ()) false)
q) ((( )) (() ()))
r) (( ( )) (( ) ( )))
s) (( ( )) (( ) ( )))
t) (( ) (( ) ))
u) (( ) ( ))
v) (( false) ())
w) (( ( )) (( ) ( )))
x) (( ( )) (( ) ( )))
y) (( ( )) ( ))
z) ((( ) ( )) ( ))
2. Determine si alguna de las siguientes expresiones es amgiga. De serlo, liste todas
las posibles formas de parentizarla de manera tal que cada una de ellas resulte en una
proposicin con significado distinto:
a) p q r
b) p q r
c) p q r
d) p q r
e) p q r
3. Justifique por qu la expresin p q . r no es ambiga.
4. Demuestre que la equivalencia y la discrepancia son mutuamente asociativas.
5. Considere las siguientes expresiones en el lenguaje de DS; algunas de ellas no son
frmulas del sistema formal. Para cada una de ellas encuentre una parentizacin de tal
manera que la proposicin resultante sea una tautologa:
a) true p q
5.2. Tcnicas bsicas 127
b) p pq
c) pqr pq pr
d) p q . r false p
e) p p p r
Esta seccin presenta un recuento de tcnicas bsicas para razonar acerca de equiva-
lencias lgicas. Algunas de estas tcnicas han sido previamente usadas en el Captulo 4.
Las tcnicas discutidas en esta seccin son de uso general y pueden ser tiles para demos-
trar cualquier teorema de DS.
, . . . , true.
Esta derivacin establece `DS true por el Metateorema 4.21. Dado que todo teorema
de DS es equivalente a true (Metateorema 4.10.2), se concluye `DS .
Ejemplo 5.3
, . . . , .
El Metateorema 4.21 establece entonces que `DS . Cuando una de las proposiciones
o es la constante true, entonces las tcnicas de reduccin a true y trnsito coinciden.
Ejemplos de derivaciones que usan la tcnica de trnsito incluyen las demostraciones del
Teorema 4.15.1 y del Teorema 4.24.2, entre otros.
La ventaja de la tcnica de trnsito sobre la tcnica de reduccin a true es que las deri-
vaciones resultantes pueden ser ms sucintas. La razn es que si uno de los dos operandos
de una equivalencia exhibe una estructura ms compleja que su contraparte, iniciar el trn-
sito desde esta proposicin puede permitir simplificaciones significativas en algunos pasos
de derivacin.
5.2.3. Uso de lemas. En algunas ocasiones puede ser de ayuda separar una deri-
vacin larga o complicada en varias demostraciones.
Nota 5.2
Un lema representa un teorema auxiliar que sirve para demostrar otro teorema.
La palabra lema tiene sus races en el griego y se entiende como teorema auxiliar;
una traduccin ms literal sera lo que se asume. El proceso de identificar lemas en una
demostracin puede resaltar propiedades que de otra forma pueden resultar desapercibidas.
La diferencia tcita entre un lema y un teorema es subjetiva pues depende del gusto de
quien escribe o quien lee.
Nota 5.3
En este texto, un lema es un sustantivo que identifica una propiedad auxiliar que ayuda en
la demostracin de un teorema de inters.
Ejemplo 5.4
Ejercicios
Hasta ahora, la tcnica de reduccin a true (Seccin 5.2.1) es la nica alternativa para
demostrar en DS que una implicacin lgica es teorema. Esta seccin presenta el concepto
de derivacin relajada, una extensin del concepto de derivacin. La utilidad de una de-
rivacin relajada es que permite demostraciones de implicaciones y consecuencias lgicas
por trnsito desde el antecedente al consecuente (y viceversa).
Es importante entender por qu una derivacin no es til, en general, para derivar
por trnsito una implicacin lgica. Por definicin, en una derivacin cualquier par de
proposiciones consecutivas son equivalentes; de esta forma, apelando a la transitividad de
la equivalencia, la primera y ltima proposiciones en una derivacin son equivalentes. Por
tanto, cuando dos proposiciones no son equivalentes, es imposible que haya una derivacin
por trnsito de una a la otra. Por ejemplo, es imposible que exista una derivacin por
trnsito de p q a p q, porque estas no son equivalentes a pesar de que estar relacionadas
por la implicacin lgica.
En una derivacin relajada se relajan los requisitos deductivos de una derivacin
para permitir pasos deductivos en donde es suficiente preservar la implicacin lgica, una
prctica muy comn en la prctica de las matemticas. De esta forma, y apelando a la
transitividad de la implicacin, con una derivacin relajada se puede demostrar por trnsito
que p q implica p q (o, alternativamente, que p q es consecuencia lgica de p q).
130 5. Tcnicas de razonamiento y demostracin
Definicin 5.4
Hay dos tipos de derivaciones relajadas: de debilitamiento (en donde predomina la implica-
cin lgica) y de fortalecimiento (en donde predomina la consecuencia lgica). Dado que
la implicacin no es conmutativa, el orden de las proposiciones en una derivacin relajada
es importante.
Metateorema 5.5
Nota 5.6
Ejemplo 5.6
Considere la siguiente derivacin del axioma (KA4) del sistema formal KA (Ejerci-
cio 4.7.51):
h definicin alternativa de i
h fortalecimiento: Teorema 4.35.1 i
.
Por el Metateorema 5.5.2 se concluye `DS ( ).
132 5. Tcnicas de razonamiento y demostracin
Ejercicios
Esta seccin presenta dos resultados importantes del sistema DS, cada uno de ellos en
la forma de un metateorema. El primero de ellos es el Metateorema de la Deduccin el cual
facilita la demostracin de implicaciones lgicas en DS por medio del mecansmo de su-
posicin del antecedente. El segundo, que se presenta superficialmente, es el Metateorema
5.4. Deduccin con suposiciones y el Metateorema de la Deduccin 133
Metateorema 5.9
Esta demostracin se puede obtener por induccin estructural sobre y se propone como
ejercicio para el lector (Ejercicio 5.4.3.4).
En cualquiera de los casos se tiene que si {} `DS , entonces `DS .
A pesar de parecer un resultado obvio y de ser usado por matemticos durante siglos,
el Metateorema de la Deduccin fue demostrado (en su versin general) por Herbrand y
Tarski a principios del siglo XX. A continuacin se presentan algunos ejemplos del uso del
metateorema de la deduccin.
5.4. Deduccin con suposiciones y el Metateorema de la Deduccin 135
Ejemplo 5.7
Considere el axioma (L1) del sistema formal L de Frege para la lgica proposicional (Ejer-
cicio 4.7.48): ( ). Por el Metateorema de la Deduccin basta con demostrar
{} `DS
o, in extremis, demostrar
{, } `DS .
Considere la siguiente derivacin con suposiciones en {, }:
h suposicin i
true.
Por el Metateorema de la Deduccin se concluye `DS ( ).
Ejemplo 5.8
Metateorema 5.10
Ejercicios
Una demostracin se puede obtener por induccin sobre la estructura de ; lleve a cabo
los siguientes pasos:
Demuestre que la propiedad es cierta cuando es una constante.
Demuestre que la propiedad es cierta cuando es una variable proposicional (con-
sidere dos casos, cuando es p y cuando no es p).
Demuestre que la propiedad es cierta cuando es de la forma 0 1 suponiendo
que la propiedad es cierta para 0 y 1 .
Demuestre que la propiedad es cierta cuando es de la forma 0 1 suponiendo
que la propiedad es cierta para 0 y 1 .
Dado que en DS los conectivos lgicos true, false, , bastan para axiomatizar cual-
quier otro conectivo lgico, los casos anteriores son suficientes para establecer la ve-
racidad de la afirmacin inicial.
5. Sean y conjuntos de proposiciones de DS, y , proposiciones de DS. Demuestre:
a) Si y `DS , entonces `DS .
b) Si {} `DS y `DS , entonces `DS .
6. Sea un conjunto de proposiciones de DS y una proposicin de DS. Demuestre que
si `DS y cada una de las proposiciones en es teorema de DS, entonces `DS .
7. Demuestre el Metateorema 5.10.
8. Sean un conjunto de proposiciones y , proposiciones de DS. Demuestre:
a) Si `DS , entonces `DS .
b) Si `DS , entonces `DS .
c) Si `DS y `DS , entonces `DS .
9. Sean 0 , . . . , n tautologas. Demuestre que si {0 , . . . , n } |= , entonces es teorema
de DS.
10. Demuestre: `DS si y solo si {} es insatisfacible.
11. Sea un conjunto de proposiciones satisfacible. Demuestre o refute:
a) Si `DS , entonces {} o {} es satisfacible.
b) Si `DS ( ), entonces {, } es satisfacible.
Es importante resaltar que las tcnicas presentadas en esta seccin son de caracter ge-
neral en un sentido complementario: pueden ser usadas en cualquier otro sistema formal de
la lgica proposicional y no son exclusivas de DS. En particular, el material de esta seccin
sirve para sustentar algunas tcnicas de demostracin que comnmente se encuentran en
textos y que hasta ahora pueden ser inaccesibles para el lector.
5.5.1. Suposicin del antecedente. Una prctica comn para demostrar una im-
plicacin lgica es usar la tcnica de suposicin del antecedente. Esta tcnica consiste
en demostrar bajo la suposicin de , para conclur que es cierto. La tcnica
de demostracin por suposicin del antecedente tambin se conoce como demostracin
constructiva: se trata de construir una demostracin a partir de una lista de axiomas y
suposiciones.
Metateorema 5.12
Ejemplo 5.9
(paso 1):
{a = b + 1} `DS impar(a + b).
Considere la siguiente derivacin en DS (paso 2):
impar(a + b)
h suposicin: a = b + 1 i
impar((b + 1) + b)
h aritmtica i
impar(2b + 1)
h definicin de impar con testigo ca+b = b i
true.
Por el Meateorema 5.12 se concluye `DS (a = b + 1) impar(a + b).
Ejemplo 5.10
Metateorema 5.14
Nota 5.15
De forma similar, para usar el Metateorema 5.14.2 queriendo demostrar que una implica-
cin es un teorema de , se usa el siguiente mtodo:
Ejemplo 5.11
5.5.4. Contrapositiva. De acuerdo con el Teorema 4.31.1, es cierto que una im-
plicacin es equivalente a . Recuerde que la proposicin
se denomina la contrapositiva de . La tcnica de demostracin por contrapositiva
consiste en demostrar indirectamente que una implicacin es teorema al demostrar que su
contrapositiva es teorema.
Metateorema 5.16
Metateorema 5.17
El anlisis de casos sobre una variable proposicional para una proposicin que se
quiere demostrar como teorema, consiste en demostrar que las proposiciones p := true
y p := false son teoremas, para alguna variable proposicional p. Semnticamente esto
es completamente intuitivo porque si p := true y p := false son teoremas, entonces
son tautologas. En consecuencia es una tautologa y, por ende, un teorema.
Metateorema 5.18
Ejemplo 5.13
debe ser teorema. Si este es el caso, basta con demostrar que en cada uno de los casos
0 y 1 la proposicin es cierta.
En una demostracin exahustiva por anlisis de casos no es necesario restringirse a
dos casos nicamente. En general, puede haber ms de dos casos. Antes de presentar for-
malmente el anlisis de casos exhaustivo, se introduce notacin auxiliar.
Definicin 5.20
Sean 0 , . . . , n proposiciones:
La expresin ni=0 i , llamada disyuncin generalizada (o disyuntoria), abrevia la pro-
W
posicin
0 n .
La expresin ni=0 i , llamada conjuncin generalizada (o conjuntoria), abrevia la pro-
V
posicin
0 n .
Una diyuncin generalizada es una secuencia finita de proposiciones operada bajo la dis-
yuncin y una conjuncin generalizada es una secuencia finita de proposiciones operada
bajo la conjuncin. Note que el orden en cada operacin generalizada es inmaterial porque
la disyuncin y la conjuncin son conectivos lgicos asociativos y conmutativos.
Metateorema 5.21
Si a Z, entonces a2 , 5.
146 5. Tcnicas de razonamiento y demostracin
El anlisis de casos exhaustivo puede adaptarse para demostrar una implicacin cuan-
do su estructura interna lo permite. A continuacin se formulan dos principios de anlisis
por casos cuando el objetivo es demostrar una implicacin y esta exhbe una estructura
interna especial.
Metateorema 5.22
Ejemplo 5.15
Ejercicios
26. Demuestre que si a, b Z son tales que par(ab), entonces al menos uno de a y b es
par.
27. Demuestre que si a, b Z son tales que impar(ab), entonces a y b es son impares.
28. Demuestre que si a es un nmero entero positivo de la forma a = 3c + 2, para algn
c Z, entonces a no es un cuadrado perfecto. Ayuda: note que todo nmero entero a
puede escribirse como a = 3c, a = 3c + 1 o a = 3c + 2 para algn c Z.
29. Demuestre que si a es un nmero entero de la forma a = 4c + 2 o a = 4c + 3 para algn
c Z, entonces a no es un cuadrado perfecto. Ayuda: note que todo nmero entero a
puede escribirse como a = 4c, a = 4c + 1, a = 4c + 2 o a = 4c + 3, para algn c Z.
30. Demuestre que si a, b R son tales que ab es irracional, entonces al menos uno de a y
b es irracional.
31. Demuestre el Teorema 5.19.
32. Demuestre el Metateorema 5.18.
33. Complete las demostraciones en el Ejemplo 5.13.
34. Demuestre el Metateorema 5.21 por induccin sobre n N.
35. Complete las demostraciones en el Ejemplo 5.14.
36. Demuestre que si a Z, entonces alguno de a3 , a3 + 1 o a3 1 es mltiplo de 9.
37. Demuestre que si a N, entonces a7 a es mltiplo de 7. Ayuda: use anlsis de casos
sobre a con respecto a mltiplos de 7.
38. Demuestre el Metateorema 5.22.1.
39. Demuestre el Metateorema 5.22.2.
40. Complete el Ejemplo 5.15 con las demostraciones de las condiciones (1) y (2).
41. Investigue y explique brevemente en qu consiste el teorema de los 4 colores (en
ingls, four color theorem). En particular, describa cmo fue til un computador para
demostrarlo y explique qu tcnica de demostracin (abordada en esta seccin) fue
extensivamente usada en dicha demostracin mecnica.
42. Investigue sobre la conjetura de Kepler (en ingls, Kepler conjecture). Explique en
qu consiste la conjetura y el estado actual de su demostracin. Qu tcnica fue usada
extensivamente en su demostracin? Explique brevemente.
43. En internet circulan listas de tcnicas de demostracin como, por ejemplo, demos-
tracin por intimidacon, por omisin o por ofuscacin. A la luz de la lgica este tipo
de razonamientos carecen de cualquier justificacin. Sin embargo, puede ser intere-
sante conocer algunos de estos argumentos para evitarlos a toda costa, al menos en
un curso de lgica. Investigue y explique en qu consisten las siguientes tcnicas de
demostracin:
a) Demostracin por intimidacon.
b) Demostracin por omisin.
c) Demostracin por ofuscacin.
d) Demostracin por intuicin.
e) Demostracin por acumulacin de evidencia.
f ) Demostracin por referencia a una fuente inaccesible.
g) Demostracin por autoridad eminente.
h) Demostracin por creencia religiosa.
150 5. Tcnicas de razonamiento y demostracin
Lgica de predicados
Captulo 6
Lenguaje y especificacin
p, q, r,
la cual, de acuerdo con los mtodos estudiados en los captulos 2 y 4, no es vlida. Sin
embargo, intuitivamente este argumento es vlido: de lo contrario habra un informtico
intelectualmente no destacado, contradiciendo la primera proposicin en la argumentacin.
Esto puede indicar que la lgica proposicional no es lo suficientemente expresiva para
simbolizar, especificar y verificar la validez de algunas argumentaciones.
En este captulo se estudiarn los lenguajes de primer orden. Estos lenguajes tienen la
caracterstica de ser ms generales que el lenguaje de la lgica proposicional y, gracias a
su poder expresivo, permitirn especificar y verificar argumentaciones como la del Ejem-
plo 6.1. Anticipando el desarrollo de este captulo, la argumentacin del Ejemplo 6.1 en
lgica de predicados tendra la siguiente forma:
153
154 6. Lenguaje y especificacin
en donde x es una variable sobre elementos, t denota el elemento Turing, I(x) un predi-
cado denotando que x es informtico y D(x) un predicado denotando que x es intelec-
tualmente destacado.
El otro tipo de ente denota valores de verdad sobre los objetos, como por ejemplo,
I(x), (I(x) D(x)) y D(Turing).
Nota 6.2
Una frmula es una expresin que denota valores de verdad sobre los trminos.
Los smbolos de funcin y de predicado son parmetros del lenguaje, es decir, hay
diferentes lenguajes dependiendo de qu smbolos se usen para representar los trminos y
los predicados de la lgica. Los conectivos lgicos de la lgica de predicados extienden
aquellos de la lgica proposicional con los cuantificadores universal y existencial. Cada
smbolo de funcin y de predicado tiene una aridad asociada indicando la cantidad de
argumentos que espera. En particular, una constante c es un smbolo tal que ar(c) = 0.
Los trminos de la lgica de predicados estn conformados por variables y smbolos
de funcin aplicados sobre ellos.
Definicin 6.4
Los trminos de la lgica de predicados sobre F son aquellas cadenas obtenidas usando
una cantidad finita de veces las siguientes reglas de construccin:
1. Cada variable es un trmino.
2. Si c F y ar(c) = 0, entonces c es un trmino.
3. Si t1 , . . . , tn son trminos y f F es tal que ar( f ) = n con n > 0, entonces f (t1 , . . . , tn )
es un trmino.
La expresin TF (X) denota la coleccin de trminos sobre F con variables en X.
Ejemplo 6.2
Sea F = {n, f, g} con ar(n) = 0, ar( f ) = 1 y ar(g) = 2. Entonces n, g( f (n), n) y f (g( f (n), n))
son trminos. Sin embargo, las expresiones n( f ), g( f (n)) y g( f (n), n, n) no lo son. Por qu?
Ejemplo 6.3
De acuerdo con la Definicin 6.5, observe cmo en una frmula de la lgica de predica-
dos los argumentos de un smbolo de predicado son trminos. La Definicin 6.5 puede
6.1. Trminos y frmulas 157
Nota 6.6
Las frmulas de la lgica de predicados, al igual que los trminos, pueden ser repre-
sentadas por medio de rboles sintcticos. En un rbol de sintaxis, los cuantificadores
y tienen exactamente un subrbol, como la negacin , que corresponde al rbol de la
frmula que cuantifican. Las frmulas que se construyen a partir de un smbolo de pre-
dicado P y una lista de trminos t1 , . . . , tn (i.e., una frmula P(t1 , . . . , tn )), en un rbol de
sintaxis tienen raz con etiqueta P y n subrboles, uno por cada ti . La situacin es similar
para un trmino que se construye a partir de un smbolo de funcin f y una lista de tr-
minos t1 , . . . , tn (i.e., una trmino f (t1 , . . . , tn )). Este caso, la raz en un rbol de sintaxis
tiene etiqueta f y n subrboles, uno por cada ti . La Figura 2 presenta el rbol de sintaxis
correspondiente a la frmula x0 ((P(x0 ) Q(x0 )) S (x0 , x1 )).
Como se ilustr en la introduccin de este captulo, la lgica de predicados genera-
liza la lgica proposicional y cuenta con un lenguaje que permite modelar en ms detalle
situaciones de inters. Considere el problema de simbolizar y especificar la siguiente pro-
posicin en un lenguaje de la lgica de predicados:
x0
P Q x0 x1
x0 x0
En este ejemplo se usa padre como predicado. Los smbolos de funcin se definen como
F = {yo} tal que yo es una constante que denota el sujeto yo o mi. El conjunto de
smbolos de predicado se define como P = {H, I, P} con los siguientes significados:
H(x, y) : x es hermano de y,
I(x, y) : x es hijo de y,
P(x, y) : x es el padre de y.
Con esta simbolizacin, la especificacin de la proposicin bajo cuestin es la siguiente:
x0 x1 (P(x0 , yo) I(x1 , x0 ) H(x1 , yo)),
que literalmente traduce para todo x0 y x1 , si x0 es el padre de yo y x1 es hijo de x0 ,
entonces x1 es hermano de yo.
Ejemplo 6.5
En este ejemplo se usa padre como funcin. Los smbolos yo, H, I se definen como en el
Ejemplo 6.4. En adicin, el smbolo de funcin p es tal que p(x) representa el padre de x.
Note que dada una persona, su padre est unvocamente definido y por ende la expresin
p(x) est bien definida. Con esta simbolizacin, la especificacin de la proposicin bajo
cuestin es la siguiente:
x0 (I(x0 , p(yo)) H(x0 , yo)),
6.1. Trminos y frmulas 159
que literalmente traduce para todo x0 , si x0 es hijo del padre de yo, entonces x0 es hermano
de yo.
Note que, en principio, la frmula obtenida en el Ejemplo 6.5 es ms sencilla que aquella
del Ejemplo 6.4 porque involucra nicamente un cuantificador.
Finalmente, se adoptan algunas convenciones para escribir cuantificaciones. La mo-
tivacin para esta convencin ser evidente a medida que se use la lgica de predicados
como lenguaje de especificacin.
Nota 6.7
Para y frmulas, y x X:
La expresin (x | : ) es azcar sintctico para la frmula x ( ); en particu-
lar, (x | true : ) se puede abreviar como (x |: ).
La expresin (x | : ) es azcar sintctico para la frmula x ( ); en particular,
(x | true : ) se puede abreviar como (x |: ).
En las frmulas (x | : ) y (x | : ), la frmula recibe el nombre de rango de
la cuantificacin y el nombre de trmino de la cuantificacin. Usando esta notacin, la
frmula del Ejemplo 6.5 se escribe como
(x0 | I(x0 , p(yo)) : H(x0 , yo)).
En este caso I(x0 , p(yo)) es el rango y H(x0 , yo) el trmino de la cuantificacin.
Ejercicios
1. Dibuje el rbol de sintaxis de los trminos n, g( f (n), n) y f (g( f (n), n)) del Ejemplo 6.2.
2. Explique por qu las expresiones n( f ), g( f (n)) y g( f (n), n, n) del Ejemplo 6.2 no son
trminos.
3. Sea F = {a, b, c} con a, b, c constantes (i.e., ar(a) = ar(b) = ar(c) = 0). Cules son
los trminos sobre F libres de variables (i.e., sin apariciones de variable alguna)?
4. Sea F = {a, f } con a constante y f un smbolo unario (i.e., ar(a) = 0 y ar( f ) = 1).
Cules son los trminos sobre F libres de variables?
5. Sea F = {d, f, g} con ar(d) = 0, ar( f ) = 3 y ar(g) = 2, y suponga x, y, z X. Cules
de las siguientes expresiones son trminos sobre F ? Dibuje el rbol de sintaxis cuando
la expresin sea un trmino; en el caso contrario, explique por qu no es un trmino.
a) g(d, d)
b) f (x, g(y, z), d)
c) g(x, f (y, z), d)
160 6. Lenguaje y especificacin
x0
P Q x2
x0 f x2 P
x1 x2 x0
la otra hoja asociada a x0 , se observa que no hay ningn nodo interno que indique una
cuantificacin sobre x0 . Entonces, se tiene que la segunda aparicin de x0 es libre. Una
situacin similar se tiene para la variable x2 ; en este caso, su primera aparicin en el rbol,
de izquierda a derecha, es libre mientras que la segunda es acotada (por qu?). En el caso
de la hoja correspondiente a la variable x1 , si se inicia un recorrido hacia arriba se encuentra
un nico nodo interno etiquetado con una cuantificacin, es decir, x0 . Como x1 no tiene
nada que ver con x0 (i.e., x1 , x0 ), entonces la nica aparicin de la variable x1 es libre en
esta frmula.
A continuacin se definen los conceptos de aparicin libre y acotada de una variable
en una frmula de la lgica de predicados.
Definicin 6.8
De acuerdo con la Definicin 6.8, y como se ha visto a lo largo de esta seccin, es posible
que una variable sea libre y acotada en una misma frmula dado que una variable puede
aparecer ms de una vez en una frmula.
Ejemplo 6.6
Nota 6.9
Considere una variable x y una frmula . Intuitivamente, una aparicin acotada de x por un
cuantificador universal en representa cualquier valor posible para esa aparicin de x (e.g.,
todo nmero, cualquier conjunto, etc.). Una aparicin acotada de x por un cuantificador
existencial en representa algn valor posible para esa aparicin de x. Una aparicin libre
de x en representa un valor externo (o desconocido) que debe ser suministrado (por
ejemplo, por el contenido de una direccin de memoria en un computador).
Sean una frmula en T(F ,P) (X) y x una variable en X. El alcance del cuantificador x
(resp., x) en la frmula x (resp., x ) es la frmula sin sus subfrmulas de la forma
x y x .
Ejemplo 6.8
Considere la frmula
x0 (P(x0 , x1 ) x0 Q(x0 )).
En este caso, el alcance de x0 es P(x0 , x1 ) y el alcance de x0 es Q(x0 ). Por qu?
Ejercicios
Las variables son comodines en una frmula, luego es natural contar con mecanismos
para reemplazarlas por informacin ms concreta. Esta seccin presenta la sustitucin tex-
tual de trminos como mecanismo para reemplazar variables por trminos frmulas de la
lgica de predicados. Adicionalmente, esta seccin presenta la nocin de cundo un tr-
mino t puede reemplazar una variable x en una frmula de manera tal que la frmula
resultante diga sobre t lo mismo que dice sobre x. As se finaliza la discusin ini-
ciada en la Seccin 6.2 acerca cmo sustitur adecuadamente una variable por un trmino
en una frmula.
De acuerdo con las definiciones de trminos y frmulas (definiciones 6.4 y 6.5) ni-
camente es correcto sustitur una variable por un trmino. De lo contrario, se tendran
trminos cuyos subtrminos pueden ser frmulas y esto no tiene sentido.
A continuacin se presenta el concepto de sustitucin de trminos.
Definicin 6.11
Una sustitucin de trminos F es una funcin que asocia un trmino F(x) a cualquier varia-
ble x X. Recuerde que TF (X) denota la coleccin de trminos sobre F (Definicin 6.4).
Al igual que una sustitucin en la lgica proposicional (Definicin 3.1), cualquier sustitu-
cin de trminos F es tal que F(x) , x para una cantidad finita de variables x. Entonces,
una sustitucin tambin puede ser escrita como un conjunto finito de la forma
{y0 7 u0 , y1 7 u1 , . . . , yn 7 un }
Como tal, la restriccin F/x de una variable x en una sustitucin de trminos F es una
sustitucin igual a F pero que es la identidad en la variable restringida x.
Ejemplo 6.10
Definicin 6.14
La Definicin 6.14 indica cmo aplicar una sustitucin F a una frmula resulta en una
frmula F(). La sustitucin no tiene efecto alguno sobre las constantes true y false, ni
tampoco sobre predicados sin argumentos (casos (1)-(3)). Una sustitucin aplicada a una
frmula que corresponde a un predicado con al menos un argumento, resulta en la sustitu-
cin aplicada a cada uno de sus subtrminos (caso (3)). Note que en este caso la sustitucin
se aplica sobre trminos como lo establece la Definicin 6.12. La definicin inductiva para
combinaciones Booleanas de frmulas es considera en los casos (4) y (5). La situacin
con las cuantificaciones es ms interesante (caso (6)). Una sustitucin no afecta la variable
cuantificada en x o x. Adems, ninguna aparicin de x en , libre o acotada, se sustituye
cuando se aplica una sustitucin a una frmula x o x . En el caso especfico de las
cuantificaciones, las restricciones son el instrumento que permite controlar qu variables
son reemplazadas.
A continuacin se presentan ejemplos ilustrando la aplicacin de sustituciones a una
frmula.
6.3. Sustitucin de trminos 171
Ejemplo 6.11
En el Ejemplo 6.11 todas las variables de la frmula aparecen libres. Entonces, la susti-
tucin F se aplica reemplazando todas las apariciones de las variables que afecta. En este
caso, las variables sustitudas en son x0 y x1 .
Ejemplo 6.12
Definicin 6.16
Sean t un trmino, x una variable y una frmula. Se dice que t es libre para x en sii
ninguna aparicin libre de x en est bajo el alcance de un y o y, en donde y es una
variable de t.
La Definicin 6.16 puede ser fcil de enteder si se piensa en trminos de rboles de sintaxis.
Considere los rboles de sintaxis de y de t. Sin ninguna restriccin, se puede obtener la
frmula [x := t], en la cual todas las apariciones libres de x han sido sustitudas por el
rbol de sintaxis de t. De acuerdo con la Definicin 6.16, lo que la expresin t es libre
para x en siginifica es que las variables en el rbol de sintaxis de t no estarn acotadas
si t sustituye las apariciones libres de x en , i.e., en [x := t].
Ejemplo 6.13
Ejemplo 6.14
El Ejemplo 6.14 ilustra cmo la sustitucin textual en el Ejemplo 6.12 puede tener efectos
de borde porque al menos uno de los trminos sustitudos fue capturado por un cuantifica-
dor. En este sentido, el Ejemplo 6.12 tambin es un ejemplo de una sustitucin que nunca!
se debe hacer.
6.3. Sustitucin de trminos 173
Ejercicios
10. Sean x una variable, t un trmino y una frmula. Demuestre o refute: si x no ocurre
libre en , entonces t es libre para x en .
11. Sean x una variable y una frmula. Demuestre que x es libre para x en .
12. Sea una frmula en la cual x aparece libre y sea y una variable que no aparece libre
en . Demuestre que si y es libre para x en , entonces x es libre para y en x := y .
Nota 6.17
Un tipo es una convecin sintctica asociada a los smbolos de un lenguaje de primer orden,
de funcin y predicado, para clasificar trminos.
Los tipos de LA son I para ndices, V para valores y A para nombres de arreglos.
Definicin 6.18
Definicin 6.20
Ejemplo 6.16
Ejemplo 6.17
En el Ejemplo 6.18, los nombres a y b son parmetros de la frmula. Para que dos arreglos
sean iguales es necesario que tengan la misma longitud, los mismos elementos y en el
mismo orden.
178 6. Lenguaje y especificacin
El predicado empty indica que un arreglo es vaco, lo cual se establece nicamente cuando
su longitud es 0. El predicado asc generaliza el concepto de ser ascendente para un
arreglo permitiendo que tambin se consideren segmentos de arreglos (i.e., subarreglos).
El predicado = de igualdad entre arreglos se define punto a punto y para ello es necesario
que las longitudes coincidan.
Ejemplo 6.19
Usando los smbolos empty, asc y =, las frases (1)-(3) que motivan esta seccin pueden ser
especificadas por las siguientes frmulas:
(1) : empty(a)
(2) : asc(a, 0, len(a))
(3) : a = b.
Ejemplo 6.21
Ejemplo 6.22
En el Ejemplo 6.22, se define el smbolo empty con la funcin empty. Esta funcin retorna
de forma afirmativa nicamente cuando el arreglo dado tiene longitud 0 y de forma negativa
de lo contrario; esta es la definicin lgica del smbolo empty en LA . La instruccin assert
se usa para validar la precondicin de la funcin empty: el argumento de la funcin debe
ser de tipo arreglo (i.e., type(a) debe ser list). La instruccin assert permite evaluar
aserciones: si la condicin dada se cumple, entonces el cdigo de la funcin sigue su
ejecucin; de lo contrario, la ejecucin de la funcin termina abruptamente con un error de
violacin de la asercin. A pesar de ser muy sencillo, el Ejemplo 6.22 sirve el propsito de
resaltar por qu es importante identificar qu smbolos son parmetros en una frmula y qu
debe ser cierto sobre ellos. En la frmula empty(a), el nombre de arreglo a es un parmetro
y, consecuentemente, la funcin Python empty tiene un argumento que corresponde al
nombre del arreglo sobre el cual se hace la verificacin. Note que el smbolo de funcin
len de LA coincide con el nombre de la funcin len de Python3, pero son smbolos en dos
mundos distintos.
180 6. Lenguaje y especificacin
Ejemplo 6.23
Hay un defecto fundamental con la funcin asc: mecaniza el predicado asc con la posibi-
lidad de ejecutar demasiadas instrucciones para ello. Especficamente, el defecto radica en
que la cantidad de iteraciones de los ciclos en asc crece cuadrticamente en funcin de la
longitud del segmento a verificar. En la prctica, se puede formular una mecanizacin de
asc de forma tal que la cantidad de iteraciones crezca linealmente en funcin de la longitud
del segmento a verificar.
Ejemplo 6.24
Ejercicios
poscondicin
invariante
Captulo 7
El sistema de Dijkstra y
Scholten para primer orden
El sistema de Dijkstra y Scholten para lgica de predicados es una extensin del siste-
ma DS de la lgica proposicional y est paremetrizado por un lenguaje de primer orden L.
Por ello, este sistema se denomina DS(L). Al igual que DS, el sistema DS(L) est funda-
mentado en la equivalencia lgica y en el cambio de iguales por iguales. Dado que en la
lgica de predicados hay dos universos, el de los trminos y el de las frmulas, el cambio
de iguales por iguales en DS(L) ocurre en los dos niveles. Es correcto decir que el enfoque
calculativo de la lgica de Dijkstra y Scholten es famoso gracias a su sistema de primer
orden.
185
186 7. El sistema de Dijkstra y Scholten para primer orden
Definicin 7.2
Una sustitucin de frmulas F es una funcin que asocia una frmula F(x) a cualquier
smbolo constante de predicado p P. Recuerde que T(F ,P) (X) denota la coleccin de
frmulas sobre (F , P) (Definicin 6.5). Al igual que una sustitucin de la lgica propo-
sicional y de trminos, cualquier sustitucin de frmulas F es tal que F(p) , p para una
cantidad finita de smbolos p de aridad 0. Entonces, una sustitucin de frmulas tambin
puede ser escrita como un conjunto finito de la forma {q0 7 0 , q1 7 1 , . . . , qn 7 n } in-
dicando que la frmula i est asociada al smbolo constante qi (0 i n) y cualquier otro
smbolo constante est asociado a s mismo cuando este no aparece en la lista de smbolos
q0 , q1 , . . . , qn .
Una sustitucin de frmulas nicamente se aplica a una frmula. Note que no tiene
sentido aplicar una sustitucin de frmulas a un trmino. Primero, porque un trmino no
menciona smbolos de predicado. Segundo, porque en general un trmino no puede tener
una frmula como subtrmino.
7.1. El sistema formal DS(L) 187
Definicin 7.3
Nota 7.4
Definicin 7.5
Definicin 7.6
Sean x una variable, p un smbolo de predicado con aridad 0 y , , frmulas. Las reglas
de inferencia de DS(L) son:
Ecuanimidad
Leibniz Generalizacion
p := p := x
El sistema DS(L) cuenta con tres reglas de inferencia. Las reglas Ecuanimidad y Leibniz son
similares a las reglas de inferencia de DS. La tercera regla de inferencia es Generalizacion
e indica que si una frmula es teorema, entonces tambin lo es cualquiera de sus versiones
cuantificadas universalmente (i.e., para cualquier variable en X).
7.1. El sistema formal DS(L) 189
Nota 7.7
Note que los conceptos de derivacin (Definicin 4.20) y derivacin relajada (Defini-
cin 5.4) definidos para DS pueden ser definidos de manera similar para DS. Algo similar
sucede con las reglas de inferencia derivadas en el Captulo 4 para DS, las cuales deben
ser correctas para DS(L), al igual que con las tcnicas de razonamiento y demostracin del
Captulo 5. Sin embargo, se debe tener cuidado con el Metateorema de la Deduccin para
DS(L) que es distinto a su contraparte en DS (ver Seccin 7.4).
Ejercicios
a) Demostracin.
b) Derivacin.
c) Derivacin de debilitamiento.
d) Derivacin de fortalecimiento.
4. Sea una una proposicin. Demuestre que si `DS , entonces `DS(L) . Note que los
smbolos de predicado p0 , p1 , . . . en P corresponden a las variables proposicionales de
DS. Entonces, cualquier proposicin es una frmula de DS(L).
5. Demuestre que la regla de inferencia Modus Ponens es correcta en DS(L):
Modus Ponens
en donde y son frmulas de DS(L).
6. Simbolice cada una de las siguientes argumentaciones y para cada una de ellas de-
muestre que es correcta o formule un contraejemplo.
a) Todos los hombres son mortales. Scrates es hombre. Entonces Scrates es mor-
tal.
b) Si hay quien pague impuestos, entonces todos los polticos pagan impuestos. Si
hay algn filntropo, entonces todo aquel que pague impuestos es filntropo. Con-
secuentemente, si hay algn filntropo que pague impuestos, entonces todos los
polticos son filntropos.
c) Si hay quien pague impuestos, entonces todos los polticos pagan impuestos. Si
hay algn filntropo, entonces todo aquel que pague impuestos es filntropo. Con-
secuentemente, si hay algn filntropo que pague impuestos, entonces todos los
filntropos son polticos.
7. Demuestre que el Metateorema 5.13 de demostracin por doble implicacin es cierto
para DS(L). En particular, demuestre para cualquier par de frmulas y , y un
conjunto de frmulas:
`DS(L) sii `DS(L) y `DS(L) .
8. Demuestre el Metateorema 5.14 de demostracin por contradiccin para DS(L). En
particular, para y frmulas, y un conjunto de frmulas:
a) `DS(L) sii `DS(L) false.
b) `DS(L) sii `DS(L) false.
9. Demuestre el Matateorema 5.16 de demostracin por contrapositiva para DS(L).
10. Demuestre el Matateorema 5.17 de demostracin por contrapositiva para DS(L).
11. Demuestre el Metateorema 5.18 para DS(L), en donde p P es tal que ar(p) = 0.
12. Demuestre el Metateorema 5.21 para DS(L).
13. Demuestre el Metateorema 5.22 para DS(L).
Teorema 7.8
Los teoremas 7.8.1 y 7.8.2 establecen que la cuantificacin universal no tiene efecto alguno
sobre las constantes Booleanas y el Teorema 7.8.3 establece que la cuantificacin universal
es idempotente.
x true
h axioma (Bx1): x no aparece libre en true i
true.
Teorema 7.9
Los teoremas de trueque indican cmo mover frmulas entre el rango y el trmino de una
cuantificacin. El Teorema 7.9.1 establece que una frmula en el rango puede ser negada
y pasada al trmino bajo una disyuncin y viceversa. Los teoremas 7.9.2 y teoremas 7.9.3
indican cmo hacer trueque de frmulas que corresponden a una conjuncin.
192 7. El sistema de Dijkstra y Scholten para primer orden
2. `DS(L) x x ( )
4. `DS(L) x y y x .
El Teorema 7.12.1 se llama regla del rango vaco pues indica cmo operar una cuantifi-
cacin universal cuando ningn elemento del dominio del discurso satisface su rango. El
Teorema 7.12.2 se llama regla de ruptura de rango pues indica cmo operar una cuantifica-
cin universal cuando su rango corresponde a una disyuncin. El Teorema 7.12.3 permite
el renombramiento de variables y el Teorema 7.12.4 permite el intercambio de variables
cuantificadas universalmente.
Ejercicios
Sea una frmula y x una variable. El siguiente axioma de DS(L) define la cuantificacin
existencial:
(Bx5): x x .
Intuitivamente, la Definicin 7.13 indica que al menos un elemento satisface una frmula
siempre y cuando no todos los elementos satisfagan su negacin.
Inicialmente se presentan algunos teoremas bsicos.
Teorema 7.14
El teorema 7.15 indica que x es cierto siempre y cuando haya un testigo t para x que
haga [x := t] cierta. Este teorema es importante en la prctica porque establece una con-
dicin suficiente para que una frmula cuantificada existencialmente sea cierta: basta en-
contrar un testigo que haga dicha fmrula cierta.
A continuacin se presentan teoremas de monotonas para la cuantificacin existen-
cial.
Teorema 7.16
Teorema 7.17
4. `DS(L) x y y x .
Ejercicios
`DS(L) x x ( ).
Metateorema 7.20
El Metateorema de Generalizacin ( 7.20) indica que para demostrar que una frmula
cuantificada universalmente es teorema, basta con ignorar el cuantificador universal. Es
importante advertir que este metateorema indica que una frmula y su versin cuantificada
universalmente son equidemostrables, mas no equivalentes. Confundir estos dos conceptos
es un error comn en quienes inician el estudio de la lgica.
Al igual que DS, el sistema DS(L) cuenta una versin del Metateorema de la Deduc-
cin en la cual hay diferencias sutiles. Estas diferencias se introducen para evitar cometer
errores a causa de las variables libres.
Metateorema 7.21
Para cierto tipo de frmulas se puede formular una versin del Metateorema 7.21 ms
sencilla. En particular, para aquellas frmulas que no tienen variables libres.
7.4. Algunos metateoremas 199
Definicin 7.22
Demostracin. Es suficiente con demostrar las condiciones (1) y (2) del Metateorema 7.21.
Note que la condicin (1) del Metateorema 7.21 coincide con la suposicin (1) (del meta-
teorema que est siendo demostrado). Por la suposicin (2) se tiene que es una sentencia;
consecuentemente no tiene variables libres. De esta forma la condicin (2) del Metateo-
rema 7.21 se cumple trivialmente. Entonces, `DS(L) .
Se distinguen tres tipos para modelar sucesiones en DS(L): uno para nmeros natura-
les, uno para nmeros reales y uno para sucesiones. El tipo de nmeros naturales se denota
con la letra N y el de los nmeros reales con la letra R.
El inters principal es el estudio de algunas propiedades del lmite de una sucesin,
cuando este existe. En particular, el inters es establecer propiedades del predicado binario
limit definido para cualquer sucesin f y nmero real x de la siguiente manera:
limit( f, x) : el lmite de f es x.
Claramente esta no es una definicin formal de lo que significa que un valor x sea el lmite
de una sucesin f . De acuerdo con Wikipedia, una definicin (adaptada) es la siguiente:
una sucesin f tiene lmite x cuando n tiende a infinito, si para todo valor > 0
por pequeo que sea, existe un valor m a partir del cual si n > m se tiene que la
distancia de x a f (n) es menor que .
Ejemplo 7.3
Note que en la definicin de limit (Ejemplo 7.3) se hace explcito el tipo de las variables que
se emplean. Adems, es claro el alcance de cada uno de los cuantificadores. La expresin
abs es un smbolo de funcin unario de tipo R cuyo argumento es de tipo R que denota
el valor absoluto. Los smbolos <, >, , son los predicados de comparacin usuales para
nmeros.
En el siguiente ejemplo se usan propiedades bsicas de los nmeros naturales y reales.
Ejemplo 7.4
Sea f la funcin definida por f (n) = 1 para todo n N. A continuacin se demuestra que
1 es el lmite de f . El objetivo es demostrar:
`DS(L) (:R | > 0 : (m:R | m 0 : (n:N | n > m : abs( f (n) 1) < ))).
Por el Metateorema 7.20, basta con demostrar:
{ > 0} `DS(L) (m:R | m 0 : (n:N | n > m : abs( f (n) 1) < )).
7.4. Algunos metateoremas 201
Ejercicios
1. Sea una coleccin de frmulas. Defina cada uno de los siguientes conceptos para
DS(L):
a) Demostracin con suposiciones en .
b) Derivacin con suposiciones en .
c) Derivacin de debilitamiento con suposiciones en .
d) Derivacin de fortalecimiento con suposiciones en .
2. Sea x una variable y una frmula. Refute: x .
3. (Difcil) Demuestre el Metateorema de la Deduccin (7.21).
4. Demuestre el Metateorema 7.24.
5. Repita la demostracin en el Ejemplo 7.4 con testigo m = 10.
6. Sea f la sucesin definida por f (n) = 1
n para n > 0. Demuestre que f tiene lmite 0.
7. Sea f la sucesin definida por f (n) = 1
n+1 para n N. Demuestre que f tiene lmite 0.
8. Sea f la sucesin definida por f (n) = 1
n2
para n > 0. Demuestre que f tiene lmite 0.
202 7. El sistema de Dijkstra y Scholten para primer orden
9. Sea f la sucesin definida por f (n) = n para n N. Demuestre que f no tiene lmite.
10. Sean f, g sucesiones y a, b nmeros reales. Demuestre que si limit( f, a) y limit(g, b),
entonces limit( f + g, a + b), en donde ( f + g)(n) = f (n) + g(n).
11. Demuestre que si una sucesin tiene lmite, entonces este es nico.
7.5. La igualdad
Definicin 7.26
Sea x una variable, t un trmino y una frmula. Los siguientes axiomas de DS(L) definen
la igualdad entre trminos:
(Bx6): x = x
(Bx7): (x = t) ( [x := t]), si t es libre para x en .
La igualdad es reflexiva para variables (Bx6) y permite la sustitucin de una variable libre
por un trmino en una frmula siempre y cuando las variables de dicho trmino no sean
capturadas en el proceso (Bx7).
En algunas ocasiones, cuando el rango de una cuantificacin corresponde a una igual-
dad, es posible simplificar dicha frmula.
Teorema 7.27
Cada uno de los teoremas en 7.27 se llama regla de un punto porque indican cmo operar
una cuantificacin, universal o existencial, cuando exactamente un elemento del dominio
del discurso satisface su rango.
7.5. La igualdad 203
(x | x = t : )
h azcar sintctico i
x ((x = t) )
h (Bx4): t es libre para x en i
((x = t) )[x := t]
h definicin de sustitucin textual; x no aparece en t i
(t = t) [x := t]
h (Bx6); identidad de i
[x := t] .
En el otro sentido suponga `DS(L) [x := t], y note que por el axioma (Bx7) las frmulas
((x = t) ) y ((x = t) [x := t]) son equivalentes. Entonces se tiene que `DS(L) (x =
t) . Por la regla Generalizacion se obtiene que la frmula x ((x = t) ) es teorema.
Finalmente, esta frmula puede ser escrita como (x | x = t : ). Entonces:
`DS(L) [x := t] (x | x = t : ).
Para especificar divisibilidad en L, se supone un nico tipo (i.e., nmeros enteros) y por lo
tanto no es necesario asociarle un nombre para identificarlo.
Ejemplo 7.5
Se presenta una definicin del predicado de divisibilidad para cualquier par de nmeros
enteros a y b:
a | b x (ax = b)
Ejemplo 7.6
Note que deliberadamente, en la ltima derivacin del Ejemplo 7.7, se escoge una variable
y distanta a x en el primer paso de la derivacin. Esto se debe a que esta variable es distinta
a la variable x en la suposicin.
Ejercicios
207
XKCD: Formal Logic (https://xkcd.com/1033/)