Algebra di Boole

Abbiamo visto negli articoli “reti logiche e algebra di Boole” e “numeri binari e algebra di Boole”, gli aspetti informatici dell’Algebra di Boole e come le funzioni booleane si applichino in modo da avere aspetti come i blocchi logici. Ora sappiamo che le relazioni, le proposizioni, ciò che poniamo come ipotesi, sono connessi da una logica matematica astratta che ha ricadute sulla logica dei computer e delle reti. Come sappiamo l’algebra di Boole è quella parte dell’Algebra in cui le variabili possono assumere solo i valori vero, falso e li denotiamo con 1 e 0. George Boole cominciò ad idearla all’University College di Cork  e la sviluppò nel libro The Mathematical Analysis of Logic, per scrivere appunto in forma algebrica la logica proposizionale, e che sviluppo ulteriormente in An Investigation of the Laws of Thought, libro che si dimostrò una pietra miliare nel campo dell’elettronica digitale, in cui nella progettazione di circuiti hanno grande importanza i teoremi deducibili dagli assiomi che fondano l’algebra.

Approfondimento

Vediamo un po’ più nel dettaglio cosa c’è in profondità osservando il ragionamento matematico di Boole. Egli voleva fare dunque, delle analogie con le notazioni dell’algebra ordinaria. Ora prendiamo due classi che chiameremo x e y, allora xy rappresenterà la classe delle cose che appartengono sia ad x che a d y. Quella che oggi nella notazione moderna si chiama intersezione di x e y. Continuando se x rappresenta una classe, l’equazione xx=x è sempre vera. Boole si chiese: nell’algebra ordinaria dove x sta per un numero, quando l’equazione xx=x è vera? Essa è vera quando x=0 o x=1. Boole arrivò al principio che l’algebra della logica è uguale all’algebra ordinaria se questa fosse limitata da due soli valori 0 e 1. Per dare significato a questa conclusione era necessario considerare 0 e 1 come classi. Egli dovette analizzare come si comportano i numeri 0 e 1 rispetto alla moltiplicazione ordinaria e sappiamo che zero per qualsiasi numero dà 0;  e 1 per qualsiasi numero da il numero stesso. Che espresso in simboli:

0 x = 0 ;         1 x = x

Le classi 1 e 0

Ora se interpretiamo i numeri come classi, 0x sarà identica al numero 0 per ogni x se interpretiamo 0 come una classe alla quale non appartiene nulla, insomma come un insieme vuoto. (Vedi insiemi e simbologia.)

Invece 1x sarà identica a x, per ogni x, se 1 contiene tutti gli oggetti che si considerano. Ora nell’algebra ordinaria c’è anche l’addizione e la sottrazione e se Boole voleva presentare l’algebra della logica come algebra ordinaria con la regola xx=x doveva trovare un’interpretazione per + e -. L’algebra di Boole è dunque la trattazione dell’algebra ordinaria a due stati e di tutti i modelli legati a tale teoria. E così indicò che se x e y stavano per classi x+y era la classe degli oggetti appartenenti o a x o a y. Inoltre, indicava con x-y la classe degli oggetti che sono in x e non in y. Con 1-x, la classe di tutte gli oggetti che non sono in x, tale che risulti :

x + (1 – x) = 1

Funzionamento

Cominciamo a vedere come funziona quest’algebra. Con la notazione algebrica ordinaria sostituiamo x2 a xx e allora le precedenti scritture diventano

x2 = x;   x – x2 =0

dalla seconda raccogliendo a fattore comune si ha x (1- x) = 0, quindi si piò dire niente può tanto appartenere, quanto non appartenere a una classe x. Cioè non c’è nulla che appartenga o appartenga a una stessa classe. Che è in fondo il Principio di non contraddizione usato in filosofia, in particolare nella Metafisica di Aristotele. Questo può essere considerato un assioma.

«È impossibile che il medesimo attributo, nel medesimo tempo, appartenga e non appartenga al medesimo oggetto e sotto il medesimo riguardo»
(Aristotele)

Questo fu un risultato importante per Boole. Tutti coloro che seguono qualche dimostrazione e in particolare i matematici e coloro che introducono delle idee nuove, vanno in cerca di conferme, e vedere che uno dei più importanti principi era soddisfatto era veramente entusiasmante. Il confronto con le idee Aristoteliche aveva allora, per chi si occupava di logica, una forte rilevanza. Nella logica Aristotelica le inferenze sono una parte dei sillogismi, limitato da proposizioni dette premesse, che deducono un’altra proposizione detta conclusione. Premesse e conclusioni devono poter essere espresse da enunciati tipo:

ENUNCIATI

TUTTI gli X SONO Y

NESSUN X è UN Y

ALCUNI X SONO Y

ALCUNI X NON SONO Y

Che si potrebbe tradurre in

TUTTI GLI ALBERI SONO VEGETALI

NESSUN ANIMALE è un VEGETALE

ALCUNI ALBERI SONO SEMPREVERDI

ALCUNI ALBERI NON SONO SEMPREVERDI

Ora un esempio di sillogismo valido è

TUTTI gli X SONO Y

TUTTI gli Y SONO Z

Da cui TUTTI GLI X SONO Z

Se questo sillogismo è valido, significa che se sostituiamo a X, Y, Z proprietà qualsiasi, se le due premesse sono vere, sarà vera la conclusione, ad esempio:

Tutta la materia è fatta di molecole

Tutte le molecole sono fatte di atomi

Segue che Tutta la materia è fatta di atomi.

Boole dimostra con metodi algebrici che questo tipo di sillogismo è valido.

In termini algebrici, dire che tutto ciò che è in X appartiene anche a Y, quindi non c’è niente che appartenga ad X e non a Y cioè X(1-Y) = 0 da cui X=XY analogamente  Y=YZ

Da ciò segue che X=XY = X(YZ) = (XY)Z= XZ che è la conclusione a cui si voleva arrivare.

Conclusioni

Ovviamente non tutti i sillogismi sono validi e nel parlare comune spesso si richiedono proposizioni secondarie, cioè proposizioni che hanno relazioni con altre proposizioni e un ragionamento di questo tipo non è sillogistico. Ma ci possono essere inferenze valide e la verità di certi enunciati detti conclusioni dipende dalle premesse. Boole si accorse che l’algebra che funzionava per le classi avrebbe funzionato anche con inferenze di questo tipo. Usando l’equazione della forma X=1 per dire che la proposizione X è vera e della forma X = 0 per dire che è falsa, si poteva scrivere X= 0 invece di “NON X” e si poteva scrivere XY = 1 invece di “X & Y”, infatti “X & Y” è vera solo se entrambe X e Y sono vere, algebricamente XY = 1 se X=Y=1; ma XY = 0 se X o Y è uguale a 0, o entrambe. Infine se l’asserzione “se X allora Y” si può rappresentare dall’equazione X (1 -Y) =0. Per esempio nell’equazione l’asserzione può essere se X = 1 allora X=1. Ora se nell’equazione X (1 -Y) =0 sostituiamo  X con 1, si ha 1 (1-Y) = 0 e cioè (1 – Y) = 0 da cui segue Y = 1. Il sistema di Boole riusciva a catturare anche il tipo di ragionamenti che hanno luogo in modo informale nelle interazioni umane, faceva pensare che lo potesse fare anche per ragionamenti più complessi.

Ora la matematica può essere vista come il risultato di inferenze logiche altamente complesse; quindi, il criterio di validità per una logica che miri alla completezza è la capacità o meno di abbracciare tutti i ragionamenti matematici. MA svilupperemo questo in seguito.