Prendo in prestito il titolo di un agilissimo libretto divulgativo che però, nei contenuti, non rispecchia quello che il sottoscritto pensa immediatamente quando si parla di un simile argomento.
Quando si dice “matematica”, il pubblico colto pensa quasi sempre ai numeri, all'analisi, all'algebra lineare e matriciale, alla probabilità, alla statistica. Numeri reali, funzioni, derivate, integrali, matrici, probabilità, statistiche, grafici, regressioni, reti neurali, modelli predittivi. "Quella roba che si studia a scuola e all'Università", in soldoni, nell'immaginario collettivo. È comprensibile.
Per secoli, nella formazione tecnica, la matematica è stata presentata soprattutto come arte del calcolo, a fortiori nel mondo anglosassone dove l'analisi stessa diventa "calculus", nel bene e nel male (per quest'ultimo, si cerchi "How to write mathematics" di Paul Halmos): calcolare bene, stimare bene, approssimare bene, interpolare bene, ottimizzare bene.
Tutto vero. Ma non è tutto.
Esiste una vasta regione della matematica in cui i numeri non sono i protagonisti principali. Una matematica fatta di insiemi, relazioni, ordini, reticoli, grafi, alberi, parole, formule, termini, chiusure, implicazioni, algebre, morfismi, strutture finite, matrici booleane, funzioni logiche, concetti formali. Una matematica apparentemente meno “numerica”, ma in realtà essenziale per comprendere la computazione, la logica, l’organizzazione dell’informazione, la verifica dei sistemi, la rappresentazione della conoscenza, la progettazione degli algoritmi, le basi dei database, la classificazione dei dati, l’analisi dei requisiti, il ragionamento automatico e molta parte dell’odierna intelligenza artificiale simbolica e subsimbolica, che ormai è la vera reginetta del ballo, la top cheerleader della situazione — almeno fino al prossimo avvicendamento di mode, beninteso.
Il punto cruciale è che queste discipline vengono quasi sempre insegnate a compartimenti stagni. La teoria degli insiemi elementare? Confinata nel primo frettoloso capitolo dei manuali. La logica proposizionale e predicativa? In un corso di logica matematica, o come propedeutica in informatica teorica. I grafi? Algoritmica, matematica discreta. I reticoli? Qui andiamo anche peggio: compaiono organicamente, se va bene, solo in un esame avanzato di algebra o un raro corso di teoria dell’ordine, oppure per cenni sparsi e frammentari. L’algebra universale è confinata in un settore specialistico, la vedono quasi esclusivamente gli studenti di PhD che ne hanno realmente bisogno. La formal concept analysis è una "modernità" nota a pochissimi specialisti, figuriamoci. Le matrici booleane vengono di norma trattate come un giocattolo combinatorio o come una variante povera delle "vere" matrici numeriche. Le relazioni binarie, altro ectoplasma ubiquo, appaiono prima nei corsi elementari, poi nei database, poi nei grafi, poi nei preorder, poi nelle congruenze, quasi sempre come se fossero cose diverse. Le funzioni booleane vengono viste in elettronica digitale, in logica, in complessità computazionale, in teoria dei circuiti, nei BDD, negli algoritmi SAT, con una ridda di simbolismi incompatibili tra loro, quasi mai come manifestazioni diverse di uno stesso ecosistema.
Questa frammentazione è forse didatticamente comoda, ma concettualmente disastrosa. E il punto non è certo andare a snidare l'eccezione del tal docente che invece inserisce nelle dispense della magistrale di turno ampie digressioni su questi argomenti, o lo studente brillante che riesce ad infilarli nella tesi. Il problema è la norma, non certo l'eccezione, ed è una norma che investe trasversalmente generazioni di STEM attualmente nel mondo del lavoro: dai boomer quasi pensionati alla Z-gen appena sbarcata.
Perché il vero nucleo della matematica discreta moderna non è un elenco di argomenti. È una rete di criptomorfismi.
Un criptomorfismo, nel senso più interessante del termine concepito da Garrett Birkhoff e reso universale da Gian-Carlo Rota, non è semplicemente un isomorfismo scritto in modo elegante. È il riconoscimento che uno stesso oggetto matematico può presentarsi sotto molte forme diverse, ciascuna delle quali mette in luce una proprietà specifica. Una famiglia di sottoinsiemi può essere vista come una matrice booleana. Una relazione binaria può essere vista come un grafo diretto. Un grafo può essere visto come una matrice di adiacenza. Una chiusura può essere vista come una famiglia di insiemi chiusi. Una famiglia di insiemi chiusi può essere vista come un reticolo. Un reticolo può essere studiato tramite ordini parziali. Un ordine parziale può essere rappresentato tramite diagrammi di Hasse, ideali, filtri, tagli, operatori di chiusura. Una teoria implicazionale può generare una chiusura. Una chiusura può descrivere dipendenze funzionali, conseguenze logiche, vincoli, concetti, attributi, proprietà invarianti.
Cambia il linguaggio. Cambia la notazione. Cambia il manuale. Ma la struttura profonda rimane la stessa.
Questo è il punto che manca spesso nella formazione STEM contemporanea. Abbiamo prodotto generazioni di tecnici capaci di manipolare matrici reali, reti neurali, distribuzioni di probabilità, regressioni, big data, modelli bayesiani e algoritmi di apprendimento, ma spesso incapaci di riconoscere la stessa struttura quando passa da una tabella a una relazione, da una relazione a un grafo, da un grafo a un ordine, da un ordine a un reticolo, da un reticolo a una logica, da una logica a un sistema di implicazioni, da un sistema di implicazioni a un algoritmo di chiusura.
Eppure la computazione reale vive proprio lì.
Un database relazionale non è "anzitutto una raccolta di numeri": è una struttura di relazioni. Un sistema di tipi non è "anzitutto una tabella numerica": è una disciplina formale di classificazione, inferenza e compatibilità. Un compilatore non "lavora soltanto su stringhe": manipola alberi sintattici, grammatiche, termini, regole di riscrittura, grafi di controllo, reticoli di analisi statica. Un sistema di verifica non “calcola numeri” nel senso usuale: esplora stati, transizioni, invarianti, formule, modelli. Un algoritmo SAT non è "un esercizio di aritmetica": è manipolazione combinatoria di formule booleane. Un BDD non è "una tabella di valori": è una forma canonica compressa di una funzione logica. Un sistema di classificazione non è "soltanto statistica": è anche e soprattutto struttura concettuale, ordine, inclusione, dipendenza, gerarchia.
La matematica senza numeri non sostituisce la matematica con i numeri. La fonda, la affianca, la organizza, la rende intelligibile quando il problema non è misurare una grandezza continua, ma capire una struttura discreta.
Il caso della formal concept analysis (FCA) è esemplare.
La FCA parte da un’idea semplicissima: abbiamo oggetti, attributi e una relazione che dice quali oggetti possiedono quali attributi. Da questa struttura elementare nasce un intero universo. Ogni concetto formale è una coppia: da una parte l’insieme degli oggetti che condividono certi attributi, dall’altra l’insieme degli attributi comuni a quegli oggetti. No, non è psicologia dozzinale da rotocalco. Non è neppure vaghezza semantica. È una definizione matematica rigorosa, computabile, replicabile.
Da questa definizione emerge un reticolo dei concetti.
Qui avviene il salto. Una tabella oggetti-attributi diventa una struttura d’ordine. La classificazione non è più un elenco arbitrario di categorie, ma un reticolo in cui i concetti più generali e più specifici sono collegati in modo rigoroso. L’analisi dei dati diventa analisi delle implicazioni. Se tutti gli oggetti che hanno gli attributi A e B hanno anche l’attributo C, allora abbiamo una regola implicazionale. Se certe combinazioni di attributi generano chiusure, abbiamo operatori di chiusura. Se abbiamo operatori di chiusura, abbiamo famiglie chiuse. Se abbiamo famiglie chiuse, abbiamo reticoli. Se abbiamo reticoli, siamo dentro una delle strutture portanti dell’algebra, della logica e dell’informatica teorica.
Non è un dettaglio specialistico. È un nodo centrale.
La formal concept analysis mostra con rara chiarezza che classificare non significa banalmente apporre etichette. Classificare significa costruire una struttura di dipendenze. Significa capire quali proprietà implicano quali altre proprietà. Significa individuare gerarchie non arbitrarie. Significa trasformare dati grezzi in una mappa concettuale formalmente controllabile. Significa passare dalla tabella alla teoria. E dialoga naturalmente con molte architetture contemporanee di knowledge representation, ontologie, knowledge graph, basi di conoscenza e sistemi ibridi che oggi tornano utilissimi anche attorno all’ecosistema dell’intelligenza artificiale generativa.
Questo è esattamente il tipo di passaggio che uno STEM del terzo millennio deve saper riconoscere.
Non basta saper addestrare un modello. Non basta saper usare una libreria Python. Non basta conoscere l’algebra lineare necessaria per capire i transformer. Non basta sapere che cosa sia una distribuzione di probabilità o una rete bayesiana. Tutto questo è necessario, ma non sufficiente.
Perché sotto il livello numerico e statistico esiste il livello strutturale.
Le architetture software sono strutture. I protocolli sono strutture. I linguaggi sono strutture. I sistemi di requisiti sono strutture. Le ontologie sono strutture. I knowledge graph sono strutture. I modelli formali sono strutture. Le tassonomie sono strutture. I sistemi di autorizzazione sono strutture d’ordine. Le dipendenze tra moduli sono grafi. Le gerarchie di tipi sono ordini parziali. Le trasformazioni di programmi sono riscritture. Le equivalenze comportamentali sono relazioni. Le astrazioni sono quozienti. Le specifiche sono teorie. Gli invarianti sono proprietà chiuse rispetto a certe operazioni.
Se non si vede questa trama, si resta utenti evoluti di strumenti. Se la si vede, si comincia a progettare.
La teoria dei reticoli, in questo quadro, non è una bizzarra curiosità algebrica. È una grammatica generale dell’organizzazione. Ogni volta che abbiamo un ordine parziale dotato di estremi superiori e inferiori, abbiamo una forma di reticolo. Gli insiemi ordinati per inclusione generano reticoli. Le proposizioni ordinate per implicazione generano reticoli. Le partizioni ordinate per raffinamento generano reticoli. Le topologie, le sigma-algebre, le famiglie chiuse, gli ideali, i filtri, le congruenze: tutti questi oggetti parlano la lingua dell’ordine e della chiusura.
E questo linguaggio attraversa la matematica intera.
Uno dei luoghi in cui questa costellazione diventa più impressionante è la relazione tra logica e teoria dei reticoli.
A prima vista sembrano discipline lontane. La logica parla di proposizioni, dimostrazioni, conseguenze, modelli, verità, inferenza. La teoria dei reticoli parla di ordini parziali, estremi superiori, estremi inferiori, chiusure, ideali, filtri, congruenze. Ma questa distanza è in larga parte un effetto della didattica. In profondità, moltissima logica è teoria dell’ordine, e moltissima teoria dei reticoli è logica cristallizzata in forma algebrica.
Prendiamo un sistema logico. Le formule possono essere ordinate per implicazione: una formula sta sotto un’altra quando la prima implica la seconda, oppure quando la seconda è una conseguenza della prima, a seconda della convenzione scelta. In questo ordine, la congiunzione si comporta come un incontro, la disgiunzione come un’unione, il falso come elemento minimo, il vero come elemento massimo. Se identifichiamo le formule logicamente equivalenti, otteniamo una struttura algebrica: l’algebra di Lindenbaum-Tarski. Nel caso della logica classica proposizionale, questa struttura è un’algebra booleana. Nel caso della logica intuizionista, è un’algebra di Heyting. Nel caso delle logiche modali, temporali, descrittive o dinamiche, entrano in gioco operatori addizionali, spesso interpretabili come operatori su reticoli, algebre booleane con operatori, strutture relazionali o loro varianti.
Questo significa che la deduzione può essere vista come ordinamento, la conseguenza come chiusura, la teoria come filtro, l’incompatibilità come separazione, la negazione come operazione strutturale, l’equivalenza logica come congruenza. Non è una metafora da lavagna. È struttura, non analogia. È matematica.
Ogni volta che diciamo “da queste premesse segue questa conclusione”, stiamo implicitamente parlando di un operatore di conseguenza. Ma un operatore di conseguenza è, dal punto di vista strutturale, un operatore di chiusura: prende un insieme di formule e restituisce tutto ciò che da esse è deducibile. Le teorie sono precisamente gli insiemi chiusi rispetto a questa operazione. E gli insiemi chiusi, ordinati per inclusione, formano naturalmente strutture reticolari. Ancora una volta ritroviamo la stessa figura: conseguenza, chiusura, ordine, reticolo.
Qui la logica smette di apparire come un insieme di regolette sintattiche vecchie quanto Aristotele, e diventa una geometria dell’inferenza.
Questo passaggio è decisivo anche per comprendere la logica algebrica universale. La logica algebrica classica mostra come certe logiche possano essere rappresentate tramite algebre: la logica classica tramite algebre booleane, la logica intuizionista tramite algebre di Heyting, alcune logiche modali tramite algebre booleane con operatori, e così via. La logica algebrica universale fa un passo più generale: studia sistematicamente il rapporto tra sistemi deduttivi e classi di strutture algebriche, chiedendosi quando e in che senso una logica possa essere algebrizzata, quali informazioni deduttive corrispondano a quali informazioni equazionali, quali filtri logici corrispondano a quali congruenze, quali varietà o quasivarietà algebriche rappresentino certe forme di ragionamento.
Qui il ponte con l’algebra universale è naturale.
L’algebra universale studia insiemi dotati di operazioni, omomorfismi, sottostrutture, prodotti, quozienti, congruenze, identità. La logica studia formule, dimostrazioni, conseguenze, teorie, modelli, equivalenze. La logica algebrica universale mostra che questi due linguaggi non sono semplicemente accostati: spesso si traducono l’uno nell’altro. Le formule possono essere lette come termini. Le equivalenze deduttive possono diventare congruenze. Le regole logiche possono corrispondere a proprietà algebriche. Le teorie possono comportarsi come filtri. Le classi di modelli algebrici possono essere organizzate come varietà o quasivarietà. L’algebrizzazione di una logica è precisamente il momento in cui il calcolo deduttivo e la semantica algebrica si riflettono con sufficiente fedeltà.
Naturalmente non tutte le logiche sono algebrizzabili nello stesso modo. Ed è proprio qui che la teoria diventa feconda e interessante: esistono gradi, condizioni, gerarchie, casi forti e casi deboli. Alcune logiche hanno una controparte algebrica limpida e quasi perfetta; altre richiedono strumenti più fini; altre ancora mostrano esattamente dove la corrispondenza si incrina. Ma anche questo è parte della lezione generale: la logica non vive isolata. Ha una struttura algebrica, ordinata, reticolare, modellistica. E capire questa struttura significa capire molto meglio che cosa sia davvero un sistema logico.
Il professionista STEM che ha visto solo tabelle di verità, qualche regola di inferenza e magari i soliti cenni di logica del primo ordine FOL, di solito non sospetta nulla di tutto questo. Vede la logica come un prerequisito elementare, un capitolo introduttivo, una specie di grammatica del ragionamento corretto. Ma la logica moderna è anche e soprattutto teoria delle strutture, teoria delle algebre, teoria dei reticoli, teoria dei modelli, teoria della dimostrazione, teoria della computazione. È uno degli assi portanti dell’intero edificio.
Vi è poi un altro territorio che, per la maggior parte degli STEM, rimane quasi completamente invisibile, o (peggio) limitato ad una divulgazione di cassetta sulla preistoria delle dimostrazioni assistite da calcolatore e relativi battibecchi accademici: la teoria della dimostrazione.
Di solito si pensa alla dimostrazione come a un prodotto finito: un testo, una sequenza di passaggi, una giustificazione scritta di un teorema. Ma la logica moderna ha insegnato a guardare le dimostrazioni anche come oggetti matematici. Non solo strumenti per arrivare a una verità, ma strutture formali manipolabili, trasformabili, normalizzabili, confrontabili. Una dimostrazione può essere studiata per la sua forma, la sua complessità, le sue regole di costruzione, le sue riduzioni, le sue eliminazioni di tagli, il suo contenuto computazionale.
Qui entrano nomi come Hilbert, Gentzen, Gödel, Herbrand, Kleene (tutti bene o male già orecchiati a lezione in quanto genericamente “grandi logici” e/o come intestatari catastali di teoremi famosi), ma anche e soprattutto Prawitz, Girard, Troelstra, Schwichtenberg, Wainer. Non come namedropping da blog “scientifico” o medagliere storico, ma come coordinate di una geografia concettuale. Gentzen, con il calcolo dei sequenti e l’eliminazione del taglio, mostra che le dimostrazioni hanno una dinamica interna. Prawitz e la deduzione naturale mettono al centro la forma canonica dell’inferenza. Girard, con la logica lineare, mostra che le risorse logiche possono essere trattate con una finezza strutturale completamente nuova. Troelstra, Schwichtenberg e Wainer appartengono a quella tradizione in cui dimostrare, calcolare e normalizzare diventano aspetti di uno stesso fenomeno.
Per uno STEM abituato a pensare agli algoritmi come oggetti analizzabili, questo dovrebbe essere naturale. Se un algoritmo può essere studiato in termini di struttura, costo, normalizzazione, trasformazione e correttezza, anche una dimostrazione può esserlo. La dimostrazione non è soltanto il certificato finale che convince il lettore. È un oggetto formale dotato di architettura.
Qui si colloca una delle idee più profonde del Novecento logico: la corrispondenza di Curry-Howard.
Secondo questa corrispondenza, le proposizioni possono essere viste come tipi, e le dimostrazioni come programmi. Dimostrare una proposizione significa costruire un termine di un certo tipo. La normalizzazione di una dimostrazione corrisponde all’esecuzione o semplificazione di un programma. L’implicazione logica assomiglia al tipo funzione. La congiunzione assomiglia al prodotto. La disgiunzione assomiglia alla somma. L’assurdo corrisponde al tipo vuoto. Non si tratta di una vaga analogia pedagogica: è una corrispondenza tecnica, rigorosissima, fertile, che attraversa logica intuizionista, lambda-calcolo, teoria dei tipi, linguaggi funzionali, proof assistants, sistemi come Coq, Agda, Lean, Isabelle. Concretissimi, funzionanti, usati su base quotidiana da comunità crescenti di matematici, logici, informatici teorici e ingegneri.
A questo punto la frase “proofs as programs” smette di essere uno slogan e diventa una chiave di lettura dell’intera computazione formale. La dimostrazione è computazione. Il programma è dimostrazione. Il tipo è specifica. La correttezza non è appiccicata dopo, come una certificazione esterna: può essere incorporata nella costruzione stessa dell’oggetto.
Per chi lavora con software, sistemi critici, verifica, linguaggi, compilatori, specifiche formali, questa è una rivelazione operativa. Non certo perché tutti debbano diventare specialisti di teoria dei tipi, ma perché tutti dovrebbero sapere che esiste una tradizione in cui la separazione ingenua tra “programma” e “prova” viene superata alla radice.
Accanto a Curry-Howard va ricordato il teorema di Herbrand, uno dei grandi ponti tra logica del primo ordine, combinatoria e computazione.
Il teorema di Herbrand, in termini molto generali, mostra che sotto certe condizioni la validità di formule del primo ordine può essere ricondotta a istanze proposizionali costruite a partire dai termini del linguaggio. In altre parole, una parte del ragionamento quantificato può essere riportata a un problema combinatorio di istanziazione. Questo non rende magicamente facile la logica del primo ordine, ma spiega perché il legame tra quantificatori, termini, sostituzioni, alberi di ricerca, dimostrazione automatica e calcolo simbolico sia così profondo.
Herbrand è uno dei punti in cui si vede chiaramente che la logica non è un ornamento filosofico. È una tecnologia concettuale per trasformare problemi di conseguenza in problemi di costruzione, enumerazione, istanziazione, ricerca. Dalla risoluzione alla dimostrazione automatica, dai metodi tableaux ai prover moderni, dai sistemi di riscrittura alla logica computazionale, quel nucleo herbrandiano continua a riapparire.
Anche qui ritorna la stessa costellazione: formule, termini, alberi, sostituzioni, istanze, chiusure, conseguenze, ricerca combinatoria. La logica si rivela nuovamente matematica discreta ad altissima densità strutturale.
Vi è poi un’altra disciplina dal nome quasi paradossale, e proprio per questo perfetto: la reverse mathematics.
La matematica ordinaria procede, almeno idealmente, in avanti. Si scelgono assiomi, regole, principi, e da questi si dimostrano teoremi. La reverse mathematics rovescia la domanda: dato un teorema matematico ordinario, quali assiomi sono realmente necessari per dimostrarlo? Non quali assiomi bastano, in modo sovrabbondante, ma quali assiomi servono esattamente. Qual è la forza logica precisa di quel risultato?
È una domanda straordinaria.
Perché costringe a guardare un teorema non solo come una proposizione vera, ma come un oggetto con un peso fondazionale, dimostrativo, computazionale. Un teorema di analisi, combinatoria, algebra, teoria degli ordini, teoria dei grafi o topologia elementare può rivelarsi equivalente, sopra una base debole, a un certo principio di comprensione, compattezza, ricorsione o scelta. A quel punto il teorema smette di essere un risultato isolato e diventa una misura della struttura logica necessaria per ottenerlo.
Qui i nomi sono pesanti: Harvey Friedman, che ha dato l’impulso originario al programma; Stephen G. Simpson, che ne ha costruito una delle grandi sistemazioni canoniche; poi, attorno e accanto a loro, figure come Solomon Feferman, Georg Kreisel, Carl Jockusch, Gerald Sacks, Richard Shore, Theodore Slaman, Ulrich Kohlenbach, Antonio Montalbán, Denis Hirschfeldt, Damir Dzhafarov e molti altri che hanno intrecciato reverse mathematics, computabilità, proof theory, combinatoria, teoria dei modelli computabile e analisi costruttiva.
Il quadro classico della reverse mathematics lavora spesso entro sottosistemi dell’aritmetica del secondo ordine. Anche questo va capito bene. Non perché il fine sia aritmetizzare tutto per gusto scolastico, ma perché l’aritmetica del secondo ordine fornisce un laboratorio sufficientemente espressivo per codificare una grande quantità di matematica ordinaria: numeri, insiemi di numeri, successioni, alberi, grafi numerabili, spazi separabili codificabili, funzioni, relazioni, strutture discrete e molte parti dell’analisi classica.
Dentro questo laboratorio emergono i celebri “Big Five”, cinque sistemi assiomatici di complessità crescente. La scoperta sorprendente è che moltissimi teoremi ordinari della matematica “da manuale” cadono precisamente in una di queste cinque regioni. Non vagamente, non per analogia, ma per rigorosa equivalenza logica sopra un sistema base. Un teorema apparentemente innocuo può richiedere compattezza. Un risultato di analisi può essere equivalente a un principio di comprensione. Una forma di induzione o di ricorsione può nascondere una forza dimostrativa molto superiore a quanto suggerisca la sua formulazione elementare.
Qui la matematica mostra una delle sue anatomie più raffinate.
La reverse mathematics insegna che i teoremi hanno una fisiologia logica. Alcuni sono leggeri, computabili, costruttivi. Altri richiedono compattezza. Altri ancora richiedono comprensione, gerarchie, ricorsioni transfinite, principi più forti. Non basta chiedere se un teorema è vero. Si può chiedere quanto costa, in termini di assiomi, ottenerlo.
Per uno STEM questa è un’idea di importanza enorme, anche se raramente viene presentata come tale.
In ingegneria siamo abituati a chiederci il costo di un algoritmo, la memoria richiesta, la complessità temporale, la scalabilità, la stabilità numerica, la robustezza. La reverse mathematics pone una domanda analoga sul piano fondazionale: qual è il costo logico di questo teorema? Quale principio sto usando davvero? Posso ottenere il risultato in un sistema più debole? Il teorema contiene informazione computazionale estraibile? La dimostrazione usa un principio non costruttivo eliminabile, oppure quel principio è inevitabile?
Questa domanda dialoga naturalmente con la teoria della dimostrazione, con la teoria della computabilità e con il programma di estrazione di contenuto computazionale dalle prove. Non a caso, accanto alla reverse mathematics classica troviamo anche il proof mining, associato in modo eminente a Ulrich Kohlenbach: l’idea che da dimostrazioni apparentemente non costruttive si possano estrarre limiti effettivi, algoritmi, tassi di convergenza, informazioni quantitative. Ancora una volta, la prova non è solo garanzia di verità. È un oggetto da analizzare, raffinare, normalizzare, sfruttare.
La reverse mathematics è quindi uno dei grandi antidoti alla visione scolastica della logica.
Non dice semplicemente: “Ecco un sistema formale, ora dimostriamo cose.” Dice piuttosto: “Prendiamo la matematica reale, quella dei teoremi che i matematici usano davvero, e misuriamone la forza assiomatica.” In questo senso è profondamente empirica, quasi anatomica. Disseziona la matematica ordinaria e ne mostra l’apparato scheletrico.
E anche qui ritorna la matematica senza numeri.
Molti risultati studiati in reverse mathematics riguardano alberi, ordini, grafi, successioni, insiemi infiniti, principi combinatori, compattezza, colorazioni, Ramsey theory, strutture numerabili. Il lemma di König, i principi di Ramsey, i teoremi di compattezza, certe forme di scelta, di comprensione e di ricorsione non sono curiosità per la setta esoterica dei logici fondazionalisti. Sono meccanismi strutturali che ricorrono continuamente nella matematica discreta, nell’informatica teorica, nella verifica, nella semantica e nella teoria degli algoritmi.
La reverse mathematics insegna a riconoscere quando un risultato “elementare” sta usando in realtà un principio molto più forte di quanto sembri. E insegna anche il contrario: molti risultati apparentemente sofisticati possono vivere in sistemi deboli, computazionalmente trasparenti, più vicini alla matematica effettiva che alla metafisica assiomatica.
Questo è un altro passaggio che la formazione STEM ordinaria ignora quasi completamente.
Lo studente impara che un teorema si dimostra oppure non si dimostra. Raramente impara a chiedere in quale sistema si dimostra. Ancora più raramente impara che due teoremi, formulati in settori diversi, possono essere equivalenti perché richiedono esattamente la stessa forza logica. Ma questa è una delle più alte forme di criptomorfismo: non più soltanto due strutture che si presentano in forme diverse, ma due risultati matematici che rivelano lo stesso contenuto assiomatico profondo.
Un teorema di analisi, un principio combinatorio, una forma di compattezza, un’affermazione sugli alberi infiniti e un risultato sugli ordini possono appartenere alla stessa classe fondazionale. Possono essere, in senso tecnico, equivalenti sopra un sistema base. Cambia il paesaggio esterno; resta la stessa forza logica interna.
Questo è esattamente il tipo di visione che serve per capire la matematica come architettura, non come magazzino di formule.
Con la reverse mathematics, la domanda “che cosa significa dimostrare?” diventa ancora più precisa. Significa anche sapere quali risorse logiche stiamo consumando. Significa distinguere la parte computabile da quella non computabile, la parte costruttiva da quella classica, la parte debole da quella forte, la parte puramente combinatoria da quella che richiede compattezza o comprensione. Significa collocare un teorema dentro una mappa delle possibilità dimostrative. Dopo la forma della prova, il suo contenuto computazionale, la sua forza assiomatica e la sua struttura combinatoria, resta l’altro grande versante della logica moderna: non la prova, ma il modello.
Ma la logica non è soltanto teoria delle dimostrazioni. È anche teoria dei modelli.
Se la teoria della dimostrazione guarda alle prove, la teoria dei modelli guarda alle strutture in cui le formule sono vere o false. Una formula non vive nel vuoto: viene interpretata in un dominio, con relazioni, funzioni, costanti, operazioni. La teoria dei modelli studia precisamente questo rapporto tra linguaggi formali e strutture matematiche. Che cosa può esprimere un linguaggio? Quali strutture soddisfano una teoria? Quando due strutture sono elementarmente equivalenti? Che cosa significa definire una proprietà? Quali proprietà sono preservate da sottostrutture, prodotti, omomorfismi, ultraprodotti, estensioni? Che cosa può essere detto in un linguaggio e che cosa rimane fuori?
Qui i nomi fondamentali includono Tarski, Robinson, Łoś, Chang e Keisler, Hodges, Marker, Tent e Ziegler, Ebbinghaus, Flum e Thomas. Anche in questo caso non si tratta affatto di citazioni decorative. Tarski fornisce la semantica moderna della verità nei linguaggi formali. Robinson apre la strada alla model theory moderna e alla teoria dei modelli applicata all’algebra. Chang e Keisler rappresentano la grande sistematizzazione classica. Hodges ha il merito raro di rendere visibile la teoria dei modelli come disciplina strutturale, non come semplice appendice della logica matematica.
Per uno STEM, la teoria dei modelli è importante perché insegna a distinguere il linguaggio dalla struttura. Una cosa è la sintassi con cui descriviamo un sistema. Un’altra è il sistema interpretato. Una cosa è una specifica. Un’altra è la classe dei modelli che la soddisfano. Una cosa è scrivere vincoli. Un’altra è capire quali strutture reali, finite o infinite, li realizzano. Questo è centrale per database, ontologie, specifiche, formal methods, semantica dei linguaggi, knowledge representation, verifica, logiche descrittive, sistemi di regole.
La teoria dei modelli insegna una disciplina mentale fondamentale: non confondere il nome con l’oggetto, la formula con il modello, la specifica con le sue realizzazioni, la deduzione sintattica con la soddisfacibilità semantica.
E poi vi è la teoria dei modelli finiti, che merita un discorso a parte.
La teoria dei modelli classica ha lavorato a lungo, e con straordinaria potenza, anche su strutture infinite. Ma l’informatica lavora continuamente con strutture finite: database finiti, grafi finiti, automi finiti, stati finiti, strutture finite di memoria, modelli finiti di sistemi, istanze finite di problemi. La teoria dei modelli finiti nasce precisamente dall’esigenza di studiare la logica sulle strutture finite, dove molte proprietà classiche cambiano radicalmente.
Qui compaiono nomi come Ronald Fagin, Neil Immerman, Moshe Vardi, Leonid Libkin, Erich Grädel, il già citato Heinz-Dieter Ebbinghaus, Martin Otto, Anuj Dawar. Fagin è centrale per il legame tra logica e complessità descrittiva: il suo famoso teorema caratterizza NP tramite la logica esistenziale del secondo ordine su strutture finite. Immerman, insieme a Vardi, è legato alla caratterizzazione di PTIME tramite logiche a punto fisso su strutture finite ordinate. Libkin ha dato una delle esposizioni moderne più influenti della finite model theory. Grädel ha contribuito in modo decisivo al collegamento tra logiche finite, database, complessità e applicazioni. Otto ha lavorato su aspetti profondi della model theory finita e delle sue interazioni con logiche e strutture finite.
Questa è una delle regioni più importanti e meno conosciute della logica contemporanea per l’informatica.
Nella teoria dei modelli finiti, la domanda non è più soltanto: questa formula è vera in una struttura? La domanda diventa anche: quale complessità computazionale ha la proprietà definita da questa formula? Quali proprietà dei grafi sono esprimibili in logica del primo ordine? Che cosa serve per esprimere raggiungibilità, connettività, ordinamento, ricorsione, punto fisso? Quali frammenti logici corrispondono a quali classi di complessità? Che cosa può essere interrogato in un database tramite un certo linguaggio logico? Quali proprietà globali sfuggono a linguaggi troppo deboli?
Qui il ponte tra logica, database e complessità computazionale diventa diretto.
La logica del primo ordine, che in un corso elementare appare come un linguaggio per formalizzare predicati e quantificatori, diventa in teoria dei modelli finiti un linguaggio per interrogare strutture finite. Le strutture finite possono essere grafi, database relazionali, ordini, stringhe, alberi, configurazioni combinatorie. I limiti espressivi della logica diventano limiti computazionali. Le estensioni della logica, come i punti fissi, le logiche infinitarie finite, le logiche con counting, le logiche del secondo ordine, diventano strumenti per classificare il potere descrittivo dei linguaggi.
Questa è una delle idee più eleganti della computazione teorica moderna: la complessità può essere vista anche come espressività logica.
Non soltanto “quanto tempo serve per calcolare questa proprietà?”, ma “quale linguaggio logico è abbastanza potente per descriverla?”. Non soltanto algoritmi e macchine, ma formule e strutture. Non soltanto esecuzione, ma definibilità.
Per chi è abituato a vedere la complessità computazionale come una collezione di classi, P, NP, PSPACE, EXPTIME, e così via, questa prospettiva è illuminante. Mostra che le classi di complessità non sono soltanto regioni di una zoologia algoritmica. Possono corrispondere a modi di parlare delle strutture finite. Il potere computazionale diventa potere espressivo.
Anche questo ritorna al tema generale della matematica senza numeri.
Una struttura finita può essere un grafo. Lo stesso grafo può essere una relazione binaria. La relazione può essere una matrice booleana. La matrice può essere interrogata da una formula ben formata. La formula può appartenere a un frammento logico. Il frammento logico può avere un certo potere espressivo. Quel potere espressivo può corrispondere a una classe di complessità. La proprietà definita può essere verificata, cercata, ottimizzata, trasformata, confrontata.
In un solo passaggio abbiamo attraversato grafi, relazioni, matrici booleane, logica, teoria dei modelli, complessità computazionale.
Questo è esattamente il tipo di connessione che la formazione ordinaria tende a nascondere.
Lo studente vede i grafi da una parte, la logica da un’altra, i database da un’altra, la complessità da un’altra, gli algoritmi da un’altra ancora. Ma la teoria dei modelli finiti mostra che questi territori comunicano in profondità. Un database relazionale è una struttura finita. Una query è una formula. Un linguaggio di query ha un potere espressivo. Una proprietà non esprimibile in un certo linguaggio non è soltanto “difficile da scrivere”: è strutturalmente fuori dalla portata di quel formalismo. La differenza tra ciò che posso calcolare, ciò che posso esprimere e ciò che posso verificare diventa una questione logica.
Ecco perché anche la teoria dei modelli finiti dovrebbe far parte dell’orizzonte culturale dello STEM avanzato. Non necessariamente come specializzazione tecnica, ma come consapevolezza di base. Cultura (tecnica) generale. Chi lavora con dati, grafi, query, specifiche, sistemi finiti, vincoli, automi, verifica o complessità dovrebbe sapere, non solo subodorare (magari solo per effetto di superlativi, tecnicismi allo stato brado e professioni di elevato rigore orecchiate a lezione) che esiste una disciplina logica interamente dedicata a queste connessioni.
A questo punto il quadro si completa.
La teoria della dimostrazione studia le prove come oggetti formali e computazionali. Curry-Howard mostra il ponte tra proposizioni, tipi, dimostrazioni e programmi. Herbrand collega quantificazione, istanziazione, combinatoria e dimostrazione automatica. La reverse mathematics misura la forza assiomatica dei teoremi ordinari. La teoria dei modelli studia il rapporto tra linguaggi e strutture. La teoria dei modelli finiti porta tutto questo dentro il mondo discreto, finito, computabile, dove vivono database, grafi, automi, programmi e sistemi reali.
Questi settori non sono accessori eruditi. Non sono “roba da applicativi”. Non sono prontuario per tecnici in officina. Non sono “passatempi per logici”. Sono parti essenziali della stessa architettura matematica. Parti usate anche (inconsapevolmente, quasi sempre) dal grande esercito del continuo, del più che numerabile, della matematica “pura”, dell’analisi, della topologia.
Senza teoria della dimostrazione, la logica rischia di apparire come un galateo dell’argomentazione razionale. Senza teoria dei modelli, rischia di apparire come manipolazione sintattica. Senza teoria dei modelli finiti, rischia di sembrare avulsa dalla computazione concreta. Senza Curry-Howard, si perde il legame profondo tra programmi e prove. Senza Herbrand, si perde uno dei ponti più potenti tra logica del primo ordine, ricerca combinatoria e automazione.
Con questi strumenti, invece, la logica appare per ciò che è: una delle grandi scienze strutturali della computazione. Non una materia ancillare. Non un capitolo introduttivo. Non una curiosità da filosofi. Ma un asse portante che collega dimostrazione, programma, modello, struttura, linguaggio, calcolo, complessità, verifica e significato.
Lo stesso chiarimento va fatto per i grafi.
Nei corsi ordinari, soprattutto nei corsi destinati all’informatica applicata, la teoria dei grafi viene spesso ridotta a un piccolo repertorio di algoritmi: visite in ampiezza e profondità, cammini minimi, alberi di copertura, ordinamento topologico, componenti connesse, magari flussi e poco altro. Tutto utilissimo, naturalmente. Ma sarebbe un errore gravissimo identificare la teoria dei grafi con questo piccolo prontuario algoritmico.
Un grafo non è soltanto un supporto per eseguire Dijkstra, Kruskal o una DFS. Un grafo è una struttura relazionale. Può rappresentare adiacenza, dipendenza, compatibilità, raggiungibilità, causalità, precedenza, conflitto, comunicazione, vincolo, trasformazione, inclusione, copertura. Può essere diretto o non diretto, etichettato, pesato, ordinato, bipartito, colorato, ipergeneralizzato, arricchito da logiche, da tipi, da semantiche, da vincoli algebrici. Può diventare un automa, un sistema di transizione, un modello di Kripke, un diagramma di dipendenza, una rete di implicazioni, un diagramma commutativo, una struttura di incidenza, un oggetto combinatorio estremale.
E, ancora una volta, il legame con l’ordine e con i reticoli è profondo.
Ogni ordine parziale può essere rappresentato tramite un diagramma di Hasse, cioè tramite un grafo che rende visibili le relazioni di copertura. Molti grafi generano naturalmente ordini: pensiamo alla raggiungibilità in un grafo aciclico diretto, alle dipendenze tra moduli, ai grafi di precedenza, ai sistemi di build, alle gerarchie di tipi, alle relazioni di specializzazione. Le chiusure su grafi, come la chiusura transitiva, trasformano relazioni locali in relazioni globali. Le famiglie di sottografi, tagli, cicli, foreste, matching, insiemi indipendenti, cricche, separatori e coperture possono essere organizzate entro strutture ordinate, spesso reticolari o prossime a strutture reticolari. La teoria dei matroidi, che nasce anche dall’astrazione simultanea dell’indipendenza lineare e dell’indipendenza grafica, porta ancora più avanti questa lettura strutturale.
Anche qui il messaggio è lo stesso: non bisogna fermarsi al disegno con pallini e linee.
Un grafo può essere una relazione. Una relazione può essere una matrice booleana. Una matrice booleana può essere composta algebricamente. Una relazione di raggiungibilità può generare un ordine. Un ordine può generare un reticolo di ideali. Un reticolo può rappresentare chiusure, concetti, teorie, classificazioni. Un sistema di implicazioni può essere rappresentato come struttura orientata. Un contesto formale può generare un reticolo dei concetti. Un reticolo può essere studiato tramite i suoi elementi irriducibili, tramite filtri, ideali, congruenze, rappresentazioni. La teoria dei grafi, letta in questa luce, non è una provincia isolata, ma uno dei linguaggi visivi e computazionali della teoria generale delle strutture discrete.
Per questo l’approccio serio ai grafi non può limitarsi alle quattro nozioni algoritmiche più diffuse. Quelle sono l’alfabeto operativo minimo, non la lingua. La lingua comprende relazioni, ordini, chiusure, dualità, rappresentazioni, omomorfismi, minori, colorazioni, incidenze, matroidi, reticoli associati, strutture di dipendenza e strutture di concetto. Solo allora i grafi smettono di essere esercizi da manuale e diventano uno degli strumenti centrali per rappresentare il mondo discreto.
Anche le matrici, quando entrano in questo mondo, cambiano natura. Non sono necessariamente matrici reali, piene di coefficienti da moltiplicare e sommare. Possono essere matrici booleane, matrici di incidenza, matrici di adiacenza, matrici su semianelli, matrici tropicali, matrici che rappresentano relazioni, vincoli, coperture, dipendenze, compatibilità. La moltiplicazione di matrici può diventare composizione di relazioni. La potenza di una matrice booleana può rappresentare cammini di lunghezza fissata. La chiusura transitiva può essere calcolata come saturazione. La distinzione tra “algebra lineare” e “matematica discreta” si assottiglia, perché ciò che conta non è la forma esteriore della matrice, ma la struttura algebrica su cui essa è definita.
Questo è un punto essenziale: la stessa notazione può nascondere mondi diversi.
Una matrice reale, una matrice booleana, una matrice su un semianello, una matrice di incidenza di un ipergrafo, una matrice oggetti-attributi in formal concept analysis possono somigliarsi graficamente. Sono tabelle rettangolari. Ma il loro significato operativo dipende dalle operazioni ammesse, dalle equivalenze considerate, dalle chiusure generate, dai morfismi rispettati. Lo STEM maturo non guarda soltanto la tabella: chiede quale struttura stia rappresentando.
Questa è alfabetizzazione strutturale.
L’algebra universale porta questa alfabetizzazione al suo livello più generale. Invece di studiare separatamente gruppi, anelli, reticoli, algebre booleane, monoidi, semigruppi, moduli e altre strutture, essa chiede: che cosa significa avere un insieme dotato di operazioni? Che cosa significa che certe identità valgono? Che cosa sono i termini? Che cosa sono le equazioni? Che cosa sono le sottostrutture, i prodotti, gli omomorfismi, i quozienti? Quali proprietà dipendono dalla firma operazionale? Quali dipendono dalle identità? Quali passano ai prodotti, alle sottostrutture, alle immagini omomorfe?
Questa prospettiva è fondamentale perché insegna a vedere la forma comune dietro i casi particolari.
Per un informatico, un ingegnere del software, un progettista di sistemi o un ricercatore in metodi formali, questa non è una raffinatezza accademica. È la differenza tra usare strumenti e capire perché gli strumenti funzionano. I tipi di dato astratti, le strutture dati, le semantiche operative, le specifiche equazionali, i linguaggi di programmazione, i sistemi di riscrittura, le algebre di processi, le semantiche denotazionali: tutto questo respira algebra universale, anche quando non lo dice.
Lo stesso vale per la combinatoria delle famiglie finite. A prima vista sembra un settore fatto di problemi elementari: quanti sottoinsiemi, quante configurazioni, quali estremi, quali intersezioni, quali coperture. Ma sotto la superficie troviamo vettori booleani, strati del cubo discreto, ordini per inclusione, famiglie anticatena, sistemi d’intersezione, ipergrafi, matrici d’incidenza, vincoli di margine, problemi estremali, basi additive, strutture di piccolo doubling. Anche qui la stessa entità cambia pelle: insieme, vettore 0/1, riga di una matrice, punto del cubo booleano, clausola, caratteristica di una proprietà, oggetto di un ordine parziale.
Vedere questi passaggi non è estetica matematica. È capacità progettuale.
Quando una famiglia di insiemi diventa una matrice booleana, posso applicare metodi matriciali. Quando diventa un ipergrafo, posso usare linguaggio e teoremi della teoria degli ipergrafi. Quando diventa un sistema di vincoli, posso cercare algoritmi di soddisfacibilità. Quando diventa un reticolo, posso studiare chiusure e implicazioni. Quando diventa una struttura logica, posso chiederne modelli, teorie, definibilità. Quando diventa un oggetto computazionale, posso rappresentarlo, comprimerlo, enumerarlo, indicizzarlo, manipolarlo.
La forza non sta nel cambiare nome alle cose. Sta nel cambiare punto di vista, scegliendo il più adatto, il più efficiente, il più potente… senza perdere l’oggetto.
Questo è precisamente ciò che manca quando la formazione procede per silos. Lo studente vede “grafi” in un corso, “logica” in un altro, “algebra” in un altro, “database” in un altro, “machine learning” in un altro. Poi entra nel mondo reale e trova sistemi ibridi in cui tutto è intrecciato: dati relazionali, vincoli logici, grafi di dipendenza, tassonomie, gerarchie, modelli probabilistici, regole, ontologie, modelli predittivi, pipeline software, controlli di coerenza, spiegabilità, auditing, sicurezza, verifica, tracciabilità.
A quel punto la domanda non è più: so calcolare? La domanda è: so riconoscere la struttura?
Nel terzo millennio, questa domanda è decisiva. Viviamo in un’epoca in cui la matematica numerica ha ottenuto un’enorme visibilità grazie al machine learning, all’ottimizzazione, alle reti neurali profonde, ai transformer, ai modelli generativi. È giusto. L’algebra lineare, il calcolo numerico, la probabilità, la statistica, la teoria dell’informazione e l’ottimizzazione sono indispensabili. Ma l’esplosione dell’intelligenza artificiale non elimina la matematica discreta e logica. Al contrario, la rende ancora più necessaria.
Perché ogni sistema potente deve essere rappresentato, controllato, verificato, interrogato, limitato, spiegato, integrato.
Un modello neurale può produrre output probabilisticamente plausibili. Ma un sistema industriale, giuridico, medico, finanziario, aerospaziale o safety-critical richiede anche vincoli, logiche, tracciabilità, coerenza, auditabilità, strutture di autorizzazione, ontologie, classificazioni, invarianti. Richiede sapere che cosa può accadere, che cosa non deve accadere, quali stati sono raggiungibili, quali transizioni sono lecite, quali proprietà sono preservate, quali dipendenze sono ammesse, quali astrazioni sono corrette.
Queste non sono domande puramente statistiche. Sono domande strutturali.
Il futuro non appartiene a chi contrappone simbolico e subsimbolico, numerico e discreto, statistico e logico. Appartiene a chi sa farli dialogare. Ma per farli dialogare bisogna possedere entrambe le grammatiche. Una, lo sappiamo benissimo, è ubiqua e occupa praticamente tutti gli spazi disponibili nella formazione. L’altra, per decenni considerata Cenerentola nonostante la scuola magiara, quella napoletana, Gian-Carlo Rota fino a colossi come Wilf o Zeilberger, domina gran parte delle applicazioni ed è, senza retorica, la vera protagonista del terzo millennio, grazie alla computazione. Non basta conoscere le reti neurali se non si capiscono grafi, logiche, relazioni, ordini, tipi, vincoli e strutture. Non basta conoscere la statistica se non si capisce che molte forme di informazione non nascono come variabili numeriche, ma come dipendenze, categorie, attributi, inclusioni, relazioni e regole. Non basta conoscere l’algebra lineare se non si capisce che molte matrici non rappresentano trasformazioni lineari su spazi vettoriali reali, ma relazioni discrete su strutture finite.
La matematica senza numeri è la matematica delle forme. Forme esatte, rigorose. È la matematica che dice quando due descrizioni sono la stessa struttura. Quando una classificazione è una chiusura. Quando una gerarchia è un ordine. Quando una tabella è una relazione. Quando una relazione è un grafo. Quando un grafo è una matrice. Quando una matrice è un operatore su un semianello. Quando una famiglia di insiemi è un reticolo. Quando un reticolo è una logica. Quando una logica è un’algebra. Quando un’algebra è una teoria equazionale. Quando una teoria è un insieme chiuso di conseguenze. Quando una conseguenza è calcolabile.
In questa prospettiva, le discipline non si giustappongono. Si illuminano reciprocamente.
La teoria degli insiemi elementare fornisce il linguaggio di base. La teoria delle relazioni spiega connessioni, equivalenze, ordini, funzioni, composizioni. La teoria dei grafi visualizza e computa strutture relazionali. Le matrici booleane rendono operative molte relazioni finite. La combinatoria studia configurazioni, famiglie, vincoli, estremi. La teoria dell’ordine organizza gerarchie e dipendenze. La teoria dei reticoli studia combinazioni, intersezioni, chiusure, quozienti, concetti. La formal concept analysis trasforma dati oggetti-attributi in reticoli di significato formale. L’algebra universale generalizza operazioni, identità, omomorfismi e quozienti. La logica studia conseguenze, modelli, dimostrazioni, definibilità. La teoria della dimostrazione studia le prove come strutture. La reverse mathematics misura la forza assiomatica dei teoremi ordinari. La teoria dei modelli studia il rapporto tra linguaggi e interpretazioni. La teoria dei modelli finiti porta tutto questo nel mondo delle strutture discrete effettivamente manipolate dalla computazione. L’informatica teorica traduce questa architettura in automi, linguaggi, algoritmi, complessità, verifica, rappresentazioni canoniche.
Non sono province isolate. Sono una sola costellazione.
Il termine “costellazione” è appropriato. Le stelle sono distinte, ma il disegno appare solo quando si vede la figura complessiva. Chi guarda un solo punto luminoso vede un corso universitario. Chi vede le connessioni vede una mappa.
Ed è questa mappa che serve oggi.
Serve perché i sistemi moderni sono complessi, ibridi, stratificati. Serve perché la computazione non è solo calcolo numerico, ma manipolazione di strutture simboliche e discrete. Serve perché l’informazione non è solo dato, ma relazione tra dati. Serve perché la conoscenza non è solo predizione, ma organizzazione di concetti e implicazioni. Serve perché la correttezza non è solo performance, ma rispetto di proprietà formali. Serve perché l’astrazione non è un ornamento filosofico, ma lo strumento con cui si controlla la complessità.
Uno STEM realmente formato non dovrebbe uscire dal proprio percorso sapendo soltanto diagonalizzare matrici, stimare parametri, addestrare modelli, calcolare probabilità o manipolare tensori. Dovrebbe anche sapere che un ordine parziale non è un dettaglio; che un reticolo non è una stranezza; che una relazione di equivalenza è una macchina concettuale potentissima; che una chiusura è una forma generale di conseguenza; che una matrice booleana può essere più rivelatrice di una matrice reale; che una famiglia di insiemi può nascondere un intero universo combinatorio; che una gerarchia ben costruita è matematica; che una classificazione rigorosa è già teoria; che un’implicazione tra attributi può essere tanto importante quanto una regressione. Dovrebbe sapere che un teorema non ha soltanto una dimostrazione, ma anche una forza logica; che risultati apparentemente lontani possono richiedere esattamente le stesse risorse assiomatiche; che la matematica ordinaria può essere letta anche come una mappa di principi dimostrativi.
Dovrebbe sapere che la logica non è un rito scolastico di tavole di verità, ma una scienza delle conseguenze, dei modelli, delle prove, delle strutture e della computazione. Dovrebbe sapere che una dimostrazione può avere contenuto computazionale. Dovrebbe sapere che una specifica può essere vista come un tipo, un programma come un termine, una correttezza come una costruzione. Dovrebbe sapere che un database finito è una struttura logica, che una query è una formula, che un linguaggio ha un potere espressivo, che una proprietà può essere calcolabile ma non esprimibile in un certo formalismo, o esprimibile solo arricchendo il linguaggio.
In definitiva, dovrebbe sapere che la matematica non è soltanto calcolo di quantità, ma scienza delle strutture possibili.
La quantità misura. La struttura organizza.
La quantità risponde a “quanto?”. La struttura risponde a “come è fatto?”, “da che cosa dipende?”, “che cosa implica?”, “che cosa conserva?”, “che cosa cambia se identifico questi elementi?”, “quali trasformazioni rispettano l’oggetto?”, “quale rappresentazione rende il problema trattabile?”, “quale linguaggio è abbastanza potente per descriverlo?”, “quale prova certifica ciò che affermo?”, “quali modelli soddisfano questa specifica?”.
Sono domande diverse. Entrambe necessarie.
La grande povertà di molta formazione tecnica contemporanea sta nell’aver assolutizzato la prima famiglia di domande, lasciando la seconda agli specialisti. Ma nel mondo reale, soprattutto nel mondo computazionale, la seconda famiglia è ovunque. Ogni architettura software, ogni sistema di dati, ogni linguaggio, ogni protocollo, ogni modello di autorizzazione, ogni ontologia, ogni grafo di conoscenza, ogni sistema di verifica, ogni compilatore, ogni motore inferenziale, ogni algoritmo combinatorio, ogni pipeline di controllo qualità è una risposta strutturale prima ancora che numerica.
Per questo la matematica senza numeri non è una matematica minore. È la parte della matematica che insegna a vedere l’ossatura. E chi vede l’ossatura, vede molto più lontano.