1. Fondazione point-free della matematica
Dr M Benini
Dipartimento di Scienza e Alta Tecnologia
Università degli Studi dell’Insubria
24 giugno 2015
2. La questione di fondo
E’ possibile immaginare una fondazione priva di punti?
In termini concreti, possiamo pensare di dare significato alla matematica
“comune”, senza presupporre l’esistenza di un qualche universo in cui
interpretare gli oggetti di cui intendiamo trattare in una teoria matematica?
Ad esempio, è possibile dare un senso all’analisi prescindendo dall’esistenza
dei numeri reali o complessi?
Anche, possiamo immaginare di dare un senso al concetto di “calcolabile”
senza dover fare riferimento ad una macchina reale o astratta?
(2 of 13)
3. Un mondo senza punti?
Sia T una teoria, ovvero un insieme di assiomi, scritta in un linguaggio
fissato L nella logica intuizionista al primo ordine.
se assumiamo anche che T e L siano effettivi, ci stiamo ponendo nella
condizione di considerare tutta la ‘matematica comune’
infatti, senza imporre ulteriori condizioni, possiamo ottenere la logica
classica richiedendo che T contenga tutte le istanze del principio del
terzo escluso, e questo non modifica l’effettività di T
L’idea è fornire un mondo dove T possa essere interpretata adeguatamente e
che sia “privo di punti”, in cui i termini non vengano interpretati in qualche
universo di cui dobbiamo presupporre l’esistenza.
(3 of 13)
4. Categorie logiche I
Fissato un linguaggio e un gruppoide G di termini logici, una categoria
prelogica è una coppia 〈C,Σ〉 tale che
1. C è una categoria con prodotti finiti, coprodotti finiti e esponenziazione;
2. per ogni formula A e ogni variabile x : s in G, ΣA(x : s): G → C è un
funtore, detto funtore di sostituzione, tale che, per ogni altra variabile
y : s, ΣA(x : s)(x : s) = ΣA(y : s)(y : s);
3. per ogni variabile x : s, e ogni termine t : s,
3.1 Σ⊥(x : s)(t : s) = 0, l’oggetto iniziale in C;
3.2 Σ (x : s)(t : s) = 1, l’oggetto terminale in C;
3.3 per ogni A e B, ΣA∧B(x : s)(t : s) = ΣA(x : s)(t : s)×ΣB(x : s)(t : s), il
prodotto binario in C;
3.4 per ogni A e B, ΣA∨B(x : s)(t : s) = ΣA(x : s)(t : s)+ΣB(x : s)(t : s), il
coprodotto binario in C;
3.5 per ogni A e B, ΣA⊃B(x : s)(t : s) = ΣB(x : s)(t : s)ΣA(x:s)(t:s), l’esponenziale
in C.
4. per ogni formula A, per ogni variabile x : s e per ogni termine t : s in G,
ΣA(x : s)(t : s) = ΣA[t/x](x : s)(x : s), giustificando il nome del funtore.
(4 of 13)
5. Categorie logiche II
Questa definizione tecnica consente di usare la categoria prelogica 〈C,Σ〉
come un mondo coerente ove interpretare la logica intuizionista
proposizionale.
I funtori di sostituzione modellano l’operazione di sostituzione di una
variabile con un termine. Non solo, essi permettono di definire il concetto di
interpretazione, associando ad ogni formula proposizionale un oggetto della
categoria: MA = ΣA(x : s)(x : s), per una qualsiasi variabile x : s.
Naturalmente, il problema è definire come interpretare i quantificatori.
(5 of 13)
6. Categorie logiche III
Una stella S su una formula A e una variabile x : s è una sottocategoria di C
tale per cui
1. i suoi oggetti sono i vertici v dei coni su ΣA(x : s) tali che v = MB per
qualche formula B e x : s ∈ FV(B);
2. esiste un oggetto MC in S, il suo centro, tale che tutti i morfismi in S
sono le identità oppure frecce nella categoria dei coni su ΣA(x : s) con
MC come codominio.
In modo duale, si definisce la nozione di costella.
Informalmente, associando a ogni formula ∀x : s A una stella su A e x : s, il
suo centro diviene il candidato naturale per M∀x : s A.
(6 of 13)
7. Categorie logiche IV
Una categoria prelogica 〈C,Σ〉 è detta essere logica quando, per ogni formula
A e ogni variabile x : s,
1. esiste una stella su A e x : s, denotata come C∀x:s A, che abbia un oggetto
terminale; inoltre, M∀x : s A è il centro di C∀x:s A;
2. dualmente, esiste una costella su A e x : s, denotata da C∃x:s A, avente un
oggetto iniziale; inoltre, M∃x : s A è il centro di C∃x:s A.
Si può dimostrare che
1. le formule e le dimostrazioni di ogni teoria T esprimibile nel linguaggio al
primo ordine e nella logica intuizionista, sono interpretabili su questa
struttura in modo naturale.
2. questa interpretazione è corretta e completa: ogni formula dimostrabile è
vera in ogni modello della teoria, e viceversa.
3. ogni modello della teoria T in ogni topos elementare, può essere
trasformato in un modello equivalente (che preserva la validità delle
medesime formule) in una categoria logica.
(7 of 13)
8. Il ruolo dei termini
Come vengono interpretati i termini?
Le variabili determinano quali siano le sottocategorie C∀x : s.A e C∃x : s.A
Le variabili determinano anche il modo in cui le sostituzioni possano
avere luogo
I termini, in combinazione con le variabili, contribuiscono all’operazione
di sostituzione, completandone la definizione
Le sostituzioni, a loro volta, hanno lo scopo di “legare” opportunamente le
formule nelle sottocategorie C∀x : s.A e C∃x : s.A.
E’ chiara l’ispirazione topologica della costruzione. In particolare, è evidente
che i termini non vengono interpretati in un qualche universo, e la loro
funzione è unicamente di “incollare” le formule nelle sottocategorie che
controllano l’interpretazione dei quantificatori.
(8 of 13)
9. Estensioni
In realtà la definizione presentata è una semplificazione: non è necessario
assumere di avere un gruppoide di termini logici. In effetti, la nozione di
variabile, e di variabile libera in una formula, possono essere sintetizzate a
partire dai funtori di sostituzione, rendendo la sintassi dei termini
completamente astratta, e consentendo di usare ogni gruppoide come se
fosse una sintassi.
Inoltre, la semantica illustrata consente di interpretare una estensione della
teoria dei tipi, in modo sostanzialmente consistente con la teoria omotopica
dei tipi, pur essendone più limitata in espressività. Da questo fatto nasce la
definizione astratta di calcolabilità.
Infine, la semantica vista come interpretazione di una teoria dei tipi,
naturalmente suggerisce di interpretare i tipi come modelli di teorie logiche.
(9 of 13)
10. Modelli di teorie inconsistenti
Ma le teorie non consistenti hanno un modello!
Si. Le teorie contradditorie hanno come modelli esattamente le categorie
logiche in cui l’oggetto terminale e iniziale coincidono.
Ovvero, in termini logici, i modelli di una teoria contradditoria sono quelli in
cui il vero e il falso sono identificati.
Dal punto di vista computazionale ciò ha perfettamente senso: se una
specifica è contraddittoria, un programma che la implementa, computa. E il
modello rende conto di questa attività di computazione.
(10 of 13)
11. Incompletezza
Quindi l’aritmetica è completa. E il teorema di Gödel?
Il primo teorema di incompletezza di Gödel continua a valere, e quindi anche
il secondo. Ma la parola “completo” nel suo enunciato deve essere letta in
modo corretto: esso dice che esiste almeno un enunciato che non può essere
dimostrato pur essendo vero sul modello standard dei numeri naturali.
Quindi, se ne deduce che esistono più modelli, e, in particolare, due
categorie logiche distinte, una nella quale esiste una freccia 1 → G e un’altra
nella quale tale freccia è assente. Entrambe le categorie fungono da modelli
per l’aritmetica.
Pertanto l’enunciato G, indimostrabile, non è vero in tutti i modelli e non è
nemmeno falso in tutti i modelli. Esattamente come accade nei modelli
insiemistici classici, con la semantica di Alfred Tarski. Quindi al prim’ordine
è impossibile scrivere una teoria che individui esattamente i numeri naturali e
le usuali operazioni aritmetiche.
(11 of 13)
12. Rappresentazioni alternative
Questo tipo di semantica genera automaticamente una rappresentazione
“sintattica” per i termini. E, ogni altra rappresentazione deve
necessariamente essere coerente con questa—in un certo senso, la
rappresentazione sintattica è minimale.
Questo significa che, ad esempio, nel caso di algoritmi numerici, l’insieme
dei termini coincide con la rappresentazione effettiva dei numeri, data dalla
combinazione dei numeri come elementi nella memoria di un calcolatore, e
dalle funzioni calcolabili che su tali elementi possono essere costruite. La
semantica garantisce che ogni valore che possa essere calcolato corrisponde
ad un programma, davvero costruito dall’algoritmo numerico, e che fornisce
un metodo per calcolare il valore desiderato con una precisione arbitraria, e
controllabile, avendo “abbastanza” spazio e tempo per “scrivere” il valore
nel formato usuale.
(12 of 13)
13. Conclusione
Questa attività di ricerca è attualmente supportata da due progetti:
Abstract Mathematics for Actual Computation: Hilbert’s Program
in the 21st Century, 2014-2016, John Templeton Foundation, Core
Funding. Partner: University of Leeds (UK)
Correctness by Construction, 2014-2017, FP7-PEOPLE-2013-IRSES,
gr.n. PIRSES-GA-2013-612638. Partner: University of Leeds (UK),
University of Strathclyde (UK), Swansea University (UK), Stockholms
Universitet (SE), Universitaet Siegen (DE), Ludwig-Maximilians
Universitaet Muenchen (DE), Università degli Studi di Padova (IT),
Università degli Studi di Genova (IT), Japan Advanced Institute of
Science and Technology (JP), University of Canterbury (NZ), The
Australian National University (AU), Institute of Mathematical Sciences
(IN), Carnegie Mellon University (US), Hankyong National University
(KR), Kyoto University (JP), National Institute of Informatics (JP),
Tohoku University (JP), University of Gothenburg (SE), University of
Ljubljana (SI)
CC BY: $
C
Marco Benini 2015
(13 of 13)