Cerca nel blog

Choose your language:

sabato 28 aprile 2018

George Boole: un filosofo?











In questo articolo intendo sostenere una tesi particolare: la natura filosofica del pensiero di George Boole. Non intendo negare che Boole sia un matematico, ma intendo riconoscerlo anche come filosofo. Questa operazione in filosofia è di vitale importanza perché, una volta dimostrato che Boole è un filosofo, è facile poi collegare tramite la logica la filosofia con l'informatica. O meglio, è facile vedere il collegamento tra la filosofia e l'informatica come qualcosa di già esistente e che ha bisogno di essere evidenziato.


Prima di spiegare le ragioni della mia tesi, vi propongo di leggere questo breve estratto in inglese dall'articolo, apparso su The Atlantic, dal titolo: How Aristotle created the computer.


«Today, Boole’s name is well known to computer scientists (many programming languages have a basic data type called a Boolean), but in 1938 he was rarely read outside of philosophy departments. Shannon himself encountered Boole’s work in an undergraduate philosophy class. “It just happened that no one else was familiar with both fields at the same time,” he commented later. Boole is often described as a mathematician, but he saw himself as a philosopher, following in the footsteps of Aristotle.»  (source: How Aristotle created the computer)


In questo articolo l'autore difende l'idea secondo la quale il vero padre dell'informatica non sarebbe altro che un filosofo come Aristotele. Egli sostiene che non viene data giusta importanza al contributo dei filosofi allo sviluppo della logica-matematica, il quale è stato decisivo per la costruzione del computer. George Boole è uno dei più importanti protagonisti all'interno della storia   di quella logica che ha posto le basi per la costruzione successiva del computer. Di George Boole l'autore di questo articolo afferma che era un filosofo o che si considerava un filosofo, sebbene oggi chiunque lo prenderebbe semplicemente per un matematico.


Purtroppo non tutti sono d'accordo con questa visione e in molti credono che l'algebra booleana non abbia nulla a che fare con la filosofia. Uno di questi è lo scrittore Paul Nahin, il quale ha scritto un interessante libro sul legame tra la logica e l'informatica: Il logico e l'ingegnere. All'interno del libro Il logico e l'ingegnere infatti si legge:


«L'algebra booleana non è la tradizionale logica aristotelica classica comunemente insegnata nei dipartimenti di filosofia delle università. Al contrario si tratta di una materia di pertinenza dei professori di ingegneria e delle facoltà di matematica (sebbene, come è ovvio, anche i filosofi possano avere familiarità con l'argomento).» (Nahin, Paul,  Il logico e l'ingegnere, Le Scienze, Torino, 2015, p.10)


Questa affermazione contiene due errori: non tiene conto del fatto che i principi dell'algebra booleana sono gli stessi di quelli della logica classica; dimentica che George Boole, quando ha scritto Le leggi del pensiero, si ispirava proprio ad Aristotele. È ovvio che l'idea che esista un massimo e un minimo, che un enunciato è vero oppure falso e tutte le altre regole che valgono nell'algebra booleana, sono le stesse che governano nella logica classica dei filosofi. La logica classica è basata principalmente su tre principi: 1 principio di identità: ogni cosa è identica a se stessa; 2 principio di terzo escluso: o una cosa ha una certa proprietà o non l'ha; 3 non contraddizione: non può essere che una cosa ha e non ha la stessa proprietà. Se l'algebra booleana si accorda con questi tre principi, allora essa è una forma di logica in senso classico.


Veniamo al secondo punto: Boole legge Aristotele. George Boole, nel suo libro fondamentale, rivela che la formula più importante della sua algebra è x = x2. Questa formula viene poi convertita nella formula: x(1-x) = 0. Questa formula, spiega lo stesso Boole, non è altro che il principio di non contraddizione di Aristotele. Egli si ispira, e questo lo mette in una nota, nientemeno che alla Metafisica di Aristotele. Quella formula ha un significato di questo genere: se intendo per x le gazzelle e per (1 - x) tutti quegli animali che non sono le gazzelle, moltiplicare (1 - x) per la stessa x, è come dire che quegli animali che non sono gazzelle sono gazzelle. Il fatto che Boole affermi che l'enunciato sia uguale a zero significa semplicemente che l'enunciato è falso. L'enunciato è falso e lo sarà sempre, non importa cosa sostituiamo alla x, perché dice qualcosa di contraddittorio. Secondo l'algebra booleana 1 è vero e 0 è falso. Tutti gli enunciati o sono 1 o sono 0. Questo è un fatto che si accorda perfettamente con la logica classica di Aristotele e anche con quella di Frege e di tutti i filosofi. Quel che cambia sta nell'assegnazione dei numeri 1 e 0  al vero e al falso, ma oggi, in qualsiasi manuale di logica in filosofia, si fa esattamente la stessa cosa, ossia si usa quella prospettiva booleana.


Aristotele è citato più volte da parte di Boole. Viene citato da un lato perché Boole fa riferimento al principio di non contraddizione molto spesso, dall'altro perché, secondo Boole, le leggi del pensiero sono descritte nell'Organon di Aristotele. Inoltre Boole scrive proprio un capitolo dedicato ad Aristotele, nel quale interpreta in termini matematici il sillogismo.


Prima di parlare di quel famoso capitolo, capitolo che non viene menzionato da Nahin, vorrei spiegare brevemente del vero risultato a cui è giunto George Boole con il suo pensiero. George Boole  è noto per la scoperta di tre operatori che governano tutta l'algebra booleana: and, or, not. Il "not" rappresenta la negazione ed è scritto con il simbolo "-". In questo modo possiamo esprimere "non rosso" in algebra booleana con l'espressione "1 - r", la quale indica tutti quegli oggetti che non sono rossi, ossia tutti gli oggetti meno quelli rossi.


La tavola della verità dell'operatore not è la seguente:


1 - x


1 - 1 = 0


1 - 0 = 1


Il secondo operatore è l'operatore and. Se, usando l'algebra booleana, intendo scrivere un enunciato come "sono allegro e pensieroso", scriverò una formula di questo tipo "x * y ". Nell'operatore and si usa il simbolo della moltiplicazione.


La tavola dell'operatore and è la seguente:


x * y


1 * 1 = 1


0 * 1 = 0


1 * 0 = 0


0 * 0 = 0


L'ultimo operatore è l'operatore or. Se intendo scrivere un enunciato come "o piove o nevica", allora userò una formula di questo tipo: "x + y". Dunque con l'or si usa il simbolo dell'addizione. Il mio esempio è di or esclusivo, ma il "+" indica la possibilità dell'inclusione.


Anche qui troviamo una tavola apposita per l'or, che è la seguente:


x + y


1 + 1 = 1


0 + 1 = 1


1 + 0 = 1


0 + 0 = 0


Tutti questi operatori sono esprimibili tranquillamente nella logica classica che si studia in filosofia in questo modo:


 - x = ¬ x


x * y = x ∩ y


x + y = x ∪ y


La perfetta analogia e l'equivalenza tra queste forme è talmente evidente che non può essere negata. Infatti Paul Nahin la ammette con riluttanza:


«L'uso del prodotto xy per rappresentare "x e y" coincide con la notazione degli ingegneri (e di molti matematici), notazione che continuerò ad adottare all'interno di questo libro. I filosofi (e molti matematici) di solito usano il simbolo ∩ per rappresentare ciò che nella teoria degli insiemi si chiama intersezione degli insiemi A e B. A ∩ B indica gli elementi che sono in A e in B. Pertanto, per denotare 'x e y' c'è chi scriverebbe x ∩ y. A me, invece, questa notazione non piace (...)» (Nahin, Paul,  Il logico e l'ingegnere, Le Scienze, Torino, 2015, p.55)


Più avanti si legge ancora:


«Un altro connettivo logico che si usa di frequente è or. In effetti esistono due versioni di questo connettivo. Userò il simbolo dell'addizione aritmetica per denotare il cosiddetto or-inclusivo. Per esempio, scriverò x + y per intendere "tutti gli individui con gli occhi azzurri, oppure tutti quelli mancini, oppure tutti quelli con gli azzurri e mancini." (...) I filosofi usano il simbolo ∪ (altro simbolo di quelli che a me non piacciono) per rappresentare l'operazione insiemistica dell'unione (...)» (Nahin, Paul,  Il logico e l'ingegnere, Le Scienze, Torino, 2015, p.56)


Detto ciò, a questo punto, possiamo rivolgere la nostra attenzione al capitolo che ha dedicato Boole proprio alla filosofia: ad Aristotele. Si tratta del capitolo XV. Boole riconosce nel sillogismo il tipo universale del ragionamento e lo scopo del ragionare. Boole lavora sui classici enunciati studiati nella scolastica:


Universale affermativo: tutti gli S sono P.


Universale negativo: nessun S è P.


Particolare affermativo: alcuni S sono P.


Particolare negativo: alcuni S non sono P.


Si noti che negando l'universale affermativo si ottiene il particolare negativo e negando l'universale negativo si ottiene il particolare affermativo. George Boole riesce a trasformare tutti questi enunciati in termini matematici in questo modo:


Universale affermativo: y = vx.


Universale negativo: y = v(1 − x).


Particolare affermativo: vy = vx.


Particolare negativo: vy = v(1 − x).


L'universale affermativo scritto in quella forma significa che gli y corrispondono ad una parte degli x. Se tutti i pipistrelli sono dei mammiferi, allora i pipistrelli (y) corrispondono ad una parte (v) dei mammiferi (x). L'universale negativo, per come lo esprime Boole, significa che gli y corrispondono a quella parte del totale che non è gli x. Se le rondini non sono dei rettili è perché le rondini (y) corrispondono a quella parte (v) del totale (1) che non è rettile (- x). La particolare affermativa significa che quella parte di elementi con caratteristica x è identica a quella parte con caratteristica y. La particolare negativa significa l'esatto contrario, ossia che quella parte degli elementi con proprietà y è identica a quella parte degli elementi che non hanno la proprietà y.


Il sillogismo di Aristotele vero e proprio riprende gli schemi degli enunciati che ho preso in considerazione fino ad ora, ma ha una struttura molto particolare. Nel sillogismo troviamo due premesse e una conclusione. Il sillogismo permette di passare dall'universale al particolare, riuscendo ad applicare una regola generale ad un particolare e mostrando come questo ricada sotto quella regola, poste certe condizioni. Ogni enunciato è fatto di soggetto (es. la palla) e un predicato (es. rossa). Le due premesse contengono un termine medio che permette di passare dalle premesse alla conclusione.


Un esempio classico di sillogismo è il seguente:


1 Tutti gli uomini sono mortali


2 Socrate è un uomo


3 Socrate è mortale


Qui "uomo" funge da termine medio. Il primo enunciato è un universale affermativo, gli altri due sono dei particolari affermativi. George Boole trasforma in termini matematici il sillogismo in questo modo:


x = vy


y = vv'z


x = vv'z


Questa trasformazione, in realtà, ha poca relazione con il mio esempio. Infatti Boole usa come sillogismo il seguente:


1 Tutti gli x sono y.


2 Tutti gli y sono z.


3 Tutti gli x sono z.




Ora è assolutamente evidente che qualsiasi contrapposizione tra la logica di George Boole e quella di Aristotele risulta completamente falsa e fuori luogo. Questa nasce, probabilmente, solo da chi non intende riconoscere come padri della logica matematica i filosofi. Tuttavia, una volta riconosciuto il problema, rimane ancora una questione: come mai non studia veramente George Boole nelle lezioni di filosofia universitarie?

Nessun commento:

Posta un commento

Nota. Solo i membri di questo blog possono postare un commento.