Sei sulla pagina 1di 23

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" ∀ s I(s) =
"Tutti gli studenti sono intelligenti"

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 è un
assioma, o è stato ricavata dall'applicazione di una regola di deduzione.
Ne consegue che una formula è teorema sse possiede una dimostrazione.

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
V(A)= H ∼ (V(B)). Se A è B∨C, allora V(A)=H∨(V(B),V(C)). Da questa definizione e dalla definizione
di →, ∧ e ↔, vediamo che V(B→C) = H→(V(B), V(C)) e in modo simile per ∧ e ↔. Inoltre,
V(A1 ∨...∨ An) = V sse V(Ai) = V per almeno un i,
e
V(A1 ∨...∨ An) = V sse V(Ai) = V per ogni i,
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.
Mostriamo che A1 ∨...∨ An è una tautologia sse qualche Aj è la negazione di qualche Ai. Se questa
condizione vale, allora per ogni valutazione di verità V, o V(Ai)=Vo V(Aj)=V; così V(A1 ∨...∨ An)
=V
Supponiamo che la condizione non valga. Definiamo una valutazione di verità V ponendo
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
V(A1 ∨...∨ An) = V(A1 ∨...∨ An∨ A1 ∨...∨ Ai-1)
per ogni valutazione di verità V, A1 ∨...∨ An è una tautologia sse
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.
Supponiamo che A1 sia B∨C. Dato che
V(A1 ∨...∨ An) = V(B∨C∨A2∨...∨An)
per ogni valutazione di verità V, A1 ∨...∨ An è una tautologia sse
B∨C∨A2∨...∨An
è 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 sse V(∼B) = V(∼C)=V
così
V(A1 ∨...∨ An) = V
sse
V(∼B∨A2∨...∨ An) = V(∼C∨A2∨...∨ An)=V.
Quindi è sufficiente determinare se
∼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  A1,...,
An, alloraB.

Corollario Ogni tautologia è un teorema.


Il primo passo consiste nel ridurre il teorema al corollario.
Lemma 1 Se A∨B, allora B∨A
Dimostrazione. Dato che ∼ A∨A è un assioma proporzionale, allora A∨B e  ∼A∨A.
Quindi B∨ A per la regola del taglio.

Regola del Modus ponens Se A e A →B, allora B.


Dimostrazione. Da A otteniamo B∨A con regola di espansione e quindi A∨B per il
lemma 1. Da A∨B e A →B, otteniamo B∨B per la regola del taglio (e la definizione di →); così
B per la regola di contrazione.

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.
Resta da dimostrare che ogni tautologia è un teorema. Ora, V(A∨A) = V(A) per ogni valutazione di
verità V; così se A è una tautologia, anche A∨ A lo è. D'altro canto A∨A implica 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.
Lemma 2 Se n ≥ 2 e A1 ∨...∨ An è una tautologia, allora
 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
a) Se n ≥ 1, m ≥ 1 e i1,...,im sono tra 1,...,n e
 Ai
1
∨...∨ Ai
m
allora
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.
Supponiamo che A1 sia B∨ C. Allora B∨C∨A2∨...∨An è una tautologia e quindi, per ipotesi
d'induzione, un teorema. Quindi A1∨...∨An per la regola associativa.
Supponiamo che A1 sia ∼ ∼B. Allora B∨A2∨...∨An è una tautologia e quindi, per ipotesi
d'induzione, un teorema. Otteniamo allora A1∨...∨An da β) Se A∨ B, allora ∼ ∼A∨ B.
Infine, supponiamo che A1 sia ∼(B∨C). Allora
B∨A2∨...∨An e ∼C∨A2∨...∨An
sono tautologie e quindi, per ipotesi d'induzione, teoremi. Otteniamo allora A1∨...∨An da
γ) Se ∼ A∨ C e ∼ B∨ C allora ∼ (A∨ B)∨ C

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. Mediante i-1 applicazioni della regola di espansione, otteniamo
Ai∨...∨An.
Rimane il caso in cui m=2.
*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 1i<jn e Ai∨Aj, allora  A1 ∨...∨ An
Dimostriamo questo caso per induzione su n:
- Se n=2, non vi è niente da dimostrare;
supponiamo quindi che n3. Ponendo che B sia A3∨...∨An, il risultato da dimostrare è  A1∨
A2∨B.
- Se i2, allora  A2∨B per ipotesi d'induzione; così  A1∨ A2∨B per la regola di espansione.
- Se i=1 e j3, allora  A1∨B per ipotesi d'induzione. Per il lemma 1 e la regola di espansione 
A2∨B∨A1. Per la regola associativa e il lemma 1,  A1∨ A2∨B.
- Se i=1 e j=2, allora  A1∨ A2 per ipotesi. Quindi  B∨A1∨A2 per la regola di espansione.
Applicando la regola associativa e il lemma 1, abbiamo A2∨B∨A1. Applicando ancora la regola
associativa e il lemma 1 abbiamo A1∨ A2∨B.
β). Dato che ∼∼A∨∼A è un assioma proposizionale, abbiamo ∼A∨∼∼A
Dimostriamo ora (β
per il lemma 1. Da A∨B e ∼A∨∼∼A per la regola del taglio, otteniamo ∼B∨∼∼A. Quindi
∼∼A∨B per il lemma 1.
Dimostriamo ora (γγ). Dato che ∼(A∨B)∨A∨B è un assioma proposizionale,
A∨B∨∼(A∨B) per (A). DA questo e ∼A∨C, per la regola del taglio, si ha (B∨∼(A∨B))∨C. Da
questo per il lemma 1, C∨B∨∼(A∨B); così B∨C∨∼(A∨B). Da questo e ∼B∨C per la regola
del taglio, (C∨∼(A∨B))∨C. Applicando il lemma 1, C∨C∨∼(A∨B); così ∼(A∨B)∨C per (A).
Questo completa la dimostrazione del teorema della tautologia.

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
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)=
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
tautologia (o conseguenza tautologica di A1 ∨...∨ An).
Osservazione. Supponiamo di aver associato ad ogni formula A una formula A* in modo tale
che (∼A)* sia ∼A* e (A∨B)* sia A*∨B*. Se B è conseguenza tautologica di A1 ∨...∨ An, allora B* è
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)= ∨
allora
V'(A1)=...=V(An)= ∨;
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 sseB.
2) Se A →B e B →C, allora A →C
3) Se A ↔B e B ↔C, allora A↔ C
4) Se A ∧B sse A e B
5) Se A ↔B sse A →B e B →A
6) 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],
,...,[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 SeA→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.
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 è
∀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 QxB∨C↔Qx(B∨C). Questo seguirà dal teorema
della tautologia se dimostriamo
QxB→Qx(B∨C). [1]
C→Qx(B∨C). [2]
Qx(B∨C) →QxB∨C [3]
Otteniamo [1] dalla tautologia B→B∨C per la regola di distribuzione. Se Qx è ∃x, otteniamo [2]
dall'assioma di sostituzione B∨C→∃x(B∨C) con il teorema della tautologia. Se Qx è ∀x, otteniamo
[2] dalla tautologia C→B∨C, per la regola di ∀-introduzione. Ora, dall'assioma di sostituzione
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 B∨QxC↔Qx (B∨C) se x non è libera in B. Dal
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
(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 ,...,tn-
0
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=yn-
1→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 )
0 n-1
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 DP(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Γ

Interessi correlati