Vous êtes sur la page 1sur 23

Cartilla Herramientas de L

ogica Computacional
Sandor Ortegon Pineda
Politecnico Grancolombiano
Enero de 2011
Indice general

Introducci
on 5

1. Introducci
on a la l
ogica simb
olica: Expresiones booleanas 7
1.1. Sintaxis y evaluacion de expresiones booleanas . . . . . . . . . . . . . . . . 7
1.1.1. Operadores unarios . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2. Operadores binarios . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.3. Descripcion de los principales conectivos binarios . . . . . . . . . . 9
1.2. Proposiciones y traduccion de textos en lenguaje natural . . . . . . . . . . 10
1.2.1. Lectura de Negacion, conjuncion y disyuncion . . . . . . . . . . . . 11
1.2.2. Lectura de Implicacion y Equivalencia . . . . . . . . . . . . . . . . 12
1.2.3. Condiciones necesarias y suficientes . . . . . . . . . . . . . . . . . . 14
1.2.4. La equivalencia en el lenguaje natural . . . . . . . . . . . . . . . . . 14
1.2.5. Reglas de precedencia entre conectivos . . . . . . . . . . . . . . . . 15
1.3. Uso de Tablas de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
1.4. Diferencias entre igualdad y equivalencia . . . . . . . . . . . . . . . . . . . 17
1.5. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

2. Validez de expresiones booleanas y simbolizaci


on de argumentos 23
2.1. Satisfabilidad y validez . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.2. Analisis de Razonamientos . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.3. Validez de razonamientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.4. El metodo de forzamiento . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.4.1. Un primer ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.4.2. Un segundo ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.5. Ejercicios de simbolizacion con ayudas (para practicar) . . . . . . . . . . . 32
2.6. Ayudas en los ejercicios anteriores de simbolizacion . . . . . . . . . . . . . 33
2.7. Ejercicios (sin ayudas) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36

3. Preliminares al c
alculo proposicional 39
3.1. Expresiones aritmeticas y notacion de sustitucion textual . . . . . . . . . . 39

1
Cartilla Herramientas de L
ogica Computacional

3.2. Sustitucion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.3. Sustitucion y variables ocultas . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4. La sustitucion como regla de inferencia . . . . . . . . . . . . . . . . . . . . 43
3.5. Igualdad y sustitucion. Regla de Leibniz . . . . . . . . . . . . . . . . . . . 44
3.6. Sistemas deductivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
3.6.1. El sistema deductivo que usaremos en nuestro curso . . . . . . . . . 47
3.7. Propiedades a evaluar en los conectivos logicos . . . . . . . . . . . . . . . . 49
3.7.1. Asociatividad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.7.2. Conmutatividad (Simetra) . . . . . . . . . . . . . . . . . . . . . . . 49
3.7.3. Reflexividad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.7.4. Distributividad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.7.5. Identidad (o elemento neutro) . . . . . . . . . . . . . . . . . . . . . 51
3.7.6. Elemento absorvente (cero) . . . . . . . . . . . . . . . . . . . . . . 52
3.8. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

4. Axiomas y Teoremas de C
alculo Proposicional 55
4.1. Axiomas sobre la equivalencia . . . . . . . . . . . . . . . . . . . . . . . . . 55
4.2. Esquema de demostracion en calculo proposicional . . . . . . . . . . . . . . 56
4.3. La negacion, discrepancia (no equivalencia), y false . . . . . . . . . . . . . 58
4.4. Heursticas y tecnicas de demostracion . . . . . . . . . . . . . . . . . . . . 59
4.5. La disyuncion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.6. La conjuncion y la Regla de Oro . . . . . . . . . . . . . . . . . . . . . . . . 63
4.7. Usos de la Regla de Oro . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.8. Usando lemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.9. La implicacion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.10. Prueba de teoremas en donde participa la implicacion . . . . . . . . . . . . 70
4.11. Aplicacion: Propiedades de Distributividad . . . . . . . . . . . . . . . . . . 71
4.12. Dualidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.13. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78

5. M
etodos de Demostraci
on 85
5.1. Forma abreviada en la prueba de implicaciones . . . . . . . . . . . . . . . . 85

2
Cartilla Herramientas de L
ogica Computacional

5.2. Suponiendo el antecedente . . . . . . . . . . . . . . . . . . . . . . . . . . . 87


5.3. Analizando razonamientos en lenguaje corriente . . . . . . . . . . . . . . . 88
5.4. Construyendo contraejemplos . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.5. Un acertijo logico . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.5.1. Un peque
no ejemplo . . . . . . . . . . . . . . . . . . . . . . . . . . 90
5.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

6. Expresiones cuantificadas y lenguaje de predicados 97


6.1. Introduccion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
6.2. Tipos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
6.3. Predicados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
6.4. Sintaxis e interpretacion de la cuantificacion . . . . . . . . . . . . . . . . . 99
6.5. Los primeros ejemplos de traduccion . . . . . . . . . . . . . . . . . . . . . 101
6.6. Lectura de expresiones cuantificadas . . . . . . . . . . . . . . . . . . . . . 102
6.7. Traduccion de expresiones aritmeticas . . . . . . . . . . . . . . . . . . . . . 102
6.8. Traduccion de textos en lenguaje natural . . . . . . . . . . . . . . . . . . . 104
6.9. Teoremas matematicos en lenguaje de predicados . . . . . . . . . . . . . . 106
6.10. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

7. Manejo de Expresiones Cuantificadas 113


7.1. Variables libres y ligadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
7.2. Reglas generales para expresiones cuantificadas . . . . . . . . . . . . . . . 114
7.3. Ejemplos de Calculo de Expresiones Cuantificadas . . . . . . . . . . . . . . 117
7.4. Uso de Axiomas Generales de Cuantificacion . . . . . . . . . . . . . . . . . 118
7.5. Casos especiales de cuantificadores . . . . . . . . . . . . . . . . . . . . . . 120
7.5.1. Maximos y mnimos . . . . . . . . . . . . . . . . . . . . . . . . . . 120
7.5.2. Operador de conteo . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
7.6. Sustitucion en expresiones cuantificadas . . . . . . . . . . . . . . . . . . . . 122
7.7. Ejemplos de sustitucion en expresiones cuantificadas . . . . . . . . . . . . . 123
7.8. Calculo de predicados: El cuantificador universal . . . . . . . . . . . . . . . 124
7.8.1. Traslacion con el operador universal . . . . . . . . . . . . . . . . . . 125
7.8.2. Distributividad con el cuantificador universal . . . . . . . . . . . . . 126

3
Cartilla Herramientas de L
ogica Computacional

7.8.3. Manipulacion de rango y termino con el cuantificador universal . . 127


7.8.4. Instanciacion con el cuantificador universal . . . . . . . . . . . . . . 128
7.8.5. Teoremas y el cuantificador universal . . . . . . . . . . . . . . . . . 129
7.9. Calculo de predicados: El cuantificador existencial . . . . . . . . . . . . . . 130
7.9.1. Traslacion en la cuantificacion existencial . . . . . . . . . . . . . . . 132
7.9.2. Distributividad en la cuantificacion existencial . . . . . . . . . . . . 133
7.9.3. Manipulacion de rango y termino con el cuantificador existencial . . 133
7.9.4. Introduccion del operador existencial e intercambio . . . . . . . . . 134
7.9.5. Testigo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
7.10. Un ejemplo matematico: Continuidad . . . . . . . . . . . . . . . . . . . . . 136
7.11. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

8. Nociones b
asicas de conjuntos 143
8.0.1. Conjunto universal . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
8.0.2. Pertenencia e igualdad de conjuntos . . . . . . . . . . . . . . . . . . 144
8.0.3. Conjuntos y predicados . . . . . . . . . . . . . . . . . . . . . . . . . 147
8.0.4. Cardinalidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
8.0.5. Operaciones entre conjuntos . . . . . . . . . . . . . . . . . . . . . . 150
8.0.6. Subconjunto y Superconjunto . . . . . . . . . . . . . . . . . . . . . 153
8.0.7. Conjunto potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 153
8.0.8. Teoremas de Conjuntos . . . . . . . . . . . . . . . . . . . . . . . . . 153
8.0.9. Union e interseccion de familias de conjuntos . . . . . . . . . . . . . 156
8.1. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156

Bibliografa 159

4
Introducci
on

Este libro constituye una introduccion a los conceptos formales que cimientan la ela-
boracion de demostraciones matematicas. Con una frase tan corta como la anterior, se
pretende indicar que se describen tecnicas y conceptos fundamentales que facilitaran la
formalizacion de argumentos y el entrenamiento en razonamiento deductivo.

El parrafo anterior puede corresponder a la introduccion de una gran variedad de textos


de matematicas. Por tanto, la primera pregunta que puede hacerse el lector es si existe
un elemento diferenciador de este libro respecto de otros existentes en el mercado. Para
responder a dicha pregunta, en esta introduccion se quiere indicar las aplicaciones de los
contenidos que se veran, las motivaciones para escribir este documento y las caractersticas
de la audiencia esperada para el mismo.

La segunda mitad del siglo XX significo entre otras cosas, un periodo de tiempo donde
la computacion y las tecnologas de informacion ocuparon un papel preponderante, que
muy seguramente no tendra marcha atras. Con ello, se establecio la Ciencia de la Compu-
tacion como disciplina academica, entendiendo por esta el conjunto de bases teoricas de la
computacion y los sistemas computacionales. Y en esta area, el papel principal lo han ocu-
pado ciertas ramas de las matematicas donde no tienen cabida nociones de cercana,
suavidad o continuidad que son claves en el estudio del Calculo Infinitesimal y el
Analisis Matematico. Estas ramas constituyen lo que hoy en da se agrupa bajo el nombre
de Matematicas Discretas y en la actualidad se considera que una formacion adecuada
en matematicas discretas es indispensable para cualquier matematico y para cualquier
estudioso de las ciencias de la computacion.

Desde un punto de vista pedagogico, la pregunta fundamental es la siguiente: Donde


inicia el estudio de las Matematicas Discretas? La respuesta actual es que inicia justo
donde inicia el estudio de las matematicas en general. Es decir, en el manejo basico
de sistemas numericos, el conocimiento de la notacion que permita expresar ideas en
lenguaje matematico y la comprension de conceptos matematicos que permitan realizar
justificaciones formales.

Entre estos tres aspectos mencionados en el parrafo anterior, los dos primeros consti-
tuyen la mayor parte de la formacion matematica en la ense nanza primaria y secun-
daria. El tercero constituye el aspecto menos explorado y en el cual la formacion de
muchos estudiantes es bastante . Debido a esto, las instituciones de ense nanza supe-
rior han dise
nado cursos para suplir llenar estas carencias, de acuerdo a la carrera o
especialidad escogida por el estudiante. El comun denominador de los mismos reside
en estudiar fundamentos de logica formal (como bibliografa, podemos citar los libros
[Fer90, Gom98, Bal00, Ari09, Gri94, Gri98]).

5
Cartilla Herramientas de L
ogica Computacional

6
Captulo 1: Introducci
on a la l
ogica simb
olica: Expresiones booleanas

La logica simbolica surgio como una manera de analizar los razonamientos escritos en
lenguaje natural. Los operadores que se describiran en este captulo fueron pensados
como contrapartidas formales de operadores del lenguaje. Si se tiene cierto cuidado puede
traducirse una proposicion escrita en lenguaje natural en una expresion booleana.
Esta traduccion nos permitira dos cosas: por un lado resolver ambiguedades del lenguaje
natural, por otro manipular y analizar las expresiones booleanas as obtenidas usando
reglas que seran introducidas en el proximo captulo. Como veremos luego, las reglas
logicas ofrecen una alternativa efectiva para razonamientos expresados en el lenguaje
corriente.
En este captulo trabajaremos sobre las expresiones booleanas, cuyo nombre se debe a
George Boole (18151864), quien describio gran parte del material que veremos en los
primeros dos captulos en su clasico libro The laws of thought (Las leyes del pensamien-
to) escrito en el siglo XIX. Podramos considerar dicho libro como la primera referencia
escrita de la logica simbolica y la aproximacion de usar reglas de calculo para determinar
la validez de argumentos logicos. Es de mencionar que no hacemos mencion historica de la
aproximacion a la logica y el razonamiento usados en la Edad Antigua y la Edad Media;
el lector interesado en datos historicos adicionales y diversos enfoques puede consultar
textos como [Ari09] y [EJF03].
Las expresiones booleanas son utilizadas con frecuencia en distintos lenguajes de progra-
macion, por lo tanto el material de este captulo sera familiar para aquellos que tengan
alguna nocion de Pascal, C, Java o algun otro lenguaje. Veremos como expresar frases en
espa
nol a traves de expresiones booleanas.

Secci
on 1.1: Sintaxis y evaluaci
on de expresiones booleanas

El proceso de construccion de expresiones booleanas es analogo al que se ha trabajado


en el colegio para obtener expresiones aritmeticas, nada mas que es necesario sustituir en
la construccion las constantes aritmeticas por las constantes True y False (constantes
booleanas), las variables aritmeticas por variables booleanas, (aquellas que asumen solo los
valores true o false) y los operadores aritmeticos +, , y / por los operadores booleanos
, 6, , , y , que seran introducidos mas adelante.
Los operadores logicos act
uan sobre constantes o variables booleanas, de manera que re-
ciben variables booleanas como parametros y solo asumen los valores true o false. Pueden
enumerarse los distintos operadores observando para ello los valores que toman de acuerdo
a cada posible combinacion de los valores de sus argumentos. Nos interesara fundamen-
talmente conocer sobre los operadores unarios y binarios (es decir, que reciben uno o dos

7
Cartilla Herramientas de L
ogica Computacional Sintaxis y evaluaci
on de expresiones booleanas

parametros), pues todos los demas se pueden expresar a partir de estos.

1.1.1: Operadores unarios

Comenzaremos describiendo los operadores unarios, es decir aquellos que act


uan sobre
un operando solamente. Una forma de hacer esto es enumerando todas las funciones del
conjunto {True, False} en el conjunto {True, False}. Aquellas funciones que asumen
valores en el conjunto {True, False} se conocen como funciones booleanas.
Si consideramos las funciones booleanas de un argumento definidas sobre el conjunto
{True, False}, entonces tenemos un total de cuatro funciones como aparecen en la si-
guiente tabla. Hay dos que aparecen sin nombre; aunque estas podran expresarse en
terminos de las que si tienen nombre ( Como?).

Posibles valores de verdad id


True True True False False
False True False True False

La tabla anterior es conocida como Tabla de verdad. Las entradas en la tabla de verdad
tienen el significado siguiente: si p es una variable booleana, la primer columna se reserva
para p y sus distintos estados, mientras que en cada una de las siguientes aparece el
resultado de la aplicacion de cada funcion sobre cada uno de los estados. Por ejemplo, en
la segunda columna de la derecha vemos que id(True) = True y id(False) = False, esta
funcion recibe el nombre de funcion identica o tambien identidad. Tambien observamos
en la primera y la u ltima columna dos funciones constantes que no tienen asignado un
nombre especfico. La funcion simbolizada con se llama negacion y corresponde al
operador unario not, por ejemplo notaremos False = True.

1.1.2: Operadores binarios

Si ahora consideramos todas las funciones booleanas de dos argumentos, es decir definidas
sobre el conjunto

{(True, True) , (True, False) , (False, True) , (False, False)} ,

se obtienen dieciseis posibles funciones. Para representarlas en una tabla, se puede abreviar
True con el numero 1 y False con el n umero 0. Dependiendo del texto que se use, a veces
se usa esta convencion o simplemente se escriben las letras V,F (o T,F seg un el idioma).
A continuacion mostramos las tablas de los 16 operadores booleanos. Las dos primeras
columnas representan las combinaciones de valores que pueden tomar dos variables boo-
leanas. Por ejemplo, la primera fila, al indicar un 1 1, se esta contemplando el caso donde
la primera variable vale 1 (True) y la segunda variable vale 0 (False). En las columnas
donde el nombre de los operadores es conocido, colocamos el smbolo que corresponde;

8
Cartilla Herramientas de L
ogica Computacional Sintaxis y evaluaci
on de expresiones booleanas

cuando hay mas de una alternativa de smbolo para un operador particular, se indica
arriba una alternativa.
A nivel de escritura por ejemplo, si se tuviera una variable booleana b y otra c que
representan las dos primeras columnas, la aplicacion de las funciones correspondientes a
la segunda y tercer columna a la derecha (despues de la division) se denota b c y b c,
respectivamente.
En el siguiente apartado se describen esas funciones y en proximas secciones se indicara su
significado, se mostraran textos de la vida cotideana donde dichos operadores aparecen y
se hablara de sus propiedades a nivel sintactico.

xor
= 6=
nand 6 nor
1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
1 0 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

1.1.3: Descripci
on de los principales conectivos binarios

A continuacion daremos un detalle de cada uno de los conectivos binarios mas conocidos.

1. El operador es la igualdad habitual. La expresion b = c se lee b es igual a c.


Al operador booleano igualdad tambien se le da el nombre de equivalencia y se lo
nota con un segundo smbolo, . La expresion b c se lee b es equivalente a c,
tambien se dice que los operandos b y c son equivalentes.

2. El operador 6 es la no-equivalencia. La expresion b 6= c se lee b es distinto de c.


El operador 6 satisface (b 6= c) = (b = c). A este operador booleano tambien se
le da el nombre de discrepancia y se lo nota con un segundo smbolo, 6. Se lo suele
llamar tambien disyuncion exclusiva u operador xor , dado que resulta verdadero
cuando exactamente uno de los dos operandos lo es.

3. El operador es llamado disyuncion. La expresion b c se lee b o c dado que el


resultado es verdadero cuando al menos uno de los operandos lo es.

4. El operador es llamado conjuncion. La expresion b c se lee b y c, dado que el


resultado es verdadero cuando ambos operandos lo son.

5. El operador es llamado implicancia. La expresion b c se lee b implica c o


bien si b entonces c. El primer operando b, es llamado antecedente y el segundo c,
consecuente. b c sera verdadera en todos los casos excepto cuando b sea verdadera
y c falsa. En la tabla de verdad se observa un resultado poco intuitivo, y es que si el

9
Cartilla Herramientas de L
ogica Computacional Proposiciones y traducci
on de textos en lenguaje nat

antecedente es falso, el resultado de la expresion b c sera verdadero, sin importar


el valor del consecuente.
Hay una historia particular al respecto, que sucedio a comienzos del siglo XX y que
es atribuida al matematico ingles Godfrey Harold Hardy: Resulta que en alguna
ocasion estaba dando una charla sobre el tema y fue interrumpido por una persona
que de manera despectiva le dijo: Umm, o sea que si 2 + 2 = 5, entonces yo soy el
papa.
Hardy muy calmado, no se dejo intimidar y respondio: Si, en efecto esta implicaci on
es cierta; para que no quedaran dudas, dio la siguiente justificacion a la persona en
cuestion: Si 2 + 2 = 5, entonces entonces estara de acuerdo que si restamos 2 de
cada lado obtenemos 2 = 3. Invirtiendo la igualdad y restando 1 de cada lado, da 2
= 1. Como el Papa y usted son dos personas y sabemos que 2 es igual a 1, entonces
el Papa y usted son uno; luego usted es el Papa. Enseguida, recibio un gran aplauso
de parte de los presentes.
6. El operador es llamado consecuencia. La expresion b c se lee b sigue de
c. En la tabla de verdad se puede ver que son equivalentes c b y b c. Se
introduce en nuestras expresiones debido a su utilidad en el proceso de construccion
de demostraciones.
7. Los nombres de los operadores nand y nor siguen de not and(no y) y not
or( no o) en ingles respectivamente. La expresion b nand c es igual a (b c),
mientras que b nor c es igual a (b c).

Secci
on 1.2: Proposiciones y traducci
on de textos en lenguaje natural

Vamos a presentar ahora cierta terminologa que se utilizara en logica simbolica.


Una proposicion es una frase o expresion que solo puede ser verdadera o falsa. En esto
las proposiciones se diferencian de otras frases o expresiones como las exclamaciones,
las preguntas o las ordenes. Tambien es necesario diferenciarlas de las oraciones aunque
estas bien pueden ser verdaderas o falsas. Dos oraciones pueden ser diferentes por estar
compuestas de diferentes palabras o estas pueden estar dispuestas de formas distintas,
pero si expresan el mismo significado, constituyen la misma proposicion, por ejemplo:

Juan ama a Mara.


Ama Juan a Mara.

Es claro, que se trata de dos oraciones diferentes, pero ambas tienen el mismo significado,
por lo tanto lo que ellas afirman es considerado una proposicion.

10
Cartilla Herramientas de L
ogica Computacional Proposiciones y traducci
on de textos en lenguaje nat

La idea basica de traduccion consiste en identificar las proposiciones elementales de un


enunciado que seran representadas mediante variables booleanas y componerlas usando los
operadores booleanos asociados a los conectivos del lenguaje que aparecen en el enunciado.
Los conectivos del lenguaje seran traducidos a su interpretacion obvia, aunque veremos
algunas sutilezas de esta traduccion.
Por ejemplo, la oracion
Hamlet defendio el honor de su padre pero no defendio la felicidad de su madre
ni la suya propia
puede analizarse como compuesta basicamente de tres proposiciones elementales
p : Hamlet defendio el honor de su padre
q : Hamlet defendio la felicidad de su madre
r : Hamlet defendio su propia felicidad
usando esta variables proposicionales la frase anterior puede traducirse como
p (q r)

1.1 Observaci on. La palabra pero se traduce como una conjuncion, puesto que afir-
ma ambas componentes. Por otro lado la disyuncion usada es inclusiva, ya que podra
haber defendido la felicidad de su madre la propia o ambas.

1.2.1: Lectura de Negaci


on, conjunci
on y disyunci
on

La operacion de negacion aparece usualmente en el lenguaje insertando un no en la


posicion correcta del enunciado que se quiere negar, alternativamente puede anteponerse
la frase es falso que o la frase no se da el caso que. Por ejemplo el enunciado:
Todos los unicornios son azules (1.1)
puede negarse de las siguientes maneras:
No todos los unicornios son azules
No se da el caso de que todos los unicornios son azules
Es falso que todos los unicornios sean azules
Algunos unicornios no son azules
si simbolizamos con p a la proposicion (1.1), cualquiera de las variantes de negacion
propuestas se simbolizan mediante el operador logico de negacion y se expresan p.
La conjuncion aparece en el lenguaje con la palabra y, uniendo dos proposiciones.
Tambien se interpretaran como conjuncion las palabres pero y aunque. Por ejemplo,
si con p y q representamos las proposiciones siguientes:
p : Llueve
q : No hace fro

11
Cartilla Herramientas de L
ogica Computacional Proposiciones y traducci
on de textos en lenguaje nat

las siguientes oraciones representan la proposicion p q

Llueve y no hace fro


Llueve aunque no hace fro
Llueve pero no hace fro

Es importante notar que no siempre la palabra y representa una conjuncion, como es


el caso de la siguiente frase:

Joyce y Picasso fueron contemporaneos

aqu la palabra y se usa para expresar una relacion entre Joyce y Picasso.
La palabra usual que corresponde a la disyuncion es o, tambien la variante o bien.
El caso de la disyuncion es mas complejo que los anteriores, dado que existen en el
lenguaje dos tipos de disyunciones, la llamada inclusiva y la exclusiva. Basicamente ambos
tipos difieren cuando las proposiciones intervinientes son ambas verdaderas. La disyuncion
inclusiva considera a este caso como verdadero. Por ejemplo:

Para ser emperador hay que tener el apoyo de la nobleza o del pueblo

obviamente teniendo el apoyo de ambos se esta tambien en condiciones de ser emperador.


Esta proposicion la expresamos como p q , donde p y q son las siguientes proposiciones
elementales:
p : Para ser emperador hay que tener el apoyo de la nobleza
q : Para ser emperador hay que tener el apoyo del pueblo

Un ejemplo de disyuncion exclusiva es:

El consejero del emperador pertenece a la nobleza o al pueblo (1.2)

donde se interpreta que el consejero no puede pertenecer simultaneamente a las dos clase
sociales. Utilizaremos para este caso el operador discrepancia que simbolizamos como 6,
por tanto si llamamos

p : El consejero del emperador pertenece a la nobleza


q : El consejero del emperador pertenece al pueblo

la proposicion (1.2) se expresa as : p 6 q.

1.2.2: Lectura de Implicaci


on y Equivalencia

La implicacion logica suele representar lo que en el lenguaje natural se expresa mediante la


construccion si . . . entonces . . . . Este es uno de los conectivos sobre los que menos acuerdo
existe y al que mas alternativas se han propuesto. Casi todo el mundo acuerda que si

12
Cartilla Herramientas de L
ogica Computacional Proposiciones y traducci
on de textos en lenguaje nat

el antecedente p es verdadero y el consecuente q es falso, entonces p q es falso. Por


ejemplo, en la frase

Si se reforman las leyes laborales entonces bajara el desempleo (1.3)

aparecen dos proposiciones elementales


p : Se reforman las leyes laborales
q : Baja el desempleo
Supongamos que las leyes laborales se reforman y no baja el desempleo, entonces la
proposicion (1.3) que se expresa como p q resulta falsa.
Sin embargo, existen ciertas dudas acerca del valor de verdad (o del significado logico) de
frases como aquella mencionada en el captulo anterior:

Si dos mas dos es cinco, entonces yo soy el Papa

Para la logica clasica que presentamos aqu, la frase anterior es verdadera (mirando la
tabla de verdad del operador ), pues ambos antecedente y consecuente son falsos, lo
cual hace verdadera a la proposicion.
Normalmente se usa una implicacion con un consecuente falso como una manera de negar
el antecedente. Por ejemplo, decir

Si la economa mejoro con esos ajustes, yo soy el rey del mundo

es una manera sarcastica de decir que la economa no mejoro con los ajustes.
Veamos este ejemplo:

Si Juan no toma la sopa, estara en problemas

usando las variables p y q del siguiente modo


p : Juan toma la sopa
q : Juan estara en problemas
la frase anterior puede traducirse como p q. Observemos que esta expresion es ver-
dadera si Juan toma la sopa, pues en ese caso p es falsa y por ende resulta p q
verdadera. Este hecho puede parecer extra
no en un principio pero las frases
Si Juan toma la sopa, estara en problemas
Juan toma la sopa o estara en problemas
tienen el mismo significado. Por lo tanto, como la segunda frase es verdadera si Juan toma
la sopa, la primera tambien debe serlo. La equivalencia entre las expresiones p q y
p q se vera en el proximo captulo, pero puede deducirse ahora utilizando tablas de
verdad.

13
Cartilla Herramientas de L
ogica Computacional Proposiciones y traducci
on de textos en lenguaje nat

1.2.3: Condiciones necesarias y suficientes

Otra forma de representar la implicacion en el lenguaje natural es a traves de las palabras


suficiente y necesario.

Es suficiente que vacune a mi hijo para que no contraiga el sarampion (1.4)


Esta frase puede simbolizarse mediante p (q) donde

p : Vacuno a mi hijo
q : Mi hijo contrae el sarampion

La proposicion (1.4) asegura que vacunar es condicion suficiente para no contraer el sa-
rampion, nada dice acerca de aquellos ni
nos que no son vacunados
Otro ejemplo donde aparece la idea de necesidad logica es:

Para que Juan crezca sano, es necesario que tome la sopa (1.5)

que puede simbolizarse as q p o tambien p q, donde

p : Juan toma la sopa


q : Juan crece sano.

La proposicion (1.5) establece que tomar la sopa es condicion necesaria para que Juan
crezca sano, pero no garantiza que si Juan se toma la sopa crecera sano. Si formulamos
esta proposicion en terminos de si . . . entonces. . . , resulta

Si Juan crece sano entonces Juan se tomo la sopa.

1.2.4: La equivalencia en el lenguaje natural

Es un error com un interpretar la estructura si . . . entonces . . . en lenguaje natural como


si y solo si que corresponde a una equivalencia y no a una implicacion. Por ejemplo la
frase
f es biyectiva si y solo si f es inyectiva y sobreyectiva
puede expresarse como p q r, donde

p : f es biyectiva
q : f es inyectiva
r : f es sobreyectiva

De todos modos no existe ninguna construccion en el lenguaje corriente que represente


fielmente a la equivalencia logica. Es esta la razon quiza por la cual la equivalencia suele

14
Cartilla Herramientas de L
ogica Computacional Proposiciones y traducci
on de textos en lenguaje nat

tener un lugar secundario en los libros de logica. Nosotros no seguiremos esa tradicion,
dado que el uso de la logica en el desarrollo de programas, la equivalencia tiene un rol
fundamental. Como u ltimo ejemplo de la inadecuacion del lenguaje para parafrasear la
equivalencia, presentamos la frase (verdadera en lenguaje corriente) acerca de las capaci-
dades de Juan.

Juan ve bien si y solo si Juan es tuerto si y solo si Juan es ciego

La equivalencia es una operacion asociativa (en el captulo 4 se aclarara el significado de


esta propiedad); a grandes rasgos, significa que al escribir la frase anterior como p q r
(siendo p, q y r las proposiciones elementales obvias en la frase), cualquiera de las formas
de calcular la expresion parentizando, bien sea (p q) r o p (q r) produce la
misma respuesta. La siguiente es la tabla de verdad:
p q r pq (p q) r
1 1 1 1 1
1 1 0 1 0
1 0 1 0 1
1 0 0 0 1
0 1 1 0 0
0 1 0 0 1
0 0 1 1 1
0 0 0 1 0

Observemos que exactamente una de las tres proposiciones p, q y r es verdadera. En la


tabla de verdad, en las filas en donde exactamente una de las proposiciones toma el valor
True, el valor de la expresion booleana p q r es tambien True.

1.2.5: Reglas de precedencia entre conectivos

Una vez presentados todos los operadores logicos, se tienen unas reglas de precedencia en-
tre ellos, lo cual permitira eliminar algunos parentesis en expresiones booleanas y abreviar
as la escritura:

1.2 Definici on. Los operadores logicos tendran la precedencia que se indica a conti-
nuacion, los numeros senalan la jerarqua entre ellos, el primero corresponde a la m
as
alta, y los siguientes siguen en orden. Cuando dos operadores aparezcan con el mismo
orden de jerarqua significa que tienen la misma precedencia respecto de los demas:

1. operador =

2. operador

3. operadores y

15
Cartilla Herramientas de L
ogica Computacional Uso de Tablas de verdad

4. operadores y
5. operadores y 6

1.3 Ejemplo. La expresion


((p q) r) ((p r) (q r))
puede simplificarse usando las reglas de precedencia anteriores as:
pq r prq r

Secci
on 1.3: Uso de Tablas de verdad

Las tablas de verdad seran u


tiles entre otras cosas para evaluar expresiones booleanas en
cualquier estado. Por ejemplo, la evaluacion de la expresion
p q p
en el estado {(p, True) , (q, True)} se calcula as: si q es verdadera, de acuerdo a la tabla
del operador , q es falsa, admas cuando uno de los argumentos es falso (en este caso q),
el resultado de la aplicacion del operador , es falso. Por u ltimo, la columna de la tabla
correspondiente al operador , nos dice que si el primer argumento es falso, el resultado
es verdadero independientemente del valor del segundo argumento. Observemos que las
operaciones fueron realizadas de acuerdo a las reglas de precedencia citadas anteriormente.
Veamos ahora como evaluar una expresion booleana cualquiera utilizando tablas de ver-
dad. Los posibles valores de las variables booleanas involucradas en la expresion se dis-
ponen en las primeras columnas de la tabla, mientras que en las siguientes columnas se
colocan los valores parciales de los operadores logicos intervinientes, en orden y de acuerdo
a las reglas de precedencia, hasta colocar en la u ltima columna de la tabla los valores de
verdad asociados a la expresion. Cada fila describe un estado particular de las variables
y la correspondiente evaluacion de acuerdo a cada operador en la expresion.
Por ejemplo, queremos evaluar la expresion pq r en todas las combinaciones posibles
de valores de las variables p, q y r, entonces construimos:
p q r q p q p q r
1 1 1 0 0 1
1 1 0 0 0 1
1 0 1 1 1 1
1 0 0 1 1 0
0 1 1 0 0 1
0 1 0 0 0 1
0 0 1 1 0 1
0 0 0 1 0 1

16
Cartilla Herramientas de L
ogica Computacional Diferencias entre igualdad y equivalencia

Una alternativa mas simplificada de tabla de verdad (que se puede usar cuando la expre-
sion es muy grande) consiste en colocar debajo de los conectivos el valor de verdad de
la frase que hasta el momento eval ua dicho conectivo. Por ejemplo, si la expresion fuera
(p q) r escribimos en una sola columna dicha expresion, escribiendo debajo de
el valor de p q y teniendo esa respuesta, junto a r nos permitira evaluar la expresion
completa, de manera la respuesta final quedara debajo del conectivo principal de la
expresion. La siguiente es una version simplificada de la tabla del ejemplo anterior.

p q r p q r
1 1 1 0 1 1
1 1 0 0 1 0
1 0 1 1 1 1
1 0 0 1 0 0
0 1 1 0 1 1
0 1 0 0 1 0
0 0 1 0 1 1
0 0 0 0 1 0

Secci
on 1.4: Diferencias entre igualdad y equivalencia

La expresion booleana b c es evaluada exactamente como b = c, excepto que la equiva-


lencia puede usarse solo entre expresiones booleanas.
Sin embargo ambos operadores tendran propiedades distintas. Primero, la igualdad tiene
la precedencia mas alta sobre cualquier otro operador, mientras que la equivalencia tiene
la precedencia mas baja, lo cual nos permite quitar parentesis en expresiones como
xy =0 x=0y =0

Notemos que los espacios que rodean a son u


tiles para recordarnos que este operador
tiene la precedencia mas baja.
Por otra parte, la igualdad m
ultiple se interpreta como conjuntiva, es decir
a=b=c se interpreta como b = c c = d,
con lo cual b = c = d y (b = c) = d son diferentes, pues en el estado (b, False), (c, False)
y (d, True), b = c = d es False, mientras que (b = c) = d es True.
La equivalencia es asociativa, es decir b c d se usara para referirse tanto a (b c) d
como a b (c d), con lo cual no puede ser conjuntiva como ocurrio con la igualdad.
Por lo tanto, en formulas sin parentesis, una secuencia de = tendra un significado distinto
a una de . Veamos algunos ejemplos:

17
Cartilla Herramientas de L
ogica Computacional Ejercicios

Queremos evaluar False = False = True y False False True

False = False = True False False True


= h= es conjuntivai = h es asociativai
(False = False) (False = True) (False False) True
= hevaluacion de =i = hevaluacion del primer i
True False True True
= hevaluacion de i = hevaluacion de i
False True
Como segundo ejemplo, mostramos como cambiar ocurrencias de = por ocurrencias de
y viceversa. Utilizaremos parentesis para las operaciones b = c y b c, antes de efectuar
los reemplazos debido a que estos operadores tiene distinta precedencia y no queremos
cambiar la estructura de las expresiones:

bcd b=c=d
= h es asociativai = h= es conjuntivai
(b c) d (b = c) (c = d)
= hreemplazo de operadoresi = hreemplazo de operadoresi
(b c) = d (b c) (c d)
= hreemplazo de operadoresi =
(b = c) = d

Secci
on 1.5: Ejercicios

1. Escriba una proposicion A en terminos de las letras proposicionales p, q tal que al


final, su tabla de verdad sea la que muestre la figura. Para ello, solo puede usar uno
o varios de los conectivos , , vistos en clase. Explique el procedimiento que lo
llevo a su respuesta (procurando que se pueda generalizar en caso que la columna
de A tuviera otros valores).

p q A
1 1 1
1 0 1
0 1 0
0 0 1

2. Evaluar las siguientes expresiones en el estado {(p, True), (q, False), (r, False)}

a) (p q) r

18
Cartilla Herramientas de L
ogica Computacional Ejercicios

b) (p q) r
c) p (q r)
d) p (q r)
e) (p q) r
f ) (p q) r
g) (p q) r

3. Escribir las tablas de verdad para las siguientes expresiones, determinando los casos
en los cuales son tautologas o contradicciones.

a) (p q) q
b) (p q) q
c) (p 6 q) (p q)
d) p (q p)
e) (p 6 q) 6 p
f ) (p q) p
g) q p (q p) q
h) (p p p) p

4. Escribir las expresiones duales PD de cada una de las expresiones booleanas P que
se indican

a) b c True
b) b c d
c) b (c d)
d) b (c d)
e) False b c
f ) b b c
g) (b True) b
h) (b c) (b c) (c b)

5. Para cada una de las expresiones P Q que se indican a continuacion, escribir la


correspondiente expresion PD QD .

a) p q
b) p p p
c) p p True

19
Cartilla Herramientas de L
ogica Computacional Ejercicios

d) p q p q
e) True p p
f) False p True
g) p (q r) (p q) (p r)
h) pqqp
6. Traducir las siguientes frases en expresiones booleanas
a) Llueva o no, ire a nadar.
b) Llueve, no ire a nadar.
c) Llueven rayos y centellas.
d) Llueven rayos o centellas.
e) Llueven rayos y centellas pero ire a nadar.
7. Traducir las siguientes frases en expresiones booleanas
a) Ninguno entre p y q es verdadero.
b) Exactamente uno entre p y q es verdadero.
c) Cero, dos o cuatro entre p, q, r o s son verdaderos.
d) Uno o tres entre p, q, r o s son verdaderos.
8. Identificar las proposiciones elementales en las siguientes frases y traducirlas en
expresiones booleanas.
a) x < y o x = y.
b) x < y o x = y o x > y.
c) Si x > y e y > z entonces v = w.
d) Las siguientes expresiones son todas verdaderas: x < y, y < z y v = w.
e) A lo sumo una de las siguientes expresiones es verdadera: x < y, y < z y v = w.
f) Ninguna de las siguientes expresiones es verdadera: x < y, y < z y v = w.
g) Las siguientes expresiones no son todas verdaderas al mismo tiempo: x < y,
y < z y v = w.
h) Cuando x < y entonces y < z; cuando x y entonces v = w.
i) Cuando x < y entonces y < z significa que v = w, pero si x y entonces y > z
no ocurre; sin embargo si v = w entonces x < y.
9. Explique por que el procedimiento del ejercicio 1 se puede adaptar a la tabla de
cualquier conectivo binario. En otras palabras, explique por que todo conectivo
logico binario (dentro de los 16 que existen) se puede expresar usando u
nicamente
1
los conectivos , , .
1
Advertencia: Su explicaci
on no debe ser del estilo: Ensayando uno por uno con los 16 conectivos,

20
Cartilla Herramientas de L
ogica Computacional Ejercicios

logre expresar a todos en terminos de , , , as que se puede con todos.

21
Cartilla Herramientas de L
ogica Computacional Ejercicios

22

Vous aimerez peut-être aussi