Dimostrazione originale del teorema di completezza di Gödel

Da testwiki.
Versione del 10 ago 2023 alle 13:28 di imported>Khxi (growthexperiments-addlink-summary-summary:2|1|0)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca
Kurt Gödel (1925)

La dimostrazione del teorema di completezza di Gödel, fornita da Kurt Gödel nella sua tesi di dottorato del 1929 (e una versione più breve, pubblicata come articolo nel 1930[1], intitolata "La completezza degli assiomi del calcolo funzionale della logica" in tedesco) ad oggi non è facile da leggere: utilizza concetti e formalismi in disuso e terminologie spesso oscure. La versione fornita di seguito tenta di rappresentare fedelmente tutti i passaggi della dimostrazione e tutte le idee importanti, pur riformulandola nel linguaggio odierno della logica matematica. Questa traccia non deve essere considerata una prova rigorosa del teorema.

Presupposti

Lavoriamo nel calcolo dei predicati del primo ordine. I linguaggi consentono i simboli di costanti, di funzioni e di predicati. Le strutture sono costituite da un dominio (non vuoto) e da una funzione che interpreta i simboli del relativo linguaggio come elementi, funzioni o relazioni su quel dominio.

Utilizziamo la logica classica (invece che la logica intuizionistica, per esempio).

Fissiamo una qualche assiomatizzazione (cioè un sistema di deduzione attuabile da una macchina) del calcolo dei predicati, formato da assiomi logici e regole di inferenza: uno qualunque dei numerosi sistemi equivalenti andrà bene. La dimostrazione originale di Gödel usava il sistema di Hilbert-Ackermann.

Assumiamo, senza dimostrarli, tutti i ben noti risultati di base sul nostro formalismo di cui abbiamo bisogno, come il teorema della forma normale e il teorema di correttezza.

Usiamo il calcolo dei predicati senza uguaglianza (a volte chiamato erroneamente senza identità), cioè non ci sono assiomi speciali che esprimono le proprietà dell'uguaglianza (tra elementi del dominio) come un simbolo di relazione speciale. Dopo aver dimostrato la forma base del teorema, sarà facile estenderla al caso del calcolo dei predicati con uguaglianza.

Enunciato del teorema e dimostrazione

Di seguito enunciamo due forme del teorema e ne mostriamo l'equivalenza. Successivamente, dimostriamo il teorema. Ciò viene realizzato attraverso i seguenti passaggi:

  1. Riduciamo il teorema ai soli enunciati (formule senza variabili libere) in forma prenessa, cioè con tutti i quantificatori (∀ e ∃) all'inizio. Inoltre, lo riduciamo a formule il cui primo quantificatore è ∀. Questo è possibile perché, per ogni formula chiusa, ne esiste una equivalente in forma prenessa il cui primo quantificatore è ∀.
  2. Riduciamo il teorema ai soli enunciati della forma x1xky1ymϕ[x1,,xk,y1,,ym]. Sebbene non possiamo farlo semplicemente riordinando i quantificatori, mostriamo che è ancora sufficiente provare il teorema per enunciati di questa forma.
  3. Infine, dimostriamo il teorema per enunciati della suddetta forma.
    • Ciò viene effettuato notando prima che un enunciato come B=x1xky1ymϕ[x1,,xk,y1,,ym] è refutabile (la sua negazione è dimostrabile) oppure soddisfacibile, cioè c'è qualche modello nel quale è vero (potrebbe anche essere sempre vero, cioè una tautologia); questo modello sta semplicemente assegnando valori di verità ai sottoenunciati da cui B è formato. La ragione di ciò è la completezza della logica proposizionale, con i quantificatori esistenziali che non giocano alcun ruolo.
    • Estendiamo questo risultato a enunciati sempre più complessi e lunghi Dn (n=1,2,), costruiti a partire da B, in modo che qualcuno di essi è refutabile e quindi lo è anche ϕ, oppure sono tutti non refutabili e quindi ognuno è vero in qualche modello.
    • Usiamo infine i modelli in cui valgono i Dn (nel caso siano tutti non refutabili) per costruire un modello in cui vale ϕ.

Teorema 1. Ogni enunciato valido (vero in tutte le strutture) è dimostrabile.

Questa è la forma più elementare del teorema di completezza. Lo riformuliamo subito in una forma più comoda per i nostri scopi: quando diciamo "tutte le strutture", è importante specificare che le strutture coinvolte sono interpretazioni classiche (tarskiane) I=U,F, dove U è un insieme di oggetti non vuoto (possibilmente infinito), mentre F è una funzione che mappa simboli di costanti, di funzioni e di predicati rispettivamente in elementi di U, funzioni e relazioni su U (al contrario, le cosiddette "logiche libere" accettano anche che il dominio sia vuoto; per saperne di più sulle logiche libere, si veda il lavoro di Karel Lambert).

Teorema 2. Ogni formula non soddisfacibile è refutabile.

"ϕ è refutabile" significa per definizione "¬ϕ è dimostrabile".

Equivalenza dei due teoremi

Se vale il Teorema 1 e ϕ non è soddisfacibile, allora ¬ϕ è valida in tutte le strutture e quindi dimostrabile, dunque ϕ è refutabile e vale il Teorema 2. Se invece vale il Teorema 2 e ϕ vale in tutte le strutture, allora ¬ϕ non è soddisfacibile e quindi refutabile; ma allora ¬¬ϕ è dimostrabile e dunque lo è anche ϕ, quindi vale il Teorema 1.

Dimostrazione del teorema 2: primo passo

Iniziamo la dimostrazione del Teorema 2 restringendo sequenzialmente la classe di tutte le formule ϕ per le quali dobbiamo dimostrare che "ϕ è insoddisfacibile solo se è refutabile".

All'inizio dobbiamo dimostrarlo per tutte le possibili formule del linguaggio preso in esame. Tuttavia, supponiamo che per ogni formula ϕ esista qualche formula ψϕ, presa da una classe più ristretta di formule C, tale per cui "ψϕ è insoddisfacibile solo se è refutabile""ϕ è insoddisfacibile solo se è refutabile".

Allora, una volta provata questa affermazione (espressa nella frase precedente), basterà dimostrare che "ϕ è insoddisfacibile solo se è refutabile" solo per le ϕ che stanno nella classe C. Se ϕ e ψϕ sono sintatticamente equivalenti, ovvero ϕψϕ (cioè, se la formula ϕψϕ è dimostrabile), allora è vero che "ψϕ è insoddisfacibile solo se è refutabile""ϕ è insoddisfacibile solo se è refutabile" (il teorema di correttezza è necessario per provare ciò).

Esistono tecniche standard per riscrivere una formula arbitraria in un'altra che non utilizzi funzioni e simboli costanti, a costo di introdurre quantificatori aggiuntivi; assumeremo quindi che tutte le formule siano prive di tali simboli. L'articolo di Gödel utilizzava dal principio una versione del calcolo dei predicati che non ha funzioni e costanti.

Ora, consideriamo una formula generica ϕ (che non contiene funzioni o costanti) e applichiamo il teorema della forma prenessa per trovare una formula ψϕ in forma normale tale che ϕψϕ (forma normale significa che tutti i quantificatori in ψϕ, se ce ne sono, si trovano proprio all'inizio di ψϕ). Ne consegue che ora dobbiamo dimostrare il Teorema 2 solo per le formule ϕ in forma normale.

Adesso, eliminiamo tutte le variabili libere da ϕ quantificandole esistenzialmente: se poniamo che x1,,xn sono libere in ϕ, formiamo ψϕ=x1xnϕ. Se ψϕ è vera in qualche struttura M, allora esiste un'assegnazione su M alle variabili x1,,xn che verifica ϕ in M, quindi ϕ è soddisfacibile; se invece ψϕ è insoddisfacibile, allora ¬ψϕx1xn¬ϕ è sempre vera e quindi, in ogni struttura M, ogni assegnazione su M alle variabili x1,,xn verifica ¬ϕ, quindi ϕ è insoddisfacibile. Possiamo allora restringerci alle sole formule ϕ che sono enunciati, cioè formule senza variabili libere.

Infine vorremmo, per ragioni di convenienza tecnica, che il prefisso di ϕ (ovvero la stringa di quantificatori all'inizio di ϕ, che è in forma normale) inizi con un quantificatore universale e finisca con un quantificatore esistenziale. Per ottenere ciò per una generica ϕ (soggetta alle restrizioni che abbiamo già dimostrato), prendiamo due variabili y e z che non occorrono in ϕ. Se ϕ=(P)Φ, dove (P) sta per il prefisso di ϕ e Φ per la matrice (la restante parte di ϕ priva di quantificatori), formiamo ψϕ=y(P)zΦ, che ovviamente è equivalente a ϕ, dato che y e z non compaiono in Φ.

Ridurre il teorema a formule di grado 1

La nostra formula generica ϕ ora è un enunciato, in forma normale, e il suo prefisso inizia con un quantificatore universale e termina con un quantificatore esistenziale. Chiamiamo la classe di tutte queste formule R. Dobbiamo dimostrare che ogni formula in R è insoddisfacibile solo se è refutabile. Data la nostra formula ϕ, raggruppiamo stringhe di quantificatori dello stesso tipo in blocchi:

ϕ=(x1xk1)(xk1+1xk2)(xkn2+1xkn1)(xkn1+1xkn)Φ

Definiamo il grado di ϕ come il numero di blocchi di quantificatori universali separati da blocchi di quantificatori esistenziali nel prefisso di ϕ, come mostrato sopra. Il seguente lemma, che Gödel ha adattato dalla dimostrazione di Skolem del teorema di Löwenheim-Skolem, ci permette di ridurre nettamente la complessità delle formule ϕ per cui dobbiamo dimostrare il teorema:

Lemma. Sia k1. Se ogni formula in R di grado k è soddisfacibile o refutabile, allora lo è anche ogni formula in R di grado k+1.

Commento: Si prenda una formula ϕ di grado k+1 della forma ϕ=xyuv(P)ψ, dove (P)ψ è il resto di ϕ (quindi è di grado k1). ϕ afferma che per ogni x esiste y tale che... (qualcosa). Sarebbe stato bello avere un predicato Q in modo che per ogni x, Q(x,y) fosse vero se e solo se il valore di y è quello richiesto per rendere (qualcosa) vero. Allora avremmo potuto scrivere una formula di grado k, equivalente a ϕ, vale a dire xxyuvy(P)Q(x,y)(Q(x,y)ψ) . Questa formula è infatti equivalente a ϕ, perché afferma che per ogni x, se c'è un y che soddisfa Q(x,y), allora (qualcosa) vale, e inoltre sappiamo che c'è tale y, perché per ogni x c'è un y che soddisfa Q(x,y). Quindi ϕ segue da questa formula. È facile anche dimostrare che se la formula è falsa, lo è anche ϕ. Sfortunatamente, in generale non esiste un tale predicato. Tuttavia, questa idea può essere intesa come base per la seguente dimostrazione del lemma.

Dimostrazione. Sia ϕ una formula di grado k+1. Allora, possiamo scriverla come:

ϕ=(x)(y)(u)(v)(P)ψ

dove (P) è il resto del prefisso di ϕ (quindi è di grado k1) e ψ è la matrice priva di quantificatori di ϕ. x,y,u,v denotano qui ennuple di variabili invece che singole variabili; per esempio, (x) in realtà sta per x1x2xn, dove (x1,,xn) sono variabili distinte.

Siano ora xe yennuple di variabili precedentemente inutilizzate, rispettivamente della stessa lunghezza di x e y, e sia Q un simbolo di relazione precedentemente inutilizzato, che accetta un numero di argomenti pari alla somma delle lunghezze di x e y; consideriamo la formula

Φ=(x)(y)Q(x,y)(x)(y)(Q(x,y)(u)(v)(P)ψ)

Chiaramente, Φϕ.

Ora, poiché la stringa di quantificatori (u)(v)(P) non contiene variabili di x e y, la seguente equivalenza è facilmente dimostrabile con l'aiuto del formalismo che stiamo usando:

(Q(x,y)(u)(v)(P)ψ)(u)(v)(P)(Q(x,y)ψ)

E poiché queste due formule sono equivalenti, se sostituiamo la prima con la seconda dentro Φ, otteniamo la formula Φ tale che ΦΦ:

Φ=(x)(y)Q(x,y)(x)(y)(u)(v)(P)(Q(x,y)ψ)

Ora Φ ha la forma (S)ρ(S)ρ, dove (S) e (S) sono stringhe di quantificatori, ρ e ρ sono prive di quantificatori e, inoltre, nessuna variabile di (S) occorre in ρ e nessuna variabile di (S) occorre in ρ. In tali condizioni, ogni formula della forma (T)(ρρ), dove (T) è una stringa di quantificatori contenente tutti i quelli in (S) e (S) inseriti in qualsiasi ordine, ma mantenendo l'ordine relativo all'interno di (S) e (S), sarà equivalente alla formula originale Φ (questo è un altro risultato fondamentale del calcolo dei predicati su cui ci basiamo). Dunque, formiamo Ψ come segue:

Ψ=(x)(x)(y)(u)(y)(v)(P)Q(x,y)(Q(x,y)ψ)

e abbiamo ΦΨ.

Ora Ψ è una formula di grado k e quindi, per ipotesi induttiva, soddisfacibile o refutabile. Se Ψ è soddisfacibile, allora, considerando ΨΦΦ e Φϕ, vediamo che anche ϕ è soddisfacibile. Se Ψ è refutabile, allora lo è anche Φ, che è equivalente ad esso; dunque ¬Φ è dimostrabile. Ora possiamo sostituire tutte le occorrenze di Q all'interno della formula dimostrabile ¬Φ da qualche altra formula dipendente dalle stesse variabili, e otterremo comunque una formula dimostrabile. (Questo è ancora un altro risultato fondamentale del calcolo dei predicati. A seconda del particolare formalismo adottato per il calcolo, esso può essere visto come una semplice applicazione della regola di inferenza di "sostituzione funzionale", come nell'articolo di Gödel, oppure può essere dimostrato considerando la dimostrazione formale di ¬Φ, sostituendo in essa tutte le occorrenze di Q con qualche altra formula con le stesse variabili libere, e notando che tutti gli assiomi logici nella dimostrazione formale rimangono tali dopo la sostituzione, e tutte le regole di inferenza si applicano ancora allo stesso modo.)

In questo caso particolare, sostituiamo Q(x,y) in ¬Φ con la formula (u)(v)(P)ψ[x,y/x,y]. Qui [x,y/x,y] significa che invece di ψ stiamo scrivendo una formula diversa, in cui x e y sono sostituiti con x e y. Q(x,y) è semplicemente sostituito da (u)(v)(P)ψ.

¬Φ diventa

¬((x)(y)(u)(v)(P)ψ[x,y/x,y](x)(y)((u)(v)(P)ψ(u)(v)(P)ψ))

e questa formula è dimostrabile; poiché la parte dopo il segno è ovviamente dimostrabile, e la parte sotto negazione e prima del segno è ovviamente ϕ, ma con x e y sono sostituiti da x e y, segue che ¬ϕ è dimostrabile e ϕ è refutabile. Abbiamo dimostrato che ϕ è soddisfacibile o refutabile, e questo conclude la dimostrazione del Lemma.

Si noti che non possiamo utilizzare (u)(v)(P)ψ[x,y/x,y] invece di Q(x,y) dall'inizio, perché in quel caso Ψ non sarebbe stata una formula in R, e quindi non avremmo potuto usare l'induzione. Ecco perché non possiamo usare ingenuamente l'argomento che compare al commento che precede la dimostrazione.

Dimostrazione del teorema per enunciati di grado 1

Come mostrato nel precedente Lemma, dobbiamo dimostrare il teorema solo per le formule ϕ in R di grado 1. ϕ non può essere di grado 0, poiché le formule in R non hanno variabili libere e non usano costanti. Quindi la formula ϕ ha la forma generale:

(x1xk)(y1ym)ϕ[x1,,xk,y1,,ym]

Ora, definiamo un ordinamento delle k-uple di numeri naturali come segue: (x1,,xk)<(y1,,yk) se e solo se vale almeno una delle seguenti:

Denotiamo l'ennesima k-upla nell'ordine appena definito con (a1n,,akn).

Poniamo:

  • Bn:=ϕ[za1n,,zakn,z(n1)m+2,z(n1)m+3,,znm+1];
  • Dn:=z1znm+1(B1Bn).

Lemma: Per ogni intero n1, ϕDn.

Dimostrazione: Per induzione su n.

Abbiamo:

DnDn1(z1z(n1)m+1)(z(n1)m+2znm+1)BnDn1(za1nzakn)(y1ym)ϕ[za1n,,zakn,y1,,ym]

dove quest'ultima implicazione vale per sostituzione di variabili, poiché l'ordinamento delle k-uple è tale che, per ogni k1 e per ogni i{1,,k}, vale ainn<(n1)m+2. Ma l'ultima formula è equivalente a Dn1ϕ.

Per il caso base, D1=z1zm+1ϕ[za11,,zak1,z2,z3,,zm+1]z1zm+1ϕ[z1,,z1,z2,z3,,zm+1] è ovviamente un corollario di ϕ. Quindi il Lemma è dimostrato.

Ora, se Dn è refutabile per qualche n1, segue che ϕ è refutabile. D'altra parte, supponiamo che, per ogni n1, Dn sia non refutabile. Allora, per ogni n1, la formula D'n:=B1Bn non è refutabile. Questa proprietà dev'essere una conseguenza diretta delle regole di deduzione, altrimenti il sistema non potrebbe garantire la propria completezza.

Dunque, per ogni n1, esiste un'assegnazione di verità alle distinte sottoformule Eh (ordinate secondo la loro prima occorrenza in Dn; "distinto" qui è inteso in senso sintattico, ovvero sia predicati distinti, sia variabili distinte) nelle Bi, che rende vera Dn. Ciò deriva dalla completezza della logica proposizionale sottostante.

Ora, mostreremo che esiste un'assegnazione di verità alle Eh che rende vere tutte le Dn: le Eh appaiono nello stesso ordine in ogni Dn; definiremo induttivamente un'assegnazione generale mediante una sorta di "voto di maggioranza": poiché vi sono infinite assegnazioni per E1 (una per ogni Dn), allora o infinite assegnazioni rendono E1 vera, o solo un numero finito di assegnazioni la rende vera e infinite la rendono falsa. Nel primo caso, E1 sarà vera nell'assegnazione generale, altrimenti sarà falsa. Nell'induzione, rendiamo Eh vera se ci sono infinite assegnazioni che rendono Eh vera, ma solo tra le infinite assegnazioni per le Dn che coincidono con l'assegnazione generale da E1 a Eh1.

Questa assegnazione generale deve rendere vere ciascuna delle Bi e Dn, poiché se l'assegnazione falsificasse una delle Bi, anche le D'j sarebbero false per ogni j>n. Ma questo contraddice il fatto che, per costruzione dell'assegnazione generale fino alle Eh che compaiono in Dn, ci sono infiniti j tali per cui l'assegnazione che avvera D'j coincide con l'assegnazione generale.

Da questa assegnazione, che rende tutte le Dn vere, costruiamo un'interpretazione dei predicati del linguaggio che rende vera ϕ. Il dominio del modello saranno i numeri naturali. Ogni predicato p-ario Ψ è vero su (u1,,up) precisamente quando la formula atomica Ψ(zu1,,zup) è vera nell'assegnazione generale, oppure non ha valore di verità (se non compare mai in nessuno dei Dn).

In questo modello, ciascuna delle formule y1ymϕ[x1,,xk,y1,,ym] è vera per costruzione su ogni assegnazione η tale per cui η(x1)=a1n,,η(xk)=akn. Ma questo implica che ϕ stessa è vera nel modello, poiché (a1n,,akn) può essere qualunque k-upla di numeri naturali. Quindi ϕ è soddisfacibile, e abbiamo finito.

Spiegazione intuitiva

Possiamo scrivere ogni Bi come ϕ[x1,,xk,y1,,ym] per qualche x1,,xk, che possiamo chiamare "primi argomenti", e y1,,ym, che possiamo chiamare "ultimi argomenti".

Prendiamo B1, per esempio. I suoi "ultimi argomenti" sono z2,z3,,zm+1, e per ogni possibile combinazione di k di queste variabili c'è un qualche j tale per cui esse appaiono come "primi argomenti" in Bj. Quindi per n1 sufficientemente grande, Dn1 ha la proprietà che gli "ultimi argomenti" di B1 appaiono, in ogni possibile combinazione di k di essi, come "primi argomenti" in altri Bj all'interno di Dn1. Per ogni Bi c'è un Dni con la proprietà corrispondente.

Quindi, in un modello che soddisfa tutti i Dn, ci sono oggetti corrispondenti a z1,z2, e ogni combinazione di k di questi appare come "primo argomento" in qualche Bj, nel senso che per ogni k di questi oggetti zp1,,zpk ci sono zq1,,zqm che rendono ϕ[zp1,,zpk,zq1,,zqm] vera. Prendendo un sottomodello con solo questi z1,z2, oggetti, abbiamo un modello che soddisfa ϕ.

Estensioni

Estensione al calcolo dei predicati del primo ordine con uguaglianza

Gödel ha ridotto ogni formula in cui occorre il predicato di uguaglianza ad una che definisce l'uguaglianza su di essa. Il suo metodo prevede la sostituzione di una formula ϕ contenente uguaglianze con la formula

x(x=x)xyz[x=y(x=zy=z)] xyz[x=y(z=xz=y)]


x1xky1xk[(x1=y1xk=yk)(P1(x1,,xk)P1(y1,,yk))]

...

x1xmy1xm[(x1=y1xm=ym)(Pn(x1,,xm)Pn(y1,,ym))]

ϕ

Qui P1,,Pn denotano i predicati che compaiono in ϕ (con k,,m le loro rispettive arità). Se questa nuova formula è refutabile, lo è anche l'originale ϕ; lo stesso vale per la soddisfacibilità, poiché possiamo prendere l'insieme quoziente del dominio del modello che soddisfa la nuova formula, usando la relazione di equivalenza che rappresenta l'uguaglianza. Questo quoziente è ben definito rispetto agli altri predicati, e quindi soddisferà la formula originaria ϕ.

Estensione a insiemi numerabili di formule

Gödel ha anche considerato il caso di insiemi numerabili di formule. Usando le stesse riduzioni di cui sopra, ha potuto considerare solo quei casi in cui ogni formula è di grado 1 e non contiene simboli di uguaglianza. Per un insieme numerabile di formule ϕi di grado 1, possiamo definire Bki come sopra; quindi definire Dk come l'unione di B11,,Bk1,,B1k,,Bkk . Il resto della prova prosegue come prima.

Estensione a insiemi arbitrari di formule

Nel caso di insiemi non numerabili di formule, è necessario l'assioma della scelta (o almeno una sua forma debole). Usando l'AC completo, si possono ben ordinare le formule e dimostrare il caso non numerabile con lo stesso argomento di quello numerabile, ma con l'induzione transfinita. Altri approcci possono essere usati per dimostrare che il teorema di completezza in questo caso è equivalente al teorema dell'ideale booleano primo, una forma debole di AC.

Note

  1. Template:Cita pubblicazione Lo stesso materiale della tesi, ma con dimostrazioni più brevi, spiegazioni più succinte e senza la lunga introduzione.

Bibliografia

Voci correlate

Collegamenti esterni

Template:Portale