Vous êtes sur la page 1sur 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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1. Lgica booleana . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.1. 1.2. 1.3. Origen y objeto de la lgica booleana . . . . . . . . . . . . . . . . . . . . . . . . . Lenguaje y semntica de la lgica booleana . . . . . . . . . . . . . . . . . . . Operadores booleanos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3.1. 1.3.2. 1.3.3. 1.3.4. 2. Operadores bsicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Tablas de verdad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Otros operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Relaciones entre operadores . . . . . . . . . . . . . . . . . . . . . . . . . .

5 6 7 7 8 9 9 10 12 15 19 19 20 22 22 23 24 24 25 26 28 29 30 36 36

Lgica booleana e informtica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.1. 2.2. 2.3. Circuitos lgicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Representacin grca de circuitos lgicos . . . . . . . . . . . . . . . . . . . . Otras aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.3.1. 2.3.2. Criptografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Programacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3.

lgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1. 3.2. 3.3. Denicin de lgebra de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Propiedades de las lgebras de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . Ejemplos de lgebras de Boole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Resumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Ejercicios de autoevaluacin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Solucionario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Glosario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bibliografa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

c FUOC PID_00149518

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 informaci 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 notaciones 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 entender. Al nal del mdulo hay ejercicios de autoevaluacin para que podis comprovar el nivel de comprensin de los conceptos y tcnicas fundamentales del mdulo.

c FUOC PID_00149518

Lgica y lgebra de Boole

Objetivos

En los recursos docentes facilitados en este mdulo, encontraris los conceptos, 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 formalizarse con su lenguaje. 4. Entender que la lgica no se ocupa del signicado concreto de las expresiones 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

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 tcnicas algebricas para tratar expresiones de la lgica. El sistema as resultante se parece ms a un sistema algebraico donde se denen unas operaciones sobre 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 estructura 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 comunicacin y los razonamientos cotidianos. Pero tanto la gran capacidad expresiva del lenguaje natural como la ambigedad de muchas de sus expresiones (pueden tener un signicado diferente dependiendo del contexto) no lo hacen la herramienta ideal para el razonamiento lgico riguroso. La lgica contempornea 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 diferenciadas. As, en un razonamiento hay dos partes bien diferentes: una primera parte (premisa del razonamiento) que es la formulacin de conocimiento o informacin 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 ambigedad que se usa para formalizar el conocimiento o informacin. El segundo

c FUOC PID_00149518

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 consiste 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 expresin 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 signicado (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 forma 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 circuitos digitales. Es adems componente fundamental de la lgica de enunciados 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 cualquier expresin de la lgica booleana.

c FUOC PID_00149518

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 verdadero) 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 booleana 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 operadores y las relaciones entre operadores.

1.3.1. Operadores bsicos Si A y B son expresiones o variables booleanas, se pueden generar nuevas expresiones a partir de ellas combinndolas con los llamados operadores booleanos. . Los operadores booleanos bsicos son los que aparecen en la siguiente tabla:

Operador booleano (nombre) Producto lgico o conjuncin Suma lgica o disyuncin Complementacin o negacin

Smbolo

Smbolo alternativo

AND OR NOT

En la tabla anterior se han privilegiado los smbolos originales de George Boole, 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 importantes de la lgica booleana: los operadores de conjuncin, disyuncin y
La lgica de enunciados se presenta en el mdulo Lgica de enunciados de esta asignatura.

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 AB

Nombre A y B

Signicado
8 > > < AB=1 > > : AB=0 8 > > <

si A = B = 1 en otro caso si A = 1 o B = 1

A+B

A o B

A+B=1

no A

> > : A + B = 0 en otro caso 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 sistema 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 componen. El valor de una expresin compleja se puede calcular a partir de los valores de las expresiones ms simples que la componen, con un algoritmo llamado 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 expresiones 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 1 1 0 0

B 1 0 1 0

AB 1 0 0 0

A 1 1 0 0

B 1 0 1 0

A+B 1 1 1 0

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 A B = 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.

A 1 1 0 0

B 1 0 1 0

A 0 0 1 1

A+B 1 1 1 0

( A) (A + B) 0 0 1 0

Expresin compleja La tabla de verdad de una expresin compleja se construye a partir de las tablas de las subexpresiones que la componen.

c FUOC PID_00149518

12

Lgica y lgebra de Boole

b) (A + B) ( C)

A 1 1 1 1 0 0 0 0

B 1 1 0 0 1 1 0 0

C 1 0 1 0 1 0 1 0

A+B 1 1 1 1 1 1 0 0

C 0 1 0 1 0 1 0 1

(A + B) ( C) 0 1 0 1 0 1 1 1

1.3.3. Otros operadores Una pregunta inmediata es si los operadores booleanos bsicos denidos anteriormente son los nicos. Y si no es as, hay ms operadores? Veamos primero el caso de operadores que actan sobre una nica expresin. En la siguiente tabla se presentan todos los posibles operadores unarios (tambin 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:
En el contexto de la computacin los operadores booleanos reciben el nombre de funciones lgicas.

Funciones lgicas

A 1 0

o1 1 1

o2 1 0

o3 0 1

o4 0 0

En la tabla siguiente se puede leer el nombre de estos cuatro operadores. Como podis ver solamente la negacin (o3 ) es un operador signicativo y por ello tiene smbolos conocidos. El operador negacin se usa en todas las aplicaciones de la lgica en la computacin y la electrnica.

Operador o1 o2 o3 o4

Nombre constante 1 identidad negacin constante 0

Smbolo

NOT

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 operadores 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 1 1 0 0

B 1 0 1 0

o1 1 1 1 1

o2 1 1 1 0

o3 1 1 0 1

o4 1 1 0 0

o5 1 0 1 1

o6 1 0 1 0

o7 1 0 0 1

o8 1 0 0 0

o9 0 1 1 1

o10 0 1 1 0

o11 0 1 0 1

o12 0 1 0 0

o13 0 0 1 1

o14 0 0 1 0

o15 0 0 0 1

o16 0 0 0 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 corresponden a operadores booleanos conocidos. Adems, hay que tener siempre presente que existe diversidad de smbolos para un mismo operador, dependiendo del contexto donde se usa. En la siguiente tabla se muestran los simbolos ms utilizados para los operadores 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 o8 o2 o9 o15 o5 o7 o10

Nombre conjuncin disyuncin nand nor implicacin equivalencia disyuncin exclusiva

Booleana

Clsica

Computacin AND OR NAND NOR

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

A 1 1 0 0

B 1 0 1 0

1 0 1 1

1 0 0 0

1 1 1 0

1 0 0 1

0 1 1 1

0 0 0 1

0 1 1 0

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.

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

Implicacin El valor de la implicacin puede ser verdadero aunque el consecuente sea falso.

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 simultneamente 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 nmero de valores de entrada que se operan para dar un valor de salida. En el caso de operadores terciarios hay 43 = 64 posibilidades, en el caso de los cuaternarios 44 = 256 posibilidades. En general para operadores n-arios (con n valores de entrada) tenemos 4n posibilidades. En lo que nos interesa, nos concentramos en los operadores unarios y binarios, 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. o1 es la negacin de o16 ya que sus columnas de valores respectivas son contrarias entre s. Igualmente, ocurre que los operadores del o9 al o15 son la negacin, respectivamente, de los operadores del o8 al o2 . En particular, observad que el operativo nor (o15 ) es la negacin del operador disyuncin (o2 ) y que nand (o9 ) es la negacin del operador conjuncin (o8 ). Por tanto, de los 16 operadores 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, o4 y o6 son operadores proyeccin, esto es Ao4 B = A y Ao6 B = B, y el operador o1 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 o2 ,o3 ,o5 ,o7 ,o8 y la negacin. Adems, entre stos observamos que o3 y o5 son inversos entre s (Ao3 B = Bo5 A) y que o7 se expresa en funcin de o5 y o8 (Ao7 B = (Ao5 B)o8 (Bo5 A)). Por tanto, con los tres operadores binarios disyuncin, implicacin y conjuncin (o2 ,o5 y o8 , 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. . Llamaremos conjunto de operadores primitivos a cualquier conjunto de operadores binarios y unarios que permite denir todos los operadores unarios y binarios de la lgica booleana.
Recordad Ao5 B = A B Ao7 B = A B Ao8 B = A B

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 binarios disyuncin, implicacin y conjuncin, y el operador negacin se pueden 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 comprobando que son iguales:

A 1 1 0 0

B 1 0 1 0

AA 0 0 1 1

BB 0 1 0 1

(A A) (B B) 1 1 1 0

A+B 1 1 1 0

A 1 0

AA 0 1

0 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 a) b) c) 0 1 1

B 1 0 1

C 1 1 0

A+B 1 1 1

(A + B) C 1 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 computadores 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 producir 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)] 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:

Parntesis Obsrvese que utilizamos los parntesis para claricar las expresiones, sin que aporten ningn valor expresivo nuevo.

A 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0

C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0

D 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

AB 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0

(A B) 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1

CD 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0

C D 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1

X 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1

Y 0 0 0 0 1 0 0 1 1 0 0 1 1 0 0 1

Con esta tabla es fcil resolver el problema de si el dispositivo funciona o no correctamente 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.
Ejemplo de puertas lgicas En la gura 2 se representa la expresin ( A + B) + (C D)

Puerta lgica Es donde la seal de entrada produce la seal de salida.

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+B

A B AB

Figura 2

A B (A + B) + (C D) C D

Figura 3

NAND A B (A B)

NOR A B (A + B)

Lo interesante de estos dos operadores es que cualquier circuito se puede modelar 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 implementadas 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 A A+B B B

A B AB A B

A A A

Ejemplo de modelo con puertas NAND Ya vimos cmo expresar (A B) + C en funcin del operador . El resultado era una expresin muy compleja. Veremos ahora en la gura 5, cmo se puede modelar esa expresin usando la puerta NAND.

Ved la expresi (A B) + C en funcin del operador en el ejercicio 4 del subapartado 1.3.4.

Figura 5

A B A B A B A B C C AB (A B) + C AB

2.3. Otras aplicaciones 2.3.1. Criptografa Los operadores binarios y son negacin uno de otro, es decir: A B = (A B) A B = (A B)

Podis ver las columnas de o7 y o10 en la tabla de verdad de operadores binarios del subapartado 1.3.3.

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 criptografa. 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 programacin. Muchos de los algoritmos contienen expresiones del tipo if y while. Otra importante aplicacin est en los sistemas de recuperacin de la informacin 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 buscando documentos sobre lgica booleana pero que no traten de lgica proposicional 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 denen una estructura matemtica abstracta que se puede aplicar a otros contextos, 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 booleana. 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 lgebra 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 conjunto 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 operacin 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 xy =yx

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 elemento neutro de x+0=x x1=x 5) Complementacin. Se dice que x es el complementario de x x + ( x) = 1 x ( x) = 0

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.

Lgica booleana Es un lgebra de Boole con slo dos elementos (0 y 1).

3.2. Propiedades de las lgebras de Boole Adems de estas propiedades fundamentales o axiomas de las lgebras de Boole, 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 xx=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 x0=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 expresiones con ms facilidad. Pensad por un momento en la propiedad de la doble negacin 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 1 1 0 0

B 1 0 1 0

AB 1 0 0 0

A 1 1 0 0

B 1 0 1 0

A+B 1 1 1 0

A 1 0

0 1

Es un ejercicio trivial comprobar que cumple todas las propiedades de un lgebra 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 concepto de lgebra de Boole es ms abstracto y se aplica a estructuras diferentes 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. (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.

La teora de conjuntos se presenta en el mdulo Teora de conjuntos bsica de esta asignatura.

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 generan nuevas expresiones a partir de las dadas con los operadores booleanos. Paralelamente a la presentacin de los diferentes operadores, se han introducido 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 complejas 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 lgebra 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 booleanos 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

A B

C 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 1 1 0 0

B 1 0 1 0

AB 0 1 1 0

(A B) B 1 1 0 0 y

A 1 1 0 0

B 1 0 1 0

A B 1 0 0 1

(A B) B 1 1 0 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 a) b) c) 1 0 1

B 1 0 1

C 1 1 0

D 1 1 0

A+B 1 0 1

C + ( D) 1 1 1

(A + B) (C + ( D)) 1 0 1

3. Recordad que los cuatro operadores unitarios posibles son los siguientes:

A 1 0

C1 1 1

Id 1 0

0 1

C0 0 0

Obsrvese que Id es la negacin de , y que C0 es la negacin de C1 , esto es: IdA = A y C0 A = C1 A. Por tanto, los operadores y C1 denen todos los operadores unarios. 4. (A B) (C + ( D)) 5.

Figura 7

B C

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 1 1 0 0

Y 1 0 1 0

(X + Y ) 0 0 0 1

( X ) ( Y ) 0 0 0 1 y

X 1 1 0 0

Y 1 0 1 0

(X Y ) 1 0 0 0

( X) + ( Y ) 1 0 0 0

b) Idempotencia X+X=X XX=X

X 1 0

X+X 1 0

XX 1 0

c) Complementacin. Se dice que x es el complementario de x X + ( X) = 1 X ( X) = 0

X 1 0

X + ( X) 1 1

X ( X) 0 0

d) Absorcin X + (X Y ) = X X (X + Y ) = X

X 1 1 0 0

Y 1 0 1 0

X + (X Y ) 1 1 0 0

X (X + Y ) 1 1 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 disyuncin: A B = ((A) (B))

c FUOC PID_00149518

32

Lgica y lgebra de Boole

Figura 8

A B A B C C C C C C (A + B) (A + B) + (C) (A + B)

Figura 9

A B A B A C A C A C A C

(A B)

(A B)

(A B) + A C AC

AC

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 funcin 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) = A B y (B A) = B A; que eliminando las dobles negaciones queda (A B) = A B y (B A) = B A. 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 1 1 0 0

B 1 0 1 0

AB 0 1 1 0

(A) B 1 0 1 1

((A) B) 0 1 0 0

(B) A 1 1 0 1

((B) A) 0 0 1 0

((A) B) ((B) A) 0 1 1 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 1 1 1 1 0 0 0 0

B 1 1 0 0 1 1 0 0

C 1 0 1 0 1 0 1 0

(A B) (( A) C) 0 0 1 1 1 1 1 1

(( A) + ( B)) + ( (A + ( C))) 0 0 1 1 1 1 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 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0

C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0

D 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

A (B (C D)) 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

(( A) + (( B) + (( C) + ( D)))) 1 0 0 0 0 0 0 0 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 1 1 1 1 0 0 0 0

B 1 1 0 0 1 1 0 0

C 1 0 1 0 1 0 1 0

(A B) (C) 1 1 0 1 1 1 1 1

((A (B)) C) 1 1 0 1 1 1 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 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0

B 1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0

C 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0

D 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0

(A) ((B C) (D)) 1 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1

(A ( (B C) D)) 1 1 1 1 1 1 1 1 0 1 0 1 0 1 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.

Vous aimerez peut-être aussi