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 stati tratti questi spunti 1 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 0 ,...,xn gode di una data proprietà P; sarà 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.

La logica del primo ordine

Embed Size (px)

DESCRIPTION

Si tratta di un breve compendio sulla logica del primo ordine

Citation preview

Page 1: La logica del primo ordine

LA LOGICA DEL PRIMO ORDINE

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

A) Linguaggi, strutture, teorie

Presentazione dell'argomento

In termini generali la logica si propone lo studio del ragionamento corretto; parlando di logicamatematica faremo dunque riferimento allo studio delle condizioni che rendono corretto ilragionamento 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 conseguenzecoerenti, 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 unaqualsivoglia proprietà lungo la catena delle deduzioni, ovverosia la definizione per induzione.Supponiamo di voler stabilire che una sequenza di oggetti x

0,...,xn gode di una data proprietà P; sarà

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 seriedi oggetti gode di una determinata proprietà dimostrando che il primo elemento ne gode, e che se negode uno ne gode anche il successivo.

Page 2: La logica del primo ordine

Funzioni e Predicati

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

La logica predicativaUn linguaggio formalizzato conserva essenzialmente l'articolazione dei linguaggi naturali dai qualideriva e consiste in una analoga attività di predicazione, ossia di attribuzione di proprietà o stati adindividui.Se ad esempio volessi esprimere il fatto che "ci sono degli studenti intelligenti", potrei provare ascrivere: 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 unconcetto e la formulazione di un asserto universale, i linguaggi della logica predicativa ricorrono aiquantificatori, 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 variabiliordinarie - che come vedremo variano su individui - variano su espressioni del linguaggio. Vale a direche 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 ognicostante c".

Il linguaggio che andiamo a definire consiste in una serie di enunciati ovvero di espressioni cheasseriscono 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.

Page 3: La logica del primo ordine

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 sutermini 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 = TerminiPredicati definiti su termini = Formule AtomicheFormule 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. Assegnareun'interpretazione ad un linguaggio del primo ordine consiste nell'associare un universo ed unsignificato del tipo appropriato ad ogni simbolo non logico. Scrivendo ciò in dettaglio, giungiamo allaseguente 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, perogni 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' quindiconveniente per ogni significato disporre di una formula che esprima esattamente quel significato. Datoche il significato di A è funzione del significato dei suoi componenti , cominciamo con lo stabilire ladenotazione (il significato) delle variabili.Se a è un termine chiuso:o è un nome - A(a) è l'individuo di cui a è nomeo è f (a1,...,an) con f simbolo di funzione di L - A(a) è fA(A(a1),...,(an)) (Sarebbe come dire chel'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 unsignificato). Definiremo ora un valore di verità A(A) per ogni formula chiusa A in L(A) - Definizioneper 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))

Page 4: La logica del primo ordine

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 lecondizioni di correttezza formale di rapporti tra enunciati costruiti secondo lo schema dellapredicazione e concatenati mediante l'uso di connettivi; agli enunciati così formati spetta un valore diverità 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 interoenunciato; nella logica enunciativa infatti, il valore di verità delle formule composte viene determinatosolo dall'uso dei connettivi, essendo tale valore di verità funzione del valore di verità delle formulecomponenti, 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 dalleseguentifunzioni di verità (da valori di verità a valori di verità):

H¬A = V sse A=FH∧(A,B) = V sse A=V e B=VH∨(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 formalecostituito da:1) Un linguaggio del primo ordine2) Assiomi logici e non logici (cioè riguardanti la teoria specifica)3) Regole di deduzione

Un assioma è un assunto primitivo di carattere generaleUna regola di deduzione è una regola che inferisce conclusioni da ipotesiUn teorema è la conclusione di una regola di deduzioneUna dimostrazione è una sequenza finita di formule ciascuna delle quali o è unassioma, 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:

Page 5: La logica del primo ordine

Assioma proposizionale: ¬A∨AAssioma di sostituzione: Ax[a]→∃xAAssioma di identità: x=x

Assioma di uguaglianza:x1=y1→...→xn=yn→f(x1...xn) =f(y1...yn) ox1=y1→...→xn=yn→f(x1...xn) →f(y1...yn)Regola di espansione: A/B∨ARegola di contrazione: A∨A/ARegola associativa: A∨(B∨C)/(A∨B)Regola del taglio: A∨B, ¬A∨C/B∨CRegola 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 Tsiano 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 TSe il teorema in questione è un assioma, è evidente la verità degli assiomi per qualsiasi valoreattribuiamo agli enunciati che li compongono; se è risultato dell'applicazione di una regola dideduzione, è 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 dimantenere allineati il versante sintattico e quello semantico; in via ipotetica, si sarebbe potutaintrodurre una regola che derivasse da un enunciato il suo contrario, ma ciò non avrebbe avuto alcunagiustificazione 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 teoremiche possono essere dimostrati in T.

Nel prossimo capitolo dimostreremo che se B è conseguenza logica di A1...An se A1...An sonoteoremi, allora B è un teorema. In questo paragrafo dimostreremo un caso particolare di questorisultato. In prima approssimazione, questo è il caso in cui B risulta essere conseguenza di 1A A n,....,

in base soltanto alle regole che permettono di computare il valore di verità di ∼ C e C∨D dai valori diverità di C e D.

Una formula è elementare se è una formula atomica o una esistenzializzazione. Una valutazionedi verità per T è una rappresentazione dall'insieme delle formule elementari di T all'insieme dei valoridi verità.

Page 6: La logica del primo ordine

Sia V una valutazione di verità per T. Definiremo un valore di verità V(A) per ogni formula A diT 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 seB è 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 lunghezzedelle 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)

=VSupponiamo 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 diuna formula elementare. Allora A1 è o una disgiunzione o una negazione; e, nel secondo caso, A1 è ola 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 è unatautologia; e questo può essere fatto per ipotesi d'induzione.

Page 7: La logica del primo ordine

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

V(A1)= V sse V(∼B) = V(∼C)=Vcosì

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

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

∼B∨A2∨...∨ An e ∼C∨A2∨...∨ Ansono 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, allora�B.

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 eche dimostreremo in un secondo momento.

Dapprima supponiamo che ogni Ai sia elementare o sia la negazione di una formulaelementare. 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

Page 8: La logica del primo ordine

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

����1i

A ∨∨∨∨...∨∨∨∨ mi

A

allora����A1 ∨∨∨∨...∨∨∨∨ An

In termini informali diciamo che se una disgiunzione è teorema, lo sarà anche la sovradisgiunzione chela 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 formulaelementare. Per (A),

� A1 ∨...∨ An sse � A1 ∨...∨ An∨A1∨...∨ Ai-1Quindi come nel metodo descritto sopra, possiamo supporre che A1 non sia né elementare né lanegazione 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 (...(

An. Dalle ipotesi di (a) e dalla legge associativa,

(J__(Quindi JJ_ INCORPORA Equation.2 _J)JA per ipotesi d'induzione. Applicando il lemma 1 e la leggeassociativa, 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 dadimostrare è *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;

Page 9: La logica del primo ordine

supponiamo quindi che n�3. Ponendo che B sia A3∨...∨An, il risultato da dimostrare è � A1∨A2∨B.

- Se i�2, allora � A2∨B per ipotesi d'induzione; così � A1∨ A2∨B per la regola di espansione.

- Se i=1 e j�3, 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.

Dimostriamo ora (ββββ). Dato che ∼∼A∨∼A è un assioma proposizionale, abbiamo �∼A∨∼∼A

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 unaformula è 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' diesperienza, 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 diverità: definiamo una nuova valutazione di verità V' ponendo V'(A)=V(A*) per A elementare. E' allorafacile 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 sse�B.

Page 10: La logica del primo ordine

2) Se �A →B e �B →C, allora �A →C

3) Se �A ↔B e �B ↔C, allora �A↔ C4) Se �A ∧B sse �A e �B

5) Se �A ↔B sse �A →B e �B →A6) Se �A →B sse � ∼B→∼ A

Inoltre, il teorema della tautologia può essere usato al posto delle applicazioni degli assiomiproposizionali e delle regole di espansione, di contrazione, associativa e del taglio. Detto in altreparole, 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 è unteorema.

Questo ci dà un metodo di dimostrazione per induzione che chiamiamo pure induzione suiteoremi. Questo metodo ci permette di dimostrare che ogni teorema gode della proprietà Pdimostrando:1) ogni assioma di sostituzione, assioma d'identità, assioma di uguaglianza e assioma non logico ha laproprietà 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 hala proprietà P.

Risultati sui quantificatoriDeriviamo 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 noncompaiono in A o in A'). Usando la prima parte della dimostrazione, possiamo otteneresuccessivamente che

�[y1], ��,...,[y1,...,yn].A partire dall'ultimo di questi risultati e utilizzando ancora la prima parte della dimostrazione,otteniamo successivamente

�,...,[a1,y2...,yn],

Page 11: La logica del primo ordine

�,...,[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 avutoqualche occorrenza in a1).

Teorema di sostituzionea) �,...,[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...∃xnAper i=1,...,n. Da questi per il teorema della tautologia otteniamo �A→∃x1...∃xnA; e da questo per laregola di sostituzione otteniamo (a). In modo analogo, possiamo usare (2) perottenere�∀xi...∀xnA→A e quindi (b) per la regola di sostituzione.

Regola di distribuzione Se�A→B, allora �∃xA→∃xB e �∀xA→∀xBDimostrazione. 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 divalidità. L'altro senso dell'implicazione è dimostrato in modo analogo.

Il teorema di deduzioneSe 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 vogliamodimostrare 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→Bsse B è un teorema di T[A].

Page 12: La logica del primo ordine

Dimostrazione. Se �TA→B, allora A e A→B sono teoremi di T[A]; così B è un teorema diT[A] per Modus ponens. Dimostriamo ora che �TA→B per ogni teorema B di T[A], usandol'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 unteorema di T. Altrimenti B è un assioma di T; così �TB e quindi �TA→B per il teorema dellatautologia.

Supponiamo che B sia conseguenza di C1,...Cn. Allora A→B è conseguenza tautologica diA→C1,..., A→Cn. Per ipotesi d'induzione �TA→ C1,...,�TA→ Cn e quindi �TA→ B per il teoremadella tautologia.

Supponiamo che B sia inferita mediante la regola di ∃-introduzione, cioè che B sia ∃xC→D esia inferita da C→D, dove x non è libera in D. Per ipotesi d'induzione �TA→ C→ D, quindi per ilteorema della tautologia �TC→ A → D. Dato che x non è libera in A o in D, �T∃xC→ A→D per laregola 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 unteorema 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 nonnuovi assiomi non logici). Per ogni formula A di T e ogni sequenza e1,...,en di nuove costanti, �TAsse �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 nelladimostrazione con y1,...,yn. Ciò non tocca agli assiomi non logici (che non contengono alcuna dellenuove costanti). E' facile vedere che ogni altro assioma diviene un assioma dello stesso tipo, e che ogniapplicazione di una regola diviene una nuova applicazione della stessa regola. Ne segue che otteniamouna 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,...,enPer 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 uguaglianzaI 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,...,Bnrispettivamente con B'1,...,B'n. Se

�B1↔ B'1,...,B'n↔ B'n

Page 13: La logica del primo ordine

allora�A↔ A'1Dimostrazione. 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 casoparticolare, nessuna occorrenza viene rimpiazzata e A' è A. Allora �A↔ A' per il teorema dellatautologia.

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 delteorema. 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 casoparticolare, allora A' è ∃xC', dove �C↔ C' per ipotesi d'induzione. Allora �C→ C' e �C'→ C per ilteorema della tautologia. Per la regola di distribuzione, �A→ A' e �A→ A' per il teorema dellatautologia.

Abbiamo già osservato che una formula non muta il suo significato se una variabile vincolataviene sostituita con un'altra variabile. Dimostriamo ora, applicando il teorema di equivalenza, unaversione sintattica di questa osservazione.

Diciamo che A' è una variante di A se A' può essere ottenuta da A mediante una sequenza dirimpiazzamenti del tipo seguente: rimpiazziamo una parte ∃xB con ∃yBx[y], dove Y è una variabileche 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 ilteorema di sostituzione �B'→∃xB e quindi per la regola di ∃-introduzione

�∃yB'→∃xBUtilizzando il fatto che y non è libera in B, vediamo che B'y[x] è B. Quindi, per il teorema disostituzione, �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 disostituzione, �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 chenon segua immediatamente il simbolo di quantificatore con a'1,...,a'n rispettivamente, e sia A' ottenutada 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

Page 14: La logica del primo ordine

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 assiomid'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 atomicapc1...ck, allora A' è pc'1...c'k, dove �ci= c'i per i=1,...,k per la prima parte della dimostrazione. Per ilteorema 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 dimostrazionedel 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 divienec1= 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 edimostrare 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 delteorema 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 dellatautologia 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 prenesseDimostreremo 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. ChiamiamoQx1...Qxn il prefisso e B la matrice di A. Si ammette che il prefisso sia vuoto e quindi una formulaaperta è in forma prenessa.

La nostra definizione di forma prenessa coinvolge il simbolo definitivo ∀.Introduciamo ora alcune operazioni, dette operazioni prenesse; sono operazioni che possono essereeseguite su una formula A contenente, eventualmente, il simbolo definitivo ∀; il risultatodell'operazione è un'altra formula del genere. Le operazioni prenesse sono:

a) Rimpiazzare A con una variante.

Page 15: La logica del primo ordine

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 teoremadi equivalenza, dimostrare che �∼QxB↔Q'x∼B. Così dobbiamo dimostrare che

∼∃xB↔∀x∼B e ∼∀xB↔∃x∼Bsono teoremi. Se eliminiamo ∀, questi divengono

∼∃xB↔∼∃x∼∼B e ∼∼∃x∼B↔∃x∼Bentrambi 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 teoremadella 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∨Cper 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 dalteorema della tautologia.

Dimostriamo ora che ogni formula può essere trasformata in una formula in forma prenessamediante applicazioni delle operazioni prenesse. La dimostrazione è per induzione sulla lunghezza diA. Se A è atomica, allora è già in forma prenessa. Supponiamo che A sia∼B: per ipotesi d'induzionepossiamo trasformare B in una formula B' in forma prenessa, per mezzo di operazioni prenesse. Lestesse operazioni trasformano A in ∼B'. Ma evidentemente ∼B' può essere trasformata in una formula informa prenessa mediante applicazioni successive all'operazione (b).

Supponiamo ora che A sia B∨C. Per ipotesi d'induzione possiamo trasformare B e C in formuleB' e C' in forma prenessa. Per l'operazione (a) possiamo inoltre supporre che le variabili del prefisso diB' 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

Page 16: La logica del primo ordine

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 prenessae che, se A' è una forma prenessa di A, allora �A↔A'. E' opportuno osservare che le operazioniprenesse sono indipendenti dalla teoria in cui stiamo operando.

Il nostro metodo per ottenere una forma prenessa di A ci richiede di eliminare i simboli definitividiversi da ∀. Possiamo fare a meno di eliminare → e Λ introducendo anche le seguenti operazioniprenesse:

e) Rimpiazzare una parte QxB→C di A con Q'x(B→C), dove Q'x è come in (b) purché x non sialibera 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'eliminazionedel simbolo definitivo, diviene una successione di operazioni (b), (c) e (d). Per esempio, supponiamo diusare (e) per trasformare ∃xB→C in ∀x(B→C). Dopo l'eliminazione di → vediamo che abbiamotrasformato ∼∃xBνC in ∀x(∼BνC). Questo può essere fatto applicando prima (b) e quindi (c). Nonpossiamo ottenere regole del genere per ↔: se eliminiamo ↔ e applichiamo (a) a causa di (h) vediamoche 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 ciatterremo alla dimostrazione dell'asserto equivalente proposta da Henkin - "Se una formula è valida èanche dimostrabile".

Page 17: La logica del primo ordine

Come prima cosa, dobbiamo quindi ridurre la prima formulazione alla seconda, cioè dimostriamo laseconda 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 supponiamodimostrata, T[¬ A] avrà un modello, ma ciò è palesemente in contrasto col fatto che anche T[A] ha unmodello (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 canonicheIn questo paragrafo Γ sarà sempre un insieme coerente di enunciati in un linguaggio L che contengatermini chiusi (ciò equivale a supporre che L contenga almeno un simbolo costante). Possiamoassociare a Γ una struttura A, detta struttura canonica, il cui dominio è costituito da classi diequivalenza di termini chiusi di L e dimostrare che gli enunciati atomici veri in A sono esattamente glienunciati atomici derivabili da Γ. Ciò che ci preme ora sottolineare è l'universalità della costruzionedella struttura canonica, il fatto cioè che sia disponibile per ogni insieme coerente di formule, e il ruoloche gioca il linguaggio in questa costruzione, fornendo gli elementi del dominio. La struttura checostruiremo non sarà immediatamente un modello di Γ, a meno che quest'ultimo consti solo dienunciati atomici, ma si vedrà in seguito che proprio nell'ambito delle strutture canoniche saremo ingrado 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 Eponendo

E (t0,t1) sse Γ� t0=t1Dimostriamo che E è una relazione di equivalenza. Vale E(t,t), perché dall'assioma x=x di Eq si ricavat=t per il teorema di sostituzione. Vale E(t,s) implica E(s,t), perché dall'assioma x=y→y=x di Eq siricava Γ� t=s→s=t. Quindi, se Γ� t=s allora Γ� s=t. Vale inoltre E(t,s) e E(s,q) implica E(t,q). Infattil'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 adire

A = t: t ε Ddove t= s : E(t,s), s ε D. L'insieme A costituirà il dominio della struttura canonica. Definiamo ora lastruttura canonica A stabilendo la seguente interpretazione di L: per ogni simbolo costante c, ognisimbolo di funzione n-ario F, ogni simbolo di relazione n-ario P,

1. cA

= c2. FA= (t

0,...,tn-1)=F(t0,...,tn-1)

Page 18: La logica del primo ordine

3. PA

= (t0,...,tn-1)sse�P(t0,...,tn-1).

Occorre verificare che la definizione di FA

è corretta, ossia che non dipende dai rappresentanti t0,...,tn-

1 delle classi di equivalenza t0,...,tn-1. Dimostriamo che se scegliessimo dei rappresentantidiversi s0,...,sn-1 per le medesime classi, ossia se valesse

ti=si, per i <n

questo non influirebbe sul risultato dell'operazione FA

, perché si avrebbe FA= (t0,...,tn-1)=

FA

(s0,...,sn-1).

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 disostituzione. Quindi vale E(F(t0,...,tn-1),F(s0,...,sn-1)) da cui �F(t0,...,tn-1)�=�F(s0,...,sn-1)�. Per

le medesime ragioni occorre verificare l'indipendenza della definizione di PA

dai rappresentanti delleclassi. Si procede in modo analogo utilizzando l'assiomaxo=yo→...→xn-1=yn-1→(P(xo,...,xn-1)↔P(yo,...,yn-1))

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

F(t0,...,tn-1)A

= FA(tA0,...,t

A

n-1)

= FA

(�t0�,...,�tn-1�)

= �F(t0,...,tn-1)�A questo punto possiamo dimostrare facilmente che gli enunciati atomici veri in A coincidono coiteoremi di Γ.

Teorema Per ogni formula atomica chiusa α di L,Γ�α sse A � α.

Se α è P(t0,...,tn-1), allora Γ�α sse PA

(�t0�,...,�tn-1�)(per come è stata definita A), sse A �

α dato che tA

i=�ti�. Supponiamo che α sia t=s. Allora Γ�α sse E(t,s)sse �t�=�s� sse t

A

= sA

.

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 cuioggetti sono proprio i termini chiusi contenuti in tali formule. E' naturale chiedersi perché, invece di

Page 19: La logica del primo ordine

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= c2. FA(t

0,...,tn-1)=F(t0,...,tn-1)

3. PA

(t0,...,tn-1)sse�P(t0,...,tn-1).

Ora ogni costante denota se stessa e la funzione FD

è semplicemente l'operazione tra espressioni che a

e0,...,en-1 associa Fe0,...,en-1. A questo punto possiamo dimostrare che, per ogni termine chiuso, t

D= t

e per ogni enunciato del tipo P(t0,...,tn-1),

Γ�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

che Γ� t=s, mentre si avrà tD

≠sD poiché t≠s. Solo l'equazione t=t riceve in ogni caso l'interpretazionecorretta. La soluzione adottata consiste nel cambiare la denotazione dei termini, radunando in classi itermini che Γ dimostra essere uguali fra loro. Le classi sono istituite dalla relazione di equivalenza Eintrodotta 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 designatada t o s. Naturalmente, ora che gli oggetti del dominio della struttura canonica sono classi ditermini, occorre estendere le operazioni FD e le relazioni PD definite su D alle operazioni FA e lerelazioni PA definite su A=D/E: in questo modo la struttura canonica A si configura come la strutturaquoziente D/E. Questo passaggio richiede che E sia non solo una relazione di equivalenza, ma ancheuna 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 delleclassi.

Torniamo ora al problema della costruzione di un modello in corrispondenza di ogni insiemecoerente di enunciati. La struttura canonica A associata a Γ non è adatta allo scopo poiché non è ingrado, in genere, di rendere veri gli enunciati contenenti connettivi e quantificatori. Per quanto riguardai connettivi, supponiamo che Γ�P(s)∨Q(t). Può accadere, tuttavia, che Γ¬�P(s) e Γ ¬�Q(t), il checomporta 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

i P(vi) e che tuttavia non si verifichi Γ�P(t) per alcun termine chiuso in t. In tal caso ∃vi P(vi)

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�, perqualche t, quindi, A � P(t), contro l'ipotesi.Intuitivamente ciò può essere spiegato notando che se dimostro una proprietà non necessariamente

Page 20: La logica del primo ordine

esiste nella struttura di riferimento un individuo che gode di quella proprietà; il problema che qui sipone è dunque quello della determinazione degli individui, che si risolve producendo un esempio perogni 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 laproprietà <<essere di Henkin>> è formulata rispetto agli enunciati ∃xα appartenenti a L e non rispettoa quelli dimostrabili in Γ. Ne segue che se Γ e Γ' sono due insiemi di enunciati L tali che Γ⊆Γ' e Γ è diHenkin, allora anche Γ' è di Henkin. Ciò non varrebbe se si formulasse <<essere di Henkin>> rispettoalla 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 solonecessarie, 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, dacui 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 β→γ. AlloraA�β→γ 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 Γ�γ, alloralo 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

iβ [s] sse A�β [s(i/t)]

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 ognitermine chiuso t.

Page 21: La logica del primo ordine

Lemma di LindembaumEstensione 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 unasuccessione transfinita numerabile di teorie Γn, ed assumendo Γ0 come teoria di partenza, controllo adogni 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 comeulteriore 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 lacoerenza:a) Si dimostra che se ciascuna delle Γi è coerente, allora anche Γ' sarà coerente. Supponiamo infatti chenon 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 HenkinEstensione di Γ ad un insieme coerente e di HenkinCi 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, eaggiungiamo contestualmente detto assioma per ognuna di esse. La teoria così ottenuta non è ancoraricca, perchè gli assiomi introdotti contengono a loro volta delle esistenzializzazioni in corrispondenzadelle quali non ho ancora provveduto ad alcun "arricchimento"; vado allora a considerare la riunioneinfinitaria di tutte le Γi

Dato un linguaggio del primo ordine L, definiamo la successioneLii∈ω di linguaggi come segue. Per ogni i, indicheremo con Ei l'insieme degli enunciati esistenziali diLi, ossia quelli di tipo ∃xα. Poniamo Lo =L. Supponendo di averlo definito Li, introduciamo uninsieme 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α

Page 22: La logica del primo ordine

è 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 passidistinti 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 enunciatiesistenziali 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-1tranne nel caso di Σi dove si richiede ∃xα ∈ Eo. Allora anche i vari Σi formano una catena e quindiponiamo Σω=∪Σii∈ω. Per ogni insieme Γ di enunciati di L, definiamo l'insieme ΓH = Γ∪Σω. Si notiche Σω 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 successionefinita 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+1In entrambi i casi, quindi, abbiamo

ΓH �∃xα→α( x/c∃xα)

Teorema ΓH è coerenteDimostriamo 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�α∧�α control'ipotesi.

Per dimostrare che ogni Γ∪Σi è coerente, basta osservare che Γ∪Σ0= Γ è coerente per ipotesi edimostrare 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 ealcuni passaggi di logica proposizionale otteniamo

Page 23: La logica del primo ordine

Γ∪Σ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 ladimostrazione 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 è ancoraquello di ΓH. Ora consideriamo la struttura canonica A' relativa all'insieme ΓHC, per il teorema 5.14.4A'�ΓHC. Riduciamo A', che è una struttura per Lω, a una struttura per L togliendo semplicemente leinterpretazioni di tutte le costanti c∃α introdotte in Lω e otteniamo una struttura A'� L�Γ