Scegliere la Teoria dei Tipi Dipendenti (DTT) al posto della classica Teoria degli Insiemi (ZFC) come fondamento della matematica non è solo un cambio di notazione, ma un vero e proprio cambio di paradigma filosofico e pratico. Mentre
Le Differenze Fondamentali
Ecco un confronto tra i due approcci per capire perché oggi molti logici e informatici preferiscono i tipi dipendenti:
| Caratteristica | Teoria degli Insiemi (ZFC) | Teoria dei Tipi Dipendenti (DTT) |
|---|---|---|
| Ontologia | Tutto è un insieme | Tutto è un termine appartenente a un tipo |
| Logica | Esterna (Logica del primo ordine + Assiomi) | Interna (Isomorfismo di Curry-Howard) |
| Costruttivismo | Spesso classica (Legge del terzo escluso). | Intrinsecamente costruttiva (intuizionista). |
| Verifica | "A mano" o tramite modelli complessi | Algoritmica (Type Checking) |
| Funzioni | Grafi di coppie ordinate | Primitive (regole di calcolo) |
Questa è la "magia" della DTT. Esiste una corrispondenza diretta tra logica e programmazione:
Se riesci a scrivere un programma che soddisfa un certo tipo, hai dimostrato il teorema corrispondente. Questo rende la matematica "eseguibile".
A differenza dei linguaggi di programmazione classici (come Java o C++), nella DTT un tipo può dipendere da un valore.
L'uso della DTT permette la creazione di software chiamati Assistant Theorem Provers. Poiché la validità di una dimostrazione equivale al controllo del tipo (type checking), un computer può verificare con certezza assoluta se un teorema è corretto.
Nota: La celebre dimostrazione del Teorema dei Quattro Colori o del Teorema di Keplero è stata formalizzata proprio usando questi sistemi.
Sostituire ZFC con la Teoria dei Tipi Dipendenti significa passare da una matematica basata sulla descrizione degli oggetti a una basata sulla costruzione degli oggetti. È il passaggio dalla matematica come "testo filosofico" alla matematica come "architettura verificabile".