Logica Algebra Boole M3

Embed Size (px)

Citation preview

  • Lgica y lgebrade BooleOperadores booleanos y tablas deverdad

    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 grfica 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. Definicin 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 especficas 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 final 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 significado concreto de las expre-

    siones y comprender el concepto de valor de significado.

    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 signific el fin 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 definen 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 definen 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, definida 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 significado 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 especficos para ser ms eficaz 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 definicin 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 definicin rigurosa de cmo se pueden interpretar las expresiones

    del lenguaje formal para asignarles valores de significado (lo ms habitual es

    asignarles uno de los dos valores verdadero o falso).

    Observad que la semntica de la lgica no se ocupa del significado 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 definir cules sern los valores lgicos de significa-

    do (en la lgica clsica son dos: verdadero y falso, pero hay otras lgicas

    que tienen otros valores, como la lgica fuzzy que tiene infinitos) 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 significado 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 significado

    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 nointeresa el significadoconcreto de una expresin,sino que solamente interesasu 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 Significado

    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

    definir 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 especifican 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 fila.

  • 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, porejemplo, la tabla del operador conjuncin: cuando A = 1 y B = 1 el valor de la expresincompleja A B = 1 (es la primera fila de la tabla); respectivamente, cuando A = 1 y B = 0 elvalor de la explesin compleja AB = 0 (es la segunda fila 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 dela conjuncin de ambas.

    Expresin compleja

    La tabla de verdad de unaexpresin compleja seconstruye a partir de lastablas de las subexpresionesque 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 definidos an-

    teriormente son los nicos. Y si no es as, hay ms operadores?

    Funciones lgicas

    En el contexto de lacomputacin los operadoresbooleanos reciben el nombrede 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 o1 o2 o3 o4

    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 (o3) es un operador significativo 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

    o1 constante 1

    o2 identidad

    o3 negacin NOT

    o4 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 o1 o2 o3 o4 o5 o6 o7 o8 o9 o10 o11 o12 o13 o14 o15 o16

    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 significante. 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 fila de la tabla ocho 1

    seguidos de ocho 0, en la segunda fila alternar cuatro 1 con cuatro 0, en la

    tercera fila alternar dos 1 con dos 0 y en la cuarta fila 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 significacin 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

    o8 conjuncin AND

    o2 disyuncin + OR

    o9 nand NAND

    o15 nor NOR

    o5 implicacin

    o7 equivalencia

    o10 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 elvalor de la expresin A B apartir del valor de lasexpresiones de A y de B, elvalor de A B a partirdel valor de lasexpresiones de A y de B y assucesivamente.

    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 significado 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 implicacinpuede ser verdadero aunqueel consecuente sea falso.

    Ejemplo de implicacin

    Si consideramos las expresiones A=[2 + 2 = 5] y B=[la Tierra es plana], ambos A y B sonfalsas (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] esverdadera (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 significado deloperador 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 definir 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 43 = 64 posibilidades, en el caso de los cua-

    ternarios 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 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 definir a partir de

    otros operadores binarios y unarios.

    o1 es la negacin de o16 ya que sus columnas de valores respectivas son con-

    trarias entre s. Igualmente, ocurre que los operadores del o9 al o15 son la nega-

    cin, 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 ope-

    radores binarios podemos quedarnos con los ocho primeros, ya que los otros

    ocho se pueden definir en funcin de stos y del operador unario negacin.

    Por otro lado, o4 y o6 son operadores proyeccin, esto es Ao4B = A y Ao6B = B,

    y el operador o1 es un operador constante; por tanto, tambin estos tres son

    superfluos.

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

    mos que o3 y o5 son inversos entre s (Ao3B = Bo5A) y que o7 se expresa en

    funcin de o5 y o8 (Ao7B = (Ao5B)o8(Bo5A)). Por tanto, con los tres operadores

    binarios disyuncin, implicacin y conjuncin (o2,o5 y o8, respectivamente)

    y el operador unario negacin es posible definir 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 definir los cuatro

    operadores unarios.

    Recordad

    Ao5B = A BAo7B = A BAo8B = A B

    .

    Llamaremos conjunto de operadores primitivos a cualquier conjunto

    de operadores binarios y unarios que permite definir 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 suficiente 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 suficiente para definir 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 verificamos 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 = 0Para 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 yA 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)) + CComo A + B = (A A) (B B) sustituimos + por (A) + (B) = ((A) (A)) ((B) (B))y entonces(A B) + C = (((A) (A)) ((B) (B))) + CSi llamamosX = (((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 delespacio fsico de este folio. Esta dificultad es un inconveniente habitual de la escriturade una expresin slo con el operador nand o el operador nor. En el apartado siguientese mostrar una manera ms eficaz de obtener (grficamente) la expresin con estosoperadores.

  • 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

    identificar 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 Ay B no pueden estar simultneamente en alta tensin, y que los cables C y D deben estarlos 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 ysaber si el dispositivo funciona correctamente.

    Las dos condiciones de funcionamiento exigidas en este ejemplo se pueden representarcon la expresin booleana:1) A y B no estn simultneamente en alta tensin: (A B) (observad que expreso queA est en alta tensin con A, entonces debo expresar que A est en baja tensin con elvalor 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 dosanteriores y se puede expresar: (A B) [(C D) + (C D)]

    Parntesis

    Obsrvese que utilizamos losparntesis para clarificar lasexpresiones, sin que aportenningn valor expresivonuevo.

    Para saber la correspondencia entre el valor de la seal de los cables cables A,B,C,D y dela expresin que representa el funcionamiento correcto, se construye la tabla de verdadde esta expresin.

    Para ello, a partir de los posibles valores de A,B,C,D, calculamos primero el valor de laexpresin A B y a partir de ste el de (A B). Por otro lado, se calcula sucesivamente elvalor de C D y C D y X = (C D) + (C D). Finalmente, a partir de la columnade (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 = 1y D = 1, mirando la fila correspondiente (fila cinco) de la tabla anterior sabr que eldispositivo est funcionando correctamente (Y = 1).

    2.2. Representacin grfica de circuitos lgicos

    En la figura 1 podis ver cmo se representan los operadores bsicos como

    puertas lgicas.

    Puerta lgica

    Es donde la seal de entradaproduce la seal de salida.

    Ejemplo de puertas lgicas

    En la figura 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 figura 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 figura 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 funcindel 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 figura 5, cmo se puede modelar esa expresinusando 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 o7 y o10 enla 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 codificar en cripto-

    grafa. Un mensaje codificado se crea con una operacin entre los datos y el

    cdigo. Si en la expresin:

    MensajeCodificado = Datos Cdigo

    Los datos se pueden recuperar usando el operador disyuncin exclusiva sobre

    MensajeCodificado ya que:

    MensajeCodificado 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 significa: 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. Definicin de lgebra de Boole

    La manipulacin de las expresiones booleanas, sus reglas y propiedades defi-

    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 identificar 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 significativos 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 definen 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 conslo 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

    definen 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 significativos 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 simplificar expresiones y operar entre expresio-

    nes conms facilidad. Pensad por unmomento 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 identifica 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 definir 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 significado 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 significado 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 definido 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 definido 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 definen

    tres operaciones que cumplen las mismas propiedades que los operadores boo-

    leanos de negacin, disyuncin y conjuncin. As definida, 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 = 1b) A = 0,B = 0,C = 1,D = 1c) A = 1,B = 1,C = 0,D = 0

    3. Construyendo las correponsientes tablas de valor o tablas de verdad, prueba que en elcaso de los operadores unarios de la lgica boleana, el operador negacin junto a uno delos operadores constantes (por ejemplo el constante 1 )permiten definir todos los operadoresunarios.

    4. Analiza el circuito lgico de la figura 6 y expresa algebraicamente en forma de suma yproductos 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 lalgica 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 definen 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)) = 1b) (A + B) (C + (D)) = 0c) (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 C1 Id C0

    1 1 1 0 0

    0 1 0 1 0

    Obsrvese que Id es la negacin de , y que C0 es la negacin de C1, esto es:IdA = A y C0A = C1A.Por tanto, los operadores y C1 definen 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 = XX 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) = 1X (X) = 0

    X X + (X) X (X)

    1 1 0

    0 1 0

    d) Absorcin

    X + (X Y) = XX (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 (figura 8).

    b) Lo representamos solo con NAND (figura 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 conjuncinA 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 queA B = (A) (B)

    c) Sabemos que el operador nor es la negacin del operador disyuncin y, por tanto, seexpresa 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 formaA 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) = BA; 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 funcinde y y tenemos:(A B) (B A) = ((A) (B)) ((B) (A))Finalmente, aplicando la propiedad de la doble negacin, eliminamos las dos negacionesseguidas y queda:A B = ((A) B) ((B) A)

    Para comprobar que el resultado es correcto, basta construir la tabla de verdad de las dosexpresiones 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))) tenemosque( (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

    conjuncinOperador booleano binario.

    disyuncinOperador booleano binario.

    funcin lgicaNombre de los operadores booleanos en el contexto de la computacin.

    implicacinOperador booleano binario.

    nandOperador booleano binario.

    negacinOperador booleano unario.

    norOperador booleano binario.

    operador binarioEl que opera sobre dos expresiones.

    operador booleanoEl que opera con dos valores de verdad.

    operadores primitivosConjunto de operadores que pueden definir todos los dems.

    puerta lgicaEn un circuito lgico, es la representacin de la conversin de la seal de entrada en la sealde salida.

    tabla de verdadAlgoritmo de clculo del valor de verdad de una expresin compleja a partir de las que lacomponen.

    valor de significado (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.