[go: up one dir, main page]

100% encontró este documento útil (1 voto)
186 vistas186 páginas

Al

Descargar como pdf o txt
Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1/ 186

Lgica para Informtica

Notas de Clase

Camilo Rocha

Derechos de autor 2014-2015 Camilo Rocha.


ltima actualizacin 24 de diciembre de 2014.
Versin 0.2

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

Captulo 1.

Prembulo

1.1.

Preludio

1.2.

Induccin

1.3.

Sistemas formales

Parte 1. Lgica proposicional


Captulo 2.

Lenguaje y especificacin

15

2.1.

Proposiciones

16

2.2.

Lenguaje formal

19

2.3.

rboles de sintaxis

24

2.4.

Induccin sobre proposiciones

26

Captulo 3.

Semntica

31

3.1.

Funciones Booleanas

31

3.2.

Valuaciones

39

3.3.

Clasificacin de proposiciones

44

3.4.

Consecuencia tautolgica y argumentaciones

48

3.5.

La isla de caballeros y escuderos

53

Captulo 4.

El sistema de Dijkstra y Scholten

59

4.1.

El sistema formal DS

59

4.2.

Algunas propiedades deductivas de la equivalencia

66

4.3.

La negacin y la discrepancia

70

4.4.

La disyuncin

75

4.5. Intermezzo: derivaciones

80

4.6.

83

La conjuncin

ndice general

vi

4.7.

La implicacin y la consecuencia

Captulo 5.

Tcnicas de razonamiento y demostracin

86
95

5.1.

Eliminacin de parntesis

96

5.2.

Tcnicas bsicas

98

5.3.

Derivaciones relajadas

101

5.4.

Propiedades importantes de DS

104

5.5.

Tcnicas complementarias

109

Parte 2. Lgica de predicados


Captulo 6.

Lenguaje y especificacin

125

6.1.

Trminos y frmulas

126

6.2.

Variables libres y acotadas

136

6.3.

Sustitucin de trminos

140

6.4.

Un lenguaje para arreglos

146

Captulo 7.

El sistema de Dijkstra y Scholten para primer orden

157

7.1.

El sistema formal DS(L)

157

7.2.

La cuantificacin universal

163

7.3.

La cuantificacin existencial

166

7.4.

Algunos metateoremas

169

7.5.

La igualdad

174

Captulo 1

Prembulo

Este captulo contiene material necesario para el resto del texto y debe ser
abordado a medida que se necesite. El material en esta seccin incluye convenciones y definiciones bsicas, y adems hace un recuento sucinto sobre la induccin
matemtica y los sistemas formales.

1.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 dan por sentados. Es en este sentido que los textos de matemticas
adoptan algunos trminos como definicin, proposicin y teorema, entre otros,
y los usan frecuentemente . La metodologa usualmente permite abordar el estudio
de un tema de manera sistemtica, primero, definiendo unvocamente el objeto de
estudio y, segundo, estableciendo propiedades sobre el objeto de estudio. Por objeto de estudio entindase cmo demostrar que un algoritmo funciona, un sistema
numrico o una teora de la relatividad, por ejemplo. Esta seccin explica cul es
el cdigo comn de trminos y cul es la metodologa que sigue este texto.
Siempre, en matemticas, lo ms importante son las definiciones: sin definiciones o sin entenderlas, no es posible estudiar matemticas. El objetivo de una
definicin es definir unvocamente un objeto matemtico 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 1.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.

1. Prembulo

Primero que todo note que las definiciones vienen identificadas con un cdigo.
As, no es necesario referirse a ellas como en la definicin anterior (puede haber
ms de una definicin antes del texto y entonces esta afirmacin sera ambigua), sino
ms bien referencindola directamente como en la Definicin 1.1. En este ltimo
caso, la palabra definicin es un nombre propio y por eso la letra mayscula.
Los tipos de letra son claves para entender una definicin. En la Definicin 1.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 que
la expresin N representa el conjunto de nmeros naturales. En la segunda parte
de la Definicin 1.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 1.1 el autor supone que el lector sabe qu es un nmero, que
prefiere la notacin arbica sobre la romana para escribirlos y que entiende qu
significa el smbolo . Es posible tratar de definir todo esto formalmente; sin,
embargo sera imprctico y no es el objetivo del texto.
Una vez un objeto est (unvocamente) definido, es posible entonces proceder
a estudiarlo. Es en este momento cuando se postulan y se demuestran propiedades
sobre el objeto de estudio.
Teorema 1.2
Sea n un nmero. Si n N, entonces (n + 1) N.

El Teorema 1.2 (si!, tambin tiene nombre) establece una propiedad inductiva
de los nmeros naturales que por lo pronto sirve nicamente de ejemplo. Esta
propiedad indica que el sucesor de todo nmero natural es un nmero natural.
Claramente, esto debe estar acompaado de una demostracin de la forma (en
donde el cuadro vaco al final de una lnea indica el fin de la demostracin):
Demostracin. ...

A diferencia de otros cursos de matemticas como clculo, algebra, etc., el estudio de la lgica se ocupa simultneamente de dos roles de la lgica: como objeto de
estudio y como herramienta de estudio. En este texto, se estudian diferentes lgicas
y cada una de ellas se define como un sistema formal (Seccin 1.3). Entonces, el tipo
de propiedades que se pueden establecer son dos: (i) propiedades del sistema formal
o (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 usada para obtener resultados y las propiedades demostradas 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

1.2. Induccin

Lema y Corolario para referirse a teoremas secundarios, i.e., propiedades que se


obtienen fcilmente de los teoremas.
Finalmente, el texto hace uso de notas para resaltar una idea, introducir
notacion o simplemente llamar la atencin del lector.
Nota 1.3
Para estudiar lgica, es necesario entender muy bien las definiciones y hacer demostraciones.

1.2.

Induccin

Hay una pequea ancdota acerca del matemtico alemn Gauss quien, a los
8 aos de edad, no prestaba mucha atencin en clase. A modo de castigo, una vez
su profesor 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 Gauss hacer el clculo con tanta
rapidz? Posiblemente Gauss saba que
n (n + 1)
2
para todo nmero natural n. Entonces, al tomar n = 100, Gauss pudo calcular
fcilmente
100 101
0 + 1 + 2 + 3 + 4 + + 100 =
= 5050.
2
(1.1)

0 + 1 + 2 + 3 + 4 + + n =

El principio de induccin matemtica (finita) es una herramienta fundamental


para obtener resultados en matemticas, incluyendo la lgica, como el de la Ecuacin 1.1 (para cualquier valor de n). De manera general, el principio de induccin
matemtica permite demostrar que cualquier nmero natural o una gran cantidad
de ellos, tienen una propiedad M .
Nota 1.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 siguientes 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 (n),
entonces se puede demostrar que n + 1 tiene la propiedad M (n + 1); i.e., se
tiene una demostracin de que M (n) implica M (n + 1).

1. Prembulo

Definicin 1.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 (n). La
suposicin que aparece 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) valen 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 (0) por el caso base. De lo contrario, se puede usar
el caso inductivo aplicado a n = 0, para concluir que 1 = 1 + 0 tiene la propiedad
M (1). 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 en caer.
Teorema 1.6
La suma 0 + 1 + 2 + 3 + 4 + + n es igual a

n(n+1)
2

para n N.

Demostracin. Primero que todo, se identifica claramente la propiedad que se


quiere demostrar. Sea G(n) una abreviacin para la ecuacin 0 + 1 + 2 + 3 + 4 +
+ n = n(n+1)
. El objetivo es entonces demostrar G(n) para n N. Por el
2
principio de induccin matemtica (Definicin 1.5) basta con demostrar los casos
(1) y (2).
Caso base: se quiere demostrar que 0 tiene la propiedad G(0). Note que G(0)
abrevia la ecuacin 0 = 0(0+1)
, que es directamente una identidad. Entonces 0
2
tiene la propiedad G(0).
Caso inductivo: se quiere demostrar que si n tiene la propiedad G(n), entonces
(n + 1) tiene la propiedad G(n + 1). Se supone como hiptesis inductiva que
n N tiene la propiedad G(n) y con esta informacin se busca una demostracin
de G(n + 1). La expresin G(n + 1) abrevia la ecuacin
0 + + n + (n + 1) =

(n + 1) ((n + 1) + 1)
.
2

Por la hiptesis inductiva (suposicin de G(n)), la parte izquierda de la igualdad


se puede escribir como n(n+1)
+ (n + 1). Factorizando (n + 1), esta expresin es
2
igual a (n+1)(n+2)
,
que
a
su
vez
es igual a (n+1)((n+1)+1)
. Entonces, si n tiene
2
2
la propiedad G(n), necesariamente (n + 1) tiene la propiedad G(n + 1).

1.2. Induccin

Dado que los casos (1) y (2) son ciertos para G, por el principio de induccin
matemtica (Definicin 1.5), se sigue que todo n N tiene la propiedad G(n). 
En la prctica, el principio de induccin matemtica tiene muchas variantes.
Por ejemplo, es posible contar con una versin en la que el caso base es n = 1,
lo cual excluira el 0. Tambin, como se ver en algunas secciones, el principio de
induccin matemtica se puede adaptar para hacer demostraciones sobre estructuras diferentes a los nmeros naturales como por ejemplo expresiones o rboles de
sintaxis. En cada variante, lo ms importante es identificar los casos base (puede
haber ms de uno) y los casos inductivos (de los cuales tambin puede haber ms
de uno).

Ejercicios
1. Use el principio de induccin matemtica, indicando cada uno de los casos y el
uso de la hiptesis inductiva, para demostrar
(2 1 1) + (2 2 1) + (2 3 1) + + (2 n 1) = n2
para todo n N con n 1.
2. 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)
02 + 12 + 22 + 32 + + n2 =
6
para todo n N.
3. Demuestre que 2n n+12 para todo nmero natural n 4. En este problema, el
caso base es n = 4. Es cierta es propiedad para n < 4? Justifique su respuesta.
4. Sea h(n) =

1
1

1
2

1
3

+ + n1 . Demuestre, para todo n 1 que

h(1) + h(2) + h(3) + + h(n) = (n + 1) h(n) n.


5. 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).
6. 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. 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.
7. 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 posibilidades: primero, que $n puede pagarse usando
nicamente estampillas de $2; segundo, que $n puede pagarse usando al menos
una estampilla de $3.

1. Prembulo

8. 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)
b)
c)
d)

1.3.

Demuestre el caso inductivo para esta afirmacin.


Demuestre que el caso base falla para esta afirmacin.
Concluya que la afirmacin es falsa.
Use induccin para demostrar que n2 + 5 n + 1 es impar para todo n N.

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 1.7
Sea S un conjunto de smbolos. Una expresin en S (o palabra en S) es una secuencia
finita de smbolos de S.

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


Para describir un lenguaje formal, primero se especifica el conjunto de smbolos
S y luego se seleccionan ciertas expressiones que se designan como frmulas. No
necesariamente toda expresin es una frmula del sistema formal. En las situaciones
ms importantes, las frmulas son aquellas expresiones que tienen una interpretacin significativa. 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 Real Academia de la Lengua, entonces nio es una frmula pero
qwerty no.
Definicin 1.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.

El lenguaje debe tener la propiedad de que exista un algoritmo para decidir (i.e.,
que responda si o no en un nmero finito de pasos) si una expresin arbitraria es una
frmula o no. Todos los lenguajes estudiados en este texto tienen esta propiedad.

1.3. Sistemas formales

Nota 1.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 F 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 frmula es un
axioma o no.
Una regla de inferencia es una regla que afirma que una frmula (llamada
conclusin) se sigue de un conjunto finito de frmulas (llamadas premisas). Suponga
que 0 , 1 , . . . , k , son frmulas (en la mayora de los casos k = 0, k = 1 o
k = 2). Una regla de inferencia con premisas 0 , 1 , . . . , k y conclusin se escribe
esquemticamente como
0

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


Ejemplo 1.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 expresiones que nicamente usan el
smbolo |.
Axiomas: el nico axioma es la frmula | + | = ||.
Reglas de inferencia: hay dos reglas de inferencia
x+y =z
R1
x| + y = z|

x+y =z
R2
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, aritmtica, teora de conjuntos, etc.
Sin embargo, una interpretacin no es necesaria como 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

1. Prembulo

semnticos. La interaccin entre los conceptos sintcticos y semnticos es fundamental en el estudio de la lgica matemtica. 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.
Al contar con el concepto de sistema formal, ahora es posible dar definiciones
precisas de lo que son una demostracin y un teorema.
Definicin 1.10
Sea F un sistema formal. Una demostracin en F es una secuencia finita de frmulas
0 , 1 , . . . , n de F tal que para 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 alguna interpretacin


adjunta. Es de este modo que los dos conceptos son elementos sintcticos de todo
sistema formal.
Nota 1.11
Una demostracin 0 , 1 , . . . , n en un sistema formal F se puede diagramar esquemticamente de la siguiente forma:
0.

(explicacin0 )

1.

(explicacin1 )

(explicacinn )

n.

en donde explicacini es un texto explicando cmo se obtiene la frmula i en F.


Adicionalmente, cuando el sistema formal bajo discusin est claramente identificado, se puede obviar el subndice y escribir ` n .

1.3. Sistemas formales

Ejemplo 1.2
La frmula || + ||| = ||||| es un teorema del sistema formal ADD. Para demostrarlo,
basta con exhibir una demostracin formal:
0. | + | = ||

(axioma de F)

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 muy importante. 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.
1.3.1. Induccin sobre frmulas. Teniendo un sistema formal F y una propiedad Q sobre frmulas de F, con mucha frecuencia es necesario demostrar que un
grupo de frmulas de F satisface la propiedad Q. En particular, en la mayora de los
casos, se desea demostrar que el conjunto de teoremas de F satisface una propiedad
Q.
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). Entonces, dicha
demostracin puede verse de la siguiente forma:
0.

(...)

1.

(...)

n1

(...)

n 1.

en donde cada i (0 i n 1) es una frmula de F y n1 es .


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 que el teorema tiene la
propiedad Q.

10

1. Prembulo

Nota 1.12
Fjese que la frmula , aparte de ser un teorema, es cualquier frmula. Ninguna
otra suposicin se ha hecho sobre la forma o estructura interna de . Lo mismo
sucede con los i . Entonces, al 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.

Retomando la demostracin de y los dos supuestos anteriores, note 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 tiene la propiedad Q.
El prrafo anterior hace un recuento informal de una tcnica de demostracin importante llamada induccin sobre teoremas o induccin sobre la sintaxis. A
continuacin, en el Metateorema 1.13, se presenta una demostracin formal (i.e.,
rigurosa) de este resultado.
Metateorema 1.13
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


demostracin de mximo n renglones tiene la propiedad Q. El objetivo es entonces
demostrar que todo n 1 tiene la propiedad S(n). 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.
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 aparece en el primer rengln de la demostracin); por la
suposicin (1), se concluye que el teorema tiene la propiedad Q.

1.3. Sistemas formales

11

Caso inductivo: Suponga que n 1 tiene la propiedad S(n); el objetivo es


demostrar que n + 1 tiene la propiedad S(n + 1). 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(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 demostracin. Su uso se ilustra con el siguiente ejemplo.
Ejemplo 1.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.
Para este fin, sea usa el principio de induccin sobre teoremas (Metateorema 1.13). 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.
Dado que entonces (i + 1) + j = (k + 1), la conclusin x| + y = z| es balanceada,
como se desea.

Ejercicios
1. Complete el Ejemplo 1.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:

12

1. Prembulo

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. 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.
5. Considere el sistema formal PR cuyos teoremas son cadenas de parntesis bien
formadas. 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 cada una de 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.

Parte 1

Lgica proposicional

Captulo 2

Lenguaje y especificacin

El propsito de la lgica en informtica es desarrollar lenguajes para especificar


(i.e., modelar) situaciones reales a la cuales se enfrenta un profesional, de tal modo
que sea posible razonar formalmente acerca de ellas. En este contexto, razonar
significa construir argumentaciones 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 siguiente argumentacin.

Ejemplo 2.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 2.1 es defendible dado que si la primera y


tercera frases se analizan en conjunto, ellas 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; 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.
Considere el siguiente ejemplo.

15

16

2. Lenguaje y especificacin

Ejemplo 2.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 2.2 es intuitivamente cierto. Al examinarlo


con cuidado, es evidente que tiene la misma estructura de la argumentacin en el
Ejemplo 2.1! Todo lo que ha pasado de un ejemplo a otro es que frases y fragmentos
han sido sustituidos:
Ejemplo 2.1
el tren est tarde
hay taxis en la estacin
Juan llega tarde a la reunin

Ejemplo 2.2
est lloviendo
Juana tiene una sombrilla a su alcance
Juana se empapa

En realidad, la argumentacin en cada uno de los ejemplos puede ser formulada sin referirse a protagonistas especficos, trenes, taxis, sombrillas o lluvia, 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 preocupacin no es saber el significado particular de cada frase sino ms bien
aprender sobre su estructura. Obviamente, al aplicar un razonamiento, como en
caso anterior, el significado de cada frases es de vital importancia.
Este captulo se ocupa de desarrollar el lenguaje de la lgica proposicional como
lenguaje para especificar. El siguiente captulo explica cundo una especificacin es
cierta y cundo una argumentacin es vlida.

2.1.

Proposiciones

Para razonar rigurosamente es indispensable desarrollar un lenguaje para expresar afirmaciones de forma tal que su estructura interna sea evidente y pueda ser
analizada. Este es el lenguaje de la lgica proposicional: est basado en proposiciones o sentencias declarativas, i.e., frases con un valor de verdad asociado.
Ejemplo 2.3
Las siguientes frases son ejemplos de proposiciones:
1. La suma de los nmeros 3 y 5 es 8.
2. Juana reaccion agresivamente ante las acusaciones de Juan.

2.1. Proposiciones

17

3. Todo nmero natural n > 2 par puede expresarse como la suma de dos nmeros
primos.
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 porque en principio cada una de ellas es verdadera o falsa. La frase (1) puede ser verificada usando aspectos bsicos de la
aritmtica (y suponiendo tcitamente una representacin arbica en base diez de
los nmeros naturales). La frase (2) es un poco problemtica. Para determinar su
valor de verdad es necesario saber quines son Juana y Juan, y posiblemente tener
un recuento fehaciente sobre la situacin. En principio, si alguien estuvo en la escena, entonces pudo haber detectado la reaccin agresiva de Juana. 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 falsa, por simple que parezca. 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 2.1
En este texto se consideran como proposiciones aquellas frases que tengan un valor
de verdad 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 2.4
Ejemplos de frases que no son proposiciones:

18

2. Lenguaje y especificacin

Puede pedir un domicilio?


En sus marcas, listos, fuera.
Que la fuerza lo acompae.

Las lgicas que se desarrollan en este texto son simblicas por naturaleza y su
desarrollo sigue una metodologa. Inicialmente se traduce un conjunto suficientemente grande de proposiciones del castellano a cadenas de smbolos. Estas cadenas
son cortas pero codifican las proposiciones y permiten concentrarse en la mecnica
del razonamiento. Adems, esta metodologa abre las puertas a la mecanizacin de
la manipulacin simblica, algo que los computadores hacen muy bien (y rpido).

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 computacionales tiles en sistemas formales. La teora de la demostracin y la matemtica inversa 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 mtodo 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 humano 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.

2.2. Lenguaje formal

19

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.
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 sistema hace con confianza, sin la necesidad de tratar
con una gran cantidad de informacin 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 para quienes se dedican a investigar sobre los requerimientos del cliente que solicita el sistema, como para aquellos que desarrollan los programas
para satisfacer esos requerimientos, y tambin para los que redactan manuales de instrucciones para el sistema. Debido a que es independiente del
cdigo del programa, las especificaciones formales 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.

2.2.

Lenguaje formal

El lenguaje formal de la lgica proposicional se describe en dos pasos. Primero,


se define el conjunto de smbolos del lenguaje. Segundo, se define el conjunto de
frmulas que no sern otra cosa que las proposiciones.
Definicin 2.2
Los smbolos del lenguaje de la lgica proposicional son:
Una coleccin infinita de variables proposicionales
p0 , p1 , p2 , . . .
Parntesis izquierdo ( y parntesis derecho )
Una coleccin de conectivos lgicos
, , , , ,

20

2. Lenguaje y especificacin

Las variables proposicionales p0 , p1 , . . . representan proposiciones atmicas, i.e.,


proposiciones que son indivisibles (cuya estructura no exhibe ningn conectivo lgico). Esta lista infinita garantiza que simpre habr variables proposicionales suficientes para escribir y representar cualquier proposicin. Los parntesis izquierdo
y derecho se usan para puntuar y agrupar proposiciones. Los conectivos lgicos
reciben los siguientes nombres y tienen las siguientes interpretaciones intuitivas:
Smbolo

Nombre
negacin
equivalencia
disyuncin
conjuncin
implicacin
consecuencia

Interpretacin
no
si y solo si
o
y
si , entonces
si

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 2.3
En las especificaciones y traducciones del castellano al lenguaje de la lgica proposicional, los smbolos lgicos simpre se interpretarn de la misma forma.

Las frmulas de la lgica proposicional (o proposiciones) corresponden a algunas


cadenas formadas con los smbolos de la lgica proposicional en la Definicin 2.2.
Definicin 2.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. Si es una proposicin, entonces () es una proposicin.
3. Si y son proposiciones, entonces:
a) ( ) es una proposicin
b) ( ) es una proposicin
c) ( ) es una proposicin
d ) ( ) es una proposicin
e) ( ) es una proposicin

De acuerdo con la Definicin 2.4, una proposicin es una variable proposicional o


una frmula construda a partir de unas proposiciones ms sencillas y los smbolos
lgicos. La frmula () es llamada negacin de . La frmula ( ) es la

2.2. Lenguaje formal

21

equivalencia de y . La frmula ( ) es una disyuncin con disyuntos y .


La frmula ( ) es una conjuncin con conyuntos y . La frmula ( )
es una implicacin con antecedente y consecuente . La frmula ( ) es una
consecuencia con consecuente y antecedente .
Ejemplo 2.5
Cada una de las siguientes expresiones es una proposicin:
p4
((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 proposiciones siempre se puede invertir porque dada una proposicin, es posible
saber cul de las siete reglas de construccin (Definicin 2.4) fue la ltima usada
para construrla. En particular, 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 ilustra la aplicacin del
principio de inversin para detectar que una expresin no es una proposicin.
Ejemplo 2.6
Considere la expresin ()()pq 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 ()() pq no es una proposicin.

La naturaleza inductiva de la Definicin 2.4 directamente abre las puertas a la


mecanizacin algortmica de aspectos relacionados con la sintaxis de las proposiciones. Por ejemplo, es natural pensar en el diseo recurrente de un algoritmo que

22

2. Lenguaje y especificacin

dada una expresin en el lenguaje de la lgica proposicional, determine si esta es


una proposicin o no.
Las definiciones inductivas, como la Definicin 2.4, son tan frecuentes en informtica que existe una notacin especialmente diseada para descrbirlas suscintamente. Esta notacin es comnmente conocida con el nombre de notacin
Backus-Naur (BNF, del ingls Backus-Naur form). En BNF, la Definicin 2.4 puede escribirse compactamente como:
(2.1)

::= p | () | ( ) | ( ) | ( ) | ( ) | ( )

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 y se lee como o.
Nota 2.5
Es conveniente seguir 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.

Ejemplo 2.7
Usando las convenciones en la Nota 2.5, el argumento en el Ejemplo 2.1, puede
especificarse 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) (q (q))
c) (p (p (q)))
d ) ((((p r))))

2.2. Lenguaje formal

23

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


2. Justifique por qu las siguientes expresiones no son proposiciones:
a) (p)
b) p
c) p q r
d ) (p q) r
e) ((p q) (r))
3. Use el lenguaje de la lgica proposicional para especificar las siguientes proposiciones:
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 horarios 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.
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 uno de los siguientes argumentos, inicando claramente en cada caso la especificacin de las
variables proposicionales:
a) Si Pedro entiende matemticas, entonces puede entender lgica. Pedro no
entiende 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. Gdel 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.

24

2. Lenguaje y especificacin

r q

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

2.3.

rboles de sintaxis

Para los humanos, utilizar parntesis es tedioso. La razn por la cual son necesarios en las proposiciones, es porque las proposiciones en realidad tienen forma
de rbol!, a pesar de que comnmente sean escritas como lneas de texto. 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) (r)) (r q)). En un rbol de sintaxis los parntesis son innecesarios.
Sus caminos y estructura arborescente eliminan cualquier posible ambigueadad al
leer una proposicin. Al escribir una proposicin linealmente, su estructura arborescente se conserva insertando parntesis tal y como se describe en la definicin de
proposicin (Definicin 2.4).
Note que un rbol de sintaxis tiene como raz (i.e., primer smbolo de arriba
a abajo) una variable 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 todas estas
situaciones, los subrboles se comportan tal y como se acaba de describir; este es
un nuevo ejemplo de una definicin inductiva.
Pensar acerca de proposiciones usando su representacin en rbol de sintaxis
puede ser til para entender nociones como, por ejemplo, el de subproposicin (o,
igualmente, subfrmula).
Definicin 2.6
Sea una proposicin. Una subproposicin de es una proposicin que corresponde
a uno de los subrboles del rbol de sintaxis de .

2.3. rboles de sintaxis

25

Ejemplo 2.8
Las subproposiciones de (((p q)(r)) (rq)), de acuerdo con la Definicin 2.6,
se obtienen a partir del rbol de sintaxis en la Figura 1. Esta proposicin tiene 8
subproposiciones, que se listan a continuacin:
p

(r)

((p q) (r))

(r q)

(p q)

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

Claramente hay rboles de smbolos que no corresponden a rboles de sintaxis,


por la misma razn que no toda cadena de smbolos corresponde con una proposicin.
Ejemplo 2.9
Considere el siguiente rbol de smbolos:

p q
Primero que todo note que no se ha afirmado que este rbol corresponda a un
rbol de sintaxis. De hecho, este rbol no corresponde a un rbol de sintaxis. Por
ejemplo, la hoja , de acuerdo con la definicin de proposicin, se debe aplicar
a dos subproposiciones pero en este caso no se aplica a proposicin alguna (porque
este nodo no tiene subrboles). Un argumento similar aplica para el subrbol con
raz , en dnde hace falta un subrbol.

Ejercicios
1. Dibuje el rbol de sintaxis para cada una de las siguientes proposiciones:
a) p
b) (p r)
c) ((p (q)) r)
d ) ((p q) ((p) (q)))

26

2. Lenguaje y especificacin

e) (p (q p))
f ) ((p r) (p q))
g) (((r (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 consecuente es una equivalencia.
e) Una proposicin que es una consecuencia cuyo antecedente es una disyuncin y consecuente una implicacin.
4. Escriba la proposicin correspondiente al siguiente rbol de sintaxis:

q r p
p

q q

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 con al menos un subrbol el rbol obtenido represente una
proposicin.
b) Sea patolgicamente mal formado, i.e., no hay forma de extenderlo con
subrboles de tal modo que el rbol obtenido represente una proposicin.

2.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 2.7; su demostracin se obtiene

2.4. Induccin sobre proposiciones

27

directamente del principio de induccin matemtica sobre los nmeros naturales


(Definicin 1.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 2.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. Si es de la forma () y tiene la propiedad Q, entonces tiene la propiedad
Q.
3. 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 1.5),
suponiendo que (1), (2) y (3) 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. Entonces no puede ser una variable
proposicional; hay 6 casos: que sea de la forma (), ( ), ( ),
( ), ( ) o ( ). Considere el caso en que sea de la forma ( ).
Tanto como tienen una cantidad de conectivos estrictamente menor que .
Entonces, por la propiedad (3), al suponer S(n), tiene la propiedad Q. Los
dems 5 casos son similares y se proponen como ejercicios para el lector.
Entonces toda proposicin tiene la propiedad Q.

En el Metateorema 2.7, el numeral (1) corresponde al caso base de una demostracin por induccin, mientras que los numerales (2) y (3) corresponden al caso
inductivo; la suposicin de que y tienen la propiedad Q es la hiptesis inductiva.

28

2. Lenguaje y especificacin

Ejemplo 2.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().
Caso inductivo: Hay 6 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 los dos casos L() = R(), como se desea. 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 2.7 con los casos en que sea de
las forma (), ( ), ( ), ( ) o ( ).
2. Complete el Ejemplo 2.10 con los casos en que sea de la forma (), ( ),
( ), ( ) o ( ).
3. Demuestre que cualquier proposicin que no sea una variable proposicional
inicia con un parntesis izquierdo y termina con un parntesis derecho.
4. Demuestre que cualquier proposicin tiene al menos una variable proposicional.
5. Demuestre que cualquier frmula con al menos una mencin de menciona al
menos dos variables proposicionales (no necesariamente distintas).
6. Sea Prop(, ) el conjunto de proposiciones que tienen a y como nicos
conectivos lgicos. Demuestre que si Prop(, ), entonces es de la forma
p, (p), (()), ( ) o (( )), en donde y son proposiciones en
Prop(, ).

2.4. Induccin sobre proposiciones

29

7. Sea Prop(, ) el conjunto de proposiciones que tienen a y como nicos


conectivos 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 3

Semntica

En el Captulo 2 se introdujo el lenguaje formal de la lgica proposicional


como un primer paso hacia la definicin de esta lgica como un sistema formal.
Dicha definicin se dio de la mano de interpretaciones intuitivas y coloquiales del
significado de los conectivos lgicos. Es conveniente definir la semntica de las
frmulas de la lgica proposicional antes de continuar con la definicin del resto del
sistema formal: semntica se refiere al significado matemtico de las proposiciones.
La semntica proposicional permite analizar y clasificar las proposiciones de manera
general e independientemente del aparato deductivo que se elija para el sistema
formal. Adems, a pesar de ser muy sencilla, es una herramienta efectiva para
establecer relaciones importantes entre proposiciones.
Este captulo aborda el estudio formal de la semntica bsica de la lgica proposicional. El estudio est basado en funciones Booleanas que, dada una asignacin
de valores de verdad a las variables proposicionales de una proposicin, asocian un
nico significado a dicha proposicin. Las valuaciones se presentan como una alternativa a las funciones Booleanas, con la ventaja de que con ellas se puede razonar
con la misma efectividad semntica de las funciones pero sin tanto detalle. A su
vez, este captulo muestra cmo, dependiendo de la semntica de una proposicin,
esta puede ser clasificada y estudiada sistemticamente. Finalmente, la semntica
formal de las proposiciones es usada para determinar cundo una argumentacin,
como las de los ejemplos 2.1 y 2.2 en el Captulo 2, es correcta o no. Todo esto sin
necesidad de un aparato deductivo para la lgica proposicional, lo cual justifica el
estudio semntico de las proposiciones antes de abordar el aparato deductivo del
sistema formal.

3.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
31

32

3. Semntica

valor de verdad (as este no se conozca): es verdadera o es falsa. De esta forma, en


el lenguaje formal de la lgica 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.
Definicin 3.1
El conjunto de valores de verdad, o valores Booleanos, se denota como B y est
definido por B = {F, T}.

Intuitivamente, el smbolo F representa el valor falso y el smbolo T el valor verdadero.


Nota 3.2
El conjunto B recibe el nombre de Booleano en honor al matemtico, lgico y filsofo
ingls George Boole, 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.
Nota 3.3
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.

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


y un conjunto de valores de salida de forma tal que cada entrada est relacionada
con una nica salida.
Definicin 3.4
Sea n N. Una funcin Booleana de n parmetros (o funcin Booleana n-aria) es
una funcin H : Bn B.

3.1. Funciones Booleanas

33

El inters particular son funciones Booleanas de 1 y 2 parmetros dado que los


conectivos lgicos del lenguaje formal de la lgica proposicional son unarios o binarios. En la Definicin 3.4, una funcin Booleana unaria corresponde al caso n = 1
y una funcin Booleana binaria al caso n = 2.
Nota 3.5
Una tabla de valores (o tabla de verdad) es una representacin tabular de una
funcin Booleana. En su forma ms general, una tabla de verdad puede ser usada
para representar clculos con funciones Booleanas.

Ejemplo 3.1
Sea H : B2 B la funcin Booleana definida por
H(F, F) = H(F, T) = F

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
T
T

F F
F T
T F
T T

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


proposicional se hace preciso asociando una funcin Booleana a cada uno de ellos.
Definicin 3.6
La funcin H define la interpretacin de la negacin:
p
F
T

(p)
T
F

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

Informalmente, (p) es verdadero cuando p es falso y viceversa. Los encabezados


en las columnas de la tabla de verdad de la negacin (Definicin 3.6), no son oficialmente parte de la tabla de verdad: en general, los encabezados se usan con el

34

3. Semntica

propsito de enfatizar o resaltar el efecto que tiene una funcin Booleana sobre una
variable proposicional.
Definicin 3.7
La funcin H define la interpretacin de la equivalencia:
p q
F F
F T
T F
T T

(p q)
T
F
F
T

H (F, F) = H (T, T) = T
H (F, T) = H (T, F) = F

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


y es falsa cuando sus valores de verdad son opuestos.
Definicin 3.8
La funcin H define la interpretacin de la disyuncin:
p q
F F
F T
T F
T T

(p q)
F
T
T
T

H (F, F) = F
H (F, T) = H (T, F) = H (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 3.9
La funcin H define la interpretacin de la conjuncin:
p q
F F
F T
T F
T T

(p q)
F
F
F
T

H (F, F) = H (F, T) = H (T, F) = F


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

3.1. Funciones Booleanas

35

Definicin 3.10
La funcin H define la interpretacin de la implicacin:
p
F
F
T
T

q
F
T
F
T

(p q)
T
T
F
T

H (F, F) = H (F, T) = H (T, T) = T


H (T, F) = F

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


verdadero y el valor del consecuente q es falso (rengln 3 de la tabla de verdad en
la Definicin 3.10). La implicacin es utilizada de muchas formas en el lenguaje
cotidiano. A pesar de esta variedad, el significado de este conectivo se mantiene
invariante en cualquiera de sus versiones cotidianas.
Nota 3.11
La interpretacin de la implicacin 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.
Cuando se quiere analizar rigurosamente una expresin de la forma si , entonces
el procedimiento es el siguiente: se supone que la proposicin es verdadera
y se procede a demostrar que la proposicin es necesariamente verdadera. Una
demostracin de este estilo muestra que si el antecedente es verdadero, es el rengln
4 el que aplica y no el 3 en la tabla de verdad de la implicacin (Definicin 3.10). En
tal demostracin se puede ignorar convenientemente el caso en que el antecedente
es falso (renglones 1 y 2 de la tabla de verdad) porque, de ser as, la implicacin
es directamente verdadera.

Definicin 3.12
La funcin H define la interpretacin de la consecuencia:
p
F
F
T
T

q
F
T
F
T

(p q)
T
F
T
T

H (F, F) = H (T, F) = H (T, T) = T


H (F, T) = F

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


verdadero y el valor del consecuente p es falso (rengln 2 de la tabla de verdad en

36

3. Semntica

la Definicin 3.12). En este sentido, es claro 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
anlsis de proposiciones. La pregunta es: cmo hacerlo? Lo realmente interesante
de la forma como se ha definido la semntica de los conectivos lgicos usando
funciones Booleanas, es que dicha semntica es inherentemente composicional y
puede ser mecanizable. Por ejemplo, es composicional porque para saber 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 tambin mecanizable, por ejemplo,
porque recorriendo el rbol de sintaxis de ( ) desde las hojas (que corresponden
a variables proposicionales) hacia la raz, se calculan incrementalmente los valores
de y para, finalmente, aplicar la funcin H con estos valores. Este anlisis
arrojar valores nicos para cada combinacin de valores de verdad de las variables
proposicionales.
Observe, en el Ejemplo 3.2, 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 combinaciones. 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 3.2
La proposicin
((p q) ((p) q))
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
F
F
T
T

q
F
T
F
T

(p q)
T
T
F
T

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


T
T
T
T
T
T
F
F
T
F
T
T

En general, para una proposicin que menciona variables proposicionales en


la lista p1 , p2 , . . . , pn , al asignar valores de verdad a cada una de sus variables proposicionales, es posible analizar el valor de verdad de usando las funciones Booleanas
H , H , H , H , H , H dependiendo de cules son las subproposiciones de .
Observe que dada una proposicin como la anterior, que menciona n variables
proposicionales diferentes, desde el punto de vista terico siempre es posible dibujar
su tabla de verdad. En el caso de n variables, la tabla de verdad tiene exactamente
2n renglones, uno para cada combinacin de p1 , p2 , . . . , pn . El problema es que para
valores de n relativamente grandes, dibujar la tabla de verdad es humanamente

3.1. Funciones Booleanas

37

imposible. Por ejemplo, para diez variables proposicionales (i.e., n = 10), la tabla
de verdad tiene 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
diferentes a H , H , H , H y H .
3. Escriba una tabla de verdad para el operador o exclusivo que permite expresar
la proposicin p o q pero no ambas. Tambin presente una definicin de este
operador en donde nicamente se usen los conectivos lgicos de negacin y
equivalencia.
4. Dibuje la tabla de verdad para cada una de las siguientes proposiciones:
a) (p (q))
b) (p (q))
c) (p (q))
d ) ((p q) (q p))
e) ((q (p)))
f ) ((p q) (q p))
g) ((p q) p)
h) (p (p q))
i ) ((p (p q)) (p q))
j ) ((p (q r)) ((p q) r))
k ) ((p (q r)) ((p q) r))
l ) ((p (q r)) ((p q) r))
5. Tienen las proposiciones (p q) y ((p q) (p q)) el mismo significado?
Justifique su respuesta.
6. Justifique que la equivalencia 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
(Seccin 2.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. Encuentre una proposicin que no sea tautologa ni contradiccin
y dibuje su tabla de verdad.
9. 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

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

a) Proponga un axioma definicional en DS para ?.


b) Encuentre una proposicin que nicamente mencione la variable proposicional p y el conectivo ?, y con la misma tabla de verdad de (p).

38

3. Semntica

c) Encuentre una proposicin que nicamente mencione las variables proposicionales p, q y el conectivo ?, y con la misma tabla de verdad de (p q).
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) = H (F, T) = H (T, F) = T

H (T, T) = F.

a) Proponga un axioma definicional en DS para .


b) Encuentre una proposicin que nicamente mencione la variable proposicional p y el conectivo , y con la misma tabla de verdad de (p).
c) Encuentre una proposicin que nicamente mencione las variables proposicionales p, q y el conectivo , y con la misma tabla de verdad de (p q).
d ) Justifique o refute:
1) es asociativo
2) es conmutativo
3) es idempotente
4) es reflexivo
5) es transitivo
11. 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

H (F, T) = T.

a) Proponga un axioma definicional en DS para .


b) Sean y proposiciones de DS. Demuestre: `DS (( ) ).
c) Justifique o refute:
1) es asociativo
2) es conmutativo
3) es idempotente
4) es reflexivo
5) es transitivo
12. Considere cuatro cartas que muestran la siguiente informacin:
A

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

3.2. Valuaciones

39

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.
14. 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?
15. Demuestre, usando el principio de induccin matemtica para n N, que hay
n
22 funciones Booleanas n-arias.

3.2.

Valuaciones

Las valuaciones son objetos alternativos pero esencialmente equivalentes a las


funciones Booleanas (Seccin 3.1), que sirven al propsito de calcular el valor de verdad de una proposicin. La ventaja sobre una funcin Booleana, es que en algunas
ocasiones las valuaciones permiten simplificar razonamientos y clculos.
Definicin 3.13
Sea una proposicin. Una valuacin (o modelo) de es una funcin que asigna
valores en B a las variables de .

Note que las valuaciones son parmetricas en el conjunto de proposiciones, es decir,


para hablar de una valuacin es necesario tener como referencia una proposicin.
Ejemplo 3.3
La funcin que asigna T a p y F a q es una valuacin de ((p) q).

40

3. Semntica

Nota 3.14
Es conveniente seguir algunas convenciones para escribir valuaciones. Se usarn letras minsculas en negrilla para denotar valuaciones. Adems, dada una proposicin
con variables en la lista p1 , p2 , . . . , pn , se usar la expresin
{p1 7 val1 , p2 7 val2 , . . . , pn 7 valn }
para denotar una valuacin de que asigna los valores Booleanos val1 a p1 , val2 a
p2 , . . . y valn a pn . Por ejemplo, si se identifica con v la valuacin en el Ejemplo 3.3,
esta puede escribirse como
v = {p 7 T, q 7 F}.

Una valuacin asigna valores de verdad a las variables proposicionales de una


proposicin. Sin embargo, en general, el objetivo final es asociar valores de verdad a
una proposicin. La extensin de valuaciones a proposiciones es posible usando las
definiciones de funciones Booleanas (Seccin 3.1) de modo tal que dichas extensiones
asocien un nico valor Booleano a toda proposicin de las cuales son valuaciones.

Definicin 3.15
Sea una proposicin y v una valuacin de . La extensin de v a , denotada
como v, se define inductivamente para toda subproposicin de de la siguiente
forma:
1. v(p) = v(p)
2. v(()) = H (v())
3. v(( )) = H (v(), v( ))
4. v(( )) = H (v(), v( ))
5. v(( )) = H (v(), v( ))
6. v(( )) = H (v(), v( ))
7. v(( )) = H (v(), v( ))

Note en la Definicin 3.15, que una valuacin y su extensin coinciden en las variables proposicionales (caso (1)). Los dems casos en la Definicin 3.15 corresponden
a definiciones inductivas que dependen de los conectivos lgicos.

3.2. Valuaciones

41

Ejemplo 3.4
Considere la valuacin v = {p 7 T, q 7 F} de ((p) q) en el Ejemplo 3.3. De
acuerdo con la Definicin 3.15, 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

La Definicin 3.15 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. Sin embargo, hay
una diferencia estructural entre las valuaciones y las funciones Booleanas, a pesar
de parecer similares. Suponga por un momento que es una proposicin en donde
aparecen las variables p1 , . . . , pn . Si se dibuja una tabla de verdad para , entonces
nicamente se asignan valores de verdad a las variables de esta lista de variables,
ignorando cualquier otra combinacin en donde aparezca un valor asociado a una
variable que no haga parte de . Sin embargo, al razonar con valuaciones, es posible que estas asignen valores a variables adicionales que no aparecen en la lista
p1 , . . . , pn ; consecuentemente, puede haber ms de una valuacin que corresponda a
un mismo rengln de la tabla de verdad. 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 demuestra
a continuacin, es que el valor de verdad de una proposicin bajo una valuacin no
se ve afectado por variables que no aparecen en ella.
Metateorema 3.16
Sea una proposicin, y v y w valuaciones de . Si v y w coinciden en todas las
variables proposicionales 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

42

3. Semntica

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 2.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 .
Caso inductivo: Hay 6 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(( ))
En cualquiera de los tres casos v() = w(), como se desea. Los casos en que es
de la forma ( ), ( ), ( ) o ( ) son similares y se proponen como
ejercicios para el lector.

Nota 3.17
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, intencionalmente se evita distinguir entre una valuacin y su extensin.

Hay una forma alternativa, pero algo informal, de caracterizar esta extensin al
usar directamente el significado intuitivo de los conectivos lgicos y evitando mencionar explcitamente las funciones Booleanas. Esta formulacin alternativa puede
simplificar an ms razonamientos y clculos.
Metateorema 3.18
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(( )) = F si y solo si v() = v() = F; de lo contrario v(( )) = T.

3.2. Valuaciones

43

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


5. v(( )) = F si y solo si v() = T y v() = F; de lo contrario v(( )) = T.
6. 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() 6= 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() 6= v(), obteniendo H (v(), v()) = F y
consecuentemente v(( )) = F. Los casos (3)-(6) son similares y se proponen
como ejercicios para el lector.


Nota 3.19
La expresin si y solo si que aparece en el Metateorema 3.18 es una metaequivalencia: tiene dos operandos y es verdad nicamente cuando los dos operandos
coinciden en sus valores de verdad. Note que su interpreacin 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, y como tal hace parte del lenguaje cotidiano y no del lenguaje del sistema
formal de la lgica proposicional. El operador si y solo si en algunas ocasiones se
abrevia como sii.

Intuitivamente, el Metateorema 3.18 indica que el smbolo se interpreta como


un no, el smbolo se interpreta como un igual, 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. El Metateorema 3.18
es informal en el sentido en que algunas expresiones que aparecen a la derecha de
las metaequivalencias usan el castellano en lugar de un lenguaje formal.
Ejemplo 3.5
Se demostrar que v(((p q) ((p) q))) = T para cualquier valuacin v (el
objetivo es el mismo que en el Ejemplo 3.2). Note que por el Metateorema 3.18 se

44

3. Semntica

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
Metateorema 3.18, se obtiene v(((p q) ((p) q))) = T (caso ).

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

q r p
p

q q

a) Encuentre una valuacin v de tal que v() = T.


b) Encuentre una valuacin w de tal que w() = F.
2. Considere las valuaciones
v = {p 7 T, q 7 F, r 7 F}

w = {p 7 T, q 7 F, r 7 T}.

Demuestre v((p (q))) = w((p (q))).


3. Complete la demostracin del Metateorema 3.18 con los casos (3)-(6).
4. Demuestre que v() 6= v(()) para cualquier valuacin v de .
5. Demuestre que v(( )) = T para cualquier valuacin v de .
6. Demuestre que v(( ())) = F para cualquier valuacin v de .
7. Demuestre que v(( ())) = T para cualquier valuacin v de y .
8. Demuestre que v(( ())) = F para cualquier valuacin v de y .

3.3. Clasificacin de proposiciones

3.3.

45

Clasificacin de proposiciones

Esta seccin presenta terminologa que permite clasificar proposiciones de acuerdo con su valor de verdad.
La proposicin el agua moja 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 disyuncin y la negacin; esta proposicin
es cierta en cualquier mundo o realidad. Este segundo ejemplo motiva la siguiente
definicin.
Definicin 3.20
Una proposicin es una tautologa, escrito |= , si y solo si v() = T para cualquier
valuacin v de .

En otras palabras, es una tautologa si para cualquiera de sus valuaciones, sin


importar qu valores asigne a las variables proposicionales de , 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 sus conectivos lgicos, y su interpretacin es
independiente de la interpretacin de sus variables.
Ejemplo 3.6
A continuacin se muestra que la proposicin ( ()) es una tautologa, i.e.,
|= ( ()), para cualquier proposicin . Sea v una valuacin de . Note que
v(( ())) = T sii v() = T o v(()) = T
sii v() = T o v() = F
lo cual es trivialmente cierto dado que el valor de verdad de una proposicin es o
falso o verdadero. Dado que v es cualquier valuacin de , se concluye |= .

Al contar con una proposicin , con variables proposicionales en p1 , . . . , pn ,


para demostrar que es una tautologa, se debe garantizar que v() = T para cualquier valuacin v de . Fjese que a simple vista esta labor parece humanamente
imposible dado que hay una cantidad infinita de dichas valuaciones. Sin embargo,
por el Metateorema 3.16, nicamente es necesario fijarse en las 2n posibles combinaciones de valores Booleanos para las variables en p1 , . . . , pn , lo cual puede hacerse
mecnicamente.

46

3. Semntica

Metateorema 3.21
Hay un algoritmo que, dada cualquier proposicin de la lgica proposicional, decide
si esta es una tautologa o no.

Demostracin. El algoritmo requerido es construir la tabla de verdad para dicha


proposicin.

Nota 3.22
Gracias al Metateorema 3.21, se dice que la lgica proposicional es decidible.

Usando la nocin de tautologa, pueden distinguirse y ser identificadas algunas


propiedades inherentes a la equivalencia y a la implicacin que son comnmente
usadas en informtica y matemticas.
Definicin 3.23
Sean y proposiciones. Se dice que:
1. y son lgicamente equivalentes si y solo si |= ( ).
2. implica lgicamente a si y solo si |= ( ).

Intuitivamente, dos proposiciones son lgicamente equivalentes si sus tablas de verdad coinciden en todos los renglones. Una proposicin implica lgicamente a otra
siempre y cuando si la primera es verdadera en un rengln de verdad, entonces la
segunda necesariamente es cierta en ese mismo rengln. Note que la implicacin
lgica no es una relacin simtrica: puede que implique lgicamente a , pero no
necesariamente implica . En este sentido, la equivalencia lgica es un concepto
ms verstil que la implicacin lgica porque, a diferencia de la implicacin lgica,
la equivalencia lgica si es simtrica.
Ejemplo 3.7
Las proposiciones (p q) y (q p) son lgicamente equivalentes, al igual que las
proposiciones (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).

Claramente no toda proposicin es una tautologa. La siguiente definicin completa la clasificacin de proposiciones.

3.3. Clasificacin de proposiciones

47

Definicin 3.24
Sea una proposicin. Se dice que:
1. es satisfacible si y solo si hay una valuacin v de tal que v() = T.
2. es insatisfacible (o una contradiccin), escrito 6|= , si y solo si cualquier
valuacin v de es tal que v() = F.

Note que si una proposicin es una tautologa, entonces es satisfacible. Adems, una
proposicin 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 3.8
Para demostrar 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.

Ejercicios
1. Demuestre que las siguientes proposiciones son tautologas:
a) (( ) ( )).
b) (( ( )) (( ) )).
c) (( ) ( )).
d ) (( ( )) (( ) )).
e) (( ) ( )).
f ) (( ( )) (( ) )).
g) (( ())).
h) ( ( )).
i ) (( ( )) (( ) ( ))).
j ) (( ) (() ())).
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.

48

3. Semntica

4. Sea una proposicin que nicamente tiene a como conectivo lgico. Es


posible que sea una tautologa?
5. Sea una proposicin que nicamente tiene a como conectivo lgico. Es
posible que sea una tautologa?
6. Sea una proposicin que nicamente tiene a como conectivo lgico. Es
posible que sea una tautologa?
7. Sea una proposicin que nicamente tiene a como conectivo lgico. Es
posible que sea una tautologa?
8. Sea una proposicin que nicamente tiene a como conectivo lgico. Es
posible que sea una tautologa?
9. Demuestre para cualquier proposicin :
a) |= si y solo si 6|= ().
b) |= () si y solo si 6|= .
10. Demuestre para cualesquiera proposiciones , , :
a) |= ( ) si y solo si |= ( ) y |= ( ).
b) Si |= ( ) y |= ( ), entonces |= ( ).
c) Si |= ( ) y |= , entonces |= .
11. Demuestre para cualesquiera proposiciones , , :
a) Si |= ( ) y |= ( ), entonces |= ( ).
b) Si |= ( ) y |= , entonces |= .
c) Si |= ( ) y |= ( ), entonces |= ( ).
d ) Si |= ( ) y |= ( ), entonces |= ( ).
12. Demuestre o refute para cualesquiera proposiciones y :
a) |= ( ) si y solo si |= y |= .
b) |= ( ) si y solo si |= y |= .

3.4.

Consecuencia tautolgica y argumentaciones

Esta seccin generaliza algunos de los conceptos vistos en la Seccin 3.3. El


propsito es abordar dos conceptos fundamentales de la lgica proposicional: la
consecuencia tautolgica y las argumentaciones vlidas.
Definicin 3.25
Sea un conjunto de proposiciones. Se dice que:
1. es satisfacible si y solo si hay una valuacin v de las proposiciones en tal
que v() = T para toda ; en este caso tambin se dice que v satisface a
(o que v es un modelo de ).
2. es insatisfacible si y solo si no hay una valuacin v de las proposiciones en
tal que v() = T para toda .

3.4. Consecuencia tautolgica y argumentaciones

49

Definicin 3.26
Sea una proposicin y un conjunto de proposiciones. Se dice que es una
consecuencia tautolgica de , escrito |= , si y solo si cualquier valuacin que
satisface a tambin satisface a .

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


vaco, entonces la proposicin es necesariamente una tautologa y, convenientemente, |= se abrevia como |= .
Nota 3.27
Para demostrar |= se procede de la siguiente manera:
1. Suponer que hay una valuacin v que satisface a .
2. Demostrar que v() = T.

Ejemplo 3.9
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 esta caso
tambin se tiene |= q.

En general, es posible que una proposicin no sea una consecuencia tautolgica


de un conjunto de proposiciones. A diferencia de una demostracin de |= , que
involucra a toda valuacin de las proposiciones en {}, para demostrar que
no es una consecuencia tautolgica de basta con encontrar 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 3.26).
Nota 3.28
Para demostrar que una proposicin no es una consecuencia tautolgica de un
conjunto de proposiciones se procede de la siguiente manera:

50

3. Semntica

1. Proponer una valuacin v tal que v() = F.


2. Demostrar que v satisface a .

Ejemplo 3.10
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. Entonces q no es una consecuencia tautolgica de .

El siguiente metateorema brinda una herramienta que relaciona la consecuencia


tautolgica, un concepto que no hace parte del sistema formal de la lgica proposicional, con una tautologa.
Metateorema 3.29
Sea una proposicin y = {1 , 2 , . . . , n } un conjunto de proposiciones. Las
siguientes dos afirmaciones son equivalentes:
1. |=
2. |= (1 (2 ( (n ) )))

Demostracin. Se puede hacer una demostracin por induccin sobre n N, la


cual se propone como ejercicio para el lector.

Hay una observacin importante acerca del Metateorema 3.29. En particular,
la proposicin (2) es una de muchas posibles dado que el orden de las proposiciones
en puede ser fijado de muchas formas. La moraleja en esta sitaucin, es que se
puede ser oportunista y construr la proposicin (2) ordenando las proposiciones en
como mejor convenga en cada situacin particular.
Finalmente, se pueden aplicar todas estas ideas al problema de establecer cuando una argumentacin es vlida o no. Recuerde el Ejemplo 2.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:

3.4. Consecuencia tautolgica y argumentaciones

51

p: el tren llega tarde


q: hay taxis en la estacin
r: Juan llega tarde a la reunin
el Ejemplo 2.1 puede especificarse (o ser traducido) al lenguaje de la lgica proposicional de la siguiente manera:
((p (q)) r), (r), p, q.
Esta especificacin se llama la forma de argumentacin (o argumentacin). En lo
que sigue de la seccin, se definir cundo una argumentacin es vlida o invlida.
Definicin 3.30
Una argumentacin es una secuencia 1 , . . . , n , de proposiciones. Las proposiciones 1 , . . . , n son llamadas las hiptesis de la argumentacin y su conclusin.

Informalmente, las proposiciones 1 , . . . , n , son el resultado de especificar en el


lenguaje de la lgica proposicional una argumentacin.
Definicin 3.31
Una argumentacin 1 , . . . , n , es vlida si y solo si es una consecuencia tautolgica de {1 , . . . , n }, i.e., {1 , . . . , n } |= ; de lo contrario la argumentacin es
invlida.

Vale la pena resaltar un par de detalles claves en la Definicin 3.31 sobre la validez e
invalidez de una argumentacin. Primero, note que 1 , . . . , n , es vlida siempre y
cuando toda valuacin v es tal que si v(i ) = T para 1 i n, entonces v() = T.
De forma similar, 1 , . . . , n , es invlida siempre y cuando haya una valuacin w
es tal que si w(i ) = T para 1 i n, entonces w() = F.
Ejemplo 3.11
Se demuestra que la siguiente argumentacin, correspondiente al Ejemplo 2.1, es
vlida:
((p (q)) r), (r), p, q.
Por la Definicin 3.31, 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.

52

3. Semntica

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.
Una demostracin alternativa, usando el Metateorema 3.29, se propone como
ejercicio para el lector.

Ejemplo 3.12
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. Tome v = {p 7 F, q 7 F} y note 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 3.29.
3. Proponga una demostracin del Ejemplo 3.11 que use directamente el Metateorema 3.29.
4. Sean y conjuntos de proposiciones, y , proposiciones. Demuestre:
a) Si |= y , entonces |= .
b) {} |= si y solo si |= ( ).
c) Si {} |= y {()} |= , entonces |= .
5. Sean y conjuntos de proposiciones, y una proposicin. Demuestre que si
|= y |= (), entonces es insatisfacible.
6. Demuestre que cada una de las siguientes argumentaciones son vlidas:
a) ( ), (), ().
b) ( ), (), ().
c) ( ), (), .
d ) ( ), ( ()), ().
7. Demuestre que cada una de las siguientes argumentaciones es invlida:

3.5. La isla de caballeros y escuderos

53

a) (p q), q, p.
b) (p q), (p), (q).
8. Considere el Ejercicio 5 en la Seccin 2.2. Especifique cada una de las argumentaciones y determine cules de las argumentaciones son vlidas o invlidas.
Justifique su respuesta.
9. Si una argumentacin 1 , . . . , n , es invlida, entonces la argumentacin
1 , . . . , n , () es vlida? Justifique su respuesta.

3.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 esta isla cada habitante es caballero o
escudero; de ah su nombre: la isla de caballeros y escuderos. Esta seccin presenta
ejemplos sobre cmo especificar y analizar acertijos lgicos relativos a la isla de
caballeros y escuderos usando la lgica proposicional. Los metodos presentados en
esta seccin pueder ser utilizados para analizar otros tipos de acertijos.
Nota 3.32
Las isla de caballeros y escuderos (en ingls, the island of knights and knaves) fue
presentada 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.

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 3.13
Suponga que un turista est en presencia de dos habitantes de la isla llamados A
y B, respectivamente. A dice: al menos uno de nosotros es escudero. Puede el
turista determinar la naturaleza de A y B?

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


Este acertijo involucra dos habitantes llamados A y B, y pregunta por la posibilidad
de determinar 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. Si p modela la naturaleza del habitante 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 esta convencin, especificar afirmaciones

54

3. Semntica

de la forma el habitante P es caballero y el habitante P es escuedo es fcil: 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.
Ejemplo 3.14
Considere el Ejemplo 3.13. Lo dicho por A puede ser especificado con la proposicin:
((a) (b)).

Fjese que la proposicin ((a) (b)) en el Ejemplo 3.14 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 3.13.
Hasta ahora se ha logrado establecer cmo especificar con proposiciones las
afirmaciones hechas por los habitantes de la isla. Sin embargo, an no se ha establecido cmo relacionar cada una de estas proposiciones con la naturaleza de quien
la enuncia. Para avanzar en esta direccin, observe que hay una relacin bicondicional entre la naturaleza de quien enuncia una afirmacin y la veracidad de dicha
afirmacin. Por ejemplo, si un caballero hace una afirmacin, entonces dicha afirmacin es cierta. Conversamente, si dicha afirmacin es cierta, entonces quien la
enunci es caballero. En general, se puede conclur 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 3.15
Considere el Ejemplo 3.13. Este acertijo puede ser especificado por la siguiente
proposicin:
(a ((a) (b))).

En el Ejemplo 3.15 se establece que


A dice: al menos uno de nosotros es escudero
se especifica con la proposicin
(a ((a) (b))).

3.5. La isla de caballeros y escuderos

55

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.
En el caso del Ejemplo 3.13, el objetivo es determinar, de ser posible, la naturaleza de A y B con base en la afirmacin hecha por A. Dado que el Ejemplo 3.15
presenta una proposicin que formaliza la afirmacin hecha por A, basta entonces
con analizar esta proposicin. En este caso, el inters es por encontrar valuaciones
de a y b que hagan cierta dicha proposicin, y as determinar si A y B pueden ser
clasificados unvocamente.
Ejemplo 3.16
El anlisis por casos del acertijo del Ejemplo 3.13 se hace sobre la proposicin
encontada en el Ejemplo 3.15:
(a ((a) (b))).
Caso a 7 T: Para que el lado derecho de la proposicin 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 3.16 se hace por casos sobre la naturaleza de A. Inicialmente se explora la posibilidad de que A sea caballero, concluyendo que entonces
B es escudero. Posteriormente, se explora la posibilidad de que A sea escudero,
concluyendo que es imposible. Solo hay una posibilidad, luego las naturalezas de A
y B se pueden determinar unvocamente: A es caballero y B es escudero.
Hay una forma alternativa de analizar este tipo de acertijos. En particular, note
que en el anlsis por casos del Ejemplo 3.16 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 3.17
El anlisis por tabla de verdad del acertijo del Ejemplo 3.13 se hace sobre la proposicin encontada en el Ejemplo 3.15:
(a ((a) (b))).

56

3. Semntica

La tabla de verdad de la proposicin es la siguiente:


a
F
F
T
T

b ((a) (b))
F
T
T
T
F
T
T
F

(a ((a) (b)))
F
F
T
F

El nico rengln de la tabla de verdad que hace la proposicin cierta corresponde


a la valuacin {a 7 T, b 7 F}. Entonces, A es caballero y B es escuedero.

Hay una forma sistemtica para resolver acertijos de la isla de caballeros y


escuderos. Esta consiste en especificar un acertijo como una argumentacin 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 }. 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 }. En el primer escenario, de ser factible, se establece que la situacin
descrita por el acertijo es posible cuando P es caballero. En el segundo escenario, de
ser factible, se establece que la situacin descrita por el acertijo es posible cuando
P es escudero. Luego, si exactamente uno de los dos escenarios es factible para P ,
entonces se ha determinado unvocamente la naturaleza de P .
Ejemplo 3.18
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 la naturaleza de A, B y C.

3.5. La isla de caballeros y escuderos

57

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

Ejercicios
1. Explique por qu en el Ejemplo 3.16 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 caballero. 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 frase que nunca puede ser hecha por un habitante de la isla.
Explique su respuesta.
7. Suponga que las variables proposicionales a y b representan la naturaleza de
dos habitantes de la isla llamados A y B. Invente un acertijo que corresponda

58

3. Semntica

a la siguiente especificacin, y determine la naturaleza de A y B:


(a (b)),
(b (a b)).
8. Resuelva el acertijo del Ejemplo 3.18 por anlisis de casos.
9. Resuelva el acertijo del Ejemplo 3.18 por tablas de verdad.
10. 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.
11. Al resolver el Ejercicio 10 es claro que el habitante C no cumple ningn papel
importante 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.
12. 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.
Determine la naturaleza de A, B y C.
13. 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.
14. 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.
15. 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 naturaleza?. Determine, justificando su respuesta, qu responde C.
16. Disee un acertijo que involucre a un habitante de la isla de caballeros y escuderos, y que permita determinar que es caballero.
17. Disee un acertijo que involucre a un habitante de la isla de caballeros y escuderos, y que permita determinar que es escudero.
18. Disee un acertijo que involucre a dos habitantes de la isla de caballeros y
escuderos, y que permita determinar que ambos son caballeros.

3.5. La isla de caballeros y escuderos

59

19. Disee un acertijo que involucre a dos habitantes de la isla de caballeros y


escuderos, y que permita determinar que ambos son escuderos.
20. 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.
21. Disee un acertijo que involucre a tres habitantes de la isla de caballeros y
escuderos, y que permita determinar que todos son escuderos.
22. 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 devorar 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.
23. Suponga que es un conjunto de proposiciones que especifica informacin dada
acerca 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: si |= a, entonces A es caballero.

Captulo 4

El sistema de Dijkstra y
Scholten

En informtica es importante contar con herramientas efectivas para analizar


y disear algoritmos. Hace un par de dcadas, los cientficos holandeses Edsger W.
Dijkstra y Carel S. Scholten inventaron un sistema formal lgico diseado especficamente para analizar y derivar algoritmos. Este sistema lgico ha evolucionado a
travs de los aos y ha madurado en lo que ac se llamar, al menos en su parte
proposicional, el sistema lgico de Dijkstra y Scholten (o sistema DS). La principal
caracterstica del sistema DS es que favorece el razonamiento basado en la equivalencia lgica y no en la implicacin. En la prctica de la demostracin de teoremas,
la manipulacin de smbolos basada en la equivalencia lgica resulta muy efectiva
y verstil. Este enfoque es distinto al tradicional y es suficiente para distanciar a
DS de cualquier otro sistema deductivo de la lgica proposicional. Este captulo
presenta el sistema formal de Dijkstra y Scholten para la lgica proposicional.

4.1.

El sistema formal DS

El lenguaje formal del sistema DS generaliza el lenguaje de la lgica proposicional propuesto inicialmente en la Definicin 2.2 (Seccin 2.2).
Definicin 4.1
Los smbolos de DS son:
Una coleccin infinita de variables proposicionales
p0 , p1 , p2 , . . .
Parntesis izquierdo ( y parntesis derecho )

61

62

4. El sistema de Dijkstra y Scholten

Una coleccin de conectivos lgicos


true, false, , , 6, , , ,

En el lenguaje de la lgica proposicional hay una cantidad infinita de variables proposicionales p0 , p1 , . . . que se emplean para representar proposiciones atmicas. Los
parntesis izquiero y derecho se utilizan para puntuar frmulas del sistema formal.
El lenguaje de DS incluye los conectivos lgicos previamente estudiados como la
negacin (), la equivalencia (), la disyuncin (), la conjuncin (), la implicacin () y la consecuencia () (Definicin 2.2, Seccin 2.2). Estos conectivos son
completados con tres nuevos smbolos lgicos: true, false y 6. A continuacin se
presenta una tabla con los nombres y las interpretaciones intuitivas que reciben los
smbolos lgicos del sistema DS:
Smbolo
true
false

Nombre
verdadero
falso
negacin
equivalencia
discrepancia
disyuncin
conjuncin
implicacin
consecuencia

Interpretacin
verdad
falsedad
no
si y solo si
o exclusivo
o
y
si , entonces
si

El verdadero y el falso son conectivos 0-arios, es decir, operadores constantes. La


negacin es el nico operador unario. La equivalencia, discrepancia, disyuncin,
conjuncin, implicacin y consecuencia son operadores binarios.
Nota 4.2
Una nota de advertencia: es importante distinguir entre los conectivos lgicos true
y false, y los valores Booleanos T y F. El primer par hace parte del Sistema DS,
mientras que el segundo par no.

A continuacin se definen las frmulas de DS.

4.1. El sistema formal DS

63

Definicin 4.3
Las frmulas del sistema DS (o proposiciones) son aquellas cadenas obtenidas usando
una cantidad finita de veces las siguientes reglas:
1. Cada variable proposicional es una proposicin.
2. Las constantes true y false son proposiciones.
3. Si es una proposicin, entonces () es una proposicin.
4. Si y son proposiciones, y {, 6, , , , }, entonces ( ) es una
proposicin.
La expresin VPROP denota el conjunto de variables proposicionales de DS y la
expresin PROP el conjunto de proposiciones de DS. Note que VPROP ( PROP.

Toda proposicin en el sentido de la Definicin 2.4 es una frmula de DS, es decir,


una proposicin. Sin embargo, el sistema DS considera como proposiciones expresiones que previamente no eran consideradas como tales. Por ejemplo, las proposiciones
true y (p1 6 p2 ) de DS no eran consideradas previamente como proposiciones de la
lgica proposicional.
Nota 4.4
A partir de la Definicin 4.3, la palabra proposicin se refiere a una frmula del
sistema DS. En DS se adoptan las siguientes convenciones: las letras minsculas
p, q, r, . . . se prefieren sobre p0 , p1 , p2 , . . ., las letras griegas minsculas , , , , . . .
se usan para denotar proposiciones y las maysculas , , . . . para denotar conjuntos de proposiciones.

La Definicin 4.5 presenta la interpretacin formal de cada uno de los conectivos


lgicos de DS.
Definicin 4.5
Las funciones H , H , H , H , H , H de la Seccin 3.1 definen la interpretacin,
respectivamente, de la negacin, equivalencia, disyuncin, conjuncin, implicacin
y consecuencia en DS. Las funciones constantes Htrue y Hfalse definen la interpretacin de true y false de la siguiente manera:
Htrue () = T

Hfalse () = F.

La funcin H6 define la interpretacin de la discrepancia:


H6 (F, F) = H6 (T, T) = F

H6 (F, T) = H6 (T, F) = T.

64

4. El sistema de Dijkstra y Scholten

La interpretacin de true y false es la natural: son la representacin sintctica de


los valores Booleanos T y F. Una discrepancia (p0 6 p1 ) es verdadera cuando p0
y p1 discrepan en su valor de verdad y es falsa cuando los valores son iguales. La
interpretacin de los dems conectivos lgicos es la misma interpretacin dada la
Seccin 3.1. Note que las funciones de interpretacin de las constantes true y false
no tienen parmetros, es decir, son constantes. A primera vista puede parecer raro
tener funciones que no reciben parmetros; sin embargo, esta es una prctica muy
comn, pero poco publicitada, en algunas ramas de las matemticas. Por ejemplo,
en lgebra abstracta, el 0 es un smbolo cuya interpretacin en N corresponde a la
funcin constante 0() con valor 0 N.
Una sustitucin es un objeto que permite la manipulacin simblica de proposiciones.
Definicin 4.6
Una sustitucin es una funcin F : VPROP PROP 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 p. Sin embargo, cualquier sustitucin F es tal que F (p) 6= 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 .
Un sustitucin F puede ser aplicada a una proposicin con el propsito de
obtener una nueva proposicin F (). En la proposicin F (), algunas variables p
de son sustitudas por F (p). La aplicacin de una sustitucin a una proposicin
recibe el nombre de sustitucin textual.
Definicin 4.7
Sea una proposicin y F = {q0 7 0 , . . . , qn 7 n } 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), si p {q0 , . . . , qn }
2. F (p) = p, si p
/ {q0 , . . . , qn }
3. F (true) = true
4. F (false) = false
5. F (()) = (F ())
6. F (( )) = (F () F ( )), si {, 6, , , , }

4.1. El sistema formal DS

65

De acuerdo con la Definicin 4.7, 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 y cundo una variable proposicional p en es reemplazada por F (p). Para
el caso (2) note que si p no hace parte de las variables afectadas por F , entonces
F (p) = p, lo cual, para efectos prcticos, equivale a no sustitur la variable p. Una
sustitucin textual no afecta a las constantes true y false (casos (3) y (4)). Los dems casos en la Definicin 4.7 corresponden a definiciones inductivas que dependen
de los conectivos lgicos de DS.
Ejemplo 4.1
Considere la sustitucin F = {p 7 (p false), r 7 true, s 7 q}:
F (((p q) 6 (r))) = (F ((p q)) 6 F ((r)))

(caso 6)

= ((F (p) F (q)) 6 F ((r)))

(caso )

= (((p false) F (q)) 6 F ((r)))

(caso p {p, r, s})

= (((p false) q) 6 F ((r)))

(caso q
/ {p, r, s})

= (((p false) q) 6 (F (r)))

(caso )

= (((p false) q) 6 (true))

(caso r {p, r, s}).

Note que la extensin F de una sustitucin F es una funcin del conjunto de


proposiciones en si mismo, es decir, es una funcin F : PROP PROP.
Nota 4.8
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 . Finalmente, si es una proposicin de DS y F es una sustitucin
{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.


Definicin 4.9
Sean , , proposiciones de DS. El conjunto de axiomas de DS est dado por el
siguiente esquema axiomtico:
(Ax1): (( ( )) (( ) ))

66

4. El sistema de Dijkstra y Scholten

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

De acuerdo con la Definicin 4.9, 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 idempotente (Ax7) y distribuye sobre la equivalencia (Ax8). La
definicin de los axiomas de DS omite axiomas que mencionen explcitamente negaciones, discrepancias, conjunciones, implicaciones y consecuencias. Esto es algo
deliberado: como se aprender en las siguientes secciones, estos operadores pueden definirse usando los operadores true, false, y , los nicos hasta ahora
mecionados por los axiomas de DS.
Nota 4.10
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.11
Sean p una variable proposicional y , , proposiciones. Las reglas de inferencia
de DS son:

( )
Ecuanimidad

( )
Leibniz
([p := ] [p := ])

4.1. El sistema formal DS

67

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 resultantes son equivalentes. En el caso de la regla Leibniz,
fjese en que la variable proposicional p puede no ser parte de : en ese caso cada
una de las sustituciones textuales [p := ] y [p := ] en la conclusin de la regla
trivialmente son .
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 1.10 (Seccin 1.3).
Teorema 4.12
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.

El Teorema 4.12.1 establece un hecho altamente deseable de un sistema lgico:


que la verdad es teorema. El Teorema 4.12.2, visto de izquierda a derecha, indica
que cualquier equivalencia cuyos operandos sean iguales puede ser reducida a la
expresin true. Finalmente, el Teorema 4.12.3 indica que la equivalencia es reflexiva.

68

4. El sistema de Dijkstra y Scholten

Ejercicios
1. Demuestre que H6 = H H , en donde denota la composicin funcional:
(H H )(x, y) = H (H (x, y)) para x, y B.
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. Para cada uno de los siguientes casos encuentre proposiciones concretas , ,
tales que:
a) ([q := ])[p := ] 6= ([p := ])[q := ].
b) [p, q := , ] 6= ([p := ])[q := ].
5. Demuestre que cada uno de los axiomas de DS es una tautologa.
6. Demuestre que si |= y |= ( ), entonces |= .
7. Demuestre que si |= ( ), entonces |= ([p := ] [p := ]).
8. Encuentre proposiciones concretas , , para las cuales |= ([p := ] [p := ])
pero no |= ( ).
9. Demuestre el Teorema 4.12.3 (ayuda: use las demostraciones de los teoremas 4.12.1 y 4.12.2).

4.2.

Algunas propiedades deductivas de la equivalencia

Es conveniente establecer algunas propiedades deductivas de la equivalencia


antes de continuar con el estudio de los dems conectivos lgicos de DS. La intencin
es que estas propiedades deductivas pueden ayudar a construir demostraciones ms
simples y cortas. En este sentido, las propiedades de la equivalencia estudiadas en
esta seccin potencian la prctica deductiva en el sistema formal sin aumentar su
poder de deduccin. En pocas palabras: todo teorema de DS que use las propiedades

4.2. Algunas propiedades deductivas de la equivalencia

69

deductivas de la equivalencia estudiadas en esta seccin, puede demostrarse sin


hacer uso de ellas (posiblemente con ms esfuerzo). El resultado principal de esta
seccin es un conjunto de reglas de inferencia que se incorporar a DS.
Inicialmente se establecen algunas propiedades que permiten usar las reglas de
inferencia de DS con ms libertad.
Metateorema 4.13
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 propiedad (2) se propone como ejercicio para el lector. Suponga que 0 , . . . , n
es una demostracin de y que 0 , . . . , m es una demostracin de ( ). Note
que n = y m = ( ). El objetivo es encontrar una demostracin de en
DS. La idea es combinar las demostraciones de y ( ) de la siguiente manera:
0.

( )

.. ..
. .

..
.

n.

( )

n + 1.

( )

.. ..
. .

..
.

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.14
El Metateorema 4.13 justifica la correccin de las siguientes reglas de inferencia:

( )
Ecuanimidad*

( )
Leibniz*
([p := ] [p := ])

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


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

70

4. El sistema de Dijkstra y Scholten

La siguientes propiedades indican cmo la transitividad y la identidad de la


equivalencia permiten simplificar demostraciones.
Metateorema 4.15
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. 

Nota 4.16
El Metateorema 1 justifica la correccin de las siguientes reglas de inferencia:
( )
( )
Transitividad
( )
( true)
Identidad

Identidad
( true)

Finalmente, el Metateorema 4.17 establece algunas propiedades estructurales


de la equivalencia.
Metateorema 4.17
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


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

4.2. Algunas propiedades deductivas de la equivalencia

71

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


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

( )

n. ( ( ))

( )

n + 1. (( ( )) (( ) ))

(Ax1)

n + 2. (( ) )

(Ecuanimidad n y n + 1).

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


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

( )

n. (( ) )

( )

n + 1. (( ( )) (( ) ))

(Ax2)

n + 2. ( ( ))

(Ecuanimidad* n y n + 1).


Nota 4.18
El Metateorema 4.17 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 obtencin de teoremas en el sistema formal.

Ejercicios
1. Demuestre el Metateorema 4.13.2.
2. Demuestre:
a) El Metateorema 4.15.1.
b) El Metateorema 4.15.2.
3. Demuestre el Metateorema 4.17.2.
4. Utilice las reglas de inferencia introducidas en esta seccin para simplificar las
demostraciones presentadas en la Seccin 4.1.

72

4. El sistema de Dijkstra y Scholten

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 := ].

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 seccin 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.19
Sean y proposiciones DS. Los siguientes axiomas de DS definen la negacin y
la discrepancia:
(Ax9): (() ( false))
(Ax10): (( 6 ) (() ))

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 6 pues las dos
proposiciones resultantes son equivalentes.
A continuacin se presentan algunas propiedades de la negacin.
Teorema 4.20
Para cualesquiera proposiciones y de DS:
1. `DS (false (true))
2. `DS ((false) true)
3. `DS (false)
4. `DS ((( )) (() ))
5. `DS ((() ) ( ()))

4.3. La negacin y la discrepancia

73

6. `DS ((()) )
7. `DS (( ()) false)

Las constantes true y false son opuestos el uno del otro (teoremas 4.20.1 y 4.20.2), y
entonces, naturalmente, la negacin de false es un teorema de DS (Teorema 4.20.3).
La negacin distribuye sobre la equivalencia (Teorema 4.20.4) y alterna entre los
operandos de una equivalencia (Teorema 4.20.5). Este ltimo teorema justifica la
afirmacin hecha previamente acerca de la definicin de 6: desde el punto de vista
deductivo resulta indiferente cul de los operandos de la equivalencia sea negado. El Teorema 4.20.6 establece la propiedad de la doble negacin: la negacin se
cancela con ella misma. Finalmente, el Teorema 4.20.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.12.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).

74

4. El sistema de Dijkstra y Scholten

Finalmente, para (6):


1. ((()) (() false))

(Ax9)

2. ((() false) ( (false)))

(Teorema 4.20.5)

3. ((false) true)

(Teorema 4.20.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.20.1 se usan las reglas estructurales de asociatividad y conmutatividad de la equivalencia presentadas en la Seccin 4.2.
La demostracin presentada del Teorema 4.20.2 no es precisamente una demostracin 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 anterior y estar demostrado; adems se debe indicar cmo reemplazar las proposiciones del teorema usado en
la proposicin que aparece en la demostracin actual. El efecto 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.20.2, se usa el Teorema 4.12.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 9, Seccin 4.1).
La regla Leibniz se utiliza en el rengln 3 de la demostracin del Teorema 4.20.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
demostraciones. En particular, se usa en el rengln 8 de la demostracin del
Teorema 4.20.4 con la explicacin Transitividad 1,3,4,6,7. Esta es una convenicin para usar la transitividad de la equivalencia en cadena o cascada (i.e.,
transitivamente). Por ejemplo, la secuencia 1,3,4,6,7 en dicha leyenda indica

4.3. La negacin y la discrepancia

75

que se aplica Transitividad con premisas 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 discrepancia 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 efectivo 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 interpretarse 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.
Teorema 4.21
Para cualesquiera proposiciones , y de DS:
1. `DS (( 6 ( 6 )) (( 6 ) 6 ))
2. `DS (( 6 ) ( 6 ))
3. `DS (( 6 false) )
4. `DS (( 6 ) false)
5. `DS ((( 6 ) 6 ) )

La discrepancia es asociativa, conmutativa y tiene elemento identidad false (teoremas 4.21.1-3). La discrepancia es irreflexiva (Teorema 4.21.4) y acepta una ley
de cancelacin (Teorema 4.21.5). A continuacin se presentan demostraciones de
algunos de estos teoremas.
Demostracin. Para (4):
1. (( 6 ) (() ))

(Ax10)

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

(Ax2)

3. (( ()) false)

(Teorema 4.20.7)

4. (( 6 ) 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.21.1-5. La idea es que dada una cadena texto t y una

76

4. El sistema de Dijkstra y Scholten

llave de ciframiento k, ambas representadas como secuencias de bits, t puede ser


cifrada con la llave k por medio de la operacin (t 6 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 6 k). Por qu? Observe que, de acuerdo con
el Teorema 4.21.5, la operacin de desciframeinto garantiza la obtencin del texto
original:
(tk 6 k) = ((t 6 k) 6 k) = t.
A continuacin se presenta un ejemplo que ilustra paso a paso el proceso de
ciframiento y desciframiento de texto basado en la discrepancia.
Ejemplo 4.2
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,

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


01010111

01101001

01101011

01101001

6 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

6 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.22
El ciframiento basado en xor es muy usado gracias a su simplicidad y facilidad de
implementacin. 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
2
3
4

def xor_cypher(text, key):


"""xor de las cadenas text y key; se supone que
len(text)<=len(key)"""
return .join(chr(ord(a)^ord(b)) for a,b in zip(text,key))

4.4. La disyuncin

77

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.20.4.
4. Demuestre el Teorema 4.20.3.
5. Demuestre el Teorema 4.20.5.
6. Demuestre el Teorema 4.20.7.
7. Demuestre el Teorema 4.21.1 (solo si tiene mucho tiempo disponible).
8. Demuestre el Teorema 4.21.2.
9. Demuestre el Teorema 4.21.3.
10. Demuestre el Teorema 4.21.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 invocaciones:


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.

78

4. El sistema de Dijkstra y Scholten

A continuacin se recuerdan los axiomas de DS que estn relacionados directamente con la disyuncin.

Definicin 4.23
Sean , , proposiciones de DS. El conjunto de axiomas de DS incluye los siguientes
axiomas relacionados directamente con la disyuncin:
(Ax4): (( ( )) (( ) ))
(Ax5): (( ) ( ))
(Ax6): (( false) )
(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.24
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.24.1). La disyuncin
tiene elemento anulador true (teoremas 4.24.2-3). El Teorema 4.24.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.

4.4. La disyuncin

79

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.12.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 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.24.1).
A continuacin se presenta
una demostracin no constructiva de un hecho muy
conocido 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 6= 0.

80

4. El sistema de Dijkstra y Scholten

Ejemplo 4.3

2 es irracional.

Suponga hacia una contradiccin


que 2 es racional, es decir, que hay a, b Z

con b 6= 0 tales que x = ab . 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 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. Consecuente2c


mente, ab = 2d
= dc y por tanto a y b tiene a 2 como factor comn. Esto contradice
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.3 est basado en elhecho de que 2 es o


no irracional (tercero excludo). El argumento justifica
que 2 no es racional (i.e.,

no es no irracional). Entonces, necesariamente, 2 es irracional. Sin embargo, en


ningn
momento se construye una demostracin directa de la irracionalidad de

2 sino que se presenta una demostracin indirecta.


Ejemplo 4.4
Los pasos deductivos en la demostracin del Ejemplo 4.3 pueden expresarse en
lgica proposicional. Considere la siguiente simbolizacin:

p: 2 es irracional.
La demostracin del Ejemplo 4.3 se justifica en DS de la siguiente forma:
1. (p (p))
2. ((p))

(Teorema 4.24.1)

( 2 no es racional)

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.

(Ecuanimidad 6,7).

4.4. La disyuncin

81

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 no es otra cosa ms que el operador
de mximo: el bit 1 es el mximo entre 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.24.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.24.2.
2. Demuestre el Teorema 4.24.3.
3. Demuestre el Teorema 4.24.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.
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.

82

4. El sistema de Dijkstra y Scholten

11. Considere la siguiente regla de inferencia:


( )

(() )
Corte
( )

Explique brevemente el significado de la regla Corte, de un ejemplo de su uso


y demuestre 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 virtual de Java (JVM). Sin embargo,
un usuario comn de Java no debe conocer el lenguaje 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.25
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.25 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.26.

4.5. Intermezzo: derivaciones

83

Metateorema 4.26
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.12.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
derivacin en DS, entonces `DS (0 n ).

En una derivacin se preseva la equivalencia entre cualquier par de proposiciones
consecutivas 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.
Nota 4.27
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

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.

84

4. El sistema de Dijkstra y Scholten

Ejemplo 4.5
A continuacin se presenta un ejemplo de una derivacin. Se sugiere al lector comparar esta derivacin con la demostracin inicialmente presentada del Teorema 4.20.1.
(true)

h Ax9 i
(true false)

h conmutatividad de i
(false true)

h Ax3 i

false

Por el Metateorema 4.26 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.26 se tiene `DS .
Por qu esta argumentacin es incorrecta? Justifique su respuesta.
3. Demuestre que si una secuencia 0 , . . . , n de proposiciones en DS es una demostracin, 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
siguientes 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
afirmaciones:
0 , . . . , n es una derivacin
`DS (0 n )
Justifique por qu estas dos afirmaciones no son equivalentes.
7. Siguiendo la demostracin del Metateorema 4.26, obtenga la demostracin en
DS correspondiente a la derivacin en el Ejemplo 4.5. En otras palabras, compile
dicha derivacin en una demostracin de DS.

4.6. La conjuncin

4.6.

85

La conjuncin

La conjuncin es un conectivo lgico del sistema formal DS que puede ser


definido en trminos de otros conectivos lgicos. Su interpretacin es la del y, es
decir, es verdadera cuando sus dos operandos son verdaderos.
A continuacin se presenta el axioma definicional de la conjuncin en DS.

Definicin 4.28
Sean y proposiciones de DS. El siguiente axioma de DS define la conjuncin:
(Ax11): (( ) ( ( ( ))))

En la Definicin 4.28, el axioma (Ax11) define la conjuncin en trminos de la


equivalencia 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. A continuacin se enuncian algunas propiedades estructurales de la conjuncin.

Teorema 4.29
Para cualesquiera proposiciones , , de DS:
1. `DS (( ( )) (( ) ))
2. `DS (( ) ( ))
3. `DS (( true) )
4. `DS (( false) false)
5. `DS (( ) )

La conjuncin es asociativa (Teorema 4.29.1), conmutativa (Teorema 4.29.2) y tiene


elemento identidad true (Teorema 4.29.3). Adems, la conjuncin tiene elemento
anulador false (Teorema 4.29.4) y es idempotente (Teorema 4.29.5). A continuacin
se presentan demostraciones de algunos de estos teoremas.

86

4. El sistema de Dijkstra y Scholten

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.29.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.
Teorema 4.30
Para cualesquiera proposiciones , , de DS:
1. `DS (( ()) false)
2. `DS ((( )) (() ()))
3. `DS ((( )) (() ()))
4. `DS (( ( )) ((( ) ( )) ))
5. `DS (( ( 6 )) (( ) 6 ( )))
6. `DS (( ( )) (( ) ( )))
7. `DS (( ( )) (( ) ( )))

El Teorema 4.30.1 es una forma de caracterizar la contradiccin en funcin de la


conjuncin. Los teoremas 4.30.2-3 son conocidos como las leyes de DeMorgan y

4.6. La conjuncin

87

establecen cmo la negacin distribuye sobre la conjuncin y la disyuncin, respectivamente. La conjuncin pseudo-distribuye sobre la equivalencia (Teorema 4.30.4)
y distribuye sobre la discrepancia (Teorema 4.30.5). La conjuncin y la disyuncin
distribuyen mtuamente una sobre la otra (teoremas 4.30.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: el bit 0 es el mnimo entre 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.29.4).

Ejercicios
1. Demuestre que el axioma (Ax11) es una tautologa.
2. Demuestre el Teorema 4.29.1.
3. Demuestre el Teorema 4.29.3.
4. Demuestre el Teorema 4.29.4.
5. Demuestre el Teorema 4.29.5.
6. Demuestre la siguiente versin de la regla dorada para la disyuncin y la
discrepancia:
`DS (( ) ( 6 ( 6 ( )))).
7. Demuestre el Teorema 4.30.1.
8. Demuestre el Teorema 4.30.2.
9. Demuestre el Teorema 4.30.3.
10. Demuestre el Teorema 4.30.4.
11. Demuestre el Teorema 4.30.5.
12. Demuestre el Teorema 4.30.6.
13. Demuestre el Teorema 4.30.7.
14. Investigue cules son los operadores de conjuncin lgica y conjuncin entre
bits de Python. De ejemplos del uso de cada uno de ellos.
15. 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.

88

4. El sistema de Dijkstra y Scholten

16. Considere la siguiente regla de inferencia:

Unin
( )
Explique brevemente el significado de la regla Unin, de un ejemplo de su uso
y demuestre 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 desarrollo 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 es
estudiar principalmente las propiedades de la implicacin. Esta seccin contiene una
cantidad significativa de teoremas 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
consecuencia en DS.
Definicin 4.31
Sean y proposiciones de DS. Los siguientes axiomas de DS definen la implicacin
y la consecuencia:
(Ax12): (( ) (( ) ))
(Ax13): (( ) ( ))

En la Definicin 4.31, 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 implicacin 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.32
Interpretando en trminos de bits el axioma (Ax12) que define la implicacin, note
que la implicacin se define estableciendo que el mximo entre el bit del antecedente

4.7. La implicacin y la consecuencia

89

y el bit del consecuente es el bit del 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.33
Para cualesquiera proposiciones y de DS:
1. `DS (( ) (() ))
2. `DS (( ) (( ) ))

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.

90

4. El sistema de Dijkstra y Scholten

Teorema 4.34
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.34.1) y false


en el antecedente (Teorema 4.34.2). La implicacin tiene a true en el antecedente
como nico elemento identidad (Teorema 4.34.3). La negacin de una proposicin
puede caracterizarse con la implicacin; esta es una forma adicional de caracterizar
la contradiccin (Teorema 4.34.4). Demostraciones de estos teoremas se proponen
como ejercicios para el lector.
Los siguientes teoremas indican cmo la implicacin distribuye sobre algunos
conectivos lgicos de DS.
Teorema 4.35
Para cualesquiera proposiciones , , de DS:
1. `DS (( ( )) (( ) ( )))
2. `DS (( ( )) (( ) ( )))
3. `DS (( ( )) (( ) ( )))
4. `DS (( ( )) (( ) ( )))
5. `DS (( ( )) (( ) ( )))

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


implicacin y la consecuencia (Teoremas4.35.1-5).
Dado que el sistema DS est basado en la equivalencia, demostraciones y derivaciones 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.36
Para cualesquiera proposiciones , , de DS:
1. `DS ((() ()) ( ))

4.7. La implicacin y la consecuencia

91

2. `DS ((( )) ( ()))


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

El Teorema 4.36.1 es conocido como la propiedad contrapositiva y el Teorema 4.36.2


indica cmo se niega una implicacin. El Teorema 4.36.3 establece una caracterizacin de la equivalencia en funcin de la implicacin y la conjuncin: la doble
implicacin o implicacin mtua. El Teorema 4.36.4 establece que la implicacin no es ms fuerte que la equivalencia y el Teorema 4.36.5 una propiedad de
acoplamiento de la implicacin. Los teoremas 4.36.6-9 establencen propiedades de
absorcin de la implicacin.
Nota 4.37
Es importante que el lector no confunda el concepto de contrapositiva de un implicacin (Teorema 4.36.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.33-1) i


((()) ())

h doble negacin (Teorema 4.20.6) i


( ())

h conmutatividad de i
(() )

h definicin alternativa de (Teorema 4.33-1) i


( )

Demostraciones de los dems teoremas se proponen como ejercicios para el lector.




92

4. El sistema de Dijkstra y Scholten

De acuerdo como se explic en la Seccin 4.4, en la lgica proposicional hay


un conectivo lgico que establece una relacin de rden entre las proposiciones (ver
Ejercicio 4.4.5). La implicacin es dicho conectivo y define un rden parcial sobre
las proposiciones, es decir, la implicacin es reflexiva, transitiva y antisimtrica.
Estas propiedades de la implicacin se enuncian con los siguientes teoremas.
Teorema 4.38
Para cualesquiera proposiciones , , de DS:
1. `DS ( )
2. `DS ((( ) ( )) ( ))
3. `DS ((( ) ( )) ( ))

El Teorema 4.38.1 indica que la implicacin es reflexiva, el Teorema 4.38.2 que es


transitiva y el Teorema 4.38.3 que es antisimtrica.
Apelando a la implicacin como el rden natural entre las proposiciones, es
posible pensar en asociar una nocin 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 (p q) y p son ciertas, la primera tiene ms
informacin que la segunda porque establece que tanto p como q son ciertas. El
adjetivo parcial en la expresin rden 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 y viceversa. En este sentido, las
proposiciones p y q son incomparables.
Nota 4.39
Cuando un par de proposiciones y son ciertas, y tiene ms informacin que
, entonces se dice que es ms fuerte que (o que es ms dbil que ).

Teorema 4.40
Para cualesquiera proposiciones y de DS:
1. `DS ( ( ))
2. `DS (( ) )
3. `DS (( ) ( ))

4.7. La implicacin y la consecuencia

93

4. `DS ((( ) ( )) ( ))
5. `DS ((( ) ) (( ) ( )))
6. `DS (( ( )) (( ) ( )))

Los teoremas 4.40.1-4 son caracterizaciones tpicas de fortalecimientos y debilitamientos. Los teoremas 4.40.5-6 son propiedades de anlisis de casos. Por ejemplo, el
Teorema 4.40.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. Demostraciones de estos teoremas se proponen como
ejercicios para el lector.
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 pero que no ha sido caracterizado dentro de
DS). Tambin se identifica cmo la transitividad de la implicacin conmuta con la
transitividad de la equivalencia y viceversa.
Teorema 4.41
Para cualesquiera proposiciones , , de DS:
1. `DS ((( ) ( )) ( ))
2. `DS ((( ) ( )) ( ))
3. `DS ((( ) ( )) ( ))

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.33.2.
4. Demuestre el Teorema 4.34.1.
5. Demuestre el Teorema 4.34.2.
6. Demuestre el Teorema 4.34.3.
7. Demuestre el Teorema 4.34.4.
8. Demuestre el Teorema 4.35.1.

94

4. El sistema de Dijkstra y Scholten

9. Demuestre el Teorema 4.35.2.


10. Demuestre el Teorema 4.35.3.
11. Demuestre el Teorema 4.35.4.
12. Demuestre el Teorema 4.35.5.
13. Demuestre o refute: la implicacin distribuye sobre la discrepancia.
14. Demuestre el Teorema 4.36.2.
15. Demuestre el Teorema 4.36.3.
16. Demuestre el Teorema 4.36.4
17. Demuestre el Teorema 4.36.5.
18. Demuestre el Teorema 4.36.6.
19. Demuestre el Teorema 4.36.7.
20. Demuestre el Teorema 4.36.8.
21. Demuestre el Teorema 4.36.9.
22. Demuestre el Teorema 4.38.1.
23. Demuestre el Teorema 4.38.2.
24. Demuestre el Teorema 4.38.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.40.1.
32. Demuestre el Teorema 4.40.2.
33. Demuestre el Teorema 4.40.3.
34. Demuestre el Teorema 4.40.4.
35. Demuestre el Teorema 4.40.5.
36. Demuestre el Teorema 4.40.6.
37. Demuestre el Teorema 4.41.1.
38. Demuestre el Teorema 4.41.2.
39. Demuestre el Teorema 4.41.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) (( ) (( 6 ) ( 6 )))

4.7. La implicacin y la consecuencia

c)
d)
e)
f)

95

(( ) (( ) ( )))
(( ) (( ) ( )))
(( ) (( ) ( )))
(( ) (( ) ( )))

42. Demuestre la propiedad de Modus Ponens: (( ( )) ).


43. La propiedad de Modus Ponens, ms que como teorema, se usa como regla de
inferencia 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).
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:
(P M 1): (( ) )
(P M 2): ( ( ))
(P M 3): (( ) (( ) ( )))
(P M 4): (( ) ( ))
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 Hilbert y Ackerman en Principles of Mathematical Logic.

96

4. El sistema de Dijkstra y Scholten

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 elementales.
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-cache-vich), usa los conectivos {, }. Para , , proposiciones de LUK, los
axiomas de LUK estn dados por el siguiente esquema axiomtico:
LU K1: (( ) (( ) ( )))
LU K2: ((() ) )
LU K3: ( (() ))
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.
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 Ejercicio 46 para KA en lugar de PM.

Captulo 5

Tcnicas de razonamiento y
demostracin

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 demostraciones 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
permite 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 presenta 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 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 derivaciones relajadas,
un concepto que extiende el de derivacin, y que facilita encontrar demostraciones
de implicaciones y consecuencias lgicas por trnsito desde el antecedente 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 resultado (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 importancia 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

97

98

5. Tcnicas de razonamiento y demostracin

de DS. En la prctica la coincidencia semntica y deductiva es til para analizar


proposiciones pues permite cambiar entre estos dos mundos, como ms convenga.
Adicionalmente, la Seccin 5.3 extiende el concepto de demostracin 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 and .
Los conectivos y tienen ms precedencia que y .
Los conectivos y tienen ms precedencia que y 6.

Note que la precedencia de los conectivos lgicos es transitiva. Por ejemplo, de


esta convencin, 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 parntesis en mezclas de expresiones que los usen
porque sin los parntesis puede surgir ambigedad.

5.1. Eliminacin de parntesis

99

Ejemplo 5.1
Dado que la disyuncin tiene ms precedencia que la implicacin, la proposicin
((p q) 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
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.

Ejercicios
1. Elimine tantos parntesis como sea posible de la siguientes proposiciones sin
introducir ambigedad:
a) (( ( )) (( ) ))
b) (( ) ( ))
c) (( false) )
d ) (( ) )
e) (( ( )) (( ) ( )))
f ) (() ( false))
g) (false (true))
h) ((false) true)
i ) (false)

100

5. Tcnicas de razonamiento y demostracin

j)
k)
l)
m)
n)
)
o)
p)
q)
r)
s)
t)
u)
v)
w)
x)
y)
z)

((( )) (() ))
((() ) ( ()))
((()) )
(( ()) false)
(( ) (( ()) ))
(( ) ( ( ( ))))
(( ) )
(( ()) false)
((( )) (() ()))
(( ( )) (( ) ( )))
(( ( )) (( ) ( )))
(( ) (( ) ))
(( ) ( ))
(( false) ())
(( ( )) (( ) ( )))
(( ( )) (( ) ( )))
(( ( )) ( ))
((( ) ( )) ( ))

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 6 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
b) p p q
c) p q r p q p r
d ) p q 6 r false p
e) p p p r

5.2.

Tcnicas bsicas

Esta seccin presenta un recuento de tcnicas bsicas para razonar acerca de


equivalencias 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 demostrar cualquier teorema de DS.

5.2. Tcnicas bsicas

101

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.26. Dado que todo
teorema de DS es equivalente a true (Metateorema 4.15.2), se concluye `DS .
Ejemplo 5.3
Considere el Teorema 4.38.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 posibilidades 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.
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 realidad, cualquier demostracin de una proposicin en DS puede
plantearse como una demostracin 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.26 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.20.1 y del Teorema 4.29.2, entre otros.

102

5. Tcnicas de razonamiento y demostracin

La ventaja de la tcnica de trnsito sobre la tcnica de reduccin a true es que


las derivaciones 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 trnsito 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
derivacin 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
permanecer escondidas. La diferencia tcita entre un lema y un teorema es subjetiva
pues depende del gusto 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 ventajosa a aquella en programacin cuando se definen procedimientos que
encapsulan cierto tipo de clculos especficos y que pueden ser llamadas una y otra
vez.
Ejemplo 5.4
Una propiedad que es laboriosa de establecer, es la asociatividad de la conjuncin
(Teorema 4.29.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 transitividad 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 Teorema 4.29.1 usando estas observaciones.

5.3. Derivaciones relajadas

103

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.29.1 por reduccin a true.
3. Demuestre el Teorema 4.29.1 por trnsito.
4. Demuestre el Teorema 4.29.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 que una implicacin lgica es teorema. Esta seccin presenta el
concepto de derivacin relajada, una extensin del concepto de derivacin. La utilidad de una derivacin 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, a pesar de que
estas proposiciones estn relacionadas por la implicacin lgica, porque estas no
son equivalentes.
En una derivacin relajada se relajan los requisitos deductivos de una derivacin para permitir pasos deductivos en donde es suficiente preservar la implicacin
lgica. 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).
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 implicacin 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.

104

5. Tcnicas de razonamiento y demostracin

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 demostracin 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.38.1).
Caso inductivo: se tiene que 0 , . . . , n , n+1 es una derivacin de debilitamiento; el objetivo es demostrar que `DS 0 n+1 usando como hiptesis inductiva `DS 0 n . Por la Definicin 5.4.1 se tiene `DS n n+1 . Como la
implicacin es transitiva (Teorema 4.38.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.36.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.41.2-3.
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

5.3. Derivaciones relajadas

105

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.40.3):
pq

h debilitamiento: Teorema 4.40.2 i


p

h debilitamiento: Teorema 4.40.1 i


pq

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 (Ejercicio 4.7.51):

h definicin alternativa de i

h fortalecimiento: Teorema 4.40.1 i

Por el Metateorema 5.5.2 se concluye `DS ( ).

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

106

5. Tcnicas de razonamiento y demostracin

Formule ejemplos de proposiciones concretas para , , de tal forma que las


siguientes afirmaciones sean ciertas y adapte el esquema de tal manera que no
se usen conjuntamente 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 debilitamiento sii n , . . . , 0 es una derivacin de fortalecimiento.

5.4.

Propiedades importantes de DS

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 suposicin del antecedente. El segundo es el Metateorema de
Solvencia 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 presentan para el caso general de demostraciones con suposiciones, una extensin
del concepto de demostracin en un sistema formal.
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:

5.4. Propiedades importantes de DS

107

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


(Definicin 1.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
fortalecimiento 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 Solvencia y Completitud.

El Metateorema de la Deduccin formaliza 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.
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

108

5. Tcnicas de razonamiento y demostracin

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 (Ejercicio 5.4.2).
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 6=
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).
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.
Ejemplo 5.7
Considere el axioma (L1) del sistema formal L de Frege para la lgica proposicional
(Ejercicio 4.7.48): ( ). Por el Metateorema de la Deduccin basta con
demostrar
{} `DS

5.4. Propiedades importantes de DS

109

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.41.2:
`DS ( ) ( ) ( ).
Por el Teorema 4.36.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; a continuacin


se presenta su formulacin.
Metateorema 5.10
Sean , proposiciones de DS y un conjunto de proposiciones de DS:
si `DS ,

entonces

{} `DS .

110

5. Tcnicas de razonamiento y demostracin

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


para el lector.

Finalmente, se presenta (sin demostracin, la cual est fuera del alcance de este
captulo) el Metateorema de Solvencia 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.
Solvencia: Si `DS , entonces |= .
Completitud: Si |= , entonces `DS .
En particular, si = , entonces:
`DS sii

|= .

El Metateorema de Solvencia y Completitud establece que analizar una proposicin


con mtodos semnticos o con mtodos deductivos es igualmente potente. Solvencia
significa que todo teorema de es una consecuencia tautolgica de ; completitud
siginifica que para cualquier consecuencia tautolgica de hay una demostracin
en DS con suposiciones en . En particular, cuando el conjunto de suposiciones
es vaco, la solvencia 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. Sea un conjunto de proposiciones de DS, y , proposiciones de DS. Demuestre:
a) Si es un teorema de DS, entonces `DS .
b) Si {}, entonces `DS .
3. 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.

5.5. Tcnicas complementarias

111

Demuestre que la propiedad es cierta cuando es una variable proposicional (considere 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 cualquier otro conectivo lgico, los casos anteriores son suficientes para
establecer la veracidad de la afirmacin inicial.
4. 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 .
5. 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 .
6. Demuestre el Metateorema 5.10.
7. Sean 0 , . . . , n tautologas. Demuestre que si {0 , . . . , n } |= , entonces es
teorema de DS.
8. Demuestre: `DS si y solo si {} es insatisfacible.
9. 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 equivalencia lgica. De hecho, la mayora de las tcnicas presentadas en esta seccin son especialmente 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.
Es importante resaltar que las tcnicas presentadas en esta seccin son de caracter general 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, por falta de estas bases, son ilegibles
parar el lector.
5.5.1. Demostracin por suposicin del antecedente. Una prctica comn
para demostrar una implicacin lgica es usar la tcnica de suposicin del antecedente. Esta tcnica consiste en demostrar bajo la suposicin de , para conclur

112

5. Tcnicas de razonamiento y demostracin

que es cierto. La tcnica de demostracin por suposicin del antecedente


tambin se conoce como demostracin constructiva: 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 (paso 1):
{a = b + 1} `DS impar(a + b).

5.5. Tcnicas complementarias

113

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. Demostracin por doble implicacin. En matemticas e informtica


es comn encontrar propiedades que se especifican como una equivalencia lgica.
Una prctica efectiva para demostrar una equivalencia lgica es hacerlo usando la
tcnica de doble implicacin. Esta tcnica consiste en demostrar indirectamente una
proposicin de la forma por medio de la demostracin de y . En
principio se duplican los esfuerzos de demostracin al cambiar un objetivo por dos.
Sin embargo, cada uno de los dos nuevos objetivos es una implicacin y, entonces,
pueden ser abordado usando, por ejemplo, la tcnica de suposicin del antecedente
(Seccin 5.5.1), lo cual 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.36.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 estructura de una demostracin por doble implicacin. Para ello se supone que
el lector es familiar 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 relacin 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 se axiomatiza con la proposicin

114

5. Tcnicas de razonamiento y demostracin

(x A) (x B) para cualquier elemento x. La expresin 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 quiere 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. Demostracin por contradiccin. Demostrar por contradiccin que


una proposicin es cierta, est basado en el hecho de que dicha proposicin es verdadera o falsa (Teorema 4.24.1, tercero excludo), pero no puede ser verdadera y
falsa a la vez. Se encuentra una contradiccin 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

115

Metateorema 5.14
Sean un conjunto de proposiciones y , proposiciones:
1. `DS

sii

2. `DS

`DS false.
sii

`DS false.

La tcnica de demostracin por contradiccin


(Metateorema 5.14) se us previamente en el Ejemplo 4.3 para demostrar que 2 es irracional. Dicho ejemplo se
desarrolla usando el Metateorema
5.14.1 al negar la proposicin que
se quiere de
es
decir,
suponiendo
que
2 es racional)
mostrar (i.e., negando que 2 es irracional,

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

116

5. Tcnicas de razonamiento y demostracin

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. Demostracin por contrapositiva. De acuerdo con el Teorema 4.36.1,


es cierto que una implicacin 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


considerada 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

117

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 6= 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


implicacin 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 demostracin 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:

118

5. Tcnicas de razonamiento y demostracin

Anlisis de casos sobre una variable proposicional.


Anlisis de casos exhaustivos.
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

sii

`DS [p := true]

y `DS [p := false] .

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.29.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:

5.5. Tcnicas complementarias

119

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
proposicin es teorema, es que los casos 0 y 1 sean colectivamente exhaustivos,
i.e., 0 1 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 formalmente el anlisis de casos exhaustivo, se introduce notacin
auxiliar.
Definicin 5.20
Sean 0 , . . . , n proposiciones:
Wn
La expresin i=0 i , llamada disyuncin generalizada (o disyuntoria), abrevia
la proposicin
0 n .
Vn
La expresin i=0 i , llamada conjuncin generalizada (o conjuntoria), abrevia
la proposicin
0 n .

Una diyuncin generalizada es una secuencia finita de proposiciones operada bajo la


disyuncin 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
Wn
1. `DS i=0 i y
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 metateoremas 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.

120

5. Tcnicas de razonamiento y demostracin

Ejemplo 5.14
Si a Z, entonces a2 6= 5.
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


cuando 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:
Wn
1. `DS ( i=0 i ) sii `DS i , para cada 0 i n.
Vn
2. `DS ( i=0 i ) sii `DS i , para cada 0 i n.

El Metateorema 5.22 indica cmo se pueden demostrar implicaciones cuando el


antecedente 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
siguientes formas para alguna constante c Z:
a = 3c,

a = 3c + 1

a = 3c + 2.

5.5. Tcnicas complementarias

121

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 cantidad 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 demostracin 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 coincidencia 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
Ejemplo 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.

122

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:
`DS

n
^

iff

`DS i ,

para cada 0 i n.

i=0

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


refute:
`DS

n
_

iff

`DS i ,

para algn 0 i n.

i=0

12. Demuestre el Metateorema 5.14.1.


13. Demuestre el Metateorema 5.14.2.

14. Demuestre que 3 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 + y 2 = z 2 .
a) Demuestre que no hay soluciones en los enteros positivos para la ecuacin
Diofantina x2 y 2 = 1.
b) Demuestre que no hay soluciones en los enteros positivos para la ecuacin
Diofantina x2 y 2 = 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
siguiente 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.

5.5. Tcnicas complementarias

123

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

124

5. Tcnicas de razonamiento y demostracin

d)
e)
f)
g)
h)
i)
j)
k)
l)
m)
n)
)

Demostracin
Demostracin
Demostracin
Demostracin
Demostracin
Demostracin
Demostracin
Demostracin
Demostracin
Demostracin
Demostracin
Demostracin

por
por
por
por
por
por
por
por
por
por
por
por

intuicin.
acumulacin de evidencia.
referencia a una fuente inaccesible.
autoridad eminente.
creencia religiosa.
asombro.
repeticin.
reduccin al problema equivocado.
importancia.
eliminacin del contraejemplo.
cambio de definicin.
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 (llamado cuantificador universal y denotado ) y existe (llamado cuantificador
existencial y denotado ). 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.
Entonces, 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 3 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 evidencia que la lgica proposicional no es lo suficientemente
fuerte para 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 traducir y analizar argumentaciones
como la del Ejemplo 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),
127

128

6. Lenguaje y especificacin

en donde x es una variable sobre elementos, t denota el elemento Turing, I(x) un


predicado denotando que x es informtico y D(x) un predicado denotando que
x es intelectualmente destacado.

6.1.

Trminos y frmulas

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


la impresin de cmo se codifican las proposiciones 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. Dado el poder 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 p es un
smbolo de funcin que denota el padre de un individuo, entonces p(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,


smbolos 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.
Una funcin ar : F P N de aridad.

6.1. Trminos y frmulas

129

Parntesis izquierdo ( y parntesis derecho ), y la coma ,.


Una coleccin de conectivos lgicos
true, false, , 6, , , , , , .

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 , . . . , fn ) es un trmino.
La expresin T (X , F) denota la coleccin de trminos sobre F.

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 construdos. Note que la definicin de trmino depende del conjunto
F y, consecuentemente, si este conjunto cambia, tambin cambia el conjunto de
trminos de la lgica de predicados.

130

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,


respectivamente, est motivada por la realidad que se desea describir. Por ejemplo,
si el objetivo es describir una base de datos de relaciones familiares, entonces se
puede considerar el conjunto 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) 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 {, 6, , , , }, entonces ( ) es una
frmula.
6. Si es una frmula y x es una variable, entonces (x ) y (x ) son frmulas.
La expresin T (X , F, P) denota la coleccin de frmulas sobre (F, P).

6.1. Trminos y frmulas

131

De acuerdo con la Definicin 6.5, observe cmo en una frmula de la lgica de predicados los argumentos de un smbolo de predicado son trminos. La Definicin 6.5
puede escribirse usando la notacin Backus-Naur de la siguiente manera:
(6.2)

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


| ( ) | ( ) | ( ) | (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 existencia hay un tal que

Nota 6.6
Por conveniencia, en la lgica de predicados se preserva la convencin sobre la precedencia 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 , 6.

Las frmulas de la lgica de predicados, al igual que los trminos, pueden ser
representadas 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 predicado 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 trminos 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
generaliza 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 proposicin en un lenguaje de la lgica de predicados:

132

6. Lenguaje y especificacin

x0

S
Q x0 x1

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

Todo hijo de mi padre es mi hermano.


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

6.1. Trminos y frmulas

133

de la proposicin bajo cuestin es la siguiente:


x0 (I (x0 , p(yo)) H (x0 , yo)),
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
motivacin 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
particular, (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?
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 (i.e., sin apariciones de
variable alguna)?

134

6. Lenguaje y especificacin

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)
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).
b) Cmo se relaciona la coleccin de proposiciones del sistema DS con las
frmulas de la lgica de predicados sobre (F, P)? Explique su respuesta.
10. Complete el Ejemplo 6.4 con la definicin de la funcin ar para los smbolos de
funcin 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 frmula.
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)

6.1. Trminos y frmulas

135

g) B(x, y) (z |: S(z, y))


h) S(x, y) S(y, f (f (x)))
i ) B(x) 6 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 predicado con tres 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) 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.

136

6. Lenguaje y especificacin

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 consante para identificar individuos como Juan
y Juana. Sin embargo, no es permitido 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.

6.1. Trminos y frmulas

137

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.
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
especifique 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 posfija. Iluestre con un ejemplo en cada uno de los casos.
30. Investigue la definicin de un grupo en un libro de lgebra abstracta.

138

6. Lenguaje y especificacin

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.
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
despreciado 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 (F, P), 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 aparecer dentro de subfrmulas cuantificadas de ,
alguna variable de t, si hay alguna, puede ser capturada por dichos cuantificadores.
En general, este fenmeno potencialmente cambia 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 cerrar la discusin sobre cmo
sustitur un trmino por una variable en una frmula.
En un rbol de sintaxis de una frmula de la lgica de predicados, las variables
aparecen como etiquetas en dos tipos de nodos. Unas variables aparecen en nodos
internos que siempre tienen un subrbol identificando el alcance de dicho cuantificador. Otras variables aparecen en las hojas del rbol y, en algunos casos, son libres
en el sentido en que representan valores que an estn por concretar.
Considere el rbol de sintaxis en la Figura 3 correspondiente a la frmula
(x0 P (x0 , f (x1 ))) Q(x2 ) x2 P (x2 , x0 ),

6.2. Variables libres y acotadas

139

x0
P
x0

f
x1

x2

x2

P
x2 x0

Figura 3. rbol de sintaxis de (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 que corresponde a x0 y otro a x2 . Entre las hojas del rbol, dos de ellas
estn asociadas (i.e., etiquetadas) a x0 , una a x1 y dos a x2 . 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 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
variable x1 , si se inicia un recorrido hacia arriba a partir de la nica hoja asociada
a esta variable, solo se encuentra un nodo interno indicando una cuantificacin, es
decir, x0 . Como x1 no tiene nada que ver con x0 , entonces la nica aparicin de
la variable x1 es libre en la frmula.
Definicin 6.8
Sea una frmula sobre (F, P) 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 hay nodos etiquetados 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.

140

6. Lenguaje y especificacin

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.

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. 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 sobre (F, P) 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 que reintroducen
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 ).

6.2. Variables libres y acotadas

141

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

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.

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, 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 predicado 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) 6 y Q(z, y, f (z))
d ) y (P (x, y, x) 6 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.

142

6. Lenguaje y especificacin

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

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 textual de trminos como mecanismo para hacer estas instanciaciones
en una frmula de la lgica de predicados. Adicionalmente, esta seccin presenta la
nocin de cundo un trmino 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 iniciada en la Seccin 6.2 acerca de esta problemtica.
De acuerdo con las definiciones de trminos y frmulas (definiciones 6.4 y 6.5)
nicamente es correcto sustitur una variable por un trmino. De lo contrario, se
tendran trminos cuyos subtrminos pueden ser frmulas.
A continuacin se presenta el concepto de sustitucin de trminos.
Definicin 6.11
Una sustitucin de trminos es una funcin F : X T (X , F) 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 variable x X . Recuerde que T (X , F) denota la coleccin de trminos sobre
F (Definicin 6.4). Al igual que una sustitucin de la lgica proposicional (Definicin 4.6), cualquier sustitucin de trminos F es tal que F (x) 6= x para una
cantidad finita de variables x. Entonces, una sustitucin de trminos 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 variable est asociada a s misma cuando esta no aparece en la lista de variables
y0 , y1 , . . . , yn .

6.3. Sustitucin de trminos

143

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


sustitucin 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
qu 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 como F/x (x) = x y F/x = F (y)
si y 6= x para cualquier variable y 6= x.

144

6. Lenguaje y especificacin

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 }.
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 {, 6, , , , } 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 sustitucin 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 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.

6.3. Sustitucin de trminos

145

A continuacin se presentan ejemplos ilustrando la aplicacin de sustituciones


a una frmula.
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 sustitucin 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 adopta la convencin de referirse a dicha extensin como una sustitucin de
trminos y denotarla 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], puede 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

146

6. Lenguaje y especificacin

est cuantificada universal o existencialmente. En cualquier caso, se puede cambiar


el sentido de la frmula inicial y este es en realidad el problema de las sustituciones
en la lgica de predicados.
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 ).

De acuerdo con el Ejemplo 6.14, la sustitucin textual en el Ejemplo 6.12 puede


tener efectos de borde porque al menos uno de los trminos sustitudos fue capturado

6.3. Sustitucin de trminos

147

por un cuantificador. En este sentido, el Ejemplo 6.12 tambin es un ejemplo de


una sustitucin que nunca se debe hacer.

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
correspondiente.
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
correspondiente.
c) Dibuje el rbol de sintaxis de F ().
4. Determine la frmula [x2 := f (x1 , x2 )] en donde es 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 )))
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 ) 6 Q(x1 ))
d ) x1 x3 Q(x3 ) 6 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 )

148

6. Lenguaje y especificacin

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.
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
corresponden 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 denotar 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.

6.4. Un lenguaje para arreglos

149

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.
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
argumento 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 arreglo 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 arreglo 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.

150

6. Lenguaje y especificacin

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 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 trminos 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

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.
Intencionalmente 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 (Ejemplo 6.16).
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

6.4. Un lenguaje para arreglos

151

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

152

6. Lenguaje y especificacin

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

6.4. Un lenguaje para arreglos

153

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:
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 automticamente sobre elementos concretos. En particular, al contar con
frmulas de LA mecanizadas en Python, se pueden verificar automticamente propiedades sobre arreglos de nmeros enteros por medio de la ejecucin de programas.
Ejemplo 6.22
Considere la siguiente funcin empty en Python3:
1
2
3

def empty(a):
assert type(a)==list
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

154

6. Lenguaje y especificacin

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.
Ejemplo 6.23
Considere la siguiente funcin asc en Python3:
1
2
3
4
5
6
7
8
9
10
11
12

def asc(a,x,y):
assert type(a)==list
r = 0<=x<=len(a) and 0<=y<=len(a)
i = x
while r and i<y:
j = x
while r and j<y:
if i<j:
r = a[i]<=a[j]
j += 1
i += 1
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 posibilidad 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.

6.4. Un lenguaje para arreglos

155

Finalmente, se presenta un ejemplo correspondiente a la verificacin del predicado de igualdad de arreglos.


Ejemplo 6.24
Considere la siguiente funcin equal en Python3:
1
2
3
4
5
6

def equal(a,b):
assert type(a)==type(b)==list
r,i = len(a)==len(b),0
while r and i<len(a):
r,i = a[i]==b[i],i+1
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.

156

6. Lenguaje y especificacin

11. Especifique en LA las siguientes afirmaciones:


a) El arreglo a es decreciente.
b) Los arreglos a y b son distintos.
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
secuencia 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.

6.4. Un lenguaje para arreglos

157

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
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 sistema 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 fundamentado 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
smbolos constantes
p0 , p1 , p2 , . . .
Una funcin ar : F P N de aridad.

159

160

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

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) supone 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 DS(L).
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 predicados 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 fmrulas en DS(L).
Definicin 7.2
Una sustitucin de frmulas es una funcin
F : {p0 , p1 , . . .} T (X , F, P)
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 (X , F, P) denota la
coleccin de frmulas sobre (F, P) (Definicin 6.5). Al igual que una sustitucin
de la lgica proposicional y de trminos, cualquier sustitucin de frmulas F es tal
que F (p) 6= 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 } indicando 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)

161

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 {, 6, , , , } 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
adopta la convencin de referirse a dicha extensin como una sustitucin de frmulas
y denotarla 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).

162

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 cuantificador (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). Finalmente, 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 precedencia 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
[p := ] [p := ]

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

163

Nota 7.7
Note que los conceptos de derivacin (Definicin 4.25) y derivacin relajada (Definicin 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.

(suposicin 2)

I(Turing)

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

164

7. El sistema de Dijkstra y Scholten para primer orden

3. Defina cada uno de los siguientes conceptos para DS(L):


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
demuestre que es correcta o formule un contraejemplo.
a) Todos los hombres son mortales. Scrates es hombre. Entonces Scrates
es mortal.
b) Si hay quien pague impuestos, entonces todos los polticos pagan impuestos. Si hay algn filntropo, entonces todo aquel que pague impuestos es
filntropo. Consecuentemente, 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. Consecuentemente, 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

7.2.

165

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

166

7. El sistema de Dijkstra y Scholten para primer orden

y teoremas 7.9.3 indican cmo hacer trueque de frmulas que corresponden a una
conjuncin.
Demostracin. Se presenta una demostracin de (1); demostraciones de (2) y (3)
se proponen 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.

7.2. La cuantificacin universal

167

Teorema 7.11
Sean x una variable y , frmulas. Si x no aparece libre en :
1. `DS(L) x x ( )
2. `DS(L) x x ( )

Los teoremas 7.11.1-2 indican, respectivamente, cmo la conjuncin y la implicacin


distribuyen 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 renombramiento de variables.
Teorema 7.12
Para cualesquiera variables x e y, trmino t 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
cuantificacin 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 cuantificacin 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.

168

7. El sistema de Dijkstra y Scholten para primer orden

Ejercicios
1. Demuestre el Teorema 7.8.2.
2. Demuestre el Teorema 7.8.3.
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.

7.3. La cuantificacin existencial

169

Teorema 7.14
Para cualquier variable x y frmula :
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 (Teorema 7.14.3).
A continuacin se presenta un teorema de la cuantificacin existencial que corresponde 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 condicin suficiente para que una frmula cuantificada existencialmente sea
cierta: basta encontrar un testigo que haga dicha fmrula cierta.
A continuacin se presentan teoremas de monotonas para la cuantificacin
existencial.
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.

170

7. El sistema de Dijkstra y Scholten para primer orden

A continuacin se presentan algunos teoremas de distribucin de conectivos


lgicos sobre la cuantificacin existencial.
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.4. Algunos metateoremas

171

7. Demuestre el Teorema 7.16.3.


8. Demuestre el Teorema 7.16.4.
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 cualquier sistema razonable de primer orden. En el desarrollo de la seccin se
usan los conceptos 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 .

172

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.

(Modus Ponens 1,2).

[x := x]

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.

2. x

(suposicin)
(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
Deduccin 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 Generalizacin 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 Generalizacin 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 Generalizacin, 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.

7.4. Algunos metateoremas

173

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.
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 metateorema 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 Metateorema 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 Generalizacin 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


demostracin se propone como ejercicio para el lector.
En lo que resta de esta seccin, se presentan ejemplos que ilustran el uso de los
metateoremas 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.

174

7. El sistema de Dijkstra y Scholten para primer orden

Nota 7.25
Una sucesin de nmeros reales (o sucesin) es una funcin f : N R.

Se distinguen tres tipos para modelar sucesiones en DS(L): uno para nmeros
naturales, 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 el DS(L) en el siguiente ejemplo.
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) < ))).

7.4. Algunos metateoremas

175

Por el Metateorema 7.20, basta con demostrar:


{ > 0} `DS(L) (m:R | m 0 : (n:N | n > m : abs(f (n) 1) < )).
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.

176

7. El sistema de Dijkstra y Scholten para primer orden

1
n

para n > 0. Demuestre que f tiene

7. Sea f la sucesin definida por f (n) =


lmite 0.

1
n+1

para n N. Demuestre que f tiene

8. Sea f la sucesin definida por f (n) =


lmite 0.

1
n2

para n > 0. Demuestre que f tiene

6. Sea f la sucesin definida por f (n) =


lmite 0.

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 definicionales.
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
igualdad, 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]

7.5. La igualdad

177

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.
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 Generalizacin 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.
Recuerde 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.

178

7. El sistema de Dijkstra y Scholten para primer orden

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.
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
c (ac = 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 tambin es divisor de cualquiera de los mltiplos de b.
Ejemplo 7.7
Considere el siguiente objetivo:
`DS(L) a b c (a | b a | bc).

7.5. La igualdad

179

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.
Considere la siguiente derivacin:
a | bc

h definicin i
y (ay = bc)

h suposicin 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]).

180

7. El sistema de Dijkstra y Scholten para primer orden

Ayuda: proceda por induccin sobre la complejidad de .


5. Demuestre el Teorema 7.27.2.
6. Sea x una varible, t un trmino y una frmula. Demuestre que si t es libre
para x en y x no aparece en t, entonces:
a) `DS(L) (x | t = x : ) [x := t]
b) `DS(L) (x | t = x : ) [x := t]
7. Demuestre que la relacin de divisibilidad es reflexiva.
8. Demuestre que a Z es divisor de cualquiera de sus mltiplos, i.e., `DS(L) a | ab
para cualquier b Z.
9. Sean a y b nmeros enteros. Demuestre que si a | b y b | a, entonces a = b o
a = b.
10. 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.
11. Sean a, b, c, d nmeros enteros. Demuestre o refute:
`DS(L) a | c b | d ab | cd.

También podría gustarte