Você está na página 1de 13

Algebra de Boole

Joo Paulo Cerquinho Cajueiro a 19 de agosto de 2009


A lgebra de Boole foi desenvolvida por George Boole(18151864) em seu a livro An Investigation of the Laws of Thought on Which are Founded the Mathematical Theories of Logic and Probabilities de 1854. Ela buscava uma base matemtica formal para a lgica e probabilidade e passou um longo tempo sendo a o conhecida apenas por matemticos, sem encontrar uma utilidade prtica. Foi, a a de certo modo, descoberta por Claude Shannon(19162001), que a utilizou em sua tese de mestrado A Symbolic Analysis of Relay and Switching Circuits em 1937 para desenvolver circuitos eltricos que realizassem funes lgicas. e co o

Postulados

Pensando em probabilidade, a idia bsica da lgebra booleana de utilizar e a a e conceitos de lgebra para expressar questes de probabilidade ou de lgica. a o o Neste sentido o nmero 1 expressa o conceito lgico de verdadeiro ou o conceito u o probabil stico (ou melhor, de teoria de conjuntos) de todo o espao amostral, c o 0 o equivalente lgico de falso ou de conjunto nulo, a soma + equivale e o ao ou lgico e a unio () de conjuntos e a multiplicao equivale a operao o a ca ca lgica e e a interseco () de conjuntos. Os potulados so feitos de modo a o ca a garantir esta equivalncia. e Postulado 1 Operaes: co A algebra de Boole tem um conjunto K de 2 ou mais valores e duas operaoes: c e +, de modo que para todo a, b pertencentes a K: (a) (b) Postulado 2 Valores Neutros: Existem valores 0 e 1 tais que: (a) (b) Postulado 3 comutatividade: (a) (b) a+b=b+a ab = ba (P3) a+0=a a1 = 1 (P2) ab K a+bK (P1)

Postulado 4 associatividade: (a) (b) a + (b + c) = (a + b) + c a (b c) = (a b) c (P4)

Postulado 5 distributividade: (a) (b) a + (b c) = (a + b) (a + c) a (b + c) = (a b) + (a c) (P5)

Postulado 6 existncia de complemento: e Para todo a K, existe um e apenas um a K, chamado o complemento de a, tal que: (a) a + a = 1 (P6) (b) a a = 0

Teoremas

Vrias caracter a sticas da lgebra de Boole no aparecem diretamente nos posa a tulados, mas podem ser inferidas a partir deles. Muitas destas caracter sticas sero uteis para ns, e abaixo descrevemos 10 teoremas, provados a partir dos a o postulados (ou de teoremas j provados, o que d no mesmo). a a Dentre os 10 teoremas mostrados, 9 deles tem 2 formas, aqui chamadas de (a) e (b), que so as formas duais dos teoremas. A dualidade ser melhor discutida a a usando o teorema 1 como exemplo. Teorema 1: A soma ou o produto de um valor por ele mesmo igual a ele mesmo. e (a) (b) a+a=a aa = a (T1)

E a prova deste teorema encontra-se abaixo: a=a+0 = a + aa = (a + a) (a + a) = (a + a) 1 a=a+a a = a1 = a (a + a) = (a a) + (a a) = (a a) + 0 a = aa

Prova:

Note que a prova de T1(a) idntica a de T1(b), ao se trocar as operaes e e co de soma por multiplicao e vice-versa e os 0s por 1s e vice-versa. Isto no ca a e uma coincidncia, mas vem diretamente do fato de que os postulados tem esta e simetria. Em lgebra de Boole isto chamado de dualidade. Diz-se ento que a e a uma expresso o dual da outra quando se trocam os por + e vice-versa e os a e 0s por 1s e vice-versa. Alm disso, a simetria dos postulados garante que: se uma expresso f e a e verdadeira, logo a expresso dual fd tambm verdadeira. Por conta disto, para a e e todos os teoremas subsequentes que tenham expresses duais, s provaremaos o o uma delas, j que o dual do teorema automaticamente verdadeiro. a e 2

Teorema 2: (a) (b) Prova: a + 1 = a + (a + a) = (a + a) + a =a+a a+1=1 Teorema 3: a=a Prova: Seja a = b: ba = ab = aa b+a=a+b=a+a logo: a Teorema 4: (a) (b) Prova: a + ab = a1 + ab = a(b + b + a b = ab + ab + ab = ab + ab = a1 a + ab = a O signicado deste teorema melhor visto atravs de um diagrama de Venn1 , e e mostrando a e a b (lembrando que a multiplicao equivale ` interseco e a ca a ca soma ` unio). A gura 1 mostra justamente isto. a a Teorema 5: (a) (b) a + ab = a + b a (a + b) = a b (T5) a + ab = a a (a + b) = a (T4) b=a 0 1 (T3) a+1=1 a0 = 0 (T2)

ab

Figura 1: Diagrama de Venn demostrando o teorema T4.

ab

Figura 2: Diagrama de Venn demonstrando o teorema T5. Prova: a + a b = (a + a b) + a b = a + b(a + a) = a + b1 a + ab = a + b Teorema 6: (a) (b) Prova: ab + ab = a (a + b) (a + b) = a (T6)

a b + a b = a(b + b) = a1 ab + ab = a
1 na verdade, este um diagrama de Johnston. Um diagrama de Venn mostraria todas as e possibilidades: a b, a b, a b e a b.

ab

ab

Figura 3: Diagrama de Venn demonstrando o teorema T6.

abc ab a b

Figura 4: Diagrama de Venn demostrando o teorema T7. Teorema 7: (a) (b) Prova: ab + abc = ab1 + abc = a b (1 + c) + a b c = ab1 + abc + abc = a b + a c(b + b) ab + abc = ab + ac Teorema 8 Leis de DeMorgan2 : (a) (b) a + b = ab ab = a + b 5 (T8) ab + abc = ab + ac (a + b) (a + b + c) = (a + b) (a + c) (T7)

a+b

ab

ab

a+b

Figura 5: Diagrama de Venn mostrando que a)a b o complemento de a + b e e que b)a + b o complemento de a b para provar as Leis de deMorgan (T8). e

Prova: e Prova-se mostrando que a b o complemento de a+b:

(a + b)a b = a a b + b a b =0+0 (a + b)a b = 0

(a + b) + a b = (a + b + a)(a + b + b) = (1 + b)(1 + a) Logo: = 11 (a + b) + a b = 1 a+b ab

E poss ainda aplicar o teorema repetidas vezes e provar que: vel f (x1 , x2 , . . . , xn ) = fd (x1 , x2 , . . . , xn ) Teorema 9 Teorema do consenso: (a) (b) Prova: ab + ac + bc = ab + ac (a + b) (a + c) (b + c) = (a + b) (a + c) (T9)

a b + a c + b c = (a b c + a b c) + (a b c + a b c) + (a b c + a b c) = (a b c + a b c) + a b c + (a b c + a b c) + a b c = abc + abc + abc + abc = (a b c + a b c) + (a b c + a b c) ab + ac + bc = ab + ac

ac

ab

Figura 6: Diagrama de Venn demonstrando o teorema do consenso. Teorema 10 Expanso de Shannon3 : a

(a) (b)

f (x1 , x2 , . . . , xn ) = x1 f (1, x2 , . . . , xn ) + x1 f (0, x2 , . . . , xn ) f (x1 , x2 , . . . , xn ) = [x1 + f (0, x2 , . . . , xn )] [x1 + f (1, x2 , . . . , xn )] (T10)

Prova: Considerando que x1 x1 = x1 1 e que x1 x1 = x1 x1 x1 = x1 0, podemos armar que: x1 f (x1 , x2 , . . . , xn ) = x1 f (1, x2 , . . . , xn ) E pelo mesmo racioc nio chegamos a: x1 f (x1 , x2 , . . . , xn ) = x1 f (0, x2 , . . . , xn ) Podemos ento separar a funao e aplicar estas igualdades: a c f (. . .) = 1 f (. . .) = x1 f (. . .) + x1 f (. . .) f (. . .) = x1 f (1, x2 , . . . , xn ) + x1 f (0, x2 , . . . , xn )

Aplicao dos postulados e teoremas ca

Podemos aplicar os postulados e teoremas da lgebra de Boole para simplicar a equaes booleanas. Como estas equaes sero ou so implementadas por um co co a a circuito, isto signica um circuito menor e, consequentemente, mais barato e mais rpido. A tabela 1 condensa todas os postulados e teoremas at ento a e a desenvolvidos para facilitar o acesso. Exemplo 1: Minimize o circuito lgico mostrado na gura 7. o

P1 P2 P3 P4 P5 P6 T1 T2 T3 T4 T5 T6 T7 T8 T9 T10

a, b K : a b K a+0=a a+b=b+a a + (b + c) = (a + b) + c a + (b c) = (a + b) (a + c) a+a=1 a+a=a a+1=1 a=a a + ab = a a + ab = a + b ab + ab = a ab + abc = ab + ac a + b = ab ab + ac + bc = ab + ac f (x1 , . . .) = x1 f (1, . . .) + x1 f (0, . . .)

a, b K : a + b K a1 = 1 ab = ba a (b c) = (a b) c a (b + c) = (a b) + (a c) aa = 0 aa = a a0 = 0 a (a + b) = a a (a + b) = a b (a + b) (a + b) = a (a + b) (a + b + c) = (a + b) (a + c) ab = a + b (a + b) (a + c) (b + c) = (a + b) (a + c) f (x1 , . . .) = [x1 + f (0, . . .)] [x1 + f (1, . . .)]

Tabela 1: Resumo dos postulados e Teoremas.


a b z

Figura 7: Circuito do exemplo 1. Resoluo: ca Pela anlise do circuito obtemos z = abc+ac ab. Aplicamos agora os postulados a

e teoremas cab veis: z(a, b, c) = abc + ac ab


T8

= abc + ac (a + b)
T3

= abc + ac(a + b)
P5

= abc + aca + acb


P3 P3

= abc + aa c + abc
T1

= abc + ac + abc
P3

= abc + abc +ac


T6

= ab + ac
P5

z(a, b, c) = a(b + c) O circuito simplicado mostrado na gura 8. e


a b z

Figura 8: Circuito simplicado do exemplo 1.

Formas cannicas o

H casos em que necessrio obter uma equao booleana a partir de uma taa e a ca bela verdade. Nestas situaes so bastante uteis as formas cannicas (tambm co a o e conhecidas de formas padres) de soma de mintermos ou produto de maxtermos. o Obviamente para entend-las precisamos primeiro saber o que so mintermos e e a maxtermos. Vamos comear pela denio de mintermos e analisar a forma de c ca soma de mintermos. Um mintermo um produto no barrado de todas as variveis da e a a funo, sejam elas barradas ou no. ca a Considerando uma funo de 4 variveis, so exemplos de mintermos: abcd, ca a a abcd e abcd. 9

No so mintermos abc (pois no tem todas as variveis), ab + cd (pois no a a a a a e a um produto das 4 variveis), ab(cd) (pois as variveis tem que ser barradas uma a a uma) e nem abcdd (pois a varivel d est repetida). a a Um exemplo de funo descrita na forma soma de mintermos (por simca plicidade referido por sdm- soma de mintermos) a funo de 3 variveis e ca a g = abc + abc + abc. Para entender a utilidade desta forma, observe a tabela 2, que uma tabela verdade da funo g e de cada um dos mintermos e ca presentes nela. a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 abc 0 0 0 1 0 0 0 0 abc 0 0 0 0 0 0 1 0 abc 0 0 0 0 0 0 0 1 g 0 0 0 1 0 0 1 1

Tabela 2: tabela verdade da funo g = abc + abc + abc e seus mintermos. ca Um mintermo, sendo um produto de todas as variveis presentes, s pode a o ser 1 em um unico caso, o que exemplicado na tabela. Alm disso mintermos e e diferentes representam um 1 em posies diferentes da tabela verdade, logo a co soma de mintermos indica qual das posies da tabela-verdade 1. Com base co e nisto, poss descrever qualquer funo lgica no formato sdm. e vel ca o Fica ento fcil obter uma tabela verdade a partir de uma equao na forma a a ca sdm ou vice-versa. Dada uma tabela verdade qualquer, cada linha em que a funo 1 corresponde a um mintermo. O mintermo abc s ser 1 quando a ca e o a a etrada for abc = 111; abc ser 1 quando abc = 011 e assim por diante. Ou seja, para uma varivel no barrada num mintermo corresponde aquela varivel ser a a a 1 na tabela verdade e uma varivel barrada corresponde a um 0. a A tabela 4 apresenta todos os mintermos de uma funo de 4 variveis junto ca a com a respectiva entrada que faz ele ser 1. Obviamente, com 2 variveis temos a 4 mintermos poss veis (ab, ab, ab e ab), com 3 variveis temos 8 mintermos a poss veis, com 4 temos 16 e assim por diante. E bastante usual se trabalhar com equaes na forma sdm. Uma das raco zes para isso que uma sdm uma soma de produtos, obviamente, e estamos o e e acostumados a trabalhar com equaes na forma de soma de produtos devido co `s propriedades da lgebra convencional. Mas a lgebra de Boole abre a opora a a tunidade de trabalharmos com uma equao na forma produto de somas, o que ca leva a uma forma padro alternativa: a forma padro produto de maxtermos a a (ou pdm). Um maxtermo uma soma no barrada de todas as variveis da e a a funo, sejam elas barradas ou no. ca a Considerando uma funo de 4 variveis, so exemplos de maxtermos: a + ca a a b + c + d, a + b + c + d e a + b + c + d. No so maxtermos a + b + c (pois no tem todas as variveis), ab + cd (pois a a a a 10

no um produto das 4 variveis), a + b + (c + d) (pois as variveis tem que ser a e a a a a barradas uma a uma) e nem a + b + c + d + d (pois a varivel d est repetida). Da mesma forma que zemos com mintermos, vamos analisar a funo exemca plo g = (a + b + c) (a + b + c) (a + b + c) para entender a utilidade da forma pdm, observe a tabela 3, que uma tabela verdade da funo g e de cada um e ca dos maxtermos presentes nela. a 0 0 0 0 1 1 1 1 b 0 0 1 1 0 0 1 1 c 0 1 0 1 0 1 0 1 a+b+c 1 1 1 1 0 1 1 1 a+b+c 1 0 1 1 1 1 1 1 a+b+c 0 1 1 1 1 1 1 1 g 0 0 1 1 0 1 1 1

Tabela 3: tabela verdade da funo g = (a + b + c) (a + b + c) (a + b + c) e ca seus maxtermos. Observa-se analisando a tabela que cada maxtermo s 0 para um unico o e vetor de entrada e 1 para qualquer outra entrada. Pegando como exemplo o e maxtermo a + b + c, como se trata de uma soma, ele 1 sempre que a = 1, que b = 1 ou que c = 0 (pois c est barrado), logo ele s 0 quando a = b = 0 a o e e c = 1. Isto quer dizer que, enquanto cada mintermo representava uma linha da tabela verdade com sa 1, cada maxtermo representa uma linha na tabela da verdade com sa 0. da E para unir diferentes maxtermos, faz-se o produto deles, pois assim os 0s se somam na frmula nal. Da a forma ser o produto dos maxtermos. Fica o ento fcil descrever qualquer funo como sdm ou pdm a partir de uma tabela a a ca verdade. Ou de uma equao em uma das duas forma padres, obter a tabela ca o verdade. A tabela 4 mostra tambm os 16 maxtermos equivalentes a cada e entrada poss com 4 variveis. vel a Exemplo 2: Reanalisando as tabelas 2 e 3, fcil chegar nas equaoes das funoes g na e a c c forma pdm e g na forma sdm: g = (a + b + c)(a + b + c)(a + b + c)(a + b + c)(a + b + c) g = abc + abc + abc + abc + abc

(1) (2)

Exemplo 3: Deseja-se implementar um circuito que acione uma sa f caso 2 ou mais de da suas 3 entradas A, B e C forem 1. Resoluo (Usando Mintermos): ca O primeiro passo montar a tabela verdade da funao f , vide tabela 5 e c Analisando a tabela 5, podemos obter a equaao de f na forma sdm. c f (A, B, C) = ABC + ABC + ABC + ABC (3)

11

a 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1

b 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1

c 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1

d 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1

mintermo abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd abcd

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

Tabela 4: Mintermos e maxtermos equivalentes a cada um dos poss veis valores de entrada de uma funo de 4 variveis. ca a A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 f 0 0 0 1 0 1 1 1

Tabela 5: Tabela verdade da funo f . ca

E ento basta aplicar os postulados e teoremas cab a veis a equaao 3 para ` c

12

minimizar a funao. c f (A, B, C) = ABC + ABC + ABC + ABC


AB (T 6)

= ABC + ABC + AB
AC+AB (T 7)

= ABC + AC +AB
BC+AC (T 7)

f (A, B, C) = BC + AC + AB Resoluo (Usando maxtermos): ca Reanalisando a tabela 5, obtemos a equaao de f na forma pdm. c f (A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C) E novamente aplicando os postulados e teoremas cab veis: f (A, B, C) = (A + B + C)(A + B + C)(A + B + C)(A + B + C)
A+B (T 6)

(4)

(5)

= (A + B) (A + B + C)(A + B + C)
A+C (T 7)

= (A + B)(A + C) (A + B + C)
B+C (T 7)

f (A, B, C) = (A + B)(A + C)(B + C)

(6)

a E fcil mostrar que a equaao 6 equivalente a 4. Para tanto basta aplicar c e ` repetidas vezes o postulado da distributividade (P5).

13

Você também pode gostar