Álgebra de Boole binária Fundamentação Funções lógicas de uma variável Funções lógicas de duas variáveis Princípio da dualidade Funções de n variáveis Definição formal da Álgebra de Boole Manipulação de expressões lógicas 2 1
Os sistemas digitais, como já foi referido, assentam na utilização de circuitos electrónicos que podem assumir, em cada momento, um de dois estados. Isso obriga-nos a ter uma ferramenta teórica que possibilite trabalhar neste universo. A Álgebra de Boole binária é essa ferramenta. Mais adiante apresenta-se a definição formal. Por agora, ir-se-á criar a intuição. 3 Partimos, portanto, da existência de dois valores: 0 e 1. Este é um conjunto discreto e finito. Um elemento x deste conjunto só pode assumir os valores x = 0 e x = 1. 4 2
Sobre este conjunto definidas funções. podem ser Estas funções denominam-se funções lógicas ou funções booleanas. Consideremos a função f(x) assim definida: Repare-se que a função f(x) ficou totalmente definida. Para todos os elementos do conjunto (dois) está definido o valor da função. 5 Como se pode observar é muito fácil definir uma função lógica. E quantas funções lógicas de uma variável existem? Tantas quantas as tabelas diferentes que conseguirmos escrever: Há quatro funções lógicas de uma variável. 6 3
Repare-se que ao contrário das álgebras habituais, aqui, as funções ficam completamente definidas pela indicação exaustiva dos seus valores para todos os valores de x. Estudemos estas quatro funções e outras formas de as representar. 7 A função f 0 (x) é a constante 0. Podemos defini-la com uma expressão algébrica: f 0 (x) = 0 Há outra constante: f 3 (x) = 1 f 1 (x) = x é uma terceira função pouco interessante. Tem o nome de função identidade. 8 4
A função f 2 (x) é uma função interessante. Designa-se função negação ou complementação ou ainda NOT. A sua expressão algébrica é a seguinte: Tem também uma representação gráfica por um de dois símbolos em alternativa: 9 Como em qualquer álgebra existem axiomas e teoremas que, para além do seu papel estrutural na álgebra em questão, estão na base de regras operativas úteis. Relacionado com estas funções de uma variável há um importante teorema dito da dupla negação: 10 5
Dado que estamos a falar de uma variável x que pode assumir apenas dois valores a demonstração deste teorema pode ser feita por indução completa. Para todos os valores possíveis de x, verifica-se, na tabela que Portanto o teorema é verdadeiro. 11 Com duas variáveis as tabelas das funções têm naturalmente 2 2 = 4 linhas. Exemplifica-se com a função conjunção que, como se verá adiante, é de grande importância. Mais uma vez a função fica totalmente definida pela sua tabela. 12 6
Com 4 linhas na tabela, há 16 tabelas diferentes. Há, por isso, 16 funções de duas variáveis. Voltamos a encontrar as constantes 0 e 1. Reencontramos, também as funções de uma variável em termos de x e de y. E isso despacha 6 das funções de 2 variáveis. Das 10 restantes, há 5 importantes. 13 Função Conjunção, Produto Lógico ou AND Como se viu atrás tem a tabela indicada A expressão algébrica é uma das seguintes: Naturalmente há também uma representação gráfica: 14 7
Teoremas importantes relacionados com o AND 15 Função Disjunção, Soma Lógica ou OR Tabela indicada ao lado A expressão algébrica é uma das seguintes: Naturalmente há também uma representação gráfica: 16 8
Teoremas importantes relacionados com o OR 17 Se se verifica que uma expressão em termos de AND, OR e NOT é verdadeira, também o é a expressão que se obtém por troca de todos os operadores AND por OR, de todos os operadores OR por AND, de todos os valores 0 por 1 e de todos os valores 1 por 0. Exemplo: 18 9
Há um conjunto de teoremas que envolvem s duas operações e, por vezes, a negação: 19 Para exemplificar, a demonstração do teorema da distributividade da disjunção em relação à conjunção: 20 10
Dado que as funções têm representações gráficas, também as expressões as podem ter. Designam-se por logigramas. Aproveita-se para perceber graficamente o efeito da aplicação das Leis de Morgan 21 A função NAND corresponde à negação do AND A tabela é, naturalmente, a negação da do AND. A expressão algébrica é uma das seguintes: Naturalmente há também uma representação gráfica: 22 11
A função NOR corresponde à negação do OR A tabela é, naturalmente, a negação da do OR. A expressão algébrica é a seguinte: Naturalmente há também uma representação gráfica: 23 Estas funções são comutativas mas não são associativas e não gozam da propriedade da distributividade em relação a nenhuma outra função. Trata-se de funções muito importante como se verá adiante 24 12
A função XOR ou disjunção exclusiva é igualmente uma função importante A tabela é a seguinte. A expressão algébrica é a seguinte: Naturalmente há também uma representação gráfica: 25 Teoremas importantes relacionados com o XOR x y = y x (x y) z = x (y z) x y = x y + x y x y = (x + y) (x + y) x 0=x x x =1 x 1=x x x =0 x y = x y = x y x y = x y 26 13
Através da associatividade é possível definir funções AND e OR directamente e NAND e NOR com alguns cuidados com mais de duas variáveis: 27 Assim, passa a ser possível definir funções com n variáveis. Exemplifica-se com uma função definida pela sua expressão algébrica: 28 14
Como é evidente a mesma função pode ser representada por uma tabela de verdade. Exemplificar a passagem da expressão para a tabela 29 E a mesma função tem, naturalmente, um logigrama. 30 15
Uma Álgebra de Boole é um terno conjunto e duas operações que cumpre: de um 31 Todos os teoremas da álgebra de Boole permitem manipular expressões lógicas. Precisamos de o fazer por várias razões: Demonstrar algebricamente teoremas. Minimizar expressões para obter circuitos eléctricos mais simples. Obter expressões equivalentes que cumpram determinados critérios. 32 16
Até aqui demonstrámos os diversos teoremas por indução completa mas podem ser demonstrados por dedução. Exemplo Teorema da absorção: Pela distributividade vem: Mas, considerando que: 33 Resulta que: Pela comutatividade: E, considerando que 1 é o elemento neutro da conjunção: 34 17
Minimização de expressões Considere-se, como exemplo a simplificação da função dada como exemplo atrás: 35 Utilização de critérios Alteração de uma expressão para usar apenas negações e operadores de duas variáveis: 36 18
Utilização de critérios Alteração de uma expressão para usar apenas NANDs e negações: 37 Livro recomendado, secção 2.1 Carlos Sêrro: Sistemas Digitais fundamentos algébricos, ISTPress 2003, Capítulos 3 e 4 Existem muitos livros com capítulos sobre o assunto. Há mesmo alguns só sobre este assunto. A Internet é, como de costume, uma fonte que, explorada com espírito crítico, tem muito para dar. 38 19