23 secoli di logica
di Roberto Vacca
Aristotele fu per 8 anni maestro di Alessandro di Macedonia, creatore di un impero durato pochi decenni, ma esteso quanto l’Impero Romano (5 milioni di km2).
Aristotele scrisse: “è necessario che ogni affermazione o negazione sia vera o falsa”. Creò la logica che si usa da 23 secoli e tratta, appunto, proposizioni (asserzioni) che siano vere o false, le quali accettano come veri alcuni primi principi indimostrabili e generano altre proposizioni mediante sillogismi. Ciascuna proposizione, inoltre, deve precisare il contenuto di 10 categorie (o predicamenti): sostanza, qualità, quantità, relazione, luogo, tempo, posizione, avere, agire, subire.
Aristotele sostenne, dunque, che ogni asserzione può essere vera oppure falsa e che non esiste una terza possibilità. Taluno chiama questa proposizione “principio del terzo escluso” [tertium non datur]. Il principio di non contraddizione dice: è impossibile affermare e negare allo stesso tempo e nello stesso senso un’asserzione. Questo modo di ragionare è stato adottato, commentato e precisato nel Medioevo dai filosofi cristiani fra cui Tommaso d’Aquino e Pietro Ispano. Quest’ultimo nelle sue Summulae Logicales ha sviluppato in dettaglio i modi in cui dalla conoscenza di certe proposizioni vere e false si possono dedurre verità e falsità di altre proposizioni. Precorse di 6 secoli la matematica della logica (booleana) introdotta nel 19° secolo dai matematici inglesi George Boole e Augustus de Morgan. Notoriamente l’algebra booleana fu usata da Claude Shannon, ed è usata oggi in ogni progetto di computer, per analizzare e costruire circuiti digitali.
In effetti ogni proposizione per cui non siano definite le 10 categorie stabilite da Aristotele, non può essere analizzata logicamente. A rigore non deve essere nemmeno considerata una proposizione, ma solo una forma di proposizione cui, non essendo vera, né falsa andrebbe attribuito un valore “terzo” – T – non vero [1 in algebra booleana] e non falso [0 in algebra booleana]. Logiche a più valori furono proposte da Lukasiewicz e Tarski (1930), da Gödel (1932) e da altri.
Nel 1952 J.B. Rosser ed A. R. Turquette opinarono che non possiamo concepire [né formulare] verità auto-evidenti in una logica a più valori.
È possibile, comunque, costruire una logica a 3 valori definendo operatori simili a AND, OR e INV (più altri) con cui realizzare qual si voglia funzione fra le 6561 possibili funzioni di 2 variabili a 3 valori. [ricordo che le possibili funzioni di 2 variabili a 2 valori sono 16].
Nel 1959 definii un sistema di logica a 3 valori e ne analizzai le applicazioni al progetto di circuiti digitali in base 3. Ero motivato dalla teoria secondo la quale circuiti di computer in base 3 sarebbero i migliori – più economici da realizzare, più veloci – perché 3 è più vicino di 2 alla base dei logaritmi neperiani e = 2,71828459045. In effetti nel 1965 Sergej Sobolev e Nikolay Brusentov realizzarono il computer SETUN che operava su numeri espressi in base 3. Aveva una memoria veloce di 81 parole composte da 18 “trits” e registrava su disco magnetico 1944 parole. Ne furono costruiti 50 esemplari, ma le ricerche in questa direzione furono interrotte.
Nel mio lavoro avevo progettato un addizionatore fra numeri espressi in base 3 e mostravo che il numero di operatori di commutazione a 3 livelli avrebbe dovuto essere sproporzionatamente maggiore del numero degli operatori in un addizionatore in base 2.
Nel 1969 Lofti Zadeh definì la logica “fuzzy” in cui il valore logico di una proposizione può essere un numero reale compreso fra 0 (totalmente falso) e 1 (totalmente vero).