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

Lgica y lgebra

de Boole
Operadores booleanos y tablas de
verdad
M. Antnia Huertas Snchez
PID_00149518
c FUOC PID_00149518 Lgica y lgebra de Boole
ndice
Introduccin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Lgica booleana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1. Origen y objeto de la lgica booleana . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2. Lenguaje y semntica de la lgica booleana . . . . . . . . . . . . . . . . . . . 8
1.3. Operadores booleanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1. Operadores bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.2. Tablas de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.3. Otros operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.4. Relaciones entre operadores . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2. Lgica booleana e informtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.1. Circuitos lgicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.2. Representacin grca de circuitos lgicos . . . . . . . . . . . . . . . . . . . . 20
2.3. Otras aplicaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.1. Criptografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.2. Programacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3. lgebra de Boole. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1. Denicin de lgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2. Propiedades de las lgebras de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.3. Ejemplos de lgebras de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Ejercicios de autoevaluacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Solucionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
c
FUOC PID_00149518 5 Lgica y lgebra de Boole
Introduccin
La lgica booleana, tema de este mdulo didctico, es la lgica ms simple
con aplicacin a la computacin. Representa una inmejorable introduccin a
la lgica formal como herramienta para la representacin formal de la infor-
maci y la resolucin de problemas. Detrs de la sencillez de los conceptos que
utiliza est la potencia del rigor de las matemticas que caracteriza a la lgica
formal desde su comienzo. El tema central del mdulo es la representacin y
el razonamiento con informacin que involucra slo dos valores para todas
las variables en juego.
En este mdulo descubriris conceptos tericos fundamentales y la necesidad
de formalizacin y matematizacin de los fundamentos de la ciencia de la
computacin. Adems, contiene el germen de la manera como las ingenieras
e ingenieros deben abordar los problemas en algunas de las especialidades de
la informtica.
Una de las caractersticas especiales de la lgica booleana es el uso de nota-
ciones y smbolos diferentes para los mismos conceptos. Esto es consecuencia
de la aplicabilidad de esta lgica a los ms diversos contextos, hecho que ha
generado notaciones especcas para cada uno de ellos. Entre las aplicaciones
de esta lgica nos detendremos especialmente en la fundamentacin de los
circuitos digitales.
Se presenta tambin la estructura matemtica abstracta que se construye a
partir de la lgica booleana y que se conoce con el nombre de lgebra de
Boole. Veris cmo se generaliza un concepto y cmo esta generalizacin se
puede aplicar a mbitos nuevos que van ms all de la lgica.
Encontraris muchos ejemplos, que es importante que leis e intentis en-
tender. Al nal del mdulo hay ejercicios de autoevaluacin para que podis
comprovar el nivel de comprensin de los conceptos y tcnicas fundamenta-
les del mdulo.
c
FUOC PID_00149518 6 Lgica y lgebra de Boole
Objetivos
En los recursos docentes facilitados en este mdulo, encontraris los concep-
tos, tcnicas y herramientas necesarias para alcanzar los objetivos siguientes:
1. Comprender la necesidad de formalizar los conceptos para manipularlos
con rigor.
2. Saber manipular algebraicamente las variables y los operadores booleanos
y formar tablas de verdad.
3. Saber cmo expresar en la lgica booleana problemas susceptibles de for-
malizarse con su lenguaje.
4. Entender que la lgica no se ocupa del signicado concreto de las expre-
siones y comprender el concepto de valor de signicado.
5. Entender la aplicacin de la lgica booleana a los circuitos digitales.
6. Comprender el concepto abstracto de lgebra de Boole y la diferencia con
el de lgica booleana.
c
FUOC PID_00149518 7 Lgica y lgebra de Boole
1. Lgica booleana
.
1.1. Origen y objeto de la lgica booleana
Su nombre deriva de George Boole (18151864), matemtico britnico que
formul el sistema del lgebra de la lgica en 1847, en un libro de muy pocas
pginas (El anlisis matemtico de la lgica) pero que signic el n de la lgica
aristotlica y el comienzo de la lgica formal matemtica contempornea.
Boole tuvo la originalidad, en ese momento histrico, de utilizar las tcni-
cas algebricas para tratar expresiones de la lgica. El sistema as resultante
se parece ms a un sistema algebraico donde se denen unas operaciones so-
bre unas variables abstractas que tienen que cumplir unas propiedades y no
otras (pensad en el caso del lgebra de las fracciones, donde se denen las
operaciones de suma, resta, multiplicacin y divisin y deben cumplir unas
determinadas propiedades).
El concepto ms general de lgebra de Boole aparece en 1860, en trabajos de
William Jevons y Charles Sanders Peirce. Un lgebra de Boole es una estruc-
tura algebrica (esto es, denida a partir de unos elementos o variables y de
operaciones con esos elementos) y que es axiomtica (es decir, que tiene que
cumplir unas determinadas propiedades que caracterizan a esas operaciones).
El objeto de estudio de la lgica, en general, es el estudio y la representacin
del razonamiento correcto. La lgica anterior a George Boole expresaba los
razonamientos en un lenguaje natural, el mismo que vehicula la comunica-
cin y los razonamientos cotidianos. Pero tanto la gran capacidad expresiva
del lenguaje natural como la ambigedad de muchas de sus expresiones (pue-
den tener un signicado diferente dependiendo del contexto) no lo hacen la
herramienta ideal para el razonamiento lgico riguroso. La lgica contempo-
rnea recurre al uso de lenguajes formales especcos para ser ms ecaz en
la representacin del razonamiento formal.
Entenderemos un razonamiento formal como una secuencia de informacin
formulada en un lenguaje formal (sin ambigedad) en dos partes diferencia-
das. As, en un razonamiento hay dos partes bien diferentes: una primera parte
(premisa del razonamiento) que es la formulacin de conocimiento o infor-
macin que se acepta como vlida y una segunda parte (consecuencia del
razonamiento) que es la formulacin de conocimiento cuya validez se sigue
lgicamente de la validez de la primera parte de una manera automtica.
Un elemento fundamental de la lgica es el lenguaje formal sin ambige-
dad que se usa para formalizar el conocimiento o informacin. El segundo
c
FUOC PID_00149518 8 Lgica y lgebra de Boole
elemento fundamental de toda lgica es la denicin de lo que se considera
un razonamiento vlido, es decir, de cmo se deben seguir las consecuencias
a partir de las premisas en un razonamiento vlido o correcto de esa lgica.
El tercer elemento imprescindible en una lgica es la semntica, que con-
siste en la denicin rigurosa de cmo se pueden interpretar las expresiones
del lenguaje formal para asignarles valores de signicado (lo ms habitual es
asignarles uno de los dos valores verdadero o falso).
Observad que la semntica de la lgica no se ocupa del signicado de la ex-
presin formal en un contexto determinado (esto es, de si la expresin se
puede referir a personas, circuitos o programas) sino que la semntica de
la lgica se ocupa de denir cules sern los valores lgicos de signica-
do (en la lgica clsica son dos: verdadero y falso, pero hay otras lgicas
que tienen otros valores, como la lgica fuzzy que tiene innitos) y la for-
ma cmo se corresponden esos valores lgicos con las expresiones y con los
razonamientos.
.
Una lgica se compone de tres elementos caractersticos:
a) Lenguaje formal
b) Razonamiento vlido formal
c) Semntica formal
La lgica booleana es la ms sencilla de las lgicas formales. Est inspirada en
el sistema de Boole y, curiosamente, una de sus aplicaciones ms importantes
se da en la informtica, en particular en la fundamentacin terica de los cir-
cuitos digitales. Es adems componente fundamental de la lgica de enuncia-
dos y de la lgica de predicados (los sistemas de lgica formal ms conocidos).
A continuacin presentamos el lenguaje y la semntica de la lgica booleana
pero no el concepto de razonamiento vlido. El concepto de razonamiento
vlido de la lgica de enunciados es una generalizacin del que se podra dar
en la lgica booleana.
1.2. Lenguaje y semntica de la lgica booleana
.
El lenguaje formal de la lgica booleana es muy sencillo, ya que las
nicas expresiones formales son las variables del lenguaje, todas de
una misma tipologa. Usaremos los smbolos formales A,B,C..., que no
tienen un signicado en particular, para representar formalmente cual-
quier expresin de la lgica booleana.
c
FUOC PID_00149518 9 Lgica y lgebra de Boole
Lo que realmente caracteriza la lgica booleana es que cualquier expresin o
variable slo puede interpretarse con uno de los dos valores de signicado
posibles, que suelen representarse por 1 (equivalente al valor de verdad verda-
dero) y 0 (equivalente al valor de verdad falso).
Semntica booleana
En lgica booleana no
interesa el signicado
concreto de una expresin,
sino que solamente interesa
su evaluacin como 1 o 0.
.
Los valores que toman las variables en la semntica de la lgica boo-
leana son 1 y 0 (verdadero y falso).
Para indicar que una expresin A se evala como 1, escribiremos A = 1
y para indicar que se evala como 0, escribiremos A = 0.
1.3. Operadores booleanos
Seguidamente veremos los operadores bsicos, las tablas de verdad, otros ope-
radores y las relaciones entre operadores.
1.3.1. Operadores bsicos
Si A y B son expresiones o variables booleanas, se pueden generar nuevas ex-
presiones a partir de ellas combinndolas con los llamados operadores boo-
leanos.
.
Los operadores booleanos bsicos son los que aparecen en la siguiente
tabla:
Operador booleano (nombre) Smbolo Smbolo alternativo
Producto lgico o conjuncin
AND
Suma lgica o disyuncin +
OR
Complementacin o negacin
NOT
La lgica de enunciados se presenta en
el mdulo Lgica de enunciados de
esta asignatura.
En la tabla anterior se han privilegiado los smbolos originales de George Boo-
le, pero como se ve en la columna de smbolos alternativos, hay maneras
diferentes de escribir los operadores booleanos bsicos. Hemos puesto como
representaciones alternativas las utilizadas en dos de las aplicaciones ms im-
portantes de la lgica booleana: los operadores de conjuncin, disyuncin y
c
FUOC PID_00149518 10 Lgica y lgebra de Boole
negacin en el contexto de la lgica de enunciados (,,) y los smbolos de
los mismos operadores utilizados en el contexto de la lgica computacional
(AND, OR y NOT).
.
La manera como los operadores bsicos forman expresiones complejas
a partir de otras ms simples A,B se muestra en esta otra tabla:
Expresin Nombre Signicado
A B A y B
8
>
>
<
>
>
:
A B = 1 si A = B = 1
A B = 0 en otro caso
A + B A o B
8
>
>
<
>
>
:
A + B = 1 si A = 1 o B = 1
A + B = 0 en otro caso
A no A
8
>
>
<
>
>
:
A = 1 si A = 0
A = 0 si A = 1
Con los operadores, por tanto, se forman expresiones complejas a partir de
otras expresiones ms simples. Pero lo que realmente es importante en el sis-
tema inventado por Boole es que el valor que toma la expresin compleja (1 o
0) depende slo del valor que toma cada una de las expresiones que la compo-
nen. El valor de una expresin compleja se puede calcular a partir de los valo-
res de las expresiones ms simples que la componen, con un algoritmo llama-
do tabla de verdad de la expresin.
Para presentar el concepto general de tabla de verdad es necesario primero
denir las tablas de verdad de cada operador.
1.3.2. Tablas de verdad
La tabla de verdad de un operador es la que recoge el valor de una expresin
formada con ese nico operador a partir de los posibles valores de las expre-
siones que lo componen.
A continuacin se especican las tablas de valores para los tres operadores
bsicos. En las columnas de las expresiones A y B aparecen todos los posibles
pares de valores que pueden tomar. En la columna de la expresin compleja
formada con el operador se recoge el valor que corresponde al par de valores
de las expresiones ms simples que hay en cada la.
c
FUOC PID_00149518 11 Lgica y lgebra de Boole
.
A B A B
1 1 1
1 0 0
0 1 0
0 0 0
A B A + B
1 1 1
1 0 1
0 1 1
0 0 0
A A
1 0
0 1
Interpretacin de las tablas de verdad
Para entender cmo se debe interpretar la tabla de verdad de un operador tomemos, por
ejemplo, la tabla del operador conjuncin: cuando A = 1 y B = 1 el valor de la expresin
compleja A B = 1 (es la primera la de la tabla); respectivamente, cuando A = 1 y B = 0 el
valor de la explesin compleja AB = 0 (es la segunda la de la tabla); y as sucesivamente.
Observad que las tablas se corresponden con los valores de la expresin dada
en la tabla de presentacin de los operadores en el subapartado anterior:
Producto lgico o conjuncin. La expresin A B toma el valor 1 si las ex-
presiones A y B lo toman simultneamente y toma el valor 0 en cualquier
otro caso.
Suma lgica o disyuncin. La expresin A+ B toma el valor 1 si al menos
una de las expresiones A o B toman el valor 1 y toma el valor 0 en cualquier
otro caso.
Complementacin o negacin. La expresin A toma el valor 1 si la
expresin A toma el valor 0, y toma el valor 0 si la expresin A toma el
valor 1.
Ejemplo de tablas de verdad de expresiones booleanas
a) (A) (A + B)
Primero se construyen las tablas de verdad de A y de A+B, y a continuacin la tabla de
la conjuncin de ambas.
Expresin compleja
La tabla de verdad de una
expresin compleja se
construye a partir de las
tablas de las subexpresiones
que la componen.
A B A A + B (A) (A + B)
1 1 0 1 0
1 0 0 1 0
0 1 1 1 1
0 0 1 0 0
c
FUOC PID_00149518 12 Lgica y lgebra de Boole
b) (A + B) (C)
A B C A + B C (A + B) ( C)
1 1 1 1 0 0
1 1 0 1 1 1
1 0 1 1 0 0
1 0 0 1 1 1
0 1 1 1 0 0
0 1 0 1 1 1
0 0 1 0 0 1
0 0 0 0 1 1
1.3.3. Otros operadores
Una pregunta inmediata es si los operadores booleanos bsicos denidos an-
teriormente son los nicos. Y si no es as, hay ms operadores?
Funciones lgicas
En el contexto de la
computacin los operadores
booleanos reciben el nombre
de funciones lgicas.
Veamos primero el caso de operadores que actan sobre una nica expresin.
En la siguiente tabla se presentan todos los posibles operadores unarios (tam-
bin llamados monarios), es decir, los que operan sobre una expresin.
Slo hay cuatro posibles maneras de dar dos valores de salida (1 o 0) a partir
de los valores 1,0 de entrada, que se muestran en la tabla siguiente, y eso
condiciona el nmero de operadores unarios posibles, que es tambin cuatro:
A o
1
o
2
o
3
o
4
1 1 1 0 0
0 1 0 1 0
En la tabla siguiente se puede leer el nombre de estos cuatro operadores. Co-
mo podis ver solamente la negacin (o
3
) es un operador signicativo y por
ello tiene smbolos conocidos. El operador negacin se usa en todas las apli-
caciones de la lgica en la computacin y la electrnica.
Operador Nombre Smbolo
o
1
constante 1
o
2
identidad
o
3
negacin
NOT
o
4
constante 0
c
FUOC PID_00149518 13 Lgica y lgebra de Boole
Estudiaremos ahora el caso de operadores que actan sobre dos expresiones,
llamados operadores binarios. En la siguiente tabla se muestran los 16 ope-
radores posibles, a partir de todas las combinaciones posibles de valores que
pueden tomar las dos expresiones simples sobre las que operan (A y B).
A B
o
1
o
2
o
3
o
4
o
5
o
6
o
7
o
8
o
9
o
10
o
11
o
12
o
13
o
14
o
15
o
16
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
La ordenacin de los 16 operadores binarios no es signicante. En la tabla
anterior se ha elegido una regla de llenado de la tabla para disponer las 16
posibilidades que consiste en escribir en la primera la de la tabla ocho 1
seguidos de ocho 0, en la segunda la alternar cuatro 1 con cuatro 0, en la
tercera la alternar dos 1 con dos 0 y en la cuarta la alternar un 1 con un 0.
De esta manera nos aseguramos que se han escrito todas las combinaciones
posibles.
Slo algunos de los 16 operadores binarios tienen signicacin y correspon-
den a operadores booleanos conocidos. Adems, hay que tener siempre pre-
sente que existe diversidad de smbolos para un mismo operador, dependien-
do del contexto donde se usa.
En la siguiente tabla se muestran los simbolos ms utilizados para los ope-
radores binarios ms comunes en tres de los contextos ms importantes, el
de la lgica boolena, el de la lgica clsica (lgica de enunciados y lgica de
predicados) y el de la computacin.
Operador Nombre Booleana Clsica Computacin
o
8
conjuncin AND
o
2
disyuncin + OR
o
9
nand NAND
o
15
nor NOR
o
5
implicacin
o
7
equivalencia
o
10
disyuncin exclusiva
Observad que slo hay signos de todos ellos para la lgica clsica (lgica de
enunciados y lgica de predicados), que es el sistema lgico ms importante
que contiene los operadores de la lgica booleana.
c
FUOC PID_00149518 14 Lgica y lgebra de Boole
A continuacin se muestra la tabla de verdad de los operadores booleanos
binarios ms comunes, usando, en este caso, los smbolos propios de la lgica
clsica (de enunciados y de predicados).
Observacin
La tabla se debe leer como el
valor de la expresin A B a
partir del valor de las
expresiones de A y de B, el
valor de A B a partir
del valor de las
expresiones de A y de B y as
sucesivamente.
A B
1 1 1 1 1 1 0 0 0
1 0 0 1 0 0 1 0 1
0 1 0 1 1 0 1 0 1
0 0 0 0 1 1 1 1 0
La implicacin
La expresin A B se lee A implica B, donde A se llama el antecedente y B
el consecuente de la expresin.
El signicado de esta expresin es que si el antecedente es verdadero (A = 1)
tambin lo es el consecuente (B = 1). Por ello, A B slo es falsa (su valor
es 0) cuando el antecedente es verdadero (A = 1) pero el consecuente es falso
(B = 0).
Implicacin
El valor de la implicacin
puede ser verdadero aunque
el consecuente sea falso.
Ejemplo de implicacin
Si consideramos las expresiones A=[2 + 2 = 5] y B=[la Tierra es plana], ambos A y B son
falsas (A = 0 y B = 0). Por tanto, A B es verdadero (A B = 1).
As que la expresin [2 + 2 = 5] [la Tierra es plana] es verdadera.
Sin embargo, la expresin [la Tierra es plana] [2 + 2 = 4] es falsa, ya que [2 + 2 = 4] es
verdadera (tiene valor 1) y [la Tierra es plana] es falsa (tiene valor 0).
La disyuncin exclusiva
La expresin A B se lee A o B pero no ambas e indica que o bien A o bien B
tienen el valor 1, pero no simultneamente.
Ejemplo de disyuncin exclusiva
La frase Me inscribir en la UOC el lunes o el martes corresponde con el signicado del
operador disyuncin exclusiva, ya que no puedo inscribirme dos veces.
Operadores nand y nor
La expresin A B se lee A nand B e indica que A y B no tienen simultnea-
mente el valor 1.
La expresin A B se lee A nor B e indica que ni A ni B tienen el valor 1.
c
FUOC PID_00149518 15 Lgica y lgebra de Boole
Podemos denir operadores terciarios, cuaternarios, etc., dependiendo del n-
mero de valores de entrada que se operan para dar un valor de salida. En el
caso de operadores terciarios hay 4
3
= 64 posibilidades, en el caso de los cua-
ternarios 4
4
= 256 posibilidades. En general para operadores n-arios (con n
valores de entrada) tenemos 4
n
posibilidades.
En lo que nos interesa, nos concentramos en los operadores unarios y bi-
narios, que son los ms usados en la aplicacin de la lgica booleana a la
computacin.
1.3.4. Relaciones entre operadores
De los 16 operadores binarios hay muchos que se pueden denir a partir de
otros operadores binarios y unarios.
o
1
es la negacin de o
16
ya que sus columnas de valores respectivas son con-
trarias entre s. Igualmente, ocurre que los operadores del o
9
al o
15
son la nega-
cin, respectivamente, de los operadores del o
8
al o
2
. En particular, observad
que el operativo nor (o
15
) es la negacin del operador disyuncin (o
2
) y que
nand (o
9
) es la negacin del operador conjuncin (o
8
). Por tanto, de los 16 ope-
radores binarios podemos quedarnos con los ocho primeros, ya que los otros
ocho se pueden denir en funcin de stos y del operador unario negacin.
Por otro lado, o
4
y o
6
son operadores proyeccin, esto es Ao
4
B = A y Ao
6
B = B,
y el operador o
1
es un operador constante; por tanto, tambin estos tres son
superuos.
Con este sencillo anlisis, el conjunto inicial de los 16 operadores binarios
posibles es redundante, ya que podemos quedarnos slamente con los cinco
operadores binarios o
2
,o
3
,o
5
,o
7
,o
8
y la negacin. Adems, entre stos observa-
mos que o
3
y o
5
son inversos entre s (Ao
3
B = Bo
5
A) y que o
7
se expresa en
funcin de o
5
y o
8
(Ao
7
B = (Ao
5
B)o
8
(Bo
5
A)). Por tanto, con los tres operadores
binarios disyuncin, implicacin y conjuncin (o
2
,o
5
y o
8
, respectivamente)
y el operador unario negacin es posible denir los 16 operadores binarios.
En el caso de los operadores unarios, el operador negacin junto a uno de los
operadores constantes (por ejemplo el constante 1) permite denir los cuatro
operadores unarios.
Recordad
Ao
5
B = A B
Ao
7
B = A B
Ao
8
B = A B
.
Llamaremos conjunto de operadores primitivos a cualquier conjunto
de operadores binarios y unarios que permite denir todos los operado-
res unarios y binarios de la lgica booleana.
c
FUOC PID_00149518 16 Lgica y lgebra de Boole
Es fcil comprobar que son conjuntos de operadores primitivos los siguientes:
a) El conjunto formado por los operadores negacin y conjuncin ( y ).
b) El conjunto formado por los operadores negacin y disyuncin ( y +).
c) El conjunto formado por el operador nand o el operador nor (slo uno de
ellos).
Para demostrar lo anterior, es suciente comprobar que los tres operadores bi-
narios disyuncin, implicacin y conjuncin, y el operador negacin se pue-
den obtener a partir de los respectivos conjuntos de operadores primitivos:
a) Disyuncin, implicacin, conjuncin y negacin se obtienen a partir de
y :
.
A + B =((A) (B))
A B =(A (B))
b) Disyuncin, implicacin, conjuncin y negacin se obtienen a partir de
y +:
.
A B = ((A) + (B))
A B = (A) + B
c) Basta comprobar que el operador nand, o el operador nor (slo uno de ellos),
es suciente para denir los operadores disyuncin y negacin (que son un
conjunto de operadores primitivos)
Comprobamos para el operador nand (, NAND)
.
A + B = (A A) (B B)
A B = (A B) (A B)
A = A A
c
FUOC PID_00149518 17 Lgica y lgebra de Boole
Lo vericamos construyendo las tablas de verdad correspondientes, y compro-
bando que son iguales:
A B A A B B (A A) (B B) A + B
1 1 0 0 1 1
1 0 0 1 1 1
0 1 1 0 1 1
0 0 1 1 0 0
A A A A
1 0 0
0 1 1
Comprobamos para el operador nor (, NOR). Basta ver que nor se puede
expresar con nand (, NAND).
.
A B = (A + B) = [(A A) (B B)]
Ejercicios sobre operadores
1) Evaluad el valor de la expresin (A + B) C en los casos siguientes:
a) A = 0,B = 1,C = 1; b) A = 1,B = 0,C = 1; c) A = 1,B = 1,C = 0
Para ello se construye la tabla de verdad para estos tres casos.
A B C A + B (A + B) C
a) 0 1 1 1 1
b) 1 0 1 1 1
c) 1 1 0 1 0
2) Expresa (A B) + (A C) en funcin de los operadores y
Como A B = (A (B)) = X y
A C = ((A) ( C)) = Y, entonces
(A B) + (A C) = X + Y = ((X) (Y)) =
(((A (B))) (((A) (C))))
3) Expresa (A B) C en funcin de los operadores y +
(A B) C = (A + B) C = ((A + B) + (C))
4) Expresa (A B) + C en funcin del operador
Primero ponemos A B en funcin de + y
A B = ((A) + (B))
entonces
c
FUOC PID_00149518 18 Lgica y lgebra de Boole
(A B) + C = ((A) + ( B)) + C
Como A + B = (A A) (B B) sustituimos + por
(A) + (B) = ((A) (A)) ((B) (B))
y entonces
(A B) + C = (((A) (A)) ((B) (B))) + C
Si llamamos
X = (((A) (A)) ((B) (B)))
tenemos
(A B) + C = X + C = (X X) (C C)
Por otro lado,
A = A A y podemos sustituir por
y, por tanto,
X = [(((A A) (A A)) ((B B) (B B)))] [(((A A) (A A)) ((B B) (B B)))]
Finalmente, sustituyendo X en (A B) + C = (X X) (C C) obtenemos la expresin de
(A B) + C slo con el operador nand ( ,NAND)
La extensin de la frmula resultante es tan grande que no cabe en una sla lnea del
espacio fsico de este folio. Esta dicultad es un inconveniente habitual de la escritura
de una expresin slo con el operador nand o el operador nor. En el apartado siguiente
se mostrar una manera ms ecaz de obtener (grcamente) la expresin con estos
operadores.
c
FUOC PID_00149518 19 Lgica y lgebra de Boole
2. Lgica booleana e informtica
.
2.1. Circuitos lgicos
Una de las aplicaciones ms importantes de la lgica booleana son los compu-
tadores digitales.
.
Un circuito electrnico digital es un sistema formado por seales de
entrada, cada una correspondiente a un cable, una serie de dispositivos
electrnicos que operan sobre las seales de entrada y que dan como
resultado una seal de salida, correspondiente a un cable. Los cables
que forman los circuitos de los computadores digitales pueden estar
en dos valores de tensin (baja o alta) y estos dos valores se pueden
identicar con los valores 1 y 0. Cuando las seales de entrada o de
salida slo pueden tomar dos valores, se dice que son seales lgicas o
binarias. Las operaciones que se pueden hacer sobre ellas corresponden
a los operadores booleanos, que en el contexto de los circuitos lgicos
reciben el nombre de funciones lgicas.
La caracterstica booleana fundamental es la de que las seales slo puedan
tomar dos valores, porque entonces si no toma uno de ellos, automticamente
podemos inferir que toma el otro.
Los circuitos lgicos, por tanto, se basan en la propiedad de que recibiendo
un nmero de seales como entrada (1 o 0) operan sobre ellas para produ-
cir una seal como salida (1 o 0). Esta seal de salida se puede representar
como una expresin booleana compleja formada a partir de las expresiones
simples de las seales de entrada, usando operadores booleanos.
Ejemplo de representacin con lgica booleana
Imaginemos que un circuito electrnico digital consta de cuatro cables de entrada A,B,C,
D y supongamos que para que funcione correctamente se debe cumplir que los cables A
y B no pueden estar simultneamente en alta tensin, y que los cables C y D deben estar
los dos a la vez en alta tensin o los dos a la vez en baja tensin. Supongamos, adems,
que nuestro problema consiste en controlar la tensin de A,B,C,D en cada momento y
saber si el dispositivo funciona correctamente.
Las dos condiciones de funcionamiento exigidas en este ejemplo se pueden representar
con la expresin booleana:
1) A y B no estn simultneamente en alta tensin: (A B) (observad que expreso que
A est en alta tensin con A, entonces debo expresar que A est en baja tensin con el
valor contrario, es decir con su negacin A)
2) C y D estn a la vez en alta o a la vez en baja tensin: (C D) + (C D)
c
FUOC PID_00149518 20 Lgica y lgebra de Boole
La condicin de funcionamiento correcto del dispositivo es la conjuncin de las dos
anteriores y se puede expresar: (A B) [(C D) + (C D)]
Parntesis
Obsrvese que utilizamos los
parntesis para claricar las
expresiones, sin que aporten
ningn valor expresivo
nuevo.
Para saber la correspondencia entre el valor de la seal de los cables cables A,B,C,D y de
la expresin que representa el funcionamiento correcto, se construye la tabla de verdad
de esta expresin.
Para ello, a partir de los posibles valores de A,B,C,D, calculamos primero el valor de la
expresin A B y a partir de ste el de (A B). Por otro lado, se calcula sucesivamente el
valor de C D y C D y X = (C D) + (C D). Finalmente, a partir de la columna
de (A B) y de X se calcula el valor de Y = (A B) X, que es su conjuncin:
A B C D A B (A B) C D C D X Y
1 1 1 1 1 0 1 0 1 0
1 1 1 0 1 0 0 0 0 0
1 1 0 1 1 0 0 0 0 0
1 1 0 0 1 0 0 1 1 0
1 0 1 1 0 1 1 0 1 1
1 0 1 0 0 1 0 0 0 0
1 0 0 1 0 1 0 0 0 0
1 0 0 0 0 1 0 1 1 1
0 1 1 1 0 1 1 0 1 1
0 1 1 0 0 1 0 0 0 0
0 1 0 1 0 1 0 0 0 0
0 1 0 0 0 1 0 1 1 1
0 0 1 1 0 1 1 0 1 1
0 0 1 0 0 1 0 0 0 0
0 0 0 1 0 1 0 0 0 0
0 0 0 0 0 1 0 1 1 1
Con esta tabla es fcil resolver el problema de si el dispositivo funciona o no correcta-
mente a partir de las posiciones de los valores de entrantes.
Por ejemplo, si la persona responsable del dispositivo observa que A = 1,B = 0,C = 1
y D = 1, mirando la la correspondiente (la cinco) de la tabla anterior sabr que el
dispositivo est funcionando correctamente (Y = 1).
2.2. Representacin grca de circuitos lgicos
En la gura 1 podis ver cmo se representan los operadores bsicos como
puertas lgicas.
Puerta lgica
Es donde la seal de entrada
produce la seal de salida.
Ejemplo de puertas lgicas
En la gura 2 se representa la expresin (A + B) + (C D)
Lo habitual es representar los circuitos con las llamadas puertas universales.
Las ms comunes son NAND = NOT(AND) y NOR = NOT(OR). En la gura 3 se
representan las puertas lgicas NAND y NOR.
c
FUOC PID_00149518 21 Lgica y lgebra de Boole
Figura 1
A
B
A
A A
A B
A + B
B
Figura 2
(A + B) + (C D)
C
A
B
D
Figura 3
A
B
A
(A + B)
(A B)
NAND
NOR
B
Lo interesante de estos dos operadores es que cualquier circuito se puede mo-
delar usando un solo tipo de ellos.
En la gura 4 se ve cmo los operadores bsicos disyuncin, conjuncin y
negacin se pueden modelar con puertas NAND.
En el diseo de hardware digital, las puertas lgicas normalmente implemen-
tadas son negacin, conjuncin y disyuncin. Las negaciones de stas dos
ltimas, nand y nor, son tambin importantes porque slo implementando
una de ellas permiten la posterior implementacin de todas las dems. En
particular, (A B) se puede sustituir por la puerta individual NAND.
c
FUOC PID_00149518 22 Lgica y lgebra de Boole
Figura 4
A + B
B
A
A
B
A B
A
A
A
B
B
A
A
Ejemplo de modelo con puertas NAND
Ved la expresi (A B) + C en funcin
del operador en el ejercicio 4 del
subapartado 1.3.4.
Ya vimos cmo expresar (A B) + C en funcin del operador . El resultado era una expre-
sin muy compleja. Veremos ahora en la gura 5, cmo se puede modelar esa expresin
usando la puerta NAND.
Figura 5
(A B) + C
A B
A B
A
B
A
B
A
C
C
B
A
B
2.3. Otras aplicaciones
2.3.1. Criptografa
Los operadores binarios y son negacin uno de otro, es decir:
Podis ver las columnas de o
7
y o
10
en
la tabla de verdad de operadores
binarios del subapartado 1.3.3.
A B = (A B)
A B = (A B)
c
FUOC PID_00149518 23 Lgica y lgebra de Boole
Son tambin sus propios inversos, es decir:
((A B) B) = A
((A B) B) = A.
Esta propiedad puede usarse en circuitos y programas para codicar en cripto-
grafa. Un mensaje codicado se crea con una operacin entre los datos y el
cdigo. Si en la expresin:
MensajeCodicado = Datos Cdigo
Los datos se pueden recuperar usando el operador disyuncin exclusiva sobre
MensajeCodicado ya que:
MensajeCodicado Cdigo = (Datos Cdigo) Cdigo = Datos
2.3.2. Programacin
Una de las aplicaciones de la lgica booleana son los lenguajes de programa-
cin. Muchos de los algoritmos contienen expresiones del tipo if y while.
Otra importante aplicacin est en los sistemas de recuperacin de la infor-
macin como los busacadores de Internet, en los que se puede introducir una
query como:
[Booleana] AND [lgica] AND NOT [proposicional] OR [predicados]
que signica: buscar todos los documentos en los que aparezcan los trminos
Booleana y lgica, pero no aparezcan proposicional o predicados, si estoy buscan-
do documentos sobre lgica booleana pero que no traten de lgica proposi-
cional o de lgica de predicados.
c
FUOC PID_00149518 24 Lgica y lgebra de Boole
3. lgebra de Boole
.
3.1. Denicin de lgebra de Boole
La manipulacin de las expresiones booleanas, sus reglas y propiedades de-
nen una estructura matemtica abstracta que se puede aplicar a otros contex-
tos, tanto de la matemtica como de la informtica. Esa estructura abstracta
se llama lgebra de Boole y, aunque est inspirada en la lgica booleanas, es
ms compleja y abstracta.
El concepto de lgebra de Boole es una generalizacin de la lgica boolea-
na. La generalizacin consiste en identicar los elementos caractersticos de
la estructura que subyace a la lgica booleana: los dos valores (uno opuesto al
otro), los operadores booleanos primitivos y sus tablas de verdad. Por tanto,
cualquier generalizacin de la lgica booleana, y en particular la llamada l-
gebra de Boole, habr de contener dos valores signicativos equivalentes a 0
y a 1; y unas operaciones equivalentes a un conjunto primitivo de operadores
booleanos que operando sobre los valores 0 y 1 produzcan el mismo resultado
que en las tablas de verdad booleanas.
As, un lgebra de Boole es una estructura matemtica formada por un conjun-
to A que contiene, en particular, dos elementos diferentes, que vamos a llamar
cero y uno (0 y 1, aunque podran escribirse con otros smbolos), una opera-
cin unaria (vamos a simbolizar ) y dos operaciones binarias (que vamos a
simbolizar + y ) y que han de cumplir una serie de propiedades o axiomas.
Obsrvese que el conjunto A puede contener ms elementos adems del 0 y 1.
.
Se llama lgebra de Boole a la estructura matemtica formada por un
conjunto A, que tiene al menos dos elementos diferentes (0 y 1) y sobre
el que se denen tres operaciones (+, , ) que cumplen las propiedades
1) a 5) siguientes, donde x, y, z representan elementos cualesquiera del
conjunto A:
1) Conmutativa:
x + y = y + x
x y = y x
c
FUOC PID_00149518 25 Lgica y lgebra de Boole
.
2) Asociativa:
x + (y + z) = y + (x + z)
x (y z) = (x y) z
3) Distributiva:
x (y + z) = (x y) + (x z)
x + (y z) = (x + y) (x + z)
4) Identidad. Se dice que 0 es elemento neutro de + y que 1 es el ele-
mento neutro de
x + 0 = x
x 1 = x
5) Complementacin. Se dice que x es el complementario de x
x + (x) = 1
x (x) = 0
Lgica booleana
Es un lgebra de Boole con
slo dos elementos (0 y 1).
Este lgebra de Boole se representa con la expresin (A, 0, 1, + , , ). Es
un ejercicio comprobar que cuando las operaciones del lgerbra de Boole se
denen como los operadores booleanos de la lgica booleana (sus tablas de
valores) se cumplen las propiedades anteriores. Por tanto, la lgica booleana
es un lgebra de Boole (en este caso el conjunto A slo contiene los elementos
0 y 1).
.
Una expresin algebraica en un lgebra de Boole es una expresin
construida a partir de elementos del conjunto A del lgebra y usando
las tres operaciones bsicas.
3.2. Propiedades de las lgebras de Boole
Adems de estas propiedades fundamentales o axiomas de las lgebras de Boo-
le, se cumplen una serie de propiedades o teoremas signicativos y propios de
las lgebras de Boole.
.
Si x,y,z son variables cualesquiera de un lgebra de Boole, se cumplen
los siguientes teoremas:
1) Idempotencia
x + x = x
x x = x
c
FUOC PID_00149518 26 Lgica y lgebra de Boole
.
2) Doble negacin
x = x
3) Absorcin
x + (x y) = x
x (x + y) = x
4) Dominancia
x + 1 = 1
x 0 = 0
5) Leyes de De Morgan
(x + y) = (x) (y)
(x y) = (x) + (y)
Estas propiedades se cumplen para los operadores de la lgica booleana y, por
tanto, se pueden utilizar para simplicar expresiones y operar entre expresio-
nes con ms facilidad. Pensad por un momento en la propiedad de la doble ne-
gacin que permite eliminar de una expresin dos negaciones seguidas, o las
leyes de De Morgan que permiten intercambiar los operadores conjuncin y
disyuncin.
3.3. Ejemplos de lgebras de Boole
1) En lgica
El lgebra de Boole ms simple es la que tiene slo dos elementos, 0 y 1, y es
la que coincide con las operaciones bsicas de la lgica booleana.
A B A B
1 1 1
1 0 0
0 1 0
0 0 0
A B A + B
1 1 1
1 0 1
0 1 1
0 0 0
A A
1 0
0 1
Es un ejercicio trivial comprobar que cumple todas las propiedades de un l-
gebra de Boole, haciendo la tabla de valor para las expresiones que aparecen
en las diferentes propiedades.
c
FUOC PID_00149518 27 Lgica y lgebra de Boole
Esta lgebra de Boole tiene aplicaciones importantes:
En el diseo de circuitos digitales, interpretando 0 y 1 como los dos dife-
rentes estados de un bit en un circuito.
({0,1},AND,OR,NOT) s un lgebra de Boole.
En la lgica, interpretando el elemento 0 como falso y el elmento 1 como
verdadero.
({0,1}, , ,) es un lgebra de Boole binaria, es el lgebra de Boole de la
lgica booleana.
En muchos textos se identica el concepto ms abstracto de lgebra de
Boole con esta lgebra en particular, lo cual no es correcto, ya que el con-
cepto de lgebra de Boole es ms abstracto y se aplica a estructuras diferen-
tes de la lgica booleana, aunque compartan las mismas propiedades (no
comparten los mismos elementos y operaciones).
2) En teora de conjuntos
Si U es un conjunto no vaco, que se llama universo o dominio. El conjunto
de todos los conjuntos que se pueden denir con elementos de U, llammosle
C, con las operaciones binarias (interseccin) y (unin), la operacin unaria
complementario de un conjunto, e interpretando 0 como el conjunto vaco y
1 como el conjunto U, forma un lgebra de Boole.
La teora de conjuntos se presenta en el
mdulo Teora de conjuntos bsica
de esta asignatura.
(C, , ,(),,U) es el lgebra de Boole de los conjuntos de U . Esta lgebra de
Boole tiene ms de dos elementos si C los tiene. Ms adelante se estudia en
detalle esta lgebra de Boole.
3) En matemticas y fsica
Muchos otros ejemplos en el mbito de las matemticas y la fsica que quedan
fuera del objetivo de este captulo.
c
FUOC PID_00149518 28 Lgica y lgebra de Boole
Resumen
En este mdulo didctico hemos argumentado la necesidad de un lenguaje y
una semntica formal (una lgica) para poder expresar de una manera libre de
ambigedades los conceptos en informtica y en las ingenieras, en general; y
hemos presentado la ms simple de las lgicas con aplicacin a la informtica:
la lgica booleana.
El lenguaje formal de la lgica booleana consiste en nombrar con smbolos
cualquier expresin y en formalizar rigurosamente la manera como se gene-
ran nuevas expresiones a partir de las dadas con los operadores booleanos.
Paralelamente a la presentacin de los diferentes operadores, se han introdu-
cido los dos valores de signicado booleanos, simbolizados con 0 y 1, es decir,
se ha introducido la semntica booleana. ste es el rasgo ms caracterstico de
la lgica booleana: slo tiene dos valores de signicado o valores de verdad.
Para generar los valores de verdad correspondientes a las expresiones com-
plejas se usan las tablas de verdad; as, se han denido las de los operadores
bsicos y se ha explicado cmo construir las tablas de verdad de expresiones
complejas.
Posteriormente se han presentado algunas aplicaciones de la lgica booleana
a la informtica y se ha desarrollado la de los circuitos lgicos.
Finalmente, se ha denido la estructura matemtica de lgebra de Boole como
una generalizacin de la estructura que subyace a la lgica booleana. Un lge-
bra de Boole es un conjunto que contiene un 0 y un 1, y en el que se denen
tres operaciones que cumplen las mismas propiedades que los operadores boo-
leanos de negacin, disyuncin y conjuncin. As denida, la lgica booleana
se puede ver como un lgebra de Boole con slo dos elementos: 0 y 1.
c
FUOC PID_00149518 29 Lgica y lgebra de Boole
Ejercicios de autoevaluacin
1. Demuestra que (A B) B = A, y que (A B) B = A; es decir, que (A B) B y
(A B) B toman los mismos valores que A (independientemente de los valores de B).
2. Evala el valor de la expresin (A + B) (C + (D)) en los casos siguientes:
a) A = 1,B = 1,C = 1,D = 1
b) A = 0,B = 0,C = 1,D = 1
c) A = 1,B = 1,C = 0,D = 0
3. Construyendo las correponsientes tablas de valor o tablas de verdad, prueba que en el
caso de los operadores unarios de la lgica boleana, el operador negacin junto a uno de
los operadores constantes (por ejemplo el constante 1 )permiten denir todos los operadores
unarios.
4. Analiza el circuito lgico de la gura 6 y expresa algebraicamente en forma de suma y
productos la funcin lgica que implementa.
Figura 6
C
A
B
D
5. Representa el circuito lgico correspondiente a la expresin: A + ((B + C) (D)).
6. Demuestra que se cumplen las siguientes propiedades de lgebra de Boole en el caso de la
lgica booleana:
a) Leyes de De Morgan.
b) Idempotencia.
c) Complementacin.
d) Absorcin.
7. Representa con puertas NAND y NOR las siguientes expresiones:
a) ((A + B) C)
b) (A B) + (A C)
8. Demuestra que y denen los operadores binarios , , y .
9. Expresa en funcin de los operadores y + :
a) (A B) ((A) C)
b) A (B (C D))
10. Expresa en funcin de los operadores y :
a) (A B) (C)
b) (A) ((B C) (D))
c
FUOC PID_00149518 30 Lgica y lgebra de Boole
Solucionario
1.
A B A B (A B) B
1 1 0 1
1 0 1 1
0 1 1 0
0 0 0 0
y
A B A B (A B) B
1 1 1 1
1 0 0 1
0 1 0 0
0 0 1 0
2. La solucin es:
a) (A + B) (C + (D)) = 1
b) (A + B) (C + (D)) = 0
c) (A + B) (C + (D)) = 1.
Se calcula con la tabla de valor siguiente correspondiente a los tres casos:
A B C D A + B C + (D) (A + B) (C + (D))
a) 1 1 1 1 1 1 1
b) 0 0 1 1 0 1 0
c) 1 1 0 0 1 1 1
3. Recordad que los cuatro operadores unitarios posibles son los siguientes:
A C
1
Id C
0
1 1 1 0 0
0 1 0 1 0
Obsrvese que Id es la negacin de , y que C
0
es la negacin de C
1
, esto es:
IdA = A y C
0
A = C
1
A.
Por tanto, los operadores y C
1
denen todos los operadores unarios.
4. (A B) (C + (D))
5.
Figura 7
B
A
C
D
c
FUOC PID_00149518 31 Lgica y lgebra de Boole
6.
a) Leyes de De Morgan
(X + Y) = (X) (Y)
(X Y) = (X) + (Y)
X Y (X + Y) ( X) (Y)
1 1 0 0
1 0 0 0
0 1 0 0
0 0 1 1
y
X Y (X Y) (X) + (Y)
1 1 1 1
1 0 0 0
0 1 0 0
0 0 0 0
b) Idempotencia
X + X = X
X X = X
X X + X X X
1 1 1
0 0 0
c) Complementacin. Se dice que x es el complementario de x
X + (X) = 1
X (X) = 0
X X + (X) X (X)
1 1 0
0 1 0
d) Absorcin
X + (X Y) = X
X (X + Y) = X
X Y X + (X Y) X (X + Y)
1 1 1 1
1 0 1 1
0 1 0 0
0 0 0 0
7.
a) ((A+ B) C) =(A+ B) + (C) por una de las leyes de De Morgan de las lgebras de Boole,
y ahora lo representamos con NOR y NAND (gura 8).
b) Lo representamos solo con NAND (gura 9).
8.
a) Sabemos ya que el operador conjuncin se expresa en funcin de la negacin y la disyun-
cin:
A B = ((A) (B))
c
FUOC PID_00149518 32 Lgica y lgebra de Boole
Figura 8
(A + B) + (C)
(A + B)
(A + B)
C
C
A
B
A
B
C
C
C
C
Figura 9
A C
A C
A
C
A
C
A
C
A
C
(A B)
(A B)
(A B) + A C
A
B
A
B
b) Sabemos que el operador nand es la negacin del operador conjuncin
A B = (A B)
Sustituyendo en el anterior la expresin de en funcin de y tenemos
(A B) = ((A) (B))
Aplicando la propiedad de la doble negacin tenemos que
((A) (B)) = (A) (B).
Por tanto, se ha obtenido que
A B = (A) (B)
c) Sabemos que el operador nor es la negacin del operador disyuncin y, por tanto, se
expresa as en funcin de la negacin y la disyuncin:
A B = (A B)
d) Sabemos que el operador es la negacin del operador y, por tanto,
A B = (A B) .
c
FUOC PID_00149518 33 Lgica y lgebra de Boole
Tambin sabemos que se expresa en funcin de y de de la forma
A B = (A B) (B A) y, por tanto,
(A B) = ((A B) (B A))
Ahora aplicamos la ley de De Morgan correspondiente, que permite expresar y en fun-
cin de y : ((x y) = (x) (y)) y tenemos que
((A B) (B A)) = ((A B)) ((B A))
Sabemos que se expresa en funcin de de y (A B = A B) y, por tanto:
((A B)) ((B A)) = ((A B)) ((B A))
Aplicamos la ley de De Morgan de esta manera: (A B) = AB y (B A) = B
A; que eliminando las dobles negaciones queda (A B) = AB y (B A) = BA.
Sustituyendo en la expresin que estamos estudiando tenemos:
((A B)) ((B A)) = (A B) (B A)
Veris que ha vuelto a aparecer la conjuncin, que de nuevo debemos expresar en funcin
de y y tenemos:
(A B) (B A) = ((A) (B)) ((B) (A))
Finalmente, aplicando la propiedad de la doble negacin, eliminamos las dos negaciones
seguidas y queda:
A B = ((A) B) ((B) A)
Para comprobar que el resultado es correcto, basta construir la tabla de verdad de las dos
expresiones y comprobar que el resultado de las respectivas columnas es el mismo.
A B A B (A) B ((A) B) (B) A ((B) A) ((A) B) ((B) A)
1 1 0 1 0 1 0 0
1 0 1 0 1 1 0 1
0 1 1 1 0 0 1 1
0 0 0 1 0 1 0 0
9.
a) (A B) ((A) C) =
=(A B) + ((A) C) =
= ((A) + (B)) + ((A) C) =
= (A) + (B) + (((A) + (C))) =
= ((A) + (B)) + ((A + (C)))
Comprobacin:
A B C (A B) (( A) C) ((A) + (B)) + ((A + (C)))
1 1 1 0 0
1 1 0 0 0
1 0 1 1 1
1 0 0 1 1
0 1 1 1 1
0 1 0 1 1
0 0 1 1 1
0 0 0 1 1
b) A (B (C D)) =
= ((A) + ((B (C D)))) =
= ((A) + ((B) + ((C D)))) =
= ((A) + ((B) + ((C) + (D))))
c
FUOC PID_00149518 34 Lgica y lgebra de Boole
Comprobacin:
A B C D A (B (C D)) ((A) + ((B) + ((C) + (D))))
1 1 1 1 1 1
1 1 1 0 0 0
1 1 0 1 0 0
1 1 0 0 0 0
1 0 1 1 0 0
1 0 1 0 0 0
1 0 0 1 0 0
1 0 0 0 0 0
0 1 1 1 0 0
0 1 1 0 0 0
0 1 0 1 0 0
0 1 0 0 0 0
0 0 1 1 0 0
0 0 1 0 0 0
0 0 0 1 0 0
0 0 0 0 0 0
10.
a) Como A B = (A (B)) tenemos que
(A B) (C) = ((A) (B)) (C).
Teniendo en cuenta la expresin de en funcin de y (A B = ((A) (B))) tenemos
que
((A (B))) (C) = ((A (B)) (C)).
Eliminando las dobles negaciones tenemos que
((A (B)) (C)) = ((A (B)) C)
Comprobacin
A B C (A B) (C) ((A (B)) C)
1 1 1 1 1
1 1 0 1 1
1 0 1 0 0
1 0 0 1 1
0 1 1 1 1
0 1 0 1 1
0 0 1 1 1
0 0 0 1 1
b) (A) ((B C) (D)) =
= (A) ((B C) (D)) =
= A ((B C) (D)) =
= (A ((B C) (D))) =
= (A ((B C) (D))) =
= (A ((B C) (D))) =
= (A ((B C) (D))) =
= (A ((B C) D))
c
FUOC PID_00149518 35 Lgica y lgebra de Boole
Comprobacin
A B C D (A) ((B C) (D)) (A ((B C) D))
1 1 1 1 1 1
1 1 1 0 1 1
1 1 0 1 1 1
1 1 0 0 1 1
1 0 1 1 1 1
1 0 1 0 1 1
1 0 0 1 1 1
1 0 0 0 1 1
0 1 1 1 0 0
0 1 1 0 1 1
0 1 0 1 0 0
0 1 0 0 1 1
0 0 1 1 0 0
0 0 1 0 1 1
0 0 0 1 1 1
0 0 0 0 1 1
c
FUOC PID_00149518 36 Lgica y lgebra de Boole
Glosario
conjuncin
Operador booleano binario.
disyuncin
Operador booleano binario.
funcin lgica
Nombre de los operadores booleanos en el contexto de la computacin.
implicacin
Operador booleano binario.
nand
Operador booleano binario.
negacin
Operador booleano unario.
nor
Operador booleano binario.
operador binario
El que opera sobre dos expresiones.
operador booleano
El que opera con dos valores de verdad.
operadores primitivos
Conjunto de operadores que pueden denir todos los dems.
puerta lgica
En un circuito lgico, es la representacin de la conversin de la seal de entrada en la seal
de salida.
tabla de verdad
Algoritmo de clculo del valor de verdad de una expresin compleja a partir de las que la
componen.
valor de signicado (de verdad)
Valor asignado a las expresiones en una lgica.
Bibliografa
Ben-Ari, M. (2004). Mathematical Logic for Computer Science. Springer.
Gajsky, D.D. (1997). Principios de Diseo Digital. Prentice Hall.
Martn, F., Snchez, J.L., Paniagua, E. (2003). Lgica computacional. Paraninfo.
Roth, C.H. (2005). Fundamentos de diseo lgico. Thomson.