20.05.2013 Views

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

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

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

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>LOGICA</strong> <strong>MATEMATICA</strong> <strong>PER</strong> <strong>INFORMATICA</strong><br />

(A.A. <strong>11</strong>/<strong>12</strong>)<br />

DISPENSA N. 5<br />

Sommario. Dimostriamo l’indecidibilità dell’aritmetica formale, della verità aritmetica, e della validità<br />

logica.<br />

1. Incompletezza e indecidibilità<br />

Diamo una presentazione unificata dei teoremi di Incompletezza di Gödel e di Indecidibilità di Church.<br />

Dimostriamo che non esistono soluzioni algoritmiche per i problemi seguenti.<br />

(1) L’enunciato E è una verità logica?<br />

(2) L’enunciato E è vero nei numeri naturali?<br />

(3) L’enunciato E è un teorema dell’aritmetica formale?<br />

Inoltre dimostriamo che ogni sistema di aritmetica formale che soddisfa certi requisiti minimi, o è incoerente<br />

o è incompleto (Primo Teorema di Incompletezza di Gödel, 1931). Dimostriamo che esiste una<br />

procedura effettiva per estrarre dalla descrizione di un qualunque tale sistema un enunciato indecidibile nel<br />

sistema. 1<br />

Gli ingredienti della dimostrazione sono i seguenti.<br />

• L’esistenza di insiemi ricorsivamente inseparabili.<br />

• La rappresentabilità delle funzioni computabili in un sistema minimalista di aritmetica formale.<br />

2. Osservazioni preliminari<br />

Dal Teorema di Completezza sappiamo che, per ogni teoria T , per ogni enunciato E,<br />

T ⊢ E ⇔ T |= E.<br />

Resta aperta la seguente possibilità: Esiste una teoria T tale che, per qualche enunciato E, esiste un modello<br />

A tale che A |= T e A |= E, ed esiste un modello B tale che B |= T e B |= ¬E? Equivalentemente, esiste<br />

una teoria T coerente (ha almeno un modello) e incompleta (sintatticamente), i.e., tale che per qualche E,<br />

T E e T ¬E? Dal Primo Teorema di Incompletezza di Gödel segue che ogni teoria T che contiene un<br />

un minimo di aritmetica ha questa proprietà!<br />

Definiamo<br />

T h(N) = {E : N |= E}.<br />

La teoria T h(N) riveste un particolare interesse, in quanto cattura tutte le verità aritmetiche nel linguaggio<br />

della logica del I ordine. In particolare contiene le risposte a molti problemi aperti di Teoria dei Numeri<br />

(e.g., congettura di Goldbach, ipotesi di Riemann, etc.). Se T è una teoria, denotiamo con T eor(T ) l’insieme<br />

dei teoremi di T , i.e., {E : T ⊢ T }. Storicamente ha rivestito un particolare interesse la domanda: esiste<br />

una teoria T tale che (1) l’insieme dei teoremi di T è ricorsivamente enumerabile, e (2) T eor(T ) = T h(N)?<br />

(Una tale teoria è necessariamente completa, dato che lo è T h(N)). Ricordiamo che l’esistenza di una tale<br />

teoria implicherebbe la decidiblità algoritmica dell’insieme T eor(T ) e quindi di T h(N).<br />

Dal Teorema di Rappresentazione delle funzioni calcolabili in N e dall’indecidibilità di K sappiamo già che<br />

T h(N) è indecidibile. Dunque non può esistere una teoria T che soddisfa i punti (1) e (2) di sopra. In altre<br />

1 Incidentalmente osserviamo qui che, per quanto appena detto, gli argomenti del tipo ’Il teorema di Gödel dimostra che gli<br />

esseri umani non sono algoritmici’ hanno la forma logica ’Esiste un algoritmo ... dunque gli esseri umani non sono algoritmici’.<br />

1


2 DISPENSA N. 5<br />

parole, se T è coerente, completa, e T eor(T ) è enumerabile, allora T eor(T ) non può coincidere con T h(N).<br />

Lo stesso vale per ogni teoria T con T eor(T ) enumerabile e tale che, per ogni E, se T ⊢ E, allora N |= E<br />

(una tale teoria si dice corretta). Infatti, se una tale teoria fosse completa, avremmo che T eor(T ) = T h(N).<br />

Dal quadro appena descritto resta aperta la possibilità che esistano teorie T coerenti, complete, con<br />

T eor(T ) enumerabile, che catturino una parte significativa di T h(N), per esempio, tutte le verità espimibili<br />

con formule una certa complessità quantificazionale. I risultati di Gödel mostrano che questo non è possibile:<br />

ogni teoria T coerente e con T eor(T ) enumerabili, e tale da contenere un minimo di aritmetica, è incompleta.<br />

3. Insiemi algoritmicamente inseparabili<br />

Due insiemi A, B sono algoritmicamente inseparabili se non esiste un algoritmo capace di discrimare tra<br />

A e B. In altre parole, se non esiste una funzione calcolabile f tale che per ogni a ∈ A, f(a) = 1 e per<br />

ogni b ∈ B, f(b) = 0. In altre parole non esiste un insieme C ricorsivo tale che A ⊆ C e B ⊆ N \ C. Nelle<br />

applicazioni del concetto saremo interessati ai casi in cui A ∩ B = ∅ (il caso contrario è banale).<br />

L’utilità degli insiemi inseparabili nelle dimostrazioni di indecidibilità ha due ragioni.<br />

La prima è che se B è il complemento di A (B = N\A) e A, B sono inseparabili, allora A è algoritmicamente<br />

indecidibile: non esiste una funzione f tale che per ogni x ∈ A, f(x) = 1 e per ogni x /∈ A, f(x) = 0.<br />

La seconda ragione è che si può definire una buona nozione di riduzione tra problemi. La proprietà di essere<br />

algoritmicamente inseparabili si traferisce infatti da una coppia di insiemi all’altra attraverso trasformazioni<br />

effettive. Siano C e D immagini effettive di A e B, i.e., insiemi tali che C ∩ D = ∅, ed esiste una funzione<br />

calcolabile f tale che f(A) ⊆ C e f(B) ⊆ D. Allora se A e B sono algoritmicamente inseparabili, lo sono<br />

anche C e D. Per la precisione, vale la proposizione seguente.<br />

Proposizione 3.1. Sia A, B inseparabili. Siano C, D disgiunti. Sia f un algoritmo tale che f(A) ⊆ C e<br />

f(B) ⊆ D. Allora C, D sono inseparabili.<br />

Dimostrazione. Esercizio! <br />

Faremo uso di una particolare coppia di insiemi inseparabili. Supponiamo di avere fissato un modello di<br />

calcolo per le funzioni calcolabili (un sistema di programmazione accettabile) (Pi)i∈N. Assumiamo che ogni<br />

funzione calcolabile ha almeno un programma Pi che la calcola e che la funzione calcolata dal programma<br />

Pi è calcolabile per ogni i. Denotiamo con Pi(n) il risultato (possibilmente indefinito) dell’applicazione della<br />

procedura i-esima all’input n. Assumiamo che l’applicazione i, x ↦→ Pi(x) sia calcolabile (come accade in<br />

tutti i modelli di calcolo usuali).<br />

Definiamo due insiemi come segue.<br />

S0 = {i : Pi(i) = 0}, S1 = {i : Pi(i) = 1}.<br />

Tutti i risultati di indecidibilità logica saranno ottenuti per riduzione a questa coppia. Dimostreremo più<br />

avanti che S0, S1 sono effettivamente inseparabili.<br />

Dimostriamo qualcosa di più forte. Denotiamo con dom(Pi) l’insieme degli argomenti su cui il programma<br />

Pi termina (è definito). Ricordiamo che un insieme S è ricorsivamente enumerabile se e solo se è il dominio<br />

di una funzione calcolabile, i.e., se e solo se esiste i tale che S = dom(Pi).<br />

Proposizione 3.2. Esiste un algoritmo α tale che, per ogni a, b ∈ N, se valgono i seguenti punti allora<br />

α(a, b) è definito e non è né nel dominio di Pa né nel dominio di Pb<br />

(1) dom(Pa) ∩ dom(Pb) = ∅.<br />

(2) S0 ⊆ dom(Pa).<br />

(3) S1 ⊆ dom(Pb).<br />

Dimostrazione. Dati due indici a, b, la seguente procedura ψ è effettiva (algoritmica): dato y, enumeriamo<br />

simultaneamente dom(Pa) e dom(Pb). Se y appare prima in dom(Pa), restituiamo 1, se y appare prima in<br />

dom(Pb), restituiamo 0. Se y non appare né in dom(Pa) né in dom(Pb), la procedura non termina. Un<br />

programma per ψ si può ottenere algoritmicamente dai programmi Pa e Pb, in altre parole: un indice per<br />

ψ si ottiene algoritmicamente dagli indici a, b in modo uniforme. Dunque esiste una funzione f cacolabile<br />

totale tale che P f(a,b) è proprio ψ.


<strong>LOGICA</strong> <strong>MATEMATICA</strong> <strong>PER</strong> <strong>INFORMATICA</strong> (A.A. <strong>11</strong>/<strong>12</strong>) 3<br />

Supponiamo che f(a, b) ∈ dom(Pa). Allora ψ(f(a, b)) = 1 e dunque P f(a,b)(f(a, b)) = 1. Ma allora f(a, b)<br />

è in S0. Per ipotesi, S1 ⊆ dom(Pb), il che contraddice dom(Pa) ∩ dom(Pb) = ∅.<br />

Supponiamo che f(a, b) ∈ dom(Pb). Allora ψ(f(a, b)) = 0 e dunque P f(a,b)(f(a, b)) = 0. Ma allora f(a, b)<br />

è in S1. Per ipotesi, S0 ⊆ dom(Pa), il che contraddice dom(Pa) ∩ dom(Pb) = ∅.<br />

Dunque f(a, b) non è né in dom(Pa) né in dom(Pb). <br />

Corollario 3.3. S0 e S1 sono algoritmicamente inseparabili.<br />

Dimostrazione. Esercizio! <br />

4. Aritmetica Minimale<br />

Fissiamo una teoria di base che chiamiamo Aritmetica Minimale e denotiamo con MA MA. MA è assiomatizzata<br />

dai seguenti assiomi nel linguaggio {0, 1, +, ×}. Denotiamo con MA anche la congiunzione della chiusura<br />

universale degli assiomi di MA MA. Per ogni n ∈ N denotiamo ambiguamente con n il termine ottenuto sommando<br />

la costante 1 a se stessa n volte. Con x = y abbreviamo ¬(x = y), con x ≤ y abbreviamo (∃z)(x + z = y),<br />

e con x < y abbreviamo x ≤ y ∧ x = y.<br />

(Ax 1) 0 + 1 = 1<br />

(Ax 2) ∀x(x + 1 = 0)<br />

(Ax 3) ∀x(x = 0 → ∃z(z + 1 = x))<br />

(Ax 4) ∀x∀y(x + 1 = y + 1 → x = y)<br />

(Ax 5) ∀(x + 0 = x)<br />

(Ax 6) ∀x∀y(x + (y + 1) = (x + y) + 1)<br />

(Ax 7) ∀x(x × 0 = 0)<br />

(Ax 8) ∀x∀y(x × (y + 1) = (x × y) + x)<br />

(Ax 9) ∀x∀y(x < y ∨ x = y ∨ y < x)<br />

Abbiamo bisogno delle proposizioni seguenti.<br />

Proposizione 4.1. Per ogni n ∈ N, MA ⊢ x < n + 1 → x ≤ n.<br />

Dimostrazione. Ricordiamo che x < n + 1 abbrevia ∃z(x + z = n + 1 ∧ x = (n + 1)). Ragioniamo in MA per<br />

casi. Se z = 0 allora per (Ax 5) x = n + 1, che contraddice x = n + 1. Dunque z = 0. Da (Ax 3) segue<br />

∃w(x + (w + 1) = n + 1). Dunque, per (Ax 6) e (Ax 4), ∃w(x + w = n), che per convenzione è abbreviato<br />

come x ≤ n. <br />

Proposizione 4.2. Per ogni m, n, p ∈ N<br />

(1) MA ⊢ x ≤ n → x = 0 ∨ · · · ∨ x = n.<br />

(2) Se m + n = p allora MA ⊢ m + n = p.<br />

(3) Se m · n = p allora MA ⊢ m × n = p.<br />

(4) Se m = n allora MA ⊢ ¬(m = n).<br />

Dimostrazione. Dimostriamo il punto (1) per induzione su n. Per il caso n = 0 dobbiamo dimostrare<br />

MA ⊢ x ≤ 0 → x = 0. x ≤ 0 abbrevia ∃z(x + z = 0). Ragioniamo in MA MA, e supponiamo ∃z(x + z = 0).<br />

Ragioniamo per casi. Se z = 0, allora per (Ax 3) ho ∃w(x + (w + 1) = 0) e da questo, per (Ax 6) e<br />

per l’assunzione ∃z(x + z = 0), segue ∃w((x + w) + 1 = 0). Ma questo contraddice (Ax 2). Dunque<br />

z = 0, e allora x + 0 = 0. Per (Ax 5) segue x = 0. Per il caso n + 1, l’ipotesi di induzione è che<br />

MA ⊢ x ≤ n → x = 0∨· · ·∨x = n. Ragioniamo in MA MA, e supponiamo x ≤ n+1. Allora x < n+1∨x = n+1.<br />

Allora anche x ≤ n∨x = n+1, per la Proposizione 3.1. Per ipotesi induttiva, da x ≤ n segue x = 0∨· · ·∨x = n<br />

dunque da x ≤ n ∨ x = n + 1 segue x = 0 ∨ · · · ∨ x = n ∨ x = n + 1.<br />

Dimostriamo il punto (2) per induzione su n. Per il caso n = 0 dobbiamo dimostrare che MA ⊢ m+0 = m.<br />

Questo segue dall’assioma (Ax 5). Per il caso n + 1, sia m + (n + 1) = q. Allora m + n = p, dove p è q − 1.<br />

Per ipotesi induttiva, MA ⊢ m + n = p. Allora MA ⊢ (m + n) + 1 = p + 1. Per (Ax 6) questo implica<br />

MA ⊢ m + (n + 1) = q.<br />

Dimostriamo il punto (3) per induzione su n. Per il caso n = 0 dobbiamo dimostrare che MA ⊢ m × 0 = 0.<br />

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<br />

induttiva MA ⊢ m×n = p. Allora MA ⊢ (m×n)+m = p+m. Per (Ax 8) segue MA ⊢ m×(n+1) = p+m. Dal<br />

punto (2) già dimostrato segue MA ⊢ p + m = q (N.B. il termine chiuso p + m non coincide sintatticamente<br />

con il termine chiuso q). <br />

5. Rappresentabilità<br />

Vogliamo mostrare che MA è abbastanza forte da rispecchiare il comportamento delle funzioni calcolabili.<br />

Abbiamo bisogno della nozione seguente, che è l’analogo della definibilità in N per la teoria formale MA MA.<br />

Definizione 5.1 (Rappresentabilità di una funzione in una teoria). Una funzione ϕ : N k → N è<br />

rappresentabile in una teoria T se esiste una formula Fϕ(x1, . . . , xk, z) nel linguaggio di T tale che<br />

e per ogni n1, . . . , nk, m in N<br />

T ⊢ (∀x1) . . . (∀xk)(∀y)(∀z)[Fϕ(x1, . . . , xk, y) ∧ Fϕ(x1, . . . , xk, z) → y = z],<br />

Se ϕ(n1, . . . , nk) = m allora T ⊢ Fϕ(n1, . . . , nk, m).<br />

(se l’ultima implicazione si inverte parliamo di rappresentabilità forte).<br />

Dimostriamo il teorema seguente. Essenzialmente la dimostrazione consiste nel verificare che quanto<br />

abbiamo fatto per dimostrare il Teorema di Caratterizzazione può essere svolto in MA MA.<br />

Teorema 5.2 (Teorema di Rappresentazione). Le funzioni computabili sono rappresentabili in MA MA.<br />

Dimostrazione. Dimostriamo il teorema in tre passi:<br />

• Le funzioni di base sono rappresentabili.<br />

• Le funzioni rappresentabili sono chiuse sotto sostituzione.<br />

• Le funzioni rappresentabili sono chiuse sotto minimo.<br />

Claim 5.3 (Rappresentabilità Funzioni di Base). Le funzioni di base sono rappresentabili in MA MA.<br />

Dimostrazione. L’addizione è rappresentata dalla formula x+y = z, la moltiplicazione dalla formula x×y = z,<br />

le proiezioni dalle formule xi = z, l’uguaglianza dalla formula (x = y ∧ z = 1) ∨ (x = y ∧ z = 0). <br />

Claim 5.4 (Chiusura per Composizione). Le funzioni rappresentabili in MA sono chiuse per composizione.<br />

Dimostrazione. Sia Gi(x, yi) il rappresentante di θi, i ∈ [1, m], sia H(y1, . . . , ym, z) il rappresentante di ψ.<br />

Allora<br />

∃y1 . . . ∃ym(G1(x, y1) ∧ · · · ∧ Gm(x, ym) ∧ H(y1, . . . , ym, z))<br />

rappresenta ϕ(x) = ψ(θ1(x), . . . , θm(x)).<br />

Se ϕ( k) = p allora esistono q1, . . . , qm ∈ N tali che θi( k) = qi e ψ(q1, . . . , qm) = p. Dunque MA ⊢ Gi( k, qi)<br />

e MA ⊢ H(q1, . . . , qm, p) per ipotesi su Gi e H. <br />

Claim 5.5 (Chiusura per Minimo). Le funzioni rappresentabili in MA sono chiuse per minimo.<br />

Dimostrazione. Sia G(x, z, y) un rappresentante di ψ. Allora<br />

∀w(w ≤ z → ∃y(G(x, w, y) ∧ (y = 0 ↔ w = z))<br />

rappresenta ϕ(x) = min z(ψ(x, z) = 0).<br />

Dimostriamo prima l’univocità di F (x, z). Osserviamo che MA ⊢ F (x, z) → G(x, z, 0) e che dalla<br />

definizione di F segue<br />

MA ⊢ (w < z ∧ F (x, z)) → ¬G(x, w, 0).<br />

Dunque<br />

MA ⊢ (w < z ∧ F (x, z)) → ¬F (x, w).


<strong>LOGICA</strong> <strong>MATEMATICA</strong> <strong>PER</strong> <strong>INFORMATICA</strong> (A.A. <strong>11</strong>/<strong>12</strong>) 5<br />

Dall’Assioma di totalità (Ax 9) dell’ordine < segue<br />

MA ⊢ F (x, z) ∧ F (x, w) → z = w.<br />

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<br />

¬(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).<br />

Dunque ¬(z < w). Per (Ax 9) l’ultima possibilità rimasta è z = w.<br />

Dimostriamo ora che F (x, z) rispecchia in MA il comportamento input-output di ϕ(x). Siano k1, . . . , kn, p<br />

in N tali che ϕ(k1, . . . , kn) = p. Allora, per definizione di ϕ, abbiamo<br />

• ψ( k, p) = 0 e,<br />

• per ogni q < p esiste m = 0 tale che ψ( k, q) = m.<br />

Per ipotesi su ψ, vale<br />

MA ⊢ G( k, p, 0),<br />

e, per ogni q < p esiste un m = 0 tale che<br />

Inoltre per un tale m vale<br />

perché m = 0.<br />

Per l’univocità di G vale, per ogni q < p,<br />

MA ⊢ G( k, q, m).<br />

MA ⊢ m = 0,<br />

MA ⊢ ¬G( k, q, 0).<br />

Vogliamo dimostrare che vale F ( k, p). Abbiamo già visto che MA ⊢ G( k, p, 0) e dunque per w = p<br />

l’implicazione in F è vera. Consideriamo ora i valori w < p. Ragioniamo per casi.<br />

Se p = 0 allora w < p contraddice gli assiomi. Dunque<br />

∀w(w < 0 → ¬G( k, w, 0)).<br />

Se p = s + 1 allora (per la Proposizione 3.2 parte (1)) vale<br />

Dunque anche<br />

Possiamo allora concludere che<br />

MA ⊢ w < p → w = 0 ∨ · · · ∨ w = s.<br />

MA ⊢ ∀w(w < p → ¬G( k, p, 0)).<br />

MA ⊢ F ( k, p).<br />

La dimostrazione del Teorema è così conclusa. <br />

6. Indecidibilità e Incompletezza<br />

Supponiamo di aver fissato un modello di calcolo (o sistema di programmazione) P contenente per le<br />

funzioni calcolabili, e di avere una associata lista di tutte le funzioni calcolabili P1, P2, P3, . . . . Nei sistemi<br />

abituali (Macchine di Turing, macchine RAM, lambda-calcolo etc.) la mappa<br />

(i, j) ↦→ Pi(j)<br />

è algoritmica. In altre parole, esiste una funzione universale.<br />

Sia Pu una funzione universale per il sistema P , i.e., una funzione tale che<br />

Pu(i, j) = Pi(j).<br />

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<br />

T una teoria che estende MA MA.<br />

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<br />

è sufficiente a dimostrare ¬U(i, i, 0), ossia a refutare U(i, i, 0). Dunque il sistema formale MA è sufficiente<br />

a distinguere tra i due insiemi ricorsivamente inseparabili S0 = {i : Pi(i) = 0} e S1 = {i : Pi(i) =<br />

1}. L’argomento dimostra che T eor(T ) = {E : T ⊢ E} e Ref(T ) = {E : T ⊢ ¬E} sono una coppia<br />

algoritmicamente inseparabile.


6 DISPENSA N. 5<br />

Sia T una qualunque teoria che estende MA MA. Mostriamo che valgono le seguenti implicazioni, che danno<br />

una riduzione (nel senso della Proposizione 2.1) della coppia di insiemi costituita dall’insieme dei teoremi di<br />

T e dall’insieme degli enunciati insoddisfacibili alla coppia di insiemi S0 e S1.<br />

(1) Se Pi(i) = 0 allora MA ∧ U(i, i, 0) è dimostrabile in T .<br />

(2) Se Pi(i) = 1 allora MA ∧ U(i, i, 0) è insoddisfacibile.<br />

La prima implicazione è una conseguenza diretta del Teorema di Rappresentazione e della scelta di<br />

U(x, x, 0). La seconda implicazione segue così. Banalmente<br />

MA ∧ U(i, i, 0) ⊢ U(i, i, 0)<br />

Per il Teorema di Rappresentazione abbiamo che MA ⊢ U(i, i, 1), e a fortiori abbiamo che<br />

Dunque<br />

MA ∧ U(i, i, 0) ⊢ U(i, i, 1).<br />

MA ∧ U(i, i, 0) ⊢ U(i, i, 0) ∧ U(i, i, 1).<br />

Ma per il Teorema di Rappresentazione e l’univocità di U abbiamo che<br />

Dunque<br />

D’altra parte<br />

MA ⊢ U(i, i, 0) ∧ U(i, i, 1) → 0 = 1.<br />

MA ∧ U(i, i, 0) ⊢ 0 = 1.<br />

MA ⊢ ¬(0 = 1),<br />

perché 0 = 1. Dunque<br />

MA ∧ U(i, i, 0) ⊢ 0 = 1 ∧ ¬(0 = 1),<br />

Dunque MA ∧ U(i, i, 0) è insoddisfacibile, per il Teorema di Completezza. Si osservi che si ha anche MA ⊢<br />

¬U(i, i, 0) in questo caso, per Teorema di Deduzione e logica proposizionale).<br />

Abbiamo appena dimostrato il nostro Teorema Principale.<br />

Teorema 6.1 (Teorema Principale). Sia T una teoria che estende MA MA. Allora i teoremi di T e gli<br />

enunciati insoddisfacibili sono ricorsivamente inseparabili.<br />

Dimostrazione. L’associazione i ↦→ MA ∧ U(i, i, 0) è una mappa effettiva che riduce la coppia inseparabile<br />

(S0, S1) alla coppia (Teoremi di T , Enunciati Insoddisfacibili). Dunque anche quest’ultima coppia è<br />

inseparabile. <br />

7. Alcuni corollari di rilievo<br />

Se T è incoerente, allora il Teorema Principale è ovviamente vero ma banale, perché tutti gli enunciati<br />

insoddisfacibili sono anche teoremi di T in questo caso. Se T è coerente, allora non può dimostrare un<br />

enunciato insoddisfacibile. Infatti, per ogni enunciato E valido, T ⊢ E (per il Teorema di Completezza,<br />

indipendentemente da cosa è T !). Supponiamo che T ⊢ G per qualche G insoddisfacibile. Allora ¬G è valido<br />

e dunque T ⊢ ¬G e T è incoerente. Riassumendo, se T è coerente, allora i teoremi di T sono disgiunti dagli<br />

enunciati insoddisfacibili.<br />

Corollario 7.1 (Indecidibilità dell’Aritmetica Formale). Se T ⊇ MA è coerente, allora l’insieme dei teoremi<br />

di T è indecidibile.<br />

Dimostrazione. Se T è coerente, allora nessun enunciato insoddisfacibile è dimostrabile in T . Dal Teorema<br />

Principale si ha allora che l’insieme dei teoremi di T e il suo complemento sono ricorsivamente inseparabili. <br />

Corollario 7.2. Se T ⊇ MA è coerente, allora i teoremi di T e gli enunciati refutabili in T sono ricorsivamente<br />

inseparabili.


<strong>LOGICA</strong> <strong>MATEMATICA</strong> <strong>PER</strong> <strong>INFORMATICA</strong> (A.A. <strong>11</strong>/<strong>12</strong>) 7<br />

Dimostrazione. Se T è coerente, l’insieme degli enunciati di cui T dimostra la negazione è contenuto nel<br />

complemento dell’insieme dei teoremi di T .<br />

(N.B. La dimostrazione del Teorema Principale dà direttamente una riduzione di (S0, S1) a (T eor(T ), Ref(T ))<br />

via la mappa i ↦→ U(i, i, 0) e dunque una prova diretta del corollario). <br />

Corollario 7.3 (Primo Teorema di Incompletezza di Gödel). Se T ⊇ MA è coerente e l’insieme dei teoremi<br />

di T è enumerabile, allora esiste un enunciato G tale che G non è né dimostrabile né refutabile in T .<br />

Dimostrazione. Altrimenti esiste una procedura di decisione per l’insieme dei teoremi di T (basta enumerare<br />

tutti i teoremi di T e vedere se nella lista appare E o ¬E), il che contraddice il Corollario precedente. (N.B.<br />

G o ¬G è vera nel modello N, quindi esiste un enunciato vero, indimostrabile e irrefutabile in T ).<br />

Possiamo dimostrare di più: possiamo esibire un particolare enunciato G indimostrabile e irrefutabile in<br />

T e inoltre possiamo ottenere G algoritmicamente e uniformemente da una descrizione di T .<br />

Sia U(i, j, b) la formula usata nella dimostrazione del Teorema Principale. Allora abbiamo che<br />

e<br />

Allora gli insiemi<br />

e<br />

Pi(i) = 0 ⇒ T ⊢ U(i, i, 0)<br />

Pi(i) = 1 ⇒ T ⊢ ¬U(i, i, 0).<br />

S0 = {i : Pi(i) = 0} ⊆ A0 = {i | T ⊢ U(i, i, 0)}<br />

S1 = {i : Pi(i) = 1} ⊆ A1 = {i | T ⊢ ¬U(i, i, 0)}.<br />

Inoltre entrambi gli insiemi sono ricorsivamente enumerabili, per ipotesi su T . Dunque, per quanto dimostrato<br />

su S0, S1, esiste e /∈ A0 ∪ A1. Dunque esiste e tale che<br />

T U(e, e, 0), T ¬U(e, e, 0).<br />

Il prossimo corollario è la soluzione negativa al Problema della Decisione.<br />

Corollario 7.4 (Teorema di Church). La validità di un enunciato del I ordine (nel linguaggio dell’aritmetica)<br />

è indecidibile. Equivalentemente: non esiste un algoritmo per decidere se un enunciato del I ordine (nel<br />

linguaggio dell’aritmetica) è un teorema del Calcolo dei Predicati.<br />

Dimostrazione. Supponiamo che MA sia coerente, e usiamo il Teorema Principale. Se ¬E è valido, allora<br />

MA E, perché necessariamente MA ⊢ ¬E. Dunque se MA ⊢ E allora ¬E non è valido (se MA è coerente).<br />

Dunque la mappa (effettiva) E ↦→ ¬E manda l’insieme dei teoremi di MA nel complemento dell’insieme degli<br />

enunciati validi. D’altra parte, se E è insoddisfacibile, allora ¬E è valido. Dunque la mappa E ↦→ ¬E manda<br />

l’insieme degli enunciati insoddisfacibili nell’insieme degli enunciati validi. Allora l’insieme degli enunciati<br />

validi e il suo complemento sono inseparabili. Dunque la validità è indecidibile.<br />

In alternativa, si può argomentare semplicemente così: se il Problema della Decisione fosse decidibile,<br />

allora sarebbe decidibile anche T eor(MA MA MA). Infatti<br />

MA ⊢ E ⇔⊢ MA → E.<br />

Per questo argomento è essenziale il fatto che MA è un insieme finito di enunciati. <br />

Osservazione 7.5. Osserviamo anche che il Teorema di Church si enuncia più correttamente così: esiste<br />

un vocabolario del I ordine tale che il problema della validità degli enunciati del I ordine in quel vocabolario<br />

è indecidibile. Nella nostra dimostrazione per esempio, il vocabolario è contiene il linguaggio dell’aritmetica<br />

MA MA, quindi almeno due funzioni binarie (equivalentemente: due relazioni ternarie). Al contrario, la validità<br />

di un enunciato in un linguaggio che contiene soltanto simboli di relazione a un posto (predicati) è decidibile!<br />

(Teorema di Löwenheim, Kalmár).<br />

Come conseguenza del Teorema di Definibilità dei grafici delle funzioni calcolabili con formule Σ1 in N<br />

e del fatto che il complemento dell’insieme K non è enumerabile abbiamo già osservato che l’insieme degli<br />

enunciati veri in N non può essere enumerabile, e dunque la verità in N è indecidibile. Possiamo ottenere<br />

quest’ultimo risultato come conseguenza del nostro Teorema Principale come segue. (Vedremo più avanti un<br />

risultato più forte, il Teorema di Tarski).


8 DISPENSA N. 5<br />

Corollario 7.6 (Indecidibilità della verità aritmetica). L’insieme degli enunciati veri in N è indecidibile.<br />

Dimostrazione. La dimostrazione usa una ipotesi semantica (per quanto piuttosto debole): i teoremi di MA<br />

sono veri in N (si dice che MA è corretta). Dunque abbiamo che gli enunciati veri in N e gli enunciati<br />

insoddisfacibili sono ricorsivamente inseparabili. Dato che tutti gli enunciati insoddisfacibili sono nel complemento<br />

degli enunciati veri in N, abbiamo che gli enunciati veri in N e gli enunciati non veri in N sono<br />

insiemi ricorsivamente inseparabili. (Si osserva che il risultato segue anche dall’indecidibilità dell’Aritmetica<br />

Formale già dimostrata, scegliendo T come l’insieme degli enunciati veri in N). <br />

8. L’approccio originale di Gödel e il Teorema di Tarski<br />

Descriviamo qui brevemente l’approccio originale di Gödel. Il cuore dell’argomento è sempre il teorema di<br />

rappresentabilità. A questo segue un’analisi della definibilità di una serie di proprietà e relazioni sintattiche<br />

e metateoriche. Si dimostra che – modulo opportuna codifica numerica – nozioni quali formula, enunciato,<br />

dimostrazione, risultato di sostituzione di una variabile in una formula, etc. sono definibili da relazioni (primitive))<br />

ricorsive. Dunque sono rappresentabili nella teoria. Spesso in questo contesto, quando ci riferiamo a<br />

un insieme S di enunciati ci riferiamo all’insieme dei codici degli enunciati in S. Per il resto della discussione<br />

sia T una estensione di MA MA.<br />

Si dimostra che la seguente relazione è primitiva ricorsiva: “x è il codice di una formula A con una unica<br />

variabile libera e y è il codice di una dimostrazione in T della formula ottenuta sostituendo x in A all’unica<br />

variabile libera di A”. Chiamiamo R(x, y) questa relazione.<br />

Sia F (x, y) una formula che esprime in T la relazione R(x, y), nel senso seguente: per ogni a, b ∈ N<br />

R(a, b) ⇒ T ⊢ F (a, b),<br />

¬R(a, b) ⇒ T ⊢ ¬F (a, b).<br />

L’esistenza di una tale formula segue dal teorema di rappresentabilità (Esercizio: un predicato è esprimibile<br />

se e solo se la sua funzione caratteristica è rappresentabile).<br />

Definizione 8.1 (ω-coerenza). Diciamo che una teoria T è ω-coerente se non esiste una formula A(x) tale<br />

che<br />

Per ogni n ∈ N T ⊢ A(n),<br />

e<br />

T ⊢ ¬(∀x)A(x).<br />

Consideriamo la formula seguente.<br />

(∀y)¬F (x, y).<br />

Sia m il codice di questa formula. Consideriamo l’enunciato G seguente.<br />

(∀y)¬F (m, y).<br />

Teorema 8.2. Se T è coerente allora G è indimostrabile in T . Se T è ω-coerente allora ¬G è indimostrabile<br />

in T .<br />

Dimostrazione. Sia T coerente e supponiamo che T dimostri G. Sia d il codice di una dimostrazione. Allora<br />

R(m, d). Allora T ⊢ F (m, d). Dunque T ⊢ ∃yF (m, y). Dunque T è incoerente.<br />

Sia T ω-coerente e supponiamo che T dimostri ¬G, i.e., ∃yF (m, y). Per coerenza di T , T non dimostra<br />

G. Allora, per ogni numero n, n non è il codice di una dimostrazione di G in T , i.e., per ogni n, non vale<br />

R(m, n). Dunque per ogni n, T ⊢ ¬F (m, n). Ma allora T è ω-incoerente. <br />

Osservazione 8.3. Si può dimostrare il Teorema di Gödel sotto la sola ipotesi di coerenza. Questo risultato<br />

è dovuto a Rosser.<br />

Sia H(x, y) la formula che rappresenta in T la relazione seguente. x è il codice di una formula A con una<br />

unica variabile libera e y è il codice di una dimostrazione in T della formula ottenuta sostituendo x in ¬A<br />

all’unica variabile libera di A. Chiamiamo S(x, y) questa relazione. Consideriamo il seguente enunciato.<br />

(∀y)(F (x, y) → (∃z)(z ≤ y ∧ H(x, z))).<br />

Sia m il codice di questo enunciato. Consideriamo l’enunciato R seguente.<br />

(∀y)(F (m, y) → (∃z)(z ≤ y ∧ H(m, z))).


<strong>LOGICA</strong> <strong>MATEMATICA</strong> <strong>PER</strong> <strong>INFORMATICA</strong> (A.A. <strong>11</strong>/<strong>12</strong>) 9<br />

Si può dimostrare che se T è coerente allora R non è né dimostrabile né refutabile. (Esercizio)<br />

Mostriamo ora come ottenere l’indecidibilità dell’aritmetica formale e un risultato sulla complessità della<br />

verità aritmetica (Teorema di Tarski) nel contesto dell’approccio originale di Gödel.<br />

Quando qui sotto parliamo di esprimibilità di un insieme di enunciati in una teoria intendiamo l’esprimibilità<br />

dell’insieme dei codici numerici associati agli enunciati dell’insieme in questione. Per esempio,<br />

quando consideriamo l’esprimibilità di T eor(T ) = {E : T ⊢ E} intendiamo l’esprimibilità dell’insieme<br />

{code(E) : T ⊢ E}.<br />

Sia D la funzione tale che se u è il codice di una formula A(x) con variabile libera x allora D(u) è il codice<br />

di A(u). D è ricorsiva.<br />

Teorema 8.4. Se D è rappresentabile in T e T è coerente allora i teoremi di T non sono esprimibili in T .<br />

Dimostrazione. Sia D rappresentabile in T . Sia FD(x, y) la formula che la rappresenta. Allora vale<br />

D(k) = j ⇒ T ⊢ FD(k, j)<br />

e, per ogni k ∈ N,<br />

T ⊢ ∀y∀z((FD(k, y) ∧ FD(k, z)) → y = z).<br />

Supponiamo per assurdo che i teoremi di T siano esprimibili in T . Sia FT (y) la formula che li esprime.<br />

Allora vale, per ogni formula H,<br />

T ⊢ H ⇒ T ⊢ FT (cod(H))<br />

e<br />

T H ⇒ T ⊢ ¬FT (cod(H)),<br />

dove indichiamo con cod(E) il codice della formula P . Consideriamo la formula A(x) seguente.<br />

Sia p il codice di questa formula. Consideriamo A(p).<br />

∀y(FD(x, y) → ¬FT (y)).<br />

∀y(FD(p, y) → ¬FT (y)).<br />

Sia q il codice di A(p). Per definizione di D abbiamo D(p) = q. Dunque<br />

T ⊢ FD(p, q).<br />

Vogliamo ora dimostrare che T ⊢ ¬FT (q). Ragioniamo per casi. (Caso 1) Se T A(p), allora A(p) non è un<br />

teorema di T e dunque code(A(p)) = q /∈ T eor(T ). Dunque, per esprimibilità,<br />

T ⊢ ¬FT (q).<br />

(Caso 2) Se T ⊢ A(p), allora anche<br />

T ⊢ FD(p, q) → ¬FT (q).<br />

Dunque<br />

T ⊢ ¬FT (q).<br />

Abbiamo dimostrato così che T ⊢ ¬FT (q).<br />

Da T ⊢ FD(p, q) e dall’univocità della formula FD segue che<br />

Inoltre vale (dato che T ⊢ FT (q))<br />

Dunque<br />

Per generalizzazione abbiamo allora<br />

ossia<br />

Dunque T ⊢ FT (code(A(p)), ossia<br />

T ⊢ FD(p, y) → y = q.<br />

T ⊢ y = q → ¬FT (y).<br />

T ⊢ FD(p, y) → ¬FT (y).<br />

T ⊢ ∀y(FD(p, y) → ¬FT (y)),<br />

T ⊢ A(p).<br />

T ⊢ FT (q).


10 DISPENSA N. 5<br />

Dunque T è incoerente.<br />

Corollario 8.5. Se T è coerente e tutte le funzioni calcolabili sono rappresentabili in T allora i teoremi di<br />

T non sono esprimibili in T . In particolare non sono un insieme calcolabile.<br />

Diciamo che una teoria T è inedicibile se l’insieme dei suoi teoremi non è calcolabile.<br />

Corollario 8.6. Se MA è coerente allora ogni estensione coerente di MA è indecidibile.<br />

Dimostrazione. Se T è un estensione coerente di MA MA, allora ogni funzione calcolabile è rappresentabile in<br />

T . <br />

Teorema 8.7 (Teorema di Tarski). L’insieme delle verità aritmetiche non è definibile in N da una formula<br />

del primo ordine.<br />

Dimostrazione. Consideriamo l’estensione T di MA ottenuta aggiungendo tutti gli enunciati veri nel modello<br />

N standard. Supponiamo T coerente (N |= T ). Allora l’insieme dei teoremi di T non è esprimibile in T . Ma<br />

l’insieme dei teoremi di T è l’insieme delle verità in N. Inoltre, una relazione è esprimibile in T se e soltanto<br />

se è l’interpretazione di una formula in N. Dunque le verità aritmetiche non sono definibili da una formula<br />

aritmetica. <br />

Dal punto di vista algoritmico, il Teorema di Tarski implica che la verità in N ha un alto grado di<br />

insolubilità algoritmica.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!