Вы находитесь на странице: 1из 221

Lgica para Informtica y Matemticas

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

Parte 1. Lgica proposicional

Captulo 1. Lenguaje y especificacin 21


1.1. Proposiciones 22
1.2. Lenguaje formal 25
1.3. rboles de sintaxis 31
1.4. Induccin sobre proposiciones 34

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

Captulo 3. Herramientas proposicionales 73

v
vi ndice general

3.1. Sustitucin textual 73


3.2. Instanciacin de variables proposicionales 76
3.3. Reemplazo de iguales por iguales 79
3.3.1. Ecuanimidad 80
3.3.2. Leibniz 81
3.4. Operatorias proposicionales 82

Captulo 4. El sistema de Dijkstra y Scholten 87


4.1. El sistema formal DS 88
4.2. Propiedades estructurales de la equivalencia 92
4.3. La negacin y la discrepancia 96
4.3.1. Ciframiento de texto con xor 100
4.4. La disyuncin 102
4.5. Intermezzo: derivaciones 106
4.6. La conjuncin 109
4.7. La implicacin y la consecuencia 112

Captulo 5. Tcnicas de razonamiento y demostracin 123


5.1. Eliminacin de parntesis 124
5.2. Tcnicas bsicas 127
5.2.1. Reduccin a true 127
5.2.2. Trnsito 128
5.2.3. Uso de lemas 128
5.3. Derivaciones relajadas 129
5.4. Deduccin con suposiciones y el Metateorema de la Deduccin 132
5.4.1. Demostracin con suposiciones 133
5.4.2. Metateorema de la Deduccin 133
5.4.3. Metateorema de Coherencia y Completitud 136
5.5. Tcnicas complementarias 137
5.5.1. Suposicin del antecedente 138
5.5.2. Doble implicacin 139
5.5.3. Contradiccin 140
5.5.4. Contrapositiva 142
5.5.5. Anlisis de casos 143

Parte 2. Lgica de predicados

Captulo 6. Lenguaje y especificacin 153


6.1. Trminos y frmulas 154
6.2. Variables libres y acotadas 164
6.3. Sustitucin de trminos 168
6.4. Un lenguaje para arreglos 174

Captulo 7. El sistema de Dijkstra y Scholten para primer orden 185


ndice general vii

7.1. El sistema formal DS(L) 185


7.2. La cuantificacin universal 190
7.3. La cuantificacin existencial 194
7.4. Algunos metateoremas 197
7.5. La igualdad 202

Bibliografa 207
Prefacio

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. Esta
disposicin no es sorprendente si se tiene en cuenta que las matemticas avanzaron como
ciencia durante siglos sin la ayuda de la lgica matemtica. Adems, la lgica matemti-
ca es un rea del conocimiento relativamente nueva al ser comparada con el resto de las
matemticas.
El contexto en cual se desarrollan las matemticas ha cambiado, sobre todo en esta era
digital. Hoy en da la tecnologa ha permeado la labor del matemtico desde la informtica:
es posible hacer, por ejemplo, demostraciones asistidas o automticas en un computador.
Para llegar a esta realidad, la informtica ha desarrollado nuevos marcos lgicos con una
bondad especial: la de servir como lgebras del razonamiento efectivas y gozar de buenas
propiedades computacionales, facilitando su mecanizacin en un computador por medio
de inferencias simblicas. Estos desarrollos tambin han abierto nuevas posibilidades para
contar con nueva notacin, demostraciones ms legibles y argumentaciones que finalmente
resultan en clculos muy precisos. En este sentido, el rol de la lgica matemtica ha cam-
biado para dejar de ser exclusivamente un objeto de estudio y convertirse en una herramien-
ta efectiva para demostrar teoremas y, en general, para guiar el proceso de razonamiento
en muchas reas del conocimiento.
El propsito de este texto es servir como introduccin a la lgica matemtica clsica
con nfasis en su uso como herramienta de deduccin para documentar y descubrir ra-
zonamientos formales y no solo como objeto de estudio. Una caracterstica particular, y
que posiblemente haga de este texto un aporte nico, es que el desarrollo del estudio de la
lgica se aborda desde tres dimensiones: (i) los sistemas formales como marco fundamen-
tal de las matemticas, concebidos inicialmente por Russell y Whitehead [11], y Hilbert
y Bernays [5]; (ii) la propuesta desde la informtica de usar la lgica como herramien-
ta para razonar hecha por Dijkstra y Scholten [2], y refinada posteriormente por Gries y
Schnider [3] y Tourlakis [10]; y (iii) resultados recientes en reescritura y lgica compu-
tacional [8, 9], reas activas de investigacin en mtodos formales de la informtica.

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

Es abrumadora la cantidad de textos que se han escrito acerca de y sobre la lgica


matemtica y, recientemente, otro tanto ms sobre lgica para informtica. Sin embargo,
la mayora de textos en estos temas se escriben para audiencias con cierta madurz mate-
mtica y con el objetivo de estudiar las meta-propiedades de la lgica. Es decir, los textos
se centran principal y generalmente en el estudio de la lgica como objeto de estudio, ex-
plorando sus posibilidades y limitaciones. Cualquier lector familiarizado con los textos de
Hodel [6], Hamilton [4], y Huth y Ryan [7] se dar cuenta de la gran deuda que el autor
tiene con ellos gracias al desarrollo de algunas de sus ideas en el presente texto.
Actualmente, hay tres libros que el autor conoce, y que preceden cronolgicamente
este texto, los cuales se centran en el uso de la lgica matemtica como herramienta para
calcular demostraciones: uno por Gries y Schnider [3], otro por Tourlakis [10] y otro por
Bohrquez [1]. El primero es un texto introductorio que presenta la lgica de Dijkstra y
Scholten como una herramienta para demostrar teoremas, en gran medida dejando a un
lado aspectos semnticos de la lgica. La segunda parte de ese texto se ocupa, principal-
mente, en demostrar teoremas de matemticas discretas que son deseables en la enseanza
de los currculos de computacin e informtica hoy en da. El segundo, es un texto ms
avanzado en comparacin con el primero y se enfoca, especialmente, en estudiar y pre-
sentar los fundamentos matemticos de la lgica de Dijkstra y Scholten, al igual que la
interrelacin entre su aparato formal y su semntica. El tercer texto, adems de estar escri-
to en castellano, presenta y extiende las ideas en [3] abordando aspectos semnticos de la
lgica e incluyendo pruebas de completitud y coherencia, adems de numerosos ejemplos
que ilustran este enfoque en la correccin y derivacin de algoritmos iterativos. El presente
texto puede verse como una extensin adicional de los textos anteriormente mencionados,
en donde el sistema de Dijkstra y Scholten se presenta exhibiendo sus propiedades compu-
tacionales, acompaado de resultados recientes en investigacin.
Este texto se form a partir de notas de clase escritas para cursos introductorios de
lgica enseados en la Escuela Colombiana de Ingeniera (LCAL y LMAT). La inspiracin
para escribirlo provino de Jos Meseguer (tutor de los estudios doctorales del autor en la
Universidad de Illinois en Urbana-Champaign) quien, con su ejemplo, demostr que no
hay una mejor forma de saber acerca de un tema que escribiendo sobre este.
Finalmente, es importante agradecer a Ernesto Acosta, Jaime Bohrquez, Ral Cha-
parro, Wilmer Garzn y Sergio Ramrez porque han ledo cuidadosamente este texto, ha-
ciendo sugerencias muy tiles sobre la forma y el fondo de su contenido.

Camilo Rocha
Cali, Agosto de 2016
Captulo 0

Prembulo

Desconfen vuestras mercedes de quien es lector


de un solo libro, dijo el Capitn Alatriste.
Arturo Prez-Reverte
Limpieza de Sangre, 1997

I prioritise story over science, but not at the expense


of being really stupid about it.
Alastair Reynolds

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

Las matemticas, y en particular la lgica, se desarrollan usando un cdigo comn de


trminos y una metodologa. La terminologa se refiere a aspectos lingusticos que se supo-
ne son conocidos y estn claramente entendidos. Es en este sentido en el cual los textos de
matemticas adoptan algunos trminos como definicin, proposicin y teorema, en-
tre otros, y los usan frecuentemente. La metodologa permite abordar el estudio de un tema
de manera sistemtica: primero, definiendo unvocamente el objeto de estudio; segundo,
estableciendo propiedades sobre el objeto de estudio; tercero, y de manera opcional, utili-
zando efectivamente el objeto de estudio para resolver un problema de inters. Por objeto
de estudio puede entederse, por ejemplo, cmo demostrar que un algoritmo es correcto,
un sistema numrico o una teora de la relatividad. Esta seccin explica cules son el
cdigo comn de trminos y la metodologa que sigue este texto.
Siempre, en matemticas, lo ms importante son las definiciones: sin definiciones, o
sin entenderlas, no es posible hacer matemticas; mucho menos pretender que sean de

1
2 0. Prembulo

alguna utilidad. El objetivo de una definicin es definir unvocamente un objeto mate-


mtico y establecer notacin para referirse a este. Una definicin en este texto hace eso:
definir objetos matemticos y establecer notacin para referirse a ellos.
Definicin 0.1

El conjunto de nmeros naturales es {0, 1, 2, . . .} y se denota como N. Un nmero n es un


nmero natural si y solo si n N.

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

Sea n un nmero. Si n N, entonces (n + 1) N.

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

A diferencia de otras reas de las matemticas como el clculo, el algebra, etc., el


estudio de la lgica se ocupa simultneamente de dos roles de la lgica: como objeto de
estudio y como herramienta para razonar. En este texto se estudian diferentes lgicas y ca-
da una de ellas se define como un sistema formal (Seccin 0.3). Entonces, dependiendo del
mbito, el tipo de propiedades que se pueden establecer son dos: (i) propiedades acerca del
sistema formal y (ii) propiedades dentro del sistema formal. En el caso (i) la lgica, como
sistema formal, es un objeto de estudio y las propiedades demostradas son meta-teoremas
(i.e., propiedades de la lgica como tal). En el caso (ii) la lgica, como herramienta, est
siendo empleada para obtener resultados dentro del sistema formal y las propiedades de-
mostradas son teoremas (i.e., propiedades particulares de las expresiones de la lgica). La
convencin que sigue el texto es clasificar con el nombre de Metateorema a cada meta-
teorema y con el nombre de Teorema a cada teorema. El texto tambin usa los nombres
Lema y Corolario para referirse a meta-teoremas y teoremas secundarios: un lema es un
resultado intermedio que antecede a un resultado importante, mientras que un corolario es
un caso particular de un (meta-)teorema. La intencin de usar estos trminos para referirse
a resultados, tanto al nivel meta-terico como del objeto de estudio, es facilitar la lectura
del texto; dependiendo del contexto en el cual aparezcan, el lector podr inferir en cul de
los dos roles se enuncian dichos resultados.
Finalmente, el texto hace uso de notas para resaltar una idea, introducir notacin
o simplemente llamar la atencin del lector a aspectos que complementan el contenido
primordial del texto.

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.

El principio de induccin es una propiedad inherente de los nmeros naturales. Como


tal, este principio es algo que se supondr cierto a lo largo del texto sin presentar una
demostracin de su veracidad.
Ahora bien, por qu tiene sentido el principio de induccin? Suponga que los casos
(1) y (2) son ciertos para una propiedad M sobre los nmeros naturales, y sea k un nmero
natural (i.e., k N). Si k = 0, entonces k tiene la propiedad M por el caso base (i.e., M(0)
es cierto). De lo contrario, se puede usar el caso inductivo aplicado a n = 0, para concluir
que 1 = 1 + 0 tiene la propiedad M (i.e., M(1) es cierto). El caso inductivo se puede
aplicar de la misma forma con n = 1 suponiendo M(1) y entonces concluyendo M(2). Este
proceso se puede repetir hasta concluir M(k): es como un efecto domin en donde k es
la primera ficha en caer o alguna otra ficha que cae porque est conectada causalmente
con la primera ficha en caer.

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

de G(n + 1). La expresin G(n + 1) abrevia la ecuacin


(n + 1) ((n + 1) + 1)
0 + + n + (n + 1) = .
2
Por la hiptesis inductiva (suposicin de G(n)), la parte izquierda de la igualdad se
puede escribir como n(n+1)2 + (n + 1). Factorizando (n + 1), esta expresin es igual a
(n+1)(n+2)
2 , que a su vez es igual a (n+1)((n+1)+1)
2 . Entonces, si n tiene la propiedad G,
necesariamente (n + 1) tiene la propiedad G. Es decir, G(n) implica G(n + 1).
Dado que los casos (1) y (2) son ciertos para G, por el principio de induccin matemtica
(Definicin 0.5), se sigue que todo n N tiene la propiedad G. 

El principio de induccin matemtica tiene muchas variantes. Por ejemplo, es posible


contar con una versin en la cual el caso base sea n = 1, excluyendo el 0. Tambin, como
se ver en algunas secciones de este texto, el principio de induccin matemtica se puede
adaptar para hacer demostraciones sobre estructuras diferentes a los nmeros naturales
como, por ejemplo, frmulas y demostraciones en un sistema formal. En cada variante del
principio de induccin matemtica que se use, lo ms importante es identificar los casos
base (pueden ser ms de uno) y los casos inductivos (los cuales tambin pueden ser ms
de uno). En la prctica, en muchas ocasiones, es posible y natural reducir un principio
de induccin matemtica al principio de induccin matemtica para nmeros naturales
estudiado en esta seccin. Esto hace del principio de induccin matemtica para nmeros
naturales una herramienta efectiva en las matemticas.

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

para todo n N con n 1. Qu sucede cuando n = 0?


7. Use el principio de induccin matemtica para demostrar
1 1 1 1
D(n) : + + + + n < 1
2 4 8 2
para n 1. Esta desigualdad usualmente se escribe como un hecho sobre la convergen-
cia de series infinitas. Sin embargo, para este problema no es necesario conocimiento
alguno sobre series, adems que esta formulacin es finita.
8. Demuestre que 2n n + 12 para todo nmero natural n 4. En este problema el caso
base es n = 4. Es cierta esta propiedad para n < 4? Justifique su respuesta.
9. Demuestre que xn 1 es divisible por x 1 para todos n, x N.
10. Sean n, x N. Demuestre que si 1 + x > 0 y n 1, entonces (1 + x)n 1 + nx.
11. Sea h(n) = 1
1 + 1
2 + 1
3 + + 1n . Demuestre, para todo n 1 que
h(1) + h(2) + h(3) + + h(n) = (n + 1) h(n) n.
12. Sea f una funcin definida para todo n N por:
f (0) = 0,
f (1) = 1,
f (n) = f ( f (n 1)) + f (n f (n 1)) , si n > 1.
Calcule f (10000).
13. Proponga una frmula para calcular la siguiente suma y demuestre que dicha frmula
es correcta:
0 1 + 1 2 + 2 3 + + n(n + 1).
14. Sean k y l nmeros naturales. Se dice que k es divisible por l si y solo si existe un p N
tal que k = p l (en este caso, p se llama el testigo de la divisibilidad de k entre l).
Por ejemplo, 15 es divisible por 3 con testigo 5 porque 15 = 5 3. Use el principio de
induccin matemtica para demostrar que 11n 4n es divisible por 7 para todo n N.
15. Demuestre que las siguientes afirmaciones son ciertas para cualquier n N:
a) n3 n es divisible por 3.
b) n5 n es divisible por 5.
16. Demuestre o refute: n4 n es divisible por 4, para n N.
17. Demuestre usando el principio de induccin matemtica que un nmero natural en
representacin decimal es divisible por 3 si y solo si la suma de sus dgitos es divisible
por 3.
18. Demuestre usando el principio de induccin matemtica que:
a) El cuadrado de un nmero natural impar es de la forma 8m + 1, para algn m N.
b) La cuarta potencia de un nmero natural impar es de la forma 16m + 1, para algn
m N.
19. Suponga que una oficina postal vende estampillas de $2 y $3. Demuestre que cualquier
cantidad de dinero n $2 puede ser pagada con estampillas de estas denominaciones.
Ayuda: use induccin matemtica sobre n. En el caso inductivo considere dos posibi-
lidades: primero, que n puede pagarse usando nicamente estampillas de $2; segundo,
que n puede pagarse usando al menos una estampilla de $3.
0.3. Sistemas formales 9

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:

El nmero n2 + 5 n + 1 es par para todo n N.

a) Demuestre el caso inductivo para esta afirmacin.


b) Demuestre que el caso base falla para esta afirmacin.
c) Concluya que la afirmacin es falsa.
d) Use induccin para demostrar que n2 + 5 n + 1 es impar para todo n N.
22. Considere un tablero de ajedrs de 2n 2n en el cual ha sido eliminada arbitrariamente
una de sus celdas (n 1). Demuestre que dicho tablero puede ser cubierto, sin omitir
celdas o con sobrelapamientos, con fichas en forma de L que cubren exactamente 3
celdas.
23. El principio del palomar, en su versin ms sencilla, corresponde a la siguiente afir-
macin para n 1: si n + 1 canicas se distribuyen en n cajas, entonces al menos una
caja contiene ms de una canica. Demuestre por el principio de induccin matemtica
esta formulacin del principio del palomar.

0.3. Sistemas formales

Un sistema formal es el marco matemtico apropiado para definir y aclarar conceptos


fundamentales como proposicin matemtica, axioma, demostracin y teorema. Antes que
todo, se introduce la terminologa comnmente usada en el estudio de sistemas formales.

Definicin 0.7

Sea S un conjunto de smbolos. Una expresin en S (o palabra en S ) es una secuencia


finita (posiblemente vaca) de smbolos de S .

Por ejemplo, si S = {a, b, c}, entonces baca y cba son expresiones en S .


En la descripcin de un lenguaje formal primero se especifica el conjunto de smbolos
S y luego se seleccionan ciertas expresiones que se designan como frmulas. No necesaria-
mente toda expresin es una frmula del sistema formal. Por ejemplo, si S es el conjunto
de letras del alfabeto castellano con sus acentos (i.e., S = {a, b, c, . . . , n , . . . , z}) entonces
nio y qwerty son expresiones en S . Si se declaran como frmulas aquellas expresiones
que aparecen en el diccionario de la lengua espaola (http://rae.es), entonces nio es una
frmula pero qwerty no.
10 0. Prembulo

Definicin 0.8

Un sistema formal tiene tres componentes:


un lenguaje formal que corresponde a un conjunto de smbolos y frmulas,
un conjunto de axiomas que corresponde a ciertas frmulas,
unas reglas de inferencia.

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

A lo largo de este texto las letras griegas minsculas , , , , , , . . . (incluyendo sus


versiones primadas o con subndices) se usan para denotar frmulas de un sistema formal,
mientras que las letras griegas maysculas , , , , . . . se usan para denotar conjuntos de
frmulas.

Los axiomas de un sistema formal son algunas frmulas especialmente seleccionadas.


En muchos casos el lenguaje formal se escoge con cierta interpretacin inicial en mente y
los axiomas entonces son algunas frmulas obviamente ciertas. Un sistema formal debe
contar con un algoritmo que decida si una de sus frmulas es o no un axioma.
Una regla de inferencia es un mecanismo que permite obtener una frmula (llama-
da conclusin) a partir de un conjunto finito de frmulas (llamadas premisas). Suponga
que 0 , 1 , . . . , k , son frmulas. Una regla de inferencia con premisas 0 , 1 , . . . , k (es
comn que k = 0, 1, 2) y conclusin se escribe esquemticamente como
0 1 k
.

En cualquier sistema formal hay una cantidad finita de reglas de inferencia.
Ejemplo 0.1

A continuacin se define el sistema formal ADD:


Lenguaje: los smbolos son +, = y |. Una frmula es una expresin de la forma
x + y = z, en donde x, y y z son secuencias no vacas en las cuales nicamente aparece
el smbolo |.
Axiomas: el nico axioma es la frmula | + | = ||.
0.3. Sistemas formales 11

Reglas de inferencia: hay dos reglas de inferencia


x+y=z x+y=z
R1 R2.
x| + y = z| y+x=z

Un sistema formal usualmente se propone con una interpretacin o intuicin en mente.


Es decir, el lenguaje y los axiomas son seleccionados para estudiar un tema especfico
como la lgica proposicional, la aritmtica, la teora de conjuntos, etc. Sin embargo, es
importante aclarar que una interpretacin no hace parte de un sistema formal. Aquellos
conceptos de un sistema formal que se definen sin hacer referencia a una interpretacin
son llamados elementos sintcticos. A su vez, conceptos que dependen del significado o
interpretacin de los smbolos son llamados elementos semnticos. La interaccin entre los
conceptos sintcticos y semnticos es fundamental en el estudio de la lgica matemtica
vista como un sistema formal. Por ejemplo, en la lgica proposicional existe el concepto
sintctico de teorema y el semntico de tautologa. Un objetivo frecuente en el estudio
de la lgica proposicional es demostrar que una frmula es un teorema si y solo si es una
tautologa; en este texto, este tipo de propiedades se demuetran, cuando llegue el momento,
tanto para la lgica proposicional como para la lgica de predicados.
Al contar con el concepto de sistema formal, ahora es posible dar definiciones precisas
de lo que son una demostracin y un teorema.

Definicin 0.10

Sea F un sistema formal. Una demostracin en F es una secuencia finita de frmulas


0 , 1 , . . . , n de F tal que para cada 0 k n una de las siguientes condiciones es
cierta:
1. k es un axioma de F, o
2. k > 0 y k es la conclusin de una regla de inferencia de F cuyas premisas aparecen
en la secuencia 0 , . . . k1 .
Si 0 , 1 , . . . , n es una demostracin en F, entonces se dice que n es un teorema de F, lo
cual se escribe como
`F n .

Las definiciones de demostracin y teorema carecen de semntica alguna y es as como


estos dos conceptos son netamente elementos sintcticos de cualquier sistema formal.
12 0. Prembulo

Nota 0.11

Una demostracin 0 , 1 , . . . , n en un sistema formal F se puede diagramar esquemtica-


mente de la siguiente forma
0. 0 (explicacin0 )
1. 1 (explicacin1 )

n. n (explicacinn )
en la cual explicacini es un texto explicando cmo se obtiene la frmula i a partir de
0 , . . . , i1 . Adicionalmente, cuando el sistema formal bajo discusin est claramente
identificado, se puede obviar el subndice y escribir ` en lugar de `F para cualquier
teorema de F.

A continuacin, en el Ejemplo 0.2, se muestra cmo el formato de demostracin puede


ser usado en el sistema ADD. En particular, es importante notar el papel importante que
juegan las explicaciones en cada uno de los renglones de una demostracin para que un
lector pueda seguirla y entender por qu es correcta.

Ejemplo 0.2

La frmula || + ||| = ||||| es un teorema del sistema formal ADD:


0. | + | = || (axioma de ADD)
1. || + | = ||| (R1 con premisa 0)
2. ||| + | = |||| (R1 con premisa 1)
3. | + ||| = |||| (R2 con premisa 2)
4. || + ||| = ||||| (R1 con premisa 3)
En conclusin `ADD || + ||| = |||||.

La nocin de demostracin formal es clave en el desarrollo de las matemticas. De


hecho, los sistemas formales fueron inicialmente planteados por Hilbert con el objetivo de
estudiar y analizar las demostraciones matemticas. As como la geometra estudia objetos
en un espacio geomtrico y la aritmtica estudia los nmeros, la teora de demostraciones
estudia las demostraciones. Los sistemas formales son el marco dentro del cual se lleva a
cabo la teora de demostraciones.
Finalmente, es conveniente incluir notacin para referirse a aquellas frmulas de un
sistema formal que no hacen parte de su conjunto de teoremas.
0.3. Sistemas formales 13

Nota 0.12

Para F un sistema formal y una frmula de F, la expresin


0F
se usa para denotar que no es teorema de F.

Unas palabras de precaucin sobre el significado asociado a la relacin 0F para cual-


quier sistema formal F. Para poder afirmar que una frmula no es teorema de F (i.e.,
para afirmar 0F ) hay que justificar que no existe demostracin alguna de en F. En par-
ticular, no es suficiente con desfallecer en el intento de encontrar una demostracin para
, sino que es necesario demostrar que no existe tal demostracin. Para este propsito
se requieren, generalmente, tcnicas de razonamiento externas al sistema formal, es decir,
tcnicas para razonar acerca del sistema formal como objeto de estudio (e.g., metateoremas
del sistema formal).
Por ejemplo y de acuerdo con la interpretacin intuitiva de lo que representa el sistema
formal ADD, sera deseable que la frmula || + || = ||| no sea uno de sus teoremas. En
el Ejemplo 0.3 de la siguiente seccin se establece un metateorema garantizando que la
cantidad de palotes a la izquierda y a la derecha de = coincide en cualquier teorema de
ADD. Gracias a dicho metateorema, se puede concluir que 0ADD ||+|| = ||| porque la cantidad
de palotes a la izquierda y a la derecha de = no coincide: son 4 y 3, respectivamente.
La tcnica utilizada en el Ejemplo 0.3 es la induccin matemtica sobre frmulas de un
sistema formal, la cual se explica a continuacin.

0.3.1. Induccin sobre teoremas. A veces es necesario demostrar que el conjun-


to de teoremas de un sistema formal F satisface una propiedad Q. Esta seccin estudia la
induccin sobre la longitud de una demostracin, un principio de induccin derivado del
principio de induccin matemtica (Definicin 0.5), sumamente til para demostrar pro-
piedades sobre teoremas de un sistema formal y estensivamente empleado a lo largo de
este texto para tal fin.
Suponga que `F , en donde es una frmula de F. Entonces, por la definicin de
teorema, necesariamente existe al menos una demostracin de con n 1 renglones
(aqu, n es una variable sobre los nmeros naturales). Dicha demostracin puede verse de
la siguiente forma:

0. 0 ( )
1. 1 ( )

n 1. n1 ( )

en la cual cada expresin i (0 i n 1) es una frmula de F y la ltima frmula n1


es en realidad (de lo contrario la secuencia de frmulas no sera una demostracin de ).
14 0. Prembulo

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

Sea F un sistema formal y Q una propiedad sobre las frmulas de F.


Para demostrar que todo teorema de F tiene la propiedad Q, basta con:
1. demostrar que cada axioma de F tiene la propiedad Q
2. demostrar que cada regla de inferencia de F es tal que si cada una de sus premisas
tiene la propiedad Q, entonces su conclusin tiene la propiedad Q.

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

Considere el sistema ADD. Una frmula x + y = z de ADD se llama balanceada si y solo


si el nmero de ocurrencias de | en x e y es igual al nmero de ocurrencias de | en z.
Por ejemplo, || + ||| = ||||| es balanceada pero || + | = | no lo es. El objetivo es demostrar que
todo teorema de ADD es balanceado (o, alternativamente, que si es un teorema de ADD,
entonces es balanceada).
Para este fin, sea usa el principio de induccin sobre teoremas (Metateorema 0.14). En
este ejemplo, Q es la propiedad de que una frmula sea balanceada. El nico axioma de
ADD es | + | = ||; esta frmula es balanceada dado que la cantidad de | a la izquierda y a
la derecha de = es 2. Hay dos reglas de inferencia. En este ejemplo se razona sobre R1 y
se deja al lector completar la demostracin para R2. La premisa de R1 es x + y = z; sean
i, j, k N la cantidad de ocurrencias de | en x, y y z, respectivamente. Como hiptesis se
tiene que i + j = k. En la conclusin de R1, el nmero de ocurrencias de | en x| es i + 1 y
en z| es k + 1. Entonces (i + 1) + j = (k + 1) y la conclusin x| + y = z| es balanceada, como
se esperaba.

En el Ejemplo 0.3 se demuestra (usando el principio de induccin sobre teoremas) que


si es un teorema de ADD, entonces es balanceada. Como se justificar en el desarrollo
de este texto, esta conclusin es equivalente a la siguiente afirmacin: si una frmula de
16 0. Prembulo

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

1. Complete el Ejemplo 0.3 con el caso para la regla R2 de ADD.


2. Liste todos los teoremas del siguiente sistema formal:
Lenguaje: hay tres smbolos a, b y c; toda expresin es una frmula.
Axiomas: cabcba.
Reglas de inferencia: hay tres reglas de inferencia:
a) si la frmula comienza con a, agregue cac a la derecha y luego elimine los
primeros tres smbolos de la expresin resultante;
b) si la frmula comienza con b, agregue bab a la derecha y luego elimine los
primeros tres smbolos de la expresin resultante;
c) si la frmula comienza con c, agregue ca a la derecha y luego elimine los
primeros tres smbolos de la expresin resultante.
3. Liste todos los teoremas del siguiente sistema formal:
Lenguaje: hay tres smbolos a, b y c; toda expresin es una frmula.
Axiomas: abccba.
Reglas de inferencia: hay tres reglas de inferencia:
a) si la frmula comienza con a, agregue bab a la derecha y luego elimine los
primeros tres smbolos de la expresin resultante;
b) si la frmula comienza con b, agregue abba a la derecha y luego elimine los
primeros tres smbolos de la expresin resultante;
c) si la frmula comienza con c, agregue ca a la derecha y luego elimine los
primeros tres smbolos de la expresin resultante.
4. Justifique por qu las siguientes frmulas no son teoremas de ADD:
a) | + | = |
b) || + | = ||||
c) | + || = ||||
5. En el Ejemplo 0.3 se demuestra que si una frmula es teorema de ADD, entonces dicha
frmula es balanceada. Demuestre la otra direccin de esta afirmacin: si una frmula
de ADD es balanceada, entonces dicha frmula es teorema de ADD.
6. Proponga un sistema formal MULT que sea similar a ADD pero cuyos teoremas sean
ecuaciones ciertas de la multiplicacin de los nmeros naturales positivos. Demuestre
que la frmula || ||| = |||||| es un teorema de MULT.
0.3. Sistemas formales 17

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.
()

a) Demuestre que las siguientes frmulas son teoremas de PR:


1) ((())())
2) (())()()()
3) ()(()())()
b) Demuestre que todo teorema de PR tiene la propiedad de que la cantidad de
parntesis izquierdos es igual a la cantidad de parntesis derechos.
8. Considere el sistema formal PR0 cuyas frmulas, al igual que en el sistema PR (Ejer-
cicio 7), son cadenas de parntesis bien formadas. De hecho, en PR0 , el lenguaje, el
conjunto de frmulas y el conjunto de axiomas son los mismos de PR. Las reglas de
inferencia de PR0 son las siguientes:


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

The limits of my language means the limits of my


world.
Ludwig Wittgenstein

El propsito de la lgica en informtica es desarrollar lenguajes para especificar (i.e.,


modelar) situaciones reales a la cuales se enfrenta un profesional cuando especifica, anali-
za, disea, construye, prueba, verifica, etc. software, de tal modo que sea posible razonar
formalmente acerca de ellas. En este contexto, razonar significa construir argumentacio-
nes rigurosas sobre las situaciones de tal forma que (i) estos sean vlidos, (ii) se puedan
defender totalmente y, en algunos casos, (iii) puedan ser ejecutados en una mquina.
Considere la argumentacin en el Ejemplo 1.1.

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.

La argumentacin en el Ejemplo 1.1 es justificable dado que si las frases primera


y tercera se analizan en conjunto, estas indican que si no hay taxis, entonces Juan llega
tarde a la reunin. La segunda frase indica que Juan no lleg tarde a la reunin: esto quiere
decir que necesariamente haba taxis en la estacin. Informalmente, una argumentacin es
correcta cuando la frase despus de la palabra consecuentemente debe ser cierta si las
frases que le preceden lo son.
Ahora considere la argumentacin en el Ejemplo 1.2.

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.

La argumentacin en el Ejemplo 1.2 es intuitivamente cierta. Al examinarla con cui-


dado, se puede observar que tiene la misma estructura de la argumentacin en el Ejem-
plo 1.1! Lo que ha sucedido de un ejemplo a otro es que algunas frases y fragmentos han
sido sustituidos:

Ejemplo 1.1 Ejemplo 1.2


el tren est tarde est lloviendo
hay taxis en la estacin Juana tiene una sombrilla a su alcance
Juan llega tarde a la reunin Juana se empapa

Unificando, se puede concluir que la veracidad de las argumentaciones en los ejem-


plos 1.1 y 1.2 puede ser analizada sin referirse a protagonistas especficos como Juan,
Juana, trenes, taxis, sombrillas o lluvia. Esta unificacin puede lograrse de la siguiente
forma:
Si p y no q, entonces r. No r. p. Consecuentemente, q.
Como moraleja, es importante entender que al desarrollar una lgica la principal preocu-
pacin no es saber el significado particular de cada frase sino ms bien aprender sobre
su estructura. Obviamente, al aplicar un razonamiento, como en los casos anteriores, el
significado de cada frase es importante.
Este captulo se ocupa de desarrollar el lenguaje de la lgica proposicional como len-
guaje para especificar. El siguiente captulo explica cundo una especificacin es cierta y
cundo una argumentacin es vlida.

1.1. Proposiciones

Para razonar rigurosamente es indispensable desarrollar un lenguaje que sirva el pro-


psito de especificar afirmaciones de forma tal que su estructura interna sea evidente y
pueda ser analizada sistemticamente. El lenguaje de la lgica proposicional est basa-
do en proposiciones o sentencias declarativas, i.e., afirmaciones o frases con un valor de
verdad asociado.
Ejemplo 1.3

Las siguientes frases son ejemplos de proposiciones:


1. La suma de los nmeros 3 y 5 es 8.
1.1. Proposiciones 23

2. Juana reaccion agresivamente ante las acusaciones de Juan.


3. Todo nmero natural n > 2 par puede expresarse como la suma de dos nmeros pri-
mos.
4. A todo marciano le gusta el calentado con frjoles.
5. Such a good actress, hiding all her pain, trading in memories for fortune and fame.
6. Albert Camus tait un crivain franais.
7. Die Wrde des Menschen ist unantastbar.
8. jIyajbe.

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

Ejemplos de frases que no son proposiciones:


Puede pedir un domicilio?
En sus marcas, listos, fuera.
24 1. Lenguaje y especificacin

Que la fuerza lo acompae.

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.

La lgica matemtica estudia los sistemas formales en relacin con el modo en el


que codifican conceptos intuitivos de objetos matemticos como conjuntos, nmeros,
demostraciones y computacin. La lgica estudia las reglas de deduccin formales,
las capacidades expresivas de los diferentes lenguajes formales y las propiedades
metalgicas de los mismos.
En un nivel elemental, la lgica proporciona reglas y tcnicas para determinar si es o
no vlido un argumento dado dentro de un determinado sistema formal. En un nivel
avanzado, la lgica matemtica se ocupa de la posibilidad de axiomatizar las teoras
matemticas, de clasificar su capacidad expresiva, y desarrollar mtodos computacio-
nales tiles en sistemas formales. La teora de la demostracin y la matemtica in-
versa son dos de los razonamientos ms recientes de la lgica matemtica abstracta.
Debe sealarse que la lgica matemtica se ocupa de sistemas formales que pueden
no ser equivalentes en todos sus aspectos, por lo que la lgica matemtica no es m-
todo de descubrir verdades del mundo fsico real, sino slo una fuente posible de
modelos lgicos aplicables a teoras cientficas, muy especialmente a la matemtica
convencional.
La lgica matemtica no se encarga por otra parte del concepto de razonamiento hu-
mano general o del proceso creativo de construccin de demostraciones matemticas
mediante argumentos rigurosos pero hechas usando lenguaje informal con algunos
signos o diagramas, sino slo de demostraciones y razonamientos que pueden ser
completamente formalizados en todos sus aspectos.
2. 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.

1.2. Lenguaje formal

El lenguaje de la lgica proposicional se describe formalmente en dos fases. Primero,


se define el conjunto de smbolos del lenguaje. Segundo, se define el conjunto de frmulas
que no sern otra cosa que las proposiciones de la lgica.
Definicin 1.2

Los smbolos del lenguaje de la lgica proposicional son:


Una coleccin infinita V de variables proposicionales
p0 , p1 , p2 , . . .
Parntesis izquierdo ( y parntesis derecho ).
Una coleccin de conectivos lgicos
true, false, , , ., , , , .

Las variables proposicionales p0 , p1 , . . . en V representan proposiciones atmicas o


indivisibles, i.e., proposiciones cuya estructura interna no exhibe ningn conectivo lgico.
Al ser infinita, la coleccin de variables proposicionales garantiza que siempre haya smbo-
los suficientes para especificar cualquier proposicin. Los parntesis izquierdo y derecho
26 1. Lenguaje y especificacin

se usan para puntuar y agrupar proposiciones. Los conectivos lgicos reciben los siguientes
nombres y tienen las siguientes interpretaciones intuitivas:

Smbolo Nombre Interpretacin


true verdadero verdad
false falso falsedad
negacin no
equivalencia si y solo si
. discrepancia discrepa de
disyuncin o
conjuncin y
implicacin si , entonces
consecuencia si

Verdadero y falso son constantes (sin argumentos), la negacin es un conectivo unario


(un argumento) y los dems conectivos son binarios (dos argumentos). Los parntesis y
los conectivos lgicos son tambin llamados smbolos lgicos.

Nota 1.3

En las especificaciones y traducciones del castellano al lenguaje de la lgica proposicional,


los smbolos lgicos siempre se interpretarn de la misma forma.

En general, cada una de las variables proposicionales es una frmula de la lgica


proposicional (o proposicin), al igual que las constantes true y false. Adems, una pro-
posicin puede obtenerse negando una proposicin o usando un conectivo lgico binario
para componer dos proposiciones. Los parntesis se usan para puntuar las proposicio-
nes y evitar, por ejemplo, que una proposicin pueda construirse de ms de una forma.
Formalmente, las frmulas de la lgica proposicional (o proposiciones) corresponden a las
cadenas formadas con los smbolos de la lgica proposicional de acuerdo como se describe
en la Definicin 1.2.
1.2. Lenguaje formal 27

Definicin 1.4

Las frmulas de la lgica proposicional (o proposiciones) son aquellas cadenas obtenidas


usando una cantidad finita de veces las siguientes reglas de construccin:
1. Cada variable proposicional es una proposicin.
2. true y false son proposiciones.
3. Si es una proposicin, entonces () es una proposicin.
4. Si y son proposiciones, entonces:
a) ( ) es una proposicin
b) ( . ) es una proposicin
28 1. Lenguaje y especificacin

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

Cada una de las siguientes expresiones es una proposicin:


p4
false
((p1 ) p2 )
((p1 p2 ))
((p1 p2 ) (p6 ))
Por ejemplo, para justificar la ltima expresin: las variables proposicionales p1 , p2 , p6
son proposiciones; entonces (p1 p2 ) y (p6 ) son proposiciones, y consecuentemente
((p1 p2 ) (p6 )) es una proposicin.

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.

La naturaleza inductiva de la Definicin 1.4 directamente abre las puertas a la me-


canizacin algortmica de aspectos relacionados con la sintaxis de las proposiciones. Por
ejemplo, es natural pensar en el diseo recurrente de un algoritmo que dada una expresin
en el lenguaje de la lgica proposicional, determine si esta es una proposicin o no.
Las definiciones inductivas, como la Definicin 1.4, son tan frecuentes en informtica
que existe una notacin especialmente diseada para describirlas de manera abreviada.
Esta notacin es comnmente conocida con el nombre de notacin Backus-Naur (BNF,
del ingls Backus-Naur form). En BNF, la Definicin 1.4 puede escribirse compactamente
como:

::= p | true | false | () | ( ) | ( . ) | ( ) | ( ) | ( ) | ( )

en donde p representa cualquier variable proposicional y cada mencin de a la derecha


de ::= representa cualquier proposicin que ya ha sido construda independientemente de
otras menciones de . La barra | se usa para separar los diferentes casos de construccin
y se lee como o.

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

1. Justifique por qu cada una de las siguientes expresiones es una proposicin:


a) p
b) (true false)
c) (q (q))
d) (p (p (q)))
e) ((((p r))))
f ) ((q (q)) ((((p r)))))
2. Justifique por qu las siguientes expresiones no son proposiciones:
a) (p)
b) (true)
c) p
d) p q r
e) (p q) r
f ) ((p q) (r))
3. Use el lenguaje de la lgica proposicional para especificar las siguientes proposicio-
nes:
a) Un nmero natural es par si y solo si no es impar.
b) Si el sol brilla hoy, entonces no brilla maana.
c) Juan estaba celoso o estaba de mal genio.
d) Si una peticin ocurre, entonces eventualmente ser atendida o el proceso de ho-
rarios se bloquear.
e) Hoy llover o har sol, pero no las dos.
f ) Sin zapatos o camisa no hay servicio en el restaurante.
g) Mi hermana quiere un gato blanco y negro.
h) Mi novia ni raja ni presta el hacha.
4. Considere la siguiente especificacin:
h: El cuarteto interpretar a Haydn.
m: El cuarteto interpretar a Mozart.
1.3. rboles de sintaxis 31

r q

p q true

Figura 1. rbol de sintaxis de (((p q) (true)) (r q)).

Con base en la especificacin anterior, traduzca del lenguaje de la lgica proposicional


al castellano cada una de las siguientes proposiciones procurando que dicha traduccin
sea lo ms cercana posible al lenguaje cotidiano:
a) (h m)
b) (h (m))
c) ((h m))
d) ((h m))
e) ((((h m)) (h)) m)
5. Use el lenguaje de la lgica proposicional para especificar cada una de las siguientes
argumentaciones, inicando claramente en cada caso la especificacin de las variables
proposicionales:
a) Si Pedro entiende matemticas, entonces puede entender lgica. Pedro no entien-
de lgica. Consecuentemente, Pedro no entiende matemticas.
b) Si llueve o cae nieve, entonces no hay electricidad. Llueve. Entonces, no habr
electricidad.
c) Si llueve o cae nieve, entonces no hay electricidad. Hay electricidad. Entonces no
nev.
d) Si sin x es diferenciable, entonces sin x es contnua. Si sin x es contnua, entonces
sin x es diferenciable. La funcin sin x es diferenciable. Consecuentemente, la
funcin sin x es integrable.
e) Si Gdel fuera presidente, entonces el Congreso presentara leyes razonables. G-
del no es presidente. Por lo tanto, el Congreso no presenta leyes razonables.
f ) Si llueve, entonces no hay picnic. Si cae nieve, entonces no hay picinic. Llueve o
cae nieve. Por lo tanto, no hay picnic.

1.3. rboles de sintaxis

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

sintaxis porque su estructura arborescente elimina cualquier ambigueadad posible al repre-


sentar una proposicin. Al escribir una proposicin linealmente, su estructura arborescente
se conserva insertando parntesis que agrupan subproposiciones que corresponden a subr-
boles.
Un rbol de sintaxis tiene como raz (i.e., primer smbolo de arriba a abajo) una va-
riable proposicional o un conectivo lgico. En el primer caso, la variable proposicional es
el nico smbolo que aparece en el rbol. En el caso en que la raz sea el conectivo lgico
, entonces la raz tiene exactamente un subrbol. En cualquier otro caso, la raz tiene
exactamente dos subrboles. En cualquiera de estas situaciones, los subrboles se compor-
tan tal y como se acaba de describir el comportamiento de la raz (este es un ejemplo de
una estructura definida inductivamente).
Pensar acerca de proposiciones usando su representacin en rbol de sintaxis puede ser
til para entender nociones como, por ejemplo, la de subproposicin (o, equivalentemente,
la de subfrmula).

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

Las subproposiciones de (((p q) (true)) (r q)) se listan a continuacin:


p q r
true (p q) (true)
(r q) ((p q) (true))
(((p q) (true)) (r q)).

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

Considere el siguiente rbol de smbolos:


.

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

1. Dibuje el rbol de sintaxis para cada una de las siguientes proposiciones:


a) p
b) true
c) (p r)
d) ((p (q)) r)
e) ((p q) ((p) (q)))
f ) (p (q p))
g) ((p r) (p . q))
h) (((false (r (p s))) (((p q) (r (r))))))
2. Liste todas las subproposiciones de cada una de las siguientes proposiciones:
a) p
b) (p r)
c) ((p (q)) r)
d) ((p q) ((p) (q)))
e) (p (q p))
f ) ((p r) (p q))
g) (((r (r (p s))) (((p q) (r (r))))))
3. Dibuje rbol de sintaxis para cada una de los siguientes casos:
a) Una proposicin que es una negacin de una equivalencia.
b) Una proposicin que es una disyuncin cuyos disyuntos ambos son conjunciones.
c) Una proposicin que es una conjuncin de conjunciones.
d) Una proposicin que es una implicacin cuyo antecedente es una negacin y con-
secuente es una equivalencia.
e) Una proposicin que es una consecuencia cuyo antecedente es una disyuncin y
consecuente una discrepancia.
4. Escriba la proposicin correspondiente al siguiente rbol de sintaxis:

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.

1.4. Induccin sobre proposiciones

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.

Demostracin. Considere la siguiente propiedad para n N:


S (n) : Cualquier proposicin con a lo sumo n conectivos lgicos tiene
la propiedad Q.
La demostracin procede por induccin matemtica sobre n N (Definicin 0.5), supo-
niendo que (1), (2), (3) y (4) son ciertos.
Caso base: Se debe demostrar S (0), es decir, que cualquier proposicin con 0 conectivos
lgicos tiene la propiedad Q. Las nicas proposiciones con 0 conectivos lgicos son
las variables proposicionales que, por la suposicin (1), tienen la propiedad Q.
Caso inductivo: Se supone S (n) (n 0) y se demuestra S (n+1). Suponga que tiene n+
1 conectivos lgicos. Bajo esta suposicin no puede ser una variable proposicional;
entonces, hay 9 casos: que sea de la forma true, false, (), ( ), ( . ), ( ),
( ), ( ) o ( ). Considere el caso en que sea de la forma ( ).
Tanto como tienen una cantidad de conectivos lgicos estrictamente menor que la
cantidad de conectivos lgicos en . Entonces, por la propiedad (4), al suponer S (n),
tiene la propiedad Q. Los dems 8 casos son similares y se proponen como ejercicios
para el lector.
1.4. Induccin sobre proposiciones 35

Entonces, toda proposicin 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

The best lies about me are the ones I told.


Patrick Rothfuss
The Name of the Wind, 2007

En el Captulo 1 se introdujo el lenguaje de la lgica proposicional como un primer


paso hacia la definicin de esta lgica como un sistema formal. Dicha definicin se di
de la mano de interpretaciones intuitivas y coloquiales del significado de los conectivos
lgicos.
Este captulo aborda el estudio formal de la semntica de la lgica proposicional: se-
mntica se refiere al significado matemtico de las proposiciones. El estudio de la semnti-
ca proposicional est basado en funciones Booleanas que, dada una asignacin de valores
de verdad a las variables proposicionales de una proposicin, asignan un nico significado
a dicha proposicin. Las valuaciones se presentan como una herramienta complementaria
a las funciones Booleanas, con la cual es posible razonar con la misma efectividad pe-
ro con la ventaja de que, en algunas ocasiones, permite determinar el significado de una
proposicin sin conocer completamente su estructura sintctica.
La semntica proposicional es una herramienta efectiva para establecer relaciones im-
portantes entre proposiciones. Este captulo muestra cmo la semntica proposicional per-
mite analizar y clasificar las proposiciones de manera general e independientemente del
aparato deductivo que se elija como sistema formal proposicional. Es decir, dependiendo
de la semntica de una proposicin, esta puede ser clasificada y estudiada sistemticamente
sin necesidad usar un aparto deductivo.
Finalmente, la semntica proposicional es usada para determinar cundo una argu-
mentacin, como las de los ejemplos 1.1 y 1.2 en el Captulo 1, es correcta o no. Tambin
se aborda, como caso de estudio, la especificacin y la solucin de cierta clase de acertijos
lgicos usando como herramienta la semntica proposicional.

37
38 2. Semntica

2.1. Funciones Booleanas

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

El conjunto de valores de verdad, o valores Booleanos, se denota como B y est definido


por B = {F, T}.

El smbolo F representa el valor falso (i.e., falsedad) y el smbolo T el valor verdadero


(i.e., veracidad).

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

El conjunto B recibe el nombre de Booleano en honor al matemtico, lgico y filsofo


ingls George Boole (1815-1864), quien fue el precursor de la lgica proposicional al
escribir y publicar el libro Las Leyes del Pensamiento (en ingls The Laws of Thought)
a finales del siglo XIX.

Dado que la interpretacin de un conectivo lgico depende exclusivamente del valor


de verdad de sus operandos, es natural asociar una funcin Booleana a cada uno de los
conectivos lgicos.
2.1. Funciones Booleanas 39

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)).

Una funcin representa una relacin entre un conjunto de valores de entrada y un


conjunto de valores de salida de forma tal que cada valor de entrada est relacionada con
un nico valor de salida.

Definicin 2.5

Sea n N. Una funcin Booleana de n parmetros (o funcin Booleana n-aria) es una


funcin H : Bn B.

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

Sea H : B2 B la funcin Booleana definida por


H(F, F) = H(F, T) = F y H(T, F) = H(T, T) = T.
La funcin H es una funcin Booleana binaria dado que n = 2. La siguiente tabla de verdad
representa a H:
F F F
F T F
T F T
T T T
2.1. Funciones Booleanas 41

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

La funcin Htrue define la interpretacin de true y la funcin Hfalse define la interpretacin


de false:

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

La funcin H define la interpretacin de la negacin:


p (p)
H (F) = T
F T
T F H (T) = F

La frmula (p) es verdadera cuando p es falsa y es falsa cuando p es verdadera. Las


etiquetas en la parte superior de las columnas en la tabla de verdad de la negacin (Defi-
nicin 2.8) no son oficialmente parte de la tabla de verdad: en general, los encabezados se
usan con el propsito de enfatizar o resaltar el efecto que tiene una funcin Booleana sobre
cualquier variable proposicional (no solamente sobre p).
Definicin 2.9

La funcin H define la interpretacin de la equivalencia:


42 2. Semntica

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

Una equivalencia (p q) es verdadera cuando p y q tienen el mismo valor de verdad y es


falsa cuando los valores de verdad son distintos (i.e., opuestos).
Definicin 2.10

La funcin H. define la interpretacin de la discrepancia:


p q (p . q)
F F F
H. (F, F) = H. (T, T) = F
F T T
T F T H. (F, T) = H. (T, F) = T
T T F

Una discrepancia (p . q) es verdadera cuando los valores de verdad de p y q discrepan y


es falsa cuando los valores de verdad son iguales.
Definicin 2.11

La funcin H define la interpretacin de la disyuncin:


p q (p q)
F F F H (F, F) = F
F T T H (F, T) = H (T, F) = H (T, T) = T
T F T
T T T

Una disyuncin (p q) es falsa nicamente cuando los valores de verdad de p y q son


ambos falsos; de cualquier otra forma (p q) es verdadera.
Definicin 2.12

La funcin H define la interpretacin de la conjuncin:


2.1. Funciones Booleanas 43

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

Una conjuncin (p q) es verdadera nicamente cuando los valores de verdad de p y q son


ambos verdaderos; de cualquier otra forma (p q) es falsa.
Definicin 2.13

La funcin H define la interpretacin de la implicacin:


p q (p q)
F F T H (F, F) = H (F, T) = H (T, T) = T
F T T H (T, F) = F
T F F
T T T

Una implicacin (p q) es falsa nicamente cuando el valor del antecedente p es ver-


dadero y el valor del consecuente q es falso (rengln 3 de la tabla de verdad en la Defi-
nicin 2.13). De esta forma, la interpretacin de la implicacin usada en este texto sigue
la tradicin del uso de la implicacin en las matemticas: una expresin de la forma si ,
entonces es verdadera excepto cuando el antecedente es verdadero y el consecuente
es falso.
Nota 2.14

Una expresin de la forma si , entonces puede ser analizada de la siguiente manera:


1. Suponiendo que la proposicin es verdadera.
2. Procediendo a demostrar que la proposicin es necesariamente verdadera.
Una demostracin de este estilo se llama demostracin por suposicin del antecedente y
su objetivo es mostrar que si el antecedente en una implicacin es verdadero, es el ltimo
rengln (i.e., cuarto rengln) de la tabla de verdad de la implicacin el que aplica y no
el tercer rengln (Definicin 2.13). Note que se puede ignorar convenientemente el caso
en que el antecedente es falso (primero y segundo rengln de la tabla de verdad de la
implicacin) porque, de ser as, la implicacin es verdadera sin importar el valor de verdad
del consecuente.
44 2. Semntica

Definicin 2.15

La funcin H define la interpretacin de la consecuencia:


p q (p q)
F F T H (F, F) = H (T, F) = H (T, T) = T
F T F H (F, T) = F
T F T
T T T

Una consecuencia (p q) es falsa nicamente cuando el valor del antecedente q es ver-


dadero y el valor del consecuente p es falso (segundo rengln de la tabla de verdad en
la Definicin 2.15). En este sentido, es conveniente pensar que la consecuencia es una
implicacin escrita de derecha a izquierda.
Un uso frecuente de las funciones Booleanas y de las tablas de verdad es en el anlisis
de proposiciones. La pregunta es: cmo hacerlo? Lo realmente interesante de la forma co-
mo se ha definido la semntica de los conectivos lgicos usando funciones Booleanas, es
que dicha semntica es inherentemente composicional y puede ser mecanizable. Es compo-
sicional porque, por ejemplo, para conocer el valor de verdad de una equivalencia ( )
conocindo los valores de verdad de cada uno de los renglones de y , basta con usar
la funcin H para obtener el valor de verdad de cada uno de los renglones de ( ).
Es mecanizable porque, por ejemplo, recorriendo el rbol de sintaxis de ( ) desde las
hojas (que corresponden a variables proposicionales y a las constantes Booleanas) hacia la
raz, se calculan incrementalmente los valores de y para, finalmente, aplicar la funcin
H con los valores obtenidos. Este anlisis arrojar valores nicos para cada combinacin
de valores de verdad de las variables proposicionales (por qu?).
En el Ejemplo 2.2, observe que las primeras dos columnas sistemticamente listan
todas las posibles combinaciones de los valores de verdad de p y q; la ltima columna
muestra el valor de verdad de ((p q) ((p) q)) para cada una de estas combinacio-
nes. Las columnas 3, 4 y 5 muestran clculos intermedios que dependen de las funciones
Booleanas definidas en esta seccin. Por ejemplo, la columna tres, cuyo encabezado es
(p q), se obtiene usando la funcin Booleana H con parmetros en las columnas 1 y
2.

Ejemplo 2.2

La proposicin
((p q) ((p) q))
2.1. Funciones Booleanas 45

resulta en T para cualquier combinacin de valores de verdad de p y q. La tabla de verdad


que aparece a continuacin se usa para justificar este hecho:
p q (p q) (p) ((p) q) ((p q) ((p) q))
F F T T T T
F T T T T T
T F F F F T
T T T F T T

En general, para una proposicin que menciona variables proposicionales en la lista


p0 , p1 , . . . , pn1 , es posible analizar el valor de verdad de usando las funciones Booleanas
Htrue , Hfalse , H , H , H. , H , H , H , H al asignar valores de verdad a cada una de estas
variables proposicionales. La tabla de verdad de una proposicin como , que menciona n
variables proposicionales, tiene exactamente 2n renglones, uno para cada combinacin de
p0 , p1 , . . . , pn1 . En la prctica, esto limita la efectividad del uso de las tablas de verdad
porque para valores de n relativamente grandes, dibujar la tabla de verdad es humanamente
imposible. Por ejemplo, para diez variables proposicionales (i.e., n = 10), la tabla de verdad
tiene 210 = 1024 renglones. Por estas limitaciones, las tablas de verdad son tiles para
valores de n relativamente pequeos.

Ejercicios

1. Liste todas las funciones Booleanas unarias.


2. Determine el nmero de funciones Booleanas binarias y describa dos que sean dife-
rentes a H , H. , H , H , H y H .
3. Demuestre que H. = H H .
4. Dibuje la tabla de verdad para cada una de las siguientes proposiciones:
a) (true . false)
b) (p (q))
c) (p (q))
d) (p (q))
e) (false p)
f ) ((p q) (q p))
g) ((q (p)))
h) ((true false))
i) ((p q) (q p))
j) ((p q) p)
k) (p (p q))
l) ((p (p q)) (p q))
m) ((p (q r)) ((p q) r))
n) ((p (q r)) ((p q) r))
46 2. Semntica

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


5. Tienen las proposiciones (pq) y ((pq) (p q)) el mismo significado? Justifique
su respuesta.
6. Justifique que la implicacin no es asociativa, es decir, que las proposiciones (p
(q r)) y ((p q) r) no tienen el mismo significado.
7. Dibuje la tabla de verdad de la proposicin que se encuentra en la Figura 1 (Sec-
cin 1.3).
8. Una proposicin se llama tautologa si y solo si todos los renglones de su tabla de
verdad resultan en T y se llama contradiccin si y solo si todos los renglones resultan
en F. Proponga una proposicin que no sea tautologa ni contradiccin y dibuje su
tabla de verdad.
9. Una relacin binaria sobre B es un subconjunto del conjunto
B2 = {(T, T), (T, F), (F, T), (F, F)}.
A un conectivo lgico binario de la lgica proposicional puede asociarse una rela-
cin binaria R de la siguiente manera:
R = {(x, y) B2 | H (x, y) = T}.
En otras palabras, R es el conjunto de parejas en B2 que hacen verdaero a .
a) Escriba las relaciones R , R. , R , R , R y R .
b) Investigue y escriba definiciones que permitan identificar cundo una relacin
binaria es:
asociativa
conmutativa
reflexiva
irreflexiva
asimtrica
antisimtrica
idempotente
transitiva
c) Clasifique las relaciones R , R. , R , R , R y R de acuerdo con la lista de
propiedades del numeral anterior.
10. Considere un conectivo lgico binario ? cuya interpretacin est dada por la funcin
Booleana H? : B2 B definida de la siguiente manera:
H? (F, F) = T y H? (F, T) = H? (T, F) = H? (T, T) = F.
a) Proponga una proposicin que defina ? en trminos de los conectivos lgicos
{true, false, , , ., , , , }.
b) Encuentre una proposicin que nicamente mencione la variable proposicional p
y el conectivo ?, y que tenga la misma tabla de verdad de (p).
c) Encuentre una proposicin que nicamente mencione las variables proposiciona-
les p, q y el conectivo ?, y que tenga la misma tabla de verdad de (p q).
d) Justifique o refute:
1) ? es asociativo
2) ? es conmutativo
3) ? es reflexivo
4) ? es irreflexivo
2.1. Funciones Booleanas 47

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:

H (F, F) = H (F, T) = H (T, F) = T y H (T, T) = F.

a) Proponga una proposicin que defina en trminos de los conectivos lgicos


{true, false, , , ., , , , }.
b) Encuentre una proposicin que nicamente mencione la variable proposicional p
y el conectivo , y que tenga la misma tabla de verdad de (p).
c) Encuentre una proposicin que nicamente mencione las variables proposiciona-
les p, q y el conectivo , y que tenga la misma tabla de verdad de (p q).
d) Justifique o refute:
1) es asociativo
2) es conmutativo
3) es reflexivo
4) es irreflexivo
5) es asimtrico
6) es antisimtrico
7) es idempotente
8) es transitivo
12. Considere un conectivo lgico binario cuya interpretacin est dada por la funcin
Booleana H : B B B definida de la siguiente manera:

H (F, F) = H (T, F) = H (T, T) = F y H (F, T) = T.

a) Proponga una proposicin que defina en trminos de los conectivos lgicos


{true, false, , , ., , , , }.
b) Justifique o refute:
1) es asociativo
2) es conmutativo
3) es reflexivo
4) es irreflexivo
5) es asimtrico
6) es antisimtrico
7) es idempotente
8) es transitivo
13. Considere cuatro cartas que muestran la siguiente informacin:

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

Las valuaciones ofrecen un mecanismo complementario al de las funciones Boolea-


nas (Seccin 2.1) para analizar el significado de las proposiciones. Una valuacin es una
funcin que asocia un valor de verdad a una proposicin dependiendo del valor de verdad
de cada una de las variables proposicionales que la conforman. Formalmente, una valua-
cin es una funcin sobre las variables proposicionales que se extiende unvocamente a
proposiciones con ayuda de las funciones Booleanas. Es as como una valuacin es una
herramienta que simplifica el uso de las funciones Booleanas para estudiar el significa-
do de las proposiciones. En algunas ocasiones, y a diferencia de las funciones Booleanas,
las valuaciones permiten adems determinar el significado de una proposicin sin conocer
completamente su estructura sintctica.
2.2. Valuaciones 49

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}.

Una valuacin asigna valores de verdad a todas las variables proposicionales.


Nota 2.17

Se usarn letras minsculas en negrilla para denotar valuaciones.

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

Sea v una valuacin. La extensin de v, denotada como v, se define inductivamente para


toda proposicin de la siguiente forma:
1. v(p) = v(p)
2. v(true) = Htrue ()
3. v(false) = Hfalse ()
4. v(()) = H (v())
5. v(( )) = H (v(), v())
6. v(( . )) = H. (v(), v())
7. v(( )) = H (v(), v())
8. v(( )) = H (v(), v())
9. v(( )) = H (v(), v())
10. v(( )) = H (v(), v())

En la Definicin 2.18 se establece que una valuacin y su extensin coinciden en las


variables proposicionales (caso (1)). Los dems casos en esta definicin corresponden a
formulaciones inductivas que se obtienen a partir del significado dado por las funciones
Booleanas a cada uno de los conectivos lgicos.
50 2. Semntica

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.

El Metateorema 2.19, que se presenta a continuacin, justifica la afirmacin hecha


inicialmente en esta seccin acerca de que una valuacin (en realidad, su extensin), al
igual que las funciones Booleanas, permite asociar un valor de verdad a una proposicin.
Metateorema 2.19

Si v es una valuacin, entonces v es una funcin con dominio en el conjunto de proposi-


ciones T (V) y rango en los Booleanos B (i.e., v : T (V) B).

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

Sea una proposicin y v, w valuaciones. Si v y w coinciden en todas las variables propo-


sicionales que aparecen en , entonces
v() = w().

Demostracin. Considere la siguiente propiedad M para cualquier proposicin :


M() : v() = w()
El objetivo es demostrar que si v y w coinciden en todas las variables proposicionales que
aparecen en , entonces tiene la propiedad M. Suponga que v y w coinciden en todas las
variables proposicionales que aparecen en . La demostracin de que tiene la propiedad
M 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) = w(p) = w(p),
dado que v y w coinciden en cualquier variable proposicional en .
Por su parte, si es una constante, entonces:
v(true) = Htrue () = w(true),
v(false) = Hfalse () = w(false).
52 2. Semntica

Caso inductivo: Hay 7 casos: que sea de la forma (), ( ), ( . ), ( ),


( ), ( ) o ( ). Si es de la forma () y tiene la propiedad M,
entonces:
v(()) = H (v())
= H (w()) (hiptesis inductiva)
= w(()).
Si es de la forma ( ) y tanto como tienen la propiedad M, entonces:
v(( )) = H (v(), v())
= H (w(), w()) (hiptesis inductiva dos veces)
= w(( )).
Los casos en que es de la forma ( . ), ( ), ( ), ( ) o ( ) son
similares y se proponen como ejercicios para el lector.
En cualquiera de los tres casos v() = w(), como se desea. 

Nota 2.22

Para simplificar la escritura de la extensin v de una valuacin v, se adopta la convencin


de referirse a dicha extensin como una valuacin y denotarla como v. Es decir, intencio-
nalmente se evita distinguir entre una valuacin y su extensin.
Adems, dada una lista p0 , p1 , . . . , pn1 de variables proposicionales, se usar la ex-
presin
{p0 7 val0 , p1 7 val1 , . . . , pn1 7 valn1 , . . .}
para denotar una valuacin que asigna los valores Booleanos val0 a p0 , val1 a p1 , y
valn1 a pn1 . Con esta notacin se est ignorando intencionalmente el valor asignado a
aquellas variables proposicionales que no aparecen en la lista dada.

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

Sean y proposiciones, y v una valuacin de y . Entonces:


1. v(()) = F si y solo si v() = T; v(()) = T si y solo si v() = F.
2. v(( )) = T si y solo si v() = v(); de lo contrario v(( )) = F.
3. v(( . )) = T si y solo si v() , v(); de lo contrario v(( . )) = F.
4. v(( )) = F si y solo si v() = v() = F; de lo contrario v(( )) = T.
2.2. Valuaciones 53

5. v(( )) = T si y solo si v() = v() = T; de lo contrario v(( )) = F.


6. v(( )) = F si y solo si v() = T y v() = F; de lo contrario v(( )) = T.
7. v(( )) = F si y solo si v() = F y v() = T; de lo contrario v(( )) = T.

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. 

El Metateorema 2.23 indica que el smbolo se interpreta como un no, el smbolo


se interpreta como un igual, el smbolo . se interpreta como un diferente, el smbolo
se interpreta como un o, el smbolo se interpreta como un y, el smbolo se interpreta
como un condicional y el smbolo se interpreta como una consecuencia.
Algunas expresiones que aparecen en el Metateorema 2.23 usan el castellano y no ex-
clusivamente smbolos del sistema formal proposicional. La expresin si y solo si que
aparece en el Metateorema 2.23 es una metaequivalencia: tiene dos operandos y es verdad
nicamente cuando los dos operandos coinciden en sus valores de verdad. Note que su in-
terpreacin es similar a la de la equivalencia lgica. Sin embargo, no es el mismo operador:
el si y solo si tiene como operandos expresiones que no hacen parte del lenguaje de la
lgica proposicional.

Nota 2.24

El operador si y solo si en algunas ocasiones se abrevia como sii.

A continuacin se presentan ejemplos que ilustran el uso del Metateorema 2.23. En


el Ejemplo 2.4 se analiza la semntica de una proposicin de la cual se conoce en detalle
su estructura sintctica. En el Ejemplo 2.5 se hace el mismo ejercicio con una proposicin
que tiene la misma estructura sintctica, pero de manera ms general (i.e., desconociendo
algunos detalles de su sintaxis). En este sentido, el resultado presentado en el Ejemplo 2.5
subsume aquel presentado en el Ejemplo 2.4.
54 2. Semntica

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

Se demostrar que v((( ) (() ))) = T para cualquier valuacin v y proposicio-


nes y . Por el Metateorema 2.23 se tiene:
v(( )) = F sii v() = T y v() = F (caso )
sii v(()) = F y v() = F (caso )
sii v((() )) = F (caso ).
De estos clculos se concluye que sin importar qu valuacin se escoja ni qu variables
proposicionales aparecen en y , las proposiciones ( ) y (() ) tienen el mismo
valor de verdad, es decir, significan lo mismo.

Ejercicios

1. Considere la proposicin representada por el siguiente rbol de sintaxis:

q r p

p q q

a) Proponga una valuacin v tal que v() = T.


b) Proponga una valuacin w tal que w() = F.
2.3. Clasificacin de proposiciones 55

2. Considere valuaciones v y w tales que


v = {p 7 T, q 7 F, r 7 F, . . .} y w = {p 7 T, q 7 F, r 7 T, . . .}.
Demuestre v((p (q))) = w((p (q))).
3. Complete la demostracin del caso inductivo para el Metateorema 2.19.
4. Complete la demostracin del Metateorema 2.23 con los casos (3)-(7).
5. Demuestre que v() , v(()) para cualquier valuacin v.
6. Demuestre que v(( )) = T para cualquier valuacin v.
7. Demuestre que v(( ())) = F para cualquier valuacin v.
8. Demuestre que v(( ())) = T para cualquier valuacin v.
9. Demuestre que v(( ())) = F para cualquier valuacin v.

2.3. Clasificacin de proposiciones

Como se observ en la Seccin 2.2, el valor de verdad de una proposicin es relativo


a una valuacin (o rengln en su tabla de verdad) dado que bajo dos valuaciones distintas
este valor puede ser distinto. Esta seccin presenta terminologa que permite clasificar las
proposiciones de acuerdo con el comportamiento de sus valores de verdad con respecto a
todas las valuaciones (o renglones en sus tabla de verdad). Esta clasificacin ayudar, por
ejemplo, a analizar sistemticamente algunos aspectos de la semntica proposicional y a
justificar algunas decisiones de diseo que se toman en el sistema formal proposicional
que se definir en captulos posteriores.
Considere inicialmente la proposicin
el agua moja
que es verdadera por virtud de un hecho de la naturaleza; pueda que esta proposicin sea
falsa en otro mundo o realidad. A su vez, la proposicin
el agua moja o no moja
es cierta por virtud de su estructura interna y, en particular, por el significado de la dis-
yuncin y la negacin. Esta segunda proposicin es cierta en cualquier mundo o realidad,
y para el objeto de la clasificacin propuesta en esta seccin, corresponde a una tautolo-
ga, i.e., a una proposicin cuyo valor de verdad es verdadero con respecto a cualquier
valuacin.
Definicin 2.25

Una proposicin es una tautologa, escrito |= , si y solo si v() = T para cualquier


valuacin v.

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

de sus conectivos lgicos, y resulta entonces que su interpretacin es independiente de la


interpretacin de sus variables. Anlogamente, una proposicin es una tautologa cuando
todos los renglones de su tabla de verdad resultan en T.

Ejemplo 2.6

A continuacin se muestra que, para cualquier proposicin , se tiene


|= ( ()).
Sea v una valuacin; considere los siguientes clculos:
v(( ())) = T sii v() = T o v(()) = T
sii v() = T o v() = F,
lo cual es trivialmente cierto dado que el rango de v es B (Metateorema 2.19). Dado que v
es cualquier valuacin, se concluye |= ( ()).

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.

Demostracin. El algoritmo requerido construye la tabla de verdad para la proposicin


dada y responde afirmativamente sii todos los renglones resultan en T (de lo contrario,
responde negativamente). 

Nota 2.27

Gracias al Metateorema 2.26, se dice que la lgica proposicional es decidible.

Hay proposiciones que no son tautologas. Por ejemplo, la proposicin p evala a T


bajo una valuacin {p 7 T, . . .}, pero evala a F bajo una valuacin {p 7 F, . . .}. La Defini-
cin 2.28 presenta dos conceptos adicionales al de tatutologa para clasificar proposiciones,
completando as la clasificacin propuesta en esta seccin.
2.3. Clasificacin de proposiciones 57

Definicin 2.28

Sea una proposicin. Se dice que:


1. es satisfacible si y solo si hay una valuacin v tal que v() = T.
2. es insatisfacible (o una contradiccin) si y solo si cualquier valuacin v es tal que
v() = F.

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

Para cualquier proposicin , la expresin


6|=
denota que no es una tautologa.

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

Las siguientes dos afirmaciones son ciertas:


58 2. Semntica

1. Hay un algoritmo que, dada cualquier proposicin de la lgica proposicional, decide


si esta es satisfacible o no.
2. Hay un algoritmo que, dada cualquier proposicin de la lgica proposicional, decide
si esta es insatisfacible o no.

Demostracin. La demostracin de la existencia de cada uno de los dos algoritmos puede,


por ejemplo, usar el algoritmo construdo en la demostracin del Metateorema 2.26. El
detalle de los dos algoritmos se propone como ejercicio para el lector. 

Finalmente, se usa la nocin de tautologa para definir los conceptos de equivalencia


semntica e implicacin semntica, comnmente usados en informtica y matemticas.

Definicin 2.31

Sean y proposiciones. Se dice que:


1. y son lgicamente equivalentes si y solo si |= ( ).
2. implica lgicamente a si y solo si |= ( ).

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

Las proposiciones (p q) y (q p) son lgicamente equivalentes, al igual que las pro-


posiciones (p (q r)) y ((p q) r). La proposicin (p q) implica lgicamente
a p. Sin embargo, las proposiciones p y q no son lgicamente equivalentes ni p implica
lgicamente a (p q) (por qu?).
2.3. Clasificacin de proposiciones 59

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

g) tiene a como nico conectivo lgico.


h) tiene a como nico conectivo lgico.
7. Demuestre para cualesquiera proposiciones , , :
a) |= ( ) si y solo si |= ( ) y |= ( ).
b) Si |= ( ) y |= ( ), entonces |= ( ).
c) Si |= ( ) y |= , entonces |= .
8. Demuestre para cualesquiera proposiciones , , :
a) Si |= ( ) y |= ( ), entonces |= ( ).
b) Si |= ( ) y |= , entonces |= .
c) Si |= ( ) y |= ( ), entonces |= ( ).
d) Si |= ( ) y |= ( ), entonces |= ( ).
9. Demuestre para cualquier proposicin :
a) es insatisfacible si y solo si |= ( false).
b) es insatisfacible si y solo si |= ().
10. Demuestre o refute para cualesquiera proposiciones y :
a) |= ( ) si y solo si |= y |= .
b) |= ( ) si y solo si |= y |= .
11. Demuestre o refute para cualquier proposicin :
a) Si |= , entonces es satisfacible.
b) Si es satisfacible, entonces |= .
12. Demuestre o refute para cualquier proposicin :
a) Si 6|= , entonces es insatisfacible.
b) Si es insatisfacible, entonces 6|= .

2.4. Consecuencia tautolgica y argumentaciones

Esta seccin introduce el concepto de consecuencia tautolgica como herramienta para


asociar una semntica precisa al significado de una argumentacin, como aquellas en los
ejemplos 1.1 y 1.2 al inicio del Captulo 1. El concepto de consecuencia tautolgica puede
entenderse como una generalizacin del concepto de tautologa (Seccin 2.3) en donde el
valor de verdad de una proposicin ahora se hace relativo a un conjunto de proposiciones
dado.
Para el propsito de presentar el concepto de consecuencia tautolgica, es necesario
generalizar los conceptos de satisfacibilidad e insatisfacibilidad para que ahora sean rela-
tivos a un conjunto de proposiciones.
Definicin 2.32

Sea un conjunto de proposiciones. Se dice que:


1. es satisfacible si y solo si hay una valuacin v tal que v() = T para toda ; en
este caso tambin se dice que v satisface a (o que v es un modelo de ).
2.4. Consecuencia tautolgica y argumentaciones 61

2. es insatisfacible si y solo si no hay una valuacin v tal que v() = T para toda .

Ejemplo 2.9

El conjunto {p, q} es satisfacible, mientras que el conjunto {p, (p)} es insatisfacible.

Como se adelant al inicio de esta seccin, el concepto de consecuencia tautolgica


puede entenderse como una generalizacin del concepto de tautologa en donde el valor
de verdad de una proposicin se hace relativo a un conjunto de proposiciones . En
una consecuencia tautolgica, el conjunto juega el papel de filtro de tal manera que
nicamente se tengan en cuenta las valuaciones que satisfacen cuando se analice el valor
de verdad de . Esto permite ser ms generales en la tarea de asignar un valor de verdad a
una proposicin.

Definicin 2.33

Sea una proposicin y un conjunto de proposiciones. Se dice que es una consecuencia


tautolgica de (o, alternativamente, tautolgicamente implica , escrito |= , si y solo
si cualquier valuacin que satisface a tambin satisface a .

En una consecuencia tautolgica |= (Definicin 2.33), cuando es el conjunto vaco


(i.e., = {}), entonces la proposicin es necesariamente una tautologa y, conveniente-
mente, {} |= se abrevia como |= .
Note que hay dos casos en los cuales se puede establecer trivialmente |= . Uno de
ellos cuando el conjunto de proposiciones es insatisfacible porque no existe valuacin
alguna que falsifique y, a la vez, satisfaga . El segundo cuando es una tautologa
porque sin importar si una valuacin satisface o no a , esta valuacin satisface a .

Metateorema 2.34

Sean una proposicin y un conjunto de proposiciones:


1. Si es insatisfacible, entonces |= .
2. Si |= , entonces |= .

Demostracin. Las demostraciones se proponen como ejercicio para el lector. 


62 2. Semntica

En el caso general cuando es satisfacible y no es una tautologa, para establecer


|= se debe tomar cualquier valuacin que satisfaga a y demostrar que esta satisface a
. De alguna forma, el conjunto puede verse como un mecanismo que permite filtrar va-
luaciones y fijarse nicamente en algunas de ellas (precisamente en aquellas que satisfacen
a ) para determinar el valor de verdad de (relativo a ).

Nota 2.35

Para establecer |= cuando es satisfacible y no es una tautologa, se puede proceder


de cualquiera de las siguientes maneras:
1. Suponer que hay una valuacin v que satisface a y demostrar que v() = T.
2. Demostrar que cualquier valuacin v tal que v() = F es tal que esta no satisface a .

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

Para una proposicin y un conjunto de proposiciones, la expresin


6|=
denota que no es una consecuencia tautolgica de (o que no implica tautolgicamente
). Esto quiere decir que hay al menos una valuacin v que cumple v() = F y que satisface
a .

A diferencia de una demostracin de |= que involucra a toda valuacin, para


demostrar que no es una consecuencia tautolgica de (i.e., 6|= ) basta con encontrar
al menos una valuacin que satisfaga y que no satisfaga a . En otras palabras, basta
con encontrar un testigo de la afirmacin no toda valuacin que satisface es tal que
tambin satisface a , lo cual corresponde a la negacin de la definicin de consecuencia
tautolgica (Definicin 2.33), como se propone en la Nota 2.36.
2.4. Consecuencia tautolgica y argumentaciones 63

Nota 2.37

Para justificar 6|= cuando es satisfacible y no es una tautologa, se puede proceder


de cualquiera de las siguientes maneras:
1. Proponer una valuacin v que satisfaga a y establecer v() = F.
2. Proponer una valuacin v tal que v() = F y establecer que v satisface a .

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

Sea una proposicin y = {1 , 2 , . . . , n } un conjunto de proposiciones, para algn


n N. Las siguientes dos afirmaciones son equivalentes:
1. |= (1 (2 ( (n ) )))
2. |=

Demostracin. Se puede obtener una demostracin por induccin sobre n N, la cual se


propone como ejercicio para el lector. 

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

Considere el 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.
Usando la simbolizacin:
p: el tren llega tarde
q: hay taxis en la estacin
r: Juan llega tarde a la reunin
el Ejemplo 1.1 puede especificarse (o ser traducido) al lenguaje de la lgica proposicional
con la siguiente lista de proposiciones:
((p (q)) r), (r), p, q.

La lista de proposiciones obtenida al final del Ejemplo 2.12 recibe el nombre de forma
de argumentacin (o argumentacin).

Definicin 2.39

Una argumentacin es una secuencia no vaca de proposiciones. En una argumentacin,


todas las proposiciones con excepcin de la ltima reciben el nombre de hiptesis, mientras
que la ltima proposicin recibe el nombre de conclusin.

Finalmente, se define cundo una argumentacin es vlida o invlida, es decir, se


establece una semntica formal para las argumentaciones.

Definicin 2.40

Sea 1 , . . . , n , una argumentacin:


1. Se dice que 1 , . . . , n , es vlida si y solo si es una consecuencia tautolgica de
{1 , . . . , n }, i.e., {1 , . . . , n } |= .
2. De lo contrario se dice que 1 , . . . , n , es invlida, i.e., cuando {1 , . . . , n } 6|= .
2.4. Consecuencia tautolgica y argumentaciones 65

Ejemplo 2.13

Se demuestra que la siguiente argumentacin, correspondiente al Ejemplo 2.12, es vlida:


((p (q)) r), (r), p, q.
Por la Definicin 2.40, se debe demostrar
{((p (q)) r), (r), p} |= q.
Sea v una valuacin tal que:
(1) v(((p (q)) r)) = T, (2) v((r)) = T, (3) v(p) = T.
El objetivo es demostrar v(q) = T. De (2) se tiene que v(r) = F. Esto, junto con (1), indica
que v((p (q))) = F. Por (3), se tiene necesariamente que v((q)) = F, es decir, v(q) = T
y se concluye que la argumentacin es vlida.

Una demostracin alternativa a la presentada en el Ejemplo 2.13, usando el Metateo-


rema 2.38, se propone como ejercicio para el lector.
Ejemplo 2.14

Considere la siguiente argumentacin:


((p q)), (p), q.
Para demostrar que es invlida, basta con encontrar una valuacin que satisfaga a {((p
q)), (p)} y que falsifique a q. Basta con tomar v = {p 7 F, q 7 F} y notar que:
v(((p q))) = v((p)) = T pero v(q) = F.

Ejercicios

1. Demuestre para cualesquiera proposiciones , , :


a) {} |= .
b) {(( ))} |= .
c) {} |= ( ).
d) {( ), (() )} |= ( ).
2. Demuestre el Metateorema 2.34.1.
3. Demuestre el Metateorema 2.34.2.
4. Demuestre el Metateorema 2.38.
5. Proponga una demostracin del Ejemplo 2.13 que use directamente el Metateore-
ma 2.38.
6. Sean un conjunto de proposiciones y , proposiciones. Demuestre o refute:
a) |= ( ) si y solo si |= o |= .
b) |= ( ) si y solo si |= y |= .
66 2. Semntica

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 , ()

es vlida? Justifique su respuesta.

2.5. La isla de caballeros y escuderos

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.

2.5.1. Especificacin. La especificacin de un acertijo de la isla de caballeros y


escuderos consiste en establecer proposiciones que representen afirmaciones hechas por
los habitantes de la isla. Por convencin, los habitantes de la isla son identificados con las
letras maysculas A, B, . . . , Z.

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?

El Ejemplo 2.15 presenta un acertijo prototpico de la isla de caballeros y escuderos. Este


acertijo involucra a dos isleos llamados A y B, y pregunta por la posibilidad de determi-
nar sus naturalezas. Dado que nicamente hay dos posibles naturalezas para cada habitante
de la isla, la naturaleza de una habitante se modela con una variable proposicional.

Nota 2.42

Si la variable proposicional p modela la naturaleza del isleo P, la asignacin p 7 T indica


que P dice la verdad (i.e., P es caballero) y la asignacin p 7 F indica que P miente (i.e.,
P es escudero).

Bajo la convencin en la Nota 2.42, especificar afirmaciones de la forma el habitante


P es caballero y el habitante P es escuedo es directo: la primera afirmacin se especifica
con la proposicin p y la segunda afirmacin con la proposicin (p). Para el primer caso,
la justificacin es que si la afirmacin el habitante P es caballero es cierta, entonces
p debe ser asignado T; conversamente, si p es asignado T, entonces la afirmacin P es
caballero debe ser cierta. Para el segundo caso, la justificacin es que si la afirmacin el
habitante P es escudero, entonces p debe ser asignado F; conversamente, si p es asignado
F, entonces la afirmacin P es escudero debe ser cierta. Note que por convencin, la
naturaleza de una habitante de la isla est siendo modelada con la variable proposicional
correspondiente a la versin minscula de su nombre.
68 2. Semntica

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))).

En el Ejemplo 2.17 se establece que


A dice: al menos uno de nosotros es escudero
se especifica con la proposicin
(a ((a) (b))).
Observe cmo la estructura de la afirmacin es similar a la de la proposicin: el fragmento
A dice: . . . es especificado con el patrn a . . .. Esto corresponde al hecho de que
la naturaleza de A es consistente con el valor de verdad de lo que dice, como se explic
anteriormente.

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.

El anlisis en el Ejemplo 2.18 se hace por casos sobre la naturaleza de A. Inicialmente, se


explora la posibilidad de que A sea caballero, concluyendo entonces que B es escudero.
Posteriormente, se explora la posibilidad de que A sea escudero, concluyendo que esta
situacin es imposible. Resumiendo, solo hay una posibilidad y entonces las naturalezas
de A y B se pueden determinar unvocamente: 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.

2.5.4. Anlisis con argumentaciones. Finalmente, se presenta como tercera op-


cin, una forma de analizar acertijos de la isla de caballeros y escuderos con ayuda de
70 2. Semntica

argumentaciones. Esta forma de anlisis, consiste en especificar un acertijo como una ar-
gumentacin de la forma

1 , . . . , n , ,

en donde 1 , . . . , n son proposiciones que especifican informacin suministrada en el


enunciado del acertijo y es una proposicin incgnita. Con este enfoque, el objetivo
es despejar buscando proposiciones que suministren informacin sobre la naturaleza
de los habitantes de la isla involucrados en el acertijo. Por ejemplo, si 1 , . . . , n son las
hiptesis de la argumentacin y se quiere averigar si el habitante P puede ser caballero,
basta con encontrar una valuacin v tal que v(p) = T y v satisfaga {1 , . . . , n } (i.e., basta
con determinar si {1 , . . . , n , p} es satisfacible). Coversamente, si se quiere averigar si el
habitante P puede ser escudero, basta con encontrar una valuacin w tal que w(p) = F y w
satisfaga {1 , . . . , n } (i.e., basta con determinar si {1 , . . . , n , (p)} es satisfacible). En el
primer caso, de ser factible, se establece que la situacin descrita por el acertijo es posible
cuando P es caballero. Similarmente y de ser factible, en el segundo caso se establece que
la situacin descrita por el acertijo es posible cuando P es escudero. Luego, si exactamen-
te uno de los dos casos es factible para P, entonces se ha determinado unvocamente la
naturaleza de P.
Ejemplo 2.20

En esta ocasin, tres habitantes de la isla, llamados A, B y C, estn siendo entrevistados.


Se emiten las siguientes afirmaciones:
A dice: B es caballero.
B dice: Si A es caballero, entonces tambin lo es C.
El objetivo es determinar las naturalezas de A, B y C.
Solucin. Inicialmente se especifican las afirmaciones hechas por A y B con las siguientes
proposiciones:
(a b)
(b (a c))
Para saber si A puede ser caballero, se trata de encontrar una valuacin v tal que v(a) = T
y v satisfaga las hiptesis {(a b), (b (a c))}. En este caso, v = {a 7 T, b 7
T, c 7 T, . . .} sirve como testigo. Entonces, A puede ser caballero y, adems, tambin B y
C pueden ser caballeros.
Para saber si A puede ser escudero, se busca una valuacin w tal que w(a) = F y w satis-
faga las hiptesis. Note que dicha valuacin no existe porque, por la primera suposicin,
necesariamente w(b) = F y por la segunda suposicin, independientemente del valor de c,
se tiene H (F, T) = T, lo cual es imposible. Entonces, A no puede ser escudero.
Se ha establecido que A es caballero. Por la primera suposicin, las naturalezas de A y
B son las mismas, entonces B tambin es caballero. Dado que A y B son caballeros, de
la segunda suposicin se tiene que C no puede ser escudero, es decir, C es caballero. En
conclusin, A, B y C son caballeros.
2.5. La isla de caballeros y escuderos 71

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

Este captulo desarrolla algunas herramientas que permiten la manipulacin, cons-


truccin y anlisis de proposiciones, adems de propiedades de expresividad de algunos
conectivos lgicos. La finalidad de este captulo es brindar un compendio de herramien-
tas tiles para los captulos posteriores, especficamente para la formulacin del sistema
formal para la lgica proposicional de Dijkstra y Scholten en el captulo 4.

3.1. Sustitucin textual

La sustitucin textual es un mecanismo que permite usar la estructura sintctica de una


proposicin para obtener otra proposin. Por ejemplo, a partir de la proposicion (p q) se
puede obtener la proposicin ((p r) q) al sustituir en la primera proposicin la variable
proposicional p por la proposicin (p q). Esta seccin presenta el concepto de sustitucin
textual y lo ilustra con algunos ejemplos.
La sustitucin textual se define con base en el concepto de sustitucin.

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

Sea una proposicin y F una sustitucin. La sustitucin textual de F en , denotada como


F(), se define inductivamente para toda subproposicin de de la siguiente forma:
1. F(p) = F(p)
2. F(true) = true
3. F(false) = false
4. F(()) = (F())
5. F(( )) = (F() F()), si {, ., , , , }.

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

Considere la sustitucin F = {p 7 (p false), r 7 true, s 7 q}:


F(((p q) . (r))) = (F((p q)) . F((r))) (caso .)
= ((F(p) F(q)) . F((r))) (caso )
= (((p false) F(q)) . F((r))) (caso p {p, r, s})
= (((p false) q) . F((r))) (caso q < {p, r, s})
= (((p false) q) . (F(r))) (caso )
= (((p false) q) . (true)) (caso r {p, r, s}).

La extensin F de una sustitucin F es una funcin del conjunto de proposiciones en


si mismo.

Metateorema 3.4

Si F una sustitucin, entonces F es una funcin con dominio y rango en el conjunto de


proposiciones (i.e., F : T (V) T (V)).

Demostracin. Esta demostracin se propone como ejercicio para el lector y se sugiere


usar como gua la demostracin del Metateorema 2.19. 

Nota 3.5

Para simplificar la escritura de la extensin F de una sustitucin F, se adopta la convencin


de referirse a dicha extensin como una sustitucin y denotarla como F. Tambin, si
es una proposicin y F es una sustitucin {q0 7 0 , . . . , qn 7 n }, entonces F() puede
escribirse como
q0 , . . . , qn := 0 , . . . , n .
 

Ejercicios

1. Considere la sustitucin F = {p 7 (p q), q 7 (r s), r 7 false}. Proponga


tres formas distintas de escribir F, sin tener en cuenta el orden en que se escriben los
elementos de la sustitucin.
76 3. Herramientas proposicionales

2. Considere la sustitucin F = {p 7 (p q), q 7 (r s), r 7 false}. Determine la


proposicin correspondiente a la sustitucin textual de F en cada una de las siguientes
proposiciones:
a) p
b) (p r)
c) ((p (q)) r)
d) ((p q) ((p) (q)))
e) (p (q p))
f ) ((p r) (p q))
g) (((r (r (p s))) (((p q) (r (r))))))
3. Para cada una de las siguientes proposiciones encuentre una sustitucin F tal que la
proposicin resultante de la sustitucin textual bajo F sea una tautologa:
a) p
b) (p r)
c) ((p (q)) r)
d) ((p q) ((p) (q)))
e) (p (q p))
f ) ((p r) (p q))
g) (((r (r (p s))) (((p q) (r (r))))))
4. Demuestre el Metateorema 3.4.
5. Para cada uno de los siguientes casos encuentre proposiciones concretas , , tales
que:
a) ( q := ) p := , ( p := ) q := .
     
b) p, q := , , ( p := ) q := .
    

6. Sean p, q, r variables proposicionales distintas y , , proposiciones tales que r no


aparece en ni en . Demuestre que si = q := r , entonces:
 

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.

3.2. Instanciacin de variables proposicionales

La instanciacin proposicional consiste en la sustitucin textual de una variable pro-


posicional en una proposicin. Como tal, la instanciacin proposicional preserva algunas
propiedades de la proposicin original como, por ejemplo, el hecho de ser tautologa. Por
ello, la instanciacin proposicional puede ser una herramienta til en la tarea, por ejemplo,
de analizar semnticamente las proposiciones.
Antes de presentar el resultado principal de la seccin es necesario presentar un resul-
tado tcnico que relaciona valuaciones y sustituciones. El Lema 3.6 presenta este resultado
3.2. Instanciacin de variables proposicionales 77

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().
 

Demostracin. Considere la valuacin w definida para cualquier variable proposicional q


de la siguiente manera:
v() , si q = p
(
w(q) =
v(q) , si q , p.
Considere la siguiente propiedad S sobre proposiciones:
S () : v( p := ) = w().
 

Se procede a demostrar S () por induccin sobre la complejidad de .


Caso base: Si es una variable proposicional, esta puede ser p o no serlo. Si es p note
que v(p p := ) = v() = w(p). Si no es p, por ejemplo q, note que v(q p := ) =
   
v(q) = w(q). Los casos en que es true o false se proponen como ejercicio para el
lector.
Caso inductivo: Suponga que 0 y 1 tienen la propiedad S (i.e., 0 y 1 son tales que
v(0 p := ) = w(0 ) y v(1 p := ) = w(1 )).
   
Si es de la forma (0 ):
v((0 ) p := ) = v((0 p := ))
   
(sustitucin textual)
= H (v(0 p := ))
 
(aplicacin v)
= H (w(0 )) (hiptesis inductiva)
= w((0 )) (aplicacin de w).
Si es de la forma (0 1 ) para {, ., , , , }:
v((0 1 ) p := ) = v((0 p := 1 p := ))
     
(sustitucin textual)
= H (v(0 p := ), v(1 p := )) (aplicacin de v)
   

= H (w(0 ), w(1 )) (hiptesis inductivas)


= w((0 1 )) (aplicacin de w).
Por el principio de induccin matemtica para proposiciones (Metateorema 1.7) se con-
cluye que cualquier proposicin tiene la propiedad S . Luego, la valuacin w es tal que
satisface la condicin del enunciado. 

Una propiedad interesante de la instanciacin proposicional es que preserva la validez


proposicional, es decir, cualquier instancia de una tautologa tambin es una tautologa.
Esta propiedad semntica de la lgica proposicional se presenta en el Metateorema 3.7.
78 3. Herramientas proposicionales

Metateorema 3.7

Sean p una variable proposicional y , proposiciones. Si |= , entonces |= p := .


 

Demostracin. Suponga |= , i.e., es una tautologa. Si p := no es una tautologa,


 
entonces hay una valuacin v tal que v( p := ) = F. Por el Lema 3.6, hay una valuacin
 
w tal que w() = F, pero esto no es posible porque se supuso que es tautologa. Por tanto,
no hay tal valuacin v que falsifique a p := cuando es tautologa, i.e., p := es
   
una tautologa cuando lo es. 

El Metateorema 3.7 brinda la posibilidad de analizar cualquier proposicin por medio


de tablas de verdad, algo que hasta este momento no es posible. En particular, para saber
si una proposicin es tautologa, basta con encontrar una proposicin concreta (i.e.,
que mencione nicamente variables proposicionales y conectivos lgicos) tal que sea
p := (i.e., = p := ) para alguna proposicin . Dado que es una proposicin
   
concreta, es posible analizarla, por ejemplo, con tablas de verdad.
Ejemplo 3.2

Considere la proposicin (()). Como (p(p)) es tautologa y se tiene que (()) =


(p (p)) p := , por el Metateorema 3.7 se concluye |= ( ()).
 

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

Considere la proposicin (( ) (() )). En este ejemplo se establece que esta


proposicin es una tautologa, de forma alternativa a lo presentado en el Ejemplo 2.5. Tome
dos variables proposicionales p y q tales que: q sea distinta a p y no aparezca en ni en .
Note entonces que
(( ) (() )) = ((p q) ((p) q)) p := q := .
  

Por los ejemplos 2.2 y 2.4 se sabe que


|= ((p q) ((p) q)).
Consecuentemente, por el Metateorema 3.7
|= ((p q) ((p) q)) p :=
 

y finalmente
|= ((p q) ((p) q)) p := q := .
  

Es decir, |= (( ) (() )).


3.3. Reemplazo de iguales por iguales 79

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

1. Proponga una proposicin tal que p := = para cualesquiera variable proposi-


 
cional p y proposicin .
2. Complete el caso base en la demostracin del Lema 3.6 para los casos en que sea
true y sea false.
3. Justifique por qu |= (p (p)).
4. Sean p una variable proposicional, , proposiciones y un conjunto de proposicio-
nes. Demuestre o refute:
a) Si |= , entonces |= p := .
 
b) Si |= , entonces |= p := , en donde = { p := | }.
   

5. Sean p una variable proposicional y , proposiciones. Demuestre o refute:


a) Si es satisfacible, entonces p := es satisfacible.
 
b) Si es insatisfacible, entonces p := es insatisfacible.
 
c) Si p := es satisfacible, entonces es satisfacible.
 
d) Si p := es insatisfacible, entonces es insatisfacible.
 

6. Sean p0 , . . . , pn variables proposicionales, , 0 , . . . , n proposiciones y v una valua-


cin. Demuestre que hay una valuacin w tal que
v( p0 , . . . , pn := 0 , . . . , n ) = w().
 

Ayuda: use el Ejercicio 3.1.6.


7. Sean p0 , . . . , pn variables proposicionales, , 0 , . . . , n proposiciones. Demuestre: si
|= , entonces |= p0 , . . . , pn := 0 , . . . , n . Ayuda: use el Ejercicio 6.
 

8. Considere la siguiente afirmacin hecha en el Ejemplo 3.3:


Tome dos variables proposicionales p y q tales que: q sea distinta a p y esta
no aparezca en ni en .
Con base en esta afirmacin:
a) Explique por qu es posible encontrar variables proposicionales p y q bajo las
condiciones dadas.
b) Suponga que p y q son tales que satisfacen las condiciones en la afirmacin ante-
rior, excepto que q puede aparecer en o en . Explique por qu, en cualquiera
de estos casos, la siguiente igualdad puede fallar:
(( ) (() )) = ((p q) ((p) q)) p := q := .
  

3.3. Reemplazo de iguales por iguales

Esta seccin presenta dos nociones complementarias de reemplazo de iguales por


iguales para la lgica proposicional, como herramientas para analizar el significado de
las proposiciones. En la ciencia, la igualdad (palabra que proviene del griego equalis) es
80 3. Herramientas proposicionales

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.

3.3.1. Ecuanimidad. La primera forma de reemplazar iguales por iguales est


basada en el hecho de que cuando una proposicin es verdadera y esta es indistiguible
(con respecto a la igualdad lgica) de una segunda proposicin, entonces debe ser correcto
afirmar que esta segunda proposicin tambin es cierta. El Metateorema 3.8 presenta esta
primera nocin de reemplazo de iguales por iguales en el caso general cuando la igualdad
entre proposiciones es relativa a un conjunto de proposiciones dado.
Metateorema 3.8

Sean un conjunto de proposiciones y , proposiciones. Si |= y |= ( ),


entonces |= .

Demostracin. Suponga |= y |= ( ). Sea v una valuacin. Si v no satisface ,


entonces la demostracin es trivialmente cierta. Ahora, si v satisface , entonces se debe
demostrar v() = T. Si v satisface , se tiene que v() = T y v(( )) = T por las
suposiciones. Note que v(( )) = T sii v() = v() y como v() = T, se concluye
v() = T. Luego, es consecuencia tautolgica de bajo las suposiciones dadas. 

A continuacin se presenta un ejemplo ilustrando el uso del Metateorema 3.8.


Ejemplo 3.4

Considere dos proposiciones y . Note que:


1. {()} |= (() ).
2. |= ((() ) ( )).
De (2) y del Metateorema 2.34.2, se sigue {()} |= ((() ) ( )). Entonces, del
Metateorema 3.8 se sigue {()} |= ( ) lo cual indica, intuitivamente, que cualquier
implicacin es cierta cuando su antecedente no lo es.

En el caso particular cuando es el conjunto vaco en el Metateorema 3.8, la nocin


de consecuencia tautolgica se especializa a aquella de tautologa. Note que si una pro-
posicin es una tautologa, entonces cualquier proposicin lgicamente equivalente a ella
necesariamente es una tautologa.
3.3. Reemplazo de iguales por iguales 81

Corolario 3.9

Sean y proposiciones. Si |= y |= ( ), entonces |= .

Demostracin. La demostracin se propone como ejercicio para el lector. 

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

Sean un conjunto de proposiciones, , , proposiciones y p una variable proposicional.


Si |= ( ), entonces |= ( p := p := ).
   

Demostracin. Suponga |= ( ). Sea v una valuacin y considere la siguiente pro-


piedad S sobre proposiciones :

S () : v( p := = v( p := ).
   

Suponiendo que v satisface , se procede a demostrar S () por induccin sobre la comple-


jidad de .
Caso base: Se propone como ejercicio para el lector.
Caso inductivo: Suponga que 0 y 1 tienen la propiedad S .
Si es de la forma (0 ) p := :
 

v((0 ) p := ) = H (v(0 p := ))
   
(aplicacin de v)
= H (v(0 p := ))
 
(hiptesis inductiva)
= v((0 ) p := )
 
(aplicacin de v).

El caso en que es de la forma (0 1 ), con {, ., , , , }, se propone


como ejercicio para el lector.
Por el principio de induccin matemtica para proposiciones (Metateorema 1.7) se con-
cluye que cualquier proposicin tiene la propiedad S . Luego, si |= ( ), entonces
|= ( p := p := ).
   


A continuacin se ilustra el uso del Metateorema 3.10 con un ejemplo.


82 3. Herramientas proposicionales

Ejemplo 3.5

Considere dos proposiciones y . Se desea demostrar que si |= ( ), entonces


|= (() ()). Esta conclusin se obtiene directamente del Metateorema 3.10 toman-
do = {} y = (p) para alguna variable proposicional p: si |= ( ), entonces
|= ((p) p := (p) p := ) o, alternativamente, |= (() ()).
   

El Corolario 3.11 presenta la nocin de reemplazo de iguales por iguales de Leibniz


en el caso cuando el conjunto de suposiciones en 3.10 es vaco.
Corolario 3.11

Sean , , proposiciones y p una variable proposicional. Si |= ( ), entonces


|= ( p := p := ).
   

Demostracin. La demostracin se propone como ejercicio para el lector. 

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 ).
   

9. Sean p una variable proposicional y , , proposiciones. Demuestre o refute: si |=


( p := p := ), entonces |= ( ).
   

3.4. Operatorias proposicionales

Una operatoria es la operacin iterada de un conectivo binario sobre una secuencia


finita de expresiones. En el caso de una operatoria proposicional, los conectivos lgicos
binarios son los conectivos binarios y las proposiciones son las expresiones.
3.4. Operatorias proposicionales 83

A continuacin se presenta la definicin inductiva de la funcin oper, la cual permite


la definicin de cualquier operatoria proposicional.

Definicin 3.12

Sea una secuencia de proposiciones 0 , . . . , n para n N, un conectivo lgico binario


y m N. La m-operatoria de sobre , denotada oper(, , m), se define inductivamente
sobre m de la siguiente manera:
, si m = 0

0


oper(, , m) = si 0 < m n

(oper(, , m 1) m ) ,
, si m > n.

oper(, , m 1)

Note que en la Definicin 3.12, la secuencia = 0 , . . . , n no puede ser vaca porque


n 0. El primer caso de la definicin de oper corresponde al caso base de la definicin
inductiva: una operatoria sobre una secuencia con una nica proposicin es la proposicin
misma. Los siguientes dos casos corresponden a los casos inductivos de la definicin. El
primero de ellos define el caso en que hay suficientes proposiciones en para operar
exactamente m veces (m n), mientras que el segundo de ellos define el caso en el cual
no ha suficientes proposiciones (m > n). Este ltimo caso resulta en una operatoria similar
en donde se opera con menos proposiciones. Finalmente, note que la definicin de oper
asocia las proposiciones resultantes hacia la izquierda, lo cual debe tenerse especialmente
en cuenta cuando no es asociativo.

Ejemplo 3.6

Sean 0 = (true p), 1 = q y 2 = (q (r s)), y tome = 0 , 1 , 2 . Entonces se


tiene que:
oper(, , 3) = oper(, , 2) (Caso 2)
= (oper(, , 1) (q (r s))) (Caso 1)
= ((oper(, , 0) q) (q (r s))) (Caso 1)
= (((true p) q) (q (r s))) (Caso 0).

A continuacin se establece que la expresin obtenida con una operatoria proposicio-


nal es una proposicin.

Lema 3.13

Sea una secuencia de n N proposiciones, un conectivo lgico binario y m N. La


expresin oper(, , m) es una proposicin.
84 3. Herramientas proposicionales

Demostracin. Se procede por induccin sobre m N:

Caso base: Si m = 0, entonces oper(, , 0) = 0 , que es una proposicin.


Caso inductivo: suponga que la propiedad vale para m con el objetivo de demostrar
que vale para m + 1. Si 0 < m + 1 n, entonces

oper(, , m + 1) = (oper(, , m) m+1 )

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.

Por el principio de induccin matemtica se concluye que oper(, , m) es una proposi-


cin. 

La Definicin 3.14 introduce los conceptos de disyuntoria y conjuntoria, comnmen-


te usados en el desarrollo tradicional de la lgica, con base en la nocin de operatoria
proposicional.

Definicin 3.14

Sea = 0 , . . . , n una secuencia de proposiciones:


1. La disyuntoria sobre es la proposicin oper(, , n), abreviada i .
Wn
i=0
2. La conjuntoria sobre es la proposicin oper(, , n), abreviada i .
Vn
i=0

A continuacin se presentan algunos resultados sobre la semntica de algunas opera-


torias proposicionales.

Metateorema 3.15

Sean 0 , . . . , n proposiciones y v una valuacin. Las siguientes afirmaciones son ciertas:


W   
1. v ni=0 i = T sii v j = T para algn 0 j n.
W   
2. v ni=0 i = F sii v j = F para cada 0 j n.
V   
3. v ni=0 i = T sii v j = T para cada 0 j n.
V   
4. v ni=0 i = F sii v j = F para algn 0 j n.

Demostracin. Se propone como ejercicio para el lector. 


3.4. Operatorias proposicionales 85

Metateorema 3.16

Sean 0 , . . . , n proposiciones:
1. |= (( ni=0 i ) ni=0 (i )).
W V

2. |= (( i=0 i ) ni=0 (i )).


Vn W

Demostracin. Se propone como ejercicio para el lector. 

Ejercicios

1. Demuestre el Metateorema 3.15.1.


2. Demuestre el Metateorema 3.15.2.
3. Demuestre el Metateorema 3.15.3.
4. Demuestre el Metateorema 3.15.4.
5. Demuestre el Metateorema 3.16.1.
6. Demuestre el Metateorema 3.16.2.
7. Sean = 0 , . . . , n una secuencia de proposiciones y v una valuacin. Demuestre o
refute:  
a) v (oper(, , n)) = T sii v j = T para algn 0 j n.
 
b) v (oper(, , n)) = T sii v j = T para cada 0 j n.
 
c) v (oper(, , n)) = F sii v j = F para algn 0 j n.
 
d) v (oper(, , n)) = F sii v j = F para cada 0 j n.
8. Sean 0 , . . . , n proposiciones. Demuestre:
a) |= ( ni=0 i j ), para cada 0 j n.
V
b) |= ( j ni=0 i ), para cada 0 j n.
W
c) |= ( i=0 i ni=0 i ).
Vn W

9. Sean 0 , . . . , n , 0 , . . . , n proposiciones. Demuestre:


a) |= ( ni=0 (i i ) ( ni=0 i ni=0 i )).
W W W
b) |= ( i=0 (i i ) ( i=0 i ni=0 i )).
Vn Vn V
c) Si = {(0 0 ), . . . , (n n )}, entonces:
1) |= ( ni=0 i ni=0 i ).
W W
2) |= ( i=0 i ni=0 i ).
Vn V

10. Sean = 0 , . . . , n una secuencia de proposiciones y m N tal que m n. Demues-


tre:
a) Si m es par, entonces |= (oper(, , m) oper(, ., m)).
b) Si m es impar, entonces |= (oper(, , m) (oper(, ., m))).
Captulo 4

El sistema de Dijkstra y
Scholten

La nica forma de rectificar nuestros razonamien-


tos es hacindolos tan tangibles como aquellos de
los Matemticos, de forma tal que sea posible en-
contrar nuestros errores cuanto antes y cuando haya
disputas entre personas podamos simplemente de-
cir: calculemus, sin mayor reparo, para determinar
quin est en lo correcto.
G. W. Leibniz
The Art of Discovery, 1685

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.

4.1. El sistema formal DS

El lenguaje formal del sistema DS corresponde al lenguaje de la lgica proposicional


propuesto en la Definicin 1.2 (Seccin 1.2). Este lenguaje incluye una cantidad infinita
de variables proposicionales p0 , p1 , . . ., usa parntesis para puntuar expresiones y cuenta
con nueve conectivos lgicos: dos constantes (true y false), un conectivo unario () y
seis conectivos binarios (, ., , , y ). Las frmulas del sistema DS son llamadas
proposiciones y siguen la Definicin 1.4 (Seccin 1.2) o, equivalentemente, la siguiente
BNF:

::= p | true | false | () | ( ) | ( . ) | ( ) | ( )


| ( ) | ( )

en donde p representa cualquier variable proposicional y cualquier proposicin.

Nota 4.1

Recuerde, de la Definicin 1.4, que la expresin V denota el conjunto de variables pro-


posicionales de DS y la expresin T (V) el conjunto de proposiciones de DS. Tambin
recuerde que V es un subconjunto propio de T (V), escrito V ( T (V).

A continuacin se define el conjunto de axiomas de DS.


4.1. El sistema formal DS 89

Definicin 4.2

Sean , , proposiciones de DS. El conjunto de axiomas de DS est dado por el siguiente


esquema axiomtico:
(Ax1): (( ( )) (( ) ))
(Ax2): (( ) ( ))
90 4. El sistema de Dijkstra y Scholten

(Ax3): (( true) )
(Ax4): (( ( )) (( ) ))
(Ax5): (( ) ( ))
(Ax6): (( false) )
(Ax7): (( ) )
(Ax8): (( ( )) (( ) ( )))

De acuerdo con la Definicin 4.2, la equivalencia es asociativa (Ax1), conmutativa (Ax2)


y tiene elemento identidad true (Ax3). Anlogamente, la disyuncin es asociativa (Ax4),
conmutativa (Ax5) y tiene elemento identidad false (Ax6). Adems, la disyuncin es idem-
potente (Ax7) y distribuye sobre la equivalencia (Ax8). La definicin de los axiomas de
DS omite axiomas que mencionen explcitamente negaciones, discrepancias, conjuncio-
nes, implicaciones y consecuencias. Esto es algo deliberado: como se aprender en las si-
guientes secciones, estos operadores pueden definirse usando los operadores true, false,
y , los nicos hasta ahora mecionados por los axiomas de DS.
Nota 4.3

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.

A continuacin se define el conjunto de reglas de inferencia de DS.


Definicin 4.4

Sean p una variable proposicional y , , proposiciones. Las reglas de inferencia de DS


son:

( ) ( )
Ecuanimidad  Leibniz.
( p := p := )
  

El sistema DS cuenta con dos reglas de inferencia. La regla Ecuanimidad representa el


hecho de que si hay un teorema en DS, digamos , y se puede demostrar en DS que
es equivalente a , entonces necesariamente es un teorema de DS. La regla Leibniz
determina que al hacer cambio de iguales por iguales en una proposicin, las proposiciones
4.1. El sistema formal DS 91

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 .
   

Habiendo completado la definicin del sistema DS, la definicin de demostracin en


DS y de la relacin `DS de demostrabiliad en DS son heredadas automticamente de la
Definicin 0.10 (Seccin 0.3).
Nota 4.5

Una demostracin de una proposicin en DS es una secuencia no vaca de proposiciones


tales que es la ltima proposicin en la secuencia y para cualquier proposicin en la
secuencia, al menos una de las siguientes dos condiciones es cierta: es un axioma o es la
conclusin de una regla de inferencia cuyas premisas aparecen en la secuencia antes que
. Una proposicin es teorema de DS, escrito `DS , sii hay una demostracin de en
DS.

A continuacin se presentan algunos teoremas de DS relacionados con la equivalencia


lgica.
Teorema 4.6

Para cualquier proposicin :


1. `DS true.
2. `DS (( ) true).
3. `DS ( ).

Demostracin. A continuacin se presenta una demostracin para (1):


1. (((true true) true) (true true)) (Ax3)
2. ((true true) true) (Ax3)
3. (true true) (Ecuanimidad 2 y 1)
4. true (Ecuanimidad 3 y 2).
A continuacin se presenta una demostracin para (2):
1. (( true) ) (Ax3)
2. ((( true) ) ( ( true))) (Ax2)
3. ( ( true)) (Ecuanimidad 1 y 2)
4. (( ( true)) (( ) true)) (Ax1)
5. (( ) true) (Ecuanimidad 3 y 4).
La demostracin de (3) se propone como ejercicio para el lector. 
92 4. El sistema de Dijkstra y Scholten

El Teorema 4.6.1 establece un hecho altamente deseable de un sistema lgico: que la


verdad es teorema. El Teorema 4.6.2, visto de izquierda a derecha, indica que cualquier
equivalencia cuyos operandos sean iguales puede ser reducida a la expresin true. Final-
mente, el Teorema 4.6.3 indica que la equivalencia es reflexiva.

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 |= ( ).

4.2. Propiedades estructurales de la equivalencia

El sistema DS basa su poder deductivo, en gran medida, en las propiedades de la equi-


valencia que pueden ser usadas para aplicar las reglas de inferencia Ecuanimidad y Leibniz.
La equivalencia lgica cuenta con otras propiedades que pueden ser tiles como mecanis-
mo deductivo en DS. Esta seccin introduce nuevas reglas de inferencia para DS, todas
ellas relacionadas con propiedades deductivas de la equivalencia, las cuales se pueden de-
rivar de los axiomas y las reglas de inferencia de DS. En este sentido, dado que las nuevas
reglas de inferencia pueden ser derivadas, estas no agregan nuevo poder deductivo a DS; es
decir, estas nuevas reglas de inferencia pueden verse como macros que pueden ahorrar
esfuerzo en la tarea de demostracin de teoremas de DS. En consecuencia, el conjunto de
teoremas de DS no cambia al agregar las reglas de inferencia presentadas en esta seccin.
Inicialmente se establecen algunas propiedades que permiten usar las reglas de infe-
rencia de DS con ms libertad.
Metateorema 4.7

Sean , , proposiciones. Las siguientes afirmaciones sobre DS son ciertas:


1. Si `DS y `DS ( ), entonces `DS .
2. Si `DS ( ), entonces `DS ( p := p := ).
   

Demostracin. A continuacin se presenta una demostracin de (1); establecer la pro-


piedad (2) se propone como ejercicio para el lector. Suponga que 0 , . . . , n es una de-
mostracin de y que 0 , . . . , m es una demostracin de ( ). Note que n = y
4.2. Propiedades estructurales de la equivalencia 93

m = ( ). El objetivo es encontrar una demostracin de en DS. La idea es combinar


las demostraciones de y ( ) de la siguiente manera:
0. 0 ( )
.. .. ..
. . .
n. ( )
n + 1. 0 ( )
.. .. ..
. . .
n + m. ( ) ( )
n + m + 1. (( ) ( )) (Ax2)
n + m + 2. ( ) (Ecuanimidad n + m y n + m + 1)
n + m + 3. (Ecuanimidad n y n + m + 2).
Se concluye que si `DS y `DS ( ), entonces `DS . 

Nota 4.8

La expresin correccin de una regla de inferencia en el contexto de un sistema for-


mal quiere decir que si las premisas de una regla de inferencia son teoremas, entonces su
conclusin tambin debe ser teorema.

Nota 4.9

El Metateorema 4.7 justifica la correccin de las siguientes reglas de inferencia:


( ) ( )
Ecuanimidad*  Leibniz*
( p := p := )
  

A continuacin se presentan las propiedades de transitividad e identidad de la equiva-


lencia.
Metateorema 4.10

Sean , , proposiciones. La siguientes afirmaciones sobre DS son ciertas:


1. Si `DS ( ) y `DS ( ), entonces `DS ( ).
2. `DS sii `DS ( true).

Demostracin. Las demostraciones se proponen como ejercicio para el lector. 


94 4. El sistema de Dijkstra y Scholten

Nota 4.11

El Metateorema 4.10 justifica la correccin de las siguientes reglas de inferencia:

( ) ( )
Transitividad
( )
( true)
Identidad Identidad
( true)

Finalmente, el Metateorema 4.12 establece algunas propiedades estructurales de la


equivalencia.

Metateorema 4.12

Sean , , proposiciones. Las siguientes afirmaciones sobre DS son ciertas:


1. `DS ( ( )) si y solo si `DS (( ) ).
2. `DS ( ) si y solo si `DS ( ).

Demostracin. A continuacin se presenta una demostracin de (1); establecer la propie-


dad (2) se propone como ejercicio para el lector. La propiedad (1) en palabras:

En DS, hay una demostracin de ( ( )) si y solo si hay una demostracin


de (( ) ).

La demostracin se obtiene por doble implicacin.

Suponga que hay una demostracin 0 , . . . , n con n = ( ( )). El objetivo es


exhibir una demostracin de (( ) ):

0. 0 ( )

n. ( ( )) ( )
n + 1. (( ( )) (( ) )) (Ax1)
n + 2. (( ) ) (Ecuanimidad n y n + 1).
4.2. Propiedades estructurales de la equivalencia 95

Suponga que hay una demostracin 0 , . . . , n con n = (( ) ). El objetivo es


exhibir una demostracin de ( ( )):
0. 0 ( )

n. (( ) ) ( )
n + 1. (( ( )) (( ) )) (Ax2)
n + 2. ( ( )) (Ecuanimidad* n y n + 1).


Nota 4.13

El Metateorema 4.12 justifica la correccin de las siguientes reglas de inferencia:

( ( )) (( ) )
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

1. Demuestre el Metateorema 4.7.2.


2. Demuestre:
a) El Metateorema 4.10.1.
b) El Metateorema 4.10.2.
3. Demuestre el Metateorema 4.12.2.
4. Utilice las reglas de inferencia introducidas en esta seccin para simplificar las demos-
traciones presentadas en la Seccin 4.1.
5. Sean y proposiciones. Demuestre o refute:
a) Si `DS y `DS , entonces `DS ( ).
b) Si `DS ( ), entonces `DS y `DS .
6. Sean y proposiciones. Demuestre:
a) Si es un axioma, entonces `DS p := .
 
b) Si `DS , entonces `DS p := .
 
96 4. El sistema de Dijkstra y Scholten

4.3. La negacin y la discrepancia

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

Sean y proposiciones DS. Los siguientes axiomas de DS definen la negacin y la


discrepancia:
(Ax9): (() ( false))
(Ax10): (( . ) (() ))

La negacin es por naturaleza el operador de complemento de la lgica. La discrepancia


es el operador opuesto de la equivalencia. En DS se modela el complemento lgico de una
proposicin haciendo esta equivalente a false (Ax9). La discrepancia, al ser el inverso de
la equivalencia, se puede definir al negar uno de sus operandos (Ax10). Como se ver ms
adelante en esta seccin por medio de un teorema, no importa cul de los dos operandos se
niegue en la definicin de . pues las dos proposiciones resultantes son equivalentes.
A continuacin se presentan algunas propiedades de la negacin.

Teorema 4.15

Para cualesquiera proposiciones y de DS:


1. `DS (false (true))
2. `DS ((false) true)
3. `DS (false)
4. `DS ((( )) (() ))
5. `DS ((() ) ( ()))
6. `DS ((()) )
7. `DS (( ()) false)

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

el Teorema 4.15.7 caracteriza la contradiccin lgica en trminos de la equivalencia y la


negacin. A continuacin se presentan demostraciones de algunos de estos teoremas.

Demostracin. Para (1):


1. ((true) (true false)) (Ax9)
2. (((true) true) false) (Asociatividad 1)
3. (false ((true) true)) (Conmutatividad 2)
4. (((true) true) (true)) (Ax3)
5. (false (true)) (Transitividad 3,4).
Para (2):
1. ((false) (false false)) (Ax9)
2. ((false false) true) (Teorema 4.6.2 con = false)
3. ((false) true) (Transitividad 1,2).
Para (4):
1. ((( )) (( ) false)) (Ax9)
2. (( ) ( )) (Ax2)
3. ((( ) false) (( ) false)) (Leibniz 2)
4. ((( ) false) ( ( false))) (Ax1)
5. (() ( false)) (Ax9)
6. (( ( false)) ( ())) (Leibniz* 5)
7. (( ()) (() )) (Ax2)
8. ((( )) (() )) (Transitividad 1,3,4,6,7).
Finalmente, para (6):
1. ((()) (() false)) (Ax9)
2. ((() false) ( (false))) (Teorema 4.15.5)
3. ((false) true) (Teorema 4.15.2)
4. (( (false)) ( true)) (Leibniz 3)
5. ((()) ( true)) (Transitividad 1,2,4)
6. (((()) ) true) (Asociatividad 5)
7. ((()) ) (Identidad 6).

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

La demostracin presentada del Teorema 4.15.2 no es precisamente una demostra-


cin en el sentido estricto de la definicin de DS. En particular, el rengln 2 viola la
definicin de demostracin porque la proposicin que all aparece no es una axioma
ni tampoco se obtiene usando una regla de inferencia con premisas que previamente
aparecen en dicha demostracin. Sin embargo, usar teoremas en los renglones de una
demostracin es una libertad que se permite para simplicar el trabajo deductivo. Estas
simplificaciones son aceptadas bajo el siguiente acuerdo: dicho teorema debe ser an-
terior y estar demostrado; adems se debe indicar cmo reemplazar las proposiciones
del teorema usado en la proposicin que aparece en la demostracin actual. El efec-
to formal de esta convencin es el de copiar y pegar una demostracin del teorema
usado en la demostracin actual con las proposiciones reemplazadas adecuadamente.
Por ejemplo, en el rengln 2 de la demostracin del Teorema 4.15.2, se usa el Teore-
ma 4.6.2 (i.e, (( ) true)) en donde se reemplaza con false. Recuerde que toda
instancia de un axioma es un axioma. Tambin, toda instancia de un teorema es a su
vez un teorema (Ejercicio 1, Seccin 4.1).
La regla Leibniz se utiliza en el rengln 3 de la demostracin del Teorema 4.15.4. Note
que esta deduccin corresponde a la siguiente inferencia:

(( ) ( ))
 Leibniz
((p false) p := ( ) (p false) p := ( ) )
  

Finalmente, observe que la regla Transitividad es usada en varias de las demostracio-


nes. En particular, se usa en el rengln 8 de la demostracin del Teorema 4.15.4 con
la explicacin Transitividad 1,3,4,6,7. Esta es una convenicin para usar la transiti-
vidad de la equivalencia en cadena o cascada (i.e., transitivamente). Por ejemplo, la
secuencia 1,3,4,6,7 en dicha leyenda indica que se aplica Transitividad con premi-
sas en los renglones 1 y 3, la proposicin resultante se usa como premisa junto con la
proposicin en el rengln 4 para otra vez aplicar la regla, y as sucesivamente.

La discrepancia es un operador muy conocido y usado en informtica, pero bajo otro


nombre: xor. Su interpretacin es la de o exclusivo. En el lenguaje cotidiano, la discre-
pancia elimina la ambiguedad de la disyuncin cuando se desea enunciar una situacin en
la cual exactamente uno de sus operandos es cierto (pero no ambos). En informtica, ms
precisamente en criptografa, la discrepancia es utilizada para obtener un simple pero efec-
tivo mtodo de ciframiento y desciframiento conocido como ciframiento xor (en ingls,
xor cypher). Este mtodo est basado en el hecho de que la discrepancia puede interpre-
tarse como la suma de bits modulo 2 en donde true corresponde a 1 y false corresponde a
0: 0 + 0 = 0 = 1 + 1 y 0 + 1 = 1 = 1 + 0. El uso de la discrepancia en criptografa se ilustra
con un ejemplo al final de esta seccin.
A continuacin se presentan algunas propiedades de la discrepancia.
4.3. La negacin y la discrepancia 99

Teorema 4.16

Para cualesquiera proposiciones , y de DS:


100 4. El sistema de Dijkstra y Scholten

1. `DS (( . ( . )) (( . ) . ))
2. `DS (( . ) ( . ))
3. `DS (( . false) )
4. `DS (( . ) false)
5. `DS ((( . ) . ) )

La discrepancia es asociativa, conmutativa y tiene elemento identidad false (teoremas 4.16.1-


3). La discrepancia es irreflexiva (Teorema 4.16.4) y acepta una ley de cancelacin (Teore-
ma 4.16.5). A continuacin se presentan demostraciones de algunos de estos teoremas.

Demostracin. Para (4):


1. (( . ) (() )) (Ax10)
2. ((() ) ( ())) (Ax2)
3. (( ()) false) (Teorema 4.15.7)
4. (( . ) false) (Transitividad 1,2,3).
Demostraciones para los dems teoremas se proponen como ejercicios para el lector. 

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.

A continuacin se presenta un ejemplo que ilustra paso a paso el proceso de ciframien-


to y desciframiento de texto basado en la discrepancia.
Ejemplo 4.1

Este ejemplo est basado en material disponible pblicamente en Wikipedia. La cadena de


texto Wiki, representada en cdigo ASCII de 8 bits como
01010111 01101001 01101011 01101001,
4.3. La negacin y la discrepancia 101

puede ser cifrada con repeticiones de la llave 11110011 de la siguiente forma:


01010111 01101001 01101011 01101001
. 11110011 11110011 11110011 11110011
10100100 10011010 10011000 10011010.
Para revertir el proceso se repite la misma operacin bit a bit usando como operandos el
texto cifrado y la llave de ciframiento originalmente usada:
10100100 10011010 10011000 10011010
. 11110011 11110011 11110011 11110011
01010111 01101001 01101011 01101001.
Fjese que, al usar ciframiento basado en la discrepancia, la seguridad se preserva mientras
la llave no sea comprometida. Por ejemplo, si se usa una llave de ciframiento buena y esta
se pierde, es prcticamente imposible recuperar el texto original a partir del texto cifrado
(vea los ejercicios 13 y 14 al final de esta seccin).

Nota 4.17

El ciframiento basado en xor es muy usado gracias a su simplicidad y facilidad de imple-


mentacin. La siguiente funcin xor_cypher en el lenguaje de programacin Python 3,
cifra una cadena de texto con una llave (tambin representada como cadena) usando xor
con el mtodo descrito anteriormente:
1 def xor_cypher(text, key):
2 """xor de las cadenas text y key; se supone que
3 len(text)<=len(key)"""
4 return .join(chr(ord(a)^ord(b)) for a,b in zip(text,key))

Ejercicios

1. Demuestre que el axioma (Ax9) es una tautologa.


2. Demuestre que el axioma (Ax10) es una tautologa.
3. Ilustre con una inferencia el uso de la regla Leibniz* en el rengln 6 de la demostracin
del Teorema 4.15.4.
4. Demuestre el Teorema 4.15.3.
5. Demuestre el Teorema 4.15.5.
6. Demuestre el Teorema 4.15.7.
7. Demuestre el Teorema 4.16.1 (solo si tiene mucho tiempo disponible).
8. Demuestre el Teorema 4.16.2.
102 4. El sistema de Dijkstra y Scholten

9. Demuestre el Teorema 4.16.3.


10. Demuestre el Teorema 4.16.5.
11. Investigue acerca de los siguientes operadores de Python 3, explique su uso e ilstrelo
con ejemplos:
^
zip
ord
chr
join
12. Implemente la funcin xor_cypher y calcule el resultado de las siguientes invocacio-
nes:
a) xor_cypher("h","&")
b) xor_cypher(xor_cyper("h","&"),"&")
c) xor_cypher("hola","mundo")
d) xor_cypher(xor_cypher("hola","mundo"),"Mundo")
e) xor_cypher("hola","----")
f ) xor_cypher(xor_cypher("hola","----"),"--")
13. Considere la siguiente situacin: uno de sus amigos del curso de lgica cifr un archivo
de texto con la funcin xor_cypher pero ha perdido la llave de ciframiento. El amigo
tiene a disposicin el archivo cifrado y recuerda que la llave de ciframiento es una
cadena formada a partir de una nica letra minscula. Sin embargo, l no recuerda
la longitud de la llave de ciframiento. Es posible ayudar a su amigo a recuperar el
archivo original? Explique su respuesta.
14. Considere el mismo ejercicio del numeral anterior, pero con una llave conformada a
partir de dos letras minsculas distintas.

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

Sean , , proposiciones de DS. El conjunto de axiomas de DS incluye los siguientes


axiomas relacionados directamente con la disyuncin:
(Ax4): (( ( )) (( ) ))
(Ax5): (( ) ( ))
(Ax6): (( false) )
4.4. La disyuncin 103

(Ax7): (( ) )
(Ax8): (( ( )) (( ) ( )))

La disyuncin es asociativa (Ax4), conmutativa (Ax5) y tiene elemento identidad false


(Ax6). Adems, la disyuncin es idempotente (Ax7) y distribuye sobre la equivalencia
(Ax8).
A continuacin se presentan algunas propiedades de la disyuncin.
Teorema 4.19

Para cualesquiera proposiciones y de DS:


1. `DS ( ())
2. `DS (( true) true)
3. `DS ( true)
4. `DS (( ) (( ()) ))

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.

Demostracin. Para (1):


1. (() ( false)) (Ax9)
2. (( ()) ( ( false))) (Leibniz 1)
3. (( ( false)) (( ) ( false))) (Ax8)
4. (( ) ) (Ax7)
5. ((( ) ( false)) ( ( false))) (Leibniz 4)
6. (( false) ) (Ax6)
7. (( ( false)) ( )) (Leibniz 6)
8. (( ) true) (Teorema 4.6.2)
9. (( ()) true) (Transitividad 2,3,5,7,8)
10. ( ()) (Identidad).
Demostraciones para los dems teoremas se proponen como ejercicios para el lector. 

Histricamente, la disyuncin ha desempeando un papel protagnico en la lgica y


en su estudio, pues este conectivo lgico sirve para explicar la diferencia entre dos tipos
104 4. El sistema de Dijkstra y Scholten

de lgicas: la lgica clsica y la lgica intuicionista (o constructivista). Desde el punto


de vista filosfico, la lgica clsica puede verse como una versin Platnica de la lgica
en donde la verdad de una proposicin siempre existe y un observador nicamente puede
encontrar una demostracin directa o indirecta de ella. La lgica intuicionista es diferente
en este sentido dado que la verdad de una proposicin nicamente es aceptada cuando
se construye una demostracin directa de ella; en el contexto de la lgica intuicionista, la
verdad no existe sin una demostracin directa. Una ejemplo de una demostracin directa es
cualquier demostracin de un teorema de DS que se haya hecho hasta ahora. Un ejemplo de
una demostracin indirecta de una proposicin es una demostracin por contradiccin:
si se supone que () es cierto, entonces se llega a un absurdo. Y es as como surge la
siguiente pregunta: para demostrar una propiedad basta con (i) exhibir una demostracin
para o (ii) justificar la imposibilidad de la ausencia de una demostracin para ? Los
intuicionistas solo aceptan como razonable la situacin (i), mientras que los dems aceptan
tanto (i) como (ii). El sistema DS es un sistema lgico clsico. En este sentido, en DS se
puede demostrar como teorema una proposicin ya bien sea dando una demostracin
directa o una indirecta de ella. Como sistema lgico clsico que es, DS est caracterizado
por el teorema del tercero excludo (Teorema 4.19.1).
A continuacin se presenta
una demostracin no constructiva de un hecho muy co-
nocido en matemticas: 2 es irracional. Un nmero real x es irracional sii x no puede
expresarse como una fraccin ab con a, b Z y b , 0.

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).

Desde el punto de vista computacional, cuando la disyuncin es interpretada como


un operador binario sobre bits (es decir, sobre los valores 0 y 1 en donde 0 corresponde
a false y 1 a true), la disyuncin resultan en el operador de mximo binario: el bit 1 es
el mximo entre los bits 0 y 1. Traduciendo esta interpretacin al sistema formal DS,
se puede decir que la disyuncin establece un rden estricto entre las constantes lgicas
del sistema formal: true es el mximo entre false y true. En realidad, la disyuncin no
determina nicamente que true es el mximo entre las dos constantes del sistema formal
DS; tambin determina que true es la proposicin mxima entre todas las proposiciones
del sistema formal (Teorema 4.19.2). Como se aprender en secciones prximas, tambin
hay un operador que caracteriza una proposicin mnima entre todas las proposiciones
(Ejercicio 4) y un operador que determina un rden parcial entre las proposiciones de DS
(Ejercicio 5).

Ejercicios

1. Demuestre el Teorema 4.19.2.


2. Demuestre el Teorema 4.19.3.
3. Demuestre el Teorema 4.19.4.
4. Apelando a la interpretacin formal de los conectivos lgicos, es decir, basndose
en las funciones Htrue , Hfalse , . . . de la Seccin 4.1, identifique cul de los operadores
lgicos de DS determina que false la proposicin mnima entre todas las proposiciones
de DS. Justifique su respuesta.
106 4. El sistema de Dijkstra y Scholten

5. Apelando a la interpretacin formal de los conectivos lgicos, es decir, basndose


en las funciones Htrue , Hfalse , . . . de la Seccin 4.1, identifique cul de los conectivos
lgicos de DS es un rden parcial. Un conectivo lgico binario es un orden parcial
sii es reflexivo (i.e., v( ) = T para cualquier valuacin v de ), transitivo (i.e.,
si v( ) = T y v( ) = T, entonces v( ) = T para cualquier valuacin v de
, , ) y antisimtrico (i.e., si v( ) = T y v( ) = T, entonces v( ) = T
para cualquier valuacin v de , ).
6. Demuestre que si a N y a es par, entonces hay un c N tal que a = 2c.
7. Demuestre que si a N y a2 es par, entonces a es par.

8. Demuestre que 3 es irracional.
9. Investigue cules son los operadores de disyuncin lgica y disyuncin entre bits de
Python. De ejemplos del uso de cada uno de ellos.
10. Considere la siguiente regla de inferencia:
( ) ()
Silogismo disyuntivo

Explique brevemente el significado de la regla Silogismo disyuntivo, de un ejemplo de
su uso y demuestre que es correcta.
11. Considere la siguiente regla de inferencia:
( ) (() )
Corte
( )
Explique brevemente el significado de la regla Corte, de un ejemplo de su uso y de-
muestre que es correcta.
12. Considere la siguiente regla de inferencia:

Debilitamiento
( )
Explique brevemente el significado de la regla Debilitamiento, de un ejemplo de su
uso y demuestre que es correcta.
13. Considere la siguiente regla de inferencia:
( )
Debilitamiento?

Explique con un contraejemplo por qu la regla Debilitamiento? es incorrecta.

4.5. Intermezzo: derivaciones

La potencia deductiva de DS puede ser llevada a otro nivel usando el concepto de


derivacin, una tcnica de alto nivel para calcular demostraciones. La idea principal es
que a partir de una derivacin se puede obtener una demostracin. Esta situacin es similar
a la que sucede con algunos lenguajes de programacin. Por ejemplo, un programa en el
lenguaje de programacin Java es compilado en un lenguaje de bajo nivel llamado Java
Bytecode. El programa resultante en Java Bytecode es entonces ejecutado por la mquina
4.5. Intermezzo: derivaciones 107

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

Una derivacin en DS es una secuencia finita de proposiciones 0 , 1 , . . . , n de DS tales


que `DS (k1 k ) para 0 < k n.

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

Sea 0 , 1 , . . . , n una derivacin en DS. Entonces se tiene `DS (0 n ).

Demostracin. Se supone que 0 , 1 , . . . , n es una derivacin en DS y se procede por


induccin sobre n N.

Caso base: Si n = 0, entonces se debe demostrar que `DS (0 0 ). Esto es trivial


porque la equivalencia es reflexiva (Teorema 4.6.3).
Caso inductivo: Se supone que la propiedad es cierta para n 0 y se demuestra para
n + 1. Considere la derivacin 0 , 1 , . . . , n , n+1 . Por la hiptesis inductiva se tiene
`DS (0 n ). Por la definicin de derivacin se tiene `DS (n n+1 ). Finalmente,
por la regla Transitividad se tiene `DS (0 n+1 ).

Por el principio de induccin matemtica se concluye que si 0 , 1 , . . . , n es una deriva-


cin en DS, entonces `DS (0 n ). 

En una derivacin se preseva la equivalencia entre cualquier par de proposiciones conse-


cutivas y por ello, dado que la equivalencia es transitiva, se establece la equivalencia entre
la primera y la ltima proposicin de una derivacin. A diferencia de una demostracin,
no todas las proposiciones en una derivacin son teorema. Esta flexibilidad resulta en ms
libertad para calcular pero requiere cuidado a la hora de interpretar el significado de una
derivacin.
108 4. El sistema de Dijkstra y Scholten

Nota 4.22

Una derivacin 0 , 1 , . . . , n en DS se puede diagramar esquemticamente de la siguiente


forma:
0
h explicacin0 : por qu `DS (0 1 ) i
1
..
. h ... i
n1
h explicacinn1 : por qu `DS (n1 n ) i
n
en donde explicacini es un texto explicndo por qu `DS (i i+1 ). Note que con la
representacin grfica de una derivacin se distingue claramente entre una demostracin y
una derivacin.

Ejemplo 4.4

A continuacin se presenta un ejemplo de una derivacin. Se sugiere al lector comparar


esta derivacin con la demostracin inicialmente presentada del Teorema 4.15.1.
(true)
h Ax9 i
(true false)
h conmutatividad de i
(false true)
h Ax3 i
false
Por el Metateorema 4.21 se obtiene `DS ((true) false). Por la regla Conmutatividad se
concluye `DS (false (true)).

Ejercicios

1. Investigue el significado y el orgen de la palabra intermezzo. Ilustre el uso de esta


palabra con un par de ejemplos.
2. Considere una proposicin y la siguiente argumentacin:
La secuencia unitaria es una derivacin. Entonces, por el Metateorema 4.21
se tiene `DS .
Por qu esta argumentacin es incorrecta? Justifique su respuesta.
4.6. La conjuncin 109

3. Demuestre que si una secuencia 0 , . . . , n de proposiciones en DS es una demostra-


cin, entonces es una derivacin.
4. Formule un ejemplo en donde una secuencia de proposiciones sea una derivacin pero
no una demostracin.
5. Considere una secuencia 0 , . . . , n de proposiciones en DS. Demuestre que las si-
guientes dos afirmaciones son equivalentes:
0 , . . . , n es una derivacin
n , . . . , 0 es una derivacin
6. Considere una secuencia 0 , . . . , n de proposiciones en DS y las siguientes afirma-
ciones:
0 , . . . , n es una derivacin
`DS (0 n )
Justifique por qu estas dos afirmaciones no son equivalentes.
7. Siguiendo la demostracin del Metateorema 4.21, obtenga la demostracin en DS co-
rrespondiente a la derivacin en el Ejemplo 4.4. En otras palabras, compile dicha de-
rivacin en una demostracin de DS.

4.6. La conjuncin

La conjuncin es un conectivo lgico que se define en trminos de otros conectivos


lgicos del sistema formal DS. Su interpretacin es la del y, es decir, una conjuncin es
nicamente verdadera cuando sus dos operandos son verdaderos.
A continuacin se presenta el axioma definicional de la conjuncin en DS.

Definicin 4.23

Sean y proposiciones de DS. El siguiente axioma de DS define la conjuncin:


(Ax11): (( ) ( ( ( ))))

En la Definicin 4.23, el axioma (Ax11) define la conjuncin en trminos de la equivalen-


cia y la disyuncin. El axioma (Ax11) es comnmente conocido como la regla dorada
y se origin en el estudio del lgebra abstracta. En particular, este axioma es la piedra
angular que permiti demostrar a comienzos del siglo XX que el lgebra Booleana y los
anillos Booleanos, dos teoras que hasta ese momento se estudiaban por separado al ser
consideradas completamente diferentes, eran lo mismo. Por eso su nombre.
Note que la conjuncin se define nicamente por medio del axioma (Ax11) y en ningn
momento se establecen como dadas las propiedades estructurales del operador, como lo
son la asociatividad, conmutatividad, identidad, etc.. A continuacin se enuncian algunas
propiedades estructurales de la conjuncin.
110 4. El sistema de Dijkstra y Scholten

Teorema 4.24

Para cualesquiera proposiciones , , de DS:


1. `DS (( ( )) (( ) ))
2. `DS (( ) ( ))
3. `DS (( true) )
4. `DS (( false) false)
5. `DS (( ) )

La conjuncin es asociativa (Teorema 4.24.1), conmutativa (Teorema 4.24.2) y tiene ele-


mento identidad true (Teorema 4.24.3). Adems, la conjuncin tiene elemento anulador
false (Teorema 4.24.4) y es idempotente (Teorema 4.24.5). A continuacin se presentan
demostraciones de algunos de estos teoremas.

Demostracin. Para (2):

( )
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

Para cualesquiera proposiciones , , de DS:


1. `DS (( ()) false)
2. `DS ((( )) (() ()))
3. `DS ((( )) (() ()))
4. `DS (( ( )) ((( ) ( )) ))
5. `DS (( ( . )) (( ) . ( )))
6. `DS (( ( )) (( ) ( )))
7. `DS (( ( )) (( ) ( )))

El Teorema 4.25.1 es una forma de caracterizar la contradiccin en funcin de la conjun-


cin. Los teoremas 4.25.2-3 son conocidos como las leyes de DeMorgan y establecen
cmo la negacin distribuye sobre la conjuncin y la disyuncin, respectivamente. La con-
juncin pseudo-distribuye sobre la equivalencia (Teorema 4.25.4) y distribuye sobre la dis-
crepancia (Teorema 4.25.5). La conjuncin y la disyuncin distribuyen mtuamente una
sobre la otra (teoremas 4.25.6-7). Demostraciones de estos teoremas se proponen como
ejercicios para el lector.
Desde el punto de vista computacional, cuando la conjuncin es interpretada como un
operador binario sobre bits (es decir, sobre los valores 0 y 1 en donde 0 corresponde a false
y 1 a true), la conjuncin no es otra cosa ms que el operador de mnimo binario: el bit
0 es el mnimo entre los bits 0 y 1. Traduciendo esta interpretacin al sistema formal DS,
se puede decir que la conjuncin completa el order estricto para las constantes Booleanas
introducido al final de la Seccin 4.4: true es el mximo entre false y true, y false es el
mnimo entre false y true. En el mismo sentido en que la disyuncin establece a true como
el mximo entre todas las proposiciones de DS, la conjuncin establece a false como el
mnimo entre todas las proposiciones de DS (Teorema 4.24.4).

Ejercicios

1. Demuestre que el axioma (Ax11) es una tautologa.


2. Demuestre el Teorema 4.24.1.
3. Explique qu regla de inferencia se usa, y con qu premisas, en cada uno de los pasos
de la demostracin del Teorema 4.24.2.
4. Demuestre el Teorema 4.24.3.
5. Demuestre el Teorema 4.24.4.
6. Demuestre el Teorema 4.24.5.
7. Demuestre la siguiente versin de la regla dorada para la disyuncin y la discrepan-
cia:
`DS (( ) ( . ( . ( )))).
112 4. El sistema de Dijkstra y Scholten

8. Demuestre el Teorema 4.25.1.


9. Demuestre el Teorema 4.25.2.
10. Demuestre el Teorema 4.25.3.
11. Demuestre el Teorema 4.25.4.
12. Demuestre el Teorema 4.25.5.
13. Demuestre el Teorema 4.25.6.
14. Demuestre el Teorema 4.25.7.
15. Investigue cules son los operadores de conjuncin lgica y conjuncin entre bits de
Python. De ejemplos del uso de cada uno de ellos.
16. Considere la siguiente regla de inferencia:
( )
Debilitamiento

Explique brevemente el significado de la regla Debilitamiento, de un ejemplo de su
uso y demuestre que es correcta.
17. Considere la siguiente regla de inferencia:

Union
( )
Explique brevemente el significado de la regla Union, de un ejemplo de su uso y de-
muestre que es correcta.

4.7. La implicacin y la consecuencia

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

Sean y proposiciones de DS. Los siguientes axiomas de DS definen la implicacin y la


consecuencia:
4.7. La implicacin y la consecuencia 113

(Ax12): (( ) (( ) ))
(Ax13): (( ) ( ))

En la Definicin 4.26, el axioma (Ax12) define la implicacin en trminos de la disyuncin


y la equivalencia lgica. El axioma (Ax13) define la consecuencia directamente en trminos
de la implicacin; una definicin como esta comnmnente se denomina azcar sintctico
dado que representa una sencilla traduccin de smbolos. Dada la similitud entre la impli-
cacin y la consecuencia en DS, los teoremas que se enuncien para la implicacin en el
resto de esta seccin, se obtienen fcilmente para la consecuencia por virtud del axioma
(Ax13).

Nota 4.27

Interpretando en trminos de bits el axioma (Ax12) que define la implicacin, la implica-


cin binaria establece que el mximo entre el bit antecedente y el bit consecuente es el bit
consecuente. Esto es compatible con la semntica de la implicacin: es falsa nicamnete
cuando el antecedente es verdadero y el consecuenta falso, es decir, cuando el mximo
entre el antecedente y el consecuente no es el consecuente.

La primera cuestin a observar es que la implicacin puede ser definida de varias


formas. En este sentido, los primeros teoremas acerca de la implicacin son propiedades
que permiten reescribir la implicacin de manera alternativa y complementaria a aquella
indicada por el Axioma (Ax12).

Teorema 4.28

Para cualesquiera proposiciones y de DS:


1. `DS (( ) (() )).
2. `DS (( ) (( ) )).
114 4. El sistema de Dijkstra y Scholten

Demostracin. Para (1):


(() )
h definicin de i
(( false) )
h conmutatividad de i
( ( false))
h distribucin de sobre i
(( ) ( false))
h identidad de i
(( ) )
h conmutatividad de i
(( ) )
h definicin de i
( )
La demostracin para (2) se propone como ejercicio para el lector. 

Los siguientes teoremas relacionan la implicacin y las constantes Booleanas.


Teorema 4.29

Para cualquier proposicin de DS:


1. `DS ( true)
2. `DS (false )
3. `DS ((true ) )
4. `DS (( false) ())

La implicacin tiene dos anuladores: true en el consecuente (Teorema 4.29.1) y false en el


antecedente (Teorema 4.29.2). La implicacin tiene a true en el antecedente como nico
elemento identidad (Teorema 4.29.3). La negacin de una proposicin puede caracterizar-
se con la implicacin; esta es una forma adicional de caracterizar la contradiccin (Teore-
ma 4.29.4). Demostraciones de estos teoremas se proponen como ejercicios para el lector.
Los siguientes teoremas indican cmo la implicacin distribuye sobre algunos conec-
tivos lgicos de DS.
Teorema 4.30

Para cualesquiera proposiciones , , de DS:


1. `DS (( ( )) (( ) ( )))
4.7. La implicacin y la consecuencia 115

2. `DS (( ( )) (( ) ( )))
3. `DS (( ( )) (( ) ( )))
4. `DS (( ( )) (( ) ( )))
5. `DS (( ( )) (( ) ( )))

La implicacin distribuye sobre la equivalencia, la disyuncin, la conjuncin, la implica-


cin y la consecuencia (Teoremas4.30.1-5).
Dado que el sistema DS est basado en la equivalencia, demostraciones y derivacio-
nes que involucran la implicacin pueden ser torpes. A continuacin se presentan algunas
propiedades de la implicacin que son tiles para simplificar clculos con proposiciones
que mencionan la implicacin.

Teorema 4.31

Para cualesquiera proposiciones , , de DS:


1. `DS ((() ()) ( ))
2. `DS ((( )) ( ()))
3. `DS (( ) (( ) ( )))
4. `DS (( ) ( ))
5. `DS (( ( )) (( ) ))
6. `DS ( ( ))
7. `DS (( ( )) ( ))
8. `DS (( ( )) ( ))
9. `DS (( ( )) )

El Teorema 4.31.1 es conocido como la propiedad contrapositiva y el Teorema 4.31.2


indica cmo se niega una implicacin. El Teorema 4.31.3 establece una caracterizacin
de la equivalencia en funcin de la implicacin y la conjuncin: la doble implicacin o
implicacin mtua. El Teorema 4.31.4 establece que la implicacin no es ms fuerte que
la equivalencia y el Teorema 4.31.5 una propiedad de acoplamiento de la implicacin. Los
teoremas 4.31.6-9 establencen propiedades de absorcin de la implicacin.
116 4. El sistema de Dijkstra y Scholten

Nota 4.32

Es importante que el lector no confunda el concepto de contrapositiva de un implicacin


(Teorema 4.31.1) con el concepto de converso de una implicacin. Dada una implicacin
( ), su converso es la implicacin ( ).

A continuacin se presenta la demostracin de algunos de estos teoremas.

Demostracin. Para (1):


(() ())
h definicin alternativa de (Teorema 4.28-1) i
((()) ())
h doble negacin (Teorema 4.15.6) i
( ())
h conmutatividad de i
(() )
h definicin alternativa de (Teorema 4.28-1) i
( )
Demostraciones de los dems teoremas se proponen como ejercicios para el lector. 

De acuerdo con la explicacin dada en la Seccin 4.4, en la lgica proposicional hay


un conectivo lgico que establece una relacin de orden entre las proposiciones (ver Ejer-
cicio 4.4.5). La implicacin es dicho conectivo y define un orden parcial sobre las propo-
siciones, es decir, la implicacin es reflexiva, transitiva y antisimtrica. Estas propiedades
de la implicacin se enuncian con los siguientes teoremas.
Teorema 4.33

Para cualesquiera proposiciones , , de DS:


1. `DS ( )
2. `DS ((( ) ( )) ( ))
3. `DS ((( ) ( )) ( ))

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

p como q son ciertas. El adjetivo parcial en la expresin orden parcial asociado a la


implicacin se puede explicar intuitivamente desde la nocin de cantidad de informacin.
Por ejemplo, cuando las proposiciones p y q son ciertas, es imposible determinar si la
verdad de p se puede establecer a partir de la verdad de q de acuerdo con el orden impuesto
por la implicacin o viceversa. En este sentido, las proposiciones p y q son incomparables:
note que ni (p q) o (q p) son teoremas de DS.
Nota 4.34

Para cualesquiera proposiciones y , si `DS ( ), entonces se dice que es tan dbil


como (o, equivalentemente, es tan fuerte como ).

Teorema 4.35

Para cualesquiera proposiciones y de DS:


1. `DS ( ( ))
2. `DS (( ) )
3. `DS (( ) ( ))
4. `DS ((( ) ( )) ( ))
5. `DS ((( ) ) (( ) ( )))
6. `DS (( ( )) (( ) ( )))

Los teoremas 4.35.1-4 son caracterizaciones tpicas de fortalecimientos y debilitamien-


tos. Los teoremas 4.35.5-6 son propiedades de anlisis de casos. Por ejemplo, el Teore-
ma 4.35.5 indica que si en el antecedente de una implicacin hay una disyuncin, entonces
dicha implicacin es equivalente a la conjuncin de dos implicaciones ms sencillas, una
por cada operando de la disyuncin y con el mismo consecuente de la implicacin inicial.
Finalmente, se presentan algunos teoremas acerca de la transitividad de la equivalencia
y la implicacin. En particular, se establece que la equivalencia es transitiva (hecho que en
este punto se conoce y se usa gracias a la regla de inferencia Transitividad, pero que no ha
sido demostrado como teorema de DS). Tambin se identifica cmo la transitividad de la
implicacin conmuta con la transitividad de la equivalencia y viceversa.
Teorema 4.36

Para cualesquiera proposiciones , , de DS:


1. `DS ((( ) ( )) ( ))
2. `DS ((( ) ( )) ( ))
3. `DS ((( ) ( )) ( ))
118 4. El sistema de Dijkstra y Scholten

Demostraciones de estos teoremas se proponen como ejercicios para el lector.

Ejercicios

1. Demuestre que el axioma (Ax12) es una tautologa.


2. Demuestre que el axioma (Ax13) es una tautologa.
3. Demuestre el Teorema 4.28.2.
4. Demuestre el Teorema 4.29.1.
5. Demuestre el Teorema 4.29.2.
6. Demuestre el Teorema 4.29.3.
7. Demuestre el Teorema 4.29.4.
8. Demuestre el Teorema 4.30.1.
9. Demuestre el Teorema 4.30.2.
10. Demuestre el Teorema 4.30.3.
11. Demuestre el Teorema 4.30.4.
12. Demuestre el Teorema 4.30.5.
13. Demuestre o refute: la implicacin distribuye sobre la discrepancia.
14. Demuestre el Teorema 4.31.2.
15. Demuestre el Teorema 4.31.3.
16. Demuestre el Teorema 4.31.4
17. Demuestre el Teorema 4.31.5.
18. Demuestre el Teorema 4.31.6.
19. Demuestre el Teorema 4.31.7.
20. Demuestre el Teorema 4.31.8.
21. Demuestre el Teorema 4.31.9.
22. Demuestre el Teorema 4.33.1.
23. Demuestre el Teorema 4.33.2.
24. Demuestre el Teorema 4.33.3.
25. Demuestre o refute: la discrepancia es reflexiva.
26. Demuestre o refute: la discrepancia es transitiva.
27. Demuestre o refute: la discrepancia es antisimtrica.
28. Demuestre o refute: la consecuencia es reflexiva.
29. Demuestre o refute: la consecuencia es transitiva.
30. Demuestre o refute: la consecuencia es antisimtrica.
31. Demuestre el Teorema 4.35.1.
32. Demuestre el Teorema 4.35.2.
33. Demuestre el Teorema 4.35.3.
4.7. La implicacin y la consecuencia 119

34. Demuestre el Teorema 4.35.4.


35. Demuestre el Teorema 4.35.5.
36. Demuestre el Teorema 4.35.6.
37. Demuestre el Teorema 4.36.1.
38. Demuestre el Teorema 4.36.2.
39. Demuestre el Teorema 4.36.3.
40. Sean y proposiciones de DS. Demuestre o refute:
a) (( ) ( ))
b) (( ) ( ))
c) (( ) ( ))
d) (( ) ( ))
41. Sean , , proposiciones de DS. Demuestre o refute las siguientes monotonas:
a) (( ) (( ) ( )))
b) (( ) (( . ) ( . )))
c) (( ) (( ) ( )))
d) (( ) (( ) ( )))
e) (( ) (( ) ( )))
f ) (( ) (( ) ( )))
42. Demuestre la propiedad de Modus Ponens: (( ( )) ).
43. La propiedad de Modus Ponens, ms que como teorema, se usa como regla de infe-
rencia en los sistemas formales tradicionales de la lgica proposicional:
( )
Modus Ponens

Demuestre que Modus Ponens es correcta.


44. Considere la siguiente regla de inferencia:
( ) ()
Modus Tolens
()

a) Explique brevemente el significado de la regla Modus Tolens, de un ejemplo de


su uso y demuestre que es correcta.
b) Encuentre y explique la relacin entre la regla Modus Tolens y la regla Modus
Ponens (Ejercicio 43).
45. Considere la siguiente regla de inferencia:
( ) ( )
Transitividad
( )

Esta regla tambin es conocida como silogismo hipottico.


a) Explique brevemente el significado de la regla Transitividad, de un ejemplo de
su uso y demuestre que es correcta.
b) Encuentre y explique la relacin entre la regla Transitividad y la regla Corte
(Ejercicio 4.4.11).
120 4. El sistema de Dijkstra y Scholten

46. El sistema formal PM de Whitehead y Rusell usa nicamente el conjunto {, } de


conectivos lgicos. Para , , proposiciones de PM, los axiomas de PM estn dados
por el siguiente esquema axiomtico:
(PM1): (( ) )
(PM2): ( ( ))
(PM3): (( ) (( ) ( )))
(PM4): (( ) ( ))
El sistema PM tiene como nica regla de inferencia Modus Ponens.
a) Demuestre que los axiomas de PM son tautologas.
b) Demuestre que los axiomas de PM son teoremas de DS.
c) Sea una proposicin de PM. Demuestre que si `PM , entonces `DS .
d) (Difcil) Sea una proposicin de PM. Demuestre que si `DS , entonces `PM .

47. El nombre PM (Ejercicio 46) es una abreviacin de Principia Mathematica, nombre


de un texto de tres volmenes acerca de los fundamentos de las mtemticas escrito
por Alfred North Whitehead y Bertrand Russell a principios del siglo XX. El sistema
PM se propone por primera vez en Principia Mathematica y luego es usado por Hil-
bert y Ackerman en Principles of Mathematical Logic. Una particularidad de Principia
Mathematica es que su contenido est agrupado en prrafos enumerados. Investigue y
transcriba al castellano el prrafo (1) del Volmen 1 acerca de proposiciones elemen-
tales.

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

Fallacious Logic Comic: Confirmation Bias (http://fallaciouslogic.net/11)

Este captulo presenta algunas tcnicas de razonamiento y demostracin que pueden


ser tiles para analizar proposiciones de DS y, en general, propiedades de otras teoras
cuando sus aparatos deductivos estn basados en DS. Por ejemplo, adems de ilustrar de-
mostraciones de algunos teoremas proposicionales, este captulo aborda extensivamente
teoremas sencillos de la teora de conjuntos y de la teora de nmeros como ejemplo del
uso y del alcance de las tcnicas presentadas.
La Seccin 5.1 propone una convencin sobre los conectivos lgicos de DS que per-
mite escribir proposiciones con menos parntesis y sin alterar su semntica. Las tcnicas
de razonamiento y demostracin se presentan en dos etapas. Inicialmente, la Seccin 5.2
presenta un recuento de tcnicas bsicas para demostrar teoremas de DS. Estas tcnicas
incluyen la reduccin a true y el trnsito de la equivalencia, las cuales han sido usadas
en el Captulo 4 para derivar algunos teoremas de DS. El resto de las tcnicas se presen-
ta en la Seccin 5.5 que incluye, entre otras, las tcnicas de suposicin del antecedente,
doble implicacin y contradiccin. Estas dos secciones estn separadas por secciones que

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.

5.1. Eliminacin de parntesis

El lector posiblemente ha notado que algunas frmulas de DS tienen una cantidad


abrumadora de parntesis; sin ellos, muchas expresiones son ambigas en el sentido que
una expresin puede tener ms de un significado. Esta corta seccin establece algunas
convenciones para simplificar la escritura de proposiciones al permitir obviar parntesis en
muchos casos.
Los parntesis son escenciales cuando una mquina es programada para reconocer una
frmula o, en general, una expresin como un programa en un lenguaje de programacin.
En el caso del lenguaje de programacin LISP (cuyo nombre proviene del ingls LISt
Processing), famoso por el uso extensivo de parntesis en sus expresiones, algunos creen
que el nombre del lenguaje realmente abrevia lots of unnecessary stupid parenthesis. En
contraste, si se tiene suficiente cuidado, para un humano no es necesario el uso extensivo
de parntesis, an para leer cdigo LISP. En el caso de una proposicin, por ejemplo,
algunos parntesis pueden ser eliminados cuando dicha omisin no genera ambigedad, es
decir, cuando exista una nica forma de interpretar la proposicin resultante de eliminar
los parntesis.
Una forma de evitar algunos parntesis es por medio de convenciones sintcticas sobre
los conectivos lgicos. Al asignar una precedencia a cada uno de los conectivos lgicos de
DS es posibe evitar la escritura de algunos parntesis en las proposiciones.
Nota 5.1

Se adoptan las siguientes convenciones sobre la precedencia de los conectivos lgicos de


DS:
Las constantes true y false tienen ms precedencia que .
El conectivo tiene ms precedencia que y .
5.1. Eliminacin de parntesis 125

Los conectivos y tienen ms precedencia que y .


Los conectivos y tienen ms precedencia que y ..

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

Dado que la disyuncin tiene ms precedencia que la implicacin, la proposicin ((pq)


r) se escribe de forma simplificada como p q r. De manera similar, la expresin
((p q) r) se escribe como (p q) r. Sin embargo, esta combinacin de conjuncin y
disyuncin no se puede escribir como p q r porque esta ltima expresin es ambiga:
(p q) r y p (q r) tienen interpretaciones distintas.

Otro mecanismo que sirve el propsito de eliminar parntesis es por medio de las
propiedades algebraicas de los conectivos lgicos.
Ejemplo 5.2

Al saber que la equivalencia es asociativa, los parntesis en


(p (q r))
son innecesarios y, entonces, esta proposicin se escribe como
p q r.
Note que por una razn similar, al saber que la equivalencia es conmutativa adems de ser
asociativa, esta ltima expresin representa a su vez las proposiciones ((p q) r) o
(r p) q, lo cual sugiere potencialmente cierto tipo de ambigedad. Sin embargo, este
no es el caso gracias a las propiedades algebraicas de la equivalencia: estas proposiciones
son equivalentes y entonces no existe riesgo alguno de confundir o cambiar la semntica
de la proposicin original.

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

5.2. Tcnicas bsicas

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.

5.2.1. Reduccin a true. Considere la situacin en la cual se quiere demostrar que


una proposicin es teorema. La tcnica de reduccin a true consiste en construir una
derivacin de la forma

, . . . , 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

Considere el Teorema 4.33.1 de la reflexividad de la implicacin; el objetivo es demostrar


`DS . Se propone la siguiente derivacin:

h definicin alterna de la implicacin i

h tercero excludo i
true.
Dado que es equivalente a true, se establece `DS .

La tcnica de reduccin a true tiene ventajas y desventajas. Una ventaja es la claridad en


su mtodo: reducir a true por medio de simplificaciones que provienen de axiomas o
teoremas previamente demostrados. Otra ventaja es que la informacin de la proposicin a
ser demostrada est disponible en cualquier paso de derivacin, lo cual potencia las posi-
bilidades de simplificacin. En contraste, una desventaja de la tcnica de reduccin a true
es que la derivacin resultante puede ser verbosa dado que en cada paso de la derivacin
se puede repetir una y otra vez una misma subproposicin. En este sentido, es preferible
contar con una estrategia de demostracin, an cuando esto demande ms tiempo antes de
iniciar la demostracin.
128 5. Tcnicas de razonamiento y demostracin

5.2.2. Trnsito. Dado que la equivalencia es un conectivo lgico importante en DS,


en muchas ocasiones el objetivo de una demostracin es una equivalencia lgica. En reali-
dad, cualquier demostracin de una proposicin en DS puede plantearse como una de-
mostracin de true porque true es la identidad de la equivalencia.
Para demostrar que una equivalencia de la forma es teorema de DS, tal y como
su nombre lo indica, la tcnica de trnsito tiene como objetivo construr una derivacin de
la forma

, . . . , .

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.

La ventaja potencial de los lemas es que pueden reducir sustancialmente el esfuerzo de


prueba porque pueden ser reutilizados una y otra vez. Esta situacin es similarmente ven-
tajosa a aquella en programacin cuando se definen procedimientos que encapsulan cierto
tipo de clculos especficos y que pueden ser llamadas una y otra vez.
5.3. Derivaciones relajadas 129

Ejemplo 5.4

Una propiedad que es laboriosa de establecer, es la asociatividad de la conjuncin (Teo-


rema 4.24.1). Se sugiere al lector tratar de construr una derivacin por trnsito de esta
propiedad antes de continuar con el ejemplo. Alternativamente, es posible encontrar: (i)
una proposicin que es equivalente al lado izquierdo de la equivalencia (Lema 1) y (ii)
que el lado derecho de la equivalencia es equivalente a (Lema 2). Entonces, por la tran-
sitividad de la equivalencia, se puede establecer que el lado izquierdo y el lado derecho de
la equivalencia son equivalentes. Se sugiere al lector obtener una demostracin del Teore-
ma 4.24.1 usando estas observaciones.

Ejercicios

1. Demuestre que si 0 , . . . , n , true es una derivacin por reduccin a true, entonces


0 , . . . , n es una demostracin de DS.
2. Demuestre el Teorema 4.24.1 por reduccin a true.
3. Demuestre el Teorema 4.24.1 por trnsito.
4. Demuestre el Teorema 4.24.1 usando lemas.

5.3. Derivaciones relajadas

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

Una secuencia de proposiciones 0 , . . . , n de DS es:


1. Una derivacin (relajada) de debilitamiento si y solo si `DS k1 k para cualquier
0 < k n.
2. Una derivacin (relajada) de fortalecimiento si y solo si `DS k1 k para cualquier
0 < k n.

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

Sean 0 , . . . , n proposiciones de DS.


1. Si 0 , . . . , n es una derivacin de debilitamiento, entonces `DS 0 n .
2. Si 0 , . . . , n es una derivacin de fortalecimiento, entonces `DS 0 n .

Demostracin. A continuacin se presenta una demostracin para (1); una demostra-


cin para (2) se obtiene de forma similar y se propone como ejercicio para el lector. Sea
0 , . . . , n una derivacin de debilitamiento. Se procede por induccin sobre n N.

Caso base: si n = 0, entonces el objetivo es demostrar `DS 0 0 lo cual es cierto


porque la implicacin es reflexiva (Teorema 4.33.1).
Caso inductivo: se tiene que 0 , . . . , n , n+1 es una derivacin de debilitamiento; el ob-
jetivo es demostrar que `DS 0 n+1 usando como hiptesis inductiva `DS 0 n .
Por la Definicin 5.4.1 se tiene tambin `DS n n+1 . Como la implicacin es
transitiva (Teorema 4.33.2), se concluye `DS 0 n+1 .

Es importante notar que cualquier derivacin es simultneamente una derivacin de


debilitamiento y una de fortalecimiento. La observacin clave es que si es teorema,
tambin lo son y por el Teorema 4.31.4. Como consecuencia prctica,
en una derivacin de debilitamiento (respectivamente, de fortalecimiento) se pueden usar
pasos de equivalencia y de implicacin (respectivamente, de consecuencia) conjuntamente.
Otra forma de justificar esta observacin es con base en los teoremas 4.36.2-3.
5.3. Derivaciones relajadas 131

Nota 5.6

Un paso de derivacin de debilitamiento de a se puede diagramar esquemticamente


de la siguiente forma:

h explicacin: por qu `DS i
.
De manera similar, un paso de derivacin de fortalecimiento de a se puede diagramar
esquemticamente de la siguiente forma:

h explicacin: por qu `DS i
.

A continuacin se presentan ejemplos del uso de derivaciones relajadas.


Ejemplo 5.5

Considere la siguiente derivacin de `DS p q p q (Teorema 4.35.3):


pq
h debilitamiento: Teorema 4.35.2 i
p
h debilitamiento: Teorema 4.35.1 i
p q.
Por el Metateorema 5.5.1 se concluye `DS p q p q.

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

1. Demuestre el Metateorema 5.5.2.


2. Considere dos proposiciones y de DS. Es posible que exista una derivacin de
debilitamiento y otra de fortalecimiento de a ? Justifique su respuesta.
3. Considere el siguiente esquema:

h ... i

h ... i

Formule ejemplos de proposiciones concretas para , , de tal forma que las siguien-
tes afirmaciones sean ciertas y adapte el esquema de tal manera que no se usen con-
juntamente implicaciones y consecuencias:
a) `DS
b) `DS
c) `DS
4. Usando como gua la derivacin de debilitamiento en el Ejemplo 5.5, proponga una
derivacin de fortalecimiento para demostrar `DS p q p q.
5. Derive por trnsito de debilitamiento/fortalecimiento los siguientes teoremas:
a) `DS ( ).
b) `DS (( ) ) .
c) `DS ( ) (( ) ( )).
6. Derive por trnsito de debilitamiento/fortalecimiento los siguientes teoremas:
a) `DS ( ) ( ).
b) `DS ( ) ( ).
7. Demuestre las siguientes proposiciones:
a) Una derivacin es una derivacin de debilitamiento.
b) Una derivacin es una derivacin de fortalecimiento.
8. Refute las siguientes proposiciones:
a) Una derivacin de debilitamiento es una derivacin.
b) Una derivacin de fortalecimiento es una derivacin.
9. Sean 0 , . . . , n proposiciones de DS. Demuestre: 0 , . . . , n es una derivacin de de-
bilitamiento sii n , . . . , 0 es una derivacin de fortalecimiento.

5.4. Deduccin con suposiciones y el Metateorema de la Deduccin

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

de Coherencia y Completitud el cual establece que el concepto semntico de tautologa y el


concepto deductivo de teorema coinciden en DS. Estas dos propiedades de DS se presen-
tan para el caso general de demostraciones con suposiciones, una extensin del concepto
de demostracin en un sistema formal.

5.4.1. Demostracin con suposiciones. A continuacin se presenta el concepto


de demostracin son suposiciones.
Definicin 5.7

Sea un conjunto de proposiciones de DS. Una demostracin con suposiciones en es una


secuencia de proposiciones 0 , . . . , n de DS tal que para 0 k n una de las siguientes
condiciones es cierta:
1. k es un axioma de DS,
2. k > 0 y k es la conclusin de una regla de inferencia de DS cuyas premisas aparecen
en la secuencia 0 , . . . , k1 , o
3. k .
Si 0 , . . . , n es una demostracin con suposiciones en , entonces se dice que n es un
teorema de en DS, lo cual se escribe como
`DS n .

La Definicin 5.7 generaliza la definicin de demostracin en un sistema formal (De-


finicin 0.10) al permitir usar informacin de un conjunto de suposiciones en un paso de
inferencia (condicin (3)). Cuando el conjunto de suposiciones es vaco (i.e., = {}),
esta condicin es intil y entonces una demostracin con suposiciones coincide con una
demostracin en un sistema formal. En consecuencia, se prefiere escribir `DS cuando
{} `DS .
Las definiciones de derivacin, derivacin de debilitamiento y derivacin de fortaleci-
miento tambin se extendienden para usar un conjunto de suposiciones; la formulacin de
dichas extensiones se propone como ejercicios para el lector.
Nota 5.8

Intuitivamente, una demostracin con suposiciones es la contraparte deductiva del concepto


semntico de consecuencia tautolgica. Esta observacin se hace explcita al final de esta
seccin por medio del Metateorema de Coherencia y Completitud.

5.4.2. Metateorema de la Deduccin. El Metateorema de la Deduccin formali-


za y justifica una tcnica de demostracin muy comn en la prctica de la informtica y de
las matemticas conocida como la tcnica de demostracin por suposicin del antecedente.
El Metateorema de la Deduccin establece que para demostar una implicacin lgica basta
con construr una demostracin del consecuente a partir de la informacin del antecedente.
134 5. Tcnicas de razonamiento y demostracin

Metateorema 5.9

Sean , proposiciones de DS y un conjunto de proposiciones de DS:


si {} `DS , entonces `DS .

El Metateorema de la Deduccin establece que si una proposicin se puede demostrar


a partir de un conjunto de suposiciones {}, entonces la implicacin se puede
demostrar a partir de . En el caso especial cuando = {}, el metateorema de la deduccin
establece que si {} `DS , entonces `DS . Note que {} `DS es equivalente a decir
que se demuestra suponiendo como axioma adicional.

Demostracin. Sea 0 , . . . , n una demostracin de con suposiciones en {} (note que n = ).


El objetivo es demostrar que es teorema de en DS. La demostracin procede por induccin
sobre n N.
Caso base: si n = 0, entonces es un axioma de DS o {}. En cualquiera de los dos casos
se tiene `DS (ejercicios 5.4.3.2 y 5.4.3.3).
Caso inductivo: si 0 , . . . , n , n+1 es una demostracin de con suposiciones en {} (note que
n+1 = ), suponga que la propiedad vale para todo m n (i.e., `DS m para 0 m n).
Si es un axioma de DS o {}, se tiene `DS al igual que en el caso base. De lo
contrario, se obtiene como conclusin de una regla de inferencia de DS:
Ecuanimidad: se obtiene con premisas i = y j = , para algn 0 i , j n. Por
la hipotesis inductiva, se tiene `DS y `DS ( ). Considere la siguiente
derivacin con suposiciones :
( )
h distribucin de sobre i

h hiptesis inductiva: `DS ; identidad de la equivalencia i
.
Entonces, `DS .
Leibniz: se obtiene con premisa k = 0 1 , para algn 0 k n. Entonces es de la
forma p := 0 p := 1 . Por la hiptesis inductiva se tiene `DS (0 1 ). El
   
objetivo es demostrar
`DS ( p := 0 p := 1 ).
   

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

Considere el Teorema 4.36.2:


`DS ( ) ( ) ( ).
Por el Teorema 4.31.5, basta con demostrar:
`DS ( ) (( ) ( )).
Considere la siguiente derivacin con suposiciones en { , }:

h suposicin: i

h debilitamiento: i
.
Se tiene { , } `DS , y por el Metateorema de la Deduccin se concluye
`DS ( ) (( ) ( )).

El converso del Metateorema de la Deduccin tambin es cierto y se formula a conti-


nuacin.
136 5. Tcnicas de razonamiento y demostracin

Metateorema 5.10

Sean , proposiciones de DS y un conjunto de proposiciones de DS:


si `DS , entonces {} `DS .

Demostracin. Esta demostracin es fcil de obtener y se propone como ejercicio para el


lector. 

5.4.3. Metateorema de Coherencia y Completitud. Finalmente, se presenta (sin


demostracin, la cual est fuera del alcance de este captulo) el Metateorema de Coheren-
cia y Completitud. Este resultado es importante porque establece una coherencia entre la
semntica de la lgica proposicional y el aparato deductivo de DS.
Metateorema 5.11

Sea un conjunto de proposiciones de DS y una proposicin de DS.


Coherencia: Si `DS , entonces |= .
Completitud: Si |= , entonces `DS .
En particular, si = {}, entonces:
`DS sii |= .

El Metateorema de Coherencia y Completitud establece que analizar una proposicin con


mtodos semnticos o con mtodos deductivos en DS es igualmente potente. Coherencia
significa que todo teorema de es una consecuencia tautolgica de ; completitud sigi-
nifica que para cualquier consecuencia tautolgica de hay una demostracin en DS con
suposiciones en . En particular, cuando el conjunto de suposiciones es vaco, la coheren-
cia indica que todo teorema es una tautologa y la completitud indica que toda tautologa
es teorema.

Ejercicios

1. Basndose en la Definicin 5.7, proponga definiciones para:


a) Derivacin con suposiciones.
b) Derivacin de debilitamiento con suposiciones.
c) Derivacin de fortalecimiento con suposiciones.
2. Sean un conjunto de proposiciones de DS y una proposicin. Demuestre que si
es teorema de DS, entonces es teorema de en DS. Es decir,
si `DS , entonces `DS .
5.5. Tcnicas complementarias 137

3. Sean un conjunto de proposiciones, y , proposiciones de DS. Demuestre que si


{}, entonces `DS .
4. Sea un conjunto de proposiciones de DS, y , , , 0 , 1 proposiciones de DS. El
objetivo es demostrar que si `DS (0 1 ), entonces:
`DS ( p := 0 p := 1 )
   

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.

5.5. Tcnicas complementarias

Esta seccin presenta tcnicas complementarias para razonar sobre proposiciones. A


diferencia de las tcnicas inicialmente presentadas en la Seccin 5.2, las tcnicas en esta
seccin son ms generales y no estn reservadas nicamente para razonar sobre la equiva-
lencia lgica. De hecho, la mayora de las tcnicas presentadas en esta seccin son espe-
cialmente tiles para razonar sobre implicaciones lgicas o, en su defecto, estn basadas
en la implicacin lgica. Como ejemplos, esta seccin hace uso extensivo de teoras como
la artimtica y los conjuntos, apelando a definiciones bsicas e intuitivas.
138 5. Tcnicas de razonamiento y demostracin

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

Sean una coleccin de proposiciones y , proposiciones:


`DS sii {} `DS .

La demostracin por suposicin del antecedente se justifica desde el Metateorema de la


Deduccin y su converso (metateoremas 5.9 y 5.10). Para demostrar que es un
teorema de , la tcnica de suposicin del antecedente se puede usar de la siguiente forma:
1. suponer que es un teorema de , extendiendo el conjunto de suposiciones de a
{}, y
2. demostrar que es teorema de {}.
A continuacin se presenta un ejemplo sobre una propiedad de paridad de los nmeros
enteros Z que usa la tcnica de suposicin del antecedente. Para ello, para cualquier nmero
entero a Z, se introduce la proposicin impar(a) de la siguiente manera:

impar(a) : hay un ca Z tal que a = 2ca + 1 (i.e., a es impar).

Ejemplo 5.9

Si a y b son nmeros enteros consecutivos, entonces a + b es impar.


Demostracin. A continuacin se especifica el objetivo de la demostracin en el lenguaje
del sistema DS :
`DS (a = b + 1) impar(a + b)
Esta especificacin establece un rden entre a y b, lo cual no importa porque la suma de
nmeros enteros es conmutativa. En favor de la brevedad, se abusa la notacin dado que los
smbolos +, =, impar no hacen parte de DS. Al suponer el antecedente, basta con demostrar
5.5. Tcnicas complementarias 139

(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).

5.5.2. Doble implicacin. En matemticas e informtica es comn encontrar pro-


piedades que se especifican como una equivalencia lgica. Una prctica efectiva para de-
mostrar una equivalencia lgica es hacerlo usando la tcnica de doble implicacin. Esta
tcnica consiste en demostrar indirectamente una proposicin de la forma por me-
dio de las demostraciones de y . En principio se duplican los esfuerzos de
demostracin al cambiar un objetivo por dos. Sin embargo, cada uno de los dos nuevos ob-
jetivos es una implicacin y, entonces, pueden ser abordado usando, por ejemplo, la tcnica
de suposicin del antecedente (Seccin 5.5.1), y esto puede resultar conveniente.
Metateorema 5.13

Sean un conjunto de proposiciones y , proposiciones:


`DS sii `DS y `DS .

La tcnica de suposicin del antecedente (Metateorema 5.13) basa su correccin en el


Teorema 4.31.3. Para demostrar que es un teorema de con la tcnica de doble
implicacin hay exactamente dos pasos:
1. demostrar que es teorema de y
2. demostrar que es teorema de .
A continuacin se presenta un ejemplo de la teora de conjuntos para ilustrar la es-
tructura de una demostracin por doble implicacin. Para ello se supone que el lector est
familiarizado con los smbolos , =, , , de la teora de conjuntos. La expresin x A
denota la pertenencia del elemento x al conjunto A. La expresin A = B denota la rela-
cin de igualdad de conjuntos y se axiomatiza con la proposicin (x A) (x B) para
cualquier elemento x. La expresin A B denota la relacin de inclusin de conjuntos y
140 5. Tcnicas de razonamiento y demostracin

se axiomatiza con la proposicin (x A) (x B) para cualquier elemento x. La expre-


sin A B denota la operacin de unin de conjuntos y la proposicin x (A B) se
axiomatiza como (x A) (x B) para cualquier elemento x. La expresin A B denota
la operacin de interseccin de conjuntos y la proposicin x (A B) se axiomatiza
como (x A) (x B) para cualquier elemento x.

Ejemplo 5.10

Sean A y B conjuntos: A B = B sii A B.


Demostracin. A continuacin se presenta una especificacin de la propiedad que se quie-
re demostrar:
`DS (A B = B) (A B).
Usando la tcnica de doble implicacin, basta con demostrar:
1. `DS (A B = B) (A B).
2. `DS (A B) (A B = B).
A continuacin se presenta una demostracin de (1); una demostracin de (2) se propone
como ejercicio para el lector. Usando la tcnica de suposicin del antecedente, basta con
demostrar para cualquier x:
{A B = B, x A} `DS x B.
Considere la siguiente derivacin:
xB
h suposicin: B = A B i
x (A B)
h pertenencia a la unin de dos conjuntos i
(x A) (x B)
h suposicin x A; anulador de la disyuncin i
true.

5.5.3. Contradiccin. Demostrar por contradiccin que una proposicin es cierta,


est basado en el hecho de que dicha proposicin es verdadera o falsa (Teorema 4.19.1,
tercero excludo), pero no puede ser verdadera y falsa a la vez. Se encuentra una contra-
diccin cuando se establece que una proposicin es verdadera y falsa a la vez, indicando
que alguna de las suposiciones es incorrecta. La tcnica de demostracin por contradiccin
puede ser usada para demostrar cualquier tipo de proposiciones y es especialmente til
para demostrar implicaciones lgicas.
5.5. Tcnicas complementarias 141

Metateorema 5.14

Sean un conjunto de proposiciones y , proposiciones:


1. `DS sii `DS false.
2. `DS sii `DS false.

La tcnica de demostracin por contradiccin


(Metateorema 5.14) se us previamente en
el Ejemplo 4.2 para demostrar que 2 es irracional. Dicho ejemplo se desarrolla usandoel
que se quiere demostrar (i.e., negando que 2
Metateorema 5.14.1 al negar la proposicin
esirracional, es decir, suponiendo que 2 es racional) y estableciendo una contradiccin
( 2 no se puede expresar como una fraccin).

Nota 5.15

Observe que en DS una contradiccin puede representarse como o , para


cualquier proposicin .

En general, para aplicar el Metateorema 5.14.1 queriendo demostrar que proposicin es


un teorema de , se usan los siguientes pasos:

1. suponer que es cierto (i.e., extender a {}) y


2. demostrar que false (i.e., una contradiccin) es teorema de {}.

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:

1. suponer que y son ciertos (i.e., extender a {, }) y


2. demostrar que false (i.e., una contradiccin) es teorema de {, }.

Ejemplo 5.11

Si a y b son enteros impares, entonces a + b es par.


Demostracin. Una especificacin de la proposicin puede ser la siguiente:
`DS impar(a) impar(b) par(a + b),
142 5. Tcnicas de razonamiento y demostracin

en donde par(x) impar(x) para cualquier nmero x. Aplicando el Metateorema 5.14.2,


basta con suponer {impar(a), impar(b), impar(a + b)} y llegar a una contradiccin:
true
h suposicin: impar(a + b) i
impar(a + b)
h suposicin: impar(a) e impar(b) i
impar((2ca + 1) + (2cb + 1))
h aritmtica i
impar(2(ca + cb + 1))
h definicin de impar: 2(ca + cb + 1) no es impar i
false.

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

Sean un conjunto de proposiciones y , proposiciones:


`DS sii `DS .

La tcnica de demostracin por contrapositiva (Metateorema 5.16) a veces no es consi-


derada como una tcnica en si misma, sino ms bien como un mecanismo que permite
usar otras tcnicas. Note que la contrapositiva de una implicacin lgica es tambin una
implicacin lgica y por tanto otras tcnicas pueden ser usadas conjuntamente como, por
ejemplo, suposicin del antecedente o contradiccin.
Aunque aparentemente es fcil, se debe tener cuidado especial al transformar una
implicacin en su contrapositiva. Por ejemplo, la contrapositiva de la proposicin si x
es impar, entonces 5x es impar es la proposicin si 5x no es impar, entonces x no es
impar o, mejor, si 5x es par, entonces x es par. Determinar la contrapositiva de una
proposicin puede ser difcil cuando dicha proposicin exhibe una estructura con varios
conectivos lgicos. En general, existen variantes a la demostracin por contrapositiva; a
continuacin se presentan algunas de ellas.
5.5. Tcnicas complementarias 143

Metateorema 5.17

Sean un conjunto de proposiciones y , 0 , 1 , , 0 , 1 proposiciones:


1. `DS 0 1 sii `DS 1 0 .
2. `DS 0 1 sii `DS 0 1 .
3. `DS 0 1 0 1 sii `DS 0 1 0 1 .

Por ejemplo, una contrapositiva de la proposicin si x es impar y y es par, entonces


xy es par es la proposicin si xy es impar, entonces x es par o y es impar (por qu?).
En este caso, se podra suponer que xy es impar (tcnica de suposicin del antecedente) y
demostrar que al menos uno de x e y es impar.
Ejemplo 5.12

Si a + b es par, entonces a y b no son consecutivos.


Demostracin. El objetivo es demostrar:
`DS par(a + b) (a , b + 1).
Al igual que en Ejemplo 5.9, y sin que esto sea importante para la demostracin, se fija un
rden entre a y b. Note que por el Metateorema 5.16 basta con demostrar:
`DS (a = b + 1) impar(a + b),
lo cual es la conclusin del Ejemplo 5.9.

En general, es difcil establecer unvocamente si es ms fcil demostrar una implica-


cin o una de sus contrapositivas. En principio, vale la pena primero tratar de encontrar una
demostracin de dicha implicacin en su forma original. Si se falla, entonces la demostra-
cin de una de sus contrapositivas puede ser una buena alternativa.

5.5.5. Anlisis de casos. El siguiente texto se toma prestado de Wikipedia y es


traducido al castellano por el autor:
El anlisis por casos es uno de los mtodos ms generales y aplicables en el pensamiento
analtico. Este depende nicamente de la divisin de un problema, decisin o situacin en
una cantidad suficiente de subproblemas (o casos). El anlisis de cada uno de los casos
puede ser suficiente para resolver el problema original.
El principio de anlisis por casos se usa en una observacin famosa de Sherlock Holmes,
explicando que cuando se ha eliminado lo imposible, lo que reulte debe ser verdadero, por
muy inverosmil que parezca. Las races lgicas de la observacin de Holmes estn basadas
en el principio del tercero excludo (por qu?).
En este texto se distinguen dos principios de anlisis por casos:
Anlisis de casos sobre una variable proposicional.
Anlisis de casos exhaustivos.
144 5. Tcnicas de razonamiento y demostracin

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

Sean una coleccin de proposiciones y una proposicin:


`DS `DS p := true y `DS p := false .
   
sii

El Metateorema 5.18 est basado en una propiedad de la lgica proposicional conocida


como la Regla de Shannon.
Teorema 5.19

Sean p una variable proposicional y una proposicin:


`DS (p p := true ) (p p := false ).
   

La demostracin del Teorema 5.19 se propone como ejercicio para el lector.


En general, para aplicar el Metateorema 5.18 queriendo demostrar que proposicin
es un teorema de , se usa el siguiente mtodo:
1. demostrar que p := true es teorema de y
 

2. demostrar que p := false es teorema de .


 

Ejemplo 5.13

Considere el Teorema 4.24.1 de asociatividad de la conjuncin:


`DS (p (q r)) ((p q) r).
El Metateorema 5.18 establece que basta con demostrar, por ejemplo:
`DS (true (q r)) ((true q) r) y
`DS (false (q r)) ((false q) r).
Estas dos demostraciones se proponen como ejercicio para el lector.

El segundo principio de anlisis de casos est basado en la siguiente observacin:


Si 0 implica , 1 implica y 0 1 es cierto, entonces debe ser cierto.
El detalle ms importante en este tipo de anlsis por casos para demostar que una proposi-
cin es teorema, es que los casos 0 y 1 sean colectivamente exhaustivos, i.e., 0 1
5.5. Tcnicas complementarias 145

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

Sean una coleccin de proposiciones y , 0 , . . . , n proposiciones. Si


1. `DS ni=0 i y
W

2. `DS i , para cada 0 i n,


entonces `DS .

En el Metateorema 5.21 la variable n indica la cantidad de casos a ser considerados: n = 0


indica un caso, n = 1 indica dos casos, etc. Se llama la atencin del lector sobre el hecho
de que este metateorema se formula como una implicacin, a diferencia de los dems me-
tateoremas vistos en esta seccin que han sido formulados como una equivalencia lgica.
Finalmente, note que cuando n = 0, este metateorema corresponde a una versin de la
regla de inferencia Modus Ponens (Ejercicio 4.7.43) con suposiciones.
Ejemplo 5.14

Si a Z, entonces a2 , 5.
146 5. Tcnicas de razonamiento y demostracin

Demostracin. Considere los siguientes tres casos:


0 : a < 2, 1 : 2 a 2, 2 : 2 < a.
Los casos 0 , 1 , 2 son exhaustivos sobre a (por qu?). Por el Metateorema 5.21 basta
con demostrar que las implicaciones i , para i = 0, 1, 2, son teoremas. Estas tres
demostraciones se proponen como ejercicios para el lector.

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

Sean una coleccin de proposiciones y , 0 , . . . , n proposiciones:


W 
1. `DS i=0 i
n
sii `DS i , para cada 0 i n.
V 
2. `DS i=0 i
n
sii `DS i , para cada 0 i n.

El Metateorema 5.22 indica cmo se pueden demostrar implicaciones cuando el anteceden-


te es una disyuncin de proposiciones (5.22.1) y cuando el consecuente es una conjuncin
de proposiciones (5.22.2).
A continuacin se presenta un ejemplo sobre una propiedad de divisibilidad de los
nmeros enteros Z. Para ello, para cualquier par de nmeros enteros a, b Z, se introduce
la proposicin a | b de la siguiente manera:

a | b : hay un cab Z tal que b = acab (i.e., b es mltiplo de a).

Ejemplo 5.15

Si a Z no es mltiplo de 3, entonces a2 1 es mltiplo de 3.


Demostracin. El objetivo es demostrar:
`DS (3 | a) 3 | (a2 1).
Al hablar de mltiplos de 3, note que cualquier a se puede escribir de alguna de las si-
guientes formas para alguna constante c Z:
a = 3c, a = 3c + 1 o a = 3c + 2.
5.5. Tcnicas complementarias 147

Dado que a no es mltiplo de 3, se descarta el caso a = 3c. Entonces, el objetivo de la


demostracin se simplifica a demostrar para algn c Z:
`DS (a = 3c + 1) (a = 3c + 2) 3 | (a2 1).
Usando el Metateorema 5.22.1, basta con demostrar:
1. `DS (a = 3c + 1) 3 | (a2 1).
2. `DS (a = 3c + 2) 3 | (a2 1).
Estas dos demostraciones se proponen como ejercicio para el lector.

En la prctica es preferible evitar demostraciones por anlisis de casos cuando la can-


tidad de casos es significativa. El anlisis de casos, en estas situaciones, es poco elegante.
Otro motivo, para nada esttico, es que la cantidad de posibles errores en una demostra-
cin aumenta con la cantidad de casos considerados. En general, cuando un teorema se
demuestra con muchos casos, existe la percepcin de que dicho teorema es una coinciden-
cia y no una propiedad fundamental. Sin embargo, hay algunos teoremas importantes para
los cuales nicamente se conocen demostraciones por casos exhaustivos; esto no los hace
menos importantes o tiles. El teorema de los 4 colores y la conjetura de Kepler hacen
parte de este exclusivo grupo de teoremas (para ms informacin, ver ejercicios al final de
esta seccin).

Ejercicios

1. Demuestre el Metateorema 5.12.


2. Explique, paso a paso, por qu en la demostracin de la propiedad (1) en el Ejem-
plo 5.10 basta con demostrar para cualquier x:
{A B = B, x A} `DS x B.
3. Complete el Ejemplo 5.10 con la demostracin de la propiedad (2).
4. Sean A, B y C conjuntos. Demuestre:
a) A B A.
b) A A B.
c) (C A) (C B) C (A B).
5. Sean A y B conjuntos. En cada uno de los siguientes casos establezca si la condicin
dada es suficiente para establecer la igualdad de A y B (i.e, A = B):
a) A B y B A.
b) A B = B y A B = B.
c) A B = B y A B = A.
Justifique su respuesta: en el caso afirmativo presente una demostracin; en el caso
negativo presente un contraejemplo.
6. Demuestre el Metateorema 5.13.
148 5. Tcnicas de razonamiento y demostracin

7. Demuestre el converso de la propiedad enunciada en el Ejemplo 5.15: si a2 1 es


mltiplo de 3, entonces a no es mltiplo de 3.
8. Para a Z demuestre: (3 | a) 3 | (a2 1).
9. Para a Z demuestre: (5 | a) 5 | (a4 1).
10. Sean una coleccin de proposiciones y 0 , . . . , n proposiciones. Demuestre que la
siguiente tcnica de demostracin para una conjuntoria es correcta:
n
^
`DS i sii `DS i , para cada 0 i n.
i=0

11. Sean una coleccin de proposiciones y 0 , . . . , n proposiciones. Demuestre o refute:


n
_
`DS i sii `DS i , para algn 0 i n.
i=0

12. Demuestre el Metateorema 5.14.1.


13. Demuestre el Metateorema 5.14.2.
3
14. Demuestre que 2 es irracional.
15. Demuestre que el inverso aditivo de un nmero irracional es irracional.
16. Demuestre que no hay un nmero entero mayor o igual que todos los nmeros enteros.
17. Una ecuacin Diofantina es una ecuacin para la cual se buscan soluciones en Z.
Por ejemplo, una tripla Pitagrica (x, y, z) es una solucin a la ecuacin Diofantina
x2 + y2 = z2 .
a) Demuestre que no hay soluciones en los enteros positivos para la ecuacin Dio-
fantina x2 y2 = 1.
b) Demuestre que no hay soluciones en los enteros positivos para la ecuacin Dio-
fantina x2 y2 = 10.
18. Considere el problema de escribir una coleccin de nmeros de tal manera que se use
cada uno de los 10 digitos exactamente una vez. Por ejemplo, la coleccin {19, 28, 30, 7, 6, 5, 4}
usa cada uno de los 10 dgitos exactamente una vez. Existe una coleccin de nmeros
que satisfaga esta condicin y cuya suma sea 100? Justifique su respuesta.
19. Sean una coleccin de proposiciones y , proposiciones. Demuestre que el siguien-
te principio de demostracin por contradiccin es correcto:
`DS sii `DS .
20. Demuestre el Metateorema 5.16.
21. Demuestre el Metateorema 5.17.1.
22. Demuestre el Metateorema 5.17.2.
23. Demuestre el Metateorema 5.17.3.
24. Basndose en el Metateorema 5.17, proponga tres proposiciones equivalentes a si x
es impar y y es par, entonces xy es par.
25. Demuestre que si a, b Z son tales que par(a + b), entonces a y b tienen la misma
paridad. Dos nmeros tienen la misma paridad cuando ambos son impares o ambos
son pares.
5.5. Tcnicas complementarias 149

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

i) Demostracin por asombro.


j) Demostracin por repeticin.
k) Demostracin por reduccin al problema equivocado.
l) Demostracin por importancia.
m) Demostracin por eliminacin del contraejemplo.
n) Demostracin por cambio de definicin.
) Demostracin por notacin ilegible.
Parte 2

Lgica de predicados
Captulo 6

Lenguaje y especificacin

La lgica de predicados, o lgica de primer orden, es conocida coloquialmente como


la lgica de cuantificadores. De forma ms precisa, la lgica de predicados se obtiene de
la lgica proposicional al agregar los cuantificadores lgicos para todo, denotado con
y llamado cuantificador universal, y existe, denotado con y llamado cuantificador exis-
tencial. Para explicar por qu estos nuevos conectivos lgicos son necesarios, considere la
siguiente argumentacin.
Ejemplo 6.1

Todos los informticos son intelectualmente destacados. Turing es un informtico. Enton-


ces, Turing es intelectualmente destacado.

Desde el punto de vista de la lgica proposicional, la argumentacin en el Ejemplo 6.1


tiene la forma

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:

(x (I(x) D(x))), I(t), D(t),

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.

6.1. Trminos y frmulas

Un objetivo de la discusin que sirve como introduccin a este captulo es ilustrar la


necesidad de un lenguaje que permita codificar afirmaciones como frmulas de la lgica
de predicados. En esta seccin las reglas de codificacin de frmulas se hacen precisas por
medio de reglas sintcticas para su formacin. Es importante que el lector sea conciente de
que dado el poder expresivo de la lgica de predicados, su lenguaje es ms complejo que
el de la lgica proposicional.
La primera observacin importante es que en una frmula de la lgica de predicados
hay dos tipos de entes. El primer tipo corresponde a objetos. Individuos como Turing o
variables como x son objetos. Smbolos de funcin tambin permiten referirse a objetos.
Por ejemplo, teniendo como referencia el Ejemplo 6.1, si f es un smbolo de funcin que
denota el padre de un individuo, entonces f (t) representa al individuo que es padre de
Turing.
Nota 6.1

Un trmino es una expresin que denota objetos.

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.

El lenguaje de la lgica de predicados consta de variables, smbolos de funcin, sm-


bolos de predicado, una funcin de aridad, parntesis, comas y conectivos lgicos.
Definicin 6.3

Los smbolos del lenguaje de la lgica de predicados son:


Una coleccin infinita X de variables
x0 , x1 , x2 , . . .
Una coleccin F de smbolos de funcin.
Una coleccin P de smbolos de predicado.
6.1. Trminos y frmulas 155

Una funcin ar : F P N de aridad.


Parntesis izquierdo ( y parntesis derecho ), y la coma ,.
Una coleccin de conectivos lgicos
true, false, , ., , , , , , .

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.

Usando la notacin Backus-Naur, la Definicin 6.4 puede escribirse compactamente como:

(6.1) t ::= x | c | f (t, . . . , t),

en donde x X y c, f F son tales que ar(c) = 0 y ar( f ) > 0.


Es importante notar que los bloques de construccin bsicos de los trminos son las
variables y las constantes (i.e., smbolos de funcin con aridad 0). Trminos ms complejos
se construyen a partir de smbolos de funcin aplicados sobre trminos previamente cons-
trudos. Note que la definicin de trmino depende del conjunto F y, consecuentemente,
si este conjunto cambia, entonces tambin cambia el conjunto de trminos de la lgica de
predicados.
156 6. Lenguaje y especificacin

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

Sea F = {0, 1, 2, . . . , s, +, , } con ar(n) = 0 si n N, ar(s) = 1 y ar(+) = ar() = ar() =


2. Entonces ((2, +(s(x1 ), x0 )), x1 ) es un trmino. Usualmente los smbolos de funcin
binarios se escriben con notacin infija en favor de la notacin prefija; consecuentemente,
este trmino se escribe como
(2 (s(x1 ) + x0 )) x1 .

La eleccin de los conjuntos F y P de smbolos de funcin y de predicado, respectiva-


mente, est motivada por la realidad que se desea especificar. Por ejemplo, si el objetivo es
describir una base de datos de relaciones familiares, entonces se puede considerar el con-
junto P = {H, M, O, A} para referirse, respectivamente, a ser hombre (smbolo H), ser
mujer (smbolo M), ser hijo de (smbolo O) y ser hija de (smbolo A). Naturalmente
M y F son smbolos unarios (i.e., ar(H) = ar(M) = 1), mientras que O y A son binarios
(i.e., ar(O) = ar(A) = 2).
Conociendo la coleccin de trminos para un conjunto de smbolos de funcin dado,
es posible definir la coleccin de frmulas de la lgica de predicados para un conjunto de
smbolos de predicado dado.
Definicin 6.5

Las frmulas de la lgica de predicados sobre (F , P) con variables en X son aquellas


cadenas obtenidas usando una cantidad finita de veces las siguientes reglas de construccin:
1. Las constantes true y false son frmulas.
2. Si P P y ar(P) = 0, entonces P es una frmula.
3. Si t1 , . . . , tn son trminos sobre F y Q P es tal que ar(Q) = n con n > 0, entonces
Q(t1 , . . . , tn ) es una frmula.
4. Si es una frmula, entonces () es una frmula.
5. Si y son frmulas, y {, ., , , , }, entonces ( ) es una frmula.
6. Si es una frmula y x es una variable, entonces (x ) y (x ) son frmulas.
La expresin T(F ,P) (X) denota la coleccin de frmulas sobre (F , P) con variables en X.

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

escribirse usando la notacin Backus-Naur de la siguiente manera:

(6.2) ::= true | false | P | Q(t1 , . . . , tn ) | () | ( ) | ( . ) | ( )


| ( ) | ( ) | ( ) | (x ) | (x ),

en donde P, Q P con ar(P) = 0, ar(Q) = n > 0, ti son trminos sobre F y x X.


Recuerde que todo lo que aparece a la derecha del smbolo ::= corresponde a una frmula
que ya ha sido construda siguiendo las mismas reglas de construccin.
A continuacin se presenta una tabla con los nombres y las interpretaciones intuitivas
que reciben los cuantificadores:

Smbolo Nombre Interpretacin


cuantificador universal todo es tal que
cuantificador existencial hay un tal que

Nota 6.6

Por conveniencia, en la lgica de predicados se preserva la convencin sobre la prece-


dencia de los conectivos lgicos de la lgica proposicional (Nota 5.1). Se establece que
los cuantificadores , tienen la misma precedencia que . En consecuencia, se adoptan
las siguientes convenciones sobre la precedencia de los conectivos lgicos de la lgica de
predicados:
Las constantes true y false tienen ms precedencia que , , .
Los conectivos , , tienen ms precedencia que , .
Los conectivos , tienen ms precedencia que , .
Los conectivos , tienen ms precedencia que , ..

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:

Todo hijo de mi padre es mi hermano.


158 6. Lenguaje y especificacin

x0

P Q x0 x1

x0 x0

Figura 2. rbol de sintaxis de x0 ((P(x0 ) Q(x0 )) S (x0 , x1 )).

A continuacin se presentan dos ejemplos de especificacin con lenguajes similares, solo


que en uno de ellos padre se usa como smbolo de predicado y en el otro como smbolo de
funcin.
Ejemplo 6.4

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

d) g(x, h(y, z), d)


e) f ( f (g(d, x), f (g(d, x), t, g(y, d)), g(d, d)), g( f (d, d, x), d), z)
6. Sea F = {d, f, g} con ar(d) = 0, ar( f ) = 3 y ar(g) = 2.
a) La longitud de un trmino sobre F corresponde a la cantidad de smbolos que
se usan en su representacin, incluyendo las comas y parntesis. Por ejemplo, la
longitud de f (x0 , g(x1 , x2 ), x2 ) es 13. Liste todos los trminos sobre F libres de
variables cuya longitud sea menor a 10.
b) La altura de una trmino sobre F se define como 1 ms la longitud del camino
ms largo en el rbol de sintaxis. Por ejemplo, la altura del trmino f (x0 , g(x1 , x2 ), x2 )
es 3. Liste todos los trminos sobre F libres de variables cuya altura sea menor a
4.
7. Dibuje el rbol de sintaxis del trmino (2 (s(x0 ) + x0 )) x1 del Ejemplo 6.3.
8. Dibuje el rbol de sintaxis del trmino (2 s(x0 )) + (x1 x0 ), teniendo en cuenta que
, +, se usan con notacin infija.
9. Suponga que F = {} y P = {p0 , p1 , . . .} es una coleccin infinita de smbolos de
funcin tales que ar(pn ) = 0 para n N.
a) Liste cinco frmulas sobre (F , P) con variables en X.
b) Cmo puede relacionar la coleccin de proposiciones T (V) del sistema DS con
las frmulas T(F ,P) (X) de la lgica de predicados sobre (F , P) con variables en
X = {}? Explique su respuesta.
10. Complete el Ejemplo 6.4 con la definicin de la funcin ar para los smbolos de fun-
cin y de predicado.
11. Complete el Ejemplo 6.5 con la definicin de los conjuntos F y P, y la definicin de
la funcin ar para los smbolos en estos conjuntos.
12. Justifique detalladamente por qu la expresin obtenida en el Ejemplo 6.5 es una fr-
mula.
13. Escriba la frmula del Ejemplo 6.4 siguiendo la convencin notacional de la Nota 6.7.
14. Sean m un smbolo de funcin constante, f un smbolo de funcin con un argumento
y S , B smbolos de predicado con dos argumentos. Suponga que x, y, z son variables
en X. Cules de las siguientes expresiones son frmulas? Dibuje el rbol de sintaxis
cuando la expresin sea una frmula; en el caso contrario, explique por qu no es una
frmula.
a) S (m, x)
b) B(m, f (m))
c) f (m)
d) B(B(m, x), y)
e) S (B(m), z)
f ) B(x, y) z S (z, y)
g) B(x, y) (z |: S (z, y))
h) S (x, y) S (y, f ( f (x)))
i) B(x) . B(B(x))
15. Sean c, d smbolos de funcin constantes, f un smbolo de funcin con un argumento
y h un smbolo de funcin con dos argumentos. Adems, sean P, Q smbolos de pre-
dicado con tres argumentos. Suponga que x, y, z son variables en X. Cules de las
6.1. Trminos y frmulas 161

siguientes expresiones son frmulas? Dibuje el rbol de sintaxis cuando la expresin


sea una frmula; en el caso contrario, explique por qu no es una frmula.
a) x P( f (d), h(g(c, x), d, y))
b) x P( f (d), h(P(x, y), d, y))
c) x Q(g(h(x, f (d), x), g(x, x)), h(x, x, x), c)
d) z (Q(z, z, z) P(z))
e) (z | Q(z, z, z) : P(z))
f ) x y (g(x, y) P(x, y, z))
g) Q(c, d, c)
16. Use los smbolos de predicado
A(x, y) : x admira a y,
B(x, y) : x asisti a y,
P(x) : x es profesor,
E(x) : x es estudiante,
C(x) : x es una clase,
y el smbolo de funcin constante
m : Mara
para especificar las siguientes frases en el lenguaje de la lgica de predicados:
a) Mara admira a todos los profesores (ayuda: la respuesta no es (x |: A(m, P(x)))).
b) Algn profesor admira a Mara.
c) Mara se auto-admira.
d) No todos los estudiantes asisten a todas las clases.
e) Ninguna clase tuvo como asistentes a todos los estudiantes.
f ) Ninguna clase tuvo como asistentes a estudiante alguno.
17. Use los smbolos de predicado
G(x, y) : x le gana y,
F(x) : x es un equipo de ftbol,
A(x, y) : x es arquero de y,
P(x, y) : x pierde con y,
y los smbolos de funcin constantes
b : El Bosque,
t : TikiTiki
para especificar las siguientes frases en el lenguaje de la lgica de predicados:
a) Todo equipo de ftbol tiene un arquero.
b) Si El Bosque le gana a TikiTiki, entonces El Bosque no pierde contra todos los
equipos.
c) TikiTiki le gan a un equipo, el cual le gan a El Bosque.
18. Suponga que P(x, y) denota x es padre de y y M(x, y) denota x es madre de y. De
forma similar, suponga que E(x, y), A(x, y) y H(x, y) denotan x es esposo/hermana/hermano
de y, respectivamente. Finalmente, suponga que puede usar smbolos de funcin con-
sante para identificar individuos como Juan y Juana. Sin embargo, no es permitido
162 6. Lenguaje y especificacin

usar smbolos de predicado distintos a los introducidos inicialmente para especificar


en el lenguaje de la lgica de predicados las siguientes proposiones:
a) Todos tienen un madre.
b) Todos tienen una madre y un padre.
c) Quien sea tiene una madre tiene un padre.
d) Juan es abuelo.
e) Todos los paps son padres.
f ) Todos los esposos son parejas.
g) No to es una ta.
h) La abuela de ninguno es el padre de alguien.
i) Juan y Juana son marido y mujer.
j) Carlos es el cuado de Mnica.
19. Suponga que F = {} y P = {P} es tal que ar(P) = 2. Adems suponga que P(x, y)
simboliza x e y son iguales (en este caso, la pareja (F , P) se denomina el lenguaje
de la igualdad). Especifique las siguientes frases en el lenguaje de la igualdad:
a) Hay al menos dos elementos.
b) Hay a lo sumo dos elementos.
c) Hay exactamente tres elementos.
d) Para cualquier par de elementos, hay otro elemento distinto a ellos.
20. Suponga que F = {} y P = {R} es tal que ar(R) = 1. Especifique las siguientes frases
en el lenguaje de la lgica de predicados:
a) Exactamente un elemento tiene la propiedad R.
b) Todos, excepto dos elementos, tienen la propiedad R.
21. Defina unos conjuntos de smbolos de funcin y de predicado adecuados, y especifique
en el lenguaje de la lgica de predicados las siguientes proposiones:
a) Cada quien ama a alguien.
b) Alguien ama a alguien.
c) Cada quien ama a todo el mundo.
d) Nadie ama a todo el mundo.
e) Alguien no ama a nadie.
22. Defina unos conjuntos de smbolos de funcin y de predicado adecuados, y especifique
en el lenguaje de la lgica de predicados las siguientes proposiones:
a) Todos los humanos son egostas.
b) Ningn humano es egosta.
c) Algunos humanos son egostas.
d) Algunos humanos no son egostas.
23. Defina unos conjuntos de smbolos de funcin y de predicado adecuados, y especifique
en el lenguaje de la lgica de predicados las siguientes proposiones:
a) Todas las cosas rojas estn en la caja.
b) nicamente cosas rojas estn en la caja.
c) Ningn animal es gato y perro.
d) Todos los premios fueron ganados por un nio.
e) Un nio gan todos los premios.
24. Defina unos conjuntos de smbolos de funcin y de predicado adecuados, y especifique
en el lenguaje de la lgica de predicados las siguientes proposiones:
a) Usted puede engaar a algunos algunas veces.
6.1. Trminos y frmulas 163

b) Usted puede engaar a todos algunas veces.


c) Usted no puede engaarlos a todos algunas veces.
d) Usted no puede engaar a alguien todas las veces.
25. Defina unos conjuntos de smbolos de funcin y de predicado adecuados, y especifique
en el lenguaje de la lgica de predicados las siguientes proposiones:
a) Mensajes enviados de un proceso a otro son recibidos en el orden en que fueron
enviados.
b) Mensajes enviados a todos los procesos por un proceso son recibidos por todos
los procesos en el orden en que fueron enviados.
c) Todos los mensajes son recibidos en el mismo orden por todos los procesos.
26. Defina unos conjuntos de smbolos de funcin y de predicado adecuados, y especifique
en el lenguaje de la lgica de predicados las siguientes proposiones:
a) Un estudiante recibe una nota por cada curso en que est registrado.
b) El registro de un curso requiere haber aprobado todos sus prerrequisitos.
c) Ningn estudiante con una nota menor a 3 en un curso requerido se grada con
honores.
27. Identifique los conjuntos de smbolos de funcin y de predicado adecuados, y especi-
fique en el lenguaje de la lgica de predicados la siguiente proposin:
Suponiendo que cada tarea t toma tarea(t) segundos, el tiempo de inicio
inicio(t) de la tarea t es el tiempo ms temprano en el cual todas las tareas
prerrequisito en la coleccin prer(t) han sido completadas.
28. Las siguientes frases del ingls han sido tomadas de RFC3157 Internet Task Force
Document Securely Available Credentials Requirements. Defina unos conjuntos de
smbolos de funcin y de predicado adecuados, y especifique en el lenguaje de la
lgica de predicados cada una de ellas:
a) An attacker can persuade a server that a successful login has occurred, even if it
hasnt.
b) An attacker can overwrite someone elses credentials on the server.
c) All users enter passwords instead of names.
d) Credential transfer both to and from a device MUST be supported.
e) Credentials MUST NOT be forced by the protocol to be present in clear text at
any device other than the end users.
29. Investigue y explique brevemente en qu consisten las notaciones prefija, infija y pos-
fija. Iluestre con un ejemplo en cada uno de los casos.
30. Investigue la definicin de un grupo en un libro de lgebra abstracta.
a) Describa el lenguaje (F , P) para grupos.
b) Proponga frmulas sobre (F , P) que correspondan a los axiomas de los grupos.
31. Investigue la definicin de un espacio vectorial en un libro de lgebra lineal.
a) Describa el lenguaje (F , P) para espacios vectoriales.
b) Proponga frmulas sobre (F , P) que correspondan a los axiomas de los espacios
vectoriales.
Suponga que las variables varan sobre vectores y escalares. Para distinguir entre
ellas, incluya en el lenguaje los smbolos de predicado V, S con aridad ar(V) = ar(S ) =
0 de forma tal que V(x) denote x es un vector y S (x) denote x es un escalar.
164 6. Lenguaje y especificacin

32. Defina unos conjuntos de smbolos de funcin y de predicado adecuados, y especifique


en el lenguaje de la lgica de predicados la siguiente argumentacin:
Hay un hombre que desprecia la humanidad. Entonces hay un hombre des-
preciado por toda humanidad.
Intuitivamente, es el argumento correcto?
33. Defina unos conjuntos de smbolos de funcin y de predicado adecuados, y especifique
en el lenguaje de la lgica de predicados la siguiente argumentacin:
Las hienas son peligrosas. Ningn gato es peligroso. Entonces, los gatos no
son hienas.
Intuitivamente, es el argumento correcto?

6.2. Variables libres y acotadas

Esta seccin inicia la discusin de un tema delicado de la lgica de predicados: cmo


sustitur en una frmula un trmino por una variable. El problema radica en que dados una
frmula , una variable x y un trmino t sobre (X, F ), al sustitur x por t en , se desea que
la frmula resultante diga sobre t lo mismo que dice sobre x. Dado que x puede apare-
cer dentro de subfrmulas cuantificadas de , alguna variable de t, si hay alguna, puede ser
capturada por dichos cuantificadores. En general, este fenmeno potencialmente cam-
bia el significado de una frmula, lo cual es problemtico y por ende se debe evitar. Esta
seccin introduce nociones que permiten clasificar las apariciones de las variables en una
frmula. En particular, estas nociones sern tiles en la Seccin 6.3 para responder clara y
correctamente la pregunta: cmo sustitur adecuadamente una variable por un trmino en
un frmula?
En un rbol de sintaxis de una frmula de la lgica de predicados, las variables apa-
recen como etiquetas en dos tipos de nodos. Unas variables pueden aparecer en nodos
internos del rbol de sintaxis indicando el alcance de un cuantificador en una subfrmula.
Otras variables aparecen en las hojas del rbol de sintaxis, algunas de ellas bajo el alcance
de un cuantificador. Una variable x que aparece en una hoja del rbol de sintaxis que no
tiene como ancestro un nodo con etiqueta x o x recibe el nombre de variable libre
porque representa objetos que an estn por concretar. El el caso contrario, estas variables
que aparecen en las hojas del rbol reciben el nombre de variables acotadas porque su
valor est sujeto al cuantificador que la precede.
Considere el rbol de sintaxis en la Figura 3 correspondiente a la frmula
(x0 P(x0 , f (x1 ))) Q(x2 ) x2 P(x2 , x0 ),
en donde el smbolo de funcin f tiene aridad 1 y los smbolos de predicado P, Q tienen
aridad 2 y 1, respectivamente. En este rbol de sintaxis hay un nodo interno con etiqueta
x0 y otro con etiqueta x2 . Dos de las hojas del rbol estn etiquetadas con x0 y x2 ,
respectivamente, mientras que la hoja restante est etiquetada con x1 . Si se recorre el rbol
hacia arriba desde la primera hoja que corresponde a x0 , de izquierda a derecha, entonces se
encuentra el nodo etiquetado x0 . Como ambas etiquetas se refieren a la misma variable, en
este caso x0 , se tiene que la aparicin de x0 desde donde se inici el recorrido est acotada
en la frmula asociada al subrbol con raz x0 . En otas palabras, esa aparicin de x0 est
acotada en la frmula x0 P(x0 , f (x1 )). En contraste, si se inicia un recorrido similar desde
6.2. Variables libres y acotadas 165

x0

P Q x2

x0 f x2 P

x1 x2 x0

Figura 3. rbol de sintaxis de (x0 P(x0 , f (x1 ))) Q(x2 ) x2 P(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

Sea una frmula en T(F ,P) (X) y x una variable en X.


Una aparicin de x es libre en sii el recorrido en el rbol de sintaxis de desde la
hoja asociada a esa aparicin de x no tiene etiquetas x o x.
Una aparicin de x es acotada en sii dicha aparicin no es libre en .

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

Considere la frmula representada por el rbol de sintaxis en la Figura 3. La variable x0


ocurre libre y acotada en esta frmula. A su vez, la variable x1 nicamente ocurre libre,
mientras que x2 , al igual que x0 , ocurre libre y acotada en la frmula.
166 6. Lenguaje y especificacin

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).

A continuacin se hace precisa la nocin de alcance de un cuantificador.


Definicin 6.10

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 .

En trminos de rboles de sintaxis, el alcance de un cuantificador sobre una variable x es


un subrbol de en el cual se ignoran aquellos subrboles cuya etiqueta corresponde a un
cuantificador sobre x. Note que de acuerdo con la Definicin 6.10, una aparicin de una
variable x es acotada sii dicha aparicin est al alcance de algn x o x; de lo contrario,
esa aparicin de x es libre en la frmula.
Ejemplo 6.7

Considere la frmula en la Figura 3:


((x0 P(x0 , f (x1 ))) Q(x2 ) x2 P(x2 , x0 )).
El alcance de x0 es la frmula P(x0 , f (x1 )). El alcance de x2 es la frmula P(x2 , x0 ).

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?

Es importante notar, en general, que una hoja de un rbol de sintaxis est o no en el


alcance de un cuantificador. Consecuentemente, una aparicin individual de una variable
es libre o acotada, pero no puede ser ambas a la vez.
6.2. Variables libres y acotadas 167

Ejercicios

1. Considere el rbol de sintaxis en la Figura 3. Explique por qu una aparicin de x2 es


libre y la otra es acotada.
2. Considere la frmula en el Ejemplo 6.8. Dibuje el rbol de sintaxis, y explique por qu
el alcance de x0 es P(x0 , x1 ) y el alcance de x0 es Q(x0 ).
3. Sean m un smbolo de funcin constante (i.e., ar(m) = 0), f un smbolo de funcin
con un argumento y S , B smbolos de predicado con dos argumentos. Suponga que
x, y, z son variables en X. Para cada una de las siguientes frmulas, indique (i) cules
apariciones de x, y, z son libres y (ii) cules son acotadas.
a) S (m, x)
b) B(m, f (m))
c) B(x, y) z S (z, y)
d) y B(x, y) z S (z, y)
e) S (x, y) S (y, f ( f (x)))
4. Sean c, d smbolos de funcin constantes, f un smbolo de funcin con un argumento
y h un smbolo de funcin con dos argumentos. Adems, sean P, Q smbolos de predi-
cado con tres argumentos. Suponga que x, y, z son variables en X. Para cada una de las
siguientes frmulas, indique (i) cules apariciones de x, y, z son libres, (ii) cules son
acotadas y (iii) el alcance de cada uno de los cuantificadores.
a) P(c, c, d) x P( f (d), h(h(c, x), d), y)
b) y (P(x, y, x) z Q(z, y, f (z)))
c) y P(x, y, x) . y Q(z, y, f (z))
d) y (P(x, y, x) . y Q(z, y, f (z)))
e) x y P(x, y, x) z Q(z, y, f (x))
f ) z y P(x, y, x) z Q(z, y, f (x))
g) x (y P(x, y, x) z Q(z, y, f (x)))
h) z (y P(x, y, x) z Q(z, y, f (x)))
5. Sea la frmula

x(P(y, z) y (Q(y, x) P(y, z))),

en donde x, y, z son variables y P, Q smbolos de predicado con dos argumentos.


a) Dibuje el rbol de sintaxis de .
b) Identifique las apariciones de variables libres y acotadas en .
c) Hay alguna variable en que tenga apariciones libres y acotadas? Explique bre-
vemente.
d) Cul es el alcance de x en ?
e) Cul es el alcance de y en ?
f ) Cambie la parentizacin en de tal manera que el alcance de x en la frmula
resultante sea P(y, z); dibuje el rbol de sintaxis correspondiente.
6. Proponga una definicin inductiva sobre la estructura de las frmulas para la expresin
quant(x, ) que es cierta si y solo si la variable x aparece cuantificada en la frmula .
168 6. Lenguaje y especificacin

6.3. Sustitucin de trminos

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 es una funcin F : X TF (X) distinta a la identidad en una


cantidad finita de elementos del dominio.

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 }

indicando que el trmino ui est asociado a la variable yi (0 i n) y cualquier otra varia-


ble est asociada a s misma cuando esta no aparece en la lista de variables y0 , y1 , . . . , yn .
La definicin de cmo una sustitucin se aplica a una frmula se presenta en dos
partes. Inicialmente, se define cmo una sustitucin se aplica a un trmino y posteriormente
se define cmo se aplica a una frmula.
Definicin 6.12

Sea t un trmino y F = {y0 7 u0 , y1 7 u1 , . . . , yn 7 un } una sustitucin de trminos.


La sustitucin textual de F en t, denotada como F(t), se define inductivamente para todo
subtrmino de t de la siguiente manera:
1. F(x) = F(x), si x {y0 , . . . , yn },
2. F(x) = x, si x < {y0 , . . . , yn },
3. F(c) = c, si c F y ar(c) = 0 y
6.3. Sustitucin de trminos 169

4. F( f (t1 , . . . , tk )) = f (F(t1 ), . . . , F(tk )) si f F es tal que ar( f ) = k > 0 y t1 , . . . , tk son


trminos.

De acuerdo con la Definicin 6.12, aplicar una sustitucin de trminos F a un trmino t


resulta en un trmino F(t) en el cual algunas variables de t pueden haber sido reemplazadas.
El caso (1) de esta definicin indica explcitamente cmo una variable x en t es reemplazada
por F(x). En los casos (2) y (3) note que si t es una variable que no es parte de las variables
afectadas por F o es una constante, entonces F(t) = t. El caso (4) corresponde a la
definicin inductiva que depende de la estructura interna de los subtrminos de t.
Ejemplo 6.9

Considere F = {x0 7 f (x2 ), x1 7 h(x0 , x3 ), x8 7 x7 } una sustitucin de trminos y t el


trmino h(x0 , g(x1 , x0 , x2 )). Entonces F(t) es el trmino:
h( f (x2 ), g(h(x0 , x3 ), f (x2 ), x2 )).

Por motivos tcnicos, es necesario introducir el concepto de restriccin de una susti-


tucin de trminos antes de definir cmo una sustitucin se aplica a una frmula. La idea
es usar las restricciones de una variable en una sustitucin para controlar cules de las
apariciones de una variable se reemplazan.
Definicin 6.13

Sea x una variable y F una sustitucin de trminos. La restriccin de x en F, denotada F/x ,


es la sustitucin de trminos definida para cualquier variable y de la siguiente manera:
, si x = y
(
x
F/x (y) =
F(y) , si x , y.

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

Sea F = {x0 7 f (x2 ), x1 7 h(x0 , x3 ), x8 7 x7 }. Entonces:


F/x0 es {x1 7 h(x0 , x3 ), x8 7 x7 }.
F/x1 es {x0 7 f (x2 ), x8 7 x7 }.
170 6. Lenguaje y especificacin

F/x2 y F/x7 son F.


F/x8 es {x0 7 f (x2 ), x1 7 h(x0 , x3 )}.

A continuacin se define cmo una sustitucin de trminos se aplica a una frmula.

Definicin 6.14

Sea una frmula y F = {y0 7 u0 , y1 7 u1 , . . . , yn 7 un } una sustitucin de trminos.


La sustitucin textual de F en , denotada como F(), se define inductivamente para toda
subfrmula de de la siguiente manera:
1. F(true) = true y F(false) = false,
2. F(P) = P, si P P y ar(P) = 0,
3. F(Q(t1 , . . . , tk )) = Q(F(t1 ), . . . , F(tk )), si Q P es tal que ar(Q) = k > 0 y t1 , . . . , tk
son trminos sobre F ,
4. F() = F(),
5. F( ) = F() F(), si {, ., , , , } y
6. F(x ) = x F/x () y F(x ) = x F/x ().

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

Considere F = {x0 7 f (x2 ), x1 7 h(x0 , x3 ), x8 7 x7 } una sustitucin de trminos y la


frmula B(g(x0 , x1 ), f (x1 )) true. Entonces F() es la frmula:
B(g( f (x2 ), h(x0 , x3 )), f (h(x0 , x3 ))) true.

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

Considere F = {x0 7 f (x2 ), x1 7 h(x0 , x3 ), x8 7 x7 } una sustitucin de trminos y la


frmula en la Figura 3:
((x0 P(x0 , f (x1 ))) Q(x2 ) x2 P(x2 , x0 )).
Entonces F() es la frmula:
((x0 P(x0 , f (h(x0 , x3 )))) Q(x2 ) x2 P(x2 , f (x2 ))).

En el Ejemplo 6.12 no todas las variables de la frmula aparecen libres. La primera


aparicin de x0 (de izquierda a derecha) es acotada y por lo tanto no es afectada por F.
Caso contrario ocurre con la segunda aparicin de x0 que es libre y, consecuentemente, es
sustituda por F con el trmino f (x2 ). La nica aparicin de x1 es libre y es sustituda por
F con el trmino h(x0 , x3 ).
Nota 6.15

Para simplificar la escritura de la extensin F de una sustitucin de trminos F, se adop-


ta la convencin de referirse a dicha extensin como una sustitucin de trminos y de-
notarla como F. Finalmente, si es una frmula y F es una sustitucin de trminos
{y0 7 u0 , . . . , yn 7 un }, entonces F() puede escribirse como
y0 , . . . , yn := u0 , . . . , un .
 

Desafortunadamente, an bajo los cuidados de la Definicin 6.14, las sustituciones


textuales pueden dar lugar a efectos inesperados. En una sustitucin textual [x := t], pue-
de suceder que una variable y aparezca en t mientras una aparicin libre de x en est en
el alcance de una cuantificacin y o y. En este caso, la variable y que en denota un
valor externo, da lugar en [x := t] a una variable que est cuantificada universal o exis-
tencialmente. En cualquier caso, se puede cambiar el sentido de la frmula inicial y este es
en realidad el problema operativo de las sustituciones en la lgica de predicados.
172 6. Lenguaje y especificacin

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

Sea la frmula B(g(x0 , x1 ), f (x1 )) true. Considere el trmino t correspondiente a


f (g(x1 , x3 )).
t es libre para x1 en .
t es libre para x2 en .
En general, cualquier trmino u es libre para cada una de las variables x0 , x1 en porque
esta frmula no tiene cuantificadores.

Ejemplo 6.14

Sea la frmula en la Figura 3:


((x0 P(x0 , f (x1 ))) Q(x2 ) x2 P(x2 , x0 )).
f (x2 ) no es libre para x0 en porque hay una aparicin libre de x0 en que est bajo
el alcance de un cuantificador x2 y x2 es una variable en f (x2 ).
x1 es libre para x1 en .
f (x2 ) es libre para x1 en .
h(x0 , x3 ) no es libre para x1 en porque hay una aparicin libre de x1 en que est
bajo el alcance de un cuantificador x0 , y x0 es una variable en h(x0 , x3 ).

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

1. Considere la sustitucin textual F y el trmino t en el Ejemplo 6.9. Escriba en detalle


el clculo de F(t).
2. Considere la sustitucin textual F y la frmula en el Ejemplo 6.11.
a) Dibuje el rbol de sintaxis de .
b) Asocie a cada uno de los nodos del rbol de sintaxis de la sustitucin corres-
pondiente.
c) Dibuje el rbol de sintaxis de F().
3. Considere la sustitucin textual F y la frmula en el Ejemplo 6.12.
a) Dibuje el rbol de sintaxis de .
b) Asocie a cada uno de los nodos del rbol de sintaxis de la sustitucin corres-
pondiente.
c) Dibuje el rbol de sintaxis de F().
4. Determine la frmula x2 := f (x1 , x2 ) en donde es cada una de las siguientes fr-
 
mulas:
a) x2 (P(x1 , x2 ) P(x2 , c))
b) x2 P(x1 , x2 ) P(x2 , c)
c) Q(x3 ) x1 x2 R(x1 , x2 , c)
d) x1 Q(x1 ) x2 P(x1 , x2 )
e) x2 (P( f (x1 , x2 ), x1 ) x1 S (x3 , g(x1 , x2 )))
5. Sea t el trmino f (x1 , x2 ). Explique si t es libre para x2 en cada una de las siguientes
frmulas:
a) x2 (P(x1 , x2 ) P(x2 , c))
b) x2 P(x1 , x2 ) P(x2 , c)
c) Q(x3 ) x1 x2 R(x1 , x2 , c)
d) x1 Q(x1 ) x2 P(x1 , x2 )
e) x2 (P( f (x1 , x2 ), x1 ) x1 S (x3 , g(x1 , x2 )))
6. En cada uno de los siguientes casos, sea la frmula dada. Sea t el trmino f (x1 , x3 ).
Calcule [x1 := t] y luego explique si t es libre para x1 en .
a) x2 (P(x2 , f (x1 , x2 )) Q(x1 ))
b) x2 P(x2 , f (x1 , x2 )) Q(x1 )
c) x1 x3 (Q(x3 ) . Q(x1 ))
d) x1 x3 Q(x3 ) . Q(x1 )
e) x2 R(x1 , g(x1 ), x2 ) x3 Q( f (x1 , x3 ))
7. Repita el Ejercicio 6 para cada uno de los siguientes trminos t:
a) x2
b) x3
c) f (x4 , x1 )
d) h(x1 , x2 , x3 )
8. Considere la sustitucin textual F y la frmula en el Ejemplo 6.12. Proponga un
renombramiento de las variables en , sin cambiar el sentido de la frmula, de manera
tal que en la sustitucin textual F() no haya captura de variables.
174 6. Lenguaje y especificacin

9. Sean x, y variables, t, u trminos y una frmula. Formule un contraejemplo para la


siguiente igualdad:

([x := t]) y := u = ( y := u )[x := t] .


   

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 .
 

6.4. Un lenguaje para arreglos

En esta seccin se presenta LA , un lengueje de primer orden para arreglos de nmeros


enteros. Un arreglo es una secuencia finita de valores seleccionables por un ndice. En
informtica, los arreglos son estructuras de datos importantes, interesantes en s mismas,
y bloques fundamentales de construccin en otras estructuras de datos como montones,
diccionarios y grafos.
El lenguaje LA se define por medio de un conjunto FA de smbolos de funcin y un
conjunto PA de smbolos de predicado, lo cual se escribe como LA = (FA , PA ). Considere
las siguientes afirmaciones para motivar la definicin del lenguaje:
1. El arreglo a no es vaco.
2. El arreglo a est ordenado ascendentemente.
3. Los arreglos a y b son iguales.
De forma ms precisa, estas frases pueden escribirse alternativamente como:
1. El arreglo a es tal que len(a) > 0.
2. El arreglo a es tal que si i y j son dos de sus ndices y i < j, entonces a[i] a[ j].
3. Los arreglos a y b son tales que len(a) = len(b) y si i es uno de sus ndices, entonces
a[i] = b[i].
Al leer las frases (1)-(3) es evidente que LA debe inclur algunos smbolos que no co-
rresponden a variables o conectivos lgicos. En la frase (1) se usan los smbolos len para
denotar la longitud de un arreglo, > para denotar una relacin entre nmeros y 0 para de-
notar el nmero cero. En la frase (2) aparecen las variables i y j que se refieren a ndices
de un arreglo, y las relaciones <, para comparar dos nmeros. En esta misma frase, la
expresin a[i] denota el valor en a asociado al ndice i. En la frase (3) se usan dos nombres
de arreglo diferentes, la relacin = para comparar dos nmeros y una variable para denotar
ndices.
El lenguaje LA considera tres tipos de objetos: los ndices, los valores y los arreglos.
Como se ver en los siguientes prrafos, estas distinciones se pueden inclur en LA usando
la nocin de tipo.
6.4. Un lenguaje para arreglos 175

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

Los smbolos de funcin FA son los siguientes:


Una coleccin infinita de smbolos constantes 0, 1, 2, . . . de tipo I.
Una coleccin infinita de smbolos constantes . . . , 2, 1, 0, 1, 2, . . . de tipo V.
Una coleccin infinita de smbolos constantes a0 , a1 , a2 , . . . de tipo A.
Un smbolo unario len de tipo V con argumento de tipo A.
Un smbolo binario read de tipo V con primer argumento de tipo A y segundo argu-
mento de tipo I.
Los smbolos binarios +, , de tipo V con argumentos de tipo V.

Las constantes 0, 1, 2, . . . representan ndices para seleccionar valores almacenados en un


arreglo, las constantes . . . , 2, 1, 0, 1, 2, . . . representan valores almacenables en un arre-
glo y las constantes a0 , a1 , a2 , . . . identifican arreglos. Los smbolos len y read denotan,
respectivamente, la cantidad de elementos de un arreglo y el valor almacenado por un arre-
glo en un ndice dado. La distincin entre, por ejemplo, 0 como smbolo de tipo I y 0
como smbolo de tipo V se hace explcita a propsito: a pesar de las similitud caligrfica,
la constante 0 es una como ndice y otra como valor.
Nota 6.19

Si se abstrae el concepto de ndice en LA , se pueden modelar arreglos ms generales. Por


ejemplo, se pueden considerar arreglos cuyos ndices inicien desde 1 y, en un caso ms
general, arreglos cuyos ndices sean caracteres o cadenas.

Definicin 6.20

La expresin XI denota una coleccin infinita de variables de tipo I y XV una coleccin


infinita de variables de tipo V.

La Definicin 6.20 establece que X, la coleccin de variables de un lenguaje de primer


orden, en LA se descompone en XI y XV (i.e., X = XI XV ). Note que LA no considera
176 6. Lenguaje y especificacin

variables de tipo A y entonces en este lenguaje no es posible cuantificar sobre arreglos.


Para facilitar el desarrollo de la seccin se supondr que XI y XV no tienen elementos en
comn (i.e., XI XV = {}).
Sabiendo qu denota FA , la Definicin 6.4 automticamente indica cules son los tr-
minos del lengueja LA .
Ejemplo 6.15

Sean a, b un smbolos constantes de tipo A, i, j smbolos constantes de tipo I y n, m smbolos


constantes de tipo V. Los siguientes son trminos de LA :
i j a len(a) len(b) read(a, i) read(b, i) n+m nm
Los trminos i, j tienen tipo I, el trmino a tiene tipo A, los trminos len(a), len(b) tienen
tipo V, mientras que read(a, i), read(b, i), n + m, n m tienen tipo V.

A continuacin se definien los smbolos de predicado de LA .


Definicin 6.21

Los smbolos de predicado PA son los siguientes:


Un smbolo binario = cuyos dos argumentos son de tipo I.
Smbolos binarios =, , <, , > cuyos dos argumentos son de tipo V.

Las frmulas de LA modelan propiedades sobre arreglos y nmeros. En este lenguaje se


pueden expresar comparaciones entre nmeros, ndices y valores en arreglos. Intencional-
mente no se incluye un smbolo de predicado para denotar igualdad entre arreglos por el
motivo que dicho predicado puede ser definido con base en los predicados de igualdad de
ndices y valores (ver Ejemplo 6.18).
Al igual que en la Definicin 6.18, la Definicin 6.21 introduce dos smbolos con
la misma notacin. Este es el caso del smbolo de predicado = que se usa para denotar
igualdad entre ndices y para denotar igualdad entre valores. Esta situacin es particular
en LA porque la interpretacin deseada de un ndice es un nmero natural y la de un valor
es un nmero entero, y las relaciones de igualdad en N y Z coinciden. Esta situacin no
es posible con un lenguaje general de arreglos. Por ejemeplo, si los valores almacenados
en un arreglo son caracteres o cadenas, entonces las relaciones de igualdad entre ndices y
valores son distintas e incompatibles.
Nota 6.22

Se usarn algunas convenciones para simplificar la escritura de frmulas. Las expresiones


x:T y x:T denotan cuantificaciones sobre una variable x de tipo T (i.e., x XT ). Si a
6.4. Un lenguaje para arreglos 177

es una constante de tipo A e i es un trmino de tipo I, entonces la expresin a[i] denota el


trmino read(a, i).

A continuacin se presentan ejemplos de cmo especificar en LA las frases (1)-(3)


en la introduccin de la seccin. En estas especificaciones se opta por usar arreglos cuyo
primer ndice es 0. Esto quiere decir que si un arreglo almacena n elementos, entonces el
ltimo ndice de dicho arreglo es n 1.

Ejemplo 6.16

Para la frase el arreglo a no es vaco se propone la frmula


len(a) > 0.

En el Ejemplo 6.16, el nombre a es un parmetro de la frmula y corresponde a una de las


constantes a0 , a1 , . . . de tipo A (Definicin 6.18).

Ejemplo 6.17

Para la frase el arreglo a est ordenado ascendentemente se propone la frmula:


i:I (0 i < len(a) j:I (0 j < len(a) (i < j a[i] a[ j]))).
Alternativamente, usando la notacin introducida en la Nota 6.7:
(i:I | 0 i < len(a) : ( j:I | 0 j < len(a) : i < j a[i] a[ j])).

En el Ejemplo 6.17, el nombre a es un parmetro de la frmula. Las frmulas 0 i < len(a)


y 0 j < len(a) denotan, respectivamente, que i y j son ndices del arreglo a, es decir,
cantidades que indexan algn valor almacenado en a.
Ejemplo 6.18

Para la frase los arreglos a y b son iguales se propone la frmula:


(len(a) = len(b)) (i:I | (len(a) = len(b)) 0 i < len(a) : a[i] = b[i]).

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

Se puede ir un poco ms all de lo hecho en los ejemplos 6.16-6.18 En particular, se


pueden abstraer algunos conceptos y definir nuevos smbolos de predicado, permitiendo
modularidad en las frmulas y distintos niveles de granularidad en una especificacin.
Considere los siguientes smbolos: empty un smbolo de predicado unario con argu-
mento de tipo A, asc un smbolo de predicado ternario con primer argumento de tipo A y
dems argumentos de tipo I, y = un smbolo de predicado binario con dos argumentos de
tipo A. El significado intuitivo de estos predicados es el siguiente:
empty(a) : el arreglo a es vaco,
asc(a, x, y) : el subarreglo a[x], a[x + 1], . . . , x[y 1] es ascendente,
a = b : los arreglos a y b son iguales.
Las definiciones de estos smbolos de predicado en el lenguaje LA son las siguientes:
empty(a) (len(a) = 0)
asc(a, x, y) 0 x len(a) 0 y len(a)
(i:I | x i < y : ( j:I | x j < y : i j a[i] a[ j]))
a = b (len(a) = len(b))
(i:I | (len(a) = len(b)) 0 i < len(a) : a[i] = b[i]).

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.

Un ejercicio interesante y relacionado con el lenguaje LA , consiste en interpretar en


castellano sus frmulas.
Ejemplo 6.20

Sea a una constante de tipo A. Considere la siguiente frmula de LA :


(i:I | 0 i < len(a) : ( j:I | 0 j < len(a) : a[i] + a[ j] = 0)).
Cmo se interpreta esta frmula? En castellano, esta frmula podra ser traducida as:
6.4. Un lenguaje para arreglos 179

si se toma cualquier elemento v en a (v = a[i]), hay un elemento u en a (u = a[ j]) tal que u


es el inverso aditivo de v.

Ejemplo 6.21

Sea a una constante de tipo a. Considere la siguiente frmula de LA :


(i:I | 0 i < len(a) : a[i] = i).
En castellano, esta frmula indica que el arreglo a tiene al menos un punto fijo.

Se concluye esta seccin mostrando cmo traducir algunas frmulas de LA a cdigo


Python. En general, la prctica de mecanizar frmulas en un lenguaje de programacin es
muy atractiva y til porque entonces dichas frmulas pueden ser evaluadas automticamen-
te sobre elementos concretos. En particular, al contar con frmulas de LA mecanizadas en
Python, se pueden verificar automticamente propiedades sobre arreglos de nmeros ente-
ros por medio de la ejecucin de programas.

Ejemplo 6.22

Considere la siguiente funcin empty en Python3:


1 def empty(a):
2 assert type(a)==list
3 return len(a)==0

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

Considere la siguiente funcin asc en Python3:


1 def asc(a,x,y):
2 assert type(a)==list
3 r = 0<=x<=len(a) and 0<=y<=len(a)
4 i = x
5 while r and i<y:
6 j = x
7 while r and j<y:
8 if i<j:
9 r = a[i]<=a[j]
10 j += 1
11 i += 1
12 return r

La funcin asc(a,x,y) calcula en la variable r si el subarreglo a[x], ..., a[y 1] est


ordenado ascendentemente o no. Para ello es necesario que x e y sean cantidades correctas
como cotas para ndices de a. Si este es el caso y la funcin retorna negativamente, entonces
hay un par de ndices i y j, cumpliendo x i < y, x j < y y i < j, tales que los valores a[i]
y a[ j] estn desordenados. De lo contrario, la funcin retorna afirmativamente porque el
subarreglo de inters no tiene desorden. La variable r se usa como centinela de los ciclos:
si r corresponde a false en algn momento de la ejecucin, entonces no es necesario seguir
explorando el arreglo dado.
Para alguien familiarizado con programacin y el uso de arreglos, la funcin asc en
el Ejemplo 6.23 posiblemente no sea la primera opcin cuando se desee verificar que un
arreglo est ordenado ascendentemente. El principal motivo es que la funcin asc puede
realizar una cantidad significativa de comparaciones innecesarias. A pesar de este defecto,
la funcin asc sirve el propsito de evidenciar lo fcil que puede ser obtener una versin
ejecutable de una frmula de LA .
Nota 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.

Finalmente, se presenta un ejemplo correspondiente a la verificacin del predicado de


igualdad de arreglos.
6.4. Un lenguaje para arreglos 181

Ejemplo 6.24

Considere la siguiente funcin equal en Python3:


1 def equal(a,b):
2 assert type(a)==type(b)==list
3 r,i = len(a)==len(b),0
4 while r and i<len(a):
5 r,i = a[i]==b[i],i+1
6 return r

Ejercicios

1. Dibuje el rbol de sintaxis de los trminos en el Ejemplo 6.15.


2. Sean x una variable en XV , i una variable en XI y a un nombre de arreglo. Determine
cules de las siguientes expresiones son trminos de LA . En el caso de que la expresin
sea un trmino, dibuje el rbol de sintaxis; en el caso contrario explique por qu no es
un trmino.
a) len(a, 0)
b) read(a, 0)
c) a[0]
d) read(x, i)
e) x[i]
3. Dibuje el rbol de sintaxis de la frmula en el Ejemplo 6.16.
4. Dibuje el rbol de sintaxis de la frmula en el Ejemplo 6.17.
5. Dibuje el rbol de sintaxis de la frmula en el Ejemplo 6.18.
6. Dibuje el rbol de sintaxis de las frmulas en el Ejemplo 6.19.
7. Dibuje el rbol de sintaxis de la frmula en el Ejemplo 6.20.
8. Dibuje el rbol de sintaxis de la frmula en el Ejemplo 6.21.
9. Sean x una variable en XV y a un nombre de arreglo. Determine cules de las siguientes
expresiones son frmulas de LA . En el caso de que la expresin sea una frmula, dibuje
el rbol de sintaxis; en el caso contrario explique por qu no es una frmula.
a) i:I (a[i] = x)
b) i:I (0 i < len(a) a[i] = x)
c) b:A (b[i] = x)
d) len(a) > 1 j:I (a[0] a[ j] = a[0])
e) (i:I | 0 < i < len(a) : a[i 1] a[i])
10. Exhiba tres arreglos concretos para a que satisfagan la frmula del Ejemplo 6.17;
exhiba tres que no la satisfagan.
11. Especifique en LA las siguientes afirmaciones:
a) El arreglo a es decreciente.
b) Los arreglos a y b son distintos.
182 6. Lenguaje y especificacin

c) El arreglo a no tiene puntos fijos.


d) El arreglo a no tiene elementos repetidos.
e) El arreglo a es la identidad.
12. Sea a un arreglo. Traduzca al castellano cada una de las siguientes frmulas, y en cada
caso proponga un ejemplo de un arreglo que la satisfaga y otro que no:
a) x:V (len(a) = 2 x + 1)
b) (i:I | 0 i < len(a) : a[i] = a[0])
c) a[1] = 5 (i:I | 0 i < len(a) : a[i] = a[0])
d) (i:I | 0 i < len(a) : a[i] = a[i])
13. Proponga una mecanizacin para la frmula en el Ejemplo 6.20 en Python.
14. Proponga una mecanizacin para la frmula en el Ejemplo 6.21 en Python.
15. Considere un arreglo a y la frmula correspondiente a
(i:I | 0 < i < len(a) : a[i 1] a[i]).
a) Traduzca al castellano.
b) Identifique los parmetros de .
c) Proponga una mecanizacin para en Python.
16. Una secuencia finita de valores es llamada palndrome si su lectura hacia adelante y
hacia atrs es la misma.
a) Es un arreglo vaco palndrome?
b) Presente ejemplos de tres arreglos que sean palndromes y de tres que no lo sean.
c) Defina en LA un smbolo de predicado unario pal con argumento de tipo A que
corresponda a la siguiente definicin intuitiva: pal(a) indica que el arreglo a es
palndrome.
d) Proponga una mecanizacin para pal en Python.
17. Una secuencia finita de valores es llamada alndrome si resulta de concatenar dos
secuencias palndromes no vacas.
a) Es un arreglo vaco alndrome?
b) Presente ejemplos de tres arreglos que sean alndromes y de tres que no lo sean.
c) Defina en LA un smbolo de predicado unario al con argumento de tipo A que
corresponda a la siguiente definicin intuitiva: al(a) indica que el arreglo a es
alndrome.
d) Proponga una mecanizacin para al en Python.
18. Una secuencia finita de valores es llamada bitnica si resulta de concatenar una se-
cuencia creciente (posiblemente vaca) con una secuencia decreciente (posiblemente
vaca).
a) Es un arreglo vaco bitnico?
b) Presente ejemplos de tres arreglos que sean bitnicos y de tres que no lo sean.
c) Defina en LA un smbolo de predicado unario bit con argumento de tipo A que
corresponda a la siguiente definicin intuitiva: bit(a) indica que el arreglo a es
bitnico.
d) Proponga una mecanizacin para bit en Python.
19. Investigue acerca de los siguientes conceptos, explique su uso e ilstrelo con ejemplos:
asercin
precondicin
6.4. Un lenguaje para arreglos 183

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.

7.1. El sistema formal DS(L)

Inicialmente se definen los smbolos de DS(L).


Definicin 7.1

Los smbolos de DS(L) son:


Una coleccin infinita X de variables
x0 , x1 , x2 , . . .
Una coleccin F de smbolos de funcin.
Una coleccin P de smbolos de predicado que incluye una coleccin infinita de sm-
bolos constantes
p0 , p1 , p2 , . . .
Una funcin ar : F P N de aridad.

185
186 7. El sistema de Dijkstra y Scholten para primer orden

Parntesis izquierdo ( y parntesis derecho ), y la coma ,.


Una coleccin de conectivos lgicos
true, false, , , ., , , , , , .

De acuerdo con la Definicin 7.1, L es un lenguaje de primer orden (Definicin 6.3). La


nica novedad est relacionada con los smbolos de predicado P. En particular, DS(L) su-
pone una cantidad infinita de smbolos de predicado de aridad 0 (i.e., smbolos de predicado
constantes). Esta es una decisin tcnica la cual se justificar en los siguientes prrafos.
Al igual que DS, el sistema formal DS(L) basa su poder deductivo en las propiedades
de la equivalencia lgica y en el cambio de iguales por iguales. Como en lgica de pre-
dicados hay dos universos, el de los trminos y el de las frmulas, en DS(L) son naturales
los conceptos de cambio de iguales por iguales en dos niveles: a nivel de trminos y a nivel
de frmulas. En el nivel ms bsico, la sustitucin de trminos facilita el cambio de iguales
por iguales. Sin embargo, no hay un concepto similar a nivel de frmulas y por ello es
necesario definir qu significa hacer sustituciones de frmulas en DS(L).

Definicin 7.2

Una sustitucin de frmulas es una funcin


F : {p0 , p1 , . . .} T(F ,P) (X)
distinta a la identidad en una cantidad finita de elementos del dominio.

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

Sea una frmula y F = {q0 7 0 , q1 7 1 , . . . , qn 7 n } una sustitucin de frmulas.


La sustitucin textual de F en , denotada como F(), se define inductivamente para toda
subfrmula de de la siguiente manera:
1. F(true) = true y F(false) = false,
2. F(p) = F(p), si p {q0 , . . . , qn },
3. F(p) = p, si ar(p) = 0 y p < {q0 , . . . , qn },
4. F(Q(t1 , . . . , tk )) = Q(t1 , . . . , tk ), si Q P es tal que ar(Q) = k > 0 y t1 , . . . , tk son
trminos sobre F ,
5. F() = F(),
6. F( ) = F() F(), si {, ., , , , } y
7. F(x ) = x F() y F(x ) = x F().

Intuitivamente, la Definicin 7.3 indica que la aplicacin de una sustitucin de frmulas


reemplaza todas las apariciones de los smbolos de predicado constantes asociados en dicha
sustitucin. Aplicar una sustitucin de frmulas F a una frmula resulta en una frmula
F() en la cual algunos smbolos de predicado constantes pueden haber sido reemplazados.
En el caso (1) se indica que una sustitucin de frmulas no afecta las constantes true
y false. El caso (2) indica explcitamente cmo un smbolo de predicado constante p es
reemplazado por la frmula F(p). En los casos (3) y (4) se indica cmo un smbolo de
predicado constante que no aparece en el dominio de la sustitucin o cuya aridad es al
menos 1, nunca es afectado por una sustitucin de frmulas. Los casos (5) y (6) presentan
la definicin inductiva para combinaciones Booleanas de frmulas. Finalmente, el caso (7)
indica cmo se aplica una sustitucin de frmulas a una frmula cuantificada. A diferencia
de la aplicacin de una sustitucin de trminos a una frmula, en el caso de la sustitucin
de frmulas no es necesario restringir variables: un smbolo de predicado nunca es objeto
de una cuantifcacin.

Nota 7.4

Para simplificar la escritura de la extensin F de una sustitucin de frmulas F, se adop-


ta la convencin de referirse a dicha extensin como una sustitucin de frmulas y de-
notarla como F. Finalmente, si es una frmula y F es una sustitucin de frmulas
{q0 7 0 , . . . , qn 7 n }, entonces F() puede escribirse como
q0 , . . . , qn := 0 , . . . , n .
 

A continuacin se define el conjunto de axiomas de DS(L).


188 7. El sistema de Dijkstra y Scholten para primer orden

Definicin 7.5

Sean x una variable, t un trmino y , , frmulas. El conjunto de axiomas de DS(L) est


dado por el siguiente esquema axiomtico:
(Ax): Cualquier axioma de DS.
(Bx1): (x ) , si x no aparece libre en .
(Bx2): (x ) x ( ), si x no aparece libre en .
(Bx3): (x ) (x ) x ( ).
(Bx4): (x ) [x := t] , si t es libre para x en .

Cualquier axioma de DS es un axioma de DS(L) y para su identificacin se conservan los


nombres de DS. La cuantificacin de una variable no tiene efecto sobre una frmula en la
cual dicha variable no aparece libre (Bx1). La disyuncin distribuye sobre la cuantificacin
universal siempre y cuando la frmula siendo distribuda no sea capturada por el cuanti-
ficador (Bx2). La cuantificacin universal y la conjuncin conmutan (Bx3). Una frmula
cuantificada universalmente puede ser particularizada por cualquier trmino, siempre y
cuando dicho trmino sea libre para la variable cuantificada en dicha frmula (Bx4). Fi-
nalmente, note que algunos parntesis en la Definicin 7.5 se incluyen nicamente por
claridad en la lectura y pueden ser eliminados de acuerdo con las convenciones de prece-
dencia en la Nota 6.6.
A continuacin se define el conjunto de reglas de inferencia de DS(L).

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).

Se concluye esta seccin con un ejemplo de una demostracin en DS(L).


Ejemplo 7.1

Considere la argumentacin del Ejemplo 6.1:


Todos los informticos son intelectualmente destacados. Turing es un informtico.
Entonces, Turing es intelectualmente destacado.
Usando DS(L) se tiene el siguiente razonamiento:
1. x (I(x) D(x)) (suposicin 1)
2. I(Turing) (suposicin 2)
3. x (I(x) D(x)) (I(Turing) D(Turing)) (Bx4)
4. I(Turing) D(Turing) (Modus Ponens 1,3)
5. D(Turing) (Modus Ponens 2,4).

Ejercicios

1. Sean x, y variables, f un smbolo de funcin con ar( f ) = 2 y H un smbolo de predi-


cado con ar(H) = 1. Sea F la sustitucin de frmulas
{p0 7 p1 , p2 7 true, p3 7 H(x), p4 7 p4 }.
Determine la sustitucin textual de F para cada una de las siguientes frmulas:
a) p0
b) H(y) x H(x) false
c) x y (H( f (x, y)) p3 )
2. Sean x, y, f, H como en el Ejercicio 1. Para cada una de las siguientes frmulas ,
determine si F(pi ) es libre para pi en (i = 0, 1, 2, 3, 4):
a) p0
b) H(y) x H(x) false
c) x y (H( f (x, y)) p3 )
3. Defina cada uno de los siguientes conceptos para DS(L):
190 7. El sistema de Dijkstra y Scholten para primer orden

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).

7.2. La cuantificacin universal

El cuantificador universal en la lgica de predicados es un conectivo lgico que


expresa la veracidad de una frmula para cada uno de los trminos del lenguaje (i.e., para
cada uno de los elementos del universo del discurso).
7.2. La cuantificacin universal 191

Inicialmente se presentan algunos teoremas bsicos.

Teorema 7.8

Para cualquier variable x y frmula :


1. `DS(L) x true true
2. `DS(L) x false false
3. `DS(L) x x x

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.

Demostracin. A continuacin se presenta una demostracin de (1); demostraciones de


(2) y (3) se proponen como ejercicio para el lector.

x true
h axioma (Bx1): x no aparece libre en true i
true.

De acuerdo con la Nota 6.7, la expresin (x | : ) es azcar sintctico para la


frmula x ( ), en donde la frmula es denominada el rango de la cuantificacin y
el trmino de la cuantificacin. A continuacin se presentan algunos teoremas de trueque
tiles para manipular rangos y trminos en una cuantificacin universal.

Teorema 7.9

Para cualesquiera variable x y frmulas , , :


1. `DS(L) (x | : ) (x |: )
2. `DS(L) (x | : ) (x |: )
3. `DS(L) (x | : ) (x | : )

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

Demostracin. Se presenta una demostracin de (1); demostraciones de (2) y (3) se pro-


ponen como ejercicio para el lector.
(x | : )
h azcar sintctico i
x ( )
h definicin alternativa de i
x ( )
h identidad de i
x (true )
h azcar sintctico i
(x | true : )
h azcar sintctico i
(x |: ).


Algunas monotonas de la lgica de predicados son especialmente tiles para hacer


clculos. El Teorema 7.10 presenta algunas de ellas.
Teorema 7.10

Para cualesquiera variable x y frmulas , , :


1. `DS(L) x ( ) (x x )
2. `DS(L) x ( ) (x x )
3. `DS(L) (x | : ) ((x | : ) (x | : ))
4. `DS(L) (x | : ) ((x | : ) (x | : ))

Los teoremas 7.10.1 y 7.10.3 son versiones de la monotona de la implicacin bajo la


cuantificacin universal, mientras que los teoremas 7.10.2 y 7.10.4 son versiones de la
monotona de la equivalencia bajo la cuantificacin universal. Recuerde que la expresin
x ( ) (x x ) corresponde a la frmula x ( ) ((x ) (x )).
Las demostraciones de estos teoremas se proponen como ejercicios para el lector.
A continuacin se presentan algunos teoremas de distribucin de conectivos lgicos
sobre la cuantificacin universal.
Teorema 7.11

Sean x una variable y , frmulas. Si x no aparece libre en :


1. `DS(L) x x ( )
7.2. La cuantificacin universal 193

2. `DS(L) x x ( )

Los teoremas 7.11.1-2 indican, respectivamente, cmo la conjuncin y la implicacin dis-


tribuyen sobre la cuantificacin universal cuando la frmula distribuda no es afectada por
dicho cuantificador.

Demostracin. Se presenta una demostracin de (1); una demostracin de (2) se propone


como ejercicio para el lector.
x
h axioma (Bx1): x no aparece libre en i
x x
h axioma (Bx3) i
x ( ).


Finalmente, se presentan algunos teoremas para la manipulacin de rangos y el re-


nombramiento de variables.
Teorema 7.12

Para cualesquiera variables x e y, y frmulas , , :


1. `DS(L) (x | false : )
2. `DS(L) (x | : ) (x | : ) (x | : )
3. `DS(L) x y ( x := y ), si y es libre para x en .
 

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

1. Demuestre el Teorema 7.8.2.


2. Demuestre el Teorema 7.8.3.
194 7. El sistema de Dijkstra y Scholten para primer orden

3. Demuestre el Teorema 7.9.2.


4. Demuestre el Teorema 7.9.3.
5. Sean , , frmulas; demuestre los siguientes teoremas de trueque:
a) `DS(L) (x | : ) (x |: )
b) `DS(L) (x |: ) (x | : ( ))
6. Demuestre el Teorema 7.10.1.
7. Demuestre el Teorema 7.10.2.
8. Demuestre el Teorema 7.10.3.
9. Demuestre el Teorema 7.10.4.
10. Demuestre o refute: `DS(L) x x ( ).
11. Demuestre el Teorema 7.11.1.
12. Demuestre el Teorema 7.11.2.
13. Demuestre el Teorema 7.12.1.
14. Demuestre el Teorema 7.12.2.
15. Demuestre el Teorema 7.12.3.
16. Demuestre el Teorema 7.12.4.

7.3. La cuantificacin existencial

El cuantificador existencial en la lgica de predicados es un conectivo lgico que


expresa la veracidad de una frmula para alguno de los trminos del lenguaje (i.e., para al
menos uno de los elementos del universo del discurso).
La cuantificacin existencial se define con base en la cuantificacin universal.
Definicin 7.13

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

Para cualquier variable x y frmula :


7.3. La cuantificacin existencial 195

1. `DS(L) x true true


2. `DS(L) x false false
3. `DS(L) x x x

Al igual que sucede con la cuantificacin universal, un cuantificador existencial no tiene


efecto sobre las constantes Booleanas (teoremas 7.14.1 y 7.14.2) y es idempotente (Teore-
ma 7.14.3).
A continuacin se presenta un teorema de la cuantificacin existencial que correspon-
de al converso del Axioma (Bx4) para la cuantificacin universal.
Teorema 7.15

Sean x una variable, t un trmino y una frmula. Si t es libre para x en :


`DS(L) [x := t] x .

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

Para cualesquiera variable x y frmulas , , :


1. `DS(L) x ( ) (x x )
2. `DS(L) x ( ) (x x )
3. `DS(L) (x | : ) ((x | : ) (x | : ))
4. `DS(L) (x | : ) ((x | : ) (x | : ))

Los teoremas 7.16.1 y 7.16.3 son versiones de la monotona de la implicacin bajo la


cuantificacin existencial, mientras que los teoremas 7.16.2 y 7.16.4 son versiones de la
monotona de la equivalencia bajo la cuantificacin existencial. Las demostraciones de
estos teoremas se proponen como ejercicios para el lector.
A continuacin se presentan algunos teoremas de distribucin de conectivos lgicos
sobre la cuantificacin existencial.
196 7. El sistema de Dijkstra y Scholten para primer orden

Teorema 7.17

Sean x una variable y , frmulas. Si x no aparece libre en :


1. `DS(L) x x ( )
2. `DS(L) x x ( )

Para la cuantificacin existencial tambin hay teoremas de manipulacin de rangos y


cambio de variables.
Teorema 7.18

Para cualesquiera variables x e y, trmino t y frmulas , , :


1. `DS(L) (x | false : ) false
2. `DS(L) (x | : ) (x | : ) (x | : )
3. `DS(L) x y ( x := y ), si y es libre para x en .
 

4. `DS(L) x y y x .

Finalmente, se presentan algunos teoremas que relacionan la cuantificacin universal


y la cuantificacin existencial.
Teorema 7.19

Sean x una variable y , frmulas. Si x no aparece libre en :


1. `DS(L) x x ( )
2. `DS(L) x x ( )

Ejercicios

1. Demuestre el Teorema 7.14.1.


2. Demuestre el Teorema 7.14.2.
3. Demuestre el Teorema 7.14.3.
4. Demuestre el Teorema 7.15.
5. Demuestre el Teorema 7.16.1.
6. Demuestre el Teorema 7.16.2.
7. Demuestre el Teorema 7.16.3.
8. Demuestre el Teorema 7.16.4.
7.4. Algunos metateoremas 197

9. Demuestre el Teorema 7.17.1.


10. Demuestre el Teorema 7.17.2.
11. Suponga que x no aparece libre en . Demuestre o refute:

`DS(L) x x ( ).

12. Demuestre el Teorema 7.18.1.


13. Demuestre el Teorema 7.18.2.
14. Demuestre el Teorema 7.18.3.
15. Demuestre el Teorema 7.18.4.
16. Demuestre el Teorema 7.19.1.
17. Demuestre el Teorema 7.19.2.

7.4. Algunos metateoremas

Esta seccin presenta algunos metateoremas tiles para obtener demostraciones en


DS(L). Estos metateoremas son ciertos no solamente para DS(L) sino tambin para cual-
quier sistema razonable de primer orden. En el desarrollo de la seccin se usan los con-
ceptos de demostracin y derivacin con suposiciones, cuyas definiciones corresponden a
extensiones de aquellas de la lgica proposicional y se proponen como ejercicio para el
lector.
El primer metateorema recibe el nombre de Metateorema de Generalizacin, al igual
que una de las reglas de inferencia de DS(L).

Metateorema 7.20

Sean x una variable, una frmula y una coleccin de frmulas:


`DS(L) x sii `DS(L) .

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.

Demostracin. Se procede por doble implicacin; basta con demostrar:

1. Si `DS(L) x , entonces `DS(L) .


2. Si `DS(L) , entonces `DS(L) x .
198 7. El sistema de Dijkstra y Scholten para primer orden

Para (1) se presenta la siguiente demostracin con suposiciones en :


1. x (suposicin)
2. x [x := x] (Bx4; x es libre para x en )
3. [x := x] (Modus Ponens 1,2).
Note que [x := x] y son la misma frmula. En consecuencia, si `DS(L) x , entonces
`DS(L) .
Para (2) se propone la siguiente demostracin con suposiciones en :
1. (suposicin)
2. x (Generalizacin 1).
En consecuencia, si `DS(L) , entonces `DS(L) x . 

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

Sean , frmulas y un conjunto de frmulas. Si


1. {} `DS(L) y
2. la demostracin en (1) no usa la regla Generalizacion sobre una variable libre de ,
entonces `DS(L) .

En realidad, la nica restriccin para usar el Metateorema de la Deduccin (7.21) consiste


no aplicar la regla Generalizacion sobre alguna de las variables libres de la frmula que se
est utilizando como suposicin. Si este es el caso, entonces este metateorema coincide con
su versin proposicional. La demostracin del Metateorema de la Deduccin se propone
como ejercicio para el lector.
A continuacin se presenta un ejemplo que muestra la importancia de la condicin (2)
en el Metateorema de la Deduccin (7.21).
Ejemplo 7.2

Sea E un predicado unario cuya interpretacin en Z es la siguiente:


E(x) : x = 0.
Fjese que por la regla Generalizacion, se tiene que {E(x)} `DS(L) x E(x). Sin embargo,
la frmula (E(x) x E(x)) no puede ser cierta porque no todos los nmeros enteros son
iguales a 0.

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

Una frmula se llama sentencia si y slo s no tiene variables libres.

La versin del Metateorema de la Deduccin para suposiciones que son sentencias es


ms sencilla que su versin general.
Metateorema 7.23

Sean , frmulas y un conjunto de frmulas. Si


1. {} `DS(L) y
2. es una sentencia
entonces `DS(L) .

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) . 

El converso del Metateorema de la Deduccin es cierto sin las condiciones sobre el


uso de la regla Generalizacion para las variables libres de la suposicin. A continuacin
se formula este metateorema.
Metateorema 7.24

Sean , frmulas y un conjunto de frmulas:


si `DS(L) entonces {} `DS(L) .

El Metateorema 7.24 tiene la misma formulacin que su contraparte en DS; su demostra-


cin se propone como ejercicio para el lector.
En lo que resta de esta seccin, se presentan ejemplos que ilustran el uso de los meta-
teoremas introducidos hasta ahora. Para ello, se apela al concepto de sucesin de nmeros
reales, un objeto matemtico estudiado en los cursos introductorios de clculo diferencial.
Nota 7.25

Una sucesin de nmeros reales (o sucesin) es una funcin f : N R.


200 7. El sistema de Dijkstra y Scholten para primer orden

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 .

Esta definicin, an informal, se especifica formalmente en el siguiente ejemplo con ayuda


de DS(L).

Ejemplo 7.3

A continuacin se presenta una definicin de limit:


limit( f, x) (:R |  > 0 : (m:R | m 0 : (n:N | n > m : abs( f (n) x) < ))).

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

Considere la siguiente derivacin:


(m:R | m 0 : (n:N | n > m : abs( f (n) 1) < ))
h azcar sintctico i
m:R (m 0 (n:N | n > m : abs( f (n) 1) < ))
h instanciacin con testigo m = 0 (Teorema 7.15) i
0 0 (n:N | n > 0 : abs( f (n) 1) < )
h reflexividad de ; identidad de la conjuncin i
(n:N | n > 0 : abs( f (n) 1) < ).
Por el Metateorema 7.20, basta con demostrar:
{ > 0, n > 0} `DS(L) abs( f (n) 1) < .

abs( f (n) 1) < 


h definicin de f i
abs(1 1) < 
h aritmtica; definicin de abs i
0<
h suposicin i
true.
Entonces `DS(L) limit( f, 1).

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

La igualdad es un predicado indispensable para muchas aplicaciones de la lgica de


predicados. Esta seccin presenta una extensin de DS(L) en la cual se incluye la igualdad
como un predicado binario que permite comparar trminos, el cual se denota como =.
La relacin de igualdad se incorpora en DS(L) por medio de dos axiomas definicio-
nales.

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

Sea x una varible, t un trmino y una frmula. Si t es libre para x en y x no aparece en


t:
1. `DS(L) (x | x = t : ) [x := t]
2. `DS(L) (x | x = t : ) [x := t]

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

Demostracin. A continuacin se presenta una demostracin de (1); una demostracin de


(2) se propone como ejercicio para el lector. Se procede por doble implicacin.

(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 ilustrar el uso de la igualdad, se retoma el concepto de divisibilidad en Z. Recuer-


de el predicado de divisibilidad | entre nmeros enteros introducido en la Seccin 5.5:

a | b : hay un cab Z tal que b = acab .

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)

La relacin de divisibilidad tiene muchas propiedades. Entre ellas que es reflexiva y


transitiva. A continuacin se presenta como ejemplo la demostracin de que la relacin de
divisibilidad es reflexiva y se propone para el lector la demostracin de la transitividad.
204 7. El sistema de Dijkstra y Scholten para primer orden

Ejemplo 7.6

Se presenta una demostracin de la reflexividad de la relacin de divisibilidad. Es decir, el


objetivo es demostrar:
`DS(L) a (a | a).
Por el Metateorema 7.20 basta con demostrar:
`DS(L) a | a.
Considere la siguiente derivacin:
a | a
h definicin i
x (ax = a)
h instanciacin con testigo x = 1 (Teorema 7.15) i
a1 = a
h arimttica i
a=a
h (Bx6) i
true.

Otra propiedad de la relacin de divisibilidad es la siguiente: si a es divisor de b,


entonces a tambin es divisor de cualquier mltiplo de b.
Ejemplo 7.7

Considere el siguiente objetivo:


`DS(L) a b c (a | b a | bc).
Basta con demostrar:
`DS(L) a | b a | bc.
Considere la siguiente derivacin:
a | b a | bc
h definicin i
x (ax = b) a | bc
h Teorema 7.19.2 i
x ((ax = b) a | bc).
Por los metateoremas 7.20 y 7.21, basta con demostrar:
{ax = b} `DS(L) a | bc.
7.5. La igualdad 205

Considere la siguiente derivacin:


a | bc
h definicin i
y (ay = bc)
h suposicin; ax es libre para b i
y (ay = axc)
h instanciacin con testigo y = xc i
axc = axc
h (Bx6) i
true.

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

1. Demuestre que = es reflexivo, i.e., `DS(L) t = t para cualquier trmino t.


2. Demuestre que = es simtrico, i.e, `DS(L) t = u u = t para cualesquiera trminos t y
u.
3. Demuestre que = es transitivo.
4. Sean x una variable, t, u trminos y una frmula. Demuestre que si t y u son libres
para x en , entonces:
`DS(L) (t = u) ([x := t] [x := u]).
Ayuda: proceda por induccin sobre la complejidad de .
5. Demuestre el Teorema 7.27.2.
6. Demuestre que la relacin de divisibilidad es reflexiva.
7. Demuestre que a Z es divisor de cualquiera de sus mltiplos, i.e., `DS(L) a | ab para
cualquier b Z.
8. Sean a y b nmeros enteros. Demuestre que si a | b y b | a, entonces a = b o a = b.
9. Sean a, b, c nmeros enteros. Demuestre:
a) `DS(L) a | b a | c a | b + c.
b) `DS(L) a | b a | c a | bc.
c) `DS(L) a | b a | c a2 | bc.
10. Sean a, b, c, d nmeros enteros. Demuestre o refute:
`DS(L) a | c b | d ab | cd.
206 7. El sistema de Dijkstra y Scholten para primer orden
Bibliografa

[1] J. Bohrquez. Lgica y matemticas discretas en la informtica: el estilo calculatorio. Escuela


Colombiana de Ingeniera, 2012.
[2] E. Dijkstra and C. Scholten. Predicate calculus and program semantics. Texts and monographs
in computer science. Springer-Verlag, 1990.
[3] D. Gries and F. B. Schneider. A logical approach to discrete math. Texts and Monographs in
Computer Science. Springer, 1993.
[4] A. Hamilton. Logic for Mathematicians. Cambridge University Press, 1988.
[5] D. Hilbert and P. Bernays. Grundlagen der mathematik. Springer, 1st edition, 19681970.
[6] R. Hodel. An introduction to mathematical logic. Dover Books on Mathematics Series. Dover
Publications, Incorporated, 2013.
[7] M. Huth and M. Ryan. Logic in Computer Science: Modelling and Reasoning about Systems.
Cambridge University Press, 2004.
[8] C. Rocha and J. Meseguer. A rewriting decision procedure for Dijkstra-Scholtens syllogistic
logic with complements. Revista Colombiana de Computacin, 8(2), 2007.
[9] C. Rocha and J. Meseguer. Theorem proving modulo based on Boolean equational procedures.
In R. Berghammer, B. Mller, and G. Struth, editors, RelMiCS, volume 4988 of Lecture Notes
in Computer Science, pages 337351. Springer, 2008.
[10] G. Tourlakis. Mathematical logic. John Wiley & Sons, 1st edition, 2008.
[11] A. N. Whitehead and B. Russell. Principia mathematica. Cambridge University Press, Cam-
bridge, 2nd edition, 19101913.

207
XKCD: Formal Logic (https://xkcd.com/1033/)

Вам также может понравиться