Sei sulla pagina 1di 11

Calcolabilit` a 2012/2013 M.

Di Ianni
Gli eroi della nostra storia
Da Time del 29 marzo 1999: Nei moderni calcolatori conuiscono tante idee e tanti progressi tecnologici che sarebbe
temerario assegnare a una sola persona il merito di averli inventati. Ma rimane il fatto che chiunque batta su una tastiera
aprendo una tabella a doppia entrata, o un programma di videoscrittura, lavora su una incarnazione della macchina di
Turing.
In questa dispensa, cerchiamo di ripercorrere alcune delle tappe principali del pensiero umano che hanno condotto alla
macchina Universale di Turing.
Torniamo, dunque, al sogno di Leibniz e a quello che, tale sogno ha ispirato ai logici del periodo che va dalla met` a del
XVIII alla met` a del XIX secolo.
Ricordiamo che Leibniz sognava lesistenza di un linguaggio tanto potente da poter
a) rappresentare tutta la conoscenza umana
b) risolvere qualsiasi problema, posto su qualunque argomento, mediante lapplicazione meccanica delle regole
del linguaggio.
In realt` a, il sogno di Leibniz ha radici molto antiche, molto anteriori alla sua nascita.
6.1 La logica di Aristotele
La Logica Aristotelica ` e raccolta in una serie di scritti dal titolo complessivo di Organon, ossia, in greco Strumento.
Comunque, i termini logica e organon sono posteriori. Il termine che Aristotele (383 a.c.) utilizza per designare
loggetto dei suoi studi ` e analitica, per indicare che si tratta di un metodo di risoluzione del ragionamento ai suoi
elementi costitutivi.
Organon ` e il nome dato da Andronico di Rodi (I sec. a.C.), seguace di Aristotele tra i Peripatetici, alledizione standard
delle sue sei opere di logica. Secondo altre fonti, il termine Organon viene utilizzato per la prima volta da Alessandro
di Afrodisia (I sec. d.C.) e fu poi adottato dal VI d.C. per denominare il complesso degli scritti aristotelici. Comunque
sia, il termine Organon signica strumento e servirebbe a sottolineare la funzione propedeutica o introduttiva della
logica come strumento di cui si avvalgono tutte le scienze.
Il termine logica ` e quasi certamente di origine stoica, e possiamo intenderlo come scienza dei logoi, ossia, scienza
dei discorsi, riferendosi al suo oggetto di studio: il pensiero espresso nei discorsi.
Lo sviluppo della logica aristotelica va pensato in parallelo allo sviluppo della metasica. In effetti, Aristotele non
inserisce la logica nel quadro delle scienze come scienza a s e stante. Piuttosto, Aristotele la intendeva come studio
della struttura della scienza in generale. Infatti, secondo Aristotele esiste un rapporto necessario fra le forme del
pensiero, studiate dalla logica, e le forme della realt` a, studiate dalla metasica. Lesistenza di questo rapporto ` e una
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 1
delle questioni pi` u controverse che hanno occupato i matematici del periodo che ci accingiamo ad analizzare (XIX e
XX secolo).
Alla base della logica aristotelica ` e il concetto di proposizione: una affermazione che pu` o avere uno solo di due valori,
vero oppure falso. Aristotele fondava la logica su tre principi:
- principio di identit` a: ogni proposizione ` e uguale a s e stessa;
- principio di non contraddizione: non possono essere contemporaneamente vere sia una proposizione che la sua
negazione;
- principio del terzo escluso: fra una proposizione e la sua negazione, almeno una di esse deve essere vera.
Osserviamo che sul principio del terzo escluso ` e basata la tecnica di dimostrazione per assurdo: poich e una afferma-
zione genera una contraddizione allora essa deve essere falsa e, quindi, in virt` u del principio del terzo ecluso la sua
negazione deve essere vera.
Il principio di non contraddizione ` e considerato da Aristotele il perno di ogni ragionamento, come ` e espresso nella sua
Metasica:
`
E impossibile che la stessa qualit` a appartenga e non appartenga alla stessa cosa . . . Questo ` e il pi` u certo
di tutti i principi . . . Per questa ragione tutti coloro che eseguono qualche dimostrazione si riferiscono ad esso come a
una conoscenza fondamentale. Esso ` e infatti, per natura, la fonte di tutti gli altri assiomi
1
.
Aristotele introdusse anche il ragionamento per sillogismo. Il sillogismo (dal greco syllogism` os, formato da syn,
insieme, e logism` os, calcolo: quindi, ragionamento concatenato) ` e un tipo di ragionamento dimostrativo che,
partendo dai tre tipi di termine giunge ad una conclusione collegando i suddetti termini attraverso brevi enunciati
(premesse). Il sillogisma pi ` u noto di Aristotele ` e il seguente:
Socrate ` e un uomo (premessa maggiore)
Tutti gli uomini sono mortali (premessa minore)
Allora, Socrate ` e mortale (conclusione).
I termini di un sillogismo sono detti maggiore, che funge da predicato nella conclusione (nellesempio, mortale),
medio (nellesempio, uomo e uomini) e minore, che nella conclusione funge da soggetto (nellesempio, Socrate); essi
vengono classicati in base al rapporto contenente - contenuto, e sulla base di tale classicazione, dalle premesse si
deriva la conclusione.
Le proposizioni che compongono un sillogismo categorico possono essere:
- universali affermative (Tutti gli A sono B),
- universali negative (Nessun A ` e B),
- particolari affermative (Qualche A ` e B),
- particolari negative (Qualche A non ` e B).
Il sillogismo non ` e altro che una regola di inferenza. Nella logica matematica, una regola di inferenza ` e latto di trarre
una conclusione basandosi sulla forma delle premesse. Nel caso una regola di inferenza sia corretta allora stabilisce
quando un enunciato formalizzato (cio` e, come si dir` a molto pi ` u tardi, una formula di un linguaggio proposizionale
o del primo ordine) ` e conseguenza logica di un altro soltanto sulla base della struttura sintattica degli enunciati.
Possiamo, allora, considerare il sillogismo come il primo passo verso lautomatizzazione dei processi deduttivi, ossia,
verso ci ` o che oggi chiamiamo calcolabilit` a.
Il sillogismo che abbiamo descritto risponde alla regola di inferenza detta del modus ponens, che nel linguaggio
proposizionale viene espressa come
[ ( p q ) wedge p ] q,
1
Come riportato nel testo di Davies (Nota a ne dispensa), questo passo viene citato in G. Boole, An investigation of the Laws of Thought on
which are Founded the Mathematical Theories of Logic and Probabilities, 1854.
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 2
che va interpretata nel modo seguente: se so che ogni volta che ` e vera p anche q ` e vera, e mi accorgo che, nel mio
caso particolare, p ` e vera, allora posso dedurre che, nel mio caso particolare, q ` e vera
2
Il modus tollens ` e una seconda regola di inferenza della logica proposizionale, sviluppata compiutamente per la prima
volta dai logici medievali ma conosciuta gi` a agli stoici. Letteralmente, modus tollens possiamo tradurlo come: il
modo che toglie la verit` a di una proposizione togliendo quella di unaltra. Nel linguaggio proposizionale essa viene
espressa come
[ ( p q ) wedge q ] p,
che va interpretata nel modo seguente: se so che ogni volta che ` e vera p anche q ` e vera, e mi accorgo che, nel mio
caso particolare, q ` e falsa, allora posso dedurre che, nel mio caso particolare, p ` e falsa.
Osserviamo che, comunque, nella logica proposizionale lunica regola di inferenza necessaria ` e il modus ponens.
Concludiamo questo paragrafo osservando che gi` a per gli stoici (300 a.c.) la logica non ` e pi` u solo uno strumento al
servizio della metasica, ma acquista dignit` a di disciplina autonoma.
Per logica gli stoici intendevano non solo le regole formali del pensiero che si conformano correttamente al Logos,
ma anche i costrutti del linguaggio con cui i pensieri vengono espressi: Logos pu` o signicare sia ragione che discorso;
dunque, oggetto della logica sono i logoi, ossia i ragionamenti espressi in forma di proposizioni.
Questo punto di vista avr` a immense conseguenze nel resto della nostra storia.
6.2 Boole e lalgebra della logica
Linteresse di George Boole (1815-1864) nella ricerca di un formalismo matematico in grado di produrre automa-
ticamente la risposta a qualsiasi problema ` e di chiara ispirazione leibniziana ed ` e testimoniato n dai suoi scritti
giovanili.
In Inghilterra, patria di Boole, si stava cominciando a capire che la potenza dellalgebra nasceva dal fatto che i simboli
scelti in rappresentanza di quantit` a e di operazioni ubbidivano ad un ristretto numero di regole. Come conseguenza di
ci ` o, gli stessi metodi dellalgebra erano applicabili a qualunque oggetto e operazione che ubbidissero alle stesse leggi.
Come abbiamo visto, a logica aristotelica (che era stato anche il punto di partenza di Leibniz) studiava i sillogismi, e
te forme del sillogismo includevano frasi del tipo: tutti gli uomini sono mortali, oppure nessun uomo ` e una pianta.
Boole comprese che, ai ni del ragionamento logico laspetto essenziale di parole come uomo o pianta era la classe
o collezione di tutte le individualit` a descritte dalla parola. Egli, inoltre, individu` o un sistema per formulare questo tipo
di ragionamenti per mezzo di unalgebra delle classi: le classi venivano indicate come lettere (ad esempio, x) cos`
come gi` a venivano utilizzate per rappresentare numeri nellalgebra ordinaria. Se x ed y rappresentavano due classi,
Boole indicava con xy la classe degli oggetti che stavano sia in x che in y
3
: in qualche modo, Boole stava assimilando
questa nuova operazione fra classi alla moltiplicazione numerica. Sussisteva, per` o, una differenza sostanziale: se x ` e
la classe dei ori rossi, allora xx ` e ancora la classe dei ori rossi. Ossia, nella nuova algebra che stava nascendo era
sempre valida lequazione
xx = x. (6.1)
Questa osservazione indusse Boole a considerare la stessa equazione nellalgebra ordinaria: nellalgebra ordinaria
lequazione xx = x ` e vera se e soltanto se x = 0 oppure x = 1. Dunque, lalgebra della logica coincide con lalgebra
ordinaria limitata ai due soli valori 0 e 1.
I due valori 0 e 1 andavano, quindi, interpretati come classi. Per capire, per` o, in che modo consideriamo le moltiplica-
zioni per 0 e per 1 nellalgebra ordinaria: qualunque sia il valore di x,
0 x = 0 1 x = x.
Se interpretiamo le due identit` a sopra nel linguaggio delle classi, ese sono vere quando indichiamo con
0 la classe che non contiene alcunch e, che oggi chiamiamo insieme vuoto,
1 la classe che contiene qualunque entit` a cui possiamo pensare, che potremmo chiamare universo.
2
Si osservi lutilizzo dei due diversi simboli di implicazione (implicazione materiale) e (implicazione logica).
3
Tale classe viene chiamata, nella Teoria degli Insiemi, intersezione di x ed y, e loperazione che la calcola viene indicata con il simbolo .
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 3
Rimaneva ancora da interpretare, nella nuova algebra, laltra operazione denita nellalgebra ordinaria: laddizione.
Boole stabil` che x +y rappresentava la classe contenente tutto ci` o che ` e contenuto in x o in y
4
Boole individu` o nella sua algebra anche loperazione inversa delladdizione: x y denota la classe contenente tutto
ci ` o che ` e contenuto in x ma non ` e contenuto in y. In particolare, 1 x, la classe complemento di x, rappresenta tutto
ci ` o che non ` e contenuto in x. Allora,
x + (1x) = 1,
ossia, qualunque oggetto deve essere in una classe o nel suo complemento: una rilettura del principio del terzo escluso
di Aristotele.
Utilizziamo, ora, la notazione x
2
per indicare xx e vediamo come possiamo interpretare la regola fondamentale di
Boole (6.1): tale regola pu` o venire scritta come x
2
= x da cui, applicando il primo principio di equivalenza delle
equazioni dellalgebra ordinaria, otteniamo x
2
x = 0. Possiamo, come nellalgebra ordinaria, raccogliere a fattor
comune e ottenere
x (1x) = 0,
ossia, niente pu` o sia appartenere che non appartenere a una classe. Per Boole questo fu un risultato entusiasmante,
che rafforz` o la sua convinzione di essere sulla strada giusta: infatti, questa equazione esprimeva proprio quel principio
di non contraddizione che Aristotele ha descritto come lassioma fondamentale di tutta la losoa.
6.3 Frege, la teoria degli insiemi e Russell
La teoria degli insiemi ` e stata introdotta nellambito degli studi dei fondamenti della matematica e pu` o essere consi-
derata parte della logica matematica.
Prima della met` a del sec. XIX la nozione di insieme veniva considerata solo come qualcosa di intuitivo e generico.
La nascita della Teoria degli insiemi come branca della matematica viene generalmente fatta risalire alla pubblicazio-
ne, nel 1874, dellarticolo del matematico tedesco Georg Cantor (1845-1918)

Uber eine Eigenschaft des Inbegriffes
aller reellen algebraischen Zahlen (Su una propriet` a della collezione dei numeri reali algebrici). Fra il 1879 e il
1884, Cantor pubblic` o una serie di sei articoli nei Mathematische Annalen che, nel loro complesso, costituiscono una
introduzione alla sua teoria degli insiemi.
Il termine insieme ` e la parola chiave della matematica del XX secolo, proprio grazie al contributo di Cantor che ha
permesso di rifondare lintera matematica sulla teoria degli insiemi. In effetti, si ` e passati, successivamente dalla teoria
ingenua di Gottlob Frege (1848-1925) alla teoria assiomatica di Zermelo-Fraenkel, attraverso un lungo travaglio che
ha modicato sensibilmente il modo di vedere la matematica.
Gottlob Frege (1848-1925), matematico e losofo tedesco, uno dei pi` u grandi logici del nostro tempo, ` e stato il
primo fautore del logicismo, ossia della prospettiva secondo la quale laritmetica, in quanto costituita da proposizioni
analitiche, sarebbe riducibile alla sola logica. In effetti, con la sua rivoluzionaria opera Begriffsschrift (difcilmente
traducibile, che possiamo rendere come Ideograa o Scrittura per concetti) del 1879 voleva aprire una nuova era
rifondando la matematica sulla logica. Oltre alla Ideograa, egli successivamente al suo progetto in Die Grundlagen
der Arithmetik (I Fondamenti dellaritmetica) e in Grundgesetze der Arithmetik (I Principi dellaritmetica): queste
opere rappresentarono appunto il tentativo di derivare esplicitamente le leggi dellaritmetica da un sistema di assiomi
mediante un calcolo logico costituito da lunghe catene deduttive nelle quali, secondo Frege, non avrebbe dovuto
inserirsi nulla di intuitivo e di non deducibile logicamente. Dati i limiti del linguaggio naturale, sottolineati spesso in
modo critico dallo stesso Frege, al ne di realizzare questo progetto era necessario utilizzare un linguaggio formale
dotato di un suo proprio simbolismo, di un linguaggio in formule del pensiero puro a imitazione di quello aritmetico: ` e
appunto questo il linguaggio simbolico presentato nellIdeograa. Si osservi come tali concetti riconducano al calculus
ratiocinator di Leibniz.
Abbiamo gi` a visto che il concetto di insieme ` e un concetto primitivo. Intuitivamente, possiamo dire che un insieme ` e
un aggregato di oggetti che vericano tutti la propriet` a caratteristica o legge di appartenenza ma che, in questo modo,
utilizziamo soltanto un sinonimo per la parola insieme.
La teoria ingenua degli insiemi di Frege si fonda sui due principi enunciati nel seguito.
4
Tale classe viene chiamata, nella Teoria degli Insiemi, unione di x ed y, e loperazione che la calcola viene indicata con il simbolo .
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 4
1) Il principio di estensionalit` a: enunciato per la prima volta da Leibniz, afferma che due insiemi con gli stessi
elementi sono uguali.
2) Il principio di comprensione: afferma che ogni propriet` a determina un insieme ed ogni insieme ` e determinato
da una propriet` a.
Lobiettivo, ambizioso, di Frege era quello di fondare lintera matematica su due principi cos` semplici e logica-
mente elementari. Comunque, nel 1902 Bertrand Russell (1878-1932) scopr` che il principio di comprensione era
contraddittorio.
La dimostrazione di Russell della contaddittoriet` a del principio di comprensione consiste, sostanzialmente, nelle-
sibizione di un controesempio. In generale, un controesempio relativo ad una affermazione ` e un esempio in cui
laffermazione ` e non vera . In particolare, il controesempio al principio di consistenza proposto da Russell si basa
sulla seguente osservazione: un insieme pu` o anche contenere s e stesso come oggetto. Ad esempio, linsieme dei con-
cetti astratti un concetto astratto e, dunque, linsieme dei concetti astratti appartiene allinsieme dei concetti astratti.
Daltra parte, non tutti gli insiemi contengono s e stessi come oggetto: linsieme dei ori rossi non ` e un ore rosso e,
dunque, linsieme dei ori rossi non appartiene allinsieme dei ori rossi.
Sia, allora, A linsieme degli insiemi che non contengono s e stessi come oggetto. La questione, ora, ` e decidere
A A?
Supponiamo che A A: allora A conterrebbe s e stesso come oggetto, dunque non potrebbe contenere A.
Allora, A non deve appartenere ad A; ma, in questo caso, A non contiene s e stesso come oggetto, e dunque A A.
Dunque, si giunge ad una contraddizione sia partendo dallipotesi A A che partendo dallipotesi A A. In altri
termini, la propriet` a contiene s e stesso come oggetto non determina un insieme, e il principio di comprensione viene
contraddetto.
Il paradosso (o, pi ` u propriamente, lantinomia) di Russell minacciava la consistenza stessa della matematica. Numero-
si tentativi furono tentati dallo stesso Russell e da gran parte dei logici che operarono nella prima met` a del XX secolo
per superarlo. Nel tentativo di risolvere lantinomia, in modo tale da conservare la validit` a dellidea (alla base del
Logicismo) per cui la matematica pu` o essere fondata completamente dalla logica, Russell svilupp` o in collaborazione
con Alfred North Whitehead la teoria dei tipi, esposta nei tre monumentali volumi dei Principia Mathematica (pubbli-
cati fra il 1910 e il 1913). Partendo dalla logica pura dellIdeograa di Frege, utilizzando solo passi semplici e diretti
(aiutati dal sistema simbolico introdotto da Peano), gli Russell e Whitehead tentarono di evitare i paradossi grazie ad
una elaborata e pesante straticazione in cui ogni insieme poteva avere solo elementi appartenenti ad uno stesso strato.
Tuttavia, questa struttura rendeva necessaria lintroduzione di un principio (di validit` a dubbia) che permettesse di at-
traversare le barriere fra strato e strato: lassioma di riducibilit` a. Nonostante i loro punti deboli, comunque, i Principia
Mathematica rappresentano una pietra miliare nella storia dei fondamenti della matematica, perch e dimostrarono la
fattibilit` a della formalizzazione completa della matematica allinterno di un sistema di logica simbolica.
La distinzione fra classi e insiemi e lintroduzione di nuovi assiomi ha portato, successivamente, al passaggio alla teoria
assiomatica degli insiemi. Fra i diversi sistemi assiomatici proposti, si sono assestati due sistemi di assiomi chiamati
rispettivamente sistema assiomatico di Zermelo-Fraenkel e sistema assiomatico di Von Neumann-Bernays-G odel.
6.4 Hilbert e lEntscheidungsproblem
Negli anni Venti del ventesimo secolo il matematico tedesco David Hilbert (1862-1943) lanci` o una sda che avrebbe
portato a risultati tanto sorprendenti quanto inattesi: fondare la matematica sulla matematica stessa, ossia, usare gli
stumenti messi a disposizione dalla matematica per convalidare la matematica stessa.
Linteresse di Hilbert per i fondamenti della matematica e, in particolare con il pensiero astratto, sono evidenti n
dai suoi primi lavori. Nel 1897, con la pubblicazione dello Zahlbericht (Relazione sui numeri) Hilbert present` o una
risistemazione critica di tutto il settore della Teoria Algebrica dei Numeri (disciplina, peraltro, relativamente nuova)
a partire dai suoi principi fondanti. Nel 1898 tenne un corso di Elementi di Geometria Euclidea nel quale si propose
di fondare la geometria. Hilbert introdusse una assiomatizzazione della geometria che sottolineava la natura astratta
dellargomento: si doveva dimostrare conla pura logica che i teoremi seguivano dagli assiomi, senza linuenza di
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 5
quello che possiamo vedere osservando una gura. Stando a un famoso aneddoto, Hilbert avrebbe sostenuto che i
teoremi devono rimanere veri anche se parlano non di punti, rette e piani, ma di tavoli, sedie e boccali di birra, sempre
che questi oggetti obbediscano agli assiomi.
Hilbert dimostr` o che i suoi assiomi erano coerenti, ossia non derivava da essi alcuna contraddizione: in realt` a, ci ` o che
venne dimostrato da Hilbert era che ogni eventuale contraddizione del suo sistema di assiomi ne avrebbe determinanta
una anche nellaritmetica dei numeri reali. In altri termini, aveva ridotto la coerenza della geometria euclidea a quella
dellaritmetica, rimandando, di fatto, la prova della coerenza di questultima.
Durante il Congresso Internazionale dei Matematici di Parigi del 1900, Hilbert present ` o una relazione in cui propose
la sda del Novecento: ventitr e problemi che apparivano intrattatibili con i metodi esistenti. Il primo di tali problemi
era lipotesi del continuo di Cantor. Il secondo dei problemi posti da Hilbert era proprio la coerenza degli assiomi
dellaritmetica dei numeri reali. Comunque, Hilbert inizi` o ad affrontare sul serio il problema solo negli anni Venti
quando inizi` o a coniderare il dualismo dentro al sistema / fuori dal sistema: ossia, introdusse un linguaggio simbolico
puramente formale nel quale sviluppare contemporaneamente matematica e logica e che aveva signicati diversi se
visto dallinterno o dallesterno. Visto dallinterno, non era che matematica, in cui ogni passo deduttivo era totalmente
esplicitato. Visto dallesterno, invece, non era che un insieme di formule e manipolazioni di simboli che potevano
essere eseguite a prescindere dal loro signicato. Hilbert si proponeva di dimostrare che in un tale linguaggio non era
possibile derivare due formule che contraddicessero in maniera esplicita.
In questo modo, Hilbert aveva steso unimportante linea di demarcazione fra il suo lavoro ed i contenuti dei Principia
Mathematica di Russell e Whitehead. In effetti, mentre Frege aveva compreso con chiarezza di avere a che fare con
due livelli linguistici (quello del sistema formale da lui costruito e quello del linguaggio ordinario nel quale si poteva
parlare di tale sistema), nei Principia Mathematica i due livelli venivano confusi: pertanto, il problema della coerenza
della struttura, cruciale per Hilbert, nei Principia Mathematica non si poneva nemmeno.
In un manuale di logica pubblicato (insieme ad Ackermann) nel 1928, Hilbert pose due problemi relativi alla logica di
base della Ideograa di Frege (quella che oggi chiamiamo logica del primo ordine):
1) dimostrare che la logica del primo ordine era completa, ossia, dimostrare che ogni formula che, vista dallester-
no, appariva valida poteva essere derivata dentro il sistema utilizzando solo le sue regole;
2) trovare un metodo che, data una formula della logica del primo ordine, determinasse in un numero nito di passi
ben deniti ed effettivi, se essa era o non era valida.
Il secondo di questi problemi ` e noto come lEntscheidungsproblem (problema della decisione) e, come vedremo, fu lo
spunto di partenza che condusse alla Macchina Universale di Turing.
Durante il Congresso Internazionale dei Matematici di Bologna del 1928, Hilbert pose un problema che ` e una restri-
zione di quello descritto al punto 1) sopra. In particolare, Hilbert pose il problema della completezza dellAritmetica
di Peano (in breve, PA, illustrata nellAppendice A della Dispensa 4), intendendo, con ci ` o, che di ogni proposizione
esprimibile in PA si potesse dimostrarne in PA la verit` a o la falsit` a. Poco dopo, un giovane logico avrebbe dato a
questo problema una soluzione del tutto inaspettata.
6.5 G odel e il Teorema di Incompletezza
Abbiamo gi` a incontrato Kurt G odel (1906-1978) in relazione ai suoi studi sullipotesi del continuo di Cantor, e gi` a
sappiamo come inizi ` o ad interessarsi ai fondamenti della matematica.
Una volta presa la direzione che lo conduceva verso i fondamenti della matematica e verso il lavoro di Cantor sullin-
nito attuale, G odel utilizz` o la sua profonda inclinazione losoca per porre domande di importanza essenziale: che
cosa ` e una dimostrazione? La dimostrazione di una proposizione coincide con la verit` a della proposizione stessa? Una
proposizione vera ` e sempre dimostrabile? Pu` o un sistema limitato produrre la dimostrazione di qualcosa che va al di
l` a del sistema?
Nella sua tesi di dottorato, G odel affront ` o il primo dei problemi posti da Hilbert ed Ackermann: lo studio delleven-
tualit` a che nellinsieme di regole deduttive dellIdeograa di Frege incorporate nei Principia Mathematica esistessero
delle lacune, ossia, inferenze deduttive da una qualche ipotesi ad una qualche tesi che, viste dallesterno, apparissero
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 6
corrette ma tali che le regole di Frege non permettevano di derivare la tesi dalle ipotesi. In altre parole, ci` o che Hilbert
volva dimostrare era che
se un presunto teorema ` e tale che
ogni assegnazione di valori alle variabili in esso presenti che renda vera lipotesi rende vera anche
la tesi
allora il teorema ` e dimostrabile usando le regole di Frege-Russell.
La tesi di dottorato di G odel con il suo Teorema di completezza (1929) dimostra quanto si proponeva Hilbert. Esso
stabilisce una corrispondenza tra la verit` a semantica di una asserzione e la sua dimostrabilit` a logica nella logica del
primo ordine.
Dopo aver dimostrato il Teorema di completezza, G odel inizi ` o ad interessarsi al problema posto da Hilbert durante il
Congresso di Bologna del 1928, ossia, la verica che di ogni proposizione esprimibile in PA si potesse dimostrarne
in PA la verit` a o la falsit` a. La prima cosa sulla quale G odel cominci ` o a riettere fu quello che poteva signicare
considerare un sistema logico dallesterno anzich e dallinterno. Whitehead e Russell avevano mostrato che lintera
matematica ordinaria poteva essere sviluppata dentro un sistema formale; di contro, Hilbert si proponeva di usare me-
todi matematici per studiare questi sitemi formali dal di fuori, denendo, di fatto, una sorta di metamatematica.
G odel inizi ` o allora ad interrogarsi circa la possibili` a di sviluppare la metamatematica stessa dentro un sistema formale.
Visti dallinterno, questi sistemi esprimono proposizioni a proposito di oggetti matematici, ma visti dallesterno essi
appaiono come relazioni fra stringhe e simboli. Chiariamo questo concetto con un esempio: consideriamo la proposi-
zione relativa al sistema PA ogni numero naturale che abbia un predecessore ` e maggiore o unguale ad 1. Possiamo
esprimere tale proposizione nella logica del primo ordine come
x [ y : A(x, y) F(x) ],
assegnando il signicato opportuno ai simboli x, y, A e F. Vista dallesterno, tale espressione non ` e altro che una
sequenza di simboli, che potremmo interpretare anche chiunque ami ` e felice.
A questo punto, G odel individu` o un procedimento per codicare le stringhe di simboli mediante numeri naturali: la
g odelizzazione, che abbiamo gi` a incontrato. E si rese conto che con una tale codica, lesterno poteva essere portato
allinterno. In altri termini, G odel si accorse che era possibile utilizzare i codici per costruire la metamatematica di un
sistema logico formale allinterno del sistema stesso.
Indichiamo con PM il sistema logico formale dei Principia Mathematica di Russell e Whitehead. G odel riusc` a
dimostrare che
la propriet` a di un numero naturale di essere il codice di una proposizione dimostrabile in PM ` e essa
stessa esprimibile in PM.
Forte di questo risultato, G odel riusc` a costruire in PM proposizioni A che, conoscendo la codica utilizzata, potevano
essere intrepretate come esprimenti il fatto che una certa proposizione B non era dimostrabile in PM. G odel si chiese,
poi, se A e B, che generalmente sono proposizioni diverse, avrebbero potuto coincidere. In effetti, potevano coincidere,
e G odel riusc` a dimostrarlo utilizzando la tecnica della diagonalizzazione di Cantor.
Dunque, G odel era riuscito ad ottenere una proposizione U cos` strutturata
U = U non ` e dimostrabile in PM.
Supponiamo, ora, che tutto ci ` o che viene dimostrato in PM sia vero; allora, con la sequenza di passi illustrati di seguito,
arriviamo a dimostrare che U ` e vera ma non dimostrabile, n e confutabile, in PM.
U ` e vera. Supponiamo, infatti, che U sia falsa: allora, ` e falso che U non ` e dimostrabile in PM; quindi U ` e
dimostrabile in PM e dunque, poich e abbiamo supposto che tutto ci` o che viene dimostrato in PM ` e vero, U deve
essere vera, contraddicendo lipotesi che sia falsa. Quindi, U ` e vera.
U non ` e dimostrabile in PM. Poich e U ` e vera deve essere vero quello che afferma!
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 7
La negazione di U, U, non ` e dimostrabile in PM. Poich e U ` e vera, allora U ` e falsa; ma poich e abbiamo
supposto che tutto ci` o che viene dimostrato in PM ` e vero, allora U non ` e dimostrabile in PM.
Per affermare che n e U n e la sua negazione U sono dimostrabili in PM, si dice che U ` e indecidibile in PM. Ribadiamo
che, comunque, lindecidibilit` a ` e soltanto interna a PM, mente, dallesterno U ` e una proposizione vera.
G odel riusc` anche a dimostrare che: entro PM si pu` o dimostrare
se PM ` e coerente, allora U. (6.2)
Questo ha una conseguenza notevole. Poich e sappiamo che U non ` e dimostrabile in PM, allora la coerenza di PM
non pu` o essere dimostrata in PM (altrimenti la dimostrazione della coerenza di PM unita alla dimostrazione di (6.2)
sarebbe una dimostrazione di U).
La pubblicazione nel 1931 di questi risultati nel lavoro Su alcune proposizioni indecidibili dei Principia Mathemati-
ca e di sistemi afni
5
fu preceduta da una presentazione informale degli stessi durante la Conferenza sullepistemo-
logia delle scienze esatte tenutasi a K onigsberg nel 1930. Al termine della presentazione, ebbe luogo conversazione
fra G odel e Von Neumann in cui G odel chiar` ulteriormente la questione della indimostrabilit` a della coerenza di PM.
La conclusione che Von Neumann ne trasse fu che questa era la ne del programma di Hilbert.
Si osservi, inne, come il Teorema di Completezza ed l Teorema di Incompletezza di G odel potrebbero, ad una analisi
poco attenta, apparire contraddittori. In effetti, per` o, essi si riferiscono a due accezioni diverse del termine comple-
tezza: il Teorema di Completezza afferma che tutte le formule che sono conseguenza logica sel sistema formale di
Frege sono dimostrabili, mentre il Teorema di Incompletezza dimostra che alcune formule non sono dimostrabili n e,
tantomeno, sono conseguenza logica di una certa teoria.
6.6 Da Leibniz alla Macchina Universale di Turing (attraverso lEntscheidungsproblem)
Abbiamo gi` a visto molto del lavoro di Turing nella logica e nellinformatica. Quello che ci proponiamo di fare, in
questo paragrafo, ` e inquadrare il suo lavoro allinterno del movimento intellettuale che ha animato i logici che hanno
operato fra la met` a del XIX e la met` a del XX secolo. Ripercorriamo, dunque, brevemente, i passi pi ` u signicativi di
questo percorso.
Ricordiamo, allora, che il primo a sognare di ridurre i processi della mente umana a puro calcolo era stato Leibniz. Che,
sulla sua scia, Boole aveva progettato un sistema di calcolo che operasse, invece che sui numeri, sulle proposizioni.
Successivamente, Frege aveva prodotto un sistema di regole capace di riprodurre gli schemi deduttivi umani. G odel,
nella sua tesi di dottorato, aveva dimostrato che le regole di Frege erano complete. Hilbert aveva provato ad andare
anche oltre la questione della completezza e della coerenza dei sistemi formali, ponendo lEntscheidungsproblem: egli
cercava procedure di calcolo esplicite che, date alcune premesse ed una ipotetica conclusione, scritte nella notazione
della logica del primo ordine, permettessero sempre di stabilire se la seconda deriva dalle prime.
In effetti, il programma degli studi matematici consisteva (e consiste!) in buona parte di queste procedure, dette
anche algoritmi: a partire da quelle per eseguire le operazioni elementari (addizione, moltiplicazione, ecc.), a quelle
che permettono la risoluzione di espressioni algebriche, no alle procedure che permettono il calcolo di integrali e
la soluzione di equazioni differenziali. Hilbert, tuttavia, cercava un algoritmo di una potenza senza precedenti che,
almeno in linea di principio, avrebbe dovuto ridurre tutti i ragionamenti deduttivi a puro calcolo: il sogno di Leibniz.
Alan Turing (1912-1954) venne in contatto con i problemi connessi ai Fondamenti della Matematica nel 1935, seguen-
do un corso tenuto da M.H.A. Newman, che a sua volta, ne era rimasto affascinato dopo aver ascoltato Hilbert durante
5
In realt` a, il Teorema di Incompletezza di G

del ` e molto pi ` u potente di quanto illustrato in questa dispensa. Esso prova che in ogni formalizzazione
coerente della matematica sufcientemente potente da assiomatizzare la teoria elementare dei numeri naturali ` e possibile costruire una proposizione
sintatticamente corretta che non pu` o essere n

dimostrata n e confutata allinterno dello stesso sistema.


Si osservi che lesistenza di sistemi incompleti non ` e una scoperta particolarmente sorprendente - se si elimina il postulato delle parallele dalla
geometria euclidea si ottiene un sistema incompleto (nel senso che il sistema non dimostra tutte le proposizioni vere). Lessere incompleto per un
sistema formale signica semplicemente che esso non include tutti gli assiomi necessari a caratterizzare univocamente uno specico modello.
Ci ` o che G odel ha mostrato ` e che nella teoria dei numeri, nella teoria degli insiemi o nellanalisi matematica, in ogni sistema formale potente
come questi sistemi, non ` e mai possibile giungere a denire la lista completa degli assiomi che permetta di dimostrare tutte le verit` a: ogni volta che
si aggiunge un enunciato allinsieme degli assiomi, ci sar` a sempre un altro enunciato non incluso.
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 8
il Congresso di Bologna del 1928. Il corso di Newman terminava con il Teorema di Incompletezza di G odel.
In seguito alla dimostrazione di tale teorema era difcile credere che un algoritmo come quello pensato da Hilbert
potesse esistere e Turing cominci` o a pensare a come questo potesse essere dimostrato. Cos`, inizi` o a pensare a come
potesse essere denito, formalmente, un algoritmo, o un passo elementare, ed arriv` o alla denizione del linguaggio,
del modello formale di calcolo, che porta il suo nome, la Macchina di Turing.
Turing osserv` o, poi, che alcune macchine, con certi dati in ingresso si arrestano, mentre altre macchine con al-
tri dati non si arrestano. Come abbiamo gi` a visto dettagliatamente, queste osservazioni unite alla tecnica della
diagonalizzazione di Cantor, portarono Turing a dimostrare lesistenza di un problema indecidibile.
Prima di procedere, osserviamo che, prima di Turing, G odel aveva gi` a provato lesistenza di entit` a indecidibili. Cer-
chiamo, allora, di capire cosa aggiunge il lavoro di Turing a quello di G odel.
G odel dimostra che esistono proposizioni (vere) di cui non si pu dimostrare la verit` a; invece, Turing dimostra che non
esiste un algoritmo che verica se una proposizione ` e dimostrabile. Proviamo a chiarire questo concetto. Indecidibi-
le riferito ad un problema (come quello di Turing) ` e diverso da indecidibile riferito ad un enunciato, come quello
di G odel. Un problema non ` e mai una domanda singola, ma un insieme di domande, e la soluzione del problema ` e un
metodo che si applica uniformemente a tutte le domande che gli appartengono e d` a la risposta (appartenenza s` o no)
per ogni caso possibile. Che un enunciato sia indecidibile in una teoria vuol dire soltanto che n e lenunciato n e la sua
negazione sono dimostrabili nella teoria. Tuttavia esiste un collegamento, che si vede dalla dimostrazione; quando un
problema risulta indecidibile ` e perch e, per ogni metodo risolutivo proposto, esiste un caso particolare in cui il metodo
si blocca e non riesce a dare alcuna risposta, n e positiva n e negativa; su quel caso particolare, la risposta si comporta
come un enunciato indecidible in una teoria che riguardi le macchine di Turing.
Ci ` o che ci interessa, in questo paragrafo ` e comprendere in quale modo la dimostrazione dellindecidibilit` a dellHalting
Problem ` e in relazione con lEntscheidungsproblem. A questo scopo, rivediamo in questa ottica i passi principali della
dimostrazione. Ricordiamo che lidea alla base della dimostrazione era quella di associare un codice numerico (un
numero naturale) ad ogni macchina di Turing e ad ogni input di una macchina di Turing: in tal modo, il codice
numerico associato ad una macchina qualsiasi poteva anche essere dato come input alla stessa macchina. Deniamo,
allora, linsieme D:
D = { x N tali che x ` e il codice di una macchina di Turing e, inoltre, la macchina di Turing che ha
codice x non si ferma con input x }.
La dimostrazione di Turing prova che
Non esiste alcuna macchina di Turing che si ferma su tutti e soli gli input in D.
Denendo lEntscheidungsproblem, era chiaro ad Hilbert (e, naturalmente non soltanto a lui) che la sua soluzione
avrebbe fornito un algoritmo capace di risolvere ogni problema matematico a patto che esso sia descrivibile nel lin-
guaggio della logica del primo ordine. Quindi, se venisse trovato un problema matematico descrivibile nel linguaggio
della logica del primo ordine per il quale non esiste un algoritmo che lo risolve, questo comporterebbe linsolubilit` a
dellEntscheidungsproblem.
Ora, Turing ha dimostrato che non esiste una macchina di Turing (n e, dunque, un algoritmo costitituito da passi ele-
mentari ognuno dei quali richiede una memoria di dimensione costante ed il cui esito dipende da un numero costante
di stati) che risolve il problema n D?.
Il problema n D? pu` o essere espresso nella forma di seguito descritta che si avvicina maggiormente al liguaggio
dellEntscheidungsproblem.
Premessa: [il numero naturale n ` e il codice di una macchina di Turing] [il numero n ` e scritto sul nastro
(per il resto, vuoto) della macchina di Turing che ha codice n]
Conclusione: la computazione della macchina di Turing descritta nella Premessa che ha inizio nello stato
descritto nella Premessa ha termine.
Inoltre, ` e possibile tradurre entrambe queste proposizioni nel linguaggio della logica del primo ordine. Inne, ` e
possibile dimostrare che la conclusione pu` o essere derivata dalle premesse utilizzando le regole di tale linguaggio
(ricordiamo, il linguaggio introdotto da Frege) se e soltanto se la computazione in questione termina. Ma questo ` e
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 9
vero se e soltanto se n D.
Allora: se esistesse un algoritmo per lEntscheidungsproblem, potremmo usarlo per decidere lappartenenza a D.
Ossia, dato un numero naturale n, potremmo usare tale algoritmo per vericare se la Conclusione deriva dalla Pre-
messa: in caso affermativo sapremmo che n D, in caso negativo sapremmo che n D. Dunque, avremmo deciso
lindecidibile Halting Problem. La conclusione ` e che lEntscheidungsproblem ` e insolubile.
In effetti, ci ` o che Turing aveva mostrato ` e che non si pu` o usare una macchina di Turing per risolvere lEntscheidung-
sproblem. Per passare da questo risultato alla conclusione che nessun algoritmo pu` o risolvere lEntscheidungsproblem
aveva utilizzato la sua analisi del processo di calcolo (che lo aveva condotto alla denizione della Macchina di Tu-
ring) che lo induceva a ritenere che ogni processo di calcolo poteva essere eseguito da una macchina di Turing. Per
consolidare questa tesi, egli non solo dimostr` o che le sue macchine potevano eseguire una moltitudine ci calcoli mate-
matici complessi, ma ebbe lidea di costruire una macchina di Turing capace di svolgere, da sola, i compiti di tutte le
macchine di Turing: progett ` o, cos`, la Macchina di Turing Universale.
6.7 Autoreferenzialit` a e paradossi
Il paradosso del mentitore ` e il seguente:
Io sto mentendo.
Questo ` e effettivamente un paradosso. Infatti, potete credermi?
Supponiamo che mi crediate: allora starei dicendo la verit` a, ossia, sarebbe vero che sto mentendo. Ma se stessi men-
tendo non potrei certo dire la verit` a.
Allora, meglio non credermi. Cio` e, sto affermando il falso. Dunque, non ` e vero che sto mentendo. Ma se non sto
mentendo, allora sto dicendo la verit` a, mentre io affermo che sto mentendo . . .
Un lo conduttore collega lantinomia di Russell, il paradosso del mentitore, la dimostrazione del Teorema di Incom-
pletezza di G odel e lHalting problem di Turing, e tale lo ` e il concetto di autoreferenzialit` a. Autorefernzialit` a ` e una
situazione in cui una entit` a ` e chiamata ad operare su s e stessa: il mentitore afferma una verit` a riferita alla menzogna
contenuta nella sua stessa affermazione, Russell ha individuato un insieme che nulla poteva affermare circa la pro-
pria appartenenza a s stesso, la proposizine U di G odel afferma la propria indimostrabilit` a, Turing si interroga circa la
terminazione di una macchina il cui input ` e s e stessa.
Tuttavia, esiste una profonda asimmetria fra il ruolo giocato dallautorferenzialit` a dellantinomia di Russell e quello
giocato nelle prove di indecidibilit` a di Turing e di G odel.
Lautorferenzialit` a ha, evidentemente, avuto per Russell un ruolo sostanzialmente negativo. Individuando lantinomia
che porta il suo nome, Russell ha mostrato che il modo in cui stavano cercando di fondare la matematica aveva in s e
qualcosa di intrinsecamente contraddittorio e che, dunque, andava corretto. In altre parole, cercando di convincersi
che la Teoria degli Insiemi di Frege costituiva un sistema di fondamenti per la matematica valido, Russell si ` e scontrato
(diciamo cos`, per caso) con lantinomia e ha dovuto ricredersi.
Di contro, G odel e Turing hanno coscientemente cercato una situazione paradossale nel tentativo (riuscito) di dimostra-
re lincompletezza dei sistemi sui quali stavano lavorando. Dimostrare lincompletezza di un sistema, infatti, signica
provare lesistenza di una enti` a che in quel sistema pu` o essere descritta ma che in quel sistema non ` e contenuta. La
tecnica principe in questottica ` e, naturalmente, la diagonalizzazione di Cantor. Il ricorso allautoreferenzialit` a, poi,
ha permesso a G odel e Turing di costruire le entit` a diagonali cercate.
Con G odel e Turing, quindi, il ricorso allautorefernzialit` a ` e voluto (anzi, cercato). Ossia, lautoreferenzialit diventa
uno strumento di lavoro a tutti gli effetti, ed il ricorso al paradosso una nuova tecnica di dimostrazione.
Concludiamo questo (breve) racconto della storia della calcolabilit` a con una frase che ben riassume lo spirito della
questione:
Se ` e vero che un problema non si capisce a fondo nch e non lo si deve insegnare a qualcuno altro, a maggior ragione
nulla ` e compreso in modo pi approfondito di ci` o che si deve insegnare ad una macchina, ovvero di ci` o che va espresso
tramite un algoritmo. Donald Knuth
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 10
Appendice. Macchine e Algoritmi
Era dai tempi di Leibniz che si pensava alle macchine calcolatrici, ma prima di Turing si era sempre supposto che
macchina, programma e dati fossero entit` a completamente distinte. La macchina era un oggetto sico, quello che oggi
chiameremmo hardware; il programma era la sequenza di istruzioni che la macchina doveva eseguire, e che poteva
essere realizzato mediante una serie di schede perforate; inne, i dati erano lingresso numerico.
La Macchina Universale di Turing dimostrava che, da un punto di vista logico, queste distinzioni erano ttizie. Sui
primi due nastri della nostra implementazione della Macchina Universale sono registrati i dati e la sequenza di quin-
tuple della macchina di cui vogliamo simulare la computazione. Questa sequenza, dunque, ` e vista ed utilizzata dalla
Macchina Universale esattamente allo stesso modo in cui sono visti e trattati i dati; daltra parte, la sequenza di quin-
tuple si comporta esattamente come un programma che fornisce alla Macchina Universale le istruzioni per una corretta
esecuzione del calcolo sui dati.
Riettiamo, ora, sul processo di esecuzione di un programma da parte di un moderno calcolatore. Un programma
scritto in un qualsiasi linguaggio di programmazione ad alto livello non ` e altro che un insieme di dati che vengono
utilizzati dallinterprete o dal compilatore i quali lo elaborano, trasformandolo in modo tale che le sue istruzioni
possano essere eseguite.
A ben guardare, la Macchina di Turing Universale ` e il primo esempio di programma interprete: passo dopo passo,
essa individua la quintupla che deve eseguiure, la decodica e la esegue. Ancor pi ` u specicatamente, la Macchina di
Turing Universale fornisce un modello di interprete con programma memorizzato (piuttosto che sicamente realizzato
su qualche supporto esterno alla macchina), in cui le quintuple scritte sul nastro svolgono il ruolo del programma ma
senza che la macchina faccia distinzioni sostanziali fra i dati ed il programma.
In conclusione, lanalisi di Turing offriva una visione nuova e profonda dellantica arte del calcolo, rivelando che la
nozione di calcolo andava ben oltre i tradizionali calcoli aritmetici e algebrici.
Nota
Molto del materiale di questa dispensa ` e liberamente tratto da M. Davis :Il calcolatore universale, che, nuovamente,
invito tutti a leggere. Lintento divulgativo e la chiarezza espositiva lo rendono una fonte di stimolo intellettuale e un
ottimo strumento di approfondimento.
Calcolabilit` a, 2012/2013 Gli eroi della nostra storia 11