Dimostrazione originale del teorema di completezza di Gödel

Da Wikipedia, l'enciclopedia libera.
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[modifica | modifica wikitesto]

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[modifica | modifica wikitesto]

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 . 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 è 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 è 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 , costruiti a partire da , 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 (nel caso siano tutti non refutabili) per costruire un modello in cui vale .

Teorema 1. Ogni enunciato valido (vero in tutte le strutture) è dimostrabile.[modifica | modifica wikitesto]

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) , dove è un insieme di oggetti non vuoto (possibilmente infinito), mentre è una funzione che mappa simboli di costanti, di funzioni e di predicati rispettivamente in elementi di , funzioni e relazioni su (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.[modifica | modifica wikitesto]

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

Equivalenza dei due teoremi[modifica | modifica wikitesto]

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[modifica | modifica wikitesto]

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 , 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 . 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 sono libere in , formiamo . Se è vera in qualche struttura , allora esiste un'assegnazione su alle variabili che verifica in , quindi è soddisfacibile; se invece è insoddisfacibile, allora è sempre vera e quindi, in ogni struttura , ogni assegnazione su alle variabili 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 e che non occorrono in . Se , dove sta per il prefisso di e per la matrice (la restante parte di priva di quantificatori), formiamo , che ovviamente è equivalente a , dato che e non compaiono in .

Ridurre il teorema a formule di grado 1[modifica | modifica wikitesto]

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 . Dobbiamo dimostrare che ogni formula in è insoddisfacibile solo se è refutabile. Data la nostra formula , raggruppiamo stringhe di quantificatori dello stesso tipo in blocchi:

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 . Se ogni formula in di grado è soddisfacibile o refutabile, allora lo è anche ogni formula in di grado .

Commento: Si prenda una formula di grado della forma , dove è il resto di (quindi è di grado ). afferma che per ogni esiste tale che... (qualcosa). Sarebbe stato bello avere un predicato in modo che per ogni , fosse vero se e solo se il valore di è quello richiesto per rendere (qualcosa) vero. Allora avremmo potuto scrivere una formula di grado , equivalente a , vale a dire . Questa formula è infatti equivalente a , perché afferma che per ogni , se c'è un che soddisfa , allora (qualcosa) vale, e inoltre sappiamo che c'è tale , perché per ogni c'è un che soddisfa . 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 . Allora, possiamo scriverla come:

dove è il resto del prefisso di (quindi è di grado ) e è la matrice priva di quantificatori di . denotano qui ennuple di variabili invece che singole variabili; per esempio, in realtà sta per , dove sono variabili distinte.

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

Chiaramente, .

Ora, poiché la stringa di quantificatori non contiene variabili di e , la seguente equivalenza è facilmente dimostrabile con l'aiuto del formalismo che stiamo usando:

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

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

e abbiamo .

Ora è una formula di grado 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 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 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 in con la formula . Qui significa che invece di stiamo scrivendo una formula diversa, in cui e sono sostituiti con e . è semplicemente sostituito da .

diventa

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

Si noti che non possiamo utilizzare invece di dall'inizio, perché in quel caso non sarebbe stata una formula in , 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[modifica | modifica wikitesto]

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

Ora, definiamo un ordinamento delle k-uple di numeri naturali come segue: se e solo se vale almeno una delle seguenti:

  • ;
  • e precede in ordine lessicografico.

Denotiamo l'ennesima k-upla nell'ordine appena definito con .

Poniamo:

  • ;
  • .

Lemma: Per ogni intero , .

Dimostrazione: Per induzione su .

Abbiamo:

dove quest'ultima implicazione vale per sostituzione di variabili, poiché l'ordinamento delle k-uple è tale che, per ogni e per ogni , vale . Ma l'ultima formula è equivalente a .

Per il caso base, è ovviamente un corollario di . Quindi il Lemma è dimostrato.

Ora, se è refutabile per qualche , segue che è refutabile. D'altra parte, supponiamo che, per ogni , sia non refutabile. Allora, per ogni , la formula 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 , esiste un'assegnazione di verità alle distinte sottoformule (ordinate secondo la loro prima occorrenza in ; "distinto" qui è inteso in senso sintattico, ovvero sia predicati distinti, sia variabili distinte) nelle , che rende vera . Ciò deriva dalla completezza della logica proposizionale sottostante.

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

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

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

In questo modello, ciascuna delle formule è vera per costruzione su ogni assegnazione tale per cui . Ma questo implica che stessa è vera nel modello, poiché può essere qualunque k-upla di numeri naturali. Quindi è soddisfacibile, e abbiamo finito.

Spiegazione intuitiva[modifica | modifica wikitesto]

Possiamo scrivere ogni come per qualche , che possiamo chiamare "primi argomenti", e , che possiamo chiamare "ultimi argomenti".

Prendiamo , per esempio. I suoi "ultimi argomenti" sono , e per ogni possibile combinazione di di queste variabili c'è un qualche tale per cui esse appaiono come "primi argomenti" in . Quindi per sufficientemente grande, ha la proprietà che gli "ultimi argomenti" di appaiono, in ogni possibile combinazione di di essi, come "primi argomenti" in altri all'interno di . Per ogni c'è un con la proprietà corrispondente.

Quindi, in un modello che soddisfa tutti i , ci sono oggetti corrispondenti a e ogni combinazione di di questi appare come "primo argomento" in qualche , nel senso che per ogni di questi oggetti ci sono che rendono vera. Prendendo un sottomodello con solo questi oggetti, abbiamo un modello che soddisfa .

Estensioni[modifica | modifica wikitesto]

Estensione al calcolo dei predicati del primo ordine con uguaglianza[modifica | modifica wikitesto]

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






Qui denotano i predicati che compaiono in (con 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[modifica | modifica wikitesto]

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 di grado 1, possiamo definire come sopra; quindi definire come l'unione di . Il resto della prova prosegue come prima.

Estensione a insiemi arbitrari di formule[modifica | modifica wikitesto]

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[modifica | modifica wikitesto]

  1. ^ (DE) K Gödel, Die Vollständigkeit der Axiome des logischen Funktionenkalküls, vol. 37, 1930, DOI:10.1007/BF01696781. Lo stesso materiale della tesi, ma con dimostrazioni più brevi, spiegazioni più succinte e senza la lunga introduzione.

Bibliografia[modifica | modifica wikitesto]

  • K Gödel, Über die Vollständigkeit des Logikkalküls, University Of Vienna., 1929. La prima dimostrazione del teorema di completezza.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]