Introduzione alla logica e al linguaggio matematico - Giorgio T. Bagni, Daniele Gorla, Anna Labella Copyright © 2010 - The McGraw-Hill Companies srl Soluzioni degli Esercizi da Svolgere Capitolo 6 Esercizio 6.7. 1. Per unicità del complemento, sappiamo che esiste un unico ac tale che a t ac = > e a u ac = ⊥. Dimostrando che (a u b) t (ac t bc ) = > e che (a u b) u (ac t bc ) = ⊥, possiamo quindi concludere. (a u b) t (ac t bc ) = (a t ac t bc ) u (b t ac t bc ) = > u > = > (a u b) u (ac t bc ) = (a u b u ac ) t (a u b u bc ) = ⊥ u ⊥ = ⊥ 2. Per unicità del complemento e per le leggi di De Morgan appena dimostrate: ac u (ac )c = (a t ac )c = >c = ⊥ ac t (ac )c = (a u ac )c = ⊥c = > 3. Per definizione, b v a e ac v bc equivalgono rispettivamente a a t b = a e ac t bc = bc ; per l’esercizio 6.8 (non ancora svolto, ma che può essere utilizzato qui, visto che sfrutta solo risultati finora già noti), la prima di queste ugualianze equivale a a u b = b. Pertanto, b v a sse a u b = b sse (a u b)c = bc sse (usando De Morgan) ac t bc = bc sse ac v bc . Esercizio 6.8. Per doppia inclusione (mostriamo solo una direzione, l’altra si ottiene dualmente). Sia a t b = a (usato nel primo passaggio qui sotto); dimostriamo che a u b = b per doppia inclusione. Per Proposizione 6.1, a u b v b; vale anche il viceversa: a u b = (a t b) u b = (a u b) t (b u b) = (a u b) t b 1 Introduzione alla logica e al linguaggio matematico - Giorgio T. Bagni, Daniele Gorla, Anna Labella Copyright © 2010 - The McGraw-Hill Companies srl Esercizio 6.9. Sia per assurdo a t ⊥ = a e a t ⊥0 = a, per ogni a; allora ⊥ = ⊥ t ⊥0 = ⊥0 t ⊥ = ⊥0 Dualmente per >. Esercizio 6.10. Basta notare che scambiando ⊥ con > e u con t l’insieme degli assiomi dell’algebra di Boole si trasforma in se stesso. Esercizio 6.11. È possibile definire un’algebra di Boole con n elementi solo quando n è una potenza di 2, cioè è della forma 2k per k > 0. Infatti, per il teorema di rappresentazione di Stone, ogni algebra di Boole finita è isomorfa all’insieme delle parti di un qualche insieme. Un isomorfismo di due algebre di Boole (B1 , u1 , t1 , c1 , ⊥1 , >1 ) e (B2 , u2 , t2 , c2 , ⊥2 , >2 ) è una biiezione f : B1 → B2 che conserva il minimo e massimo (si veda l’esercizio 6.13). Visto che l’insieme delle parti di un insieme di k elementi ha 2k elementi (vedi esercizio 4.13), possiamo concludere. In pratica, se vogliamo costruire un’algebra di Boole con 2k elementi, basta prendere k elementi distinti e1 , . . . , ek e considerarne l’insieme delle parti ordinato rispetto all’inclusione insiemistica. Esercizio 6.12. Notiamo che l’unione e l’intersezione di elementi di F sono banalmente ancora in F ; anche l’unione e l’intersezione di elementi di Cof sono in Cof : usando le leggi di De Morgan, X c ∪ Y c = (X ∩ Y )c e dualmente per ∩. Il complemento di un insieme di F è in Cof e viceversa. Infine, l’intersezione tra un elemento di F e uno di Cof è banalmente in F , mentre l’unione di un elemento di F e uno di Cof è in Cof : questo discende dalla legge di De Morgan X ∪Y c = (X c ∩Y )c e dal fatto che X c ∩Y è in F . Il fatto che la sestupla data sia un’algebra di Boole discende dal fatto che a questo punto le proprietà dell’unione, intersezione e complemento non dipendono dal fatto che gli operandi siano insiemi finiti, cofiniti o nè l’uno nè l’altro. Per quanto riguarda la cardinalità, è ovvio che #(F ) = #(Cof ); dimostriamo quindi che #F = #N. Dato un elemento A = {a1 , . . . , an } di F , assumeremo, senza perdere di generalità, che esso sia totalmente ordinato (cioè, a1 < . . . < an ). Possiamo ora rappresentare A con la stringa di n bit che ha 1 in posizione ai per ogni i e 0 altrove (ad esempio, {1, 3, 6} sarà rappresentato dalla stringa 101001). Chiamiamo f questa funzione di rappresentazione; sarà quindi f : F → {0, 1}∗ , dove {0, 1}∗ rappresenta l’insieme di tutte le successioni binarie di lunghezza finita (si veda l’esercizio 5.7). È ora facile vedere che f è biiettiva. Infatti, presi due elementi di F diversi, essi avranno elementi diversi e quindi le loro immagini attraverso f avranno 2 Introduzione alla logica e al linguaggio matematico - Giorgio T. Bagni, Daniele Gorla, Anna Labella Copyright © 2010 - The McGraw-Hill Companies srl almeno un bit di differenza; quindi f è iniettiva. Inoltre, ogni stringa binaria s può essere trasformata in un elemento A di F nel modo seguente: basta mettere in A tutti gli indici in cui s ha un 1. Pertanto f è anche suriettiva. Questo basta a concludere che #F = #N, visto che {0, 1}∗ è numerabile: basta considerarne l’ordinamento lessicografico e la biiezione che associa all’i-esimo elemento dell’ordine (totale) risultante nel numero i − 1, per ogni i > 0. Passando a F = {X ⊆ N} cambia solo il fatto che ora #F = #R. Esercizio 6.13. Dimostrazione per doppia implicazione: (a) ⇒ (b): Osserviamo che f (a) t2 f (ac2 ) = f (a t1 ac1 ) = f (>1 ) = >2 e f (a) u2 f (ac2 ) = f (a u1 ac1 ) = f (⊥1 ) = ⊥2 Concludiamo per unicità del complemento. (b) ⇒ (a): f (⊥1 ) = f (a u1 ac1 ) = f (a) u2 f (ac1 ) = f (a) u2 (f (a))c2 = ⊥2 e dualmente per >. 3