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.