Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Logica Algebra Boole M3 PDF
Logica Algebra Boole M3 PDF
de Boole
Operadores booleanos y tablas de
verdad
PID_00149518
c FUOC • PID_00149518
Lógica y álgebra de Boole
Índice
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1. Lógica booleana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1. Origen y objeto de la lógica booleana . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.2. Lenguaje y semántica de la lógica booleana . . . . . . . . . . . . . . . . . . . 8
1.3. Operadores booleanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.1. Operadores básicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.3.2. Tablas de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3.3. Otros operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
1.3.4. Relaciones entre operadores . . . . . . . . . . . . . . . . . . . . . . . . . . 15
3. Álgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.1. Definición 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 autoevaluación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Solucionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Bibliografía . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
c FUOC • PID_00149518
5 Lógica y álgebra de Boole
Introducción
Objetivos
1. Lógica booleana
.
a) Lenguaje formal
b) Razonamiento válido formal
c) Semántica formal
Seguidamente veremos los operadores básicos, las tablas de verdad, otros ope-
radores y las relaciones entre operadores.
A B A·B A B A+B A ∼A
1 1 1 1 1 1 1 0
1 0 0 1 0 1 0 1
0 1 0 0 1 1
0 0 0 0 0 0
Para entender cómo se debe interpretar la tabla de verdad de un operador tomemos, por
ejemplo, la tabla del operador conjunción: cuando A = 1 y B = 1 el valor de la expresión
compleja A · B = 1 (es la primera fila de la tabla); respectivamente, cuando A = 1 y B = 0 el
valor de la explesión compleja A·B = 0 (es la segunda fila de la tabla); y así sucesivamente.
Observad que las tablas se corresponden con los valores de la expresión dada
en la tabla de presentación de los operadores en el subapartado anterior:
a) (∼ A) · (A + B)
Expresión compleja
A B ∼A A+B (∼ A) · (A + B)
1 1 0 1 0 La tabla de verdad de una
1 0 0 1 0 expresión compleja se
construye a partir de las
0 1 1 1 1 tablas de las subexpresiones
0 0 1 0 0 que la componen.
c FUOC • PID_00149518
12 Lógica 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
Veamos primero el caso de operadores que actúan sobre una única expresión. Funciones lógicas
En la siguiente tabla se presentan todos los posibles operadores unarios (tam-
En el contexto de la
bién llamados monarios), es decir, los que operan sobre una expresión. computación los operadores
booleanos reciben el nombre
de funciones lógicas.
Sólo 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 número de operadores unarios posibles, que es también cuatro:
A o1 o2 o3 o4
1 1 1 0 0
0 1 0 1 0
o1 constante 1
o2 identidad
o3 negación ∼ ¬ NOT
o4 constante 0
c FUOC • PID_00149518
13 Lógica y álgebra de Boole
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
En la siguiente tabla se muestran los simbolos más utilizados para los ope-
radores binarios más comunes en tres de los contextos más importantes, el
de la lógica boolena, el de la lógica clásica (lógica de enunciados y lógica de
predicados) y el de la computación.
o8 conjunción · ∧ AND
o2 disyunción + ∨ OR
o9 nand ↑ NAND
o5 implicación ⊃ –→
o7 equivalencia ≡ ←→
Observad que sólo hay signos de todos ellos para la lógica clásica (lógica de
enunciados y lógica de predicados), que es el sistema lógico más importante
que contiene los operadores de la lógica booleana.
c FUOC • PID_00149518
14 Lógica y álgebra de Boole
Observación
A B ∧ ∨ –→ ←→ ↑ ↓ ⊕
La tabla se debe leer como el
valor de la expresión A ∧ B a
1 1 1 1 1 1 0 0 0
partir del valor de las
expresiones de A y de B, el
1 0 0 1 0 0 1 0 1 valor de A ∨ B a partir
del valor de las
0 1 0 1 1 0 1 0 1 expresiones de A y de B y así
sucesivamente.
0 0 0 0 1 1 1 1 0
La implicación
La disyunción exclusiva
La frase “Me inscribiré en la UOC el lunes o el martes” corresponde con el significado del
operador disyunción exclusiva, ya que no puedo inscribirme dos veces.
Para demostrar lo anterior, es suficiente comprobar que los tres operadores bi-
narios disyunción, implicación y conjunción, y el operador negación se pue-
den obtener a partir de los respectivos conjuntos de operadores primitivos:
A + B =∼ ((∼ A) · (∼ B))
A ⊃ B =∼ (A · (∼ B))
A · B = ∼ ((∼ A) + (∼ B))
A ⊃ B = (∼ A) + B
c) Basta comprobar que el operador nand, o el operador nor (sólo uno de ellos),
es suficiente para definir los operadores disyunción y negación (que son un
conjunto de operadores primitivos)
A + B = (A ↑ A) ↑ (B ↑ B)
A · B = (A ↑ B) ↑ (A ↑ B)
∼A = A ↑ A
c FUOC • PID_00149518
17 Lógica y álgebra de Boole
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)]
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
(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)
La extensión de la fórmula resultante es tan grande que no cabe en una sóla línea del
espacio físico de este folio. Esta dificultad es un inconveniente habitual de la escritura
de una expresión sólo con el operador nand o el operador nor. En el apartado siguiente
se mostrará una manera más eficaz de obtener (gráficamente) la expresión con estos
operadores.
c FUOC • PID_00149518
19 Lógica y álgebra de Boole
Una de las aplicaciones más importantes de la lógica booleana son los compu-
tadores digitales.
Imaginemos que un circuito electrónico 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 simultáneamente en alta tensión, y que los cables C y D deben estar
los dos a la vez en alta tensión o los dos a la vez en baja tensión. Supongamos, además,
que nuestro problema consiste en controlar la tensión de A,B,C,D en cada momento y
saber si el dispositivo funciona correctamente.
Para saber la correspondencia entre el valor de la señal de los cables cables A,B,C,D y de
la expresión que representa el funcionamiento correcto, se construye la tabla de verdad Paréntesis
de esta expresión.
Obsérvese que utilizamos los
Para ello, a partir de los posibles valores de A,B,C,D, calculamos primero el valor de la
paréntesis para clarificar las
expresión A · B y a partir de éste el de ∼ (A · B). Por otro lado, se calcula sucesivamente el
expresiones, sin que aporten
valor de C · D y ∼ C· ∼ D y X = (C · D) + (∼ C· ∼ D). Finalmente, a partir de la columna
ningún valor expresivo
de ∼ (A · B) y de X se calcula el valor de Y = ∼ (A · B) · X, que es su conjunción:
nuevo.
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
Por ejemplo, si la persona responsable del dispositivo observa que A = 1,B = 0,C = 1
y D = 1, mirando la fila correspondiente (fila cinco) de la tabla anterior sabrá que el
dispositivo está funcionando correctamente (Y = 1).
Figura 1
A
A+B
B
A
A·B
B
A ∼A
Figura 2
A
B
(∼A + B) + ∼ (C · D)
C
D
Figura 3
NAND
A
∼(A · B)
B
NOR
A
∼(A + B)
B
Figura 4
A
A
A+B
B
B
A
B
A·B
A
B
A
∼A
A
Ya vimos cómo expresar (A · B) + C en función del operador ↑. El resultado era una expre-
sión muy compleja. Veremos ahora en la figura 5, cómo se puede modelar esa expresión Ved la expresió (A · B) + C en función
usando la puerta NAND. del operador ↑ en el ejercicio 4 del
subapartado 1.3.4.
Figura 5
A
B
A·B
A
B
A
B
A·B (A · B) + C
A
B
C
C
2.3.1. Criptografía
((A ←→ B) ←→ B) = A
((A ⊕ B) ⊕ B) = A.
2.3.2. Programación
que significa: buscar todos los documentos en los que aparezcan los términos
Booleana y lógica, pero no aparezcan proposicional o predicados, si estoy buscan-
do documentos sobre lógica booleana pero que no traten de lógica proposi-
cional o de lógica de predicados.
c FUOC • PID_00149518
24 Lógica y álgebra de Boole
3. Álgebra de Boole
.
1) Conmutativa:
x+y =y+x
x·y =y·x
c FUOC • PID_00149518
25 Lógica 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)
1) Idempotencia
x+x=x
x·x=x
c FUOC • PID_00149518
26 Lógica y álgebra de Boole
2) Doble negación
∼∼ x = x
3) Absorción
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)
1) En lógica
A B A·B A B A+B A ∼A
1 1 1 1 1 1 1 0
1 0 0 1 0 1 0 1
0 1 0 0 1 1
0 0 0 0 0 0
2) En teoría de conjuntos
(C , ∩ , ∪ ,(),∅,U) es el álgebra de Boole de los conjuntos de U . Esta álgebra de La teoría de conjuntos se presenta en el
módulo “Teoría de conjuntos básica”
Boole tiene más de dos elementos si C los tiene. Más adelante se estudia en de esta asignatura.
3) En matemáticas y física
Resumen
Ejercicios de autoevaluación
Figura 6
A
B
C
D
Solucionario
1.
A B A⊕B (A ⊕ B) ⊕ B A B A ←→ B (A ←→ B) ←→ B
1 1 0 1 1 1 1 1
1 0 1 1 y 1 0 0 1
0 1 1 0 0 1 0 0
0 0 0 0 0 0 1 0
2. La solución es:
a) (A + B) · (C + (∼ D)) = 1
b) (A + B) · (C + (∼ D)) = 0
c) (A + B) · (C + (∼ D)) = 1.
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 C1 Id ∼ C0
1 1 1 0 0
0 1 0 1 0
4. ∼ (A · B) · (C + (∼ D))
5.
Figura 7
B
C
D
c FUOC • PID_00149518
31 Lógica y álgebra de Boole
6.
a) Leyes de De Morgan
∼ (X + Y) = (∼ X) · (∼ Y)
∼ (X · Y) = (∼ X) + (∼ Y)
X Y ∼ (X + Y) (∼ X) · (∼ Y) X Y ∼ (X · Y) (∼ X) + (∼ Y)
1 1 0 0 1 1 1 1
1 0 0 0 y 1 0 0 0
0 1 0 0 0 1 0 0
0 0 1 1 0 0 0 0
b) Idempotencia
X+X=X
X·X=X
X X+X X·X
1 1 1
0 0 0
X + (∼ X) = 1
X · (∼ X) = 0
X X + (∼ X) X · (∼ X)
1 1 0
0 1 0
d) Absorción
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.
8.
Figura 8
A
∼(A + B)
B
A
∼(A + B)
B
∼(A + B) + (∼C)
C
∼C
C
C
∼C
C
Figura 9
A
∼(A · B)
B
A
∼(A · B)
B
A
C ∼(A · B) + A · C
A·C
A
C
A
C
A·C
A
C
c) Sabemos que el operador nor es la negación del operador disyunción y, por tanto, se
expresa así en función de la negación y la disyunción:
A ↓ B = ¬ (A ∨ B)
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.
9.
a) (A · B) ⊃ ((∼ A) · C) =
=∼ (A · B) + ((∼ A) · C) =
= ((∼ A) + (∼ B)) + ((∼ A) · C) =
= (∼ A) + (∼ B) + (∼ ((∼ ∼ A) + (∼ C))) =
= ((∼ A) + (∼ B)) + (∼ (A + (∼ C)))
Comprobación:
b) A · (B · (C · D)) =
= ∼ ((∼ A) + (∼ (B · (C · D)))) =
= ∼ ((∼ A) + ((∼ B) + (∼ (C · D)))) =
= ∼ ((∼ A) + ((∼ B) + ((∼ C) + (∼ D))))
c FUOC • PID_00149518
34 Lógica y álgebra de Boole
Comprobación:
10.
Comprobación
Comprobación
Glosario
conjunción
Operador booleano binario.
disyunción
Operador booleano binario.
función lógica
Nombre de los operadores booleanos en el contexto de la computación.
implicación
Operador booleano binario.
nand
Operador booleano binario.
negación
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 definir todos los demás.
puerta lógica
En un circuito lógico, es la representación de la conversión de la señal de entrada en la señal
de salida.
tabla de verdad
Algoritmo de cálculo del valor de verdad de una expresión compleja a partir de las que la
componen.
Bibliografía
Ben-Ari, M. (2004). Mathematical Logic for Computer Science. Springer.