Algebre di Boole Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Algebre di Boole Stefano Ferrari U NIVERSITÀ DEGLI S TUDI DI M ILANO D IPARTIMENTO DI T ECNOLOGIE DELL’I NFORMAZIONE Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 1/13 George Boole (1815–1864) Nel 1854, pubblica “An investigation into the Laws of Thought, on Which are founded the Mathematical Theories of Logic and Probabilities”. Boole riduce la logica a semplice algebra, incorporandola nella matematica. Evidenzia l’analogia tra i simboli algebrici e quelli delle forme logiche. L’algebra booleana trova applicazioni nella progettazione dei calcolatori. Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 2/13 Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09 1 Algebre di Boole Algebra booleana Un’algebra booleana è basata su: • un insieme di elementi K • due operazioni chiuse su K (+, ·) • una funzione complemento ( · ) Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 3/13 Assiomi (1) 1. almeno due elementi ∃ a, b ∈ K : a 6= b 2. chiusura di +e· ∀ a, b ∈ K : • a+b∈K • a·b∈K Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 4/13 Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09 2 Algebre di Boole Assiomi (2) 3. proprietà commutativa ∀ a, b ∈ K : • a+b=b+a • a·b=b·a 4. proprietà associativa ∀ a, b, c ∈ K : • (a + b) + c = a + (b + c) = a + b + c • (a · b) · c = a · (b · c) = a · b · c Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 5/13 Assiomi 5. esistenza degli elementi neutri di • ∃! 0 ∈ K : a + 0 = a, ∀ a ∈ K • ∃! 1 ∈ K : a · 1 = a, ∀ a ∈ K (3) +e· 6. proprietà distributiva ∀ a, b, c ∈ K : • a + (b · c) = (a + b) · (a + c) • a · (b + c) = (a · b) + (a · c) Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 6/13 Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09 3 Algebre di Boole Assiomi (3) 7. complemento ∀a ∈ K ∃a ∈ K : • a+a=1 • a·a=0 Stefano Ferrari ⋆ Fondamenti di Informatica per la Sicurezza Università degli Studi di Milano ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 7/13 Proprietà Idempotenza a+a=a Leggi di De Morgan a·a=a e a·b=a+b a+b=a·b Doppio complemento Elemento nullo e a=a a+1=1 e a·0=0 Tali proprietà possono essere verificate per: • dimostrazione; • analisi esaustiva. Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 8/13 Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09 4 Algebre di Boole Principio di dualità I teoremi dell’algebra booleana possono essere dimostrati a coppie, scambiando tra loro: • le operazioni, + ↔ ·; • gli elementi neutri, 0 ↔ 1. Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 9/13 Teorema di De Morgan (1) La legge di De Morgan può essere generalizzata a n termini. X1 + X2 + . . . + Xn = X1 · X 2 · . . . · X n Dimostrazione per induzione: • caso base: – • si dimostra vero il caso con il numero minimo di elementi; passo di induzione: – si ipotizza vero il teorema per n − 1 elementi; – si utilizza l’ipotesi aggiuntiva per dimostrare il teorema per n elementi. Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 10/13 Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09 5 Algebre di Boole Teorema di De Morgan (2) Dimostrazione per induzione: • caso base: X1 + X2 = X 1 · X 2 • (Legge di De Morgan) passo di induzione: Se per ipotesi, è vero che: X1 + . . . + Xn−1 = X 1 · . . . · X n−1 allora: (X1 + . . . + Xn−1 ) + Xn= = (X1 + . . . + Xn−1 ) · X n = X 1 · . . . · X n−1 · X n Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 11/13 Cardinalità Si può dimostrare che in ogni algebra booleana finita, il numero di elementi di K è una potenza di due. Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 12/13 Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09 6 Algebre di Boole Esempi Molte formalizzazioni rispondono agli assiomi dell’algebra di Boole. Sono algebre di Boole: • l’algebra binaria; • l’algebra di insiemi; • lo spazio degli eventi (calcolo delle probabilità); • i circuiti logici; • la logica proposizionale. Stefano Ferrari ⋆ Università degli Studi di Milano Fondamenti di Informatica per la Sicurezza ⋄ Algebre di Boole ⋄ a.a. 2008/09 - p. 13/13 Stefano Ferrari— Fondamenti di Informatica per la Sicurezza— a.a. 2008/09 7