Cap´ıtulo 1 L´ogica y Algebras de...

38
Matemática Discreta. Área de Álgebra Universidade da Coruña Cap´ ıtulo 1 L´ogicay ´ Algebras de Boole Teniendo en cuenta que en el dise˜ no de sistemas digitales se hace un uso extensivo de la teor´ ıa de la l´ogica, comenzaremos este tema dando una breve introducci´onalal´ogica. En cualquier disciplina cient´ ıfica, se necesita distinguir entre argumen- tos v´alidos y no v´alidos. Para ello, se utilizan, a menudo sin saberlo, las reglas de la l´ogica. Algunas de ellas las estudiaremos aqu´ ı. En los temas sigu- ientes, utilizaremos estas t´ ecnicas en las demostraciones de los razonamientos matem´aticos e inform´aticos que nos vamos a encontrar. Con un n´ umero finito de palabras y de construcciones gramaticales, se pueden construir una infinidad de frases; de la misma forma, con un n´ umero finito de proposiciones y conectores l´ogicos, se pueden construir infinitos ra- zonamientos. La l´ogica de proposiciones tiene que elaborar m´ etodos lo sufi- cientemente potentes para tratar cualquiera de estos razonamientos. 1.1. Proposiciones y operadores l´ogicos Diremos que una proposici´ on o enunciado es una oraci´on enunciativa de la que puede decirse si es verdadera o falsa pero no ambas cosas a la vez; es decir, a la que le asignaremos uno y s´olo uno de los valores de verdad: verdadero (1) o falso (0), sin ambig¨ uedades. Ejemplo 1. Los siguientes enunciados son proposiciones: eneca fu´ e un fil´ osofo. (1) Arist´ oteles fue presidente de E.E.U.U.(0) El Deportivo gan´ o la ´ ultima liga de f´ utbol profesional. (0) 2+2=4 (1) 2+4=7 (0), Ejemplo 2. Los siguientes enunciados no son proposiciones: Ojal´ a llueva. 1

Transcript of Cap´ıtulo 1 L´ogica y Algebras de...

Page 1: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

Capıtulo 1

Logica y Algebras de Boole

Teniendo en cuenta que en el diseno de sistemas digitales se hace un usoextensivo de la teorıa de la logica, comenzaremos este tema dando una breveintroduccion a la logica.

En cualquier disciplina cientıfica, se necesita distinguir entre argumen-tos validos y no validos. Para ello, se utilizan, a menudo sin saberlo, lasreglas de la logica. Algunas de ellas las estudiaremos aquı. En los temas sigu-ientes, utilizaremos estas tecnicas en las demostraciones de los razonamientosmatematicos e informaticos que nos vamos a encontrar.

Con un numero finito de palabras y de construcciones gramaticales, sepueden construir una infinidad de frases; de la misma forma, con un numerofinito de proposiciones y conectores logicos, se pueden construir infinitos ra-zonamientos. La logica de proposiciones tiene que elaborar metodos lo sufi-cientemente potentes para tratar cualquiera de estos razonamientos.

1.1. Proposiciones y operadores logicos

Diremos que una proposicion o enunciado es una oracion enunciativa dela que puede decirse si es verdadera o falsa pero no ambas cosas a la vez;es decir, a la que le asignaremos uno y solo uno de los valores de verdad:verdadero (1) o falso (0), sin ambiguedades.

Ejemplo 1. Los siguientes enunciados son proposiciones:

Seneca fue un filosofo. (1)

Aristoteles fue presidente de E.E.U.U.(0)

El Deportivo gano la ultima liga de futbol profesional. (0)

2 + 2 = 4 (1)

2 + 4 = 7 (0),

Ejemplo 2. Los siguientes enunciados no son proposiciones:

Ojala llueva.

1

Page 2: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

2 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

x + 3 = 4

x = −x

Paradoja del barbero: En un pueblo, el barbero afeita a todos los hombresque no se afeitan a sı mismos (y unicamente a ellos)

El barbero se afeita a sı mismo.

El enunciado no puede ser verdadero ya que si el barbero se afeitase a sımismo, no formarıa parte del grupo de hombres que el afeita. Por otrolado, no puede ser falso ya que, en ese caso, el barbero no se afeitarıaa sı mismo y entonces deberıa ser afeitado por el barbero.

El calculo proposicional es el estudio de las relaciones logicas entre lasproposiciones. Su objetivo es, por una parte, estudiar la validez de argumentosy, por otro lado, la formalizacion de argumentos del lenguaje natural.

Sintaxis Las proposiciones anteriores suelen designarse con letras minus-culas p, q, r, etc y se denominan primitivas (simples) ya que no hay forma dedescomponerlas en otras mas simples. Para obtener nuevas proposiciones, lla-madas compuestas, se utilizan los conectivos u operadores logicos. Los valoresde verdad de las proposiciones resultantes dependeran de los valores de ver-dad de las proposiciones componentes. Nosotros utilizaremos, como sımbolos,{¬,∧,∨,→,↔}.

Negacion ¬p. Se lee “no p”; “no ocurre p”; “no es cierto p”.

p ¬p

0 11 0

Conjuncion p∧ q. Se lee “p y q”; “p sin embargo q”; “p no obstante q”.

p q p ∧ q

0 0 00 1 01 0 01 1 1

Disyuncion p ∨ q. Se lee “p o q”, “al menos p o q”; “como mınimo p oq” (inclusivo).

p q p ∨ q

0 0 00 1 11 0 11 1 1

Page 3: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.1. PROPOSICIONES Y OPERADORES LOGICOS 3

Condicional p → q. Se lee “Si p, entonces q”; “p es suficiente para q”;“q es necesario para p”; “q siempre que p”; “p solo si q”; “q si p”.

p q p → q

0 0 10 1 11 0 01 1 1

Bicondicional p ↔ q. Se lee “p, si, y solo si, q”; “p es necesario ysuficiente para q”.

p q p ↔ q

0 0 10 1 01 0 01 1 1

Hay que hacer notar que el sentido de los conectores no coincide exacta-mente con el sentido que tienen en el lenguaje natural (metalenguaje). Porejemplo, en logica, el y se interpreta de tal manera que las proposicionessiguientes son equivalentes:

Arturo se pone los calcetines y los zapatos.

Arturo se pone los zapatos y los calcetines.

En el metalenguaje, no es ası. La conjuncion “y” puede expresar una idea desucesion, con lo cual las frases no son equivalentes.

Comprender el significado del condicional es muy importante, y para ellodamos el siguiente ejemplo.

Ejemplo 3. Un polıtico X promete en campana electoral: “Si resulto elegidopresidente, bajara los impuestos”. Llamemos:

p : “El polıtico X es elegido presidente”

q : “Se bajan los impuestos”

La promesa del polıtico se simboliza p → q y se lee “Si p, entonces q”. Sepueden distinguir cuatro casos:

i) p y q son ambas verdaderas, es decir el candidato es elegido presidentey baja los impuestos. Se cumple la promesa y el valor de verdad de lacondicional es 1.

ii) p es verdadera (El polıtico X es elegido presidente) pero q es falsa (nobaja los impuestos). Entonces, la promesa se ha roto y el valor de verdadde p → q es 0.

Page 4: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

4 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

iii) p y q son ambas falsas (El polıtico X no resulta elegido y no se bajan losimpuestos). La promesa no se ha roto ya que, al no haber sido elegidopresidente, el candidato no tiene potestad para bajar los impuestos, porlo que el valor de verdad de p → q es 1.

iv) Finalmente, p es falsa (El candidato no resulta elegido) y q es verdadera(los impuestos bajan). Puede ser que el nuevo presidente esta de acuerdocon nuestro candidato en bajar los impuestos y lo haga al llegar al poder.Tampoco, en este caso, se rompe la promesa y el valor de verdad de lacondicional sigue siendo 1.

Ejemplo 4. Fijemonos en la diferencia entre el argumento anterior y elsiguiente: “El padre de Juan le dice a este: Te comprare un ordenador si,y solamente si, apruebas la Selectividad”. En este caso, lo simbolizarıamoscomo p ↔ q. Tambien, aqui hay cuatro posibilidades:

i) p y q son ambas verdaderas, es decir Juan aprueba la Selectividad ysu padre le compra el ordenador. Se cumple la promesa y el valor deverdad de la bicondicional es 1.

ii) p es verdadera (Juan aprueba la Selectividad) pero q es falsa (su padreno le compra el ordenador). Entonces, la promesa se ha roto y el valorde verdad de p ↔ q es 0.

iii) p y q son ambas falsas (Juan suspende la Selectividad y su padre nole compra el ordenador). La promesa no se ha roto ya que Juan no hacumplido su parte, por lo que el valor de verdad de p ↔ q es 1.

iv) Finalmente, p es falsa (Juan suspende) y q es verdadera (su padre lecompra el ordenador). Como el padre dejo claro que solamente se com-prarıa el ordenador si Juan aprobaba, el valor de verdad de p ↔ q es0.

Al conectar entre sı las proposiciones mediante los operadores logicos, seobtienen expresiones bien formadas (b.f.) Solo hay que tener en cuenta:

i) Las proposiciones primitivas son siempre expresiones b.f..

ii) Si P es una expresion b.f., ¬P tambien lo es.

iii) Si P y Q son expresiones b.f., tambien lo son P ∧Q, P ∨Q, P → Q yP ↔ Q.

iv) No hay mas reglas.

Para la correcta relacion entre las proposiciones y los conectivos en lasformulas bien formadas, hay que tener en cuenta que no deben aparecer conec-tivas adyacentes salvo la negacion 1.

1Ası, la proposicion p → ¬q serıa correcta mientras que p → ∧q no lo es.

Page 5: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.2. TABLAS DE VERDAD 5

Ademas, cuando hay mas de una conectiva en una formula, entenderemosque cada conectiva afecta a la letra proposicional inmediata o, al conjuntode proposiciones inmediatas encerradas entre parentesis. Se establece unajerarquıa de prioridades entre las conectivas. En el primer nivel se situa lanegacion, en el segundo nivel la conjuncion y la disyuncion y en ultimo nivel elcondicional y el bicondicional. La prioridad dentro del mismo nivel se indicacon parentesis. Si tenemos la proposicion compuesta

(¬p ∨ q) ∧ (r → t)

y la escribiesemos sin parentesis, tendrıamos:

¬p ∨ q ∧ r → t

que, segun los niveles de prioridad establecidos, podrıa equivaler a:

[¬p ∨ (q ∧ r)] → t o a [(¬p ∨ q) ∧ r] → t.

Sea P una proposicion compuesta y llamemos∑

al conjunto de susproposiciones primitivas componentes. Una regla φ que hace correspondera cada elemento de

∑un valor de verdad se denota por

∑φ

−→ {0, 1}

y se llama una interpretacion de P. Si P resulta ser verdadera, φ se denominamodelo y, si P es falsa, φ se denomina contraejemplo. Ası, si p y q son dosproposiciones primitivas, entonces φ(p) = 0 y φ(q) = 1 es un contraejemplopara p∧q y un modelo para p∨q. Sin embargo, φ(p) = φ(q) = 1 es un modelopara ambas.

Diremos que un conjunto {p1, p2, . . . , pn} de proposiciones es consistentesi la conjuncion de todas ellas p1 ∧ p2 ∧ . . . ∧ pn admite algun modelo.

Ejemplo 5. El conjunto {p → q, p ∧ q} es consistente ya que admiteun modelo (p y q verdaderas).

El conjunto {p → q, p∧¬q} es inconsistente ya que no admite ningunmodelo (El unico modelo de p ∧ ¬q es un contraejemplo de p → q).

1.2. Tablas de Verdad

El metodo de las tablas de verdad es mecanico, pero tedioso, y permitedecidir si una formula dada es valida. Una tabla de verdad para una proposi-cion compuesta construida a partir de proposiciones p, q, r, etc, es un metodoque proporciona los valores de verdad de la proposicion compuesta, a partirde los valores de verdad de p, q, r, etc. Para construirla se determinan losvalores de verdad de las subproposiciones desde las mas sencillas hasta lasmas complejas. Por ejemplo, la tabla de verdad de (p ∨ q) ∧ (p → ¬q) sera

Page 6: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

6 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

p q p ∨ q ¬q p → ¬q (p ∨ q) ∧ (p → ¬q)0 0 0 1 1 00 1 1 0 1 11 0 1 1 1 11 1 1 0 0 0

Cada fila de la tabla de verdad de una proposicion P es una inter-pretacion de P. Si P esta formada por n proposiciones primitivas, hay 2n

posibles interpretaciones de P y, en consecuencia 2n filas en la tabla de ver-dad de P. En el ejemplo anterior, la primera y la ultima fila se correspondencon contraejemplos y las otras dos son modelos.

Se pueden “simplificar” las tablas de verdad utilizando otra forma dedisponer las proposiciones. Para el ejemplo anterior, nos quedarıa:

p q p ∨ q (p ∨ q) ∧ (p → ¬q) p → ¬q ¬q

0 0 0 0 1 10 1 1 1 1 01 0 1 1 1 11 1 1 0 0 0

Paso 1 2 4 3 2

El valor de verdad de cada paso queda determinado por los valores deverdad de los pasos anteriores.

Cuando una proposicion compuesta es siempre verdadera, independiente-mente de los valores de verdad de sus proposiciones componentes, se denomi-na tautologıa y se denotara T0 o ⊤. Recıprocamente, cuando una proposicioncompuesta es siempre falsa, se denominara contradiccion y se denotara F0

o ⊥. Tambien podrıamos decir que, si cualquier interpretacion de P es unmodelo (resp. un contraejemplo), entonces P es una tautologıa (resp. unacontradiccion).

Ejemplo

i) p ∨ ¬p es una tautologıa.

p ¬p p ∨ ¬p

0 1 11 0 1

ii) p ∧ ¬p es una contradiccion.

p ¬p p ∧ ¬p

0 1 01 0 0

iii) ¬(p ∧ q) ↔ (¬p ∨ ¬q) es una tautologıa.

Page 7: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.3. IMPLICACIONES Y EQUIVALENCIAS LOGICAS 7

p q p ∧ q ¬(p ∧ q) ¬(p ∧ q) ↔ (¬p ∨ ¬q) ¬p ∨ ¬q ¬p ¬q

0 0 0 1 1 1 1 10 1 0 1 1 1 1 01 0 0 1 1 1 0 11 1 1 0 1 0 0 0

1.3. Implicaciones y Equivalencias logicas

Consideremos las dos afirmaciones siguientes:

El laboratorio esta bien distribuido y bien equipado.

El laboratorio esta bien equipado y bien distribuıdo.

Trivialmente, estas dos afirmaciones tienen siempre los mismos valores deverdad, y, por tanto, decimos que son logicamente equivalentes. Para hacermas precisa esta idea, traduzcamosla a la logica. Si P expresa la proposicion“el laboratorio esta bien distribuido”y Q expresa la proposicion“el laboratorioesta bien equipado”, entonces la primera de las dos afirmaciones se traduce enP∧Q, mientras que la segunda se traduce Q∧P . Mediante las tablas de verdadse puede comprobar que estas dos expresiones tienen los mismos valores deverdad para todas las asignaciones posibles; esto es, (Q ∧ P ) ↔ (P ∧ Q) esuna tautologıa.

Definicion 1. Dos proposiciones compuestas P y Q son logicamente equi-valentes, si tienen los mismos valores de verdad para cada interpretacion delos valores de verdad de sus proposiciones componentes. Esta situacion ladenotaremos:

P ⇐⇒ Q.

Ası pues, se tiene que P y Q son logicamente equivalentes si, y solo si,P ↔ Q es una tautologıa. La diferencia entre “ ⇐⇒ ” y “ ↔ ” es importanteya que, mientras P ⇐⇒ Q quiere decir que P ↔ Q es una tautologıa,cuando escribimos P ↔ Q simplemente estamos denotando una proposicioncompuesta.

Ejemplo La proposicion compuesta p ∧ q ↔ q no es una tautologıa, porlo que p ∧ q y q no son logicamente equivalentes.

p q p ∧ q ↔0 0 0 10 1 0 01 0 0 11 1 1 1

Definicion 2. Dadas dos proposiciones P y Q, se dice que P implica logi-camente Q, o que, de P se deduce Q, si P → Q es una tautologıa. Estasituacion la denotaremos

P =⇒ Q

y significa que, cuando P es verdadera, tambien Q es verdadera y que cuandoQ es falsa, P es falsa.

Page 8: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

8 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

Teorema 1. Las siguientes tablas recogen algunas equivalencias e implica-ciones logicas:

Principales equivalencias logicas

Leyes Conmutativasp ∨ q ⇐⇒ q ∨ p

p ∧ q ⇐⇒ q ∧ p

Leyes Asociativas(p ∨ q) ∨ r ⇐⇒ p ∨ (q ∨ r)(p ∧ q) ∧ r ⇐⇒ p ∧ (q ∧ r)

Leyes Distributivasp ∨ (q ∧ r) ⇐⇒ (p ∨ q) ∧ (p ∨ r)p ∧ (q ∨ r) ⇐⇒ (p ∧ q) ∨ (p ∧ r)

Ley de la doble negacion ¬¬p ⇐⇒ p

Leyes de Morgan¬(p ∨ q) ⇐⇒ (¬p ∧ ¬q)¬(p ∧ q) ⇐⇒ (¬p ∨ ¬q)

Leyes de dominacionp ∨ T0 ⇐⇒ T0

p ∧ F0 ⇐⇒ F0

Leyes de Identidadp ∧ T0 ⇐⇒ p

p ∨ F0 ⇐⇒ p

Leyes de la negacionp ∨ ¬p ⇐⇒ T0

p ∧ ¬p ⇐⇒ F0

Ley de la Contraposicion (p → q) ⇐⇒ (¬q → ¬p)

Leyes de la Implicacion(p → q) ⇐⇒ (¬p ∨ q)

(p → q) ⇐⇒ ¬(p ∧ ¬q)

Leyes de la Equivalencia(p ↔ q) ⇐⇒ [(p → q) ∧ (q → p)](p ↔ q) ⇐⇒ (p ∧ q) ∨ (¬p ∧ ¬q)

Leyes Idempotentesp ⇐⇒ (p ∧ p)p ⇐⇒ (p ∨ p)

Ley de la reduccion al absurdo (p → q) ⇐⇒ [(p ∧ ¬q) → F0]

Principales implicaciones logicas

Modus Ponens [(p → q) ∧ p] =⇒ q

Modus Tollens [(p → q) ∧ ¬q] =⇒ ¬p

Silogismo [(p → q) ∧ (q → r)] =⇒ (p → r)

Leyes de simplificacion(p ∧ q) =⇒ p

(p ∧ q) =⇒ q

Leyes de adicionp =⇒ (p ∨ q)q =⇒ (p ∨ q)

Silogismo disyuntivo((p ∨ q) ∧ ¬p) =⇒ q

((p ∨ q) ∧ ¬q) =⇒ p

Ley de casos [(p → q) ∧ (¬p → q)] =⇒ q

Ley de inconsistencia [p ∧ ¬p] =⇒ q

Page 9: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.4. TEOREMAS Y DEMOSTRACIONES 9

Las siguientes reglas de “substitucion” seran de gran utilidad. Sea P unaproposicion compuesta de la cual forma parte la proposicion Q

Si P es una tautologıa y cada aparicion de Q en P se substituye por unaproposicion Q∗, obtenemos una proposicion P∗ que resulta ser tambienuna tautologıa. Sabemos, por ejemplo que:

¬(p ∨ q) ↔ (¬p ∧ ¬q)

es una tautologıa. Si reemplazamos p por r ∨ s, obtenemos de nuevouna tautologıa:

¬((r ∨ s) ∨ q) ↔ (¬(r ∨ s) ∧ ¬q)

Si P es una proposicion arbitraria y se substituyen una o mas ocurren-cias de Q en P por una proposicion Q∗ logicamente equivalente a Q,obtendrıamos una proposicion P∗ logicamente equivalente a P. De estemodo, si consideramos P

¬(p ∨ q) → r

se tiene que P es logicamente equivalente a:

(¬p ∧ ¬q) → r

Ejemplo 6. Simplificar (p ∨ q) ∧ ¬(¬p ∧ q)

(p ∨ q) ∧ ¬(¬p ∧ q) ⇐⇒ Leyes de Morgan y Doble negacion(p ∨ q) ∧ (p ∨ ¬q) ⇐⇒ Leyes distributivasp ∨ (q ∧ ¬q) ⇐⇒ Contradiccionp ∨ F0 ⇐⇒ p

1.4. Teoremas y Demostraciones

Un Teorema es un enunciado (matematico) cuya veracidad se confirmapor medio de un argumento valido o demostracion.

Un teorema consiste siempre en algunas proposiciones H1, H2, · · · , Hn

llamadas hipotesis o premisas y una proposicion C llamada conclusion. Elargumento es valido siempre que

H1 ∧ H2 ∧ . . . ∧ Hn =⇒ C

o, lo que es lo mismo:

H1 ∧ H2 ∧ . . . ∧ Hn → C

es una tautologıa. Esta situacion se denota tambien

{H1, H2, . . . , Hn} =⇒ C

y diremos que de las premisas se puede deducir la conclusion. Precisamenteeste es el tipo mas natural de demostracion llamada demostracion directa. Enparticular, todas las implicaciones logicas ya vistas (modus ponens, modustollens, silogismo, etc) son ejemplos de argumentos validos.

Page 10: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

10 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

Ejemplo 7. Demostrar la implicacion logica “Modus ponens”, es decir

p ∧ (p → q) =⇒ q

p q p → q p ∧ (p → q) p ∧ (p → q) → q

0 0 1 0 10 1 1 0 11 0 0 0 11 1 1 1 1

Si llamamos P = p ∧ (p → q), es evidente que, de P se deduce q, ya quesiempre que P es verdadera, tambien lo es q y, cuando q es falsa, tambien esfalsa P.

Tambien son argumentos validos la regla de la conjuncion {p, q} =⇒ p∧q,la ley de contradiccion {¬p → F0} =⇒ p y la ley de demostracion por casos{p → r, q → r} =⇒ p ∨ q → r.

Ejemplo 8. Demostrar la implicacion

(p → r) ∧ (q → r) =⇒ p ∨ q → r

p q r p → r q → r p ∨ q → r

0 0 0 1 1 10 0 1 1 1 10 1 0 1 0 00 1 1 1 1 11 0 0 0 1 01 0 1 1 1 11 1 0 0 0 01 1 1 1 1 1

Observando la tabla anterior, podrıamos fijarnos unicamente en las filasuna, dos, cuatro, seis y ocho ya que el condicional solamente es falso si lapremisa es verdadera y la conclusion falsa. Por lo tanto, basta comprobaraquellas filas donde todas las hipotesis son verdaderas, es decir, todos losmodelos de las premisas (o hipotesis) han de ser modelos de la conclusion.

Una segunda opcion para realizar una demostracion directa es utilizaruna sucesion de proposiciones, que terminan con la conclusion C, y que seconsideran validas por alguna de las siguientes razones:

i) Es una de las hipotesis.

ii) Es una tautologıa conocida (equivalencia logica).

iii) Es logicamente equivalente a una proposicion anterior.

iv) Se deriva de alguna de las proposiciones anteriores por reglas de susti-tucion.

Page 11: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.4. TEOREMAS Y DEMOSTRACIONES 11

v) Se puede inferir de proposiciones anteriores mediante reglas de inferen-cia.

Las reglas de inferencia son tecnicas que nos ayudan en las demostra-ciones de los teoremas. Cada regla de inferencia tiene su origen en una im-plicacion logica.

Ejemplo 9. Demostrar el argumento

(p → r) ∧ (q → r) =⇒ p ∨ q → r

i) p → r ; hipotesis

ii) q → r ; hipotesis

iii) ¬p ∨ r ; equivalencia logica

iv) ¬q ∨ r ; equivalencia logica

v) (¬p ∨ r) ∧ (¬q ∨ r) ; regla de la conjuncion

vi) (¬p ∧ ¬q) ∨ r ; distributiva

vii) ¬(p ∨ q) ∨ r ; ley de Morgan

viii) p ∨ q → r; equivalencia logica.

Un tipo de demostracion indirecta es la contraposicion. Este tipo de de-mostracion esta basada en la tautologıa: (p → q) ↔ (¬q → ¬p), en nuestrocaso:

¬C =⇒ ¬(H1 ∧ H2 ∧ . . . ∧ Hn)

Ejemplo 10. Si a y b son numeros naturales y a + b ≥ 25, entonces a ≥ 13o b ≥ 13. Denotemos:

p : a ≥ 13

q : b ≥ 13

r : a + b ≥ 25

Queremos demostrar que r =⇒ p∨ q. Para ello veremos que ¬(p∨ q) =⇒ ¬r.Tengamos en cuenta que, por las leyes de Morgan

¬(p ∨ q) ⇐⇒ (¬p ∧ ¬q).

Ahora bien, si a ≤ 12 y b ≤ 12, entonces a + b ≤ 24, es decir, la proposicionr es falsa, entonces r =⇒ p ∨ q es verdadera.

Otro tipo de demostracion indirecta es la demostracion por contradicciono reduccion al absurdo, que consiste en probar

¬C ∧ H1 ∧ H2 ∧ . . . ∧ Hn =⇒ F0

Page 12: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

12 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

Ejemplo 11. Si mis calculos son correctos y pago la cuenta de la electricidad,me quedare sin dinero. Si no pago la cuenta de la electricidad, me cortaranla corriente. Como no me han cortado la corriente y sigo teniendo dinero,mis calculos no eran correctos.

p : “Mis calculos son correctos”

q : “Pago la cuenta de la electricidad”

r : “Me quedo sin dinero”

s : “Me cortan la corriente”

Se trata de probar que de {(p ∧ q) → r,¬q → s,¬r,¬s}, se deduce ¬p, o,equivalentemente, que

((p ∧ q) → r) ∧ (¬q → s) ∧ ¬r ∧ ¬s ∧ p =⇒ F0

Aplicando las equivalencias e implicaciones logicas (reglas de inferencia),tenemos que:

((p ∧ q) → r) ∧ (¬q → s) ∧ ¬r ∧ ¬s ∧ p =⇒((p ∧ q) → r) ∧ q ∧ ¬r ∧ p =⇒r ∧ ¬r ⇐⇒F0

Nota 1. Es interesante destacar que el teorema

{H1, H2, . . . , Hn} =⇒ C

es valido si, y solo si, el conjunto

{H1, H2, . . . , Hn,¬C}

es inconsistente.

1.5. Tablas o Arboles Semanticos

Precisamente el metodo de demostracion por contradiccion o reduccion alabsurdo nos permite utilizar las llamadas tablas semanticas2 para comprobarsi un argumento es o no valido. El metodo (descubierto en los anos cincuentapor Beth y Hintikka, independientemente uno del otro) permite saber siuna proposicion es una contradiccion. Para ello, se construye un arbol dondelos nodos (finitos) son las proposiciones, el conectivo ∧ se representa por unarista vertical,

p ∧ q

p

q

2Quizas serıa mas adecuado el nombre de arbol semantico.

Page 13: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.5. TABLAS O ARBOLES SEMANTICOS 13

y el conectivo ∨ por un par de aristas en la forma

p ∨ q

zzzzz

zzz

DDDDDDDD

p q

El resto de los conectivos se traducen a esa forma. Ası, el condicionalp → q se representa como

p → q

vvvv

vvvv

v

FFFF

FFFF

F

¬p q

ya que p → q ⇐⇒ ¬p ∨ q

Por otro lado, como

p ↔ q ⇐⇒ (¬p ∨ q) ∧ (¬q ∨ p)⇐⇒ (¬p ∧ ¬q) ∨ (¬p ∧ p) ∨ (q ∧ ¬q) ∨ (q ∧ p)⇐⇒ (¬p ∧ ¬q) ∨ (p ∧ q)

la bicondicional se representara

p ↔ q

xxxx

xxxx

x

HHHH

HHHH

H

p ¬p

q ¬q

En este metodo, se van descomponiendo, por turno, cada proposicioncompuesta, de acuerdo con las reglas anteriores, marcando dicha proposicioncomo ya utilizada. Conviene descomponer primero los bicondicionales y susnegaciones antes que otras conectivas que creen ramas. Si en una sucesionde nodos del arbol (camino), aparece una proposicion y su negacion, se diceque es un camino cerrado y se marca con ∗ el nodo final. Si al final delproceso todos los caminos se cierran, la proposicion es una contradiccion; encaso contrario, cada camino abierto es un modelo de la proposicion inicial.Ası pues, si queremos demostrar o refutar un argumento del tipo H =⇒ C

calculamos la tabla semantica de H ∧ ¬C. Si al finalizar todos los caminosse cierran, tenemos que H ∧¬C es una contradiccion, es decir, el argumentoH =⇒ C es valido. Por el contrario, la existencia de una rama abierta nosllevara a concluir que el argumento no es valido. Del mismo modo, si tenemosun sistema de proposiciones {p1, p2, . . . , pn}, sabremos que es consistente, sial construir la tabla semantica de p1 ∧ p2 ∧ . . .∧ pn, nos queda algun caminoabierto que representara un modelo para dicho sistema.

Page 14: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

14 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

Ejemplo 12. i) Demostrar el “modus tollens”: ((p → q) ∧ ¬q) =⇒ ¬p

(p → q) ∧ ¬q) ∧ p

¬q

p

mmmmmmmmmmmmmmm

PPPPPPPPPPPPPPP

¬p∗ q∗

ii) Demostrar o refutar {p ∨ q} =⇒ p

p ∨ q

wwwwwwwww

FFFF

FFFF

F

p q

¬p∗ ¬p

En este ejemplo vemos que {¬p, q} es un contraejemplo ya que si p esfalsa y q verdadera, p ∨ q es verdadera y (p ∨ q) → p es falsa.

iii) Si hay probabilidad de lluvia o hace viento, Manuel no cortara el cesped.Siempre que no hay nubes en el cielo, no hay probabilidad de que llueva.Hoy no hace viento y no hay nubes en cielo. Entonces, Manuel cortarael cesped.

Llamemos:

p: “Hay probabilidad de lluvia”

q: “Hace viento”

n: “Hay nubes en el cielo”

c: “Manuel cortara el cesped”

Se trata de ver si, de las hipotesis:

{((p ∨ q) → ¬c),¬n → ¬p,¬q,¬n}

se puede deducir c. Al desarrollar la tabla, se comprueba que

{¬p,¬q,¬n,¬c}

es un contraejemplo, ya que aunque no llueva y no haga viento, nadienos permite asegurar que Manuel vaya a cortar el cesped.

Las principales ventajas de las tablas semanticas respecto a las tablas deverdad son:

Page 15: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.6. CUANTIFICADORES 15

i) Es menos costoso de aplicar.

ii) Es una buena base para programar demostradores automaticos.

iii) Puede extenderse a otras logicas mas potentes que la logica de proposi-ciones, para las cuales el metodo de las tablas de verdad deja de tenersentido.

iv) En el caso de que el argumento no sea valido las tablas semanticas nosmuestran explicitamente un contraejemplo.

1.6. Cuantificadores

Desde el comienzo del tema sabemos que un enunciado del tipo “x + 2es un numero par” no es una proposicion, ya que, si x = 1, entonces elenunciado es falso y, si x = 2, el enunciado es verdadero. Este serıa unejemplo de proposicion abierta, cuyo valor de verdad o falsedad dependedel valor que tome una (o varias variables) que recorren un cierto conjuntollamado dominio.

Por otro lado, el calculo proposicional no permite trabajar con una in-finidad de proposiciones. Por ejemplo, si denotamos la proposicion anterior

p(x) : “(x + 2) es un numero par”

y, queremos expresar que p(x) es cierta cuando x es un entero par, dirıamosque:

p(2) ∧ p(4) ∧ . . .

es cierta; si lo que queremos es significar que una proposicion p(x) es ciertapara algun valor natural de x, dirıamos que:

p(1) ∨ p(2) ∨ . . .

es cierta.Para solucionar este problema, se utilizan los cuantificadores. Supongamos

que p(x) es una proposicion si la variable x pertenece a un determinadoconjunto U llamado dominio. El cuantificador universal “∀” se utiliza paraconstruir proposiciones del tipo

∀x p(x)

que se leen “para todo x, p(x)”, o bien, “para cada”, o bien, “paracualquier”. Este tipo de proposicion es verdadera cuando p(x) es ver-dadera para cualquier valor x de U . Es falsa, si para algun valor de U ,p(x) es falsa. Por ejemplo: “Todos los alumnos de I.I. tienen mas de 16anos” es una proposicion verdadera. “Todos los alumnos de I.I. de laUniversidad de A Coruna nacieron en A Coruna” es una proposicionfalsa.

Page 16: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

16 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

∀x ¬p(x)

que se lee “para todo (cada o cualquiera) x, no se verifica p(x)”. Seraverdadera cuando p(x) sea falsa para todos los valores x de U . Serafalsa cuando se verifique p(x), para algun valor x de U .

El cuantificador existencial “∃” se utiliza para proposiciones del tipo:

∃x p(x)

que se leen “existe x que verifica p(x)”. Es verdadera cuando p(x) esverdadera para, al menos, un valor x de U . Es falsa cuando, para todovalor x de U , la proposicion p(x) es falsa. “Existe un entero x quesumado con 1 nos da 0” es verdadero. “Existe un entero x que sumadocon 1 nos da x” es un argumento falso.

∃x ¬p(x)

que se lee “existe un x tal que no se verifica p(x)”. Es verdadero cuandop(x) es falsa para algun valor x y es falsa cuando todos los valores dex hacen que p(x) sea verdadera.

Las leyes de Morgan generalizadas son ciertas cualquiera que sea eluniverso del discurso y cualquiera que sea el valor de las proposiciones. Estasson:

i) ¬[∀x p(x)] ⇐⇒ ∃x[¬p(x)]

ii) ¬[∃x p(x)] ⇐⇒ ∀x[¬p(x)]

iii) ¬∃x [¬p(x)] ⇐⇒ ∀x p(x)

iv) ¬∀x[¬p(x)] ⇐⇒ ∃x p(x)

Ejemplo 13. Epimenides de Cnosos (siglo V. a. de C.) decıa “Todos loscretenses son mentirosos y yo soy cretense, luego miento”. Alguien, a lavista de ello, razona como sigue.

Si Epimenides mintio en lo que dijo, entonces los cretens-

es no eran mentirosos, luego Epimenides, por ser cretense,

no mintio en lo que dijo. Se llega pues a una contradic-

cion.

¿Es el razonamiento anterior correcto?

No, ya que la negacion de “ Todos los cretenses son men-

tirosos” es que algun cretense no miente, pero no que

todos sean no mentirosos.

Page 17: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.7. ALGEBRAS DE BOOLE 17

Ejemplo 14. Escribir la negacion de la siguiente proposicion cuantificada:

∀x ∈ A, ∃y ∈ B, ∃z ∈ C, ∀t ∈ B p(x, y, z, t).

Aplicando las reglas anteriores, tenemos:

¬[∀x ∈ A, ∃y ∈ B, ∃z ∈ C, ∀t ∈ B p(x, y, z, t)]

⇐⇒ ∃x ∈ A ¬[∃y ∈ B, ∃z ∈ C, ∀t ∈ B p(x, y, z, t)]

⇐⇒ ∃x ∈ A, ∀y ∈ B ¬[∃z ∈ C, ∀t ∈ B p(x, y, z, t)]

⇐⇒ ∃x ∈ A, ∀y ∈ B, ∀z ∈ C ¬[∀t ∈ B p(x, y, z, t)]

⇐⇒ ∃x ∈ A, ∀y ∈ B, ∀z ∈ C, ∃t ∈ B ¬p(x, y, z, t)

1.7. Algebras de Boole

En la teorıa matematica de las Algebras de Boole se formalizan las propiedadesmatematicas de las funciones logicas. Los valores de verdad (0 y 1) son lasdos unicas posibilidades que hay para el objeto mas pequeno e indivisible enuna computadora digital: el bit. En ultima instancia, todos los programas ydatos se pueden reducir a combinaciones de bits. Los circuitos electronicospermiten que los dispositivos de almacenamiento de bits de las computado-ras digitales se comuniquen entre sı. Los elementos basicos de estos circuitosse llaman puertas logicas y cada tipo de puerta implementa una operacionbooleana.

Los circuitos digitales mas sencillos se llaman circuitos combinacionales.

Definicion 3. Un Algebra de Boole es un conjunto A = {a, b, c, . . .} con tresoperaciones definidas en el: suma +, producto · y complemento o inversion; de modo que se cumplen los siguientes axiomas:

A1: A es cerrado para las tres operaciones:

∀a, b ∈ A se tiene que a + b ∈ A, a · b ∈ A, a ∈ A

A2: Existen dos elementos distinguidos 0 y 1 en A tales que:

∀a ∈ A, a + 0 = a y ∀a ∈ A, a · 1 = a

A3: Todo elemento a ∈ A tiene un complemento a ∈ A tal que

a + a = 1 a · a = 0

A4: Las operaciones suma y producto son conmutativas:

∀a, b ∈ A, a + b = b + a, a · b = b · a

A5: Las operaciones suma y producto son asociativas:

Page 18: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

18 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

∀a, b, c ∈ A, a + (b + c) = (a + b) + c, a · (b · c) = (a · b) · c

A6: Las operacion suma es distributiva respecto al producto, y viceversa:

∀a, b, c ∈ A,a + (b · c) = (a + b) · (a + c), a · (b + c) = (a · b) + (a · c)

La estructura (A, +, ·, ) se llama un Algebra de Boole.

El Algebra de Boole mas sencilla es aquella formada por los elementos{0, 1} con las operaciones dadas por los operadores logicos ∧, ∨ y ¬ definidosanteriormente.

Una propiedad importante de un Algebra de Boole es el principio deDualidad. Este principio establece que las expresiones algebraicas deducidasa partir de un Algebra de Boole permanecen validas si se intercambian losoperadores (+ por ·) y los elementos distinguidos (0 por 1).

Otras propiedades de un Algebra de Boole se recogen en el siguienteresultado:

Proposicion 1. Sea (A, +, ·, ) un Algebra de Boole. Para cualesquieraa, b ∈ A se verifica:

i) Leyes de Idempotencia: a + a = a y a · a = a

ii) Leyes de Acotacion: a + 1 = 1 y a · 0 = 0

iii) Leyes de Absorcion: a + a · b = a y a · (a + b) = a

iv) Leyes de Morgan: a + b = a · b y a · b = a + b

v) El elemento a de a ∈ A es unico. Si existe b ∈ A tal que a + b = 1 ya · b = 0 entonces b = a.

vi) Involucion: (a) = a

vii) a + a · b = a + b y a · (a + b) = a · b.

a = a · 1 = a(a + a) = a · a + a · a = a · a + 0 = a · a

a = a + 0 = a + a · a = (a + a) · (a + a) = (a + a) · 1 = a + a

a + ab = (a + a)(a + b) = 1 · (a + b) = a + b

Las propiedades recogidas en la proposicion anterior son las equivalentesa las ya estudiadas en logica proposicional, basta con tener en cuenta lasiguiente tabla de equivalencias:

Boole Logica+ ∨· ∧

¬0 F0

1 T0

Page 19: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.8. FUNCIONES DE BOOLE 19

En la siguiente tabla se presenta la interpretacion fısica de algunas de laspropiedades del Algebra de Boole.

a

b

c

a

a

b

ca b c a b a c( + ) = +

b c

a

b c

a a

a + b c a + b a + c= ( )) (

a

aa b

a + ab a=

a

a

a + a0 =

a aa a· 1 =

a

a + 1 = 1

aa · 0 = 0

a

aa + a a=a

a a aa a a· =

1.8. Funciones de Boole

Definicion 4. Dada un algebra de Boole binaria ({0, 1}, +, ·, ), llamaremosvariables booleanas a unos sımbolos x1, y1, z1, x2, y2, z2, . . . , que representana los elementos del conjunto {0, 1}.

Partiendo del alfabeto formado por el conjunto de variables booleanas ylos sımbolos +, · y , podemos definir un lenguaje que se corresponde con ellenguaje de la logica de proposiciones cambiando las conectivas ∨, ∧ y ¬, porlos sımbolos +, · y , respectivamente.

Page 20: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

20 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

Las expresiones booleanas en los sımbolos x1, . . . , xn se definen de manerarecursiva como sigue3:

0, 1, x1, x2,. . . , xn (variables)

son expresiones booleanas. Si E1 y E2 son expresiones booleanas, entonces

a) E1 b) E1 + E2 c) E1 · E2

son, tambien, expresiones booleanas. En una expresion booleana en la que

no se usan parentesis para especificar el orden de las operaciones se suponeel siguiente orden:

1.¯ 2. · 3. +

Definicion 5. Una funcion f de n variables sobre un algebra de Boole A esuna aplicacion

f :

n︷ ︸︸ ︷

A × A × · · · × A → A

Si A = {0, 1} son 2n las posibles combinaciones de entrada (xn−1, . . . , x1, x0)donde xi ∈ {0, 1}.

Una funcion de Boole puede definirse mediante expresiones del algebrade Boole o bien dando su tabla de valores.

Ejemplo 15. f(a, b, c) = a + abc

f(0, 0, 0) = 1 + 1 · 0 · 1 = 1

f(0, 0, 1) = 1 + 1 · 0 · 0 = 1

f(0, 1, 0) = 1 + 1 · 1 · 1 = 1

f(0, 1, 1) = 1 + 1 · 1 · 0 = 1

f(1, 0, 0) = 0 + 0 · 0 · 1 = 0

f(1, 0, 1) = 0 + 0 · 0 · 0 = 0

f(1, 1, 0) = 0 + 0 · 1 · 1 = 0

f(1, 1, 1) = 0 + 0 · 1 · 0 = 0

a b c f

0 0 0 10 0 1 10 1 0 10 1 1 11 0 0 01 0 1 01 1 0 01 1 1 0

Dos funciones se dicen iguales si sus tablas de valores son iguales. Porejemplo, la funcion anterior f es igual a la funcion g(a, b, c) = a. A estaconclusion se puede llegar simplificando la expresion que define f aplicandopropiedades del algebra de Boole: f(a, b, c) = a + abc = a(1 + bc) = a.

Ejemplo 16. Sean f1(a, b, c) = a + b · c y f2(a, b, c) = a · b + (a + b) · c dosfunciones booleanas. En la siguiente tabla se recogen sus correspondientesfunciones complementarias, su suma y su producto:

3De modo analogo a como se definen que las expresiones bien formadas en logicaproposicional

Page 21: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.8. FUNCIONES DE BOOLE 21

a b c f1 f2 f1 f2 f1 + f2 f1 · f20 0 0 0 0 1 1 0 00 0 1 0 0 1 1 0 00 1 0 0 0 1 1 0 00 1 1 1 1 0 0 1 11 0 0 1 0 0 1 1 01 0 1 1 1 0 0 1 11 1 0 1 1 0 0 1 11 1 1 1 1 0 0 1 1

Definicion 6.

• Un literal es una variable booleana (x) o una variable booleana com-plemento (x).

• Un minterm en las variables booleanas x1, x2, . . . , xn es un productobooleano y1 ·y2 · · · · ·yn, donde yi = xi o yi = xi. Por tanto, un mintermes un producto de n literales con un literal por cada variable.

Para funciones de tres variables serıan minterms: x1x2x3, x1x2x3, x1x2x3.Y no serıan minterms: x1x2, x1x1x2x3.

Los minterms se denotan de forma simplificada tomando un 1 por cadavariable sin negar y 0 por cada variable negada. Los posibles minterms parafunciones de dos y tres variables son, respectivamente, los siguientes:

Minterm Variables Notacionx1x2 00 0x1x2 01 1x1x2 10 2x1x2 11 3

Minterm Variables Notacionx1x2x3 000 0x1x2x3 001 1x1x2x3 010 2x1x2x3 011 3x1x2x3 100 4x1x2x3 101 5x1x2x3 110 6x1x2x3 111 7

Definicion 7. Un maxterm en las variables booleanas x1, x2, . . . , xn esuna suma booleana y1 + y2 + . . . + yn, donde yi = xi o yi = xi. Por tanto, unmaxterm es una suma de n literales con un literal por cada variable.

Para funciones de tres variables serıan maxterms: x1+x2+x3, x1+x2+x3,x1 + x2 + x3. Y no serıan maxterms: x1 + x2, x1 + x1 + x2 + x3.

Los maxterms se denotan de forma simplificada tomando un 0 por cadavariable sin negar y un 1 por cada variable negada. Los posibles maxtermspara funciones de dos y tres variables son, respectivamente, los siguientes:

Page 22: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

22 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

Maxterm Variables Notacion

x1 + x2 11 3x1 + x2 10 2x1 + x2 01 1x1 + x2 00 0

Maxterm Variables Notacion

x1 + x2 + x3 111 7x1 + x2 + x3 110 6x1 + x2 + x3 101 5x1 + x2 + x3 100 4x1 + x2 + x3 011 3x1 + x2 + x3 010 2x1 + x2 + x3 001 1x1 + x2 + x3 000 0

A continuacion enunciamos un teorema muy importante relacionado conlos maxterms y minterms:

Teorema 2. (Teorema de expansion de Shannon) Cualquier funcionbinaria puede expresarse en forma de suma de minterms o en forma de pro-ducto de maxterms. Estas expresiones, que son unicas, reciben el nombre derepresentaciones canonicas de la funcion.

Demostracion: Para expresar una funcion cualquiera f (xn, xn−1, . . . , x1)en forma de suma de minterms, podemos poner la funcion de la siguiente for-ma:

f (xn, xn−1, . . . , x1) = x1f (xn, xn−1, . . . , x2, 0) + x1f (xn, xn−1, . . . , x2, 1)

Esta expresion se verifica para los dos valores posibles de x1. Si x1 = 0quedara:

f (xn, xn−1, . . . , x1) = 1 · f (xn, xn−1, . . . , x2, 0) + 0 · f (xn, xn−1, . . . , x2, 1),

y si x1 = 1 tendremos:

f (xn, xn−1, . . . , x1) = 0 · f (xn, xn−1, . . . , x2, 0) + 1 · f (xn, xn−1, . . . , x2, 1),

Repitiendo el proceso para x2:

f (xn, xn−1, . . . , x2, x1) = x2x1f (xn, xn−1, . . . , x3, 0, 0) + x2x1f (xn, xn−1, . . . , x3, 0, 1)

+ x2x1f (xn, xn−1, . . . , x3, 1, 0) + x2x1f (xn, xn−1, . . . , x3, 1, 1)

y repitiendo el proceso para las n variables:

f (xn, xn−1, . . . , x2, x1) = xn · · · x2x1f (0, 0, . . . , 0, 0) + xn · · · x2x1f (0, . . . , 0, 1)

+ xn · · · x2x1f (0, . . . , 1, 0) + xn · · · x2x1f (0, . . . , 0, 1, 1)

+ · · · + xn · · · x2x1f(1, . . . , 0, 0) + xn · · · x2x1f(1, . . . , 0, 1)

xn · · · x2x1f(1, . . . , 1, 0) + xn · · · x2x1f(1, . . . , 1, 1)

Por tanto, en la expresion de la funcion van a aparecer aquellos mintermsque representan combinaciones de entradas para las cuales la funcion vale 1,los demas desaparecen. �

De forma similar se harıa la demostracion para expresar una funcion enforma de producto de maxterms. En este caso aparecen aquellos maxterms

Page 23: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.8. FUNCIONES DE BOOLE 23

que representan combinaciones de entrada para los cuales la funcion vale 0,los demas maxterms desaparecen.

Consideremos ahora la siguiente tabla donde se recogen los valores corres-pondientes a dos funciones booleanas F (x, y, z) y G(x, y, z)

x y z F G0 0 0 0 1 01 0 0 1 0 12 0 1 0 1 13 0 1 1 1 04 1 0 0 0 05 1 0 1 1 06 1 1 0 0 17 1 1 1 0 1

Para cada una de las funciones, podemos construir una expresion booleanacon este conjunto de valores prefijado sin mas que realizar la suma booleanade distintos minterms:

F (x, y, z) = xyz + xyz + xyz + xyz =∑

m(0, 2, 3, 5)

G(x, y, z) = xyz + xyz + xyz + xyz =∑

m(1, 2, 6, 7)

A la suma de minterms que representa la funcion se le llama formanormal disyuntiva de la funcion booleana.

Tambien podemos construir una expresion booleana del conjunto de va-lores anterior realizando el producto booleano de distintos maxterms:

F (x, y, z) = (x + y + z) (x + y + z) (x + y + z) (x + y + z) =∏

M(1, 4, 6, 7)

G(x, y, z) = (x + y + z) (x + y + z) (x + y + z) (x + y + z) =∏

M(0, 3, 4, 5)

Al producto de maxterms que representa la funcion se le llama formanormal conjuntiva de la funcion booleana. Este desarrollo se puede obtener,tambien, a partir de la forma normal disyuntiva tomando el dual.

Tambien, dada una funcion booleana, podemos calcular su forma normaldisyuntiva, sin mas que aplicar propiedades del algebra de Boole. Calculemos,por ejemplo, la forma normal disyuntiva de la funcion F (x, y, z) = (x + y)z

F (x, y, z) = (x + y)z = xz + yz Prop. distributiva

= x1z + y1z Prop. de identidad

= x(y + y)z + y(x + x)z Existencia de inverso

= xyz + xyz + xyz + xyz Distributiva, Conmutativa

= xyz + xyz + xyz Prop. de idempotencia

En la tabla F (x, y, z) = m(2, 4, 6) se corresponde con las filas tercera,quinta y septima

Page 24: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

24 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

x y z F0 0 0 0 00 0 1 0 10 1 0 1 20 1 1 0 31 0 0 1 41 0 1 0 51 1 0 1 61 1 1 0 7

Luego, el teorema de expansion de Shannon demuestra que existe unarelacion sencilla entre la tabla de verdad de una funcion logica de Boole y surepresentacion canonica:

Forma normal Metodo de obtencion Convenio

Disyuntiva Suma de productos de variables cuyas

combinaciones hacen 1 la funcion

0 variable negada

1 variable sin negar

Conjuntiva Producto de sumas de variables cuyas

combinaciones hacen 0 la funcion

0 variable sin negar

1 variable negada

Tabla 1

Vamos a expresar en forma de suma de minterms y en forma de productode maxterms la siguiente funcion f :

a b c f Minterm Maxterm0 0 0 0 0 a + b + c

1 0 0 1 0 a + b + c

2 0 1 0 1 abc

3 0 1 1 0 a + b + c

4 1 0 0 0 a + b + c

5 1 0 1 1 abc

6 1 1 0 0 a + b + c

7 1 1 1 1 abc

Las representaciones canonicas son, por tanto:

f(a, b, c) =∑

m(2, 5, 7) = abc + abc + abc

f(a, b, c) =∏

M(0, 1, 3, 4, 6)

= (a + b + c)(a + b + c)(a + b + c)(a + b + c)(a + b + c)

1.9. Puertas logicas basicas

Estos dispositivos de estado solido, son los bloques elementales para laconstruccion de circuitos logicos y son capaces de cambiar los niveles devoltaje (bits). El nombre de puertas responde al hecho de que pueden tener

Page 25: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.9. PUERTAS LOGICAS BASICAS 25

una o varias entradas pero una sola salida, y esta salida puede tomar el valorlogico 0 o 1, dependiendo de los valores logicos que tengan las entradas.

Comenzaremos por analizar las tres puertas basicas: and (y), or (o)y not (no). Su funcion se corresponde exactamente con la que, simbolica-mente, realizan los operadores logicos ∧, ∨ y ¬, respectivamente, en logicade proposiciones.

Si representamos por x1 y x2 las entradas de la puerta and, donde x1 yx2 son bits, la salida que produce se denota por x1 ∧ x2, donde:

x1 ∧ x2 =

{1 si x1 = 1 y x2 = 10 en otro caso

x1

2x x1 2x

Figura 1. Puerta and

Una puerta or recibe entradas x1 y x2, donde x1 y x2 son bits, y produceuna salida denotada por x1 ∨ x2, donde

x1 ∨ x2 =

{1 si x1 = 1 o x2 = 10 en otro caso

x1

2x x1 2x

Figura 2. Puerta or

Una puerta not (o inversor) recibe una entrada x, donde x es un bit, yproduce una salida denotada por x, donde

x =

{1 si x = 00 si x = 1

xx

Figura 3. Puerta not

La tabla logica de un circuito combinatorio lista todas las entradasposibles junto con las salidas producidas. Las tablas logicas correspondientesa los circuitos and, or y not basicos (Figuras 1, 2 y 3, respectivamente)son:

x1 x2 x1 ∧ x2

0 0 00 1 01 1 11 0 0

x1 x2 x1 ∧ x2

0 0 00 1 11 1 11 0 1

x x0 11 0

Obviamente, son las tablas de verdad de los operadores logicos a los quecorresponden.

Las puertas or y and pueden tener mas de dos entradas pues las opera-ciones que realizan son, formalmente, las mismas operaciones conocidas delalgebra de Boole, y, por tanto, tienen las mismas propiedades, y, concreta-mente, la propiedad asociativa. Esto nos permite decir, por ejemplo, que lafuncion de una puerta and de tres entradas, es la misma del cirucito formadopor dos puertas and de dos entradas conectadas segun indica la figura:

Page 26: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

26 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

x1

2x

3x

x1

2x

3x

x1 2x 3xx1 2x 3x( )

Las puertas se pueden interconectar para obtener circuitos combinatoriosmas amplios. La salida de una puerta cualquiera puede servir de entrada auna o varias puertas, pero nunca pueden conectarse juntas dos o mas salidas.Como existe una correspondencia biunıvoca entre las operaciones que real-izan las puertas y los operadores del algebra de Boole, si representamos porvariables (xi, yi, etc.) los valores logicos de las entradas del circuito, podremosescribir una formula para representar cada salida, en la que intervendran esasvariables y los sımbolos “ ¯ ”, “+” y “·”. Recıprocamente, se puede construirel circuito combinacional correspondiente a una funcion booleana, para ellose va dibujando el circuito en el orden en el que se realizan las operaciones.

Ejemplo 17. La funcion booleana

F (x1, x2, x3) = (x1 · x2) + x3

se corresponde con el circuito logico siguiente:

x1

2x

3x y

Los operadores logicos condicional (→) y bicondicional (↔) estudiados enel tema anterior, tambien se pueden implementar utilizando circuitos combi-nacionales. El circuito

x1

2x

con salida ¬x1 ∨ x2, se corresponde con el operador logico condicional (x1 →x2).

En el caso del operador logico bicondicional

x1 ↔ x2 ⇔ (x1 → x2) ∧ (x2 → x1) ⇔ (x1 ∧ x2) ∨ (¬x1 ∧ ¬x2)

se puede reprentar por

x1

2x o bien por

x1

2x

A continuacion se dibujan algunos circuitos logicos, cada uno con la fun-cion que describe su comportamiento:

La funcion F (x, y, z) = xy+xz + xyz+ xzy se corresponde con el circuito

Page 27: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.9. PUERTAS LOGICAS BASICAS 27

x y z

La funcion F (x, y, z, t) = x(y + z)t se corresponde con el circuito

xyzt

Por ultimo, la funcion F (x, y, z, t) = xyzt + xzt + z se corresponde con elcircuito

x y z t

Definicion 8. Aquellas combinaciones de entradas para las cuales no nosinteresa el valor que pueda tomar la salida se llaman indiferencias y sedice que las funciones que incluyen indiferencias estan incompletamenteespecificadas.

Esto ocurre en algunas ocasiones cuando el circuito que se disena formaparte de un sistema mayor en el que ciertas entradas se producen solo encircunstancias tales que la salida del circuito no influira en el sistema general.Siempre que la salida no tenga ningun efecto, es evidente que no importa sila salida es un 0 o un 1. Otra posibilidad es que ciertas combinaciones deentrada no ocurran jamas debido a varias restricciones externas. El circuitorespondera de alguna forma a cualquier entrada, pero como esas entradas nose produciran nunca no importa si el circuito final responde con una salidade 0 o 1.

Las indiferencias se indican en la tabla de verdad anotanto un “�”comovalor funcional, en vez de un 0 o un 1. Este sımbolo “�”no es estandar ytambien son utilizados otros como “∅”, “d ”y “X ”.

Supongamos por ejemplo, que queremos construir un sistema que pro-duzca como salida el cuadrado de los numeros del 0 al 4. Necesitaremos tresbits como entradas para representar del o al 4 y cinco bits de salida pararepresentar el mayor valor que es 42 = 16. La tabla de verdad de este sistemaes la siguiente:

Page 28: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

28 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

a b c f4 f3 f2 f1 f0

0 0 0 0 0 0 0 00 0 1 0 0 0 0 10 1 0 0 0 1 0 00 1 1 0 1 0 0 11 0 0 1 0 0 0 01 0 1 � � � � �

1 1 0 � � � � �

1 1 1 � � � � �

Las representaciones canonicas para estas funciones serıan, en notacion sim-plificada (en este caso las indiferencias las indicamos con “d” o “D” como untermina a parte de los minterms o maxterms):

f4(a, b, c) =∑

m(4) +∑

d(5, 6, 7)

f3(a, b, c) =∑

m(3) +∑

d(5, 6, 7)

f2(a, b, c) =∑

m(2) +∑

d(5, 6, 7)

f1(a, b, c) =∑

d(5, 6, 7)

f0(a, b, c) =∑

m(1, 3) +∑

d(5, 6, 7)

o bien,

f4(a, b, c) =∏

M(0, 1, 2, 3)∏

D(5, 6, 7)

f3(a, b, c) =∏

M(0, 1, 2, 4)∏

D(5, 6, 7)

f2(a, b, c) =∏

M(0, 1, 3, 4)∏

D(5, 6, 7)

f1(a, b, c) =∏

M(0, 1, 2, 3, 4)∏

D(5, 6, 7)

f0(a, b, c) =∏

M(0, 2, 4)∏

D(5, 6, 7)

Una indiferencia puede ser considerada como salida 0 o 1 segun convenga.Por ejemplo, en la funcion f0, podemos considerar f0(1, 0, 1) = 1, f0(1, 1, 0) =0 y f0(1, 1, 1) = 1, entonces desarrollando la funcion en forma de suma deminterms:

f0(a, b, c) =∑

m(1, 3, 5, 7) = abc + abc + abc + abc = ac(b + b

)+ ac

(b + b

)

= c (a + a) = c

Con este ejemplo podemos ver que las indiferencias van a ser muy utilesa la hora de simplificar las expresiones algebraica de una funcion.

1.10. Minimizacion de funciones. Minimizacion

de circuitos

Minimizar una funcion es obtener la expresion mas simplificada posiblepara dicha funcion. En general, la funcion minimizada no es unica. Una ex-presion de una funcion en forma de suma de producto sera mınima si:

Page 29: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.10. MINIMIZACION DE FUNCIONES. MINIMIZACION DE CIRCUITOS29

No existe otra expresion de la funcion con menor numero de terminosproducto.

Cualquier otra expresion con igual numero de terminos producto tendramas variables dentro de los productos.

Si la expresion es un producto de terminos suma sera mınima si cumple lascondiciones anteriores cambiando la palabra producto por suma.

Vamos a ver ahora una serie de conceptos que nos ayudaran a obtener lasexpresiones mınimas de las funciones.

Definicion 9. Dos minterms (maxterms) constituyen un implicante deprimer orden si la expresion de uno de ellos puede obtenerse a partir de ladel otro negando una sola variable.

La suma de los minterms que componen un implicante es simplificable (lomismo que el producto de maxterms). Por ejemplo, para funciones de tresvariables abc y abc; cuando se suman

abc + abc = ac(b + b

)= ac (implicante ac).

Definicion 10. Dos implicantes de primer orden constituyen un implicantede segundo orden si la expresion de uno de ellos puede obtenerse a partirde la del otro negando una sola variable.

Por ejemplo abc y abc (implicante ac), abc y abc (implicante ac); si lossumamos

ac + ac = a (c + c) = a (implicante de segundo ordena).

Definicion 11. Dos implicantes de segundo orden constituyen un impli-cante de tercer orden si la expresion de uno de ellos puede obtenerse apartir de la del otro negando una sola variable.

Por ejemplo abc, abc, abc y abc (implicante a), abc, abc, abc y abc (impli-cante a); si los sumamos a + a = 1.

Esto se generaliza sin dificultad para funciones de cualquier numero devariables y para implicantes de cualquier orden, es decir, dos implicantes deorden n constituyen uno d orden n+1 si la expresion de uno de ellos se puedeobtener a partir del otro negando una variable. Es conveniente notar queun implicante de primer orden simplifica una variable, uno de segundo dos,uno de tercero tres, etc. Tambien es importante recalcar que un implicantede orden n esta compuesto por 2n minterms (maxterms), es decir, uno deprimer orden esta formado por dos minterms (maxterms), uno de segundopor cuatro, uno de tercer orden por ocho, etc.

A la hora de disenar un circuito logico para realizar una determinadafuncion, hay que especificar, en primer lugar, la funcion y la tabla de ver-dad correspondiente. Como se vio en ejemplos anteriores, la misma tabla deverdad puede realizarse mediante circuitos diferentes; por ejemplo la tabla

Page 30: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

30 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

x y z F0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 1

es la correspondiente a cada uno de los tres circuitos siguientes:

z

xy

x y z

xy

z

F x,y,z = x y + x+ y z( ) ( )

F x,y,z = x y + x+ y z( ) ( )z

F x,y,z = x y z + x y z + x y z + x y z( )

Es obvio (por el coste, tamano, fiabilidad, etc.) que interesara encontrar elcircuito que, respetando las especificaciones, tenga el menor numero posiblede puertas.

Existen dos procedimientos basicos a la hora de simplificar las funcionesbooleanas y, en consecuencia, los circuitos logicos correspondientes.

Aquı vamos a ver un metodo grafico para simplificar funciones booleanasy, en consecuencia, los circuitos logicos correspondientes. Este metodo esel mas sencillo aunque, practicamente, deja de tener utilidad para formasbooleanas con mas de seis variables: el metodo de las tablas de Karnaugh.

1.11. Diagramas de Karnaugh

Una tabla o diagrama de Karnaugh no es otra cosa que una presentacionalternativa de la misma informacion contenida en una tabla de verdad. Latabla de Karnaugh es de doble entrada, y tiene las asignaciones colocadas detal modo que las que corresponden a productos canonicos adyacentes estanfısicamente contiguas.

Page 31: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.11. DIAGRAMAS DE KARNAUGH 31

Este metodo se desarrollo en la decada de los cincuenta para ayudar aminimizar los circuitos de forma manual.

La eficiencia de un circuito combinacional depende del numero de puertasque tenga y de la disposicion de estas. El proceso de disenar un circuitocombinacional comienza con la tabla que especifica las salidas para cadacombinacion de valores de entrada. Para obtener un conjunto de puertaslogicas que implemente este circuito siempre podemos usar la forma normaldisyuntiva del circuito. Sin embargo, la forma normal disyuntiva puede tenermuchos mas sumandos de los necesarios. Se pueden combinar entre sı dossumandos de una forma normal disyuntiva que difieren en una sola variablede manera que en un sumando aparezca dicha variable y en el otro sumandolo haga su complementario. Por ejemplo, consideremos el circuito cuya tablaasociada es

x y z f0 0 0 00 0 1 00 1 0 00 1 1 01 0 0 01 0 0 01 0 1 11 1 1 1

La forma normal disyuntiva de este circuito es xyz + xyz. Pero

xyz + xyz = (y + y)xz = 1 · xz = xz

Luego, xz es una expresion booleana con menos operadores que representaigualmente al circuito. A continuacion mostramos las dos implementacionesdiferentes de este circuito:

yz x

x y z x y z+ xzz

x

Este ejemplo muestra que combinar sumandos de la forma normal disyuntivade un circuito produce una expresion mas sencilla del circuito. Minimizar unafuncion booleana permite construir circuitos con el menor numero posible depuertas y el menor numero posible de entradas a las puertas and y or delcircuito.

Los K-diagramas proporcionan un metodo visual para simplificar unaforma normal disyuntiva, pero no son adecuados para automatizar este pro-ceso. Un mapa de Karnaugh esta constituido por una cuadrıcula en formade encasillado cuyo numero de casillas depende del numero de variables que

Page 32: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

32 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

tenga la funcion a simplificar. Cada una de las casillas representa las distintascombinaciones de las variables que puedan existir.

En cada cuadrado representaremos el valor que toma la funcion para lacombinacion de variables que le corresponde, y como hay una correspondenciauno a uno entre los cuadrados y las distintas combinaciones de entrada, elmapa de Karnaugh va a ser otra forma de especificar una funcion (es undiagrama visual de la tabla de verdad).

El mapa de Karnaugh para una funcion de 2 variables es:

ab

0 1

2 3

0 10

1

2 variables

ab

0 1

0

1

a b a b

a b a b

ab

0 1

0

1

a b+ a b+

a b+a b+

El mapa de Karnaugh para una funcion de 3 variables es:

abc

00 01

4

30 10

1

11 10

67

2

5

3 variables

abc

00 01

0

1

11 10

ba c ba c ba c ba c

ba c ba c ba c ba c

abc

00 01

0

1

11 10

a b+ +c a b+ +c a b+ +c a b+ +c

a b+ +ca b+ +ca b+ +ca b+ +c

Los mapas de Karnaugh para funciones de 4 y 5 variables son:

abcd

00 01

4

30 1

11 10

67

2

5

00

01

11

10

12 13 15 14

8 9 11 10

4 variables

Page 33: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.11. DIAGRAMAS DE KARNAUGH 33

ab

cde000 001

430 1

011 010

6 72 500

01

11

10

121315148 9 11 10

5 variables

111110 101 100

24

16 1917 18

25 27 26 30 31 29 28

22 23 21 20

En algunos de los casos anteriores, hemos indicado el minterm (maxterm)que corresponderıa a cada casilla.

Importante: el orden para los pares de variables es, obligatoriamente00, 01, 11 y 10 y para el grupo de tres variables 000, 001, 011, 010, 110, 111,101 y 100.

En el caso de querer obtener una expresion mınima como suma de ter-minos producto, en el mapa colocaremos los unos de la funcion, ademas delas indiferencias, omitiendo los ceros. Si lo que nos proponemos es calcularla expresion mınima como producto de terminos suma, entonces pondremoslos ceros y las indiferencias, excluyendo los unos.

El segundo paso en la minimizacion es localizar los implicantes de lafuncion en el mapa de Karnaugh. Los implicantes deben estar formados porceldas adyacentes y pueden contener tantos unos como indiferencias (debencontener al menos un 1).

Los implicantes de primer orden ocupan dos casillas adyacentes. La ady-acencia de dos casillas puede ser horizontal o vertical, nunca diagonal. Lascasillas de la primera y ultima fila son adyacentes y lo mismo ocurre con laprimera y ultima columna. Un implicante de segundo orden esta formado pordos implicantes de primer orden adyacentes (22 casillas), uno de tercero pordos de segundo orden adyacentes (23 casillas), etc.

Los mapas para funciones de cinco variables se construyen a partir demapas de cuatro variables. Las celdas simetricas respecto al eje central rep-resentan tambien adyacencias, como se indica en la figura.

Dos celdas adyacentes del mapa son aquellas cuyos minterms difierenen, exactamente, un literal.

Siempre que haya unos en dos celdas adyacentes del K-diagrama, losminterms representados por estas celdas se pueden combinar entre sı dandolugar a un termino que depende solo de una de las variables (En el ejemploanterior xy + xy = x).

Se procede rodeando con un cırculo los bloques de celdas del K-diagramaque representan minterms que se pueden combinar y despues calculamos lacorrespondiente suma de productos.

Page 34: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

34 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

De modo analogo al caso de dos variables, se dice que dos celdas sonadyacentes si los minterms que representan difieren en, exactamente, unliteral.

En el caso de querer obtener una expresion mınima como suma de ter-minos producto, en el mapa colocaremos los unos de la funcion, ademas delas indiferencias, omitiendo los ceros. Si lo que nos proponemos es calcularla expresion mınima como producto de terminos suma, entonces pondremoslos ceros y las indiferencias, excluyendo los unos.

El segundo paso en la minimizacion es localizar los implicantes de lafuncion en el mapa de Karnaugh. Los implicantes deben estar formados porceldas adyacentes y pueden contener tanto unos como indiferencias (debencontener al menos un 1). Los implicantes de primer orden ocupan dos casillasadyacentes. La adayacencia de dos casillas puede ser horizontal o vertical,nunca diagonal. Las casillas de la primera y ultima fila son adyacentes y lomismo ocurre con la primera y la ultima columna. Un implicante de segundoorden esta formado por dos implicantes de primer orden adyacentes, uno detercero por dos de segundo adyacentes, etc.

Por ultimo, hay que destacar que cuando vayamos a representar una fun-cion booleana, esta tiene que estar en su forma canonica (minterms y max-terms) completa y, por tanto, todos los terminos han de contener todas lasvariables que intervienen en la funcion. En el caso de tener que representarfunciones incompletas, habra que obtener, previamente, la forma canonicacompleta.

• Minimizacion en suma de productosEl objetivo es incluir todos los unos del mapa con el menor numero de

implicantes y del mayor orden posible. Las indiferencias ayudan a completarlos implicantes. No importa que los implicantes se solapen unos a otros, loque si interesa es no incluir mas implicantes de los necesarios.

El procedimiento a seguir puede resumirse en las siguientes reglas:

Extraer todos los implicantes de cualquier orden que no esten incluidosen otros y que contengan al menos un 1 (se llaman implicantes primos

de la funcion. Se empieza por los de mayor orden.

Escoger de los implicantes primos aquellos que contengan unos en ex-clusiva (son los implicantes primos esenciales de la funcion).

En casi de que quede algun 1 por cubrir, escoger el menor numero deimplicantes (y del mayor orden posible) necesario para cubrir todos losunos.

Simplifiquemos, por ejemplo, la funcion:

f(a, b, c, d) =∑

m(2, 3, 4, 5, 10, 11, 13, 15) +∑

d(6, 12, 14)

Una vez representada la funcion en el mapa de Karnaugh, extraemos losimplicantes primos de la funcion:

Page 35: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.11. DIAGRAMAS DE KARNAUGH 35

abcd

00 01

4

30 1

11 10

67

2

5

00

01

11

10

12 13 15 14

8 9 11 10

1 1

1

1 1

1

11i1

i2

i3

i4

donde se consideran las indiferencias 12 y 14 iguales a 1 (f(1, 1, 0, 0) = 1 yf(1, 1, 1, 0) = 1) y la tercera indiferencia (casilla 6) igual a 0.

Los implicantes primos esenciales son:

i1 : b = 0, c = 1 i1 = bc i4 : b = 1, c = 0 i4 = bc

nos queda por cubrir el 1 correspondiente a la casilla 15 que se puede cubrircon i3 o con i2:

Si se cubre con i3 : a = 1, b = 1, luego i3 = ab

Si se cubre con i2 : a = 1, c = 1, luego i2 = ac

Ası hay dos expresiones alternativas para la funcion:

• Implicantes i1, i4 e i3: f(a, b, c, d) = bc + bc + ab.

• Implicantes i1, i4 e i2: f(a, b, c, d) = bc + bc + ac.

Consideremos ahora una funcion de cinco variables:

f(a, b, c, d, e) =∑

m(2, 9, 10, 11, 15, 23, 27, 29, 31)+∑

d(6, 13, 16, 19, 25)

Representamos la funcion en el mapa de Karanugh y extraemos los impli-cantes primos de la funcion:

ab

cde000 001

430 1

011 010

6 72 500

01

11

10

121315148 9 11 10

111110 101 100

24

16 1917 18

25 27 26 30 31 29 28

22 23 21 20

1

i1

i4

i2

111

1

1

1 11

i3i5

Los implicantes primos esenciales son:

i1 : b = 1, e = 1 i1 = bec i2 : a = d = e = 1 i2 = ade

Page 36: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

36 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

nos quedan por cubrir las casillas 2 y 10 que se puede cubrir con un unicoimplicante i3: a = c = e = 0, d = 1 luego i3 = aced. Por tanto, la expresionsimplificada de f es f(a, b, c, d, e) = bec + ade + aced.

• Minimizacion en producto de sumasEl metodo es totalmente equivalente al anterior. Las modificaciones que

han de realizarse son las siguientes:

Colocar en el mapa de Karnaugh los ceros y las indiferencias de lafuncion.

Los implicantes estaran formados por celdas adyacentes que puedencontener tanto ceros como indiferencias (deben contener al menos uncero).

La obtencion de la expresion de cada implicante es la siguiente: por cadavariable que no cambien en un implicante, si es 0 tomar la variable talcual y si es 1 tomar la variable negada. Sumar las variables obtenidasde esta forma.

Veamos el siguiente ejemplo de cuatro variables:

f(a, b, c, d) =∑

m(0, 1, 2, 3, 4, 6, 10) +∑

d(7, 8, 11)

=∏

M(5, 9, 12, 13, 14, 15)∏

D(7, 8, 11)

Representamos la funcion en el mapa de Karnaugh y buscamos los implicantesprimos

abcd

00 01

4

30 1

11 10

67

2

5

00

01

11

10

12 13 15 14

8 9 11 10

0

0

0

0i1

i2

i3

0 0i4

Los implicantes primos esenciales son:

i1 : b = 1, d = 1 i1 = b + c i2 : a = 1, b = 1 i2 = a + b.

nos queda por cubrir el 0 correspondiente a la casilla 9 que se puede cubrircon el implicante primo i3 o con el implicante primo i4:

Si se cubre con i3 : a = 1, d = 1, luego i3 = a + d

Si se cubre con i4 : a = 1, c = 0, luego i2 = a + c

Page 37: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

1.11. DIAGRAMAS DE KARNAUGH 37

Ası hay dos expresiones alternativas para la funcion:

• Implicantes i1, i2 e i3: f(a, b, c, d) =(b + c

) (a + b

) (a + d

).

• Implicantes i1, i2 e i4: f(a, b, c, d) =(b + c

) (a + b

)(a + c).

Por ultimo, consideremos otro ejemplo en cuatro variables

f(a, b, c, d) =∑

m(0, 4, 6, 9, 11, 13, 14, 15) +∑

d(7, 12) =∏

M(1, 2, 3, 5, 8, 10)∏

D(7, 12)

Representamos la funcion en el mapa de Karnaugh y buscamos los implicantesprimos

abcd

00 01

4

30 1

11 10

67

2

5

00

01

11

10

12 13 15 14

8 9 11 100

0

0

i1

i2

i3

0

00

i4 i5

El unico implicante primo esencial es i1, siendo a = 0 y d = 1; luego i1 = a+d.Nos quedan por cubrir los ceros correspondientes a las casillas 2, 8 y 10 quese pueden cubrir de la forma siguiente:

• Si se cubre el 0 de la casilla 2 con i2 = a + b + c (a = b = 0, c = 1)podemos cubrir los dos ceros restantes, casillas 8 y 10, con un unicoimplicante i4 = a + b + d, (a = 1, b = d = 0).

• Si se cubre el 0 de la casilla 2 con i3 = b + c + d, (b = 0, c = 1, d = 0),nos queda por cubrir la casilla 8 que se puede hacer con el implicantei4 = a+b+d o bien con el implicante i5 = a+c+d, (a = 1, c = d = 0).

Ası hay tres expresiones alternativas para la funcion:

• Implicantes i1, i2 e i4: f(a, b, c, d) =(a + d

)(a + b + c) (a + b + d).

• Implicantes i1, i3 e i4: f(a, b, c, d) =(a + d

)(b + c + d) (a + b + d).

• Implicantes i1, i3 e i5: f(a, b, c, d) =(a + d

)(b + c + d) (a + c + d).

Page 38: Cap´ıtulo 1 L´ogica y Algebras de Boole´quegrande.org/.../tema_1_-_logica_y_algebra_de_boole.pdfMatemática Discreta. Área de Álgebra Universidade da Coruña 1.2. TABLAS DE VERDAD

Mat

emát

ica

Dis

cret

a. Á

rea

de

Álg

ebra

Un

iver

sid

ade

da

Cor

a

38 CAPITULO 1. LOGICA Y ALGEBRAS DE BOOLE

1.12. Completitud funcional

Siempre con el objetivo final de reducir el tamano y el coste de un circuito,a parte de las puertas vistas, se suelen emplear otras como la puerta nor yla puerta nand.

Toda funcion booleana se puede expresar como una suma booleana deminterms, es decir, toda funcion booleana se puede representar utilizandolos operadores booleanos +, · y . Ası, diremos que el conjunto {+, ·, } esfuncionalmente completo.

Si utilizamos las leyes de De Morgan, podemos eliminar todas las sumasbooleanas utilizando la propiedad

x + y = x · y

obteniendose que {·, } es funcionalmente completo. De la misma forma

x · y = x + y

con lo que {+, } tambien es funcionalmente completo.El conjunto {+, ·} no es funcionalmente completo puesto que es imposible

expresar la funcion booleana F (x) = x utilizando estos dos operadores.Los conjuntos anteriores se pueden reducir a conjuntos de un solo elemen-

to. Consideremos el operador ↑ o NAND y el operador ↓ o NOR definidos,respectivamente, por las tablas

x y x ↑ y0 0 10 1 11 0 11 1 0

x y x ↓ y0 0 10 1 01 0 01 1 0

y representados en los circuitos combinacionales por

xy

x · y

Puerta nand

xy

x + y

Puerta nor

Los conjuntos {↑} y {↓} son funcionalmente completos puesto que

x = x ↑ x, x · y = (x ↑ y) ↑ (x ↑ y), x + y = (x ↑ x) ↑ (y ↑ y).

—————