Universidade Federal do Vale do São Francisco Curso de Engenharia da Computação Introdução à Álgebra de Boole Matemá Matemática Discreta - 13 Prof. Jorge Cavalcanti [email protected] www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav Podemos lembrar das fbfs da lógica proposicional e associar a elas um certo tipo de função. Uma fbf proposicional com n letras, define uma função com domínio {V,F}n e um contradomínio {V,F}. O domínio consiste em todas as n-uplas de valores V/F. Para cada n-upla, associamos umm único valor V ou F. Ex. 01: Seja a fbf A∨ ∨B’. Sua tabela-verdade é: B’ A ∨ B’ A B V V F V V F F V V F V F F F V V A imagem da dupla (F,V) sobre essa função é F. Se chamarmos essa função de w, então w(F,V)=F, w(V,V) = V. 1 Introdução à Álgebra de Boole 2 Introdução à Álgebra de Boole Ex. 02: Denote por f a função definida pela fbf A∧ ∧(B∨ ∨C’). Qual o valor de f(V,V,F) e f(F,V,F)? Supondo que uma fbf proposicional P tem n letras de proposição. A B C C’ B∨ ∨C’ A ∧ (B∨ ∨C’) V V V F V V V V F V V V V F V F F F V F F V V V F V V F V F F V F V V F F F V F F F F F F V V V f(V,V,F)=V f(F,V,F)=F Introdução à Álgebra de Boole Dessa forma, a lista de equivalências tautológicas da lógica proposicional podem ser escritas como a seguir: A∪B=B∪A 1b. A ∩ B = B ∩ A (comutatividade) (A∪B)∪C=A∪(B∪C) 2b.(A∩B)∩C = A∩(B ∩C) (assoc.) A∪(B∩C)=(A∪B)∩(A∪C) 3b.A∩(B∪C)= (A∩B)∪(A∩C) (distrib.) A∪∅=A 4b. A ∩ S = A (elementos neutros) A ∪ A' = S 5b. A ∩ A' = ∅ (complemento) ∨ e ∪, ∧ e ∩, 0 e ∅, 1 e S. Que conclusões podemos tirar dessa semelhança? Analogamente, as identidades básicas envolvendo conjuntos são listadas a seguir: 1a. 2a. 3a. 4a. 5a. Podemos então escrever P=Q ao invés de P⇔Q. 4 Introdução à Álgebra de Boole 1a. A ∨ B = B ∨ A 1b. A ∧ B = B ∧ A (comutatividade) 2a. (A∨B)∨C = A∨(B∨C) 2b. (A∧B)∧C = A∧(B∧C) (assoc.) 3a. A∨(B∧C)=(A∨B)∧(A∨C) 3b.A∧(B∨C)= (A∧B)∨(A∧C) (distrib.) 4a.A ∨ 0 = A 4b. A ∧ 1 = A (elementos neutros) 5a. A ∨ A' = 1 5b. A ∧ A' = 0 (complemento) A tabela-verdade inteira define uma função f:{V,F}n → {V,F}, conforme os exemplos 01 e 02. As funções associadas a tautologias são da forma {V,F}n → {V} e as contradições são da forma {V,F}n → {F}. Podemos convencionar que qualquer fbf proposicional P com n letras de proposição, o símbolo P não denota apenas a fbf, mas também a função correspondente definida pela tabela-verdade. Se P e Q são fbfs equivalentes, então tem a mesma tabela-verdade, logo definem a mesma função. 3 Então cada linha da tabela-verdade da fbf associa um valor, V ou F a uma n-upla de valores V/F. Dois exemplos que tem propriedades em comum (equivalências tautológicas e identidades entre conjuntos). Abstraindo as propriedades comuns, é possível definir uma estrutura matemática que incorpora essas propriedades, como um modelo ou generalização dessas propriedades. Supondo que queremos caracterizar formalmente as semelhanças entre a lógica proposicional e a teoria dos conjuntos. 5 Em cada caso estamos falando de elementos de um conjunto: um conjunto de fbfs ou um conjunto de subconjuntos de S. Em cada caso temos duas operações binárias e uma operação unária que age nos elementos do conjunto: Disjunção/conjunção/negação União/interseção/complemento 6 Introdução à Álgebra de Boole Introdução à Álgebra de Boole Existem 02 elementos diferenciados no conjunto: 0/1 ou ∅/S. São válidas 10 propriedades em cada caso (1a....5b). Sempre que todas essas características estiverem presentes, dizemos que temos uma Álgebra de Boole. Álgebra de Boole – é um conjunto B no qual estão definidas duas operações binárias, + (ou) e • (e), e uma operação unária ´, e que contém dois elementos distintos, 0 e 1, tais que as seguintes propriedades são válidas, quaisquer que sejam x, y e z ∈ B: 1b. x • y = y • x (comutatividade) 2b. (x•y)•z = x•(y•z) (assoc.) 3b.x•(y+z)= (x•y)+(x•z) (distrib.) 4b. x • 1 = x (elementos neutros) 5b. x • x' = 0 (complemento) 1a. x + y = y + x 2a. (x+y)+z = x+(y+z) 3a. x+(y•z)=(x+y)•(x+z) 4a.x + 0 = x 5a. x + x' = 1 Ela também é o fundamento da matemática computacional, baseada em números binários. Uma álgebra de Boole é denotada por [B, +, • , ´, 0, 1] Ex. 03: Seja B={0,1}. Defina as operações binárias + e • em B por x+y=máx(x,y) e x • y = mín (x,y), a operação unária ‘ e, em seguida, mostre as propriedades 2b (associatividade), 4a e 4b (elementos neutros). As operações + e • são ilustradas nas tabelas a seguir: 7 Introdução à Álgebra de Boole + 0 1 • 0 1 0 0 1 0 0 0 1 1 1 1 0 1 (0 (0 (0 (0 (1 (1 (1 (1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 0) 0) 1) 1) 0) 0) 1) 1) ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 0 1 0 1 0 1 0 1 = = = = = = = = 0 0 0 0 1 1 1 1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ (0 (0 (1 (1 (0 (0 (1 (1 ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ ⋅ 0) 1) 0) 1) 0) 1) 0) 1) = = = = = = = = 0 0 0 0 0 0 0 1 Propriedade 4a. 0+0=0 1+0=1 1 0 Pode-se provar as 10 propriedades, verificando todos os casos possíveis. A propriedade 2b (associatividade) de • é dada como segue: Cont Ex. 03 – Propriedade associativa para • : Propriedade 4b. 0.1=0 1.1=1 9 Introdução à Álgebra de Boole Existem propriedades adicionais que são válidas e que podem ser demonstradas usando as propriedades da definição. A idempotência da soma x + x = x é válida em qualquer álgebra de Boole, pois: x+x = = = = = 8 Introdução à Álgebra de Boole Cont Ex. 03: Seja B={0,1}. Defina as operações binárias + e • em B por x+y=máx(x,y) e x • y = mín (x,y), a operação unária ‘ e, em seguida, mostre as propriedades 2b (associatividade) para • e 4a e 4b (elementos neutros). A operação unária ‘ é definida também por uma tabela: Como 0’= 1 e 1’= 0, então [B, +, •, 0, 1] é uma álgebra de Boole. ‘ 0 1 Álgebra de Boole são estruturas algébricas que "capturam a essência" das operações lógicas E, OU e NÃO, bem como das operações da teoria de conjuntos soma, produto e complemento. (x + x) . 1 (4b) (x + x) . (x + x’) (5a) x + (x . x’) (3a) x + 0 (5b) x (4a) Embora a aritmética usual dos inteiros tenha muitas propriedades de uma álgebra de Boole, a idempotência da soma deve convencê-lo de que os inteiros não formam uma álgebra de Boole. A propriedade x+x=x não é válida para os inteiros 11 com a soma usual, a menos que x seja nulo. 10 Introdução à Álgebra de Boole Cada propriedade na definição de álgebra de Boole tem a sua propriedade dual como parte da definição. A dual é obtida permutando-se + com • e 1 com 0. Cada passo da demonstração de uma propriedade de uma álgebra de Boole pode ser substituída por sua dual, resultando em uma demonstração válida da dual. Ex. 04: Demonstre que o dual da idempotência x+x=x, x.x=x Uma vez demonstrada uma propriedade de álgebras de Boole, ela pode ser usada para demonstrar outras propriedades. Ex.05: a)Provar que a propriedade x + 1 = 1 é válida em qualquer álgebra de Boole. b) Explicitar a propriedade usada em cada passo da demonstração. c) Qual a sua propriedade dual? 12 Introdução à Álgebra de Boole Introdução à Álgebra de Boole A tabela abaixo sugere algumas maneiras para ajudar a provar que uma álgebra de Boole tem uma propriedade da forma “alguma expressão = outra expressão”. Sugestões para Demonstrações de Identidades Em geral, é melhor começar pela expressão mais complexa e tentar mostrar que se reduz à expressão mais simples. Considere somar 0 em alguma forma (como x.x’) ou multiplicar por 1 em alguma forma (como x+x’). Lembrar da propriedade 3a (distributividade da multiplicação), pois ela não é válida na aritmética usual. Lembrar da idempotência da soma e da multiplicação x+ x = x e x . x = x. 13 Introdução à Álgebra de Boole Cont Ex. 05: + 0 1 a a´ • 0 0 1 1 a a a´ a´ 0 1 a a´ Ex. 06: Prove as propriedades a seguir para álgebras de Boole, justificando cada passo: a) (x´)´= x (dupla negação) b)(x+y)´=x´.y´ e (x.y)´=x´+ y´ c) x + (x.y) = x e x.(x+y)=x (absorção) d) x+y´=x + (x´.y+x.y)´ 15 Se x é um elemento de uma álgebra de Boole B, o elemento x’ é chamado de complemento de x e satisfaz: x + x’= 1 e x . x‘ = 0 Teorema da Unicidade do Complemento – Dado um elemento x em uma álgebra de Boole, se existe um elemento x1, tal que x + x1 = 1 e x . x1 = 0, então x1 = x’. Ex. 05: Seja B = {0, 1, a, a'} e sejam + e • operações binárias em B. A operação unária ' é definida pela tabela ‘ 0 1 a a´ 1 0 a´ a Suponha que sabemos que [B, +,.,', 0, 1 ] é uma álgebra de Boole. Usando as propriedades válidas para qualquer álgebra de Boole, preencha as tabelas a seguir, que definem as operações binárias + e .: 14