LA LOGICA DEL PRIMO ORDINE

Nelle pagine che seguono ho voluto raccogliere alcuni concetti che ritengo fondamentali per la comprensione del calcolo logico; esse non hanno alcuna pretesa di esaustività rispetto al complesso panorama di argomenti cui fanno riferimento, piuttosto mirano a impostare un comune protocollo di comunicazione su alcuni dei temi che verranno discussi nell'area Teorema. Rimando pertanto il lettore desideroso di approfondimento alla consultazione dei testi dai quali sono 1 stati tratti questi spunti e delle letture cui accenneremo nel corso dei nostri dibattiti in rete; soprattutto invito gli interessati a partecipare con idee e suggerimenti. Resto a disposizione per ogni precisazione che riuscirò a fornire sfidando il mio orologio ed il mio dilettantismo. Buon lavoro.

A) Linguaggi, strutture, teorie
Presentazione dell'argomento In termini generali la logica si propone lo studio del ragionamento corretto; parlando di logica matematica faremo dunque riferimento allo studio delle condizioni che rendono corretto il ragionamento usato dai matematici. Più precisamente l'assiomatica formale analizza i processi deduttivi alla ricerca di metodi che, indipendentemente dai contenuti del linguaggio adoperato, consentano di derivare conseguenze coerenti, da alcuni concetti primitivi assunti come verità intuitive o autoevidenti di carattere generale.

Il principio di induzione Introduciamo sin da ora il fondamentale procedimento che rende possibile la "propagazione" di una qualsivoglia proprietà lungo la catena delle deduzioni, ovverosia la definizione per induzione. Supponiamo di voler stabilire che una sequenza di oggetti x ,...,xn gode di una data proprietà P; sarà 0 sufficiente porre che: Base: Il primo elemento della serie (x0) gode della proprietà P; Passo: Se un elemento xi della serie gode di P - ipotesi d'induzione - allora ne gode anche il successivo (xi+1) Sullo stesso principio si basa la dimostrazione per induzione, attraverso la quale dimostro che una serie di oggetti gode di una determinata proprietà dimostrando che il primo elemento ne gode, e che se ne gode uno ne gode anche il successivo.

Funzioni e Predicati

Definiamo funzione una rappresentazione, ossia una assegnazione da un insieme A di argomenti detto dominio ad un insieme B di valori detto codominio. E' detto predicato ogni sottinsieme di n-uple in A Funzioni e predicati sono detti concetti non logici in quanto concetti non comuni a tutti i sistemi assiomatici

La logica predicativa Un linguaggio formalizzato conserva essenzialmente l'articolazione dei linguaggi naturali dai quali deriva e consiste in una analoga attività di predicazione, ossia di attribuzione di proprietà o stati ad individui. Se ad esempio volessi esprimere il fatto che "ci sono degli studenti intelligenti", potrei provare a scrivere: I(s); tuttavia posto in questi termini l'enunciato potrebbe essere inteso anche in un altro modo, ovverosia "gli studenti sono intelligenti" nel senso che l'intelligenza è connaturata in chi è studente (cosa tutta da dimostrare). Per sciogliere ogni ambiguità e distinguere tra la formulazione di un concetto e la formulazione di un asserto universale, i linguaggi della logica predicativa ricorrono ai quantificatori, e precisamente:

∃ = "Esiste" ∀ = "Tutti"

Nel nostro caso avremo:

∃ s I(s) = "Esiste almeno uno studente intelligente" "Tutti gli studenti sono intelligenti"

∀ s I(s) =

Linguaggi del primo ordine Nel corso di questa esposizione, farò uso di variabili sintattiche, che a differenza delle variabili ordinarie - che come vedremo variano su individui - variano su espressioni del linguaggio. Vale a dire che quando mi troverò a dover designare un qualsiasi elemento del linguaggio (non il suo contenuto) lo indicherò con un simbolo metalinguistico che avrò opportunamente definito; ad es. ∀ c = "Per ogni costante c". Il linguaggio che andiamo a definire consiste in una serie di enunciati ovvero di espressioni che asseriscono dei fatti. Gli enunciati sono a loro volta costituiti dai seguenti simboli: - Variabili individuali x,y,z, ... - Per ogni n, simboli di funzione e predicato n-ari f, g, p, q, ... - I simboli ∃, ∀, ¬, ∧, ∨, → - Il simbolo di predicato binario d'identità = - I simboli di funzione 0-aria per le costanti.

Definizione induttiva degli elementi del linguaggio: Termini - espressioni che designano individui Una variabile è un termine. Se u1,...,un sono termini e f è n-aria allora f(u1,...,un) è un termine (con u variabile sintattica che varia su variabili) Formule atomiche: Espressioni nella forma P(a1,...,an) con a variabile sintattica che varia su termini e P variabile sintattica che varia su simboli di predicato n-ario. Formule: Una formula atomica è una formula; Se u e v sono formule, allora anche ¬A, A∨ B, ∃x A, sono formule. Intuitivamente potremmo così riassumere: Variabili e Funzioni definite su variabili = Termini Predicati definiti su termini = Formule Atomiche Formule Atomiche e Formule definite su formule atomiche = Formule

Semantica dei linguaggi del primo ordine

Forniamo ora una descrizione precisa della semantica dei linguaggi del primo ordine. Assegnare un'interpretazione ad un linguaggio del primo ordine consiste nell'associare un universo ed un significato del tipo appropriato ad ogni simbolo non logico. Scrivendo ciò in dettaglio, giungiamo alla seguente definizione. Sia L un linguaggio del primo ordine: Una struttura A per L consiste di: 1) Un insieme non vuoto |A| detto universo di A. Gli elementi di A sono chiamati gli individui di A. 2) Per ogni simbolo di funzione n-aria f di L, una funzione n-aria fA da |A| ad |A|. (In particolare, per ogni costante e di L, eA è un individuo di A.) 3)Per ogni simbolo di predicato n-ario p di L diverso da =, un predicato n-ario pA in |A|. Vogliamo definire una formula a come valida in A se tutti i significati di A sono veri in A. E' quindi conveniente per ogni significato disporre di una formula che esprima esattamente quel significato. Dato che il significato di A è funzione del significato dei suoi componenti , cominciamo con lo stabilire la denotazione (il significato) delle variabili. Se a è un termine chiuso: o è un nome - A(a) è l'individuo di cui a è nome o è f (a1,...,an) con f simbolo di funzione di L - A(a) è fA(A(a1),...,(an)) (Sarebbe come dire che l'interpretazione della funzione del nome a è funzione dell'interpretazione dell'individuo A(a)). Una formula A è chiusa se nessuna variabile è libera in A (Vale a dire che A ha esattamente un significato). Definiremo ora un valore di verità A(A) per ogni formula chiusa A in L(A) - Definizione per induzione sulla lunghezza di A - . Se A è a = b, poniamo A(A) = V sse A(a) = A(b) Se A è p(a1,...,an) ma non =, poniamo: A(A) = V sse pA (A(a1),...,A(an))

Se A è ¬B allora A(A) è H¬(A(B)). Se A è B∨ C, allora A(A) è H∨(A(B),A(C)) Se A è ∃xB, allora A(A) = V sse A(Bx[i]) = V per qualche i in L(A) Analoghe considerazioni valgono per i rimanenti connettivi e per il quantificatore universale. A(A1∨...∨An) = V sse A(Ai) = V per almeno un i. A(A1∧...∧An) = V sse A(Ai) = V per tutti gli i.

Cenni di logica proposizionale Fino ad ora abbiamo cosiderato alcuni elementi della logica predicativa che, come già visto, studia le condizioni di correttezza formale di rapporti tra enunciati costruiti secondo lo schema della predicazione e concatenati mediante l'uso di connettivi; agli enunciati così formati spetta un valore di verità che è funzione del significato di ogni singolo elemento. Esiste un livello di analisi delle proposizioni che potremmo ritenere più superficiale, in cui non è necessario controllare il contenuto di ciascuna formula atomica per stabilire il significato di un intero enunciato; nella logica enunciativa infatti, il valore di verità delle formule composte viene determinato solo dall'uso dei connettivi, essendo tale valore di verità funzione del valore di verità delle formule componenti, noto a prescindere da ogni ulteriore indagine. Ad es. per sapere se A∧B è vero, mi basta sapere che sia A che B sono veri. L'attribuzione del significato di una formula date più formule atomiche è regolata dalle seguentifunzioni di verità (da valori di verità a valori di verità): H¬A = V sse A=F H∧(A,B) = V sse A=V e B=V H∨(A,B) = F sse A=F e B=F (Uso inclusivo di "o" corrispondente al latino "vel" ) H→(A,B) = F sse A=V e B=F (L'implicazione è vera anche se l'antecedente è falso poichè se una condizione non si verifica non si può dire che non sia stata rispettata) Teorie del primo ordine Una teoria del primo ordine (in cui la quantificazione concerne solo le variabili) è un sistema formale costituito da: 1) Un linguaggio del primo ordine 2) Assiomi logici e non logici (cioè riguardanti la teoria specifica) 3) Regole di deduzione Un assioma è un assunto primitivo di carattere generale Una regola di deduzione è una regola che inferisce conclusioni da ipotesi Un teorema è la conclusione di una regola di deduzione Una dimostrazione è una sequenza finita di formule ciascuna delle quali o è assioma, o è stato ricavata dall'applicazione di una regola di deduzione. Ne consegue che una formula è teorema sse possiede una dimostrazione.

un

Nel corso delle prossime dimostrazioni impiegheremo i seguenti assiomi e le seguenti regole logiche:

Assioma proposizionale: ¬A∨A Assioma di sostituzione: Ax[a]→∃xA Assioma di identità: x=x Assioma di uguaglianza: x1=y1→...→xn=yn→f(x1...xn) =f(y1...yn) o x1=y1→...→xn=yn→f(x1...xn) →f(y1...yn) Regola di espansione: A/B∨A Regola di contrazione: A∨A/A Regola associativa: A∨(B∨C)/(A∨B) Regola del taglio: A∨B, ¬A∨C/B∨C Regola di ∃-introduzione: Se x non è libera in B, inferire ∃x(A→B) da A→B Diciamo che A è una conseguenza logica di un insieme Γ di formule se A è valida in ogni struttura per L in cui tutte le formule di Γ sono valide. Per modello di una teoria T intendiamo una struttura per L(T) in cui tutti gli assiomi non logici di T siano validi. Una formula è valida in T se è valida in ogni modello di T; in forma equivalente, se essa è conseguenza logica degli assiomi non logici di T. Teorema di validità: Se T è una teoria, allora ogni teorema di T è valido in T Se il teorema in questione è un assioma, è evidente la verità degli assiomi per qualsiasi valore attribuiamo agli enunciati che li compongono; se è risultato dell'applicazione di una regola di deduzione, è altrettanto semplice constatare come in tutte le regole la conclusione conservi la verità delle premesse. Ciò è frutto di una scelta opportuna di assiomi e regole funzionale all'esigenza di mantenere allineati il versante sintattico e quello semantico; in via ipotetica, si sarebbe potuta introdurre una regola che derivasse da un enunciato il suo contrario, ma ciò non avrebbe avuto alcuna giustificazione in dal punto di vista operativo.

B) Alcuni teoremi nelle teorie del primo ordine
Il teorema della tautologia Nel corso di questo capitolo supporremo fissata una teoria T ed esamineremo alcuni dei teoremi che possono essere dimostrati in T. Nel prossimo capitolo dimostreremo che se B è conseguenza logica di A1...An se A1...An sono teoremi, allora B è un teorema. In questo paragrafo dimostreremo un caso particolare di questo risultato. In prima approssimazione, questo è il caso in cui B risulta essere conseguenza di A1 ,...., A n

in base soltanto alle regole che permettono di computare il valore di verità di ∼ C e C∨D dai valori di verità di C e D. Una formula è elementare se è una formula atomica o una esistenzializzazione. Una valutazione di verità per T è una rappresentazione dall'insieme delle formule elementari di T all'insieme dei valori di verità.

Sia V una valutazione di verità per T. Definiremo un valore di verità V(A) per ogni formula A di T per induzione sulla lunghezza di A. Se A è elementare, allora V(A) è già definita. Se A è ∼ B, allora di →, ∧ e ↔, vediamo che V(B→C) = H→(V(B), V(C)) e in modo simile per ∧ e ↔. Inoltre, V(A1 ∨...∨ An) = V e sse V(Ai) = V per almeno un i, V(Ai) = V per ogni i, V(A)= H ∼ (V(B)). Se A è B∨C, allora V(A)=H∨(V(B),V(C)). Da questa definizione e dalla definizione

V(A1 ∨...∨ An) = V sse

Diciamo che B è conseguenza tautologica di A1,...An se V(B)=V per ogni valutazione di verità V tale che V(Ai)=...=V(An)=V Una formula A è una tautologia se essa è conseguenza tautologica della sequenza vuota di formule, cioè se V(A)=V per ogni valutazione di verità V. E' facile vedere che B è conseguenza tautologica di A1,...,An sse A1→...→An→B è una tautologia. Dimostreremo ora che, date A1,...,An, B, possiamo determinare in un numero finito di passi se B è o non è conseguenza tautologica di A1,...,An. Per l'asserzione finale del capoverso precedente, sarà sufficiente dimostrare che, data A, possiamo determinare se A è o non è una tautologia. Mostreremo

come determinare se A1 ∨...∨ An è una tautologia, usando un'induzione sulla somma delle lunghezze delle Ai; il risultato precedente è allora ottenuto prendendo n=1. Supponiamo dapprima che ogni Ai sia elementare o sia la negazione di una formula elementare. condizione vale, allora per ogni valutazione di verità V, o V(Ai)=Vo V(Aj)=V; così V(A1 ∨...∨ An) =V V(A)= V sse ∼ A è un Ai. E' facile vedere che V(Ai)=F per ogni i; così V(A1 ∨...∨ An) =F. Supponiamo che qualche Ai non sia né elementare né la negazione di una formula elementare. Dato che per ogni valutazione di verità V, A1 ∨...∨ An è una tautologia sse V(A1 ∨...∨ An) = V(A1 ∨...∨ An∨ A1 ∨...∨ Ai-1) Supponiamo che la condizione non valga. Definiamo una valutazione di verità V ponendo Mostriamo che A1 ∨...∨ An è una tautologia sse qualche Aj è la negazione di qualche Ai. Se questa

A1 ∨...∨ An∨A1 ∨...∨ Ai-1 è una tautologia. Possiamo quindi supporre senz'altro che A1 non sia né elementare né la negazione di una formula elementare. Allora A1 è o una disgiunzione o una negazione; e, nel secondo caso, A1 è o la negazione di una negazione o la negazione di una disgiunzione. V(A1 ∨...∨ An) = V(B∨C∨A2∨...∨An) B∨C∨A2∨...∨An Supponiamo che A1 sia B∨C. Dato che

per ogni valutazione di verità V, A1 ∨...∨ An è una tautologia sse è una tautologia. Quindi è sufficiente determinare se B∨C∨A2∨...∨An è una tautologia; e questo può essere fatto per ipotesi d'induzione. Supponiamo che A1 sia ∼∼B. Allora per ogni valutazione di verità V, V(A1)=V(B) e quindi

V(A1 ∨...∨ An) = V(B∨A2∨...∨An). Ne segue che è sufficiente determinare se B∨A2∨...∨An è una tautologia; e questo può essere fatto per ipotesi d'induzione.

Supponiamo che A1 sia ∼( B∨C). Allora per ogni valutazione di verità V, V(A1)= V così sse sse V(∼B) = V(∼C)=V

V(A1 ∨...∨ An) = V

∼B∨A2∨...∨ An e ∼C∨A2∨...∨ An sono tautologie; e questo può essere fatto per ipotesi d'induzione. Veniamo ora al risultato fondamentale di questo paragrafo. B. 1 Teorema della tautologia (Post) Se B è conseguenza tautologica di A1...An, e An, allora B. Corollario Ogni tautologia è un teorema. Il primo passo consiste nel ridurre il teorema al corollario. Lemma 1 Se Quindi Dimostrazione. Dato che ∼ A∨A è un assioma proporzionale, allora B∨ A per la regola del taglio. A∨B, allora B∨A

V(∼B∨A2∨...∨ An) = V(∼C∨A2∨...∨ An)=V. Quindi è sufficiente determinare se

A1,...,

A∨B e

∼A∨A.

Regola del Modus ponens Se Dimostrazione. Da

Ae

A otteniamo

lemma 1. Da A∨B e A →B, otteniamo B per la regola di contrazione.

B∨A con regola di espansione e quindi

A →B, allora

B.

B∨B per la regola del taglio (e la definizione di →); così

A∨B per il

Corollario Se A1,..., An e A1→...→ An →B, allora B. Dimostrazione. Per induzione su n. E' chiaro che il teorema della tautologia segue dal corollario al teorema della tautologia e dal corollario alla regola del Modus ponens. verità V; così se A è una tautologia, anche A∨ A lo è. D'altro canto A∨A implica

Resta da dimostrare che ogni tautologia è un teorema. Ora, V(A∨A) = V(A) per ogni valutazione di A per la regola di contrazione. Quindi è sufficiente dimostrare che se A∨A è una tautologia, allora A∨A è un teorema. Questo è un caso particolare del risultato seguente. A1 ∨...∨ An. La nostra dimostrazione del lemma 2 è per induzione sulla somma delle lunghezze di Ai e segue il metodo descritto sopra. Man mano che procediamo, sottolineeremo certi risultati che sono necessari e che dimostreremo in un secondo momento. Dapprima supponiamo che ogni Ai sia elementare o sia la negazione di una formula elementare. In base al metodo descritto sopra, si ha che qualche Aj è la negazione di qualche Ai. Allora Aj ∨Ai per gli assiomi proposizionali. Otteniamo allora A1 ∨...∨ An da Lemma 2 Se n ≥ 2 e A1 ∨...∨ An è una tautologia, allora

a) allora

Se n ≥ 1, m ≥ 1 e i1,...,im sono tra 1,...,n e
Ai
1

∨...∨

Ai

m

A1 ∨...∨ An In termini informali diciamo che se una disgiunzione è teorema, lo sarà anche la sovradisgiunzione che la contiene (asserzione che verrà dimostrata oltre e che per il momento diamo per assodata) Supponiamo ora che qualche Ai non sia né elementare né la negazione di una formula elementare. Per (A), A1 ∨...∨ An sse A1 ∨...∨ An∨A1∨...∨ Ai-1 Quindi come nel metodo descritto sopra, possiamo supporre che A1 non sia né elementare né la negazione di una formula elementare. Come sopra si hanno tre casi. d'induzione, un teorema. Quindi A1∨...∨An per la regola associativa. A1∨...∨An da

Supponiamo che A1 sia B∨ C. Allora B∨C∨A2∨...∨An è una tautologia e quindi, per ipotesi Supponiamo che A1 sia ∼ ∼B. Allora B∨A2∨...∨An è una tautologia e quindi, per ipotesi

d'induzione, un teorema. Otteniamo allora B∨A2∨...∨An e ∼C∨A2∨...∨An

Infine, supponiamo che A1 sia ∼(B∨C). Allora

β) Se

A∨ B, allora

∼ ∼A∨ B.

sono tautologie e quindi, per ipotesi d'induzione, teoremi. Otteniamo allora

γ) Se

∼ A∨ C

e

∼ B∨ C

allora

∼ (A∨ B)∨ C

A1∨...∨An da

Dimostriamo ora (α) per induzione su m. α Supponiamo dapprima che m≥3. ≥ A sia A1 (...( n. Dalle ipotesi di (a) e dalla legge associativa, A (J__( Quindi JJ_ INCORPORA Equation.2 _J)JA per ipotesi d'induzione. Applicando il lemma 1 e la legge associativa, abbiamo JJAJ)J; così JJAJ)JA per ipotesi d'induzione. Applicando ancora il lemma 1 e la legge associativa, abbiamo JJAJA)J; così per ipotesi d'induzione, JJAJA)J JAJA). Due applicazioni della regola di contrazione danno ora JA. Supponiamo ora che m=1, e scriviamo i per i1. Per la regola di espansione, (Ai+1 ∨...∨ An) ∨Ai; così per il lemma 1, Ai∨...∨An. Rimane il caso in cui m=2. Ai∨...∨An. Mediante i-1 applicazioni della regola di espansione, otteniamo

*Se i1=i2, allora ∨dà mediante la regola di contrazione e ci riduciamo al caso in cui m=1. *Il caso in cui i1>i2 si riduce al caso in cui i1<i2 per il lemma 1. Quindi il risultato che resta da dimostrare è *Se 1 i<j n e Ai∨Aj, allora A1 ∨...∨ An Dimostriamo questo caso per induzione su n: - Se n=2, non vi è niente da dimostrare;

A2∨B.

supponiamo quindi che n 3. Ponendo che B sia A3∨...∨An, il risultato da dimostrare è - Se i 2, allora A2∨B per ipotesi d'induzione; così

A1∨

- Se i=1 e j 3, allora - Se i=1 e j=2, allora

A2∨B∨A1. Per la regola associativa e il lemma 1,

A1∨B per ipotesi d'induzione. Per il lemma 1 e la regola di espansione A1∨ A2∨B. B∨A1∨A2 per la regola di espansione.

A1∨ A2∨B per la regola di espansione.

A1∨ A2 per ipotesi. Quindi A1∨ A2∨B.

Applicando la regola associativa e il lemma 1, abbiamo associativa e il lemma 1 abbiamo per il lemma 1. Da A∨B e

A2∨B∨A1. Applicando ancora la regola ∼A∨∼∼A

Dimostriamo ora (β). Dato che ∼∼A∨∼A è un assioma proposizionale, abbiamo β ∼∼A∨B per il lemma 1. ∼A∨∼∼A per la regola del taglio, otteniamo

∼B∨∼∼A. Quindi

A∨B∨∼(A∨B) per (A). DA questo e questo per il lemma 1,

Dimostriamo ora (γ). Dato che ∼(A∨B)∨A∨B è un assioma proposizionale, γ C∨B∨∼(A∨B); così ∼A∨C, per la regola del taglio, si ha B∨C∨∼(A∨B). Da questo e

del taglio, (C∨∼(A∨B))∨C. Applicando il lemma 1, C∨C∨∼(A∨B); così Questo completa la dimostrazione del teorema della tautologia.

∼B∨C per la regola

(B∨∼(A∨B))∨C. Da ∼(A∨B)∨C per (A).

Quando stabiliamo che una formula è conseguenza tautologica di altre formule o che una formula è una tautologia, lasciamo in generale la dimostrazione al lettore. Di solito la prova indiretta è la più veloce. Così, per dimostrare che A∧B→A è una tautologia, assumiamo che vi sia una V(B)= ∨ . Dato che abbiamo due valori diversi per V(A), abbiamo una contraddizione. Con un po' di esperienza, il lettore si convincerà del fatto che ogniqualvolta è possibile stabilire che B è vera (o è conseguenza di A1 ∨...∨ An) utilizzando soltanto il significato di ∼,∨,→,Λ,↔, allora B è una

valutazione di verità V tale che V(A∧B→A)=F. Allora V(A∧B)= ∨ e V(A)=F. Dalla prima si ha V(A)=

tautologia (o conseguenza tautologica di A1 ∨...∨ An). Osservazione. Supponiamo di aver associato ad ogni formula A una formula A* in modo tale

conseguenza tautologica di A1* ∨...∨ An*. Per vedere ciò, supponiamo che V sia una valutazione di verità: definiamo una nuova valutazione di verità V' ponendo V'(A)=V(A*) per A elementare. E' allora facile verificare che V'(A)=V(A*) per ogni formula A. Quindi se V'(A*1)=V(A*n)= ∨ V'(A1)=...=V(An)= allora

che (∼A)* sia ∼A* e (A∨B)* sia A*∨B*. Se B è conseguenza tautologica di A1 ∨...∨ An, allora B* è

così V'(B)=∨ e quindi V'(B*)= ∨ Elenchiamo qualche applicazione del teorema della tautologia usata frequentemente (oltre alla regola del Modus ponens): 1) Se A↔B, allora A sse B.

∨;

2) 3) 4) 5) 6)

Se Se Se

Se A ↔B sse A →B e B →A Se A →B sse ∼B→∼ A Inoltre, il teorema della tautologia può essere usato al posto delle applicazioni degli assiomi proposizionali e delle regole di espansione, di contrazione, associativa e del taglio. Detto in altre parole, possiamo definire i teoremi di T mediante la definizione induttiva generalizzata: 1) ogni assioma di sostituzione, assioma d'identità, assioma di uguaglianza e assiome non logico è teorema; 2) se A1,...,An (n≥0) sono teoremi e B è conseguenza tautologica di A1,...,An, allora B è un teorema; 3) se A è un teorema e B può essere inferita da A mediante la regola di ∋-introduzione, allora B è un teorema. Questo ci dà un metodo di dimostrazione per induzione che chiamiamo pure induzione sui teoremi. Questo metodo ci permette di dimostrare che ogni teorema gode della proprietà P dimostrando: 1) ogni assioma di sostituzione, assioma d'identità, assioma di uguaglianza e assioma non logico ha la proprietà P; 2) se A1,...,An hanno la proprietà P e B è conseguenza tautologica di A1,...,An, allora B ha la proprietà P; 3) se A ha la proprietà P e B può essere inferita da A mediante la regola di ∋-introduzione, allora B ha la proprietà P. Risultati sui quantificatori Deriviamo ora qualche regola per operare con i quantificatori. Regola di ∀-introduzione Se A→B e x non è libera in A, allora A→∀xB. Dimostrazione. Da A→B per il teorema della tautologia, ∼B→∼A. Allora ∃x∼B→∼A per la regola di ∃-introduzione; così A→∼∃x∼B per il teorema della tautologia. Per definizione di ∀, questo è A→∀xB. Regola di generalizzazione Se A, allora ∀xA. Dimostrazione Da A per il teorema della tautologia, ∀xA→A. Allora per la regola di ∀introduzione, ∼∀xA→∀xA; così ∀xA per il teorema della tautologia. Diciamo che A' è un esempio di A se A' è della forma [a1,...an]. Regola di sostituzione Se A e A' è un esempio di A, allora A'. Dimostrazione. Supponiamo dapprima che A' sia Ax[a]. Da A per la regola di generalizzazione, ∀xA, cioè ∃x∼A. Per gli assiomi di sostituzione, ∼Ax[a]→∃x∼A. Quindi Ax [a] per il teorema della tautologia. Supponiamo ora che A' sia [a1,...an]. Siano y1,...yn, n variabili nuove (cioè, variabili che non compaiono in A o in A'). Usando la prima parte della dimostrazione, possiamo ottenere successivamente che [y1], ,...,[y1,...,yn]. A partire dall'ultimo di questi risultati e utilizzando ancora la prima parte della dimostrazione, otteniamo successivamente ,...,[a1,y2...,yn],

A ↔B e A ∧B sse

A →B e

B →C, allora

B ↔C, allora Ae B

A →C

A↔ C

,...,[a1,a2...,yn], ,...,[a1,a2...,an]. (Il lettore avrà notato che l'uso delle yi nella dimostrazione precedente è essenziale. A partire da A avremmo sì potuto ottenere [a1]; ma non avremmo potuto ottenere ,[a1,a2] se x2 avesse avuto qualche occorrenza in a1). Teorema di sostituzione a) ,...,[a1,...,an]→∃x1...∃xnA. b) ,...,A→,...,[a1,...,an]. Dimostrazione. Dagli assiomi di sostituzione C→∃xC [1] e ∼C→∃x∼C. Dal secondo per il teorema della tautologia e la definizione di ∀, ∀xC→C. [2] Da [1] ∃xi+1...∃xnA→∃xi∃xi+1...∃xnA per i=1,...,n. Da questi per il teorema della tautologia otteniamo A→∃x1...∃xnA; e da questo per la regola di sostituzione otteniamo (a). In modo analogo, possiamo usare (2) per ottenere ∀xi...∀xnA→A e quindi (b) per la regola di sostituzione. Regola di distribuzione Se A→B, allora ∃xA→∃xB e ∀xA→∀xB Dimostrazione. Per il teorema di sostituzione, B→∃xB; da questo e da A→B, A→∃xB per il teorema della tautologia; così ∃xA→∃xB per la regola di ∃-introduzione. Per il teorema di sostituzione, ∀xA→A. Da questo e da A→B, otteniamo ∀xA→B per il teorema della tautologia; così ∀xA→∀xB per la regola di ∀-introduzione. Sia A una formula e x1,...,x2 siano le variabili libere in A disposte in ordine alfabetico. La formula ∀ x1,...,∀xn A è detta la chiusura di A. E' chiaro che la chiusura di A è chiusa e che se A è chiusa, allora la chiusura di A è A. Teorema della chiusura Se A' è la chiusura di A, allora A' sse A. Dimostrazione. Se A, allora A' per la regola di generalizzazione. Per il teorema di sostituzione, A'→A, allora A per Modus ponens. Corollario Se A' è la chiusura di A, allora A è valida in una struttura A sse A' è valida in A. Dimostrazione. Supponiamo che A sia valida in A. Se A è l'unico assioma non logico di T, allora A è un modello di T. Per il teorema di chiusura, TA'; così A' è valida in A per il teorema di validità. L'altro senso dell'implicazione è dimostrato in modo analogo. Il teorema di deduzione Se un matematico vuole dimostrare un'asserzione se P, allora Q, generalmente dimostrerà Q assumendo P come ipotesi. Dimostreremo che c'è un metodo simile per dimostrare teoremi nelle teorie. Indichiamo con T[A1,...,An] la teoria ottenuta da T aggiungendo A1,...,An come nuovi assiomi non logici. Per le teorie, il metodo analogo a quello visto sopra è allora il seguente: se vogliamo dimostrare A→in T, proviamo a dimostrare B in T[A]. Dimostreremo che, se vi riusciamo e A è chiusa, allora A→B è proprio un teorema di T. Teorema di deduzione: Sia A una formula chiusa di T. Per ogni formula B di T, TA→B sse B è un teorema di T[A].

Dimostrazione. Se TA→B, allora A e A→B sono teoremi di T[A]; così B è un teorema di T[A] per Modus ponens. Dimostriamo ora che TA→B per ogni teorema B di T[A], usando l'induzione sui teoremi (nella forma del paragrafo 3.1). Supponiamo che B sia un assioma di T[A]. Se B è A, allora A→B è una tautologia e quindi un teorema di T. Altrimenti B è un assioma di T; così TB e quindi TA→B per il teorema della tautologia. Supponiamo che B sia conseguenza di C1,...Cn. Allora A→B è conseguenza tautologica di A→C1,..., A→Cn. Per ipotesi d'induzione TA→ C1,..., TA→ Cn e quindi TA→ B per il teorema della tautologia. Supponiamo che B sia inferita mediante la regola di ∃-introduzione, cioè che B sia ∃xC→D e sia inferita da C→D, dove x non è libera in D. Per ipotesi d'induzione TA→ C→ D, quindi per il teorema della tautologia TC→ A → D. Dato che x non è libera in A o in D, T∃xC→ A→D per la regola di ∃-introduzione, quindi TA→ B per il teorema della tautologia. Corollario Siano A1,...,An formule chiuse in T. Per ogni formula B in T, TA1→ ... → An→ B sse B è un teorema di T [ A1,...,An ]. Dimostrazione. Per induzione su n. Il teorema di deduzione non vale se non si richiede che A sia chiusa. Infatti se aggiungiamo x=0 come assioma a N, possiamo dimostrare y=0 mediante la regola di sostituzione. Ma x=0→Y=0 non è un teorema di N dato che non è valido sul modello N. Per aggirare questa difficoltà, dimostriamo un teorema che ci consente di rimpiazzare A→B con una implicazione avente la premessa chiusa. Teorema sulle costanti Sia T' la teoria ottenuta da T aggiungendo nuove costanti (ma non nuovi assiomi non logici). Per ogni formula A di T e ogni sequenza e1,...,en di nuove costanti, TA sse TA[ e1,...,en ]. Dimostrazione. Se TA, allora T'A; così TA[ e1,...,en ]. Scegliamo n variabili y1,...,yn non occorrenti nella dimostrazione o in A e rimpiazziamo e1,...,en nella dimostrazione con y1,...,yn. Ciò non tocca agli assiomi non logici (che non contengono alcuna delle nuove costanti). E' facile vedere che ogni altro assioma diviene un assioma dello stesso tipo, e che ogni applicazione di una regola diviene una nuova applicazione della stessa regola. Ne segue che otteniamo una dimostrazione in T di A [y1,...,yn]. Così TA[y1,...,yn]; e quindi TA per la regola di sostituzione. Torniamo ora al problema di dimostrare A→B in T. Siano x1,...,xn le variabili libere in A. Formiamo T' a partire da T aggiungendo n nuove costanti e1,...,en Per il teorema sulle costanti TA→B sse T'A[e1,...,en]→B[e1,...,en] Dato che A[e1,...,en] è chiusa, in base al teorema di deduzione è sufficiente dimostrare B[e1,...,en] in T' [A[e1,...,en]] Teoremi di equivalenza e di uguaglianza I risultati di questo paragrafo possono essere enunciati approssimativamente in questo modo: formule equivalenti e termini uguali possono essere sostituiti l'uno con l'altro. Teorema di equivalenza Sia A' ottenuta da A rimpiazzando qualche occorrenza di B1,...,Bn rispettivamente con B'1,...,B'n. Se B1↔ B'1,...,B'n↔ B'n

allora A↔ A'1 Dimostrazione. Consideriamo innanzitutto un caso particolare: vi è solo una occorrenza del genere ed è l'intera A. Allora, per qualche i, A è Bi e A' è B'i; così A↔ A'1 per ipotesi. Dimostriamo ora il teorema per induzione sulla lunghezza di A. Se A è atomica, allora ogni occorrenza di una formula in A è l'intera A per il teorema di occorrenza. Quindi se non siamo nel caso particolare, nessuna occorrenza viene rimpiazzata e A' è A. Allora A↔ A' per il teorema della tautologia. Supponiamo che A sia ∼C. Per il teorema di occorrenza ogni occorrenza di una formula in A o è l'intera A o è interamente contenuta in C. Ne segue che, se non siamo nel caso particolare, allora A' è ∼C', dove C' è ottenuta da C mediante rimpiazzamenti del tipo di quelli descritti nell'enunciato del teorema. Per ipotesi d'induzione, C↔ C' e quindi A↔ A' per il teorema della tautologia. Se A è C∨D, la dimostrazione è simile. Supponiamo ora che A sia ∃xC. Se non siamo nel caso particolare, allora A' è ∃xC', dove C↔ C' per ipotesi d'induzione. Allora C→ C' e C'→ C per il teorema della tautologia. Per la regola di distribuzione, A→ A' e A→ A' per il teorema della tautologia. Abbiamo già osservato che una formula non muta il suo significato se una variabile vincolata viene sostituita con un'altra variabile. Dimostriamo ora, applicando il teorema di equivalenza, una versione sintattica di questa osservazione. Diciamo che A' è una variante di A se A' può essere ottenuta da A mediante una sequenza di rimpiazzamenti del tipo seguente: rimpiazziamo una parte ∃xB con ∃yBx[y], dove Y è una variabile che non è libera in B.

Teorema della variante Se A' è una variante di A, allora A↔A'. Dimostrazione. Tenendo conto dei teoremi di equivalenza e della tautologia dobbiamo dimostrare soltanto che, nella notazione della definizione precedente, ∃xB↔∃yBx[y]. B' sia Bx[y]; per il teorema di sostituzione B'→∃xB e quindi per la regola di ∃-introduzione ∃yB'→∃xB Utilizzando il fatto che y non è libera in B, vediamo che B'y[x] è B. Quindi, per il teorema di sostituzione, B'→∃yB' e per la regola di ∃-introduzione ∃xB→∃yB'. Da questo e da [1] otteniamo ∃xB↔∃yB' per il teorema della tautologia. Le varianti sono utili quando si è in difficoltà perché un termine a non è sostituibile a x in A. Possiamo allora trovare una variante A' di A nella quale nessuna delle variabili di a sia vincolata. Allora a sarà sostituibile a x in A' e possiamo rimpiazzare A con A'. Teorema di simmetria a=b↔b=a. Dimostrazione. Per gli assiomi di uguaglianza x= y→x=x→x=x→y=x Quindi per gli assiomi d'identità e il teorema della tautologia, x= y→y=x. Per la regola di sostituzione, a= b→b=a e b= a→a=b; quindi a= b→b=a per il teorema della tautologia. Teorema di uguaglianza Sia b' ottenuto da b sostituendo qualche occorrenza di a1,...,an che non segua immediatamente il simbolo di quantificatore con a'1,...,a'n rispettivamente, e sia A' ottenuta da A con lo stesso genere di sostituzioni. Se a1= a'1... an=a'n, allora b= b' e A↔A'. Dimostrazione. Dimostriamo prima che b= b'. Se la sola occorrenza sostituita è l'intero b, allora per qualche i, b è ai e b' è a'i, quindi b= b' per ipotesi. Escludiamo ora questo caso particolare

e procediamo per induzione sulla lunghezza di b. Se b è una variabile, allora nessuna occorrenza può essere rimpiazzata (dato che il caso particolare è stato escluso). Quindi b' e b e b= b' per gli assiomi d'identità e la regola di sostituzione. Supponiamo ora che b sia fc1...ck. Allora b' è fc'1...c'k, dove ci= c'i per i=l,...,k per ipotesi d'induzione. Per gli assiomi di uguaglianza e la regola di sostituzione, c1= c'1→...→ck=c'k→b=b', quindi b= b' per la regola del Modus ponens. Dimostriamo ora che A↔A' per induzione sulla lunghezza di A. Se A è una formula atomica pc1...ck, allora A' è pc'1...c'k, dove ci= c'i per i=1,...,k per la prima parte della dimostrazione. Per il teorema di simmetria, ci= c'i per i=1,...,k. Per gli assiomi di uguaglianza e la regola di sostituzione, c1= c'1→...→ck=c'k→A→A' e c'1= c1→...→c'k=ck→A'→A. Quindi A↔A' per il teorema della tautologia. I casi rimanenti sono trattati come nella dimostrazione del teorema di equivalenza. Corollario 1 a1= a'1→...→an=a'n→b[a1,...,an]= b[a'1,...,a'n]. Dimostrazione. Rimpiazziamo ogni variabile occorrente in un ai o un a'i con una costante nuova. Supponiamo che ai, a'i, e b diventino ci, c'i e d. Il risultato da dimostrare diviene c1= c'1→...→cn=c'n→d[c1,...,cn]= d[c'1,...,c'n]. In base ai risultati dell'ultimo paragrafo, è sufficiente aggiungere ci=c'i come assiomi e dimostrare d[c1,...,cn]= d[c'1,...,c'n]. Questo si può ottenere dal teorema. Corollario 2 a1= a'1→...→an=a'n→(A[a1,...,an]↔A[a'1,...,a'n]. Dimostrazione. Come quella del corollario 1. Indicheremo le applicazioni sia del teorema che dei due corollari semplicemente come applicazioni del teorema di uguaglianza. Corollario 3 Se x non occorre in a, allora Ax[a] ↔∃x(x=a ∧A). Dimostrazione. Per il teorema di uguaglianza x=a→(A↔Ax[a]); quindi per il teorema della tautologia e la regola di ∃-introduzione, ∃x(x=a ∧A)→ Ax[a]. [2] Per il teorema di sostituzione, (a=a ∧Ax[a])→∃x(x=a ∧A). [3] Per gli assiomi d'identità e la regola di sostituzione, a=a. [4] Il corollario segue da [2],[3] e [4] per il teorema della tautologia. Forme prenesse Dimostreremo ora che ogni formula è equivalente a una formula di una certa forma particolare. Una formula è aperta se non contiene quantificatori. Una formula A è in forma prenessa se ha la forma Qx1...QxnB, dove ogni Qx1è o ∃xi o ∀xi; x1,...,xn sono distinte e B è aperta. Chiamiamo Qx1...Qxn il prefisso e B la matrice di A. Si ammette che il prefisso sia vuoto e quindi una formula aperta è in forma prenessa. La nostra definizione di forma prenessa coinvolge il simbolo definitivo ∀. Introduciamo ora alcune operazioni, dette operazioni prenesse; sono operazioni che possono essere eseguite su una formula A contenente, eventualmente, il simbolo definitivo ∀; il risultato dell'operazione è un'altra formula del genere. Le operazioni prenesse sono: a) Rimpiazzare A con una variante.

∀x.

b) Rimpiazzare una parte ∼QxB di A con Q'x∼B, dove Q'x è ∀x se Qx è ∃x, e Q'x è ∃x se Q x è

c) Rimpiazzare una parte QxBνC di A con Qx(BνC), purché x non sia libera in C. d) Rimpiazzare una parte di BνQxC di A con Qx(BνC), purché x non sia libera in B. Dimostreremo per prima cosa che se A' è ottenuta da A mediante un'operazione prenessa, allora A↔A'. Per (a), ciò segue dal teorema della variante. Per (b) è sufficiente, tenendo conto del teorema di equivalenza, dimostrare che ∼QxB↔Q'x∼B. Così dobbiamo dimostrare che ∼∃xB↔∀x∼B e ∼∀xB↔∃x∼B sono teoremi. Se eliminiamo ∀, questi divengono ∼∃xB↔∼∃x∼∼B e ∼∼∃x∼B↔∃x∼B entrambi seguono dal teorema di equivalenza e dal teorema della tautologia. Per il caso (c), ' sufficiente dimostrare che della tautologia se dimostriamo C→Qx(B∨C). QxB→Qx(B∨C). QxB∨C↔Qx(B∨C). Questo seguirà dal teorema [1] [2] [3]

Otteniamo [1] dalla tautologia B→B∨C per la regola di distribuzione. Se Qx è ∃x, otteniamo [2] [2] dalla tautologia C→B∨C, per la regola di ∀-introduzione. Ora, dall'assioma di sostituzione

Qx(B∨C) →QxB∨C

dall'assioma di sostituzione B∨C→∃x(B∨C) con il teorema della tautologia. Se Qx è ∀x, otteniamo

B→∃xB, otteniamo B∨C→∃xB∨C per il teorema della tautologia e quindi ∃x(B∨C) →∃xB∨C per la regola di ∃-introduzione. Questo è [3] quando Qx è ∃x. Per il teorema di sostituzione ∀x(B∨C) →B∨C, quindi per il teorema della tautologia e la regola di ∀-introduzione, ∀x(B∨C)Λ∼C→∀xB

Da questo e dal teorema della tautologia,

∀x(B∨C)→∀xB∨C, che è [3] quando Qx è ∀x.

Per il caso (d), è sufficiente dimostrare che

caso precedente, QxC∨B↔Qx (C∨B) e il risultato desiderato segue dal teorema di equivalenza e dal teorema della tautologia. Dimostriamo ora che ogni formula può essere trasformata in una formula in forma prenessa mediante applicazioni delle operazioni prenesse. La dimostrazione è per induzione sulla lunghezza di A. Se A è atomica, allora è già in forma prenessa. Supponiamo che A sia∼B: per ipotesi d'induzione possiamo trasformare B in una formula B' in forma prenessa, per mezzo di operazioni prenesse. Le stesse operazioni trasformano A in ∼B'. Ma evidentemente ∼B' può essere trasformata in una formula in forma prenessa mediante applicazioni successive all'operazione (b). Supponiamo ora che A sia B∨C. Per ipotesi d'induzione possiamo trasformare B e C in formule B' e C' in forma prenessa. Per l'operazione (a) possiamo inoltre supporre che le variabili del prefisso di B' siano distinte dalle variabili del prefisso di C' e che le variabili di entrambi i prefissi siano distinte dalle variabili libere in B' e C'. Possiamo allora trasformare A in B'∨C' e mediante le operazioni (c) e

B∨QxC↔Qx (B∨C) se x non è libera in B. Dal

(d) possiamo trasformare B'∨C' in una formula in forma prenessa. Supponiamo infine che A sia QxB. Possiamo trasformare B in una formula B' in forma prenessa e possiamo supporre che le variabili nel prefisso di B' siano distinte da x. Allora A può essere trasformata

in QxB' che è forma prenessa. Per una forma prenessa di A intendiamo una formula in forma prenessa in cui A può essere trasformata per mezzo di operazioni prenesse. Abbiamo appena visto che ogni formula ha una prenessa e che, se A' è una forma prenessa di A, allora A↔A'. E' opportuno osservare che le operazioni prenesse sono indipendenti dalla teoria in cui stiamo operando. Il nostro metodo per ottenere una forma prenessa di A ci richiede di eliminare i simboli definitivi diversi da ∀. Possiamo fare a meno di eliminare → e Λ introducendo anche le seguenti operazioni prenesse: e) Rimpiazzare una parte QxB→C di A con Q'x(B→C), dove Q'x è come in (b) purché x non sia libera in C. f) Rimpiazzare una parte B→QxC di A con Qx(B→C) purché x non sia libera in B. g) Rimpiazzare una parte QxBΛC di A con Qx(BΛC) purché x non sia libera in C. h) Rimpiazzare una parte BΛQxC di A con Qx(BΛC) purché x non sia libera in B. Si vede, come si è fatto sopra, che queste operazioni sono sufficienti per trasformare ogni formula contenente → e Λ in forma prenessa. Per vedere che la formula che si è ottenuta con queste operazioni è equivalente alla formula sulla quale si è operato, si osservi che ogni operazione, con l'eliminazione del simbolo definitivo, diviene una successione di operazioni (b), (c) e (d). Per esempio, supponiamo di usare (e) per trasformare ∃xB→C in ∀x(B→C). Dopo l'eliminazione di → vediamo che abbiamo trasformato ∼∃xBνC in ∀x(∼BνC). Questo può essere fatto applicando prima (b) e quindi (c). Non possiamo ottenere regole del genere per ↔: se eliminiamo ↔ e applichiamo (a) a causa di (h) vediamo che non possiamo reintrodurre il ↔. Concludiamo con un esempio dei passi di trasformazione di una formula di N in forma prenessa: ∃x(x=y)→∃x(x=0ν∼∃y(y〈0)). ∃x(x=y)→∃z(z=0ν∼∃w(w〈0)). ∃x(x=y)→∃z(z=0ν∼∀w(w〈0)). ∃x(x=y)→∃z∀w (z=0ν∼ (w〈0)). ∀x∃x∀w (x=y→z=0ν∼(w〈0)).

C) Il teorema di completezza
Il teorema di completezza è un risultato molto significativo sul piano ontologico, poichè asserisce che ogni teoria ha un modello, ossia che ad un insieme di formule coerente sul piano formale, corrisponde sempre una realtà articolata secondo i rapporti descritti da quell'insieme. Attraverso la dimostrazione del teorema, si istituisce una relazione biunivoca tra semantica e sintassi, che intensifica il legame già sancito in una direzione dal teorema di validità. Quest'ultimo stabiliva che se una formula è dimostrabile è valida; ora si tratta di dimostrare l'inverso, ovvero che se una formula è valida è dimostrabile. Goedel dimostrò il teorema in termini differenti - "ogni teoria coerente possiede un modello" -; noi ci atterremo alla dimostrazione dell'asserto equivalente proposta da Henkin - "Se una formula è valida è anche dimostrabile".

Come prima cosa, dobbiamo quindi ridurre la prima formulazione alla seconda, cioè dimostriamo la seconda assumendo la prima. Teorema: Se |= A allora |- A Dim. per assurdo Supponiamo che se |= allora non |- A; allora per il lemma che segue, T[¬A] (cioè la teoria T avente "¬ A" come assioma non logico) è coerente. Per il T. di completezza nella versione che supponiamo dimostrata, T[¬ A] avrà un modello, ma ciò è palesemente in contrasto col fatto che anche T[A] ha un modello (essendo per ipotesi |= A) Lemma: Data Γ coerente, se Γ¬ A allora Γ[¬A] è coerente. Dimostrazione per assurdo: Γ[¬A] (B∧¬B); Γ ¬A→(B∧¬B) (Teorema di deduzione); Γ [ ¬A→(B∧¬B)]→[ ¬(B∧¬B) →¬¬Α] (Contrapposizione); Γ ¬ (B∧¬B) → ¬¬Α (Modus ponens); Γ ¬ (B∧¬B) (Tautologia); Γ ¬¬A (Modus ponens); Γ ¬¬A→A (Tautologia); Γ A (Modus ponens) Strutture canoniche In questo paragrafo Γ sarà sempre un insieme coerente di enunciati in un linguaggio L che contenga termini chiusi (ciò equivale a supporre che L contenga almeno un simbolo costante). Possiamo associare a Γ una struttura A, detta struttura canonica, il cui dominio è costituito da classi di equivalenza di termini chiusi di L e dimostrare che gli enunciati atomici veri in A sono esattamente gli enunciati atomici derivabili da Γ. Ciò che ci preme ora sottolineare è l'universalità della costruzione della struttura canonica, il fatto cioè che sia disponibile per ogni insieme coerente di formule, e il ruolo che gioca il linguaggio in questa costruzione, fornendo gli elementi del dominio. La struttura che costruiremo non sarà immediatamente un modello di Γ, a meno che quest'ultimo consti solo di enunciati atomici, ma si vedrà in seguito che proprio nell'ambito delle strutture canoniche saremo in grado di trovare un modello di Γ completando così la dimostrazione del teorema di completezza. Indichiamo con D l'insieme dei termini chiusi di L e definiamo su di esso una relazione binaria E ponendo E (t0,t1) sse Γ t0=t1 Dimostriamo che E è una relazione di equivalenza. Vale E(t,t), perché dall'assioma x=x di Eq si ricava t=t per il teorema di sostituzione. Vale E(t,s) implica E(s,t), perché dall'assioma x=y→y=x di Eq si ricava Γ t=s→s=t. Quindi, se Γ t=s allora Γ s=t. Vale inoltre E(t,s) e E(s,q) implica E(t,q). Infatti l'assioma dell'identità x=y→y=z→x=z si ricava Γ t=s→s=q→t=q. Quindi, se Γ t=s e Γ s=q allora Γ s=q. Poiché E è una relazione di equivalenza, possiamo ottenere l'insieme quoziente A=D/E, vale a dire A = t: t ε D dove t= s : E(t,s), s ε D. L'insieme A costituirà il dominio della struttura canonica. Definiamo ora la struttura canonica A stabilendo la seguente interpretazione di L: per ogni simbolo costante c, ogni simbolo di funzione n-ario F, ogni simbolo di relazione n-ario P, A 1. c = c 2. FA= (t ,...,tn-1)=F(t0,...,tn-1) 0

A 3. P = (t ,...,tn-1)sseΓ P(t0,...,tn-1). 0 A Occorre verificare che la definizione di F è corretta, ossia che non dipende dai rappresentanti t ,...,tn0 1 delle classi di equivalenza t0,...,tn-1. Dimostriamo che se scegliessimo dei rappresentanti diversi s0,...,sn-1 per le medesime classi, ossia se valesse ti=si, per i <n A questo non influirebbe sul risultato dell'operazione F , perché si avrebbe FA= (t ,...,tn-1)= 0 A F (s ,...,sn-1). 0 Infatti, da ti=si si ricava E(ti,si) e quindi Γ ti=si. Dall'assioma xo=yo→...→xo-1=yn1→F(xo,...,xn-1)=F(yo,...,yn-1) di Eq otteniamo Γ F(t0,...,tn1)=F(s0,...,sn-1) usando il teorema di sostituzione. Quindi vale E(F(t0,...,tn-1),F(s0,...,sn-1)) da cui F(t0,...,tn-1) = F(s0,...,sn-1) . Per A le medesime ragioni occorre verificare l'indipendenza della definizione di P dai rappresentanti delle classi. Si procede in modo analogo utilizzando l'assioma x =yo→...→xn-1=yn-1→(P(xo,...,xn-1)↔P(yo,...,yn-1)) o di Eq. La verifica è lasciata al lettore. Ciò completa la definizione della struttura canonica. Dimostriamo ora il seguente lemma concernente la denotazione dei termini chiusi. Lemma Per ogni termine chiuso t di L Se t=c, il lemma vale per definizione di struttura canonica. Supponiamo che sia t= F(t0,...,tn-1), abbiamo allora A A ) F(t0,...,tn-1) = FA(tA ,...,t n-1 0 A = F ( t ,..., tn-1 ) 0 = F(t0,...,tn-1) A questo punto possiamo dimostrare facilmente che gli enunciati atomici veri in A coincidono coi teoremi di Γ. Teorema Per ogni formula atomica chiusa α di L, Γ α sse A α. A Se α è P(t0,...,tn-1), allora Γ α sse P ( t ,..., tn-1 )(per come è stata definita A), sse A 0 A A A α dato che t = ti . Supponiamo che α sia t=s. Allora Γ α sse E(t,s)sse t = s sse t s . i = L'idea che guida la costruzione della struttura canonica è che gli enunciati atomici derivabili da Γ si possono sempre interpretare come se compissero delle asserzioni riguardanti un dominio banale, i cui oggetti sono proprio i termini chiusi contenuti in tali formule. E' naturale chiedersi perché, invece di

adottare un dominio di termini chiusi, se ne sia preferito uno costruito da classi di equivalenza. Supponiamo allora di costruire una struttura D definendo direttamente su D l'interpretazione di L. Seguendo lo stesso schema adottato in precedenza, porremo 1. cA= c 2. FA(t ,...,tn-1)=F(t0,...,tn-1) 0 A 3. P (t ,...,tn-1)sseΓ P(t0,...,tn-1). 0 D Ora ogni costante denota se stessa e la funzione F è semplicemente l'operazione tra espressioni che a D e ,...,en-1 associa Fe0,...,en-1. A questo punto possiamo dimostrare che, per ogni termine chiuso, t = t 0 e per ogni enunciato del tipo P(t ,...,tn-1), 0 Γ P(t0,...,tn-1) sse D P(t0,...,tn-1) Ma se consideriamo un'equazione come t=s, in cui t sia un termine chiuso diverso da s, può accadere D che Γ t=s, mentre si avrà t ≠sD poiché t≠s. Solo l'equazione t=t riceve in ogni caso l'interpretazione corretta. La soluzione adottata consiste nel cambiare la denotazione dei termini, radunando in classi i termini che Γ dimostra essere uguali fra loro. Le classi sono istituite dalla relazione di equivalenza E introdotta in precedenza e a questo punto, se Γ giunge a identificare due termini differenti fra loro, dimostrando t=s, i denotati di t e s saranno identici, ossia la medesima classe di equivalenza designata da t o s. Naturalmente, ora che gli oggetti del dominio della struttura canonica sono classi di termini, occorre estendere le operazioni FD e le relazioni PD definite su D alle operazioni FA e le relazioni PA definite su A=D/E: in questo modo la struttura canonica A si configura come la struttura quoziente D/E. Questo passaggio richiede che E sia non solo una relazione di equivalenza, ma anche una congruenza rispetto alle operazioni FD e alle relazioni PD (si veda il paragrafo 2.4), e questo è proprio ciò che abbiamo dimostrato verificando l'indipendenza di FA e PA dai rappresentanti delle classi. Torniamo ora al problema della costruzione di un modello in corrispondenza di ogni insieme coerente di enunciati. La struttura canonica A associata a Γ non è adatta allo scopo poiché non è in grado, in genere, di rendere veri gli enunciati contenenti connettivi e quantificatori. Per quanto riguarda i connettivi, supponiamo che Γ P(s)∨Q(t). Può accadere, tuttavia, che Γ¬ P(s) e Γ ¬ Q(t), il che comporta A ¬ P(s) e A ¬ Q(t), da cui infine A ¬ P(s)∨Q(t). Si vede facilmente che, se Γ è coerente e completo, allora tale inconveniente non si verifica poiché Γ α∨β implica Γ α o Γ β. Infatti supponiamo che Γ α∨β. Se valesse sia Γ ¬ α sia Γ ¬ β, allora avremmo sia Γα∉ sia β∉Γ, e quindi Γ αeΓ β. Quindi Γ α ∧ β, ossia Γ (α ∧β), contraddicendo la coerenza di Γ. Esaminiamo un altro tipo di ostacolo, connesso questa volta ai quantificatori. Supponiamo che Γ ∃v P(vi) e che tuttavia non si verifichi Γ P(t) per alcun termine chiuso in t. In tal caso ∃vi P(vi) i non potrà essere vero in A, perché altrimenti dovrebbe esistere una successione s e un a∈A tali che A P (vi) s(i/a) . Per la particolare natura del dominio della struttura canonica sarà a= t , per qualche t, quindi, A P(t), contro l'ipotesi. Intuitivamente ciò può essere spiegato notando che se dimostro una proprietà non necessariamente

esiste nella struttura di riferimento un individuo che gode di quella proprietà; il problema che qui si pone è dunque quello della determinazione degli individui, che si risolve producendo un esempio per ogni formula esistenziale del linguaggio. Diremo allora che un insieme di enunciati Γ di L è di Henkin se, per ogni enunciato di L del tipo di ∃xα, esiste una costante c di L tale che Γ ∃xα→α(x/c). E' chiaro che la difficoltà precedente non può verificarsi con un insieme di Henkin. Si noti che la proprietà <<essere di Henkin>> è formulata rispetto agli enunciati ∃xα appartenenti a L e non rispetto a quelli dimostrabili in Γ. Ne segue che se Γ e Γ' sono due insiemi di enunciati L tali che Γ⊆Γ' e Γ è di Henkin, allora anche Γ' è di Henkin. Ciò non varrebbe se si formulasse <<essere di Henkin>> rispetto alla derivabilità e questo fatto ci tornerà utile nella dimostrazione del teorema di completezza. Dimostriamo ora che coerenza, completezza e essere di Henkin sono proprietà non solo necessarie, ma anche sufficienti perché Γ abbia un modello nella struttura canonica. Lemma Se Γ è di Henkin e ∀xα è un enunciato di Γ, allora esiste un c di L tale che Γ α(x/c)→∀xα. Sia c tale che Γ ∃x α→ α(x/c) → ∃x α, attraverso passaggi di logica proposizionale, da cui l'asserto. Teorema Se Γ è un insieme di enunciati coerente, completo e di Henkin, allora, per ogni enunciato α, A α sse Γ α dove A è la struttura canonica relativa a Γ. La dimostrazione è per induzione sugli enunciati. Se α è un enunciato atomico l'asserto coincide con il teorema precedente. Supponiamo che α sia β. Allora A β equivale a A ¬ β che a sua volta, per ipotesi induttiva, equivale a Γ ¬ β. A questo punto, Γ ¬ β implica Γ β per completezza, mentre Γ β implica Γ¬ β per coerenza. Supponiamo che α sia β→γ. Allora A β→γ sse A ¬ β o A γ sse Γ ¬ β o Γ γ per ipotesi induttiva. Per la completezza di Γ, da Γ ¬ β oppure Γ γ segue Γ β→γ. Infatti, se Γ ¬ β, per completezza Γ β e quindi Γ β→γ per la tautologia β→β→γ. Se invece Γ γ, allora lo stesso risultato si ottiene con la tautologia γ→β→γ. Viceversa, se Γ deriva β→γ, o Γ ¬ β, altrimenti, per MP, se Γ β dalla nostra ipotesi si ricava Γ γ. ω Supponiamo che α sia ∀viβ. Allora, per ogni s ∈ A e ogni t ∈ D, A ∀v β [s] sse A β [s(i/t)] i sse A β (vi/t) [s] sse A β (vi/t) sse Γ β (vi/t). Per il lemma precedente esiste un c tale che Γ β (vi/c) →∀xβ Se Γ dimostra β (t) per ogni termine chiuso t, in particolare dimostrerà anche β (c) e quindi ∀xβ. Viceversa, se Γ dimostra ∀∃x α→ α(allora per l'assioma di sostituzione Γ dimostra β (t) per ogni termine chiuso t.

Lemma di Lindembaum Estensione di Γ ad un insieme coerente e completo. Una qualunque teoria Γ ammette almeno un'estensione sintatticamente completa. Infatti: Siano A1,...,Am le formule chiuse di una teoria, alcune saranno teoremi ed altre no. Considero una successione transfinita numerabile di teorie Γn, ed assumendo Γ0 come teoria di partenza, controllo ad ogni passo se nella teoria precedente sia o meno teorema la formula ¬ Ai+1. - Se Ai+1 non è teorema, allora definisco Γi+i come quella teoria che si ottiene aggiungendo a Γi come ulteriore assioma specifico la formula Ai+1 - Se Ai+1 è teorema in Γi, allora dirò che Γi+i è esattamente Γi: Γi+1= Γi [Ai+1] se ¬ Γi ¬ Ai+1 Γi+1= Γi se Γi ¬ Ai+1 La riunione infinitaria Γ' delle Γn è completa per costruzione, resta da dimostrare che conserva la coerenza: a) Si dimostra che se ciascuna delle Γi è coerente, allora anche Γ' sarà coerente. Supponiamo infatti che non lo sia e che si abbia Γ' A∧¬A: ciò comporta che almeno una delle Γi fosse incoerente, ma ciò contrasta con l'ipotesi. b) Ciascuna delle Γi è coerente: Dimostrazione per induzione sulle teorie: Base: Γ0 è coerente per definizione. Passo: Se Γi+1= Γi non vi è nulla da dimostrare Se Γi+1= Γi[Ai+1], ¬ Γi ¬ Ai+1, allora Γi[Ai+1] per quanto segue. (Risultato già dimostrato nel passaggio dalla formulazione di Goedel a quella di Henkin) Data Γ coerente, se Γ¬ A allora Γ[¬A] è coerente. Dimostrazione per assurdo: Γ[¬A] (B∧¬B); Γ ¬A→(B∧¬B) (Teorema di deduzione); Γ [ ¬A→(B∧¬B)]→[ ¬(B∧¬B) →¬¬Α] (Contrapposizione); Γ ¬ (B∧¬B) → ¬¬Α (Modus ponens); Γ ¬ (B∧¬B) (Tautologia); Γ ¬¬A (Modus ponens); Γ ¬¬A→A (Tautologia); Γ A (Modus ponens)

Teorie di Henkin Estensione di Γ ad un insieme coerente e di Henkin Ci proponiamo ora di ricavare da Γ una teoria "ricca", una teoria in cui per ogni esistenzializzazione è assioma Γ ∃xα→α(x/c); allo scopo introduciamo una serie di costanti dette costanti speciali, e aggiungiamo contestualmente detto assioma per ognuna di esse. La teoria così ottenuta non è ancora ricca, perchè gli assiomi introdotti contengono a loro volta delle esistenzializzazioni in corrispondenza delle quali non ho ancora provveduto ad alcun "arricchimento"; vado allora a considerare la riunione infinitaria di tutte le Γi Dato un linguaggio del primo ordine L, definiamo la successione Lii∈ω di linguaggi come segue. Per ogni i, indicheremo con Ei l'insieme degli enunciati esistenziali di Li, ossia quelli di tipo ∃xα. Poniamo Lo =L. Supponendo di averlo definito Li, introduciamo un insieme di costanti nuove Ci = c∃xα: ∃xα ∈Ei - Ei-1, tranne nel caso di i=0 dove C0 = c∃xα: ∃xα ∈E0. Infine poniamo Li+1= Li∪Ci. La successione Lii∈ω è quindi una catena e definiamo Lω=∪Lii∈ω. La scelta degli indici per le costanti assicura che se ∃xα

è diversa da ∃xβ, allora anche c∃xα sarà un simbolo diverso da c∃xβ. Inoltre, facendo variare ∃xα in Ei - Ei-1 evitiamo che lo stesso enunciato ∃xα venga esemplificato con due costanti diverse in due passi distinti della costruzione. Questo ci consente di pensare ogni costante nuova c∃xβ come <<la>> costante che esemplifica ∃xα e il risultato è una biiezione tra le due costanti nuove di Lω e gli enunciati esistenziali di Lω. Definiamo ora una successione Σii∈ω dove Σi è un insieme di enunciati di Li. Poniamo Σ0 = 0 e Σi+1=Σi∪∃xα→α( x/c∃xα):∃xα ∈ Ei - Ei-1 tranne nel caso di Σi dove si richiede ∃xα ∈ Eo. Allora anche i vari Σi formano una catena e quindi poniamo Σω=∪Σii∈ω. Per ogni insieme Γ di enunciati di L, definiamo l'insieme ΓH = Γ∪Σω. Si noti che Σω dipende da L e non da Γ. Teorema Per ogni insieme di enunciati Γ di L, ΓH è un insieme di Henkin. Sia ∃xα un enunciato di Lω. Se ∃xα è un enunciato di L, allora ∃xα →α( x/c∃xα)∈Σ1, altrimenti ∃xα contiene un insieme c0,...,cn-1 di costanti nuove poiché ogni formula è una successione finita di simboli. Ad ogni cj, j<n, associamo un numero f(j) che indica <<il minimo x tale che cj ∈ Lx>>. Sia k=supf(0),...,f(n-1). Poiché i linguaggi formano una catena, per ogni j<n,cj∈ Lk e quindi ∃xα ∈ Ek Ma allora ∃xα→α( x/c∃xα)∈Σk+1 In entrambi i casi, quindi, abbiamo ΓH ∃xα→α( x/c∃xα) Teorema ΓH è coerente Dimostriamo che se ogni Γ∪Σi è coerente, allora anche Γ∪Σω è coerente. Infatti, se valesse Γ∪Σω α∧ α, allora esisterebbe un sottoinsieme finito ∆⊂Σω tale che ∆ α∧ α. Poiché Σω è l'unione della catena Σii∈ω, vi sarebbe un k tale che ∆⊆Σk e allora avremmo Γ∪Σk α∧ α contro l'ipotesi. Per dimostrare che ogni Γ∪Σi è coerente, basta osservare che Γ∪Σ0= Γ è coerente per ipotesi e dimostrare che se Γ∪Σi è coerente anche Γ∪Σi+1 lo è. Infatti, se Γ∪Σi+1 fosse incoerente, avremmo Γ∪Σi+1 α∧ α e quindi si avrebbero o0,...,on-1 in Σi+1-Σi tali che Γ∪Σi∪ o0,...,on-1 α∧ α Per il teorema di deduzione, Γ∪Σi∪ o0,...,on-2 on-1→α∧ α e quindi, supponendo che on-1 sia ∃xα→α( x/c∃xα) e tenendo presente che l'equivalenza tra β→α∧ α e → β è una tautologia, Γ∪Σi∪o0,...,on-2 (∃xα→α( x/c∃xα)) da cui, attraverso passaggi di logica enunciativa, Γ∪Σi∪o0,...,on-2 ∃xα e Γ∪Σi∪o0,...,on-2 α( x/c∃xα). Da quest'ultima, poiché la costante c∃xα non occorre né in Γ∪Σi né alcuna delle o0,...,on-2 né in α, per il teorema xxx possiamo concludere Γ∪Σi∪o0,...,on-2 α Tenendo presente che da Γ∪Σi∪o0,...,on-2 abbiamo già ricavato ∃xα, con un'applicazione di GEN e alcuni passaggi di logica proposizionale otteniamo

Γ∪Σi∪o0,...,on-2 ∃xα∧∀ α Ripetendo il processo n-1 volte potremmo derivare una contraddizione direttamente da Γ∪Σi, il che è assurdo. Possiamo quindi dimostrare il seguente teorema di importanza fondamentale, che conclude la dimostrazione del teorema di completezza: Teorema Se Γ è un insieme coerente di enunciati, allora Γ possiede un modello. Dato l'insieme coerente di enunciati Γ di L , costruiamo in Lω l'estensione di Henkin coerente ΓH. Per il teorema xxx esiste un insieme completo ΓHC di enunciati Lω tale che Γ ⊆ ΓH ⊆ ΓHC Si osservi che ΓHC, oltre ad essere completo, è anche di Henkin poiché il linguaggio di ΓHC è ancora quello di ΓH. Ora consideriamo la struttura canonica A' relativa all'insieme ΓHC, per il teorema 5.14.4 A' ΓHC. Riduciamo A', che è una struttura per Lω, a una struttura per L togliendo semplicemente le interpretazioni di tutte le costanti c∃α introdotte in Lω e otteniamo una struttura A' L Γ