LOGICA MATEMATICA PER INFORMATICA (A.A. 11/12) 1

LOGICA MATEMATICA PER INFORMATICA
(A.A. 11/12)
DISPENSA N. 5
Sommario. Dimostriamo l’indecidibilità dell’aritmetica formale, della verità aritmetica, e della validità
logica.
1. Incompletezza e indecidibilità
Diamo una presentazione unificata dei teoremi di Incompletezza di Gödel e di Indecidibilità di Church.
Dimostriamo che non esistono soluzioni algoritmiche per i problemi seguenti.
(1) L’enunciato E è una verità logica?
(2) L’enunciato E è vero nei numeri naturali?
(3) L’enunciato E è un teorema dell’aritmetica formale?
Inoltre dimostriamo che ogni sistema di aritmetica formale che soddisfa certi requisiti minimi, o è incoerente o è incompleto (Primo Teorema di Incompletezza di Gödel, 1931). Dimostriamo che esiste una
procedura effettiva per estrarre dalla descrizione di un qualunque tale sistema un enunciato indecidibile nel
sistema.1
Gli ingredienti della dimostrazione sono i seguenti.
• L’esistenza di insiemi ricorsivamente inseparabili.
• La rappresentabilità delle funzioni computabili in un sistema minimalista di aritmetica formale.
2. Osservazioni preliminari
Dal Teorema di Completezza sappiamo che, per ogni teoria T , per ogni enunciato E,
T ` E ⇔ T |= E.
Resta aperta la seguente possibilità: Esiste una teoria T tale che, per qualche enunciato E, esiste un modello
A tale che A |= T e A |= E, ed esiste un modello B tale che B |= T e B |= ¬E? Equivalentemente, esiste
una teoria T coerente (ha almeno un modello) e incompleta (sintatticamente), i.e., tale che per qualche E,
T 0 E e T 0 ¬E? Dal Primo Teorema di Incompletezza di Gödel segue che ogni teoria T che contiene un
un minimo di aritmetica ha questa proprietà!
Definiamo
T h(N) = {E : N |= E}.
La teoria T h(N) riveste un particolare interesse, in quanto cattura tutte le verità aritmetiche nel linguaggio
della logica del I ordine. In particolare contiene le risposte a molti problemi aperti di Teoria dei Numeri
(e.g., congettura di Goldbach, ipotesi di Riemann, etc.). Se T è una teoria, denotiamo con T eor(T ) l’insieme
dei teoremi di T , i.e., {E : T ` T }. Storicamente ha rivestito un particolare interesse la domanda: esiste
una teoria T tale che (1) l’insieme dei teoremi di T è ricorsivamente enumerabile, e (2) T eor(T ) = T h(N)?
(Una tale teoria è necessariamente completa, dato che lo è T h(N)). Ricordiamo che l’esistenza di una tale
teoria implicherebbe la decidiblità algoritmica dell’insieme T eor(T ) e quindi di T h(N).
Dal Teorema di Rappresentazione delle funzioni calcolabili in N e dall’indecidibilità di K sappiamo già che
T h(N) è indecidibile. Dunque non può esistere una teoria T che soddisfa i punti (1) e (2) di sopra. In altre
1Incidentalmente osserviamo qui che, per quanto appena detto, gli argomenti del tipo ’Il teorema di Gödel dimostra che gli
esseri umani non sono algoritmici’ hanno la forma logica ’Esiste un algoritmo ... dunque gli esseri umani non sono algoritmici’.
1
2
DISPENSA N. 5
parole, se T è coerente, completa, e T eor(T ) è enumerabile, allora T eor(T ) non può coincidere con T h(N).
Lo stesso vale per ogni teoria T con T eor(T ) enumerabile e tale che, per ogni E, se T ` E, allora N |= E
(una tale teoria si dice corretta). Infatti, se una tale teoria fosse completa, avremmo che T eor(T ) = T h(N).
Dal quadro appena descritto resta aperta la possibilità che esistano teorie T coerenti, complete, con
T eor(T ) enumerabile, che catturino una parte significativa di T h(N), per esempio, tutte le verità espimibili
con formule una certa complessità quantificazionale. I risultati di Gödel mostrano che questo non è possibile:
ogni teoria T coerente e con T eor(T ) enumerabili, e tale da contenere un minimo di aritmetica, è incompleta.
3. Insiemi algoritmicamente inseparabili
Due insiemi A, B sono algoritmicamente inseparabili se non esiste un algoritmo capace di discrimare tra
A e B. In altre parole, se non esiste una funzione calcolabile f tale che per ogni a ∈ A, f (a) = 1 e per
ogni b ∈ B, f (b) = 0. In altre parole non esiste un insieme C ricorsivo tale che A ⊆ C e B ⊆ N \ C. Nelle
applicazioni del concetto saremo interessati ai casi in cui A ∩ B = ∅ (il caso contrario è banale).
L’utilità degli insiemi inseparabili nelle dimostrazioni di indecidibilità ha due ragioni.
La prima è che se B è il complemento di A (B = N\A) e A, B sono inseparabili, allora A è algoritmicamente
indecidibile: non esiste una funzione f tale che per ogni x ∈ A, f (x) = 1 e per ogni x ∈
/ A, f (x) = 0.
La seconda ragione è che si può definire una buona nozione di riduzione tra problemi. La proprietà di essere
algoritmicamente inseparabili si traferisce infatti da una coppia di insiemi all’altra attraverso trasformazioni
effettive. Siano C e D immagini effettive di A e B, i.e., insiemi tali che C ∩ D = ∅, ed esiste una funzione
calcolabile f tale che f (A) ⊆ C e f (B) ⊆ D. Allora se A e B sono algoritmicamente inseparabili, lo sono
anche C e D. Per la precisione, vale la proposizione seguente.
Proposizione 3.1. Sia A, B inseparabili. Siano C, D disgiunti. Sia f un algoritmo tale che f (A) ⊆ C e
f (B) ⊆ D. Allora C, D sono inseparabili.
Dimostrazione. Esercizio!
Faremo uso di una particolare coppia di insiemi inseparabili. Supponiamo di avere fissato un modello di
calcolo per le funzioni calcolabili (un sistema di programmazione accettabile) (Pi )i∈N . Assumiamo che ogni
funzione calcolabile ha almeno un programma Pi che la calcola e che la funzione calcolata dal programma
Pi è calcolabile per ogni i. Denotiamo con Pi (n) il risultato (possibilmente indefinito) dell’applicazione della
procedura i-esima all’input n. Assumiamo che l’applicazione i, x 7→ Pi (x) sia calcolabile (come accade in
tutti i modelli di calcolo usuali).
Definiamo due insiemi come segue.
S0 = {i : Pi (i) = 0},
S1 = {i : Pi (i) = 1}.
Tutti i risultati di indecidibilità logica saranno ottenuti per riduzione a questa coppia. Dimostreremo più
avanti che S0 , S1 sono effettivamente inseparabili.
Dimostriamo qualcosa di più forte. Denotiamo con dom(Pi ) l’insieme degli argomenti su cui il programma
Pi termina (è definito). Ricordiamo che un insieme S è ricorsivamente enumerabile se e solo se è il dominio
di una funzione calcolabile, i.e., se e solo se esiste i tale che S = dom(Pi ).
Proposizione 3.2. Esiste un algoritmo α tale che, per ogni a, b ∈ N, se valgono i seguenti punti allora
α(a, b) è definito e non è né nel dominio di Pa né nel dominio di Pb
(1) dom(Pa ) ∩ dom(Pb ) = ∅.
(2) S0 ⊆ dom(Pa ).
(3) S1 ⊆ dom(Pb ).
Dimostrazione. Dati due indici a, b, la seguente procedura ψ è effettiva (algoritmica): dato y, enumeriamo
simultaneamente dom(Pa ) e dom(Pb ). Se y appare prima in dom(Pa ), restituiamo 1, se y appare prima in
dom(Pb ), restituiamo 0. Se y non appare né in dom(Pa ) né in dom(Pb ), la procedura non termina. Un
programma per ψ si può ottenere algoritmicamente dai programmi Pa e Pb , in altre parole: un indice per
ψ si ottiene algoritmicamente dagli indici a, b in modo uniforme. Dunque esiste una funzione f cacolabile
totale tale che Pf (a,b) è proprio ψ.
LOGICA MATEMATICA PER INFORMATICA
(A.A. 11/12)
3
Supponiamo che f (a, b) ∈ dom(Pa ). Allora ψ(f (a, b)) = 1 e dunque Pf (a,b) (f (a, b)) = 1. Ma allora f (a, b)
è in S0 . Per ipotesi, S1 ⊆ dom(Pb ), il che contraddice dom(Pa ) ∩ dom(Pb ) = ∅.
Supponiamo che f (a, b) ∈ dom(Pb ). Allora ψ(f (a, b)) = 0 e dunque Pf (a,b) (f (a, b)) = 0. Ma allora f (a, b)
è in S1 . Per ipotesi, S0 ⊆ dom(Pa ), il che contraddice dom(Pa ) ∩ dom(Pb ) = ∅.
Dunque f (a, b) non è né in dom(Pa ) né in dom(Pb ).
Corollario 3.3. S0 e S1 sono algoritmicamente inseparabili.
Dimostrazione. Esercizio!
4. Aritmetica Minimale
Fissiamo una teoria di base che chiamiamo Aritmetica Minimale e denotiamo con MA
MA. MA è assiomatizzata dai seguenti assiomi nel linguaggio {0, 1, +, ×}. Denotiamo con MA anche la congiunzione della chiusura
universale degli assiomi di MA
MA. Per ogni n ∈ N denotiamo ambiguamente con n il termine ottenuto sommando la costante 1 a se stessa n volte. Con x 6= y abbreviamo ¬(x = y), con x ≤ y abbreviamo (∃z)(x + z = y),
e con x < y abbreviamo x ≤ y ∧ x 6= y.
(Ax
(Ax
(Ax
(Ax
(Ax
(Ax
(Ax
(Ax
(Ax
1)
2)
3)
4)
5)
6)
7)
8)
9)
0+1=1
∀x(x + 1 6= 0)
∀x(x 6= 0 → ∃z(z + 1 = x))
∀x∀y(x + 1 = y + 1 → x = y)
∀(x + 0 = x)
∀x∀y(x + (y + 1) = (x + y) + 1)
∀x(x × 0 = 0)
∀x∀y(x × (y + 1) = (x × y) + x)
∀x∀y(x < y ∨ x = y ∨ y < x)
Abbiamo bisogno delle proposizioni seguenti.
Proposizione 4.1. Per ogni n ∈ N, MA ` x < n + 1 → x ≤ n.
Dimostrazione. Ricordiamo che x < n + 1 abbrevia ∃z(x + z = n + 1 ∧ x 6= (n + 1)). Ragioniamo in MA per
casi. Se z = 0 allora per (Ax 5) x = n + 1, che contraddice x 6= n + 1. Dunque z 6= 0. Da (Ax 3) segue
∃w(x + (w + 1) = n + 1). Dunque, per (Ax 6) e (Ax 4), ∃w(x + w = n), che per convenzione è abbreviato
come x ≤ n.
Proposizione 4.2. Per ogni m, n, p ∈ N
(1) MA ` x ≤ n → x = 0 ∨ · · · ∨ x = n.
(2) Se m + n = p allora MA ` m + n = p.
(3) Se m · n = p allora MA ` m × n = p.
(4) Se m 6= n allora MA ` ¬(m = n).
Dimostrazione. Dimostriamo il punto (1) per induzione su n. Per il caso n = 0 dobbiamo dimostrare
MA ` x ≤ 0 → x = 0. x ≤ 0 abbrevia ∃z(x + z = 0). Ragioniamo in MA
MA, e supponiamo ∃z(x + z = 0).
Ragioniamo per casi. Se z 6= 0, allora per (Ax 3) ho ∃w(x + (w + 1) = 0) e da questo, per (Ax 6) e
per l’assunzione ∃z(x + z = 0), segue ∃w((x + w) + 1 = 0). Ma questo contraddice (Ax 2). Dunque
z = 0, e allora x + 0 = 0. Per (Ax 5) segue x = 0. Per il caso n + 1, l’ipotesi di induzione è che
MA ` x ≤ n → x = 0 ∨ · · · ∨ x = n. Ragioniamo in MA
MA, e supponiamo x ≤ n + 1. Allora x < n + 1 ∨ x = n + 1.
Allora anche x ≤ n∨x = n+1, per la Proposizione 3.1. Per ipotesi induttiva, da x ≤ n segue x = 0∨· · ·∨x = n
dunque da x ≤ n ∨ x = n + 1 segue x = 0 ∨ · · · ∨ x = n ∨ x = n + 1.
Dimostriamo il punto (2) per induzione su n. Per il caso n = 0 dobbiamo dimostrare che MA ` m+0 = m.
Questo segue dall’assioma (Ax 5). Per il caso n + 1, sia m + (n + 1) = q. Allora m + n = p, dove p è q − 1.
Per ipotesi induttiva, MA ` m + n = p. Allora MA ` (m + n) + 1 = p + 1. Per (Ax 6) questo implica
MA ` m + (n + 1) = q.
Dimostriamo il punto (3) per induzione su n. Per il caso n = 0 dobbiamo dimostrare che MA ` m × 0 = 0.
Questo segue da (Ax 7). Per il caso n + 1, sia m · (n + 1) = q. Allora m · n = p, dove q = p + m. Per ipotesi
4
DISPENSA N. 5
induttiva MA ` m×n = p. Allora MA ` (m×n)+m = p+m. Per (Ax 8) segue MA ` m×(n+1) = p+m. Dal
punto (2) già dimostrato segue MA ` p + m = q (N.B. il termine chiuso p + m non coincide sintatticamente
con il termine chiuso q).
5. Rappresentabilità
Vogliamo mostrare che MA è abbastanza forte da rispecchiare il comportamento delle funzioni calcolabili.
Abbiamo bisogno della nozione seguente, che è l’analogo della definibilità in N per la teoria formale MA
MA.
Definizione 5.1 (Rappresentabilità di una funzione in una teoria). Una funzione ϕ : Nk → N è
rappresentabile in una teoria T se esiste una formula Fϕ (x1 , . . . , xk , z) nel linguaggio di T tale che
T ` (∀x1 ) . . . (∀xk )(∀y)(∀z)[Fϕ (x1 , . . . , xk , y) ∧ Fϕ (x1 , . . . , xk , z) → y = z],
e per ogni n1 , . . . , nk , m in N
Se ϕ(n1 , . . . , nk ) = m allora T ` Fϕ (n1 , . . . , nk , m).
(se l’ultima implicazione si inverte parliamo di rappresentabilità forte).
Dimostriamo il teorema seguente. Essenzialmente la dimostrazione consiste nel verificare che quanto
abbiamo fatto per dimostrare il Teorema di Caratterizzazione può essere svolto in MA
MA.
Teorema 5.2 (Teorema di Rappresentazione). Le funzioni computabili sono rappresentabili in MA
MA.
Dimostrazione. Dimostriamo il teorema in tre passi:
• Le funzioni di base sono rappresentabili.
• Le funzioni rappresentabili sono chiuse sotto sostituzione.
• Le funzioni rappresentabili sono chiuse sotto minimo.
Claim 5.3 (Rappresentabilità Funzioni di Base). Le funzioni di base sono rappresentabili in MA
MA.
Dimostrazione. L’addizione è rappresentata dalla formula x+y = z, la moltiplicazione dalla formula x×y = z,
le proiezioni dalle formule xi = z, l’uguaglianza dalla formula (x = y ∧ z = 1) ∨ (x 6= y ∧ z = 0).
Claim 5.4 (Chiusura per Composizione). Le funzioni rappresentabili in MA sono chiuse per composizione.
Dimostrazione. Sia Gi (~x, yi ) il rappresentante di θi , i ∈ [1, m], sia H(y1 , . . . , ym , z) il rappresentante di ψ.
Allora
∃y1 . . . ∃ym (G1 (~x, y1 ) ∧ · · · ∧ Gm (~x, ym ) ∧ H(y1 , . . . , ym , z))
rappresenta ϕ(~x) = ψ(θ1 (~x), . . . , θm (~x)).
Se ϕ(~k) = p allora esistono q1 , . . . , qm ∈ N tali che θi (~k) = qi e ψ(q1 , . . . , qm ) = p. Dunque MA ` Gi (~k, qi )
e MA ` H(q1 , . . . , qm , p) per ipotesi su Gi e H.
Claim 5.5 (Chiusura per Minimo). Le funzioni rappresentabili in MA sono chiuse per minimo.
Dimostrazione. Sia G(~x, z, y) un rappresentante di ψ. Allora
∀w(w ≤ z → ∃y(G(~x, w, y) ∧ (y = 0 ↔ w = z))
rappresenta ϕ(~x) = min z(ψ(~x, z) = 0).
Dimostriamo prima l’univocità di F (~x, z). Osserviamo che MA ` F (~x, z) → G(~x, z, 0) e che dalla
definizione di F segue
MA ` (w < z ∧ F (~x, z)) → ¬G(~x, w, 0).
Dunque
MA ` (w < z ∧ F (~x, z)) → ¬F (~x, w).
LOGICA MATEMATICA PER INFORMATICA
(A.A. 11/12)
5
Dall’Assioma di totalità (Ax 9) dell’ordine < segue
MA ` F (~x, z) ∧ F (~x, w) → z = w.
Infatti, se w < z, dato che F (~x, z), segue ¬G(~x, w, 0). D’altra parte, da F (~x, w) segue G(~x, w, 0). Dunque
¬(w < z). Se invece z < w, dato che F (~x, w), segue ¬G(~x, z, 0), ma dato che F (~x, z), segue G(~x, z, 0).
Dunque ¬(z < w). Per (Ax 9) l’ultima possibilità rimasta è z = w.
Dimostriamo ora che F (~x, z) rispecchia in MA il comportamento input-output di ϕ(~x). Siano k1 , . . . , kn , p
in N tali che ϕ(k1 , . . . , kn ) = p. Allora, per definizione di ϕ, abbiamo
• ψ(~k, p) = 0 e,
• per ogni q < p esiste m 6= 0 tale che ψ(~k, q) = m.
Per ipotesi su ψ, vale
MA ` G(~k, p, 0),
e, per ogni q < p esiste un m 6= 0 tale che
MA ` G(~k, q, m).
Inoltre per un tale m vale
MA ` m 6= 0,
perché m 6= 0.
Per l’univocità di G vale, per ogni q < p,
MA ` ¬G(~k, q, 0).
Vogliamo dimostrare che vale F (~k, p). Abbiamo già visto che MA ` G(~k, p, 0) e dunque per w = p
l’implicazione in F è vera. Consideriamo ora i valori w < p. Ragioniamo per casi.
Se p = 0 allora w < p contraddice gli assiomi. Dunque
∀w(w < 0 → ¬G(~k, w, 0)).
Se p = s + 1 allora (per la Proposizione 3.2 parte (1)) vale
MA ` w < p → w = 0 ∨ · · · ∨ w = s.
Dunque anche
MA ` ∀w(w < p → ¬G(~k, p, 0)).
Possiamo allora concludere che
MA ` F (~k, p).
La dimostrazione del Teorema è cosı̀ conclusa.
6. Indecidibilità e Incompletezza
Supponiamo di aver fissato un modello di calcolo (o sistema di programmazione) P contenente per le
funzioni calcolabili, e di avere una associata lista di tutte le funzioni calcolabili P1 , P2 , P3 , . . . . Nei sistemi
abituali (Macchine di Turing, macchine RAM, lambda-calcolo etc.) la mappa
(i, j) 7→ Pi (j)
è algoritmica. In altre parole, esiste una funzione universale.
Sia Pu una funzione universale per il sistema P , i.e., una funzione tale che
Pu (i, j) = Pi (j).
Sia U (x, y, z) la formula che la rappresenta in MA
MA. L’interpretazione intuitiva di U (x, x, 0) è Px (x) = 0. Sia
T una teoria che estende MA
MA.
L’idea è che se Pi (i) = 0 allora MA è sufficiente a dimostrare U (i, i, 0), e che se vale Pi (i) = 1, allora MA
è sufficiente a dimostrare ¬U (i, i, 0), ossia a refutare U (i, i, 0). Dunque il sistema formale MA è sufficiente
a distinguere tra i due insiemi ricorsivamente inseparabili S0 = {i : Pi (i) = 0} e S1 = {i : Pi (i) =
1}. L’argomento dimostra che T eor(T ) = {E : T ` E} e Ref (T ) = {E : T ` ¬E} sono una coppia
algoritmicamente inseparabile.
6
DISPENSA N. 5
Sia T una qualunque teoria che estende MA
MA. Mostriamo che valgono le seguenti implicazioni, che danno
una riduzione (nel senso della Proposizione 2.1) della coppia di insiemi costituita dall’insieme dei teoremi di
T e dall’insieme degli enunciati insoddisfacibili alla coppia di insiemi S0 e S1 .
(1) Se Pi (i) = 0 allora MA ∧ U (i, i, 0) è dimostrabile in T .
(2) Se Pi (i) = 1 allora MA ∧ U (i, i, 0) è insoddisfacibile.
La prima implicazione è una conseguenza diretta del Teorema di Rappresentazione e della scelta di
U (x, x, 0). La seconda implicazione segue cosı̀. Banalmente
MA ∧ U (i, i, 0) ` U (i, i, 0)
Per il Teorema di Rappresentazione abbiamo che MA ` U (i, i, 1), e a fortiori abbiamo che
MA ∧ U (i, i, 0) ` U (i, i, 1).
Dunque
MA ∧ U (i, i, 0) ` U (i, i, 0) ∧ U (i, i, 1).
Ma per il Teorema di Rappresentazione e l’univocità di U abbiamo che
MA ` U (i, i, 0) ∧ U (i, i, 1) → 0 = 1.
Dunque
MA ∧ U (i, i, 0) ` 0 = 1.
D’altra parte
MA ` ¬(0 = 1),
perché 0 6= 1. Dunque
MA ∧ U (i, i, 0) ` 0 = 1 ∧ ¬(0 = 1),
Dunque MA ∧ U (i, i, 0) è insoddisfacibile, per il Teorema di Completezza. Si osservi che si ha anche MA `
¬U (i, i, 0) in questo caso, per Teorema di Deduzione e logica proposizionale).
Abbiamo appena dimostrato il nostro Teorema Principale.
Teorema 6.1 (Teorema Principale). Sia T una teoria che estende MA
MA. Allora i teoremi di T e gli
enunciati insoddisfacibili sono ricorsivamente inseparabili.
Dimostrazione. L’associazione i 7→ MA ∧ U (i, i, 0) è una mappa effettiva che riduce la coppia inseparabile (S0 , S1 ) alla coppia (Teoremi di T , Enunciati Insoddisfacibili). Dunque anche quest’ultima coppia è
inseparabile.
7. Alcuni corollari di rilievo
Se T è incoerente, allora il Teorema Principale è ovviamente vero ma banale, perché tutti gli enunciati
insoddisfacibili sono anche teoremi di T in questo caso. Se T è coerente, allora non può dimostrare un
enunciato insoddisfacibile. Infatti, per ogni enunciato E valido, T ` E (per il Teorema di Completezza,
indipendentemente da cosa è T !). Supponiamo che T ` G per qualche G insoddisfacibile. Allora ¬G è valido
e dunque T ` ¬G e T è incoerente. Riassumendo, se T è coerente, allora i teoremi di T sono disgiunti dagli
enunciati insoddisfacibili.
Corollario 7.1 (Indecidibilità dell’Aritmetica Formale). Se T ⊇ MA è coerente, allora l’insieme dei teoremi
di T è indecidibile.
Dimostrazione. Se T è coerente, allora nessun enunciato insoddisfacibile è dimostrabile in T . Dal Teorema
Principale si ha allora che l’insieme dei teoremi di T e il suo complemento sono ricorsivamente inseparabili. Corollario 7.2. Se T ⊇ MA è coerente, allora i teoremi di T e gli enunciati refutabili in T sono ricorsivamente inseparabili.
LOGICA MATEMATICA PER INFORMATICA
(A.A. 11/12)
7
Dimostrazione. Se T è coerente, l’insieme degli enunciati di cui T dimostra la negazione è contenuto nel
complemento dell’insieme dei teoremi di T .
(N.B. La dimostrazione del Teorema Principale dà direttamente una riduzione di (S0 , S1 ) a (T eor(T ), Ref (T ))
via la mappa i 7→ U (i, i, 0) e dunque una prova diretta del corollario).
Corollario 7.3 (Primo Teorema di Incompletezza di Gödel). Se T ⊇ MA è coerente e l’insieme dei teoremi
di T è enumerabile, allora esiste un enunciato G tale che G non è né dimostrabile né refutabile in T .
Dimostrazione. Altrimenti esiste una procedura di decisione per l’insieme dei teoremi di T (basta enumerare
tutti i teoremi di T e vedere se nella lista appare E o ¬E), il che contraddice il Corollario precedente. (N.B.
G o ¬G è vera nel modello N, quindi esiste un enunciato vero, indimostrabile e irrefutabile in T ).
Possiamo dimostrare di più: possiamo esibire un particolare enunciato G indimostrabile e irrefutabile in
T e inoltre possiamo ottenere G algoritmicamente e uniformemente da una descrizione di T .
Sia U (i, j, b) la formula usata nella dimostrazione del Teorema Principale. Allora abbiamo che
Pi (i) = 0 ⇒ T ` U (i, i, 0)
e
Pi (i) = 1 ⇒ T ` ¬U (i, i, 0).
Allora gli insiemi
S0 = {i : Pi (i) = 0} ⊆ A0 = {i | T ` U (i, i, 0)}
e
S1 = {i : Pi (i) = 1} ⊆ A1 = {i | T ` ¬U (i, i, 0)}.
Inoltre entrambi gli insiemi sono ricorsivamente enumerabili, per ipotesi su T . Dunque, per quanto dimostrato
su S0 , S1 , esiste e ∈
/ A0 ∪ A1 . Dunque esiste e tale che
T 0 U (e, e, 0),
T 0 ¬U (e, e, 0).
Il prossimo corollario è la soluzione negativa al Problema della Decisione.
Corollario 7.4 (Teorema di Church). La validità di un enunciato del I ordine (nel linguaggio dell’aritmetica)
è indecidibile. Equivalentemente: non esiste un algoritmo per decidere se un enunciato del I ordine (nel
linguaggio dell’aritmetica) è un teorema del Calcolo dei Predicati.
Dimostrazione. Supponiamo che MA sia coerente, e usiamo il Teorema Principale. Se ¬E è valido, allora
MA 0 E, perché necessariamente MA ` ¬E. Dunque se MA ` E allora ¬E non è valido (se MA è coerente).
Dunque la mappa (effettiva) E 7→ ¬E manda l’insieme dei teoremi di MA nel complemento dell’insieme degli
enunciati validi. D’altra parte, se E è insoddisfacibile, allora ¬E è valido. Dunque la mappa E 7→ ¬E manda
l’insieme degli enunciati insoddisfacibili nell’insieme degli enunciati validi. Allora l’insieme degli enunciati
validi e il suo complemento sono inseparabili. Dunque la validità è indecidibile.
In alternativa, si può argomentare semplicemente cosı̀: se il Problema della Decisione fosse decidibile,
MA
allora sarebbe decidibile anche T eor(MA
MA). Infatti
MA ` E ⇔` MA → E.
Per questo argomento è essenziale il fatto che MA è un insieme finito di enunciati.
Osservazione 7.5. Osserviamo anche che il Teorema di Church si enuncia più correttamente cosı̀: esiste
un vocabolario del I ordine tale che il problema della validità degli enunciati del I ordine in quel vocabolario
è indecidibile. Nella nostra dimostrazione per esempio, il vocabolario è contiene il linguaggio dell’aritmetica
MA
MA, quindi almeno due funzioni binarie (equivalentemente: due relazioni ternarie). Al contrario, la validità
di un enunciato in un linguaggio che contiene soltanto simboli di relazione a un posto (predicati) è decidibile!
(Teorema di Löwenheim, Kalmár).
Come conseguenza del Teorema di Definibilità dei grafici delle funzioni calcolabili con formule Σ1 in N
e del fatto che il complemento dell’insieme K non è enumerabile abbiamo già osservato che l’insieme degli
enunciati veri in N non può essere enumerabile, e dunque la verità in N è indecidibile. Possiamo ottenere
quest’ultimo risultato come conseguenza del nostro Teorema Principale come segue. (Vedremo più avanti un
risultato più forte, il Teorema di Tarski).
8
DISPENSA N. 5
Corollario 7.6 (Indecidibilità della verità aritmetica). L’insieme degli enunciati veri in N è indecidibile.
Dimostrazione. La dimostrazione usa una ipotesi semantica (per quanto piuttosto debole): i teoremi di MA
sono veri in N (si dice che MA è corretta). Dunque abbiamo che gli enunciati veri in N e gli enunciati
insoddisfacibili sono ricorsivamente inseparabili. Dato che tutti gli enunciati insoddisfacibili sono nel complemento degli enunciati veri in N, abbiamo che gli enunciati veri in N e gli enunciati non veri in N sono
insiemi ricorsivamente inseparabili. (Si osserva che il risultato segue anche dall’indecidibilità dell’Aritmetica
Formale già dimostrata, scegliendo T come l’insieme degli enunciati veri in N).
8. L’approccio originale di Gödel e il Teorema di Tarski
Descriviamo qui brevemente l’approccio originale di Gödel. Il cuore dell’argomento è sempre il teorema di
rappresentabilità. A questo segue un’analisi della definibilità di una serie di proprietà e relazioni sintattiche
e metateoriche. Si dimostra che – modulo opportuna codifica numerica – nozioni quali formula, enunciato,
dimostrazione, risultato di sostituzione di una variabile in una formula, etc. sono definibili da relazioni (primitive)) ricorsive. Dunque sono rappresentabili nella teoria. Spesso in questo contesto, quando ci riferiamo a
un insieme S di enunciati ci riferiamo all’insieme dei codici degli enunciati in S. Per il resto della discussione
sia T una estensione di MA
MA.
Si dimostra che la seguente relazione è primitiva ricorsiva: “x è il codice di una formula A con una unica
variabile libera e y è il codice di una dimostrazione in T della formula ottenuta sostituendo x in A all’unica
variabile libera di A”. Chiamiamo R(x, y) questa relazione.
Sia F (x, y) una formula che esprime in T la relazione R(x, y), nel senso seguente: per ogni a, b ∈ N
R(a, b) ⇒ T ` F (a, b),
¬R(a, b) ⇒ T ` ¬F (a, b).
L’esistenza di una tale formula segue dal teorema di rappresentabilità (Esercizio: un predicato è esprimibile
se e solo se la sua funzione caratteristica è rappresentabile).
Definizione 8.1 (ω-coerenza). Diciamo che una teoria T è ω-coerente se non esiste una formula A(x) tale
che
Per ogni n ∈ N T ` A(n),
e
T ` ¬(∀x)A(x).
Consideriamo la formula seguente.
(∀y)¬F (x, y).
Sia m il codice di questa formula. Consideriamo l’enunciato G seguente.
(∀y)¬F (m, y).
Teorema 8.2. Se T è coerente allora G è indimostrabile in T . Se T è ω-coerente allora ¬G è indimostrabile
in T .
Dimostrazione. Sia T coerente e supponiamo che T dimostri G. Sia d il codice di una dimostrazione. Allora
R(m, d). Allora T ` F (m, d). Dunque T ` ∃yF (m, y). Dunque T è incoerente.
Sia T ω-coerente e supponiamo che T dimostri ¬G, i.e., ∃yF (m, y). Per coerenza di T , T non dimostra
G. Allora, per ogni numero n, n non è il codice di una dimostrazione di G in T , i.e., per ogni n, non vale
R(m, n). Dunque per ogni n, T ` ¬F (m, n). Ma allora T è ω-incoerente.
Osservazione 8.3. Si può dimostrare il Teorema di Gödel sotto la sola ipotesi di coerenza. Questo risultato
è dovuto a Rosser.
Sia H(x, y) la formula che rappresenta in T la relazione seguente. x è il codice di una formula A con una
unica variabile libera e y è il codice di una dimostrazione in T della formula ottenuta sostituendo x in ¬A
all’unica variabile libera di A. Chiamiamo S(x, y) questa relazione. Consideriamo il seguente enunciato.
(∀y)(F (x, y) → (∃z)(z ≤ y ∧ H(x, z))).
Sia m il codice di questo enunciato. Consideriamo l’enunciato R seguente.
(∀y)(F (m, y) → (∃z)(z ≤ y ∧ H(m, z))).
LOGICA MATEMATICA PER INFORMATICA
(A.A. 11/12)
9
Si può dimostrare che se T è coerente allora R non è né dimostrabile né refutabile. (Esercizio)
Mostriamo ora come ottenere l’indecidibilità dell’aritmetica formale e un risultato sulla complessità della
verità aritmetica (Teorema di Tarski) nel contesto dell’approccio originale di Gödel.
Quando qui sotto parliamo di esprimibilità di un insieme di enunciati in una teoria intendiamo l’esprimibilità dell’insieme dei codici numerici associati agli enunciati dell’insieme in questione. Per esempio,
quando consideriamo l’esprimibilità di T eor(T ) = {E : T ` E} intendiamo l’esprimibilità dell’insieme
{code(E) : T ` E}.
Sia D la funzione tale che se u è il codice di una formula A(x) con variabile libera x allora D(u) è il codice
di A(u). D è ricorsiva.
Teorema 8.4. Se D è rappresentabile in T e T è coerente allora i teoremi di T non sono esprimibili in T .
Dimostrazione. Sia D rappresentabile in T . Sia FD (x, y) la formula che la rappresenta. Allora vale
D(k) = j ⇒ T ` FD (k, j)
e, per ogni k ∈ N,
T ` ∀y∀z((FD (k, y) ∧ FD (k, z)) → y = z).
Supponiamo per assurdo che i teoremi di T siano esprimibili in T . Sia FT (y) la formula che li esprime.
Allora vale, per ogni formula H,
T ` H ⇒ T ` FT (cod(H))
e
T 0 H ⇒ T ` ¬FT (cod(H)),
dove indichiamo con cod(E) il codice della formula P . Consideriamo la formula A(x) seguente.
∀y(FD (x, y) → ¬FT (y)).
Sia p il codice di questa formula. Consideriamo A(p).
∀y(FD (p, y) → ¬FT (y)).
Sia q il codice di A(p). Per definizione di D abbiamo D(p) = q. Dunque
T ` FD (p, q).
Vogliamo ora dimostrare che T ` ¬FT (q). Ragioniamo per casi. (Caso 1) Se T 0 A(p), allora A(p) non è un
teorema di T e dunque code(A(p)) = q ∈
/ T eor(T ). Dunque, per esprimibilità,
T ` ¬FT (q).
(Caso 2) Se T ` A(p), allora anche
T ` FD (p, q) → ¬FT (q).
Dunque
T ` ¬FT (q).
Abbiamo dimostrato cosı̀ che T ` ¬FT (q).
Da T ` FD (p, q) e dall’univocità della formula FD segue che
T ` FD (p, y) → y = q.
Inoltre vale (dato che T ` FT (q))
T ` y = q → ¬FT (y).
Dunque
T ` FD (p, y) → ¬FT (y).
Per generalizzazione abbiamo allora
T ` ∀y(FD (p, y) → ¬FT (y)),
ossia
T ` A(p).
Dunque T ` FT (code(A(p)), ossia
T ` FT (q).
10
DISPENSA N. 5
Dunque T è incoerente.
Corollario 8.5. Se T è coerente e tutte le funzioni calcolabili sono rappresentabili in T allora i teoremi di
T non sono esprimibili in T . In particolare non sono un insieme calcolabile.
Diciamo che una teoria T è inedicibile se l’insieme dei suoi teoremi non è calcolabile.
Corollario 8.6. Se MA è coerente allora ogni estensione coerente di MA è indecidibile.
Dimostrazione. Se T è un estensione coerente di MA
MA, allora ogni funzione calcolabile è rappresentabile in
T.
Teorema 8.7 (Teorema di Tarski). L’insieme delle verità aritmetiche non è definibile in N da una formula
del primo ordine.
Dimostrazione. Consideriamo l’estensione T di MA ottenuta aggiungendo tutti gli enunciati veri nel modello
N standard. Supponiamo T coerente (N |= T ). Allora l’insieme dei teoremi di T non è esprimibile in T . Ma
l’insieme dei teoremi di T è l’insieme delle verità in N. Inoltre, una relazione è esprimibile in T se e soltanto
se è l’interpretazione di una formula in N. Dunque le verità aritmetiche non sono definibili da una formula
aritmetica.
Dal punto di vista algoritmico, il Teorema di Tarski implica che la verità in N ha un alto grado di
insolubilità algoritmica.