Unicita' della forma normale disgiuntiva completa


Diremo che un'espressione booleana e' in forma normale disgiuntiva completa se :
  1. e' diversa da 0
  2. e' in forma normale disgiuntiva
  3. ogni prodotto e' completo nel senso che contiene tutte le variabili
Se per semplicita' consideriamo solamente tre variabili x, y e z allora una forma normale disgiuntiva completa puo' essere
espressione = xyz + x'y'z + xyz'

da notare che i termini di un'espressione di questo tipo possono essere al massimo 8, infatti per ogni termine abbiamo due stati (variabile o complementare della variabile) ed i termini sono 3 quindi devo prendere le disposizioni con ripetizione di 2 stati presi 3 a 3 cioe' 23 = 8
i termini possibili sono
x y z     x' y z     x y' z     x y z'     x' y' z     x' y z'     x y' z'     x' y' z'    
Se sostituiamo variabile x, y, z con primo posto, secondo posto, terzo posto e sostituiamo 0 alla variabile normale ed 1 al complementare otteniamo le possibili terne
0 0 0     1 0 0     0 1 0     0 0 1     1 1 0     1 0 1     0 1 1     1 1 1    
piu' in generale se abbiamo n variabili allora avremo 2n termini possibili
Abbiamo gia' visto che con 8 variabili (un byte) sono possibili 256 ottuple: 28 = 256

se un'espressione in forma normale disgiuntiva non e' completa allora si puo' rendere completa moltiplicando opportunamente il termine cui manca la variabile:
Se, ad esempio, ho il termine xy' per renderlo completo moltiplico per z+z'
infatti per la legge del complemento z+z'=1 e quindi posso scrivere
xy' = xy'(z+z') = xy'z + xy'z'


Vale la proprieta'
Ogni espressione booleana diversa da zero puo' essere posta in forma normale disgiuntiva completa e tale rappresentazione e' unica


Chiudiamo con un esercizio:
poniamo la seguente espressione booleana in forma disgiuntiva completa
    (x'y)'z = sposto l'operazione di complemento all'interno della parentesi
= (x'' + y')z = doppio complemento
= (x + y')z = moltiplico
= xz+ y'z = questa e' una forma normale disgiuntiva, per renderla completa moltiplico per 1, cioe' il primo termine per y+y' ed il secondo per x+x'
= x(y+y')z+ (x+x')y'z = eseguo le moltiplicazioni
= xyz + xy'z + xy'z + x'y'z = idempotenza (ce ne sono due uguali)
= xyz + xy'z + x'y'z