Logica ad Informatica

Andrea Asperti e Agata Ciabattoni
2 dicembre 2008
Indice
1 Logica proposizionale 1
1.1 Senso e denotazione . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Connettivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Sintassi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Induzione . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.4 Semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.4.1 Decidibilit`a della logica proposizionale . . . . . . . . . . 13
1.4.2 Teorema di compattezza . . . . . . . . . . . . . . . . . . . 16
1.4.3 Nota sul connettivo di implicazione . . . . . . . . . . . . 17
1.4.4 Equivalenza semantica . . . . . . . . . . . . . . . . . . . . 19
1.4.5 Completezza funzionale . . . . . . . . . . . . . . . . . . . 21
1.4.6 Forme Normali . . . . . . . . . . . . . . . . . . . . . . . . 24
1.4.7 Dualit`a . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.5 Cenni storici e bibliografici . . . . . . . . . . . . . . . . . . . . . 28
2 Sistemi Deduttivi 35
2.1 Propriet`a intuitive dei sistemi deduttivi . . . . . . . . . . . . . . 36
2.2 La Deduzione Naturale . . . . . . . . . . . . . . . . . . . . . . . . 40
2.3 Sistemi Assiomatici . . . . . . . . . . . . . . . . . . . . . . . . . . 44
2.3.1 Formule e tipi . . . . . . . . . . . . . . . . . . . . . . . . 47
2.3.2 Altri Sistemi Assiomatici . . . . . . . . . . . . . . . . . . 51
2.4 Relazione tra ND e H . . . . . . . . . . . . . . . . . . . . . . . . 52
2.5 IL Calcolo dei Sequenti . . . . . . . . . . . . . . . . . . . . . . . 53
2.5.1 Eliminazione del taglio . . . . . . . . . . . . . . . . . . . 60
2.5.2 Sulle regole strutturali . . . . . . . . . . . . . . . . . . . 62
2.5.3 Invertibilit`a delle regole logiche . . . . . . . . . . . . . . . 65
2.6 Cenni storici e bibliografici . . . . . . . . . . . . . . . . . . . . . 69
3 Correttezza e Completezza 73
3.1 Deduzione Naturale . . . . . . . . . . . . . . . . . . . . . . . . . 74
3.2 Sistema Assiomatico . . . . . . . . . . . . . . . . . . . . . . . . . 79
3.3 Calcolo dei Sequenti . . . . . . . . . . . . . . . . . . . . . . . . . 84
3.4 Cenni storici e bibliografici . . . . . . . . . . . . . . . . . . . . . 87
v
vi INDICE
4 Logica dei predicati 89
4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
4.2 Sintassi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
4.2.1 Sottoformule . . . . . . . . . . . . . . . . . . . . . . . . . 93
4.2.2 Induzione . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
4.2.3 Variabili libere e legate . . . . . . . . . . . . . . . . . . . 94
4.2.4 Sostituzione . . . . . . . . . . . . . . . . . . . . . . . . . . 97
4.3 Semantica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
4.3.1 Soddisfacibilit`a, validit`a e modelli . . . . . . . . . . . . . 103
4.3.2 Propriet`a della relazione di soddisfacibilit`a . . . . . . . . 105
4.3.3 Equivalenza semantica . . . . . . . . . . . . . . . . . . . . 107
4.3.4 Forma Normale Prenessa . . . . . . . . . . . . . . . . . . 111
4.3.5 Forma di Skolem . . . . . . . . . . . . . . . . . . . . . . . 112
4.3.6 Esempi di linguaggi del primo ordine . . . . . . . . . . . . 114
5 Il Calcolo del Primo ordine 125
5.1 La Deduzione Naturale . . . . . . . . . . . . . . . . . . . . . . . . 127
5.1.1 Correttezza e Completezza . . . . . . . . . . . . . . . . 130
5.2 Sistemi Assiomatici . . . . . . . . . . . . . . . . . . . . . . . . . . 137
5.3 IL Calcolo dei Sequenti . . . . . . . . . . . . . . . . . . . . . . . 139
5.3.1 Invertibilit`a . . . . . . . . . . . . . . . . . . . . . . . . . . 140
5.3.2 Un algoritmo di ricerca automatica . . . . . . . . . . . . . 141
5.3.3 Completezza . . . . . . . . . . . . . . . . . . . . . . . . . 145
5.3.4 Discussione dell’algoritmo . . . . . . . . . . . . . . . . . . 146
5.4 Applicazioni del Teorema di completezza . . . . . . . . . . . . . . 148
5.4.1 Il problema della decisione . . . . . . . . . . . . . . . . . . 148
5.4.2 Compattezza . . . . . . . . . . . . . . . . . . . . . . . . 150
5.4.3 Modelli finiti ed infiniti . . . . . . . . . . . . . . . . . . 153
5.4.4 Categoricit`a . . . . . . . . . . . . . . . . . . . . . . . . . 155
5.4.5 Modelli non standard dell’aritmetica . . . . . . . . . . . 157
5.5 I Teoremi di Incompletezza di G¨odel . . . . . . . . . . . . . . . 158
5.5.1 Primo Teorema di Incompletezza . . . . . . . . . . . . . . 162
5.5.2 Secondo Teorema di Incompletezza . . . . . . . . . . . . . 163
5.5.3 Teoremi di Tarski e Church . . . . . . . . . . . . . . . . . 164
5.6 Cenni storici e bibliografici . . . . . . . . . . . . . . . . . . . . . 165
6 Metodo di Risoluzione 169
6.1 Teoria di Herbrand . . . . . . . . . . . . . . . . . . . . . . . . . . 169
6.1.1 Teorema di Herbrand . . . . . . . . . . . . . . . . . . . . 173
6.2 Metodo di Risoluzione . . . . . . . . . . . . . . . . . . . . . . . . 177
6.2.1 Risoluzione nella logica proposizionale . . . . . . . . . . . 177
6.2.2 Unificazione . . . . . . . . . . . . . . . . . . . . . . . . . . 183
6.2.3 Risoluzione nella logica del primo ordine . . . . . . . . . . 188
6.2.4 Raffinamenti . . . . . . . . . . . . . . . . . . . . . . . . . 193
6.3 Cenni storici e bibliografici . . . . . . . . . . . . . . . . . . . . . 197
vii
viii
Prefazione
La Razionalit`a e le Macchine
di Giuseppe Longo
L’Informatica `e nata dalla Logica, come Minerva dalla testa di Giove. La
genesi `e stata lunga ed `e avvenuta parallelamente alla nascita della nozione
moderna, formale e “linguistica”, di rigore matematico.
Forse si pu`o iniziare a raccontare la vicenda di questo percorso verso la
Logica (Matematica) moderna, e le sue conseguenze, a partire dalla riflessio-
ne di Cartesio. Descartes non ama la logica aristotelica: la trova insufficiente
al ragionamento e, soprattutto, alla deduzione matematica. Nelle “Regulae ad
Regulationem ingenii”, un vero capolavoro di “rigore cartesiano”, conduce un’a-
nalisi molto profonda della deduzione, cuore della razionalit`a umana. Essa va
ben al di l`a delle poverissime regole di instanziazione, al centro della tradizio-
ne aristotelica (gli uomini sono mortali, Socrate `e un uomo, dunque Socrate `e
mortale): frantuma il ragionamento nei suoi elementi cruciali, lo dispiega nel
suo procedere passo dopo passo da “verit`a evidenti”, intuizioni dello spazio e
del mondo. Malgrado la netta distinzione fra anima e i meccanismi del corpo
fisico (il dualismo di Descartes), nelle regole per l’ingegno che egli enuncia si
intravedono i passi certi, scanditi meccanicamente, dei meravigliosi orologi dei
suoi tempi o delle macchine a venire.
Leibniz, con le sue intuizioni premonitrici (l’esperto pensi anche alle idee sul
continuo, non-standard diremmo oggi), andr`a oltre. Egli propone di trattare
il ragionamento (matematico) con una “Lingua Caracteristica”, un linguaggio
formale, nella terminologia moderna. Con Leibniz cio`e, insieme alla crescente
esigenza di rigore matematico, inizia ad emergere l’idea che le deduzioni della
Matematica, ma forse di pi` u, il ragionamento umano, possano essere trattati
come sistema di regole linguistiche esplicite, come “calcolo dei segni”. Hobbes
arriver`a a dire
con ragionamento intendo calcolo . . . ogni ragionamento si basa su
queste due operazioni dello spirito, la somma e la sottrazione [Com-
putation sive Logica in De Corpore, 1655].
Non `e stato tuttavia facile arrivare a concepire ed a realizzare formalmente tali
progetti, solo in nuce in Leibniz o in Hobbes: essi presuppongono il trasferimen-
to dell’intera prassi matematica in un linguaggio formale. La Matematica infatti
ix
x
`e ricca di riferimenti allo spazio, colti dall’intuizione di Descartes; la geometria
domina l’interazione ricchissima fra Matematica e Fisica. Il movimento dei corpi
ha luogo nello spazio di Newton: l’analisi infinitesimale, la nozione di continuit`a
attingono la loro certezza nell’intuizione pura dello spazio euclideo, che `e assolu-
to e perfettamente certo, come confermano i filosofi. In effetti, problematiche e
risultati eminentemente geometrici dominano le scuole francesi e tedesche. Fra
fine ’700 ed inizi ’800, Monge, Lagrange, Laplace, Cauchy, Poncelet, ma an-
che Gauss, pensano la Matematica, in particolare l’Analisi Matematica, nello
spazio; interpretano persino il Teorema fondamentale dell’Algebra ed i numeri
complessi, sul piano cartesiano (l’interpretazione di Argand-Gauss).
Sono gli algebristi inglesi dell’inizio dell’ottocento a precisare un’altra visione
della Matematica, riprendendo, loro modo, le idee di Leibniz e di Hobbes. Woo-
dhouse, in un celebre articolo del 1801, propone un netto distacco fra geometria
ed algebra: quest’ultima si basa sulla manipolazione “meccanica” di simboli e
deve trovare nella correttezza logica del ragionamento formale il suo fondamen-
to, non gi`a nel riferimento allo spazio. Dopo di lui, Peacok, Babbage, Boole, fra
il 1820 e il 1850, confermeranno quest’ottica: i calcoli algebrico-deduttivi hanno
una loro autonomia, indipendente dal significato dei simboli manipolati. Ed
ecco, il “Calculus of Deductive Reasoning” e le celeberrime “Laws of Thought”
di Boole, ed infine, e soprattutto, la macchina analitico-deduttiva di Babbage.
Vero calcolatore, ruote dentate che codificano elementi del calcolo differenziale,
“ragionamento algebrico” mosso da macchine a vapore.
Pi` u o meno negli stessi anni, tuttavia, anche sul continente la fiducia nella
geometria viene messa a dura prova. Dopo le intuizioni di Gauss dei primissimi
del secolo, fra il ’35 ed il ’50, Lobacevskij, Bolyai e Riemann dimostreranno che
si pu`o descrivere il mondo o che sono perlomeno compatibili con esso, geometrie
radicalmente diverse, in cui nessuna od infinite rette parallele passano per un
punto del piano esterno ad una retta. Ma allora, dove va a finire la certezza dello
sguardo sul foglio, dell’intuizione pura dello spazio assoluto? La matematica ha
bisogno del linguaggio. Anzi solo nel linguaggio, spiegher`a Frege, pu`o trovare il
suo fondamento. In alcuni libri di grande interesse, innazitutto nell’“Ideografia”
(1879) e nei “Fondamenti dell’Aritmetica” (1884), Frege propone il paradigma
moderno della Logica Matematica. Il calcolo `e deduzione, la deduzione `e calco-
lo: un conto aritmetico `e una dimostrazione, una dimostrazione procede come
un conto. I calcoli sono deduzioni logiche proprio come `e logico-linguistico il
fondamento dell’Aritmetica: l’Aritmetica `e un sistema di segni che coincide con
le sue stesse prove. In effetti, l’ideografia di Frege, o calcolo formale dei segni,
sviluppa una analisi concettuale rigorosissima delle variabili e della quantifica-
zione (“Per ogni . . . Esiste . . . ”) e ne fa un linguaggio formalmente perfetto,
proprio come il lettore lo trover`a descritto nel testo che segue. Il balzo in avanti
rispetto alla logica Booleana, semplice calcolo proposizionale, `e enorme: Frege
formalizza l’uso matematico delle variabili e della loro quantificazione ed indivi-
dua nel sistema logico, che ne regola l’impiego, l’origine ed il fondamento della
stessa Aritmetica, ovvero della Teoria Formale dei Numeri. Ora, cosa vi `e di
pi` u importante del numero e della sua teoria, in Matematica, nonch´e dell’uso
delle variabili? L’analisi di Frege centra gli aspetti della deduzione matematica
xi
che saranno al cuore dell’investigazione logica per tutto il XX secolo.
Sar`a Hilbert tuttavia a render pienamente matematica la proposta di Fre-
ge. Con lui nasce la Metamatematica, ovvero l’analisi matematica della stessa
deduzione matematica, nasce la Teoria della Dimostrazione. Il linguaggio for-
male, l’ideografia di Frege, `e esteso ed arricchito fino a conglobare, grazie ad
opportuni assiomi formali, puramente linguistici, la geometria. E con ci`o, il
linguaggio si distacca definitivamente da quest’ultima, perch`e la certezza `e rag-
giunta solo nella manipolazione di stringhe finite di simboli, indipendente dal
significato assunto da tali simboli su eventuali strutture geometriche. Lo sguar-
do nello spazio, l’intuizione geometrica, che Poincar`e cerca invano di difendere,
e le ambiguit`a semantiche sono all’origine delle incertezze nella deduzione, di
quei mostri orrendi, i paradossi, che tanto avevano inquietato i matematici a
cavallo fra i due secoli. Strumento chiave dell’ analisi di Hilbert `e la distinzione
fra il linguaggio in cui formalizzare la Matematica, oggetto di studio della Teo-
ria della Dimostrazione, e la Metamatematica, descritta in un metalinguaggio
e che include la Teoria della Dimostrazione stessa. Linguaggio oggetto e meta-
linguaggio dunque, da cui distinguere un terzo livello, quello del significato (la
semantica come raccontata nel testo che segue): una semantica eventualmente
geometrica. Ma ora, dopo Leibniz, Boole, Frege (e Peano, non bisogna dimenti-
care), il linguaggio oggetto `e finalmente abbastanza ricco da poter rappresentare
la matematica, con le variabili, la quantificazione ed ogni altro costrutto lingui-
stico di base; ora, si pu`o precisare che cosa si intende per completezza di questa
rappresentazione, per decidibilit`a (potenziale) di ogni asserto della Aritmetica
e dell’Analisi. Bisogna solo rendere rigorosa l’intuizione di Boole e di Frege e
definire formalmente che cosa sia un calcolo logico-deduttivo, di come esso si
correli ai calcoli aritmetici. Proprio a Parigi, nel 1900, regno di Poincar`e, Hilbert
fa la lista dei problemi aperti e delle congetture in Matematica ed in Logica,
che forgeranno, fra l’altro, la Logica Matematica di questo secolo: fra queste, la
completezza, la decidibilit`a, la dimostrabilit`a della coerenza (non contradditto-
riet`a) dell’Aritmetica e dell’Analisi. Puri calcoli di segni finitari devono poter
dare la certezza fondazionale, grazie alla coerenza, asserire la completezza dei
sistemi formali e la decidibilit`a di ogni asserto ben formato della Matematica (o
del suo nucleo logico: l’Aritmetica).
Gli anni trenta danno la risposta. In primo luogo il Teorema di completezza,
nel senso che il lettore trover`a pi` u oltre. Quindi l’osservazione che ogni deduzio-
ne matematica, nei termini hilbertiani, `e una specifica funzione aritmetica, dai
numeri nei numeri.
`
E una “funzione calcolabile”, spiegheranno G¨odel, Chur-
ch, Kleene, Turing ed altri con i loro formalismi. Turing, ispirato forse dalla
distinzione fra metateorie e teorie e fra teoria e semantica, distinguer`a, in una
macchina formale, pura astrazione matematica, fra . . . hardware e software. E,
sorpresa straordinaria, tutti otterranno, con tecniche e strumenti matematici
diversi, esattamente la stessa classe di funzioni; ovvero, i diversi formalismi, di
Herbrand, G¨odel, Church, Kleene, le Macchine di Turing definiscono tutti la
stessa classe di funzioni. Abbiamo un assoluto, dir`a G¨odel nel ’36: la classe
delle deduzioni effettive, tutte equivalentemente rappresentate nei numerosi e
diversi calcoli logici proposti in quegli anni. Nasce la Teoria della Calcolabilit`a,
xii
ben prima dei calcolatori moderni, la teoria dell’unica classe delle deduzioni,
come calcoli, e delle funzioni effettivamente eseguibili in modo meccanico, in
quanto elaborazioni su stringhe finite di segni, guidate da regole finitarie. La
distinzione, poi, fra hardware e software, proposta da Turing per i soli scopi
dell’analisi logica della deduzione, sar`a all’origine del salto qualitativo rappre-
sentato dai calcolatori moderni rispetto alle macchine del secolo precedente.
Lo stesso Turing e VonNeuman disegneranno, infatti, le prime architetture di
calcolo, nell’immediato dopoguerra: non pi` u ingranaggi in cui `e inscritta per
sempre l’operazione da fare, come nei marchingegni meccanici di una volta, ma
materiale inerme (hardware) attivato da linguaggi formali o di programmazio-
ne (software), pi` u o meno umanizzati: regole linguistico-algebriche da eseguire,
cartesianamente, passo dopo passo. Un salto qualitativo, logico, enorme, ri-
spetto alle macchine di Babbage. Per di pi` u, l’idea di Turing della “Macchina
Universale” permetter`a di concepire anche i compilatori, veri intermediari fra la
macchina ed i programmi.
Questa rapidissima e parziale cavalcata attraverso i secoli ha saltato cento
precursori e mille passaggi. Gi`a Pascal, infatti, aveva sottolineato il rigore qua-
si meccanico necessario alla deduzione matematica e realizzato una macchina
per fare le quattro operazioni, ma non aveva cercato un nesso fra aritmetica o
calcolo e logica, tantomeno un nesso con la geometria. Descartes invece rende ri-
gorosa la matematica dello spazio grazie alla algebrizzazione di quest’ultimo: la
geometria pu`o essere in principio ridotta a calcoli algebrici in sistemi di “coordi-
nate cartesiane”. La sua geometria analitica, infatti, trasformando in equazioni
le figure nello spazio, d`a alla loro elaborazione la certezza della manipolazione
algebrica: passo dopo passo, con regole quasi meccaniche, si trasforma un’equa-
zione in un’altra; le trasformazioni e le intersezioni di figure diventano calcoli.
Cos`ı Dedekind e Peano formalizzano l’aritmetica, ma Frege ed Hilbert ne ve-
dono il rilievo logico, la pongono al centro dell’investigazione metamatematica,
rendendo matematico (e rigoroso) lo studio delle prove. E, come si diceva, que-
sta tensione verso il rigore formale raggiunge il massimo della sua astrattezza e
potenza quando distacca definitivamente i simboli dei linguaggi formali, luogo
del rigore, dal loro significato, al punto . . . che questi possano essere manipolati
da macchine. Allora, appunto, nasce l’Informatica, nei fantastici anni ’30 della
Logica. Di nuovo, Power, alla fine dell’800, sapeva usare schede perforate di car-
tone e queste permettevano di arricchire le potenzialit`a incise negli ingranaggi
della sua macchina, ma solo con la Logica e con Turing si arriva a concepire un
linguaggio formale, poi di programmazione, perfettamente espressivo o comple-
to o che permetta di calcolare tutte le funzioni calcolabili. In effetti, i moderni
linguaggi di programmazione imperativi sono l’evoluzione diretta delle idee di
Turing, i linguaggi funzionali di quelle di Church e risultati di Herbrand sono al-
la base dei linguaggi della programmazione logica (e dei “metodi di risoluzione”,
v. cap.6).
Ma che ne `e stato del progetto originario di Leibniz e Frege, almeno cos`ı
come presentato dalle grandi congetture di Hilbert del 1900 (la completezza,
la decidibilit`a, la dimostrabile coerenza dell’Aritmetica)? Grazie agli strumenti
inventati per analizzare la deduzione come calcolo, gli splendidi anni ’30 della
xiii
Logica ci hanno dato due grandi “risultati”: da un lato la nascita dell’ Informa-
tica (le macchine per dedurre, manipolando simboli linguistici), dall’altro hanno
spiegato che il percorso secolare verso la totale formalizzazione linguistica della
matematica si urta ad un limite invalicabile. Tale limite `e anche dovuto, come
cercava di dire Poincar´e, al ruolo dello spazio e della Geometria nella prova:
la riduzione linguistica, che ci ha permesso di concepire le moderne “macchine
per calcoli formali” `e essenzialmente incompleta. I risultati di incompletezza di
G¨odel degli anni ’30 (l’Aritmetica formale `e incompleta, indecidibile e nessun
sistema logico finitario ne pu`o provare la coerenza, come verr`a spiegato nel testo
che segue) assicurano infatti che il progetto globalizzante esplicitato da Hilbert
nel ’900 `e fallito. Nella dimostrazione matematica, quale praticata dagli uomi-
ni, si fa un uso essenziale di argomenti infinitari, dello spazio in quanto tale: i
formalismi finitari ed il linguaggi per la calcolabilit`a non consentono di dedurre
tutti gli asserti che noi sappiamo dimostrare veri sulle specifiche strutture della
matematica, in particolare la coerenza del suo cuore logico-formale, l’Aritmeti-
ca. Dunque, quell’assoluto, la classe delle funzioni calcolabili e delle deduzioni
“effettive”, rimane tale per le macchine, almeno come definite negli anni ’30 e
realizzate in seguito, ma la pratica della matematica usa anche altri strumenti,
perfettamente chiari, basati sullo sguardo nello spazio e la geometria, su alberi
planari infiniti, ad esempio, per dimostrare la coerenza dell’Aritmetica. Non vi
`e nessun miracolo ontologico nella dimostrazione matematica, essa `e solo ricca
di significato, geometrico in primo luogo, essenziale al ragionamento, ed `e inol-
tre basata su una pratica antichissima dello spazio e dell’infinito, inadeguata ad
elaboratori meccanici di stringhe di simboli. Il lettore, incuriosito (ed istruito)
da questo libro, potr`a poi andare a leggersi qualcuna delle prove della coeren-
za dell’Aritmetica, assolutamente rigorose e convincenti, ma non meccanizzabili
(gli alberi infiniti nel Teorema di Kruskal o nella “determinacy for δ
0
trees”).
Potr`a continuare con lo studio di un altro luogo della “rivincita della geometria”
sulla riduzione linguistica: la Logica Lineare di J.Y. Girard. In tale sistema, la
geometria entra nella prova stessa, tramite l’uso di “reti di prova”: la rappre-
sentazione geometrica di deduzioni, con connessioni, percorsi che si incrociano
e che, incrociandosi, danno informazioni essenziali, viene con esse a far parte
della Teoria della Dimostrazione.
Il testo chiaro e completo che segue, porter`a il lettore attraverso i metodi
ed i sistemi deduttivi fondamentali della logica post-fregeana. La decidibilit`a,
la completezza, il gioco fra sintassi e semantica gli diverranno chiari e riuscir`a
a percepire come essi siano stati all’origine dell’elaborazione meccanica e siano
ancora oggi cruciali per capire (e sviluppare!) linguaggi e sistemi di program-
mazione. Potr`a apprezzare il fascino dell’ “argomento diagonale” nel Teorema
di incompletezza di G¨odel. Verr`a portato alle soglie delle tecniche pi` u attuali
studiando la “risoluzione”, ad esempio, strumento importante in dimostrazione
automatica ed in molte altre applicazioni. Il lettore curioso di Logica trover`a
quindi un panorama pi` u che esaustivo degli elementi della Logica Matematica
moderna, in cui le motivazioni informatiche, concentrate soprattutto in esempi
e note, non faranno che arricchire la lettura. Lo studente di Informatica, il
ricercatore, potr`a acquisire le basi logico-matematiche necessarie a capire e svi-
xiv
luppare, poi, i linguaggi di programmazione funzionali, logici ecc. . . . ma anche
ad affrontare i nuovi problemi che l’Informatica pone alla Logica. Difatti, in
questi ultimi anni, la Fisica ha fatto prepotentemente il suo ingresso in scena:
il costo minimo dei chips, la velocit`a d’elaborazione e le enormi reti di comuni-
cazione attuali ci hanno dato strumenti nuovi di calcolo. I sistemi distribuiti,
asincroni, paralleli e concorrenti richiedono invenzione matematica per essere
costruiti, descritti con rigore e gestiti con efficacia. Lo studio dei fondamenti
logici del calcolo e della deduzione formali costituisce il passo preliminare per
chi voglia andare oltre le macchine che Descartes e Leibniz, Boole e Babbage,
G¨odel e Turing hanno saputo darci.
Giuseppe Longo
CNRS e Ecole Normale Sup´erieure,
Paris, 17 Giugno 1997.
Introduzione
Logica a Informatica
Il presente volume `e stato espressamente concepito come testo di supporto di-
dattico per il corso fondamentale di “Logica Matematica” del secondo anno del
Corso di Studi in Informatica. Il titolo stesso del libro, nella sua accezione pi` u
immediata, intende rispecchiare le finalit`a, modeste ma specifiche, del presente
lavoro.
Esiste tuttavia una seconda possibile interpretazione del titolo, pi` u sottile e
assai pi` u ambiziosa, laddove non si intenda la preposizione “a” come una sempli-
ce specificazione di luogo, ma come un complemento di termine o di destinazione:
l’espressione di un punto di arrivo naturale e necessario.
La vicinanza culturale e metodologica tra Logica ed Informatica si `e evi-
denziata notevolmente negli ultimi decenni. L’inserimento stesso di un corso
fondamentale di Logica Matematica nel nuovo ordinamento del corso di Studi
in Informatica non fa che testimoniare la rilevanza recentemente assunta da que-
sta disciplina per lo studio, la progettazione e la verifica di sistemi informatici.
Le applicazioni attuali della Logica sono innumerevoli e completamente trasver-
sali a tutte le aree dell’Informatica. Esse vanno dalla progettazione di circuiti
digitali, alla modellizzazione algebrica di macchine astratte, dalla progettazione
di linguaggi logici e linguaggi di interrogazione, alla verifica della correttezza dei
programmi, dalla implementazione di protocolli di comunicazione, ai problemi
di tipizzazione, polimorfismo ed ereditariet`a nei linguaggi di programmazione.
`
E inoltre prevedibile che l’influenza e le applicazioni della Logica Matematica
nei confronti dell’Informatica vadano ancora accentuandosi nei prossimi anni.
Il numero e la rilevanza di tali applicazioni non `e certo casuale, ma `e una
conseguenza diretta delle profonde affinit`a metodologiche e culturali tra le due
discipline. Come `e stato ampiamente spiegato nella prefazione, un intero settore
dell’Informatica nasce in modo diretto dalla Logica. D’altra parte, la Logica
deve all’Informatica il suo improvviso risveglio a partire dai primi anni settanta.
Per usare una metafora, la Logica potrebbe e dovrebbe assumere, nei con-
fronti dell’Informatica, lo stesso ruolo svolto dalla Matematica, e in particolare
dall’Analisi, nei confronti della Fisica. Se dunque l’Informatica trova o dovreb-
be trovare nella Logica i suoi principali strumenti di indagine e metodologie
xv
xvi
di sviluppo, la Logica trova nell’Informatica le sue stesse motivazioni e nuovi,
continui stimoli alla ricerca.
La profonda relazione che lega la Logica all’Informatica `e tutto sommato
assai meno sorprendente di quanto possa apparire a prima vista, considerando
che entrambe le discipline si occupano, sebbene da punti di vista differenti e
con tradizioni filosofiche distinte, di problemi di formalizzazione, elaborazione
e comunicazione della conoscenza. L’enfasi sulla natura umana o meccanica
dell’agente di calcolo `e in realt`a del tutto marginale: l’ovvio punto di incontro `e
costituito dalla necessit`a, per entrambe le discipline, di utilizzare un linguaggio
formale.
La Logica pone in essere dei sistemi di prova: calcolo dei predicati, aritme-
tica, risoluzione, calcoli logici di ordine superiore, ecc., cio`e insiemi strutturati
di regole elementari che permettono di costruire dei “procedimenti” di calcolo
complessi (e dunque, almeno implicitamente, dei processi); dove, tuttavia, la
effettiva interpretazione processuale, se esiste, deve essere esplicitata.
D’altro canto, l’Informatica si occupa principalmente di meccanismi di cal-
colo: iterazione, ricorsione, assegnamenti, eccezioni, metodi, polimorfismo, ecc.,
cio`e, anche in questo caso, insiemi di regole elementari che permettono la costru-
zione di processi computazionali complessi. Solo che in questo caso `e la logica
del processo che deve essere esplicitata.
Si evince, dunque, facilmente la stretta relazione tra Logica ed Informatica
e pi` u in generale la necessit`a di sviluppare una vera e propria Scienza dell’Infor-
mazione. Tutti sappiamo cosa sia un programma, visto come mera composizione
sintattica delle sue istruzioni elementari. Tuttavia, la logica del processo com-
plessivo, il suo significato, e dunque il suo comportamento ci `e ancora largamente
sconosciuto.
Logica Matematica
Nella sua accezione filosofica, estremamente ambiziosa e anche piuttosto obso-
leta, la Logica `e lo studio dei meccanismi tipici del ragionamento, cio`e della
capacit`a di trarre conseguenze da un certo insieme di premesse. Fin dall’anti-
chit`a si `e osservato che determinati schemi di ragionamento sono in una certa
misura indipendenti dal senso che si attribuisce alle singole parti del discorso.
Consideriamo il celebre sillogismo “Ogni uomo `e mortale, Socrate `e un uomo,
dunque Socrate `e mortale”. La correttezza di questa inferenza logica non di-
pende n´e dal significato della propriet`a di essere mortale, n´e dal particolare
individuo in oggetto (in questo caso, Socrate). In generale, se una propriet`a P `e
soddisfatta da tutti gli elementi di un determinato insieme, allora, preso un qua-
lunque elemento a di quell’insieme, la propriet`a P `e necessariamente soddisfatta
da a.
La necessit`a di astrarre dal contenuto informativo (il senso) delle sentenze,
considerando solo la loro forma o struttura, porta inevitabilmente ad utilizzare
un linguaggio di natura algebrica e formale per descrivere sia le sentenze che
sono oggetto della logica, che le sue regole di inferenza. In questo senso pi` u
xvii
ristretto deve essere intesa la Logica Matematica o Logica Simbolica, oggetto del
presente volume.
Molto pi` u semplicemente, potremmo osservare che ogni scienza formale ha
bisogno di utilizzare un linguaggio per poter rappresentare e dunque comunicare
informazioni e soprattutto risultati (cio`e, elaborazioni delle informazioni). Tale
linguaggio deve avere una natura precisa e formale, in modo da poter essere in-
terpretato senza ambiguit`a dalle persone con cui si vuole comunicare. La Logica
intende studiare i principi fondazionali su cui basare tale rappresentazione. Si
noti, per inciso, la profonda analogia con le problematiche tipiche dell’Informa-
tica, dove l’elaborazione dell’informazione `e codificata in linguaggi di program-
mazione atti ad essere compresi da un agente finale, la macchina, del tutto privo
di capacit`a intellettive autonome (e a maggior ragione interpretative).
Date queste premesse, `e facile capire che non esiste un “linguaggio logico”
universale. Ambiti differenti richiedono spesso formalismi logici particolari per
poter rappresentare in modo conveniente problematiche specifiche. Questa `e la
ragione per la miriade di “logiche” proposte in letteratura: classica, intuizioni-
sta, affine, lineare, modale, temporale, multi-valore, fuzzy, non-monotona, ecc.,
per citare solo alcune delle pi` u celebri.
In questo libro tratteremo unicamente di logica classica, la madre di tutte le
logiche, e faremo solo alcuni brevi accenni alle problematiche tipiche del costrut-
tivi-smo e della logica intuizionista.
La logica classica stessa si divide, poi, tradizionalmente in vari livelli di
espressivit`a crescente: logica proposizionale, logica dei predicati (o logica del
primo ordine), logiche di ordine superiore. Solo i primi due di questi livelli
saranno affrontati nel testo.
La logica proposizionale `e essenzialmente rivolta allo studio dei connettivi
logici, cio`e di quelle particelle (e, o, se . . . allora . . . ) che permettono la costru-
zione di proposizioni complesse a partire da proposizioni elementari o atomiche.
Le proposizioni hanno dunque una loro sintassi (cio`e la loro struttura logica
in quanto combinazione, mediante connettivi, di proposizioni atomiche), e una
semantica (classica e tarskiana) che `e la loro denotazione: esse possono essere
vere oppure false. I connettivi logici hanno una ovvia interpretazione intesa:
ad esempio A e B `e vera se e solo se A `e vera e B `e vera
1
. E, tuttavia, anche
questa semantica “intesa” e assolutamente priva di ambizioni porta alle prime
fondamentali nozioni della Logica (validit`a, soddisfacibilit`a, conseguenza, equi-
valenza) e ai primi interessanti corollari di queste (leggi di De Morgan, forme
normali congiuntive e disgiuntive, completezza funzionale, dualit`a).
In particolare, una formula `e valida (diremo anche che `e una tautologia) se
`e vera indipendentemente dai valori di verit`a dei suoi componenti (ad esempio,
A o A `e vera indipendentemente dal fatto di sapere se A sia vera o falsa).
Tuttavia, se una formula `e valida, ci si aspetta anche di poterla dimostra-
re, cio`e di poterla inferire a partire da un semplice insieme di verit`a e regole
logiche di “indubbia evidenza”. Questo porta a considerare i sistemi deduttivi:
veri e propri calcoli logici per formalizzare la nozione intuitiva di ragionamen-
1
Semantica che verr`a formalizzata utilizzando tabelle di verit` a.
xviii
to. In particolare, in questo libro, verranno introdotti tre di questi sistemi: la
Deduzione Naturale, i Sistemi Assiomatici ed il Calcolo dei Sequenti. Un siste-
ma deduttivo `e corretto se ogni formula logica dimostrabile `e una tautologia; `e
completo se permette di dimostrare tutte le tautologie.
L’enfasi dei primi tre capitoli del libro `e dunque interamente sulla natura dei
linguaggi formali nei loro tre aspetti fondamentali (sintassi, calcolo e semantica),
nonch`e sulle relazioni tra questi, fornita dai teoremi di correttezza e completezza.
Dopo aver discusso la distinzione e le relazioni tra sintassi, calcolo e semanti-
ca a livello proposizionale, lo studente non dovrebbe incontrare grosse difficolt`a
(quantomeno concettuali, se non tecniche) ad affrontare le stesse problematiche
per la logica dei predicati.
La logica dei predicati (o logica del primo ordine) arricchisce il linguaggio
proposizionale introducendo le nozioni di termine, relazione e quantificazione.
Consideriamo la semplice sentenza
(1) 3 `e un numero pari oppure 3 `e un numero dispari
Ci`o che si osserva a livello proposizionale sono due sentenze assolutamente distin-
te, unite da un connettivo di disgiunzione. Il fatto che le due sentenze trattino
di uno stesso oggetto (in questo caso il numero intero 3) affermando che esso
gode o della propriet`a di essere pari o di essere dispari `e del tutto trasparente
all’analisi proposizionale.
`
E necessario dunque arricchire il linguaggio logico con una sintassi che permetta
di esprimere termini (gli oggetti del dominio inteso del discorso), e relazioni (o,
nel caso unario, predicati) su questi termini. Ad esempio, se indichiamo con
P(x) la propriet`a “x `e pari” e con D(x) la propriet`a “x `e dispari” potremo
formalizzare l’asserzione precedente nella formula
(2) P(3) o D(3)
Tuttavia, vogliamo anche essere in grado di poter esprimere forme di quantifica-
zione esistenziale (esiste un termine che gode di una certa propriet`a) e universale
(ogni termine gode di una certa propriet`a). Per esempio, vorremo poter dire che
(3) Ogni numero intero `e pari oppure dispari
Per poter parlare di termini “generici” abbiamo bisogno della nozione algebrica
di variabile. Queste variabili possono essere quantificate esistenzialmente (si
user`a il simbolo ∃) o universalmente (∀). Nella notazione utilizzata per (2),
potremo allora formalizzare la sentenza (3) nel modo seguente:
(4) ∀x(P(x) o D(x))
La stratificazione tra termini e relazioni, la nozione di variabile, i complessi
problemi inerenti ai quantificatori, ai loro legami ed al campo d’azione di questi
sono al centro di tutta la trattazione della logica del primo ordine. Si cercher`a
quindi di superare la comprensibile perplessit`a degli studenti di fronte alla piatta
semantica tarskiana (∀xA(x) `e vero se per ogni elemento a del dominio inteso
xix
del discorso A(a) `e vero), sia presentando alcuni dei principali e notevolissimi
risultati della teoria dei modelli, sia spiegando l’uso della semantica in alcune
delle sue applicazioni pi` u rilevanti: verifiche di consistenza di teorie logiche
o dimostrazioni di non-validit`a di formule logiche attraverso la definizione di
controesempi.
Il passo successivo, che conduce alle logiche di ordine superiore, consiste,
ovviamente, nel permettere di quantificare non solo su termini, ma anche su
relazioni. Si pensi, ad esempio, al principio di induzione numerica, che afferma
che per ogni predicato P(x), se vale P(0) e se, per ogni n, P(n) implica P(n+1),
allora P vale per tutti i numeri interi
2
. Tuttavia la trattazione assai delicata di
queste logiche esula completamente dagli intenti del presente volume.
Nel capitolo conclusivo vengono affrontati in dettaglio i notevoli risultati
semantici di Herbrand (ricordiamo il ruolo essenziale svolto dal “modello dei
termini” in tutta la trattazione algebrica dei linguaggi di programmazione) ed il
metodo di risoluzione di Robinson che `e alla base della programmazione logica
e di svariati algoritmi per la dimostrazione automatica o semi-automatica di
teoremi.
Note per il Docente
Il presente volume nasce direttamente da un insieme di note didattiche pre-
parate per l’esame di “Logica Matematica” del Corso di Studi in Informatica.
Data la natura semestrale del corso ed essendo previsto al secondo anno di stu-
di dell’ordinamento di Informatica, si `e volutamente cercato di mantenere un
carattere agile e snello al testo, pur toccando tutti gli argomenti di maggior rile-
vanza per un’introduzione all’argomento. Nonostante la trattazione della Logica
Matematica fatta nel presente volume sia mirata al discorso informatico, le sue
innumerevoli applicazioni attuali sono solo accennate brevemente ed in modo
del tutto discorsivo. Il compito prioritario del Corso di Logica Matematica non
`e quello di studiare questa o quella particolare applicazione, ma piuttosto quello
di fornire le basi minimali, sia teoriche che tecniche, indispensabili alla com-
prensione della materia. In questo senso il testo risponde in modo positivo alle
esigenze professionali della moderna figura del laureato in Informatica, contra-
stando e non subendo una certa primitiva avversione degli studenti rispetto alla
matematica “tradizionale”. L’affermazione della vocazione professionale dell’in-
formatico, perseguita dal nuovo Ordinamento degli Studi, trova in questo caso
un immediato riscontro nella trattazione tecnica, formale e dunque operativa
degli argomenti.
Nonostante gli sforzi di coincisione e la sofferta omissione di interi argomenti
(pensiamo in particolare a tutta la trattazione delle strutture di semantica alge-
brica, o alla tecniche di prova basate su tableaux), il presente volume contiene
ancora una quantit`a di nozioni eccessiva rispetto a quelle che possono essere
effettivamente trattate nell’ambito di un corso semestrale. Questo `e dovuto sia
2
Come vedremo, questo caso particolare di quantificazione pu` o essere trattato in modo
implicito attraverso la nozione di schema.
xx
a ragioni di completezza espositiva, sia per consentire al Docente di persona-
lizzare il corso seguendo un percorso didattico individuale. Esistono, a nostro
modo di vedere, almeno due possibilit`a, di pari interesse e coerenza concettuale,
che essenzialmente differiscono tra loro sulla scelta del sistema deduttivo che si
intende privilegiare: Deduzione Naturale o Calcolo dei Sequenti
3
. Tale scelta si
ripercuote, ovviamente, sui relativi teoremi di completezza. In particolare, se
a livello proposizionale si possono ancora discutere a lezione pi` u dimostrazioni
differenti, per ragioni di tempo questo non `e pi` u possibile al primo ordine. Se la
preferenza del Docente ricade sulla Deduzione Naturale, `e possibile, dopo avere
dimostrato la completezza con il metodo di Henkin, entrare in qualche dettaglio
dei principali risultati di Teoria dei Modelli. Viceversa, se la preferenza ricade
sul Calcolo dei Sequenti, vale la pena di enfatizzare la parte di ricerca auto-
matica (a scapito della Teoria dei Modelli, i cui risultati potranno solo essere
menzionati).
Il libro non richiede particolari prerequisiti. Ricordiamo tuttavia che il Corso
`e previsto per il Secondo Anno dell’ordinamento del Piano di Studi di Informa-
tica. Dunque, si suppone che lo Studente abbia gi`a seguito corsi quali Analisi
Matematica I e Matematica Discreta, acquisendo una buona padronanza del
linguaggio matematico e dei suoi metodi formali.
Per facilitare la lettura del testo e la scelta degli argomenti, le sezioni “avan-
zate” sono state contrassegnate con un asterisco. Queste possono essere omesse
ad una prima lettura senza compromettere la coerenza del testo.
Lo stile del libro `e volutamente molto scarno, soprattutto nelle sue parti
espositive. Come ogni testo universitario, il libro deve essere inteso come stru-
mento di riferimento e consultazione: non pu`o (e non deve) sostituirsi al corso,
dove il Docente avr`a cura di introdurre e discutere gli argomenti secondo la
propria visione personale.
Viceversa, si `e dedicata una certa cura alla parte di trattazione storica,
concludendo la maggior parte dei capitoli con dei cenni sullo sviluppo del pen-
siero logico moderno. Analogamente, si `e tentato di arricchire il pi` u possibile
il testo con puntatori e riferimenti ad argomenti che, per la loro rilevanza sia
logica che informatica, potrebbero suscitare la curiosit`a dello studente, bench`e
esulino inevitabilmente dal programma del corso. Per ovvie ragioni, la termi-
nologia utilizzata in questi casi `e del tutto informale. Speriamo dunque che il
lettore non si formalizzi se, ad esempio, accenneremo in una nota ai termini del
lambda-calcolo senza avere ancora discusso la nozione generale di “termine”. Il
peccato ci appare del tutto veniale se confrontato, ad esempio, al fatto (ahim`e,
assai pi` u rilevante e sorprendentemente passato sotto silenzio in ogni libro di
Logica, quasi per una tacita convenzione) che in tutta la trattazione della logica
proposizionale si usa implicitamente un (meta)linguaggio del primo ordine!
Come ogni disciplina di natura fondazionale, la Logica `e, soprattutto nei suoi
aspetti semantici, inevitabilmente mal fondata. Riteniamo dunque superfluo (e
anche filosoficamente datato) cominciare il corso con delle lunghe disquisizioni
3
I sistemi assiomatici sono ugualmente trattati nel volume. Bench`e per ragioni sia stori-
che che concettuali sia opportuno presentarli allo studente, se ne sconsiglia l’adozione come
formalismo di riferimento, data la loro complessit` a pratica.
xxi
filosofiche sul significato delle nozioni di “nome”, “termine”, “variabile”, “fun-
zione” ecc., lasciando che esse si spieghino da sole nell’unico modo possibile,
ovvero, dall’uso linguistico che se ne fa in un determinato contesto.
Ringraziamenti
Ringraziamo innanzi tutto il Prof. Giuseppe Longo sia per aver cortesemente
accettato di scrivere la prefazione al libro, sia per i suoi innumerevoli consigli
sulla stesura del testo. Andrea Masini e Marco Benini sono stati attenti e punti-
gliosi lettori delle versioni preliminari. Le loro correzioni ed i loro suggerimenti
sono stati per noi di grandissimo aiuto. Molti altri amici e colleghi ci hanno
aiutato a migliorare ulteriormente il testo con le loro critiche e le loro osser-
vazioni. Ringraziamo in modo particolare Simone Martini, Daniele Mundici,
Alessandro Berarducci, Giuseppe Rosolini, Maria I. Sessa, Stefano Aguzzoli e
Mauro Ferrari.
Capitolo 1
Logica proposizionale
1.1 Senso e denotazione
L’unit`a di espressione del linguaggio naturale
1
`e la sentenza, cio`e un aggrega-
to di parole di senso compiuto che racchiude un pensiero completo. Quando
il significato della sentenza `e quello di una asserzione, la sentenza `e detta di-
chiarativa. Nel seguito, useremo il termine sentenza intendendo una sentenza
dichiarativa. Esempi di sentenze dichiarative sono le frasi
quattro `e un numero pari
oggi piove
la radice quadrata di due `e un numero razionale
Dal punto di vista logico, seguendo una linea di pensiero che risale a Frege,
le sentenze sono considerate come dei nomi in senso astratto. Un nome `e una
qualunque espressione linguistica che determina o denota in modo univoco una
qualche entit`a. Ad esempio, le espressioni
quattro
il quadrato di due
il predecessore di cinque
tre pi` u uno
sono modi differenti per indicare lo stesso oggetto che, in questo caso, `e il nume-
ro quattro. Dal punto di vista logico, diremo che sono tutti nomi che denotano
il numero quattro.
Ovviamente, bench´e le frasi precedenti denotino tutte lo stesso oggetto, il loro
senso `e differente; parleremo in questo caso di valore connotazionale del nome,
associato a quanto questo effettivamente esprime (essere il quadrato di due, il
predecessore di cinque, la somma di tre e di uno, ecc.).
La differenza tra senso e denotazione, pu`o essere meglio spiegata dal seguente
1
Per linguaggio naturale si intende il linguaggio che si usa quotidianamente per esprimere
e comunicare.
1
2
esempio tratto dall’informatica. Consideriamo due programmi di ordinamento
come MergeSort e QuickSort. Entrambi calcolano la stessa funzione che, preso
in input un array di elementi disordinati, restituisce un array degli stessi ele-
menti ordinati secondo una qualche relazione fissata. Da questo punto di vista,
la denotazione dei due programmi `e identica. Tuttavia, il loro senso, che in tal
caso coincide con il particolare algoritmo di ordinamento implementato dai due
programmi, `e differente.
Nel linguaggio naturale, il senso `e spesso pi` u importante o altrettanto impor-
tante della denotazione. Tuttavia, esso `e troppo complesso e dipendente dal
contesto per essere oggetto di una rigorosa analisi matematica. In particolare,
le denotazioni godono di una essenziale propriet`a di invarianza per sostituzio-
ne che `e il vero fondamento della loro trattazione formale, e che, al contrario,
non `e soddisfatta dalle connotazioni. Tale propriet`a asserisce che se in un no-
me complesso (cio`e costituito da altri nomi) si sostituisce un nome componente
con un nome denotazionalmente equivalente ad esso, la denotazione del nome
complesso non cambia. Consideriamo ad esempio la frase “il quadrato di due”.
Il nome “due” `e denotazionalmente equivalente a “uno pi` u uno”. Sostituen-
do questo nome al posto di “due” nella frase originaria si ottiene la frase “il
quadrato di (uno pi` u uno)” che ovviamente denota sempre il numero quattro.
Analogamente, si potrebbe sostituire l’espressione “il quadrato di 2” con quella
denotazionalmente equivalente “il prodotto di 2 per se stesso”, e ottenere la
frase complessa “il prodotto di (uno pi` u uno) per se stesso”, che continua pur
sempre a denotare il numero quattro (si osservi, al contrario, che le connotazioni
di queste espressioni sono sensibilmente differenti).
Dunque la logica simbolica assimila le asserzioni, o sentenze dichiarative, a par-
ticolari nomi. Come per tutti i nomi, dal punto di vista logico non si `e interessati
a ci`o che la sentenza asserisce, vale a dire al suo senso o valore connotazionale,
ma unicamente a ci`o che essa denota ed al modo in cui la denotazione di una
sentenza composta, ottenuta da altre pi` u semplici mediante l’uso di connettivi,
dipende dalle denotazioni delle componenti. In altre parole, la Logica intende
trattare le sentenze in base alla loro struttura e non al loro contenuto.
Resta ancora da capire che cosa effettivamente denoti una sentenza. A que-
sto proposito, ricordiamo che la denotazione deve godere della propriet`a di
invarianza per sostituzione. Consideriamo allora l’asserzione:
quattro `e il predecessore di cinque
Poich`e “il predecessore di cinque” `e denotazionalmente equivalente a “quattro”,
si ottiene per sostituzione la frase
quattro `e quattro
Osserviamo come il senso della frase sia stato stravolto! Tuttavia, per poter as-
similare le sentenze dichiarative a dei nomi, si vuole che la denotazione delle due
frasi rimanga immutata. Ora, che cosa hanno in comune le due frasi suddette?
Unicamente il fatto che sono entrambe vere!
3
Per questa ragione, dal punto di vista classico, la denotazione associata ad una
sentenza non pu`o che essere un valore di verit`a (“vero” oppure “falso”).
Ricapitolando, ogni sentenza denota un valore di verit`a ed esprime un senso
(che tuttavia non `e oggetto diretto dell’indagine logica). Il senso determina la
denotazione, o diremo anche che `e un concetto
2
della denotazione.
Ogni concetto di un valore di verit`a `e detto proposizione.
L’oggetto di indagine della logica proposizionale `e rappresentato, appunto, dalle
proposizioni. Queste possono essere di due tipi: atomiche e composte. Le pri-
me, come si pu`o evincere dal nome, sono le proposizioni pi` u semplici che non
possono essere scomposte in altre, mentre le seconde sono costruite, a partire
da quelle atomiche, mediante l’utilizzo di connettivi.
Esempi di connettivi, nel linguaggio naturale, sono i seguenti : “e”, “non”,
“se.. allora”, “ma”, “poich´e”, “o”, “come”,.. ed altri ancora. Per le ragioni
gi`a enunciate in precedenza, in logica simbolica vengono considerati solo i con-
nettivi estensionali, cosiddetti in quanto la denotazione (il valore di verit`a) di
una proposizione composta costruita mediante questi dipende unicamente dalle
denotazioni (dai valori di verit`a) delle proposizioni che la compongono.
Spesso, tale condizione non `e soddisfatta dai connettivi del linguaggio naturale;
il motivo di questo fatto `e che esso, al contrario dei linguaggi formali, consente
un uso obliquo dei nomi. Un nome ha un uso obliquo quando la sua denotazione
`e il senso che il nome esprimerebbe nel suo uso corrente.
Un esempio di connettivo che induce ad un uso obliquo dei nomi `e il connettivo
“poich´e”. Consideriamo ad esempio le seguenti sentenze:
2 `e un numero primo poich´e 2 `e divisibile solo per 1 e per se stesso
2 `e un numero primo poich´e 2 `e pari
Pur essendo entrambe costruite a partire da proposizioni vere per mezzo del
connettivo “poich´e”, la prima risulta vera, mentre la seconda risulta falsa. La
ragione di questo fatto `e che il nome (la sentenza) “2 `e divisibile solo per 1 e
per se stesso” `e usato obliquamente nella prima frase: la sua denotazione non `e
semplicemente un valore di verit`a, ma il senso che essa effettivamente esprime.
Si noti che l’effetto del connettivo “poich´e” nelle frasi precedenti `e quello di
spostare la frase da un livello linguistico (2 `e un numero primo) ad un livello
meta-linguistico
3
, in cui si spiegano le ragioni per cui la prima frase deve essere
considerata vera (che `e appunto un ragionamento sul linguaggio stesso). L’uso
obliquo dei nomi nel linguaggio naturale `e generato dalla confusione tra i due
livelli: in altre parole, il linguaggio `e sovente utilizzato come meta-linguaggio di
se stesso (cosa che deve essere evitata nei linguaggi formali).
2
A differenza della sentenza, un concetto non ha necessariamente una natura linguistica.
Si pu`o anche ipotizzare l’esistenza di concetti non esprimibili in nessun linguaggio di uso
corrente, ovvero di concetti che non coincidono con il senso attribuito a nessuno dei nomi
(sentenze) di tali linguaggi.
3
Un linguaggio utilizzato per descrivere o esprimere propriet`a di un altro linguaggio `e detto
meta-linguaggio (di quest ultimo).
4
D’ora in poi, lavoreremo dunque con proposizioni e connettivi estensionali su
queste.
1.2 Connettivi
La logica proposizionale, per motivi di economicit`a e chiarezza (che verranno
precisati nella sezione 1.4.5), considera come primitivi un sottoinsieme proprio
dei connettivi estensionali, ricavando gli altri in funzione di quelli scelti; in que-
sta trattazione il nostro punto di partenza sar`a l’insieme composto da: “non”,
“e”, “o” “se.. allora”. Come vedremo, la scelta di questi connettivi `e ampia-
mente (anche se non completamente) arbitraria.
Mostriamo ora dei semplici esempi per ognuno di essi.
• L’operazione espressa dal connettivo “non” `e chiamata negazione e la pro-
posizione ottenuta dalla sua applicazione `e detta proposizione negata (della
proposizione di partenza). Ad esempio, data la proposizione atomica
2 `e un numero primo
la sua negata `e
2 non `e un numero primo
• L’operazione espressa dal connettivo “e” viene detta congiunzione. Ad
esempio
3 `e un numero dispari ed `e primo
`e una proposizione composta costruita congiungendo le due proposizioni
atomiche:
3 `e un numero dispari
3 `e un numero primo
• L’operazione espressa dal connettivo “o” `e detta disgiunzione. Un esempio
di proposizione costruita con esso `e la seguente:
2 `e un numero dispari o `e primo
• Infine, l’operazione espressa dal connettivo “se.. allora” viene detta impli-
cazione e la proposizione composta ottenuta dalla sua applicazione `e chia-
mata proposizione condizionale. Un esempio di proposizione condizionale
`e la seguente:
se 3 `e dispari allora `e primo
5
la proposizione “3 `e dispari” `e detta premessa (dell’implicazione) mentre
“3 `e primo” `e la sua conseguenza o conclusione.
Dopo aver introdotto, in maniera intuitiva, le proposizioni ed i connettivi,
procediamo ad una definizione formale della logica proposizionale. A tal fine
dovremo:
1. introdurre un linguaggio formale specificandone la sintassi, mediante una
grammatica (senza attribuire alcun significato ai simboli). La specifica
grammaticale consentir`a di stabilire le frasi sintatticamente corrette del
linguaggio;
2. definire una semantica per il linguaggio introdotto, che ne interpreta le
frasi sintatticamente corrette, cio`e assegna loro un significato.
Passeremo quindi, nei capitoli successivi, al problema di definire dei calcoli logici,
cio`e dei sistemi formali per esprimere ragionamenti su formule del linguaggio
proposizionale.
1.3 Sintassi
In questa sezione definiremo il linguaggio formale della logica proposizionale
considerandone gli elementi come stringhe, senza associare loro alcun signifi-
cato. Per fare ci`o `e necessario, anzitutto, specificarne l’alfabeto (vale a dire i
simboli che lo compongono), quindi le regole che, a partire da esso, consentono
di costruire le frasi sintatticamente corrette.
In logica, `e conveniente utilizzare dei simboli per rappresentare le proposizioni
ed i connettivi. In questo capitolo, per motivi di chiarezza espositiva, le pro-
posizioni atomiche verranno indicate con lettere iniziali maiuscole dell’alfabeto:
“A”,“B”,. . . (eventualmente indiciate). Si utilizzeranno, invece, le lettere maiu-
scole “P”,“Q”,. . . (eventualmente indiciate) come meta-simboli per proposizioni
composte.
I connettivi sono rappresentati dai seguenti simboli:
“non”
∧ “e”
∨ “o”
→ “se.. allora”
Utilizzeremo inoltre il simbolo ⊥ per rappresenta la falsit`a, l’assurdo.
Definizione 1.1 L’ alfabeto del linguaggio della logica proposizionale consta
di:
1. simboli atomici di proposizione: “A”,“B”,....
2. connettivi: , ∧, ∨, →, ⊥
3. simboli ausiliari: “(”,“)”
6
Presentiamo ora le regole che consentono di costruire le frasi sintatticamen-
te corrette del linguaggio, dette formule ben formate (fbf), o semplicemente
proposizioni, che corrispondono alle proposizioni (atomiche e composte).
Definizione 1.2 L’insieme di fbf (FBF) `e il minimo insieme X tale che
1. A, B, . . . ∈ X per ogni simbolo atomico di proposizione;
2. ⊥ ∈ X.
3. Se P ∈ X, (P) ∈ X.
4. Se P, Q ∈ X, (P ∧ Q), (P ∨ Q), (P → Q) ∈ X.
∧, ∨ e → sono, rispettivamente, i connettivi principali di P, (P∧Q), (P∨Q)
e (P → Q).
Si noti l’uso metalinguistico delle lettere P e Q nella definizione precedente: esse
sono variabili che rappresentano arbitrarie fbf.
Esempi di formule ben formate sono: (A ∨ B) → (⊥ ∧ C), (⊥ ∨ (A → B)),
((A) → B).
Osserviamo che `e facile provare l’appartenenza di una data formula all’insieme
delle fbf; meno semplice invece risulta dimostrarne la non appartenenza.
Esempio 1.1 ((→, ∨, → ⊥ / ∈ X.
Mostriamo, a scopo esemplificativo, che → ⊥ / ∈ X. Supponiamo per assur-
do che → ⊥ ∈ X e che X soddisfi le condizioni 1-4 della Definizione 1.2.
Sia Y = X − ¦→ ⊥¦. Anche Y soddisfa le medesime condizioni, in quanto
A, B, . . . , ⊥ ∈ Y , se P ∈ Y, (P) ∈ Y e se P, Q ∈ Y allora (P ∧Q), (P ∨Q), (P →
Q) ∈ Y essendo diverse da → ⊥. Dunque X non `e il minimo insieme che sod-
disfa le condizioni della Definizione 1.2, ma questo `e assurdo, quindi → ⊥ non
pu`o appartenere ad X.
Data una fbf P, ogni fbf Q che appare come componente di P `e detta sotto-
formula di P. La definizione formale `e la seguente (osserviamo che si ammette
anche P come sottoformula di P):
Definizione 1.3 Sia P una fbf
1. Se P `e ⊥ oppure una proposizione atomica, allora P stessa `e la sua
sola sottoformula.
2. Se P `e P
1
, allora le sottoformule di P sono P stessa e quelle di P
1
.
3. Se P `e (P
1
∨P
2
), (P
1
∧P
2
), (P
1
→ P
2
), allora le sue sottoformule sono
P stessa e quelle di P
1
ed P
2
.
Esempio 1.2 Sia P la fbf ((A ∨ B) ∧ (C)). Le sue sottoformule sono:
P, ((A∨ B) ∧ (C)), (A∨ B), A, B, (C), C.
7
Il linguaggio che abbiamo definito fa un largo uso di parentesi per evitare am-
biguit`a nell’interpretazione delle formule. Ad esempio, se scrivessimo semplice-
mente A∧B → C, potremmo interpretare questa formula sia come ((A∧B) →
C) che come (A∧ (B → C)).
Per non appesantire la struttura delle fbf ed aumentarne la leggibilit`a `e bene
introdurre delle regole di precedenza tra gli operatori al fine di eliminare, quan-
do `e possibile, le parentesi. Le precedenze sono definite nel modo seguente
4
:
> ∧ > ∨ >→. Questo significa che data una sentenza possibilmente ambigua,
essa deve essere interpretata privilegiando le sottoformule i cui connettivi prin-
cipali hanno precedenza pi` u alta (ometteremo anche abitualmente la parentesi
pi` u esterna).
Esempio 1.3 In base alle convenzioni appena discusse, la formula
A ∧ B → C deve essere interpretata come ((A ∧ (B)) → C), in quanto il
connettivo di negazione ha precedenza su quello di congiunzione che a sua volta
ha precedenza maggiore rispetto a quello di implicazione. Analogamente, al
posto di ((((A)∧B)∨C) → (D)), si scriver`a semplicemente A∧B∨C → D.
D’altro canto, non `e possibile eliminare le parentesi in (A → B) ∨C (altrimenti,
sarebbe scorrettamente interpretata come A → (B ∨ C)).
1.3.1 Induzione
Numerosi risultati sulle fbf vengono dimostrati per induzione.
`
E possibile utiliz-
zare l’induzione “ordinaria” (sulla lunghezza della formula), ma `e spesso pi` u con-
veniente servirsi del seguente teorema, detto Principio di Induzione Strutturale
per formule ben formate.
Teorema 1.4 Sia / una propriet`a, allora /(P)
5
per tutte le fbf P se:
1. / `e verificata per tutte le proposizioni atomiche
2. /(⊥)
3. Se ∀ P ∈ FBF risulta /(P) ⇒ /(P)
4. Se ∀ P, Q ∈ FBF risulta /(P) e /(Q) ⇒ /(P ∨ Q), /(P ∧ Q) e
/(P → Q)
Dimostrazione. Sia Y = ¦F ∈ FBF [ /(F)¦, allora Y soddisfa le condizioni 1-4
della Definizione 1.2. Quindi FBF ⊆ Y , ma Y ⊆ FBF, quindi Y = FBF.
Vedremo nel seguito vari utilizzi di tale principio.
4
Per semplicit`a, indicheremo con il simbolo “>” l’espressione “· · · ha precedenza maggiore
di · · · ”
5
A `e verificata.
8
1.4 Semantica
In questa sezione presenteremo la semantica del linguaggio precedentemente in-
trodotto attribuendo un valore di verit`a ad ogni frase sintatticamente corretta
(fbf).
Poich´e le fbf sono costruite a partire dalle proposizioni atomiche mediante l’u-
tilizzo dei connettivi , ∧, ∨, →, l’idea `e quella di assegnare alle proposizioni
atomiche dei valori di verit`a ed estenderli a quelle composte in base al signifi-
cato dei connettivi logici, che verr`a descritto nel seguito.
Denoteremo con 1 il valore di verit`a “vero” e con 0 il valore di verit`a “falso”. Sia
v una funzione dalle fbf all’insieme ¦0, 1¦, tale che se A `e una proposizione ato-
mica vera v(A) = 1, altrimenti v(A) = 0. Poich´e ⊥ rappresenta intuitivamente
il falso, dovremo supporre sempre v(⊥) = 0. Per poter estendere v all’insieme di
tutte le proposizioni basta definire il valore di verit`a di una formula composta
del tipo P, P ∧ Q, P ∨ Q, P → Q in funzione del valore di verit`a v(P) e
v(Q) delle componenti P e Q. Ovviamente, questo valore sar`a diverso per i vari
connettivi e in accordo con la loro semantica intesa.
Analizziamo dunque i vari connettivi:
• Negazione
P `e vera quando P `e falsa, e viceversa. Dunque, v(P) = 1⇐⇒ v(P) = 0
o anche v(P) = 1 − v(P). Un modo conveniente per rappresentare il
valore di verit`a di una formula composta `e quello di utilizzare una tabella
(o tavola) di verit`a, di ovvia interpretazione:
P P
0 1
1 0
• Congiunzione
P ∧Q `e vera se e solo se P `e vera e Q `e vera. Avremo quindi v(P ∧Q) =
1⇐⇒ v(P) = v(Q) = 1 o anche, in modo pi` u compatto, v(P ∧ Q) =
min(v(P), v(Q)). La tavola di verit`a di P ∧ Q `e la seguente:
P Q P ∧ Q
0 0 0
0 1 0
1 0 0
1 1 1
• Disgiunzione
P ∨ Q risulta vera se almeno
6
una tra P e Q `e vera.
Dunque v(P ∨ Q) = 1⇐⇒ v(P) = 1 oppure v(Q) = 1, o, pi` u brevemen-
te, v(P ∨Q) = max(v(P), v(Q)). La tavola di verit`a di P ∨Q`e la seguente:
6
Il connettivo di disgiunzione va inteso in senso inclusivo (il “vel” latino) e non in senso
esclusivo (l’“aut” latino).
9
P Q P ∨ Q
0 0 0
0 1 1
1 0 1
1 1 1
• Implicazione
Il connettivo di implicazione `e meno ovvio dei precedenti. Consideriamo
la formula P → Q. Se P e Q sono entrambe vere o entrambe false, `e facile
convincersi che l’implicazione deve essere vera: P e Q denotano in questo
caso la stessa informazione e dunque si pu`o dire che una implica l’altra; in
altri termini, si vuole che A → A sia sempre vera, indipendentemente dal
valore di verit`a di A
7
. Inoltre, se Q `e vera, P → Q `e ancora vera: questo
essenzialmente dice che la nozione di verit`a deve essere stabile rispetto al-
l’aggiunta di nuove ipotesi (se Q `e vera, allora resta vera anche se vale P).
Rimane il caso in cui P `e vera e Q `e falsa. Ovviamente, in tale situazione
l’implicazione `e falsa.
Dunque, P → Q risulta falsa soltanto quando P `e vera e Q `e falsa.
Avremo quindi v(P → Q) = 0 ⇐⇒ v(P) = 1 e v(Q) = 0, o anche
v(P → Q) = 1 ⇐⇒ v(P) ≤ v(Q). La tavola di verit`a di P → Q `e la
seguente:
P Q P → Q
0 0 1
0 1 1
1 0 0
1 1 1
• Il simbolo ⊥ viene interpretato come falso, quindi v(⊥) = 0.
Vediamo ora la definizione formale di interpretazione v.
Definizione 1.5 Una funzione v : FBF → ¦0, 1¦ `e un’ interpretazione se:
• v(P) = 1 −v(P)
• v(⊥) = 0
• v(P ∧ Q) = min(v(P), v(Q))
• v(P ∨ Q) = max(v(P), v(Q))
• v(P → Q) = 0⇐⇒ v(P) = 1 e v(Q) = 0
7
Russel [Rus03] considera l’enunciato A → A come del tutto equivalente all’asserzione “A
`e una proposizione”, in quanto “qualsiasi proposizione implica se stessa, e qualsiasi cosa che
non sia un proposizione non implica nulla”. Dunque A `e una proposizione se e solo se implica
se stessa.
10
Dalla Definizione 1.5, il valore v(P) di una fbf P risulta definito da una funzio-
ne di interpretazione che associa un significato a tutte le proposizioni, comprese
quelle che non compaiono in P; tuttavia, `e facile dimostrare che v(P) dipende so-
lo dagli assegnamenti dei valori di verit`a delle formule atomiche che compongono
P; infatti:
Lemma 1.6 Sia P una fbf, e v, v

due interpretazioni. Se v(A
i
) = v

(A
i
) per
tutte le proposizioni atomiche A
i
che occorrono in P, allora v(P) = v

(P).
Dimostrazione. Per induzione sulla struttura di P.
(caso base) Se P `e una proposizione atomica, l’asserto segue banalmente dalle
ipotesi. Veniamo al caso induttivo. Supponiamo che P abbia la forma P
1

P
2
. Per ipotesi induttiva, v(P
1
) = v

(P
1
) e v(P
2
) = v

(P
2
). Dunque v(P) =
v(P
1
∧ P
2
) = min(v(P
1
), v(P
2
)) = min(v

(P
1
), v

(P
2
)) = v

(P
1
∧ P
2
) = v

(P). I
rimanenti casi sono analoghi e vengono lasciati al lettore come esercizio.
Esempio 1.4 Sia P = (A → A ∧ B) e v un’interpretazione la cui restrizione
a ¦A, B¦ `e la seguente: v(A) = 1 e v(B) = 0.
Dalla Definizione 1.5 segue che v((A → A ∧ B)) = 1 − v(A → A ∧ B),
v(A∧ B) = min(v(A), v(B)) = min(0, 1) = 0 quindi v((A → A∧ B)) = 1.
La computazione appena descritta pu`o essere rappresentata, in modo pi` u com-
patto, da una tavola di verit`a, come segue:
A B A∧ B A → A∧ B (A → A∧ B)
1 0 0 0 1
Definizione 1.7 Sia P una fbf e v una qualche interpretazione. Se v(P) = 1,
allora si dice che P `e soddisfatta nell’interpretazione v, oppure, analogamente,
che v `e un modello per P; in tale situazione scriveremo v [= P.
Definizione 1.8 Una fbf P `e soddisfacibile se ha almeno un modello, cio`e
se esiste almeno una interpretazione che la soddisfa; in caso contrario P `e
insoddisfacibile o contraddittoria.
Definizione 1.9 Una fbf P `e una tautologia (`e valida) se ogni interpretazione
v `e un modello per P (cio`e se P risulta vera in ogni interpretazione). In tale
situazione scriveremo [= P.
Dal Lemma 1.6 segue che per determinare se una data formula P `e contrad-
dittoria, soddisfacibile o tautologica, `e sufficiente controllare un numero finito
di assegnamenti di valori in ¦0, 1¦ per le proposizioni atomiche distinte che vi
compaiono. Tale controllo si pu`o effettuare mediante una tavola di verit`a. Siano
P la fbf da esaminare, A
i
con i = 1, . . . , n le proposizioni atomiche distinte che
la compongono e v
j
con j = 1, . . . , 2
n
le possibili interpretazioni.
11
A
1
A
2
A
n
P
v
1
(A
1
) v
1
(A
2
) v
1
(A
n
) v
1
(P)
v
2
(A
1
) v
2
(A
2
) v
2
(A
n
) v
2
(P)


v
2
n(A
1
) v
2
n(A
2
) v
2
n(A
n
) v
2
n(P)
P `e soddisfacibile se e solo se la sequenza di valori di verit`a ottenuti per P
(v
1
(P), . . . , v
2
n(P)) contiene almeno un 1, `e una tautologia se tale sequenza `e
composta soltanto da 1, `e contraddittoria se `e composta unicamente da 0.
Esempio 1.5 1. Sia P la fbf A → A
A A A → A
0 1 1
1 0 0
P `e soddisfacibile, e l’interpretazione che la soddisfa `e quella che assegna
ad A il valore 0.
2. Un semplice esempio di formula contraddittoria `e A∧ A. Infatti:
A A A∧ A
0 1 0
1 0 0
3. Sia Q la fbf A → A∨ B.
A B A∨ B A → A∨ B
0 0 0 1
0 1 1 1
1 0 1 1
1 1 1 1
Q `e una tautologia.
Teorema 1.10 Una fbf P `e una tautologia se e solo se P `e insoddisfacibile.
Dimostrazione.
P `e una tautologia ⇐⇒ ogni interpretazione `e un modello per P
⇐⇒ ogni interpretazione non `e un modello per P
⇐⇒ P non ha modelli
⇐⇒ P `e insoddisfacibile.

12
Le nozioni di soddisfacibilit`a ed insoddisfacibilit`a si estendono in modo ovvio a
insiemi (eventualmente infiniti) di formule. Infatti
Definizione 1.11 Sia Γ un insieme di fbf, Γ `e soddisfacibile se esiste un’in-
terpretazione v tale che ∀P
i
∈ Γ, v(P
i
) = 1. Γ `e insoddisfacibile se per ogni
interpretazione v, ∃P
i
∈ Γ tale che v(P
i
) = 0.
Definizione 1.12 Sia Γ un insieme di fbf. Diremo che Q `e conseguenza (se-
mantica) di Γ, e scriveremo Γ [= Q, se e solo se ∀v ((∀P
i
∈ Γ, v(P
i
) = 1) ⇒
v(Q) = 1). In caso contrario scriveremo Γ [= Q.
In altri termini Γ [= Q se e solo se Q `e vera per tutte le interpretazioni che sono
dei modelli per Γ.
Vediamo ora come la nozione di conseguenza semantica sia correlata a quelle di
soddisfacibilit`a e tautologia.
Lemma 1.13 Γ [= P se e solo se Γ ∪ ¦P¦ `e insoddisfacibile.
Dimostrazione. Per definizione, Γ [= P se e solo se per ogni interpretazione v
((∀P
i
∈ Γ, v(P
i
) = 1) ⇒ v(P) = 1). Questo equivale a dire che per ogni v o
esiste un qualche P
i
∈ Γ tale che v(P
i
) = 0 oppure v(P) = 1 e dunque, per ogni
v esiste almeno una formula Q ∈ Γ ∪ ¦P¦ per cui v(Q) = 0.
Lemma 1.14 P [= Q se e solo se [= P → Q.
Dimostrazione. (⇒) Supponiamo che P [= Q, allora ∀v, v(P) = 1 ⇒ v(Q) = 1
e quindi v(P → Q) = 1 ∀v, vale a dire che [= P → Q.
(⇐) Supponiamo che [= P → Q, allora ∀v, v(P → Q) = 1; ma poich´e v(P →
Q) = 0 ⇐⇒v(P) = 1 e v(Q) = 0, vuol dire che ∀v, v(P) = 1 ⇒ v(Q) = 1, ossia
P [= Q.
Teorema 1.15 (Deduzione semantica)
P
1
, , P
n
[= Q se e solo se P
1
, , P
n−1
[= P
n
→ Q ∀n ≥ 1.
Dimostrazione. Si effettua, per induzione su n, utilizzando il lemma precedente.

Esempio 1.6 Pur nella sua povert`a espressiva, la logica proposizionale `e suf-
ficiente per formalizzare ragionamenti di una certa complessit`a. Consideriamo
ad esempio le seguenti ipotesi:
(a) Se Carlo `e americano e Giovanni non `e francese, allora Elena `e tedesca.
(b) Se Elena `e tedesca, allora Lucia `e spagnola oppure Giovanni `e francese.
(c) Se Lucia non `e spagnola allora Carlo `e americano.
(d) Giovanni non `e francese.
Vogliamo dimostrare che queste implicano che Lucia `e spagnola.
Il primo passo consiste nel formalizzare il problema in logica proposizionale. A
tale scopo, si individuano innanzitutto le sentenze elementari e si associano ad
esse, per semplicit`a, dei nomi simbolici. Ad esempio, si pu`o porre
13
A = Carlo `e americano
B = Giovanni `e francese
C = Elena `e tedesca
D = Lucia `e spagnola
Le ipotesi iniziali si riscrivono quindi nel modo seguente:
(a) = A∧ B → C
(b) = C → D ∨ B
(c) = D → A
(d) = B
ed il problema consiste nel dimostrare che
(A∧ B → C) ∧ (C → D ∨ B) ∧ (D → A) ∧ (B) [= D
o anche, per il teorema di deduzione semantica,
[= (A∧ B → C) ∧ (C → D ∨ B) ∧ (D → A) ∧ (B) → D
La natura tautologica della formula
P = (A∧ B → C) ∧ (C → D ∨ B) ∧ (D → A) ∧ (B) → D
pu`o ora essere facilmente verificata mediante la costruzione della sua tabella di
verit`a:
A B C D (a) (b) (c) (d) (a) ∧ (b) ∧ (c) ∧ (d) P
0 0 0 0 1 1 0 1 0 1
0 0 0 1 1 1 1 1 1 1
0 0 1 0 1 0 0 1 0 1
0 0 1 1 1 1 1 1 1 1
0 1 0 0 1 1 0 0 0 1
0 1 0 1 1 1 1 0 0 1
0 1 1 0 1 1 0 0 0 1
0 1 1 1 1 1 1 0 0 1
1 0 0 0 0 1 1 1 0 1
1 0 0 1 0 1 1 1 0 1
1 0 1 0 1 0 1 1 0 1
1 0 1 1 1 1 1 1 1 1
1 1 0 0 1 1 1 0 0 1
1 1 0 1 1 1 1 0 0 1
1 1 1 0 1 1 1 0 0 1
1 1 1 1 1 1 1 0 0 1
1.4.1 Decidibilit`a della logica proposizionale
Nella sezione precedente abbiamo visto che `e possibile decidere se una fbf P `e
soddisfacibile costruendone la tabella di verit`a e verificando se la colonna cor-
rispondente alla formula P contiene almeno un 1. Se tale formula contiene n
14
proposizioni atomiche distinte, la sua tabella di verit`a sar`a costituita da 2
n
ri-
ghe, corrispondenti a tutte le differenti interpretazioni di P. Dunque, nel caso
peggiore, il suddetto algoritmo di verifica pu`o richiedere un tempo esponenziale
rispetto alla dimensione della formula.
`
E naturale chiedersi se non sia possibile fare meglio, ed in particolare se il
problema della soddisfacibilit`a per formule della logica proposizionale (che indi-
cheremo brevemente con SAT) non sia risolubile in tempo polinomiale. Fino ad
ora nessuno `e stato in grado di provare che SAT sia intrinsecamente esponen-
ziale. Tuttavia, esiste una certa evidenza di questo fatto, in quanto `e possibile
dimostrare che se SAT fosse risolubile in tempo polinomiale allora tutta una
serie di importanti problemi matematici, fisici ed informatici di cui, per anni, si
`e cercato invano una soluzione algoritmicamente efficiente sarebbero risolubili
in modo sostanzialmente migliore di quanto non sia attualmente noto (in parti-
colare, sarebbero anch’essi risolubili in tempo polinomiale).
Vediamo di essere un p`o pi` u formali. Sia { la classe dei problemi polinomiali,
o meglio la classe dei linguaggi per i quali esiste un algoritmo di riconoscimen-
to, cio`e un algoritmo in grado di decidere se una data espressione appartiene o
meno al linguaggio in esame in tempo polinomiale.
Sia ^{ la classe dei linguaggi per cui esiste un algoritmo non deterministico di
riconoscimento che opera in tempo polinomiale. Ricordiamo che un algoritmo
non deterministico `e un algoritmo che, dovendo effettuare delle “decisioni”, ha
la capacit`a di scegliere sempre quella pi` u conveniente per la risoluzione del pro-
blema. Equivalentemente, si pu`o immaginare che l’algoritmo, posto di fronte a
pi` u alternative possibili, sia in grado di duplicare se stesso, procedendo in pa-
rallelo su tutte le computazioni fino a che una di esse non termina con successo.
Ovviamente, SAT `e un problema in ^{, in quanto per determinare se una pro-
posizione Q `e soddisfacibile basta “indovinare” non deterministicamente l’in-
terpretazione corretta e verificare che essa soddisfa effettivamente Q (questo
corrisponde al calcolo di una riga della tabella di verit`a, e richiede un tempo
lineare nella dimensione di Q). In modo equivalente, si possono considerare in
parallelo le varie interpretazioni possibili, o meglio, duplicare l’algoritmo di ve-
rifica ogni volta che si incontra una nuova proposizione atomica A in Q in base
alle due possibili alternative A = 0 o A = 1.
Naturalmente, risulta { ⊆ ^{ in quanto gli algoritmi deterministici possono
essere visti come casi particolari di quelli non deterministici. Non `e noto, tut-
tavia, se tale inclusione sia stretta, cio`e se { = ^{, oppure se le due classi
coincidono. Questo resta tuttoggi il pi` u famoso dei problemi aperti nell’ambito
dell’informatica teorica.
Definizione 1.16 Dati due linguaggi L
1
e L
2
diremo che L
1
`e riducibile in tem-
po polinomiale a L
2
se esiste un algoritmo che, in tempo polinomiale, trasforma
ogni stringa x in una stringa g(x) tale che x ∈ L
1
se e solo se g(x) ∈ L
2
.
Un linguaggio si dice ^{-completo, se appartiene ad ^{ ed ogni altro linguag-
gio in ^{ `e riducibile ad esso in tempo polinomiale.
A prima vista, il fatto che esistano linguaggi ^{-completi pu`o risultare sor-
prendente. In realt`a, molti importanti problemi pratici sono ^{-completi. Per
15
nessuno di questi `e nota una soluzione polinomiale (che implicherebbe { = ^{),
il che induce alla congettura { = ^{.
Teorema 1.17 (di Cook)
SAT `e ^{-completo.
La dimostrazione di tale teorema richiederebbe una formalizzazione pi` u precisa
delle classi { e ^{ con riferimento a particolari agenti di calcolo (di solito,
a tale scopo, si utilizzano le macchine di Turing
8
) che esula dagli obiettivi del
presente volume. Tuttavia, al fine soprattutto di mostrare le sorprendenti po-
tenzialit`a espressive del calcolo proposizionale presentiamo un’intuizione della
dimostrazione.
Idea della dimostrazione
Sia L un linguaggio in ^{. Allora esiste un algoritmo (o programma) non deter-
ministico in grado di decidere in un tempo polinomiale p(n) se una data stringa
x di lunghezza n appartiene o meno ad L. Vogliamo costruire una formula Q
x
che sia soddisfacibile se e solo se x ∈ L. Inoltre, per rispettare la riducibilit`a
polinomiale, Q
x
deve poter essere generata in tempo polinomiale rispetto ad x.
Consideriamo gli stati successivi s
0
, s
1
, . . . s
p(n)
della computazione del program-
ma. Ogni stato `e essenzialmente definito dalla particolare configurazione della
memoria al tempo t, con 1 ≤ t ≤ p(n). Ora, un risultato elementare, ma essen-
ziale, della teoria della complessit` a afferma che la complessit`a in spazio `e sem-
pre inferiore o uguale alla complessit`a in tempo. Infatti, poich´e ogni operazione
elementare `e finita, pu`o al massimo scrivere in un numero finito (supponiamo
unitario) di nuove locazioni di memoria. Dunque, la computazione del program-
ma pu`o essere circoscritta ad un’area di memoria di dimensione p(n).
Come conseguenza, l’intera sequenza degli stati s
0
, s
1
, . . . s
p(n)
pu`o essere rap-
presentata da una matrice C di dimensione p(n)
2
. La prima riga descriver`a la
memoria al tempo 1, la seconda riga la memoria al tempo 2, e cos`ı via fino
all’istante p(n). Ogni cella C[i, j] della matrice definisce dunque il contenuto X
della locazione di memoria j all’istante i. Poich´e ogni locazione di memoria ha
dimensione finita, i possibili valori di X sono finiti.
Definiamo quindi una proposizione atomica C
i,j,X
per ogni possibile valore di
i, j, X. L’idea `e che C
i,j,X
= 1 se e solo se C[i, j] = X. Alcune semplici formule
logiche basteranno per garantire che, per ogni i e j, esattamente una sola pro-
posizione atomica C
i,j,X
risulti vera. Questo `e sufficiente per rappresentare la
matrice in logica proposizionale. Dobbiamo quindi descrivere, mediante formu-
le proposizionali, quali sono le configurazioni ammissibili dello stato all’istante
i + 1 (riga i + 1 della matrice) rispetto allo stato all’istante precedente (ovvero
alla riga i). Data la natura finita dell’agente di calcolo (il microprocessore), i
cambiamenti ammissibili della configurazione sono finiti, ed hanno una natura
“locale” ed “uniforme” che in generale ne consente una semplice codifica. Per
meglio dire `e possibile definire una funzione f(W, X) tale che X pu`o apparire
nello stato i + 1 in una qualche posizione j, se e solo se lo stato all’istante i
8
Per una semplice introduzione alle Macchine di Turing si vedano [Man78] e [AAAM79].
16
in un opportuno “intorno” finito di j (che in generale dipende dal particolare
agente di calcolo) `e W. A questo punto restano solo da aggiungere delle formule
che specificano lo stato iniziale e finale della computazione.
La formula Q
x
risultante dalla congiunzione di tutte le formule precedenti `e
soddisfacibile se e solo se il programma era in grado di riconoscere x. Inoltre Q
x
`e sufficientemente semplice da essere generata in tempo polinomiale a partire
da x.
Abbiamo discusso fino ad ora il problema della soddisfacibilit`a di formule pro-
posizionali. Che possiamo dire riguardo alla loro tautologicit`a? Poich´e una
formula `e una tautologia se e solo se la sua negata `e insoddisfacibile (Teorema
1.10), tale problema `e il complementare di SAT (verr`a nel seguito indicato con
SAT). Intuitivamente, decidere se una formula P, contenente n proposizioni
atomiche distinte, `e insoddisfacibile appare pi` u complesso che non decidere la
sua soddisfacibilit`a, in quanto, nel primo caso, si devono comunque controllare
tutte le 2
n
possibili interpretazioni. Anche avendo a disposizione un algoritmo
non deterministico, `e comunque necessario attendere il risultato di tutte le com-
putazioni per ogni interpretazione e verificare che nessuna di queste soddisfi la
formula.
In generale, non `e noto se la classe dei linguaggi ^{ sia chiusa per comple-
mentazione. Se questo non fosse vero, risulterebbe { = ^{, in quanto {
`e banalmente chiusa per complementazione. In particolare, non esiste nessun
problema ^{-completo il cui complemento sia noto essere in ^{.
La classe dei linguaggi il cui complemento `e in ^{ si dice co-^{. Ovviamente,
^{
¸
co − ^{ = ∅ in quanto { ∈ ^{
¸
co − ^{. Esistono inoltre dei
problemi (il pi` u famoso `e quello di decidere se un numero intero n non `e primo,
cio`e se esistono due fattori p e q tali che n = pq), che sono in ^{, hanno com-
plementare in ^{ e per i quali non `e noto un algoritmo polinomiale. Questo
suggerisce la congettura che possano esistere linguaggi nell’intersezione di ^{
e co-^{ che non sono in {.
1.4.2 Teorema di compattezza
In questa sezione dimostreremo un risultato semantico di particolare importan-
za: il teorema di compattezza.
Teorema 1.18 (Compattezza
9
)
Un insieme Γ di fbf `e soddisfacibile se e solo se ogni sottoinsieme finito ∆ di Γ
lo `e.
Dimostrazione. (⇒) Immediata.
(⇐) Per ipotesi ogni sottoinsieme finito di Γ `e soddisfacibile. Siano A
1
, A
2
, A
3

le formule atomiche distinte che compaiono in Γ. Supponiamo di aver definito un
assegnamento v di valori di verit`a ad A
1
, , A
n
tale che ogni sottoinsieme fini-
to di Γ ha un modello nel quale A
1
, , A
n
assumono i valori v(A
1
), , v(A
n
)
9
Il nome “compattezza” deriva dal fatto che tale teorema implica la compattezza (in senso
topologico) di un opportuno spazio topologico detto spazio di Stone (cfr.[BM77] p.182).
17
e mostriamo che `e sempre possibile estendere v ad A
n+1
in modo che tale pro-
priet` a continui a valere.
Supponiamo, per fissare le idee, che ponendo v(A
n+1
) = 0 non sia verificata la
summenzionata condizione; questo significa che esiste ∆

⊆ Γ, ∆

finito, che non
ha un modello nel quale A
1
A
n
, A
n+1
assumono i valori v(A
1
), , v(A
n
) e
v(A
n+1
) = 0. Proviamo allora che ogni sottoinsieme finito di Γ ha un modello
nel quale A
1
, , A
n
, A
n+1
assumono i valori v(A
1
), , v(A
n
), e v(A
n+1
) = 1.
Infatti, sia ∆ un qualunque sottoinsieme finito di Γ; allora ∆∪ ∆

`e ancora un
sottoinsieme finito di Γ e quindi, per ipotesi induttiva ha un modello nel qua-
le A
1
, , A
n
assumono i valori v(A
1
), , v(A
n
), e, per come si `e scelto ∆

,
v(A
n+1
) dovr`a assumere il valore 1.
Il limite v di questa costruzione `e un modello per Γ. Infatti, ∀P ∈ Γ, scel-
to n sufficientemente grande, tutte le proposizioni atomiche in P occorrono in
¦A
1
, , A
n
¦. Essendo ¦P¦ un sottoinsieme finito di Γ e poich`e per ogni n
tutti i sottoinsiemi finiti di Γ hanno un modello nel quale A
1
, , A
n
assumono
i valori v(A
1
), , v(A
n
) risulta v(P) = 1.
Osservazione Tale dimostrazione non `e costruttiva in quanto garantisce
l’esistenza di un modello per Γ, ma non lo esibisce.
Il teorema di compattezza pu`o essere formulato, in modo equivalente, come
segue:
Teorema 1.19 Un insieme Γ di fbf `e insoddisfacibile se e solo se esiste un
sottoinsieme finito ∆ di Γ che lo `e.
Nel capitolo dedicato al Metodo di risoluzione verr`a utilizzato in questa seconda
forma. Come semplice corollario della formulazione precedente del teorema di
compattezza si ottiene:
Teorema 1.20 Sia Γ un insieme di fbf e P una proposizione. Γ [= P se e solo
se esiste un sottoinsieme finito ∆ di Γ tale che ∆ [= P.
Dimostrazione. (⇐) Immediata.
(⇒) Per il Lemma 1.13, Γ [= P se e solo Γ ∪ ¦P¦ `e insoddisfacibile. Dal
Teorema 1.19 esiste allora un sottoinsieme finito ∆ di Γ tale che ∆ ∪ ¦P¦ `e
insoddisfacibile. Da cui segue, ancora per il Lemma 1.13 che ∆ [= P.
Applicazioni di tale teorema alla logica verranno mostrate nei capitoli 5 e 6;
come esempio di utilizzo dello stesso nella matematica si veda l’Esercizio 1.21.
1.4.3 Nota sul connettivo di implicazione
La semantica fornita in precedenza per il connettivo di implicazione non ri-
specchia del tutto fedelmente il significato intuitivo che si d`a alle espressioni
condizionali nel linguaggio naturale. Osserviamo in particolare che in base a
tale semantica si ritiene vera una formula implicativa del tipo A → B anche nel
caso in cui A sia falsa e B sia vera. Sebbene questa sia l’interpretazione data
18
al connettivo di implicazione fin dall’antichit`a (Filone il Megarico), e riassunta
nel motto latino ex falso sequitur quodlibet, essa pu`o portare a conseguenze ap-
parentemente paradossali.
Consideriamo ad esempio la frase se oggi `e martedi domani piove oppure se do-
mani piove oggi `e martedi. Questa `e apparentemente priva di senso. Tuttavia, se
formalizzata in logica proposizionale, essa assume la forma (A → B)∨(B → A),
che `e in effetti una tautologia, infatti:
A B A → B B → A (A → B) ∨ (B → A)
0 0 1 1 1
0 1 1 0 1
1 0 0 1 1
1 1 1 1 1
Le obiezioni relative all’interpretazione del connettivo di implicazione sono es-
senzialmente riconducibili a due ordini differenti di problemi:
1. relazione tra il piano intensionale e quello estensionale;
2. relazione tra il piano linguistico e quello metalinguistico.
Per quanto riguarda il primo aspetto, ricordiamo che la logica proposizionale
non intende trattare le intensioni delle sentenze (il senso), vale a dire ci`o che le
sentenze effettivamente esprimono, ma unicamente le relazioni tra le loro denota-
zioni, ovvero tra i loro valori di verit`a. Dunque si deve sempre fare riferimento
alla forma astratta delle sentenze composte, vedendo i costituenti elementari
come dei semplici nomi. Nel caso precedente, la formula da considerare non `e
dunque se oggi `e martedi domani piove oppure se domani piove oggi `e martedi,
ma la sua astrazione (A → B) ∨ (B → A). Questo risolve parte dell’ambiguit`a.
Tuttavia, ancora, su di un piano strettamente logico, non si vede alcuna ragione
per cui date due formule completamente arbitrarie A e B si debba necessaria-
mente avere che A implichi B oppure B implichi A. Il problema in questo caso
`e pi` u sottile, e legato al fatto che intuitivamente si `e portati a leggere l’implica-
zione A → B come una asserzione di inferibilit`a, cio`e il fatto che da A siamo in
grado di concludere B mediante un qualche ragionamento logico. Ovviamente,
questa relazione di inferibilit`a, che verr`a trattata formalmente nel prossimo ca-
pitolo, appartiene ad un livello metalinguistico. Dunque, il problema si riflette a
questo livello. Indichiamo informalmente con A ¬ B il fatto che siamo in grado
di “concludere” B dalla ipotesi A. Ovviamente, per A e B arbitrari, non sar`a
mai vero che A ¬ B oppure B ¬ A (dunque non abbiamo una corrispondenza
immediata tra il livello linguistico e quello metalinguistico). Tuttavia, se si sup-
pone A, ci si aspetta di poter concludere B → A, e a maggior ragione anche
(A → B) ∨(B → A). Allo stesso modo, se si suppone A, ci si aspetta di poter
ancora concludere A → B, e quindi ancora (A → B) ∨ (B → A). Dunque, sia
nel caso in cui valga A sia nel caso in cui valga A siamo in grado di concludere
logicamente (A → B) ∨ (B → A). Possiamo ora legittimamente concludere che
in ogni caso vale (A → B) ∨ (B → A)? Si, se sul piano deduttivo (metalingui-
stico) si assume che A ∨ A sia comunque dimostrabile, no altrimenti. Come
19
vedremo, l’approccio classico, mirato ad avere una completa corrispondenza tra
la semantica a valori di verit`a e la relazione di derivabilit`a del calcolo logico,
ammetter`a tale assioma (o una qualche forma ad esso equivalente). Altri sistemi
logici, tra i quali assume una particolare rilevanza il sistema intuizionista, a cui
accenneremo brevemente nel prossimo capitolo, rifiutano invece questa regola
(per cui una formula del tipo (A → B) ∨ (B → A) non sar`a derivabile). In
generale, sistemi siffatti sono detti non classici.
1.4.4 Equivalenza semantica
Quando i valori di verit`a di due formule coincidono per ogni interpretazione,
queste si dicono semanticamente equivalenti. Formalmente:
Definizione 1.21 Due fbf P e Q sono (semanticamente) equivalenti se per ogni
interpretazione v, v(P) = v(Q). Simbolicamente, denoteremo ci`o con P ≡ Q.
In altri termini, due fbf sono equivalenti se hanno la stessa tabella di verit`a.
Intuitivamente, sostituendo una proposizione P con una proposizione Q ad es-
sa equivalente all’interno di una proposizione R, ci si aspetta di ottenere una
proposizione equivalente ad R. Per formalizzare questa intuizione `e necessario
introdurre la nozione di sostituzione.
Definizione 1.22 Siano R e P due fbf, e sia A una fbf atomica (non neces-
sariamente contenuta in R). R[
P
/
A
] `e la fbf ottenuta rimpiazzando tutte le
occorrenze di A in R con P. La sostituzione di P al posto di A definisce una
funzione dalle formule ben formate alle formule ben formate che pu`o essere
formalizzata, per induzione, nel seguente modo:
R[
P
/
A
] =

R se R `e una proposizione atomica diversa da A
P se R = A
(R)[
P
/
A
] = R[
P
/
A
]
(R
1
∨ R
2
)[
P
/
A
] = R
1
[
P
/
A
] ∨ R
2
[
P
/
A
]
(R
1
∧ R
2
)[
P
/
A
] = R
1
[
P
/
A
] ∧ R
2
[
P
/
A
]
(R
1
→ R
2
)[
P
/
A
] = R
1
[
P
/
A
] → R
2
[
P
/
A
]
Teorema 1.23 Sia v una qualche interpretazione. Se v(P) = v(Q), allora, per
ogni R, v(R[
P
/
A
]) = v(R[
Q
/
A
]).
Dimostrazione. Per induzione sulla struttura di R.
(caso base) Se R `e una proposizione atomica diversa da A, allora l’asserto `e
banalmente verificato, in quanto in tale situazione R[
P
/
A
] = R = R[
Q
/
A
]. Se
invece R = A, allora risulta v(R[
P
/
A
]) = v(P) = v(Q) = v(R[
Q
/
A
]).
Veniamo al caso induttivo.
• Se R `e R
1
. Per ipotesi induttiva v(R
1
[
P
/
A
]) = v(R
1
[
Q
/
A
]). Allora,
v((R
1
)[
P
/
A
]) = 1 −v(R
1
[
P
/
A
]) = 1 −v(R
1
[
Q
/
A
]) = v((R
1
)[
Q
/
A
]).
20
• Se R `e (R
1
∧ R
2
). Per ipotesi induttiva v(R
i
[
P
/
A
]) = v(R
i
[
Q
/
A
]) per i =
1, 2. Risulta:
v((R
1
∧ R
2
)[
P
/
A
]) = v(R
1
[
P
/
A
] ∧ R
2
[
P
/
A
])
= min¦v(R
1
[
P
/
A
], v(R
2
[
P
/
A
])¦
= min¦v(R
1
[
Q
/
A
], v(R
2
[
Q
/
A
])¦
= v(R
1
[
Q
/
A
] ∧ R
2
[
Q
/
A
])
= v((R
1
∧ R
2
)[
Q
/
A
]).
I rimanenti casi sono lasciati al lettore come esercizio.
Vediamo una semplice applicazione del teorema precedente.
Esempio 1.7 Sia · = ⊥. Ovviamente, in ogni interpretazione risulta v(·) =
1. Vogliamo dimostrare che per ogni formula P ed ogni proposizione atomica A
la formula
Q = P → (A → P[

/
A
])
`e una tautologia. Sia dunque v una generica interpretazione. Se v(P) = 0, Q `e
banalmente vera. Supponiamo dunque che v(P) = 1 e distinguiamo due casi a
seconda che v(A) = 0 o v(A) = 1. Nel primo caso, v(A → P[

/
A
]) = 1 e dunque
anche v(Q) = 1. Nel secondo caso, v(A) = v(·) e per il Teorema 1.23 deve esse-
re v(P[

/
A
]) = v(P[
A
/
A
]) = v(P) = 1. Come conseguenza, v(A → P[

/
A
]) = 1
e dunque anche v(Q) = 1.
Dal Teorema 1.23 segue che in ogni fbf sostituendo parti tra loro equivalenti
si ottengono fbf equivalenti; questo risultato `e espresso dal seguente teorema,
detto teorema di sostituzione (TS):
Teorema 1.24 Se P ≡ Q, allora R[
P
/
A
] ≡ R[
Q
/
A
].
Dimostrazione. Sia v una generica interpretazione. Poich`e P ≡ Q, v(P) = v(Q).
Dunque, per il Teorema 1.23, v(R[
P
/
A
]) = v(R[
Q
/
A
]).
Vediamo qui di seguito delle utili equivalenze di fbf.
Teorema 1.25
21
idempotenza P ∨ P ≡ P
P ∧ P ≡ P
commutativit`a P ∨ Q ≡ Q∨ P
P ∧ Q ≡ Q∧ P
associativit`a (P ∨ Q) ∨ R ≡ P ∨ (Q∨ R)
(P ∧ Q) ∧ R ≡ P ∧ (Q∧ R)
assorbimento P ∨ (P ∧ Q) ≡ P
P ∧ (P ∨ Q) ≡ P
distributivit`a P ∨ (Q∧ R) ≡ (P ∨ Q) ∧ (P ∨ R)
P ∧ (Q∨ R) ≡ (P ∧ Q) ∨ (P ∧ R)
leggi di De Morgan (P ∨ Q) ≡ P ∧ Q
(P ∧ Q) ≡ P ∨ Q
doppia negazione P ≡ P
Dimostrazione. Tutte le equivalenze precedenti possono essere facilmente pro-
vate utilizzando la definizione di interpretazione semantica della logica proposi-
zionale. Mostriamo, a titolo esemplificativo, una delle leggi di De Morgan:
v((P ∨ Q)) = 1 ⇐⇒ v(P ∨ Q) = 0
⇐⇒ v(P) = v(Q) = 0
⇐⇒ v(P) = v(Q) = 1
⇐⇒ v(P ∧ Q) = 1
Dunque, per ogni v, v((P ∨ Q)) = v(P ∧ Q), quindi per definizione di
equivalenza semantica (P ∨ Q) ≡ P ∧ Q.
Si possono ottenere dimostrazioni alternative utilizzando le tavole di verit`a.
1.4.5 Completezza funzionale
Ogni fbf P con proposizioni atomiche A
1
, . . . , A
n
definisce una funzione di verit`a
f
P
: ¦0, 1¦
n
→ ¦0, 1¦ che associa ad ogni attribuzione di valori di verit`a per
A
1
, . . . , A
n
il valore di verit`a di P. Formalmente:
Definizione 1.26 Sia P una fbf contenente esattamente n proposizioni atomi-
che distinte A
1
, . . . , A
n
; la funzione f
P
: ¦0, 1¦
n
→ ¦0, 1¦ tale che ∀(a
1
, . . . , a
n
)
∈ ¦0, 1¦, f
P
(a
1
, . . . , a
n
) = v(P), dove v `e una interpretazione t.c. v(A
i
) =
a
i
, ∀A
i
∈ P, `e la funzione di verit`a di P.
Allo stesso modo, anche i connettivi logici definiscono delle funzioni di verit`a,
descritte dalle loro tabelle di verit` a. Se il connettivo `e n-ario, chiameremo fun-
22
zione di verit`a del connettivo la funzione di verit`a della formula proposizionale
ottenuta applicando il connettivo ad n proposizioni atomiche distinte.
Esempio 1.8 La funzione di verit`a del connettivo ∧ (f

) `e f
A∧B
.
Concettualmente, ogni funzione f : ¦0, 1¦
n
→ ¦0, 1¦ definisce un qualche connet-
tivo n-ario. Ad esempio, se n = 2 vi sono 2
(2
2
)
= 16 funzioni da ¦0, 1¦
2
in ¦0, 1¦.
Dunque, in linea di principio, esistono 16 connettivi binari differenti, mentre ne
abbiamo definiti solamente 3. Che possiamo dire degli altri connettivi?
Definizione 1.27 Dato un insieme di connettivi logici C, e un connettivo c∈C,
c si dice (semanticamente) derivabile da C se esiste una formula proposizionale
P costruita con i soli connettivi di C tale che f
P
= f
c
.
In altri termini, un connettivo `e derivabile se `e possibile definirlo in funzione di
altri connettivi.
Esempio 1.9 La fbf P = (A ∧ B) ∨ (A ∧ B) definisce la funzione di verit`a
descritta dalla seguente tavola di verit`a:
A B A B A∧ B A∧ B P
0 0 1 1 0 0 0
0 1 1 0 0 1 1
1 0 0 1 1 0 1
1 1 0 0 0 0 0
Osserviamo che tale funzione risulta vera se e solo se i suoi argomenti hanno
differenti valori di verit`a (A `e vera e B `e falsa o, viceversa, A `e falsa e B `e
vera); per tale motivo `e chiamata “o esclusivo” (corrisponde all’ “aut” latino)
e si `e soliti indicarla con il simbolo ∨. ∨ `e dunque un connettivo derivabile da
¦, ∧, ∨¦.
Esempio 1.10 La fbf Q = (A → B) ∧ (B → A) definisce la funzione di di
verit`a descritta dalla seguente tavola:
A B A → B B → A Q
0 0 1 1 1
0 1 1 0 0
1 0 0 1 0
1 1 1 1 1
Tale funzione risulta vera se e solo se i suoi argomenti (A e B) hanno lo stesso
valore di verit`a (o sono entrambi veri o entrambi falsi); viene solitamente indi-
cata con il simbolo ↔. ↔ `e dunque un connettivo derivabile da ¦∧, →¦.
Il teorema che segue stabilisce delle utili equivalenze che permettono di
definire (derivare) alcuni connettivi in termini di altri.
Teorema 1.28
23
1. A → B ≡ A∨ B
2. A∨ B ≡ A → B
3. A∨ B ≡ (A∧ B)
4. A∧ B ≡ (A∨ B)
5. A∧ B ≡ (((A → ⊥) → ⊥) → (B → ⊥)) → ⊥
6. A ≡ A → ⊥
7. ⊥ ≡ A∧ A
8. A↔B ≡ (A → B) ∧ (B → A)
9. A∨B ≡ (A∧ B) ∨ (A∧ B)
Dimostrazione.
`
E lasciata al lettore per esercizio.
Definizione 1.29 Un insieme di connettivi logici si dice funzionalmente com-
pleto se per ogni funzione f : ¦0, 1¦
n
→ ¦0, 1¦ esiste una fbf P costruita
mediante questi t.c. f = f
P
.
In altri termini, un insieme di connettivi `e funzionalmente completo se ogni altro
connettivo `e derivabile da essi.
Nel seguito dimostreremo che (Corollario 1.35) gli insiemi ¦∨, ¦ e ¦∧, ¦ sono
funzionalmente completi. Sapendo che un dato insieme di connettivi C `e fun-
zionalmente completo, per mostrare che un altro insieme di connettivi C’ lo `e
basta ovviamente dimostrare che ogni connettivo del primo insieme `e derivabile
nel secondo. L’esistenza di insiemi funzionalmente completi consente di restrin-
gere l’analisi a proposizioni espresse in termini di connettivi appartenenti ad
uno qualsiasi di tali insiemi. La scelta di uno di questi `e per lo pi` u una questio-
ne di convenienza. Il vantaggio di utilizzare pochi connettivi `e di dover testare
un numero limitato di casi per dimostrare le propriet`a delle formule costruite a
partire da essi; d’altra parte, la definizione di un connettivo in modo derivato
tende a nascondere le propriet`a intinseche del connettivo stesso rendendone il
significato intuitivo assai poco evidente.
Esempio 1.11 Se consideriamo l’insieme ¦→, ⊥¦ come primitivo (si veda, a tal
proposito, l’esercizio 1.12), la proposizione A ∧ B, per il Teorema 1.28, ha la
forma (((A → ⊥) → ⊥) → (B → ⊥)) → ⊥ il cui significato risulta meno chiaro
rispetto alla forma precedente.
In questo libro abbiamo adottato un compromesso tra coincisione e chiarezza,
considerando l’insieme ¦, ∨, ∧, →, ⊥¦ come primitivo.
24
1.4.6 Forme Normali
`
E spesso utile poter trasformare una fbf in un’altra ad essa equivalente che ha
una qualche forma canonica prestabilita. Tipicamente, ci`o si realizza sostituen-
do una componente della formula data con altre formule ad essa equivalenti, fino
al raggiungimento della forma desiderata. Tale forma canonica `e abitualmente
detta normale, in quanto il procedimento di riscrittura dei sottocomponenti non
pu`o essere applicato ulteriormente.
Le forme normali che considereremo sono le cosiddette forme normali congiun-
tive e disgiuntive.
Una disgiunzione di fbf P
1
, P
2
. . . , P
n
`e una formula del tipo P
1
∨ P
2
∨ ∨ P
n
(in virt` u dell’associativit`a del connettivo binario di disgiunzione, ometteremo le
parentesi).
Analogamente, la congiunzione di P
1
, P
2
. . . , P
n
`e una formula del tipo P
1
∧P
2

∧ P
n
.
Definizione 1.30 Un letterale `e una proposizione atomica o la sua negazione.
Definizione 1.31 Una fbf P `e detta in forma normale congiuntiva (fnc) se e
solo se P = P
1
∧ ∧ P
n
con n ≥ 1, dove ∀i = 1, . . . , n, P
i
`e una disgiunzione
di letterali.
Esempio 1.12
A∧ B ∧ (A∨ C)
(A∨ B ∨ C) ∧ (C ∨ A)
sono fbf in forma normale congiuntiva.
Definizione 1.32 Una fbf P `e detta in forma normale disgiuntiva (fnd) se e
solo se P = P
1
∨ ∨P
n
con n ≥ 1, dove ∀i = 1, . . . , n, P
i
`e una congiunzione
di letterali.
Esempio 1.13
A∨ (B ∧ C)
(A∧ B) ∨ (C ∧ A) ∨ C
sono fbf in forma normale disgiuntiva.
Teorema 1.33 Per ogni fbf P esistono una forma normale congiuntiva P
C
ed
una forma normale disgiuntiva P
D
, tali che P ≡ P
C
e P ≡ P
D
.
Dimostrazione. Per passare da una fbf P ad una forma normale congiuntiva o
disgiuntiva equivalente ad essa `e sufficiente utilizzare le equivalenze dimostrate
in precedenza. Lo schema della procedura di trasformazione `e il seguente:
Passo 1 si eliminano i connettivi diversi da ∧, ∨, utilizzando il Teorema 1.28,
25
Passo 2 si utilizzano ripetutamente la legge della doppia negazione e le leggi
di De Morgan (Teorema 1.25) per portare i simboli di negazione immedia-
tamente davanti alle proposizioni atomiche,
Passo 3 si utilizza pi` u volte la distributivit`a per convertire la fbf P in congiun-
zioni di digiunzioni (per trovare P
C
) o in disgiunzioni di congiunzioni (per
trovare P
D
).

Esempio 1.14 Cerchiamo le forme normali disgiuntiva e congiuntiva equiva-
lenti a (A∨ B) → C.
(A∨ B) → C ≡ (A∨ B) ∨ C
≡ (A∧ (B)) ∨ C
≡ (A∧ B) ∨ C
(A∧ B) ∨ C `e in forma normale disgiuntiva.
La forma normale congiuntiva `e, invece, A∨ C ∧ (B ∨ C).
Sia P una fbf contenente le proposizioni atomiche atomiche A
1
, . . . A
n
, `e possi-
bile trovare la forma normale disgiuntiva (P
D
) ad essa equivalente utilizzando
il seguente metodo:
• si costruisce la tavola di verit`a di P,
• ogni linea di essa che ha valore di verit`a 1 d`a luogo ad una congiunzione
i cui letterali sono determinati nel modo seguente: se nell’interpretazione
v che corrisponde a quella linea risulta v(A
i
) = 1, allora viene inserito A
i
come letterale, altrimenti A
i
.
Per ottenere la forma normale congiuntiva (P
C
) basta scambiare tra loro, nel-
la procedura precedente, i ruoli di 0 ed 1 e quelli della disgiunzione e della
congiunzione.
Esempio 1.15 Data la formula P descritta dalla seguente tavola di verit`a:
A B C P
0 0 0 1
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 0
1 1 1 0
• P
D
= (A∧ B ∧ C) ∨ (A∧ B ∧ C) ∨ (A∧ B ∧ C)
26
• P
C
= (A∨ B ∨ C) ∧ (A∨ B ∨ C) ∧ (A∨ B ∨ C) ∧
(A∨ B ∨ C) ∧ (A∨ B ∨ C).
Osserviamo che le formule prodotte con tale metodo (P
C
e P
D
) non sono
necessariamente quelle pi` u brevi.
Corollario 1.34 L’insieme di connettivi ¦, ∧, ∨¦ `e funzionalmente completo.
Corollario 1.35 Gli insiemi di connettivi ¦, ∨¦ e ¦, ∧¦ sono funzionalmente
completi.
Dimostrazione. Segue dal corollario precedente essendo ∧ derivabile da ¦, ∨¦
in quanto A∧ B ≡ (A∨ B) e, viceversa, ∨ derivabile da ¦, ∧¦ .
1.4.7 Dualit`a
Consideriamo i valori di verit`a di ∨ e ∧:
A∧ B `e 1 se e solo se A = B = 1
A∨ B `e 0 se e solo se A = B = 0
questi sono duali nel senso che entrambi derivano dal rovesciamento dei ruoli
di 0 e 1 nell’altro. Vediamo di precisare meglio questa “dualit`a” tra i suddetti
connettivi. Per fare ci`o definiamo una trasformazione

tra formule ben formate
nel seguente modo:
Definizione 1.36

: FBF → FBF soddisfa:
1. P

= P se P `e una proposizione atomica
2. (P ∧ Q)

= P

∨ Q

3. (P ∨ Q)

= P

∧ Q

4. (P)

= P

Esempio 1.16
((A∧ B) ∨ C)

= (A∧ B)

∧ C

= (A

∨ (B)

) ∧ C
= (A∨ B

) ∧ C
= (A∨ B) ∧ C
≡ (A∨ B) ∧ C
La trasformazione

ha il seguente effetto:
Lemma 1.37 P

≡ P.
27
Dimostrazione. Per definizione di equivalenza semantica, P

≡ P se e solo se
∀v, v(P

) = v(P) = 1 −v(P). Proviamo la tal cosa per induzione su P.
(caso base) Se P `e una proposizione atomica v(P

) = v(P) = 1 −v(P).
Veniamo al caso induttivo:
v((P ∨ Q)

) = v(P

∧ Q

)
= min(v(P

), v(Q

))
= min(1 −v(P), 1 −v(Q))
= 1 −max(v(P), v(Q))
= 1 −v(P ∨ Q)
I rimanenti casi sono lasciati al lettore come esercizio.
La trasformazione

non risponde pienamente ai nostri scopi. Quello che stiamo
cercando `e di poter effettivamente interscambiare i connettivi ∧ e ∨. A tal fine
si consideri una nuova funzione
d
che chiameremo it funzione di dualit`a:
Definizione 1.38
d
: FBF → FBF `e definita nel seguente modo:
1. P
d
= P se P `e una proposizione atomica
2. (P ∧ Q)
d
= P
d
∨ Q
d
3. (P ∨ Q)
d
= P
d
∧ Q
d
4. (P)
d
= P
d
Introduciamo ora la nozione di sostituzione simultanea:
Definizione 1.39 R[
S1,...,Sn
/
A1,...,An
] si ottiene sostituendo S
i
al posto di A
i
per tutti gli i ≤ n simultaneamente.
Lemma 1.40 Per ogni insieme A
1
, . . . A
n
di simboli proposizionali atomici che
compaiono in una proposizione R si ha:
R
d
[
¬¬A1,...,¬¬An
/
A1,...,An
] = R

[
¬A1,...,¬An
/
A1,...,An
]
Dimostrazione.
`
E lasciata al lettore come esercizio.
Teorema 1.41 (Dualit`a)
P ≡ Q ⇐⇒ P
d
≡ Q
d
.
Dimostrazione. Utilizzeremo la trasformazione

come passo intermedio. Sia-
no A
1
, . . . , A
n
i simboli proposizionali atomici in P e Q. Dal Lemma 1.40
e dal teorema di sostituzione segue che P
d
≡ P

[
¬A1,...,¬An
/
A1,...,An
] e Q
d

Q

[
¬A1,...,¬An
/
A1,...,An
]. Essendo P ≡ Q risulta P ≡ Q, da cui, per il Lemma
1.37, P

≡ Q

. Quindi
P
d
≡ P

[
¬A1,...,¬An
/
A1,...,An
] ≡ Q

[
¬A1,...,¬An
/
A1,...,An
] ≡ Q
d
L’inverso deriva immediatamente dal fatto che P
d
d
= P.
28
Esempio 1.17 Utilizzando il teorema di dualit`a `e possibile dedurre la seconda
legge di De Morgan dalla prima, cos`ı come le leggi di idempotenza, associativit`a
e distributivit`a della somma da quelle del prodotto.
Si osservi che in generale `e possibile ottenere la tabella di verit`a della formula
P
d
semplicemente scambiando ogni 0 in 1 e viceversa, a partire dalla tabella di
verit`a di P (il lettore lo dimostri per esercizio, procedendo per induzione su P).
Ad esempio, la tabella di verit`a di A∧ B `e
A B A∧ B
0 0 0
0 1 0
1 0 0
1 1 1
Invertendo 0 e 1 otteniamo la tabella di verit`a di (A∧ B)
d
= A∨ B:
A B A∨ B
1 1 1
1 0 1
0 1 1
0 0 0
Se una tabella di verit`a definisce un certo connettivo c, diremo che la tabella
duale definisce il connettivo duale c
d
.
Esempio 1.18 ∧ e ∨ sono duali, e `e duale di se stesso.
1.5 Cenni storici e bibliografici
Bench`e esistano innumerevoli anticipazioni del pensiero logico moderno nelle
opere di Leibniz (1646-1716) e vari altri studiosi, `e solo con i lavori di Boole
10
e De Morgan
11
del 1847 che si hanno i primi significativi sviluppi verso una
trattazione matematica formale e coerente di questa materia. L’approccio ori-
ginario `e di natura algebrica: si tratta di un calcolo per operazioni tra classi,
esteso in seguito ad un calcolo di relazioni. Tale approccio fu proseguito, ed
ulteriormente sviluppato, nei lavori di Peirce, Schr¨oder e Peano.
La procedura di decisione basata su tabelle di verit`a `e utilizzata in modo in-
formale da Frege gi`a nel 1879, ma si deve a Peirce (1885) la formalizzazione
del metodo generale (si veda [PeiCP], vol.III, pp.223-225). Questa tecnica fu
poi ampiamente utilizzata da Lukasiewicz [Luk20] e Post[Pos21], a cui si deve
anche la sua generalizzazione a sistemi logici con pi` u di due valori di verit`a.
10
George Boole, The mathematical analysis of Logic (1847) e An investigation of the laws
of thought (1854).
11
Augustus De Morgan, Formal Logic (1847) e Syllabus of a Proposed System of Logic
(1860).
29
Per un’introduzione all’argomento si vedano, tra gli altri, [RT58, Urq86]. In
generale, logiche a pi` u valori vengono utilizzate per rappresentare e manipolare
informazioni incerte. Alcune aree di applicazione di tali logiche all’Informatica
sono: Intelligenza Artificiale ([Tur84]), verifica della correttezza dei programmi
([Jon86]) e teoria dei codici correttori adattivi ([Mun92]).
Post ([Pos41]) fu il primo ad affrontare in modo sistematico il problema della
completezza funzionale, cio`e di insiemi completi di connettivi primitivi indipen-
denti fra loro.
Osserviamo, per inciso, che l’approccio semantico basato su tabelle di verit`a, se-
guito in questo volume, `e un caso particolare e piuttosto artificioso di semantica
su di una particolare algebra di Boole con esattamente due elementi. Purtroppo,
per ragioni di concisione, si `e dovuto rinunciare alla trattazione formale delle
strutture algebriche sottostanti al calcolo logico (per un approccio semantico di
tale tipo il lettore pu`o consultare [Cur63]); il testo di riferimento tradizionale
per gli aspetti pi` u prettamente algebrici `e l’immensa opera di Birkhoff ([Bir40]).
Le nozioni di forma normale disgiuntiva e congiuntiva sono state introdotte ri-
spettivamente da Schr¨oder (1877) e Peirce (1880), bench`e le principali idee siano
gi`a presenti nei lavori di Boole.
Il principio di dualit`a `e abitualmente accreditato a Schr¨oder
12
.
Il problema della soddisfacibili
`
ta per formule proposizionali (SAT) `e stato uno
dei primi esempi di problema ^{-completi introdotto in letteratura ([Coo71]).
Karp [Kar72] ha dimostrato la rilevanza computazionale della nozione di ^{-
completezza, fornendo un gran numero di esempi pratici. Per una ampia rasse-
gna bibliografica su questi aspetti si vedano [HU79] e [GJ79].
Esercizi
1.1 Eliminare, quando `e possibile, le parentesi nelle seguenti fbf:
1. ((A∧ B) → (C))
2. (A → (B → (C)))
3. ((A∧ B) ∨ (C → D))
4. (A∨ ((B) → C)))
5. (A → (B ∨ (C → D)))
6. (((((A))) ∧ ⊥))
7. (A → (B ∧ ((C) ∨ D)))
1.2 Provare che ogni formula ben formata contiene lo stesso numero di paren-
tesi aperte (“(”) e chiuse (“)”).
(Suggerimento: si utilizzi il principio di induzione strutturale).
12
E.Schr¨ oder. Vorlesungen ¨ uber di Algebra der Logik, 3 vol. Leipzig, 1890-1905.
30
1.3 Verificare, utilizzando le tavole di verit`a, quali delle seguenti formule ben
formate sono delle tautologie:
1. (A → (B → C)) → ((A → B) → (A → C))
2. (A → A)
3. A∨ A
4. ⊥ → A
5. A → (A → B)
6. (A∧ B) ∧ (B ∨ C)
7. A∨ B → A∧ B
8. (A → C) → ((B → C) → (A∨ B → C))
9. (A → B) → ((B → C) → A)
1.4 Il seguente insieme di formule
A
1
∨ A
2
, A
2
∨ A
3
, A
3
∨ A
4
, A
4
∨ A
5
`e soddisfacibile?
1.5 In base alle ipotesi (a, b, c, d) dell’esempio 1.6, `e possibile concludere che
Carlo `e americano?. Si motivi la risposta.
1.6 Provare che B ∨ C `e soddisfacibile se e solo se (B ∨ A) ∧ (C ∨ A) lo `e.
1.7 Dimostrare che il problema della soddisfacibilit`a (SAT) si pu`o ridurre al
problema della 3-soddisfacibilit`a, cio`e che per ogni P ∈ FBF `e possibile co-
struire una fbf P

che `e una congiunzione di disgiunzioni di al pi` u 3 letterali,
tale che P `e soddisfacibile se e solo se P

lo `e.
(Suggerimento: si usi il risultato dell’esercizio precedente per decomporre ricor-
sivamente ogni disgiunzione di letterali A
1
∨ A
2
∨ A
k
, con k ≥ 3 nella forma
(A
1
∨ A
2
∨ A) ∧ (A
3
∨ ∨ A
k
∨ A) dove A `e una proposizione atomica che
non occorre in A
1
, , A
k
).
1.8 Stabilire se le seguenti affermazioni sono equivalenti:
1. A [= B
2. se [= A allora [= B.
1.9 Provare che:
1. ⊥∨ B ≡ B
2. ⊥∧ B ≡ B
31
3. A [= A
4. A [= B e B [= C implica A [= C
5. [= A → B, allora A∧ B ≡ A e A∨ B ≡ B
6. [= A implica A∧ B ≡ B
7. [= A implica A∨ B ≡ B
8. se A [= B e A [= B, allora [= A
9. se A [= C e B [= C, allora A∨ B [= C.
1.10 Stabilire se le seguenti affermazioni risultano vere:
1. se A [= B allora A [= B
2. se A [= B e A∧ B [= C allora A [= C
3. se A∨ B [= A∧ B.
4. se A∨ B [= A∧ B allora A ≡ B.
1.11 Sia ´ il connettivo definito dalla seguente tavola di verit`a:
A B A´B
0 0 1
0 1 1
1 0 0
1 1 0
Esprimerlo in funzione di ¦∨, ¦.
1.12 Provare che l’insieme ¦→, ⊥¦ `e funzionalmente completo sapendo che lo
`e ¦∧, ¦.
1.13 Sia il connettivo ternario espresso dalla seguente funzione di verit`a:
f(a
1
, a
2
, a
3
) = 1 ⇐⇒a
1
+a
2
+a
3
≥ 2
Esprimerlo in funzione di ¦∧, ¦.
1.14 Sia il connettivo definito dalla seguente tavola di verit`a:
A B AB
0 0 1
0 1 0
1 0 0
1 1 0
1. Esprimerlo in funzione di ¦, ∧¦ e ¦, ∨¦.
32
2. Provare che, per ogni connettivo n-ario, esiste una formula associata
ad esso contenente solo il connettivo .
1.15 Mostrare che l’insieme di connettivi ¦∧, ↔, ∨¦ `e funzionalmente completo
e che nessuno dei suoi sottoinsiemi propri lo `e.
1.16 Stabilire se gli insiemi di connettivi ¦∧, →¦ e ¦∨, ∧¦ sono funzionalmente
completi.
1.17 Trovare le forme normali congiuntive e disgiuntive equivalenti alle seguen-
ti formule:
1. (A → B) → (B → C)
2. (A → (B → C)) ∧ D
3. (A∧ B ∧ (C → D))
4. A∨ (C → (D ∧ B))
5. (A↔B)
1.18 Data la fbf P descritta dalla seguente tavola di verit`a:
A B C P
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
trovare P
D
ed P
C
.
1.19 Trovare un criterio affinch´e una formula in fnc sia una tautologia. Fare
altrettanto per una fnd.
1.20 Provare che i due enunciati del teorema di compattezza sono equivalenti.
1.21 Un grafo si dice k-colorabile (k ∈ ^) se esiste una partizione dei suoi
vertici in k insiemi distinti V
1
, , V
k
tali che due vertici adiacenti non appar-
tengono allo stesso insieme V
i
. Provare che un grafo `e k-colorabile se e solo se
ogni suo sottografo finito lo `e (cfr. [KK67]).
(Suggerimento: Considerare l’insieme di formule proposizionali su ¦1, , k¦V
• (i, a) → (j, a) per tutti gli i, j ≤ k, i = j e per ogni a ∈ V
• (1, a) ∨ (2, a) ∨ ∨ (k, a)
33
• (i, a) → (i, b) per tutti gli a, b ∈ V adiacenti
e porre v(i, a) = 1 se e solo se a ∈ V
i
).
1.22 Si definisca il connettivo duale del connettivo di implicazione →, dan-
done la tabella di verit`a.
1. Si esprima in funzione di ¦, ∧¦.
2. Si estenda la funzione ( )

a formule composte anche dai connettivi
e →, e si dimostri che per ogni P, v(P

) = 1 −v(P).
34
Capitolo 2
Sistemi Deduttivi
Si consideri la seguente “proposizione”:
(∗) Se A → B e A → (B → C) allora A → C.
`e possibile mostrare che `e una tautologia costruendo la tabella di verit`a della
formula corrispondente, cio`e:
((A → B) ∧ (A → (B → C))) → (A → C)
Tuttavia, se si incontrasse la proposizione (∗) in un qualche testo matematico,
ci si aspetterebbe piuttosto di trovare una dimostrazione del seguente tipo:
Dimostrazione. Supponiamo che
2
1. A → B
2. A → (B → C)
Vogliamo dimostrare che A → C. Questo significa provare che se vale A allora
deve valere C. Supponiamo dunque che A sia vera. Da A e 1. possiamo
concludere B. Da A e 2. possiamo concludere B → C. Infine, da B e B → C
concludiamo C.
Il problema principale della logica formale `e quello di definire dei sistemi di cal-
colo che permettano di sviluppare delle dimostrazioni del tipo precedente, cio`e
come una sequenza di passi elementari che, partendo dalle premesse, consenta
di ottenere la conclusione.
Data inoltre una nozione semantica di validit`a (Definizione 1.9) delle formule lo-
giche, ci si aspetta che il sistema formale sia corretto nel senso che non permetta
di inferire proposizioni non valide (o, eliminando la doppia negazione, permetta
di inferire solo proposizioni valide). Correlato a questo problema `e quello della
completezza del sistema formale: sapendo che il sistema `e corretto, ci si chiede
se ogni formula valida sia dimostrabile al suo interno.
35
36
In questo capitolo affronteremo il problema della definizione sintattica dei cal-
coli logici, introducendo alcuni dei principali sistemi formali di logica simbolica:
Deduzione Naturale, Sistemi Assiomatici e Calcolo dei Sequenti.
La correttezza e completezza di questi saranno discusse nel capitolo seguente.
2.1 Propriet`a intuitive dei sistemi deduttivi
Cerchiamo di individuare le propriet`a generali che ci si aspetta siano soddisfatte
da un sistema di calcolo.
Useremo in questa sezione la notazione
A
1
, A
2
, . . . , A
n
¬ B
in modo informale, per indicare che nel sistema in oggetto siamo in grado di
produrre una dimostrazione della conclusione B a partire da un insieme (even-
tualmente vuoto) di premesse A
1
, A
2
, . . . , A
n
(nel seguito useremo le lettere
greche Γ, ∆, . . . per indicare insiemi finiti di fbf).
Per alcuni connettivi logici `e piuttosto semplice definire le propriet`a attese dal
sistema formale.
Consideriamo, ad esempio, il caso della congiunzione. Avendo la premessa A∧B
ci si aspetta di poter concludere sia A che B. Viceversa, avendo entrambe le
premesse A e B ci si aspetta di poter concludere A∧ B.
Nella notazione precedente, il sistema formale deve dunque soddisfare le seguenti
regole:
(∧e.1) A∧ B ¬ A
(∧e.2) A∧ B ¬ B
(∧i) A, B ¬ A∧ B
Si noti la differenza tra le regole (∧e.1), (∧e.2) da un lato e la regola (∧i) dall’al-
tro. Le prime due dicono cosa si pu`o concludere da una formula il cui connettivo
principale `e ∧. Per ovvie ragioni, tali regole sono dette di eliminazione del con-
nettivo. La terza regola esprime le condizioni necessarie per poter concludere
una formula il cui connettivo principale `e ∧. Questa viene detta regola di in-
troduzione del connettivo. Le lettere e ed i nei nomi che abbiamo associato alle
regole sono un riferimento mnemonico a questa suddivisione.
Veniamo al caso della disgiunzione. Le regole di introduzione sono abbastanza
ovvie: avendo A si pu`o concludere A ∨ B e, analogamente, avendo B si pu`o
concludere A∨ B. Vi sono quindi le regole seguenti
(∨i.1) A ¬ A∨ B
(∨i.2) B ¬ A∨ B
Per quanto riguarda l’eliminazione di ∨, la situazione `e assai meno chiara: che
cosa si pu`o concludere da una formula del tipo A∨B? Assai poco, sembrerebbe,
37
dal momento che non `e noto quale formula tra A e B sia vera. Supponiamo,
tuttavia, che sia A che B permettano di derivare una formula C, supponiamo
cio`e che A ¬ C e B ¬ C . In tal caso non interessa sapere chi tra A e B sia vera:
avendo come premessa A ∨ B si sa che una di esse deve essere vera, e siccome
entrambe permettono di derivare C, allora ci si aspetta che C sia derivabile da
A∨ B.
Questo ragionamento pu`o essere espresso dalla regola
(∨e) se A ¬ C e B ¬ C allora A∨ B ¬ C
Si noti che questa ha una struttura pi` u complicata delle precedenti. Nel seguito,
regole di tale tipo, che dipendono da alcune ipotesi di deducibilit`a all’interno del
sistema, saranno dette regole condizionali. Le rimanenti, elementari. Inoltre, se
A ¬ B `e una ipotesi di una regola condizionale, diremo che A e B sono rispetti-
vamente premesse e conclusioni sussidiarie della regola stessa. Ad esempio, in
(∨e), A e B sono premesse sussidiarie, e C `e una conclusione sussidiaria.
Consideriamo ora il connettivo di implicazione. Cosa si pu`o concludere da una
premessa del tipo A → B? Naturalmente, che se si ha A allora si pu`o derivare
B. Si ha dunque la seguente regola di eliminazione:
(→ e) A, A → B ¬ B
Questa `e comunemente nota con il nome di modus ponens.
Viceversa, quando `e possibile concludere A → B? Anche in questo caso la
risposta `e naturale: quando si pu`o derivare B da una premessa A, che porta
alla seguente regola condizionale di introduzione:
(→ i) se A ¬ B allora ¬ A → B
Veniamo ora al connettivo di negazione, che `e di gran lunga il pi` u problematico
dal punto di vista logico. Intuitivamente, la negazione di una formula A `e una
nuova formula che esprime la falsit`a di A. Dal punto di vista di un sistema
deduttivo, una formula `e vera se si `e in grado di fornirne una dimostrazione
all’interno di esso, cio`e se ¬ A. Questo indurrebbe a ritenere che A sia falsa
quando non esiste una dimostrazione di A, cio`e ¬ A; avremo quindi ¬ A se
e solo se ¬ A. Questa nozione di falsit`a, che chiameremo non dimostrabilit`a, `e
sicuramente accettabile da un punto di vista platonico, ma assai problematica
dal punto di vista formale. Notiamo innanzitutto che essa sarebbe curiosamen-
te “instabile”: una proposizione vera (dimostrabile nel sistema) resta tale sotto
ogni ipotesi aggiuntiva; ovviamente questo non `e vero per le proposizioni non
dimostrabili. Quindi, una formula falsa potrebbe diventare vera rispetto ad
estensioni del sistema formale.
Un secondo problema `e costituito dal fatto che, ragionevolmente, ci si attende
che il sistema logico sia chiuso per istanziazioni, cio`e che ¬ A implichi ¬ A

per
ogni istanza A

di A. Se non vogliamo cadere in ovvie contraddizioni, dovremmo
allora intendere ¬ A nel senso che nessuna istanza di A `e dimostrabile, o anche
38
che nessuna formula con “la struttura” di A `e dimostrabile
1
.
Tuttavia il problema principale legato alla nozione di falsit`a come non dimo-
strabilit`a `e che nella teoria che abbiamo sviluppato fino ad ora non si ha a
disposizione alcuno strumento (interno alla teoria) per parlare di “non dimo-
strabilit`a” (ovvero, non abbiamo considerato un sistema formale per ¬). Non
solo: non `e neppure evidente che una tale teoria debba necessariamente esiste-
re, cio`e che si possa catturare in modo effettivo il significato “platonico” della
nozione di falsit`a (questo `e ad esempio il caso, come vedremo, della logica del
primo ordine).
A causa di tutte queste difficolt`a, affronteremo il problema della formalizzazione
delle regole logiche per il connettivo di negazione in modo differente.
Diciamo che una teoria formale `e inconsistente quando permette di concludere
qualunque formula. Una formula A si pu`o allora considerare assurda se l’ipotesi
di A rende inconsistente la teoria. Possiamo quindi ragionevolmente interpreta-
re la nozione di falsit`a come assurdit`a.
Si introduce nel sistema formale una costante ⊥ che denota inconsistenza (o
falsit`a, nella nostra nuova accezione). Per definizione di ⊥ si ammetter`a nel
sistema la regola di eliminazione:
(⊥e) ⊥ ¬ A
La negazione `e quindi introdotta dalla seguente regola condizionale:
(i) se A ¬ ⊥ allora ¬ A
Ci si aspetta inoltre che la regola precedente sia “invertibile”, nel senso che,
avendo A, l’ipotesi aggiuntiva di A renda inconsistente il sistema. Questo d`a
la regola di eliminazione per la negazione:
(e) A, A ¬ ⊥
Esiste ancora una regola concernente la negazione che si potrebbe ragionevol-
mente aggiungere al sistema: se una formula B `e dimostrabile assumendo A,
e la stessa formula `e dimostrabile assumendo A, allora l’ipotesi di A o A
sembrerebbe superflua e potremmo concludere che B `e comunque dimostrabile:
se A ¬ B e A ¬ B allora ¬ B
Si osservi che grazie a (∨e) questa regola `e equivalente all’assunzione ¬ (A∨A)
(terzium non datur). Ora, tale assunzione `e del tutto ragionevole dal punto di
vista della interpretazione semantica della nozione di “verit`a”, ma lo `e assai
meno se si interpreta “verit`a” nel senso di dimostrabilit`a: intuitivamente, nulla
ci dice che una dimostrazione di A o di A debba necessariamente esistere.
1
Supponiamo che il sistema sia chiuso per istanziazioni. Se esso permettesse di provare
A, con A variabile proposizionale, allora ogni formula sarebbe dimostrabile, ed il sistema
sarebbe triviale. Supponiamo dunque A. Allora, platonicamente, ¬A. Ma ancora siamo
liberi di istanziare A, ottenendo ad esempio ¬(A → A) che `e intuitivamente scorretto.
39
Per approfondire il problema, consideriamo alcune formulazioni alternative della
regola precedente.
Nel caso particolare in cui B ≡ A, questa si pu`o riscrivere nel seguente modo
(nota come regola di Peirce):
se A ¬ A allora ¬ A
Ma se vale (e), da ¬ A si pu`o concludere A ¬ ⊥. Viceversa, se vale (⊥e),
A ¬ ⊥ implica A ¬ A. Dunque, se il sistema formale soddisfa (e) e (⊥i),
l’ipotesi A ¬ A `e equivalente a A ¬ ⊥, e la regola di Peirce pu`o essere riscritta
nel modo seguente:
(RAA) se A ¬ ⊥ allora ¬ A
Questa `e la nota legge di reductio ad absurdum, che `e il principio delle prove per
contraddizione: per “dimostrare” A si fa vedere che la sua negazione conduce
ad un assurdo. Questo passaggio `e ragionevolmente sospetto: ci`o che si pu`o di-
re `e che, per una ragione essenzialmente “semantica” (classicamente intesa ma,
questa, altamente intuitiva), e quindi trascendente dal sistema formale, A deve
essere “valida”. Tuttavia si pu`o ragionevolmente concludere di avere in questo
modo una dimostrazione di A?
La questione non `e trascurabile. I sistemi logici che si ottengono assumendo
o rifiutando la regola (RAA) o quelle ad essa equivalenti sono profondamen-
te diversi. I primi sono detti sistemi classici, e saranno quelli che tratteremo
in questo testo. I secondi sono noti come sistemi intuizionisti
2
. La differenza
tra sistemi classici ed intuizionisti e la rilevanza matematica di questi ultimi
si apprezza maggiormente a livello di calcolo dei predicati, dove ritorneremo
brevemente sull’argomento. Per quel che concerne la logica proposizionale, la
differenza pi` u evidente `e che nei sistemi intuizionisti, ogni volta che si ha una
dimostrazione di A∨B, questo significa che si ha o una dimostrazione di A o una
di B, che appunto esprime la natura costruttiva del connettivo di disgiunzione.
Ovviamente tale propriet`a non vale nei sistemi classici: si pensi a ¬ A∨A: in
generale, n`e A n`e A `e dimostrabile.
Esiste ancora una regola importante che deve essere soddisfatta dal sistema de-
duttivo. In particolare, ci si aspetta che le dimostrazioni siano componibili: se da
un insieme di ipotesi Γ si deduce A, e da un insieme di ipotesi Γ, A si deduce B,
la composizione di queste due dimostrazioni deve risultare in una dimostrazione
di B dalle ipotesi Γ. Si noti che tale regola esprime una delle caratteristiche pi` u
naturali dei procedimenti dimostrativi: per provare un teorema complesso B, si
pu`o cominciare con il dimostrare dei lemmi pi` u semplici (A, in questo caso), e
poi provare B utilizzando questi.
La regola precedente `e nota in letteratura come regola di taglio
3
; nella nostra
notazione pu`o essere espressa nel modo seguente:
(taglio) se Γ ¬ A e Γ, A ¬ B allora Γ ¬ B
2
I sistemi intuizionisti, sono spesso chiamati sistemi costruttivi.
3
Cut rule, in inglese. Il nome originale, utilizzato dal logico tedesco Gentzen `e schnitt.
40
2.2 La Deduzione Naturale
Fino ad ora abbiamo semplicemente considerato un insieme di propriet`a au-
spicabili per un sistema deduttivo che voglia modellare un procedimento di
dimostrazione. Affrontiamo ora il problema di dare una definizione formale di
tale sistema sotto forma di un calcolo logico.
Studieremo nel seguito varie formalizzazioni possibili. La prima che prendiamo
in esame, introdotta da Gentzen [Gen34, Gen55], `e nota con il nome di Dedu-
zione Naturale
4
.
Consideriamo innanzitutto le regole elementari del paragrafo precedente. L’i-
dea di Gentzen `e quella di dare una semplice rappresentazione di esse, scrivendo
le premesse al di sopra di una linea orizzontale, e la conclusione al di sotto di
questa. La linea orizzontale, che svolge il ruolo di ¬, rappresenta dunque un
passo elementare di inferenza.
In questa notazione, abbiamo le seguenti regole:
(∧e.1)
A∧ B
A
(∧e.2)
A∧ B
B
(∧i)
A B
A∧ B
(∨i.1)
A
A∨ B
(∨i.2)
B
A∨ B
(→ e)
A A → B
B
(⊥e)

A
(e)
A A

L’idea `e che, qualora la conclusione di una regola coincide con la premessa di
un’altra, queste possono essere composte, dando luogo ad una dimostrazione
che ha la forma di albero. Si noti che tale tipo di composizione `e giustificata
dalla regola di taglio.
Se l’insieme delle foglie dell’albero `e contenuto in Γ e la radice `e C, l’albero
rappresenter`a una dimostrazione di Γ ¬ C.
Esempio 2.1 L’albero
A∧ B
B
A∧ B
A
B ∧ A B ∧ A → C
C
C ∨ D
rappresenta una dimostrazione di A∧ B, B ∧ A → C ¬ C ∨ D.
4
Un classico riferimento bibliografico per la Deduzione Naturale `e il libro di Prawitz [Pra65];
per una semplice introduzione a questo sistema di calcolo si veda [VDa80].
41
Veniamo al caso delle regole condizionali, cio`e regole che dipendono da alcune
ipotesi del tipo Γ ¬ C. La soluzione di Gentzen consiste nello scrivere le premesse
sussidiarie (Γ) tra parentesi al di sopra della conclusione sussidiaria (C) che a
sua volta diventa premessa della regola principale.
Avremo dunque le seguenti regole:
(∨e)
A∨ B
[A]
C
[B]
C
C
(→ i)
[A]
B
A → B
(i)
[A]

A
(RAA)
[A]

A
L’idea `e che, durante l’applicazione di una di queste regole, ogni ipotesi A che
compare tra parentesi nella regola pu`o essere cancellata nel sottoalbero la cui
radice `e la formula sottostante ad [A] nella regola stessa (l’ipotesi cancellata
sar`a rappresentata tra parentesi quadre anche negli alberi di prova). Un albero
di derivazione di radice C il cui insieme di foglie non cancellate `e contenuto in
Γ costituisce una prova di Γ ¬ C.
Consideriamo qualche esempio. Da A posso derivare B → A mediante una
applicazione di (→ i).
A
B → A
La regola consentirebbe inoltre di cancellare eventuali premesse (foglie) di tipo
B nel sottoalbero di radice A. Poich´e in questo caso non ve ne sono (il sottoal-
bero `e la foglia A stessa), non si opera nessuna cancellazione. Continuiamo la
derivazione con un’altra applicazione di (→ i) per ottenere A → (B → A). In
questo caso, `e possibile cancellare la foglia A dal sottoalbero di radice B → A.
[A]
B → A
A → (B → A)
Si noti che l’albero non contiene foglie non cancellate: esso rappresenta una
dimostrazione di ¬ A → (B → A).
`
E bene che il lettore si soffermi a riflettere sul ruolo della cancellazione. Con-
sideriamo, per fissare le idee, l’esempio precedente. Avendo A come ipotesi `e
stata fornita una dimostrazione di B → A. Ovviamente, per poter concludure
A → (B → A), non si ha pi` u bisogno dell’ipotesi A, poich´e, per cos`ı dire, `e sta-
ta incorporata all’interno dell’asserto (che `e appunto la funzione delle formule
condizionali o implicative). Si noti anche, tuttavia, che non sarebbe scorretto
mantenere l’ipotesi A: la regola di cancellazione permette, ma non obbliga, di
cancellare le formule che appaiono tra parentesi quadre nello schema di regola.
Vediamo qualche altro esempio.
42
Esempio 2.2 Proviamo che ¬ (A → (B → C)) → (A∧ B → C)
[A∧ B]
B
[A∧ B]
A [A → (B → C)]
B → C
C
A∧ B → C
(A → (B → C)) → (A∧ B → C)
Osserviamo che tutte le ipotesi sono cancellate. In particolare, le due occor-
renze dell’ipotesi A ∧ B sono cancellate durante l’introduzione di A ∧ B → C,
e l’ipotesi A → (B → C) `e cancellata durante l’introduzione di (A → (B →
C)) → (A∧ B → C).
La Deduzione Naturale `e un formalismo semplice ed elegante per la rappresen-
tazione di dimostrazioni, ma piuttosto difficile da usare nella ricerca di que-
ste. Vediamo, a titolo di esempio, come si potrebbe cercare di costruire l’al-
bero di derivazione dell’esempio precedente. L’obiettivo `e quello di dimostrare
(A → (B → C)) → (A ∧ B → C). Poich´e il connettivo principale di questa
formula `e una implicazione, ci si pu`o aspettare che l’ultima regola applicata (dal
basso) sia stata (→ i) (si noti tuttavia che questa non `e la sola possibilit`a: ad
esempio la regola “corretta” potrebbe essere, a priori, una regola di riduzione
ad assurdo). Seguendo tale strategia, dobbiamo ora cercare una dimostrazione
di A ∧ B → C avendo a disposizione A → (B → C) come ipotesi. Ancora,
questo pu`o ridursi a cercare di dimostrare C dalle ipotesi A → (B → C) e
A∧B. Ma ci`o `e semplice: avendo A∧B si possono derivare sia A che B, e dun-
que, mediante due applicazioni della regola (→ i), si ottiene C da A → (B → C).
Esempio 2.3 Proviamo che A → A. Infatti
[A] [A]

A
A → A
Le ipotesi A e A sono cancellate, rispettivamente con l’applicazione delle regole
(i) e (→ i).
43
Esempio 2.4 Proviamo che ¬ (A → C) → ((B → C) → ((A∨ B) → C))
[A∨ B]
[A] [A → C]
C
[B] [B → C]
C
C
A∨ B → C
(B → C) → ((A∨ B) → C)
(A → C) → ((B → C) → ((A∨ B) → C))
Le ipotesi A e B sono cancellate applicando (∨e), mentre A ∨ B, B → C e
A → C sono cancellate, rispettivamente, durante l’introduzione di A∨ B → C,
(B → C) → ((A∨ B) → C) e (A → C) → ((B → C) → ((A∨ B) → C)).
Invitiamo il lettore a cercare le dimostrazioni in Deduzione Naturale di alcune
semplici tautologie logiche: vedr`a che in molti casi `e assai meno facile di quanto
si possa immaginare.
Si osservi che la notazione che `e stata adottata per la rappresentazione delle
dimostrazioni, ed in particolare per la cancellazione delle ipotesi, `e ambigua.
Consideriamo, ad esempio, la seguente dimostrazione di ¬ A → (A → A)
[A]
A → A
A → (A → A)
Non `e chiaro se l’ipotesi A sia stata cancellata durante la prima o la seconda
applicazione di (→ i). Questa ambiguit`a non `e rilevante se si `e semplicemente
interessati al problema dell’esistenza di una dimostrazione. Il caso `e differente
se si `e anche interessati alla dimostrazione in se stessa. Ad esempio, le due dimo-
strazioni precedenti di ¬ A → (A → A) sono concettualmente molto diverse: la
prima segue lo schema di dimostrazione di ¬ B → (A → A), mentre la seconda
quello di ¬ A → (B → A).
Si noti che le dimostrazioni stesse hanno un ovvio interesse matematico. Se si
pensa a un sistema informatico interattivo per il supporto alla dimostrazione o
alla verifica automatica di teoremi, e dunque alla memorizzazione di ampie parti
di teorie esistenti, risulta evidente che non basta un elenco pi` u o meno struttu-
rato di teoremi, ma si vuole poter rappresentare, unitamente ad essi, anche le
loro dimostrazioni, come avviene in qualunque testo matematico. Ovviamente,
dimostrazioni differenti dovrebbero avere rappresentazioni differenti.
Quella parte della logica che si occupa in modo preminente delle dimostrazioni,
e dei problemi di rappresentazione, equivalenza, normalizzazione, ecc. va ap-
punto sotto il nome di teoria della dimostrazione.
Nel caso della Deduzione Naturale, l’ambiguit`a notazionale evidenziata in pre-
cedenza pu`o essere risolta, ad esempio, numerando (o etichettando) in modo
univoco tutte le ipotesi, e specificando per ogni applicazione di una regola qua-
li di queste sono eventualmente cancellate. In modo equivalente, `e possibile
44
aggiungere dei puntatori da ogni regola che prevede cancellazione alle ipotesi
cancellate durante l’applicazione della regola stessa.
2.3 Sistemi Assiomatici
L’idea alla base dei Sistemi Assiomatici
5
`e quella di accettare come unica regola
di inferenza il modus ponens
(→ e) A, A → B ¬ B
introducendo opportuni assiomi (particolari formule logiche di cui si assume la
verit`a) in sostituzione delle altre regole.
Supponiamo per il momento di accettare non solo il modus ponens, ma anche
la regola di introduzione del connettivo di implicazione:
(→ i) se A ¬ B allora ¬ A → B
Si noti che la congiunzione di queste due regole implica che
A ¬ B se e solo se ¬ A → B
Come conseguenza, ogni ipotesi A ¬ B di una regola condizionale pu`o essere
rimpiazzata da ¬ A → B. Ad esempio, la regola
(∨e) se A ¬ C e B ¬ C allora A∨ B ¬ C
pu`o essere riscritta nella forma
se ¬ A → C e ¬ B → C allora A∨ B ¬ C
Ma a questo punto `e possibile aggiungere direttamente le conclusioni sussidiarie
come premesse della conclusione principale. Infatti, scrivere che se A → C e
B → C sono dimostrabili, allora anche A ∨ B ¬ C lo `e, `e del tutto equivalente
a scrivere che A ∨ B ¬ C `e dimostrabile a condizione di avere anche le ipotesi
A → C e B → C, ovvero
A → C, B → C, A∨ B ¬ C
Quindi tutte le regole possono essere espresse in forma elementare.
Inoltre, ogni regola elementare della forma
A
1
, A
2
, . . . , A
n
¬ B
pu`o essere sostituita da
¬ A
1
→ (A
2
→ . . . (A
n
→ B) . . . )
5
In letteratura, tali sistemi sono anche noti come Sistemi alla Hilbert.
45
Applicando il procedimento precedente alle regole del paragrafo 2.1, si ottengo-
no quindi i seguenti assiomi:
(∧e.1) ¬ (A∧ B) → A
(∧e.2) ¬ (A∧ B) → B
(∧i) ¬ A → (B → (A∧ B))
(∨i.1) ¬ A → (A∨ B)
(∨i.2) ¬ B → (A∨ B)
(∨e) ¬ (A → C) → ((B → C) → ((A∨ B) → C))
(⊥e) ¬ ⊥ → A
(i) ¬ (A → ⊥) → A
(e) ¬ A → (A → ⊥)
(RAA) ¬ (A → ⊥) → A
Vediamo ora di eliminare la regola (→ i). In altri termini, si vogliono trovare
degli assiomi tali che il sistema deduttivo cos`ı ottenuto soddisfi come meta-
teorema la regola
se A ¬ C allora ¬ A → C
avendo a disposizione il modus ponens come unica regola di inferenza.
Supponiamo di avere una dimostrazione di A ¬ C nel sistema con solo (→ e), e
vediamo che assiomi aggiungere per poter dimostrare ¬ A → C.
Procediamo per induzione sul numero di applicazioni di (→ e) nella dimostra-
zione di A ¬ C.
Se (→ e) non `e mai stato utilizzato (caso base dell’induzione), ci sono due pos-
sibilit`a: o C = A, oppure C `e un assioma. Nel primo caso, baster`a aggiungere
l’assioma ¬ A → A. Nel secondo, esiste una dimostrazione di C, in quanto C `e
un assioma. Dunque `e sufficiente aggiungere il nuovo assioma ¬ C → (A → C)
per ottenere ¬ (A → C) con una applicazione di (→ e).
Veniamo al caso induttivo. Supponiamo che la dimostrazione di A ¬ C sia stata
ottenuta mediante n + 1 applicazioni di modus ponens. Siccome questa `e la
sola regola di inferenza del sistema, C deve essere la conclusione di una appli-
cazione di modus ponens a partire da due premesse della forma B → C e B.
Inoltre, queste due formule devono essere entrambe derivabili da A (altrimenti
non avremmo una dimostrazione di A ¬ C). Si ha quindi A ¬ B → C e A ¬ B.
Queste due dimostrazioni conterranno un numero di applicazioni di modus po-
nens inferiore o uguale ad n. Possiamo dunque applicare l’ipotesi di induzione,
concludendo che esistono due dimostrazioni di ¬ A → (B → C) e ¬ (A → B),
rispettivamente. Dunque, per ottenere ¬ A → C basta aggiungere l’assioma
¬ (A → (B → C)) → ((A → B) → (A → C)).
Riassumendo, la regola (→ i) diventa derivabile a condizione di assumere i se-
guenti assiomi:
46
(I) ¬ A → A
(K) ¬ A → (B → A)
(S) ¬ (A → (B → C)) → ((A → B) → (A → C))
Il risultato precedente pu`o essere generalizzato ad un numero arbitrario di ipotesi
A
1
, . . . , A
n−1
, A
n
. In particolare, vale il seguente teorema, la cui dimostrazione
formale (che si basa sul ragionamento precedente) `e lasciata al lettore come
esercizio.
Teorema 2.1 (Deduzione)
Se A
1
, . . . , A
n−1
, A
n
¬ B, allora A
1
, . . . , A
n−1
¬ A
n
→ B.
Osservazione Gli assiomi del sistema logico sono in realt`a degli schemi di
assiomi. Questo significa che ogni loro istanziazione `e un assioma. Ad esempio,
A → (A → A) `e un assioma ottenuto per sostituzione di A al posto di B in (K).
Dunque, in realt`a si hanno una infinit`a di assiomi: gli schemi sono un modo
conveniente per rappresentare questa infinit`a in modo finitistico.
Anche nei Sistemi Assiomatici possiamo convenientemente rappresentare le di-
mostrazioni sotto forma di albero. In questo caso, le foglie possono essere ipotesi
o assiomi. Un albero di derivazione di radice B le cui foglie che non siano as-
siomi sono contenute in Γ rappresenta una dimostrazione di Γ ¬ B.
Come esempio di albero di derivazione, mostriamo come l’assioma (I) sia in
realt`a ridondante, nel senso che `e derivabile dai rimanenti. Infatti, come caso
particolare di (S), sostituendo A → A al posto di B ed A al posto di C si ha
S[
A→A
/
B
,
A
/
C
] ≡ (A → ((A → A) → A)) → ((A → (A → A)) → (A → A))
Inoltre, come casi particolari di (K) abbiamo
K[
A→A
/
B
] ≡ A → ((A → A) → A)
K[
A
/
B
] ≡ A → (A → A)
Dunque, il seguente albero di prova `e una dimostrazione di ¬ A → A:
S[
A→A
/
B
,
A
/
C
] K[
A→A
/
B
]
(A → (A → A)) → (A → A) K[
A
/
B
]
A → A
D’ora in avanti, eviteremo di specificare le particolari istanze degli assiomi uti-
lizzate negli alberi di prova, cio`e utilizzeremo gli assiomi in modo polimorfo. Nel
caso dell’esempio precedente avremo dunque semplicemente
S K
(A → (A → A)) → (A → A) K
A → A
47
`
E possibile dimostrare che questa notazione non `e ambigua, nel senso che una
volta fissata la radice dell’albero esiste sempre un modo pi` u generale (cio`e il
meno istanziato possibile) per istanziare opportunamente gli assiomi in modo
da ottenere un albero di derivazione abituale (a condizione, ovviamente, che lo
“schema” di albero sia corretto).
In generale, `e estremamente difficile sviluppare delle dimostrazioni nei Sistemi
Assiomatici. Il teorema di deduzione `e, in tal senso, uno strumento indispensa-
bile.
Esempio 2.5 Cerchiamo una dimostrazione di ¬ A ∨ A nel calcolo assioma-
tico. Dimostriamo innanzi tutto che (A∨ A), A ¬ ⊥:
(A∨ A)
A A → (A∨ A)
A∨ A A∨ A → ((A∨ A) → ⊥)
(A∨ A) → ⊥

In modo analogo, si dimostra che (A ∨ A), A ¬ ⊥. Allora, per il teorema
di deduzione, devono esistere due dimostrazioni di (A ∨ A) ¬ A → ⊥ e
(A∨A) ¬ A → ⊥. Da queste, utilizzando rispettivamente gli assiomi (i) e
(RAA) si ottengono in un passo di modus ponens le dimostrazioni di (A∨A) ¬
A e (A∨A) ¬ A. Utilizzando l’assioma (e), con due applicazioni di modus
ponens si ricava quindi una dimostrazione di (A ∨ A) ¬ ⊥. Dunque, per il
teorema di deduzione, esiste una dimostrazione di ¬ (A∨A) → ⊥. Per modus
ponens a partire dall’istanza ((A∨A) → ⊥) → (A∨A) di (RAA), si ottiene
infine la dimostrazione cercata di A∨ A.
2.3.1 Formule e tipi
Nel caso dei Sistemi Assiomatici si pu`o introdurre una notazione, molto pi` u
compatta degli alberi, per rappresentare le dimostrazioni. Si osservi che il mo-
dus ponens permette di trasformare le dimostrazioni t
1
e t
2
di A → B ed A in
una dimostrazione di B.
`
E possibile quindi introdurre un operatore binario “”
e rappresentare con (t
1
t
2
) la dimostrazione di B cos`ı ottenuta. Una interpreta-
zione particolarmente suggestiva di questa rappresentazione `e quella di vedere
una dimostrazione t di una formula A come un oggetto di tipo A (scriveremo
t : A). La formula A → B pu`o essere vista come l’insieme delle funzioni da A
in B, cio`e come l’insieme di quelle trasformazioni che permettono di ottenere
un oggetto di tipo B (una prova di B) a partire da un oggetto di tipo A (una
prova di A). A questo punto, la regola di modus ponens dice semplicemente che
applicando una funzione t
1
di tipo A → B ad un oggetto t
2
di tipo A si ottiene
un oggetto (t
1
t
2
) di tipo B.
In tal modo, si pu`o dare una semplice rappresentazione lineare per tutte le di-
mostrazioni. Gli assiomi saranno rappresentati da particolari costanti del tipo
opportuno (si possono utilizzare i nomi degli assiomi a questo scopo), mentre
48
eventuali foglie dell’albero differenti dagli assiomi saranno rappresentate da va-
riabili (ancora, del tipo opportuno). Una dimostrazione sar`a allora descritta
da un qualche polinomio sul nostro alfabeto di variabili e costanti, cio`e da un
qualche termine M costruito a partire da variabili e costanti per mezzo del-
l’operatore binario di applicazione (modus ponens). In particolare, dato un
albero che rappresenta una derivazione A
1
, A
2
, . . . A
n
¬ B, la stessa dimostra-
zione pu`o essere rappresentata da un termine M con variabili libere contenute
in x
1
: A
1
, x
2
: A
2
, . . . , x
n
: A
n
. In questo caso si scriver`a
x
1
: A
1
, . . . , x
n−1
: A
n−1
, x
n
: A
n
¬ M : B
Ad esempio, utilizzando questa notazione, e sfruttando il polimorfismo degli
assiomi, la dimostrazione di I data in precedenza pu`o essere semplicemente rap-
presentata dal termine chiuso ((S K) K), (nel seguito ometteremo il punto che
denota l’applicazione e scriveremo semplicemente (t
1
t
2
) al posto di (t
1
t
2
)).
Analogamente, la dimostrazione di (A ∨ A), A ¬ ⊥ dell’Esempio 2.5, `e rap-
presentata dal termine:
x : (A∨ A), y : A ¬ ((e (∨i.1 y)) x) : ⊥
Ovviamente, non tutti i termini di questo linguaggio rappresentano delle di-
mostrazioni, cos´ı come non tutti gli alberi sono degli alberi di prova corretti.
Riprendendo l’analogia precedente tra formule e tipi, l’ovvia condizione da ri-
spettare `e che il termine sia ben tipato.
Una interessante conseguenza del fatto di aver espresso le dimostrazioni co-
me termini (di un linguaggio tipato), `e il poter esprimere le equivalenze tra
dimostrazioni come semplici uguaglianze tra questi termini. Consideriamo ad
esempio l’assioma K : A → (B → A). Questo pu`o essere visto come una fun-
zione che presi due argomenti x : A e y : B restituisce un risultato ((K x) y)
di tipo A. Ovviamente, ci si aspetta che tale risultato sia lo stesso ricevuto
in ingresso, come appare evidente dalla dimostrazione che daremmo di K in
Deduzione Naturale. In altri termini, le due dimostrazioni
x : A, y : B ¬ ((K x) y) : A e
x : A, y : B ¬ x : A
sono logicamente equivalenti (bench´e strutturalmente diverse). Questa equiva-
lenza pu`o essere semplicemente espressa mediante l’equazione
(∗) ((K x) y) = x
Consideriamo ora il caso di S : (A → (B → C)) → ((A → B) → (A → C)).
Come descritto dal suo tipo, S pu`o essere visto come una funzione che presi in
ingresso gli elementi x : A → (B → C), y : A → B e z : A resituisce un risultato
(((S x) y) z) : C. Come si ottiene dai dati in ingresso un elemento di tipo C?
49
`
E necessario applicare x a z per ottenere una funzione (x z) : B → C; quindi la
si applica a (y z) : B. Come nel caso precedente, le due dimostrazioni
x : A → (B → C), y : A → B, z : A ¬ (((S x) y) z) : C e
x : A → (B → C), y : A → B, z : A ¬ ((x z) (y z)) : C
sono logicamente equivalenti. Ci`o pu`o essere semplicemente espresso dall’equa-
zione
(∗∗) (((S x) y) z) = ((x z) (y z))
Il linguaggio di termini considerato in precedenza con l’aggiunta delle regole (∗)
e (∗∗) `e noto sotto il nome di Logica Combinatoria [CF58, HS86].
Come utile esercizio, il lettore pu`o divertirsi a cercare altre equivalenze per i
rimanenti assiomi del calcolo.
Proposizione 2.2 Dato un termine M del linguaggio applicativo precedente, ed
una variabile x, sia λ

x.M il termine definito induttivamente nel modo seguente:
1. λ

x.x = I;
2. λ

x.y = (K y) per ogni variabile y = x;
3. λ

x.C = (K C) per ogni costante C;
4. λ

x.(M N) = (S λ

x.M)(λ

x.N) .
Se
x
1
: A
1
, . . . , x
n−1
: A
n−1
, x
n
: A
n
¬ M : B
allora
x
1
: A
1
, . . . , x
n−1
: A
n−1
¬ λ

x
n
.M : A → B
Dimostrazione. Si effettua per induzione strutturale su M.
`
E lasciata al lettore
come esercizio.
Si noti che questo risultato costituisce una versione effettiva del teorema di de-
duzione. La trasformazione λ

x.M fornisce un modo algoritmico, anche se un
p`o lungo e noioso, per “costruire” dimostrazioni nel sistema assiomatico utiliz-
zando il teorema di deduzione.
La λ-notazione dell’esempio precedente `e tratta dal λ calcolo
6
, un formalismo
introdotto da Church negli anni trenta per lo studio delle funzioni calcolabili
7
.
Tale formalismo `e basato solo sul concetto di applicazione di funzioni, inteso
6
Il λ calcolo costituisce il nucleo dei linguaggi di programmazione funzionali (es. Lisp, ML,
Scheme).
7
Storicamente, il λ calcolo ha avuto una notevole importanza, in quanto `e stata l’equiva-
lenza tra il λ calcolo ed il formalismo delle funzioni ricorsive, dimostrata da Kleene negli anni
trenta (si veda, a tal proposito, [Odi89]) ad indurre Church a formulare la tesi che porta il
suo nome e sulla quale si basa la Teoria della Calcolabilit` a.
50
nella sua accezione pi` u generale, e senza porre limiti sulla natura degli argo-
menti che possono essere valori o, a loro volta, funzioni. Data la generalit`a del
calcolo, Church ha introdotto la λ-notazione (da cui il λ calcolo prende nome)
per eliminare l’ambiguit`a esistente tra valori e funzioni. Infatti, supponiamo
di scrivere x; come si fa a sapere se ci si riferisce alla funzione identit`a oppure
al valore x? Nell’ “usuale” calcolo matematico, il significato risulta chiaro dal
contesto, al contrario, in un calcolo in cui l’operazione fondamentale `e quella
di applicazione di funzioni e dove non si pone alcun limite sulla natura degli
argomenti, `e necessario utilizzare una notazione differente per i due concetti.
Nel particolare esempio in esame, la notazione introdotta da Church denota con
x il valore “x” e con λx.x la funzione che, preso un argomento “x”, restituisce
lo stesso. Vediamo ora quali sono gli “oggetti” (termini) di tale formalismo. Un
termine del λ calcolo `e o una variabile, o l’applicazione (M N) di due termini
M ed N, oppure la λ astrazione λx.M di un termine M rispetto alla variabile x.
Intuitivamente, λx.M : A → B `e una funzione che associa ad un elemento gene-
rico x : A (x `e il parametro formale della funzione λx.M) il termine M : B (in
cui pu`o comparire x). Dunque, il risultato della applicazione di λx.M : A → B
ad un dato N : A (N, in questo caso, `e il parametro attuale) consiste nel termine
M dove la variabile x `e stata rimpiazzata da N, cio`e M[
N
/
x
]. Questo `e espresso
dalla seguente equazione, nota come β-equivalenza, che costituisce la principale
regola della teoria equazionale del λ calcolo:
(β) (λx.M)N = M[
N
/
x
]
Osserviamo che tale regola costituisce la generalizzazione del concetto di appli-
cazione di una funzione ad un argomento, al caso in cui questo pu`o essere un
termine qualsiasi (in particolare, anche una funzione).
Esempio 2.6 Se si definiscono K = λx.λy.x e S = λx.λy.λz.((x z) (y z))
le due equazioni della Logica Combinatoria sono una ovvia conseguenza della
regola β.
Proposizione 2.3 La trasformazione λ

definita nella Proposizione 2.2 `e una
buona codifica della λ-astrazione in Logica Combinatoria, nel senso che per tutti
i termini M ed N di questa logica, (λ

x.M)N = M[
N
/
x
].
Dimostrazione. Si effettua per induzione strutturale su M. La dimostrazione `e
lasciata al lettore come esercizio.
Osserviamo che la scelta tra l’assumere la λ astrazione come primitiva o come
derivata (come nel caso della Logica Combinatoria) corrisponde alla scelta tra
assumere o meno il principio di deduzione come principio primitivo della logica.
Dunque, il λ calcolo corrisponde ad un sistema logico in cui si assumono come
primitivi sia il modus ponens che la regola di introduzione della implicazione:
(→ i)
[x : A]
M : B
λx.M : A → B
51
In effetti, nel caso dell’implicazione, il λ calcolo risolve in modo elegante il
problema notazionale di ambiguit`a, messo in evidenza in precedenza, per le di-
mostrazioni della Deduzione Naturale (cfr. pagina 43).
La teoria equazionale del λ calcolo rispecchia meglio della Logica Combinatoria
le equivalenze logiche tra dimostrazioni (corrispondenza che `e perfetta limita-
tamente ai connettivi di congiunzione e implicazione). Per questa ragione, il λ
calcolo pu`o essere proficuamente utilizzato come linguaggio per la rappresenta-
zione di dimostrazioni.
Purtroppo una trattazione anche solo introduttiva di questo formalismo richie-
derebbe un libro a parte, ed `e assolutamente al di fuori degli intenti del presente
volume. Il lettore interessato all’argomento pu`o consultare [Chu41, Bar84].
2.3.2 Altri Sistemi Assiomatici
Il Sistema Assiomatico presentato in questo libro `e stato tratto da [Cur63]. Esi-
stono infinite altre formulazioni di calcoli logici di questo tipo che differiscono
tra loro sia nella scelta degli assiomi che nell’insieme dei connettivi logici consi-
derati come primitivi. Menzioniamo qui di seguito alcuni dei pi` u celebri.
Nel caso in cui il sistema contenga i connettivi di congiunzione e disgiunzione,
gli assiomi dati in precedenza sono piuttosto tradizionali; l’unica differenza `e
che abitualmente si preferisce sostituire (∧i) con l’assioma equivalente
¬ (A → B) → ((A → C) → (A → B ∧ C)
per ovvie ragioni di simmetria con (∨e).
Il Sistema Assiomatico di Hilbert e Bernays, contenuto nella loro classica opera
Grundlagen der Mathematik [HB34] introduce i seguenti assiomi per implicazio-
ne e negazione:
1. A → (B → A)
2. (A → (A → B)) → (A → B)
3. (A → B) → ((B → C) → (A → C))
4. (A → B) → (B → A)
5. A → A
6. A → A
Un celebre esempio di sistema logico che si serve solo dei connettivi di impli-
cazione e negazione ed introduce gli altri per definizione si deve a Lukasiewicz
([Chu56]). Esso consta di tre soli assiomi:
1. (A → B) → ((B → C) → (A → C))
2. (A → A) → A
3. A → (A → B)
52
Al contrario, Russel e Whitehead, nei Principia Mathematica [RW10] hanno
scelto, come primitivi, i connettivi di negazione e disgiunzione, proponendo i
seguenti assiomi
8
:
1. (A∨ A) ∨ A
2. A∨ (B ∨ A)
3. (A∨ B) ∨ (B ∨ A)
4. (A∨ (B ∨ C)) ∨ (B ∨ (A∨ C))
5. (A∨ B) ∨ ((C ∨ A) ∨ (A∨ B))
In questo caso, la regola di modus ponens `e sostituita dalla simile regola di
sostituzione:
A∨ B A
B
2.4 Relazione tra ND e H
Nei paragrafi precedenti sono stati introdotti due sistemi formali per rappre-
sentare e sviluppare dimostrazioni. La domanda che sorge naturale `e se i due
sistemi permettono di ottenere gli stessi risultati, ovvero se l’insieme delle for-
mule derivabili da un insieme di ipotesi Γ sia lo stesso per entrambi i sistemi.
Dimostriamo per prima cosa che ogni formula derivabile da Γ nel sistema assio-
matico presentato nella sezione 2.3, al quale ci riferiremo come H, lo `e anche in
Deduzione Natuale, ovvero
Teorema 2.4 Γ ¬
H
A implica Γ ¬
ND
A.
Dimostrazione. Osserviamo che le prove in H costituiscono un caso particolare
di quelle in Deduzione Naturale. L’unica differenza `e che le “foglie” dell’albero di
prova possono essere anche assiomi. Dunque, per trasformare una dimostrazione
nel sistema H in una dimostrazione in Deduzione Naturale basta espandere
gli assiomi nelle loro rispettive dimostrazioni in Deduzione Naturale. In altri
termini, `e sufficiente provare che ogni assioma di H `e dimostrabile in Deduzione
Naturale.
Consideriamo l’assioma A → (A → A∧B)). La sua dimostrazione in Deduzione
Naturale `e
[A] [B]
A∧ B
B → (A∧ B)
A → (B → (A∧ B))
8
Bernays not`o, in seguito, che l’assioma 4. `e in realt`a ridondante.
53
Consideriamo S:
[A → (B → C)] [A]
B → C
[A → B] [A]
B
C
A → C
(A → B) → (A → C)
(A → (B → C)) → ((A → B) → (A → C))
La ricerca delle dimostrazioni in DN dei rimanenti assiomi `e lasciata al lettore
come esercizio.
Veniamo quindi al viceversa, ovvero:
Teorema 2.5 Γ ¬
ND
A implica Γ ¬
H
A.
Dimostrazione. La dimostrazione si effettua per induzione sulla profondit`a del-
l’albero di prova di Γ ¬
ND
A.
(caso base) L’albero ha profondit` a 1, ossia `e costituito dalla sola formula A.
Questo implica che A deve essere contenuta in Γ, e lo stesso albero `e anche una
dimostrazione di Γ ¬
H
A.
Veniamo al passo induttivo. Supponiamo che l’asserto sia vero per tutti gli al-
beri di prova di Γ ¬
ND
A di profondit`a minore o uguale ad n, e dimostriamo
che `e vero anche per gli alberi di profondit`a n + 1.
`
E necessario considerare dei sottocasi a seconda dell’ultima regola applicata nel-
l’albero di derivazione. Vi saranno quindi tanti sottocasi quante sono le regole
della Deduzione Naturale.
• Supponiamo che l’ultima regola applicata sia (∧e.1). Questo significa che
l’albero di prova per Γ ¬
ND
A ∧ B ha profondit`a minore o uguale di n.
Per ipotesi induttiva esiste dunque una dimostrazione di Γ ¬
H
A ∧ B.
Utilizzando l’assioma ¬ (A ∧ B) → A, con una applicazione di modus
ponens si ottiene una dimostrazione di Γ ¬
H
A.
• Supponiamo che l’ultima regola applicata sia (∨e). Vi sono dunque degli
alberi di prova per Γ ¬
ND
C∨D, Γ, C ¬
ND
A e Γ, D ¬
ND
A di profondit`a
minore o uguale ad n. Per ipotesi induttiva, risulta Γ ¬
H
C ∨D, Γ, C ¬
H
A e Γ, D ¬
H
A. Per il teorema di deduzione, si ha Γ ¬
H
(C → A) e
Γ ¬
H
(D → A). Utilizzando l’assioma ¬ (C → A) → ((D → A) →
((C∨D) → A)), mediante tre applicazioni di modus ponens si ottiene una
dimostrazione di Γ ¬
H
A.
I rimanenti casi sono lasciati al lettore come esercizio.
2.5 IL Calcolo dei Sequenti
Passiamo ora a considerare una terza classe di sistemi logici formali introdotta,
come la Deduzione Naturale, da Gentzen [Gen34], e nota come Calcolo dei Se-
quenti (per delle trattazioni pi` u recenti si vedano [Cur63, Tak75, Gal86, TS96]).
54
Questo tipo di calcolo differisce dai sistemi precedenti per due aspetti fonda-
mentali:
1. mentre in Deduzione Naturale e nei Sistemi Assiomatici le regole di in-
ferenza si applicano a formule logiche, nel Calcolo dei Sequenti queste si
applicano ad asserzioni di derivabilit`a del tipo A
1
, . . . , A
n
¬ B, denomi-
nate sequenti. Una regola di inferenza in tale calcolo consente di derivare
un nuovo sequente in funzione di altri sequenti assunti come premesse. In
altre parole, la regola di inferenza esprime cosa si pu`o derivare nel siste-
ma in funzione di precedenti assunzioni di derivabilit`a (cosa molto simile
a quanto `e stato fatto nell’introduzione a questo capitolo, discutendo le
propriet`a che il sistema logico formale deve intuitivamente soddisfare).
2. tutte le regole sono tali che nuovi connettivi logici possono essere solo
introdotti ma mai eliminati. Questo fornisce al sistema una struttura
quasi costruttiva che ha molte importanti conseguenze sulla (meta) teoria
delle dimostrazioni.
Cominciamo l’analisi del sistema.
Come gi`a detto, un sequente `e una espressione del tipo
9
A
1
, . . . , A
n
¬ B
L’idea intuitiva `e che il sequente afferma (ipotizza) la derivabilit`a logica di B in
funzione delle premesse A
1
, . . . , A
n
.
In generale, useremo le lettere greche ∆, Γ, . . . per esprimere delle sequenze finite
di fbf.
Definizione 2.6 Una regola di inferenza ha la forma
S
1
S
o
S
1
S
2
S
dove S
1
, S
2
ed S sono sequenti. S
1
ed S
2
sono detti premesse della regola, mentre
S `e detto conclusione.
Tale regola asserisce che dato S
1
(rispettivamente, dati S
1
ed S
2
) si pu`o dedurre
S. S
1
ed S
2
sono dette premesse, mentre S `e detta conclusione.
Nel Calcolo dei Sequenti, vi sono quattro gruppi di regole: assiomi, cut, regole
strutturali e regole logiche. Vediamole in dettaglio.
La prima domanda che ci si pone `e la seguente: quando si pu´o sostenere che
un sequente Γ ¬ B `e evidentemente vero? Chiaramente, quando B compare
nell’insieme di ipotesi Γ. Questo conduce al seguente assioma:
(Ax) Γ ¬ B se B ∈ Γ
9
Vedremo, nel seguito, che in realt`a saremo costretti a considerare una forma pi` u generale
di sequente.
55
La regola di taglio, gi`a discussa a p. 39, ha la seguente forma:
(taglio)
Γ ¬ A A, Γ

¬ B
Γ, Γ

¬ B
Veniamo quindi alle regole strutturali che consentono di manipolare l’ordine ed
il numero delle ipotesi. In particolare, queste stabiliscono che:
1. l’ordine delle ipotesi `e irrilevante (regola di permutazione):
(perm)
Γ ¬ A
Γ

¬ A
se Γ

`e una permutazione di Γ.
2. assumere due volte una ipotesi B `e equivalente ad assumere B una sola
volta (regola di contrazione):
(contr)
Γ, B, B ¬ A
Γ, B ¬ A
3. `e sempre possibile aggiungere nuove ipotesi (regola di indebolimento):
(indeb)
Γ ¬ A
Γ, B ¬ A
Si noti che in virt` u di tale regola, l’assioma pu`o essere espresso nella seguente
forma, pi` u debole della precedente:
(Ax) A ¬ A
Le regole logiche sono quelle concernenti i connettivi logici. Come gi`a accennato
in precedenza, avremo in questo caso solo regole di introduzione dei connettivi,
che saranno classificate in destre (r) o sinistre (l) a seconda che permettano di
introdurre il connettivo logico nella parte destra o in quella sinistra del sequente
che `e conclusione della regola.
Riprendendo l’introduzione a questo capitolo, molte di queste regole sono del
tutto intuitive:
56
(∧l.1)
Γ, A ¬ C
Γ, A∧ B ¬ C
(∧r)
Γ ¬ A Γ ¬ B
Γ ¬ A∧ B
(∧l.2)
Γ, B ¬ C
Γ, A∧ B ¬ C
(∨l)
Γ, A ¬ C Γ, B ¬ C
Γ, A∨ B ¬ C
(∨r.1)
Γ ¬ A
Γ ¬ A∨ B
(∨r.2)
Γ ¬ B
Γ ¬ A∨ B
(→ l)
Γ ¬ A Γ, B ¬ C
Γ, A → B ¬ C
(→ l)
Γ, A ¬ B
Γ ¬ A → B
Veniamo ora alla negazione. Anzich´e introdurre una costante ⊥ che denota in-
consistenza, si far`a l’ipotesi che la parte destra del sequente possa essere vuota
(cio`e si ammetteranno dei sequenti del tipo Γ ¬ ), interpretando l’assenza della
conclusione come inconsistenza delle premesse.
La regola che permette di derivare qualunque formula in presenza di inconsi-
stenza assume allora il seguente aspetto
Γ ¬
Γ ¬ A
e pu`o essere assimilata ad una regola di indebolimento a destra (una regola
strutturale, dunque).
Le regole di introduzione della negazione sono:
(l)
Γ ¬ A
Γ, A ¬
(r)
Γ, A ¬
Γ ¬ A
Il sistema presentato fino ad ora corrisponde all’insieme delle regole logiche che
abbiamo chiamato intuizioniste, ed `e noto come sistema LJ.
Per ottenere un sistema di logica classica `e necessario aggiungere la regola di
riduzione ad assurdo o una regola ad essa equivalente. Prima di discutere tale
regola `e bene tuttavia soffermarsi ad analizzare alcune propriet`a importanti del
calcolo che abbiamo appena sviluppato.
Nel calcolo appena presentato, la regola di taglio `e ridondante. Il fatto che ogni
dimostrazione di un sequente Γ ¬ A che fa uso di questa regola possa essere
riscritta in una dimostrazione dello stesso sequente senza uso di tagli costituisce
uno dei maggiori meta-teoremi del Calcolo dei Sequenti, noto come Gentzen’s
Hauptsatz.
Data una dimostrazione priva di tagli, la propriet`a pi` u eclatante del Calcolo dei
Sequenti, `e la cosiddetta propriet`a della sottoformula: una dimostrazione priva
di tagli di Γ ¬ A contiene solo sequenti le cui formule sono sottoformule delle
57
formule in Γ, A. La propriet`a `e una ovvia conseguenza della particolare strut-
tura delle regole del calcolo, che fa s`ı che si abbiano solo regole di introduzione
dei connettivi, ma mai regole di eliminazione. Dunque, una volta costruita una
formula composta, non esiste modo di eliminarla nel proseguo dell’albero di de-
rivazione. Come gi`a accennato nell’introduzione, questa propriet`a conferisce al
Calcolo dei Sequenti una natura “costruttiva” che ha molte importanti ripercus-
sioni sulla meccanizzazione del processo inferenziale e sulla ricerca automatica
di dimostrazioni.
Torniamo ora alla legge di riduzione ad assurdo. La sua traduzione immediata
porterebbe alla seguente regola:
(RAA)
Γ, A ¬
Γ ¬ A
Il problema `e che essa viola la propriet`a della sottoformula: per poter concludere
A si utilizza una formula pi` u complessa: A.
Si potrebbe pensare di risolvere il problema aggiungendo semplicemente l’assio-
ma ¬ A∨A che sappiamo essere logicamente equivalente alla regola di riduzione
ad assurdo. In effetti, in presenza di tale assioma, (RAA) diventa derivabile,
come mostrato dal seguente albero di prova:
¬ A∨ A
Γ, A ¬
Γ, A ¬ A
A ¬ A
Γ, A ¬ A
Γ, A∨ A ¬ A
Γ ¬ A
(taglio)
Si noti tuttavia che `e stato necessario utilizzare la regola di taglio. In effetti,
l’introduzione dell’assioma ¬ A∨A ha una conseguenza altrettanto spiacevole
della perdita della propriet`a della sottoformula: in generale, la regola di taglio
non risulta pi` u essere eliminabile dal sistema.
Per risolvere il problema precedente si `e costretti ad introdurre una modifica
piuttosto cospicua nel sistema. In effetti, la ragione principale delle difficolt`a
che si sono incontrate nella trattazione della nozione classica di negazione sono
imputabili alla evidente asimmetria del calcolo introdotto rispetto alla gestione
della parte destra e sinistra dei sequenti.
Proviamo ad eliminare questa asimmetria.
`
E necessario dunque considerare
sequenti della forma
Γ ¬ ∆
dove Γ = A
1
, A
2
, . . . , A
n
e ∆ = B
1
, B
2
, . . . , B
m
sono sequenze finite, eventual-
mente vuote, di formule.
Per ovvie ragioni di dualit`a, se la virgola nella parte sinistra del sequente ha il
significato intuitivo di congiunzione, la virgola a destra deve esprimere disgiun-
zione. Dunque, un sequente del tipo precedente asserisce intuitivamente che da
A
1
∧ A
2
∧ ∧ A
n
si `e in grado di derivare B
1
∨ B
2
∨ ∨ B
m
.
Tutte le regole strutturali hanno ora un loro corrispettivo destro: l’insieme delle
58
conclusioni pu`o essere permutato, contratto e indebolito.
Le regole di introduzione dei connettivi restano sostanzialmente immutate, a
parte l’aggiunta di una sequenza pametrica di formule ∆ in tutte le parti destre
dei sequenti. In Figura 2.1 `e riportato l’elenco completo delle regole del calcolo.
(Ax) A ¬ A (taglio)
Γ ¬ A, ∆ Γ

, A ¬ ∆

Γ, Γ

¬ ∆, ∆

(perm−l)
Γ, A, B, Γ

¬ ∆
Γ, B, A, Γ

¬ ∆
(perm−r)
Γ ¬ ∆, A, B, ∆

Γ ¬ ∆, B, A, ∆

(contr −l)
Γ, A, A ¬ ∆
Γ, A ¬ ∆
(contr −r)
Γ ¬ A, A, ∆
Γ ¬ A, ∆
(indeb −l)
Γ ¬ ∆
Γ, A ¬ ∆
(indeb −r)
Γ ¬ ∆
Γ ¬ ∆, A
(∧l.1)
Γ, A ¬ ∆
Γ, A∧ B ¬ ∆
(∧r)
Γ ¬ A, ∆ Γ ¬ B, ∆
Γ ¬ A∧ B, ∆
(∧l.2)
Γ, B ¬ ∆
Γ, A∧ B ¬ ∆
(∨l)
Γ, A ¬ ∆ Γ, B ¬ ∆
Γ, A∨ B ¬ ∆
(∨r.1)
Γ ¬ A, ∆
Γ ¬ A∨ B, ∆
(∨r.2)
Γ ¬ B, ∆
Γ ¬ A∨ B, ∆
(→ l)
Γ ¬ A, ∆ Γ, B ¬ ∆
Γ, A → B ¬ ∆
(→ r)
Γ, A ¬ B, ∆
Γ ¬ A → B, ∆
(l)
Γ ¬ A, ∆
Γ, A ¬ ∆
(r)
Γ, A ¬ ∆
Γ ¬ A, ∆
Figura 2.1: Regole del sistema LK
Il sistema cos`ı ottenuto `e noto come sistema LK.
59
Esempio 2.7 Nel sistema LK la formula A∨ A `e derivabile, infatti:
A ¬ A
¬ A, A
¬ A∨ A, A
¬ A∨ A, A∨ A
¬ A∨ A
Vediamo qualche altro esempio di dimostrazione.
Esempio 2.8 Proviamo che ¬ (A∧ B) → (B ∧ A).
B ¬ B
A∧ B ¬ B
A ¬ A
A∧ B ¬ A
A∧ B ¬ B ∧ A
¬ (A∧ B) → (B ∧ A)
Esempio 2.9 Proviamo che (A∨ B) ¬ A∧ B.
A ¬ A
¬ A, A
¬ A∨ B, A
(A∨ B) ¬ A
B ¬ B
¬ B, B
¬ A∨ B, B
(A∨ B) ¬ B
(A∨ B) ¬ A∧ B
Come gi`a osservato in precedenza, le regole logiche del Calcolo dei Sequenti (a
parte la regola di taglio, che verr`a discussa nella prossima sezione) permettono
unicamente di introdurre dei connettivi, ma mai di eliminarli (propriet`a della
sottoformula). La formula del sequente in cui `e stato introdotto il connettivo
`e detta formula principale dell’inferenza logica. Le sottoformule costituenti la
formula principale, sono dette formule ausiliarie dell’inferenza. Tutte le altre
formule dei sequenti coinvolti nella regola logica assumono il ruolo di parametri;
l’insieme dei parametri `e detto contesto della regola. Ad esempio, nella regola
(→ l)
Γ ¬ A, ∆ Γ, B ¬ ∆
Γ, A → B ¬ ∆
la formula principale `e A → B, le formule ausiliarie sono A e B, mentre tutte
le formule in Γ, ∆ sono parametri (¦Γ, ∆¦ `e detto contesto).
Nel caso delle regole strutturali, considereremo tutte le formule come parametri-
che. Quando una formula ausiliaria compare nel sequente premessa dell’inferen-
za sullo stesso lato del sequente in cui compare la formula principale diremo che
essa ha la stessa polarit`a della formula principale. In caso contrario, ha polarit`a
inversa. Ad esempio, in (→ l), B ha la stessa polarit`a di A → B, mentre A
ha polarit`a inversa. Si noti che la polarit`a dei costituenti dipende in realt`a dal
connettivo, e non dalla regola: anche nel caso di (→ r), B ha la stessa polarit`a
di A → B, mentre A ha polarit`a inversa.
60
2.5.1 Eliminazione del taglio
Il sistema LK gode della seguente propriet`a:
Teorema 2.7 (Gentzen’s Hauptsatz)
La regola di taglio `e eliminabile dal sistema LK, ovvero per ogni sequente Γ ¬ ∆
dimostrabile in LK `e possibile ottenere in modo effettivo una nuova dimostra-
zione dello stesso sequente che non contiene nessuna applicazione della regola
di taglio.
L’interesse del teorema `e nella natura effettiva (algoritmica) del procedimento di
eliminazione dei tagli. Questo risultato costituisce uno dei teoremi pi` u rilevanti
della moderna teoria della dimostrazione. La prova del teorema, piuttosto lunga
e complessa, verr`a solo accennata qui di seguito.
Definizione 2.8 Il livello di un taglio `e la somma delle profondit`a delle de-
duzioni delle premesse della regola di taglio (senza contare, nella profondit`a,
l’applicazione di regole strutturali).
Per complessit`a di una formula si intende il numero di connettivi che compaiono
all’interno di essa.
Definizione 2.9 Il grado di un taglio `e la complessit` a della formula sulla quale
avviene il taglio.
Idea della dimostrazione
La dimostrazione si effettua per induzione sul grado del taglio con una sottoin-
duzione sul livello del taglio. Data una prova di un sequente contenente delle
applicazioni della regola di taglio, tale prova viene trasformata in un’altra avente
tagli di grado inferiore oppure di livello pi` u basso. Vi sono due possibilit`a:
1. il taglio `e logico, vale a dire che entrambe le regole utilizzate appena prima
della regola del taglio sono regole logiche di introduzione per la formula
sulla quale avviene il taglio
10
.
2. il taglio `e detto strutturale in tutti gli altri casi, cio`e quando almeno una
delle due regole immediatamente precedenti al taglio utilizza la formula
di taglio A in modo parametrico. In questo caso, diremo che la regola `e
parametrica in A.
L’idea della dimostrazione `e quella di muovere le regole di taglio “verso l’alto”
fino a ridursi a dei tagli con assiomi che possono essere eliminati semplicemente
(questo `e in effetti il caso di base della sottoinduzione sulle profondit`a).
In generale, nel caso di tagli strutturali, `e sempre possibile spostare la regola
che utilizza la formula di taglio A in modo parametrico al di sotto della regola di
taglio, costruendo una dimostrazione con un taglio di livello inferiore. Vediamo
10
Si osservi che in questo caso le due regole di introduzione devono essere rispettivamente
destre e sinistre.
61
un esempio di ci`o. Supponiamo, per fissare le idee, di avere una prova in cui il
taglio ha la seguente forma:
Γ, B ¬ C, ∆, A
Γ ¬ B → C, ∆, A A, Γ

¬ ∆

Γ, Γ

¬ B → C, ∆, ∆

la prova viene trasformata in
Γ, B ¬ C, ∆, A A, Γ

¬ ∆

Γ, Γ

, B ¬ C, ∆, ∆

Γ, Γ

¬ B → C, ∆, ∆

che `e una prova dello stesso sequente il cui taglio `e di livello inferiore.
Nel caso di un taglio logico, questo viene sostituito da uno o pi´ u tagli di grado
inferiore. Vediamone degli esempi. Una prova in cui il taglio ha la forma
Γ, A ¬ B, ∆
Γ ¬ A → B, ∆
Γ

¬ A, ∆

Γ

, B ¬ ∆

Γ

, A → B ¬ ∆

Γ, Γ

¬ ∆, ∆

viene ridotta a
Γ

¬ A, ∆

Γ, A ¬ B, ∆ Γ

, B ¬ ∆

Γ, A, Γ

¬ ∆, ∆

Γ

, Γ, Γ

¬ ∆

, ∆, ∆

Γ, Γ

¬ ∆, ∆

che `e una prova dello stesso sequente avente due tagli di grado inferiore (A e B
hanno una complessit`a minore di A → B).
Data una prova in cui il taglio ha la forma
Γ ¬ A, ∆
Γ ¬ A∨ B, ∆
Γ

, A ¬ ∆

Γ

, B ¬ ∆

Γ

, A∨ B ¬ ∆

Γ, Γ

¬ ∆, ∆

questa viene sostituita da
Γ ¬ A, ∆ Γ

, A ¬ ∆

Γ, Γ

¬ ∆, ∆

che `e una prova dello stesso sequente avente un taglio di grado inferiore.
In realt`a non tutti i casi sono cos`ı semplici. I maggiori problemi si incontrano
62
quando la formula su cui si effettua il taglio `e stata appena contratta in una
delle due premesse, come nel caso seguente:
Γ ¬ ∆, A, A
Γ ¬ ∆, A A, Γ

¬ ∆

Γ, Γ

¬ ∆, ∆

L’ovvia trasformazione sembrerebbe essere:
Γ ¬ ∆, A, A A, Γ

¬ ∆

Γ, Γ

¬ ∆, ∆

, A A, Γ

¬ ∆

Γ, Γ

, Γ

¬ ∆, ∆

, ∆

Γ, Γ

¬ ∆, ∆

Tuttavia questa regola di riduzione, unitamente a quella simmetrica per gestire
il caso di contrazione nella premessa destra, pu`o dare luogo a sequenze infinite
di riduzioni, come nel caso seguente (il lettore lo verifichi per esercizio):
Γ ¬ ∆, A, A
Γ ¬ ∆, A
A, A, Γ

¬ ∆

A, Γ

¬ ∆

Γ, Γ

¬ ∆, ∆

Per ovviare a questo problema `e necessario considerare una forma generalizzata
di taglio, in cui si permette il taglio simultaneo su pi` u occorrenze diverse della
stessa formula, ovvero
(multi −taglio)
Γ ¬ ∆, mA nA, Γ

¬ ∆
Γ, Γ

¬ ∆, ∆

dove nA denota n occorrenze di A.
I dettagli piuttosto lunghi e complessi della dimostrazione dell’eliminazione di
questa regola fuoriescono tuttavia dagli intenti del presente volume. Il lettore
interessato pu`o consultare [TS96, Gal91, Tak75].
Per concludere, osserviamo anche che nonostante la regola di taglio sia elimi-
nabile, essa non `e derivabile in LK, ovvero non `e possibile esprimerla mediante
una combinazione di altre regole del calcolo (ci`o `e una ovvia conseguenza della
propriet`a della sottoformula).
2.5.2 Sulle regole strutturali
Osserviamo che nelle regole di LK per ∧ e ∨ aventi due premesse i contesti per
ambedue le premesse sono gli stessi; tali regole sono dette dipendenti dal con-
testo (o addittive). Tuttavia, per la presenza delle regole strutturali, `e possibile
ottenere dei sistemi equivalenti ad LK nei quali alcune (o tutte) le regole dipen-
denti dal contesto sono sostituite da regole libere dal contesto (o moltiplicative)
63
nelle quali, cio`e, i contesti di entrambe le premesse si assumono disgiunti e sono
semplicemente “uniti” nella conclusione. Le versioni moltiplicative delle regole
(∧r) e (∨l) sono
(∧

r)
Γ ¬ A, ∆ Γ

¬ B, ∆

Γ, Γ

¬ A∧ B, ∆, ∆

(∨

l)
Γ, A ¬ ∆ Γ

, B ¬ ∆

Γ, Γ

, A∨ B ¬ ∆, ∆

Proviamo, per fissare le idee, che le due versioni della regola per l’ ∧ sono equi-
valenti, vale a dire che, in presenza delle regole strutturali sono derivabili l’una
dall’altra. Infatti, supponiamo di disporre di (∧r) e dimostriamo la derivabilit`a,
da questa, di (∧

r).
Γ ¬ A, ∆
Γ, Γ

¬ A, ∆, ∆

Γ

¬ B, ∆
Γ, Γ

¬ B, ∆, ∆

Γ, Γ

¬ A∧ B, ∆, ∆

Si noti che, `e stato necessario utilizzare le regole di indebolimento. Viceversa,
supponiamo di disporre di (∧

r) e dimostriamo la derivabilit`a, da questa, di
(∧r).
Γ ¬ A, ∆ Γ ¬ B, ∆
Γ, Γ ¬ A∧ B, ∆, ∆
Γ ¬ A∧ B, ∆
Si noti che `e stato necessario utilizzare le regole di contrazione.
La dimostrazione dell’equivalenza delle due versioni della regola per ∨ `e lasciata
al lettore come esercizio.
Un discorso del tutto simile vale anche per le regole logiche ad una sola premessa.
Ad esempio, le due regole (∧l) possono essere sostituite dall’unica regola
(∧

l)
Γ, A, B ¬ ∆
Γ, A∧ B ¬ ∆
e simmetricamente le due regole per (∨r) possono essere sostituite dall’unica
regola
(∨

r)
Γ ¬ A, B, ∆
Γ ¬ A∨ B, ∆
Anche in questo caso `e facile dimostrare l’equivalenza tra le varie formulazioni,
in presenza di regole strutturali. Consideriamo il caso di ∧, lasciando al lettore
come esercizio quelle per ∨.
Avendo (∧l.1) e (∧l.2) deriviamo (∧

l) nel seguente modo:
Γ, A, B ¬ ∆
Γ, A∧ B, B ¬ ∆
Γ, A∧ B, A∧ B ¬ ∆
Γ, A∧ B ¬ ∆
64
Viceversa, avendo (∧

l), possiamo derivare (∧l.1) e (∧l.2):
Γ, A ¬ ∆
Γ, A, B ¬ ∆
Γ, A∧ B ¬ ∆
Γ, B ¬ ∆
Γ, A, B ¬ ∆
Γ, A∧ B ¬ ∆
Le regole (∧

l) e (∨

r) devono essere considerate moltiplicative, mentre (∧l.1),
(∧l.2), (∨r.1) e (∨r.2) sono addittive. La ragione di questo fatto `e dovuta alla
tecnica di eliminazione dei tagli. In particolare, per eliminare (o meglio “ri-
durre”) un taglio tra due formule introdotte con regole della stessa “natura”
(rispettivamente moltiplicative o addittive) non `e necessario richiedere l’uso di
regole strutturali. Ad esempio, il taglio
Γ ¬ A, ∆ Γ ¬ B, ∆
Γ ¬ A∧ B, ∆
Γ

, A, ¬ ∆

Γ, A∧ B ¬ ∆

Γ, Γ

¬ ∆, ∆

Pu`o essere ridotto al seguente taglio “pi` u semplice
11
” (senza aggiunta di regole
strutturali)
Γ ¬ A, ∆ Γ

A, ¬ ∆

Γ, Γ

¬ ∆, ∆
Questo non sarebbe stato possibile se ad esempio il taglio fosse stato del seguente
tipo:
Γ ¬ A, ∆ Γ ¬ B, ∆
Γ ¬ A∧ B, ∆
Γ

, A, B ¬ ∆

Γ, A∧ B ¬ ∆

Γ, Γ

¬ ∆, ∆

in quanto dovremmo operare delle contrazioni sulla prova “ridotta” (gli altri
casi sono lasciati al lettore come esercizio).
Dunque le regole strutturali assumono un ruolo di primaria importanza nel
Calcolo dei Sequenti. In particolare, la presenza o l’assenza di queste determina
sistemi logici notevolmente differenti tra loro. Ad esempio, il sistema LJ, che
corrisponde alla Logica Intuizionista (per delle trattazioni recenti si vedano, tra
gli altri, [Tro73, Dum77, Gab81, VDa86]), cui abbiamo accennato in precedenza,
si ottiene imponendo, nel sistema LK, che alla destra dei sequenti vi sia al pi` u
una formula; questo chiaramente impedisce la presenza delle regole strutturali
a destra ((perm−r), (contr −r) e (indeb −r)).
In generale, logiche che non hanno tutte le regole strutturali, sono dette Logiche
Substrutturali (si veda [DS93] per una panoramica).
Discuteremo brevemente alcune di queste. Sistemi nei quali sono assenti le rego-
le di indebolimento sono detti Logiche della Rilevanza (si vedano [AB75, Dun86,
11
Di grado inferiore.
65
ABD92]); il nome `e dovuto essenzialmente al fatto che, nelle regole di inferenza,
le premesse devono essere rilevanti per le conclusioni. Tali logiche sono utiliz-
zate, in Intelligenza Artificiale, per modellare ragionamenti con incertezza.
Logiche nelle quali sono assenti le regole di contrazione, si vedano ad esempio
[OK85, KW84], sono spesso chiamate Logiche BCK. Il nome deriva dal fatto
che il frammento implicativo (cio`e l’insieme delle formule contenenti soltanto
il connettivo “→”) di tali logiche, pu`o essere assiomatizzato dagli schemi di
assiomi:
B : (A → B) → ((B → C) → (A → C))
C : (A → (B → C)) → (B → (A → C))
K : A → (B → A)
Le Logiche Multivalore di Lukasiewicz, menzionate nel paragrafo 1.5, accettano
le regole di indebolimento e permutazione, mentre `e possibile utilizzare le regole
di contrazione solo su formule aventi delle caratteristiche prestabilite.
Nella Logica Lineare, introdotta da Girard [Gir87] (si vedano inoltre [Gir95,
Tro92]), sono assenti sia le regole di indebolimento, che quelle di contrazione
12
.
Ci`o comporta, come discusso in precedenza, lo “sdoppiamento” dei connettivi
∧ e ∨ nelle corrispondenti versioni addittive e moltiplicative. La Logica Lineare
offre una visione molto pi` u sottile della logica classica, enfatizzando in modo
particolare il ruolo delle formule come vere e proprie “risorse” di calcolo, con
innumerevoli applicazioni all’informatica.
Ricordiamo infine il Calcolo di Lambek, [Lam58], assolutamente privo di regole
strutturali. Tale calcolo viene utilizzato per modellare importanti caratteristiche
tipiche del linguaggio naturale (grammatiche categoriali).
2.5.3 Invertibilit`a delle regole logiche
Il Calcolo dei Sequenti, assai meglio della Deduzione Naturale, permette di
costruire “all’indietro” le dimostrazioni di teoremi in modo piuttosto semplice
e naturale.
Esempio 2.10 Consideriamo il caso:
¬ (A → (B → C)) → ((A → B) → (A → C))
Il connettivo principale di questa formula `e →. Proviamo a rimuoverlo; appli-
cando all’indietro la regola (→ r) si ottiene il sequente:
A → (B → C) ¬ (A → B) → (A → C)
Continuando ad applicare all’indietro (→ r) ci si riduce in due passi a
A → (B → C), A → B, A ¬ C
12
Comunque, tali regole vengono reintrodotte, in maniera “controllata” utilizzando due
nuovi connettivi “!” e “?”.
66
Ora si `e costretti ad operare sulla parte sinistra del sequente. Poich´e la regola
(→ l) ha due antecedenti, questo costringer`a a spezzare la dimostrazione in due
sottodimostrazioni. Ad esempio, se si lavora sulla formula A → (B → C), si
otterranno i due sottosequenti
(1) A → B, A ¬ A, C (2) B → C, A → B, A ¬ C
(1) si ottiene dall’assioma A ¬ A mediante indebolimenti, quindi questa parte
della dimostrazione `e conclusa.
Passiamo a (2). Se si opera all’indietro con (→ l) su B → C si ottengono
(2.1) A → B, A ¬ B, C (2.2) C, A → B, A ¬ C
(2.2) si ottiene dall’assioma C ¬ C per indebolimenti. Per quanto riguarda
(2.1), eliminando l’ultimo connettivo di implicazione si ottengono
(2.1.1) A ¬ A, B, C (2.1.2) B, A ¬ B, C
che sono ancora entrambi derivabili da assiomi tramite passi di indebolimento.
Questo conclude la dimostrazione, che ha dunque la seguente forma:
A ¬ A
A → B, A ¬ A, C
A ¬ A
A ¬ A, B, C
B ¬ B
B, A ¬ B, C
A → B, A ¬ B, C
C ¬ C
C, A → B, A ¬ C
B → C, A → B, A ¬ C
A → (B → C), A → B, A ¬ C
A → (B → C), A → B ¬ A → C
A → (B → C) ¬ (A → B) → (A → C)
¬ (A → (B → C)) → ((A → B) → (A → C))
Nell’esempio precedente la scelta della regola da applicare `e stata effettuata in
modo casuale. In certi casi, la situazione non `e sempre cos`ı ovvia.
Consideriamo, ad esempio, il sequente ¬ A ∨ A (che sappiamo essere un teo-
rema di LK). L’unico connettivo presente `e ∨. Se si prova ad eliminarlo, si
ottengono o il sottosequente ¬ A oppure il sottosequente ¬ A. Tuttavia, nes-
suno di questi due sequenti `e dimostrabile in LK.
In realt`a, la regola corretta da applicare in questo caso `e una regola di con-
trazione (si veda la dimostrazione nell’Esempio 2.7). In taluni casi, `e possibile
ovviare a questo tipo di problemi considerando formulazioni alternative, ma lo-
gicamente equivalenti, del sistema logico.
Ad esempio, come osservato nel capitolo precedente, le due regole per (∨r)
possono essere sostituite dall’unica regola
(∨r −II)
Γ ¬ A, B, ∆
Γ ¬ A∨ B, ∆
67
In questo calcolo, la dimostrazione di ¬ A, A `e semplicemente:
A ¬ A
¬ A, A
¬ A∨ A
Simmetricamente, le due regole (∧l) possono essere sostituite dall’unica regola
(∧l −II)
Γ, A, B ¬ ∆
ΓA∧ B ¬ ∆
Chiameremo questa nuova formulazione del sistema LK, formulazione II
13
(e la
precedente formulazione I).
Le regole introdotte in precedenza risolvono il problema per ¬ A, A. Tutta-
via, chi assicura che un problema simile non si verifichi per altre formule ed altri
connettivi? In generale, la propriet`a desiderabile `e che ogniqualvolta si ha un
albero di prova che termina in un sequente che contiene una formula composta
M che appare come parametro nell’ultima regola dell’inferenza, sia sempre pos-
sibile riorganizzare l’albero in modo tale da concludere la dimostrazione con una
regola di introduzione per M. Questo significa che l’ultima regola dell’albero
di prova originario e quella di introduzione per M possono essere invertite. Dal
punto di vista della ricerca all’indietro della dimostrazione, questo assicurerebbe
che comunque si sceglie il connettivo da eliminare, tale scelta `e corretta.
Proviamo a formalizzare meglio il problema. Sia dato un albero di prova t di
Γ ¬ ∆ e supponiamo che in esso appaia una formula composta M che non `e stata
introdotta dall’ultima regola dell’albero. Per fissare le idee, supponiamo che M
compaia nella parte destra del sequente (il caso opposto `e simmetrico). Dunque,
∆ ha la forma ∆

, M (a meno di permutazioni). Supponiamo che esista un’uni-
ca regola R che permetta di introdurre M (questo `e il caso della formulazione
II, ma non della formulazione I di LK). R avr`a un certo numero di premesse;
indichiamo con N
i
le formule ausilarie di M nella i-esima premessa della regola.
L’idea `e quella di costruire, a partire dall’albero originario t, dei nuovi alberi
di dimostrazione per Γ ¬ ∆

, N
i
o Γ, N
i
¬ ∆

, a seconda della polarit`a di N
i
rispetto ad M, in modo tale da poter concludere Γ ¬ ∆ con un’applicazione di
R.
A tal fine, sia t

il sottoalbero di t che contiene degli avi parametrici di M. Sup-
poniamo di cancellare M da questo sottoalbero e di sostituirlo con N
i
(se N
i
ha
polarit`a inversa rispetto a M, si deve operare l’inserimento nella parte opposta
del sequente rispetto a quella in cui si trova M). Le foglie del sottoalbero t

sono i punti in cui M `e creato. Questo pu`o avvenire o tramite una regola di
indebolimento (ed in tal caso non vi sono problemi nell’introdurre N
i
al posto
di M), oppure mediante un’applicazione della regola R. In quest ultimo caso,
13
Dal punto di vista strettamente logico, la formulazione II del Calcolo dei sequenti non `e
molto elegante in quanto “mischia” regole addittive e moltiplicative. Tuttavia, come vedremo,
questa formulazione semplifica notevolmente la ricerca automatica di prove, e soprattutto
permette una dimostrazione estremamente semplice del teorema di completezza.
68
quando si rimpiazza M con N
i
, il sequente cos´ı ottenuto coincide necessaria-
mente con la i-esima premessa di quella applicazione di R, e ci si ricongiunge
quindi all’albero di prova originario. Dunque, nel caso della formulazione II
del sistema LK, `e sempre possibile operare l’inversione suddetta. In generale,
quando un procedimento di questo tipo `e applicabile, si dir`a che la regola R `e
direttamente invertibile nel sistema logico.
Vediamo un esempio di inversione.
Esempio 2.11 Si consideri il seguente albero t:
A ¬ A
A → B, A ¬ A, C
A ¬ A
A ¬ A, B, C
B ¬ B
B, A ¬ B, C
A → B, A ¬ B, C
C ¬ C
C, A → B, A ¬ C
B → C, A → B, A ¬ C
A → (B → C), A → B, A ¬ C
A → (B → C), A → B ¬ A → C
In esso, l’ultima regola applicata `e (→ r), con formula principale A → C.
Vogliamo trovare una dimostrazione dello stesso sequente nella quale l’ultima
regola applicata sia (→ l), con formula principale A → B. Il sottoalbero di t
che contiene in modo parametrico A → B `e il seguente:
A → B, A ¬ A, C
A → B, A ¬ B, C C, A → B, A ¬ C
B → C, A → B, A ¬ C
A → (B → C), A → B, A ¬ C
A → (B → C), A → B ¬ A → C
Rimpiazzando opportunamente A e B al posto di A → B in accordo alle loro
polarit`a, si ottengono i due sottoalberi seguenti:
A ¬ A, A, C
A ¬ A, B, C C, A ¬ A, C
B → C, A ¬ A, C
A → (B → C), A ¬ A, C
A → (B → C) ¬ A, A → C
B, A ¬ A, C
B, A ¬ B, C C, B, A ¬ C
B → C, B, A ¬ C
A → (B → C), B, A ¬ C
A → (B → C), B ¬ A → C
Entrambi gli alberi possono essere ora ricongiunti a sottoalberi dell’albero ori-
69
ginario, per dar luogo a degli alberi di prova completi. In particolare, avremo:
A ¬ A
A ¬ A, A, C
A ¬ A
A ¬ A, B, C
C ¬ C
C, A ¬ A, C
B → C, A ¬ A, C
A → (B → C), A ¬ A, C
A → (B → C) ¬ A, A → C
A ¬ A
B, A ¬ A, C
B ¬ B
B, A ¬ B, C
C ¬ C
C, B, A ¬ C
B → C, B, A ¬ C
A → (B → C), B, A ¬ C
A → (B → C), B ¬ A → C
Infine, da questi due alberi, con una applicazione di (→ l) si ottiene la nuova
dimostrazione cercata di A → (B → C), A → B ¬ A → C in cui le regole di
introduzione dell’implicazione per A → (B → C) e A → B sono state invertite.
2.6 Cenni storici e bibliografici
La prima formulazione di un calcolo proposizionale come sistema logico formale
(di natura assiomatica) si deve a Frege, nei suoi Begriffschrifts del 1879. La rile-
vanza di questi lavori pass`o per lungo tempo inosservata; i primi ad apprezzarne
il significato ed a riprenderne il metodo furono, dopo oltre venti anni, Russel
[Rus03] e Whitehead [RW10]. Da quel momento e fino alla met`a degli anni
trenta si assiste ad un continuo proliferare di differenti formulazioni, sempre di
natura assiomatica, essenzialmente rivolte ad investigare problemi di economia,
indipendenza o semplicemente ad approfondire e separare il significato logico dei
singoli connettivi. Alcuni dei pi` u celebri di questi sistemi sono stati brevemente
discussi nel paragrafo 2.3.2. Notiamo che l’uso di schemi per questi calcoli fu
introdotto da Von Neumann [VNe27] solo nel 1927. Prima di allora si tendeva
ad utilizzare una esplicita regola di sostituzione che permetteva di instanziare
variabili proposizionali con formule ben formate.
L’enunciato e la prima dimostrazione del teorema di deduzione si devono ad
Herbrand [Her30]. L’idea di usare il principio di deduzione come regola pri-
mitiva di inferenza `e di Gentzen [Gen34]. Tale regola, e pi` u in generale tutte
le regole condizionali che prevedono cancellazione di alcune ipotesi, hanno un
carattere meno primitivo delle altre, che le rende legittimamente “sospette” da
un punto di vista strettamente logistico (cos`ı come definito da Frege e Russel).
Tuttavia, `e innegabile la naturalezza di questo approccio; assumere come primi-
tivo il principio di deduzione significa formalizzare l’usuale pratica matematica
che consiste nel dimostrare una implicazione assumendo l’ipotesi e dimostrando
il conseguente.
70
La regola di deduzione riacquista pienamente il suo carattere elementare nel
Calcolo dei Sequenti, dovuto ancora a Genzten [Gen34], sotto forma di regola
di introduzione a destra del connettivo di implicazione. Il prezzo da pagare `e
quello di internalizzare nel linguaggio logico stesso il simbolo di inferenza: le as-
serzioni elementari non sono pi` u dunque proposizioni, ma sequenti della forma
Γ ¬ ∆ che intuitivamente esprimono relazioni di derivabilit`a logica.
Il teorema di eliminazione dei tagli `e il teorema principale (“Hauptsatz”) di
Gentzen [Gen34]. L’interesse della regola di taglio risiede, oltre che nella sua
naturalezza, nel fatto che corrisponde alla normale pratica di scomporre una
dimostrazione complessa in funzione di lemmi pi` u semplici, dimostrati indipen-
dentemente. Dunque, la ridondanza della regola di taglio, e la natura costruttiva
della sua dimostrazione, assicurano che questo procedimento non aggiunge nulla
al potere espressivo della logica in esame.
L’analogia tra tipi e proposizioni `e anche nota come isomorfismo di Curry-
Howard (Howard [How80] `e stato il primo a esplicitarla, ma le idee generali
risalgono a Curry). Il punto di partenza di tale analogia consiste nel vedere
una formula A come un tipo, ed una dimostrazione di A come un termine di
tipo A. L’aspetto pi` u interessante di ci`o risiede nel fatto che il procedimento
di eliminazione dei tagli nel sistema logico pu`o essere messo in relazione con un
analogo procedimento di normalizzazione dei termini. L’analogia `e particolar-
mente forte tra il frammento logico implicativo ed il λ calcolo: in questo caso,
l’eliminazione dei tagli corrisponde esattamente al processo di β-riduzione del
λ-termine. Per una introduzione a questi argomenti si veda [GLT90].
Quella parte della logica che tratta della teoria della dimostrazione ha ricevu-
to un nuovo impulso a partire dai primi anni settanta proprio grazie alle sua
rilevanza in informatica. La data d’inizio di questa rinascita pu`o essere fatta
coincidere con il fondamentale risultato di Girard [Gir72, Gir86] di eliminazione
dei tagli per il calcolo intuizionista di ordine superiore (sebbene il merito di aver-
ne colto la rilevanza informatica debba piuttosto essere accreditato a Reynolds
[Rey74]). Da quel momento l’isomorfismo di Curry-Howard `e stato il tema con-
duttore di una enorme quantit`a di ricerche condotte in informatica negli anni
ottanta su sistemi di tipo, polimorfismo e sottotipi, stimolate dalla sinergia di
teorie ed approcci diversi: λ calcolo, programmazione funzionale, teoria delle
dimostrazioni, teoria delle categorie. Il lettore interessato ad una introduzione
a questi aspetti pu`o consultare [LS86, AL91] e la bibliografia ivi menzionata.
Esercizi
2.1 Provare che (RAA) `e equivalente a A ¬ A.
2.2 Dimostrare, in un sistema deduttivo, che le seguenti proposizioni sono
derivabili:
1. (A∧ B) ∧ C → A∧ (B ∧ C)
2. A∧ B → A∨ B
71
3. (A∧ B) → A∨ B
4. A → A
5. A → A
6. A∨ A
7. (A∨ A)
8. (A∧ A)
9. (A → B) ∨ (B → A)
10. A∨ B → (B) ∨ A
11. ⊥ → A
2.3 Quali dei teoremi del precedente esercizio sono derivabili nel sistema intui-
zionista? Motivare la risposta.
2.4 Mostrare l’equivalenza dei Sistemi Assiomatici presentati in 2.3 e 2.3.2.
2.5 Provare che:
1. ¬ (A → A) → A
2. ¬ (A → B) ∧ (A → B) → A
3. ¬ ((A → B) → A) → A ) (legge di Peirce)
4. A ¬ (A∧ B)
5. (A∧ B), A ¬ B
6. ¬ (A → B) ∨ (B → A)
2.6 Mostrare che se ¬ A, allora ¬ B → A.
2.7 Sia

: FBF → FBF tale che ∀A, P, Q ∈ FBF
• A = A se A `e una proposizione atomica
• P ∧ Q = P ∧ Q
• P ∨ Q = P ∨ Q
• P → Q = P → Q

P =

P se P `e una proposizione atomica
P altrimenti
1. Determinare (A∧ B) ∨ (A∧ C)) e (A∨ B) ∧ (A∧ B).
72
2.
`
E vero che P = P, ∀P ∈ FBF? Motivare la risposta.
3. Provare che ∀P ∈ FBF ¬ P, P e P, P ¬.
2.8 Si considerino le seguenti proposizioni:
1. Se Franco `e un elettricista, allora Giorgio `e un idraulico oppure Elena
`e un’insegnante.
2. Se Giorgio `e un idraulico, allora Lucia non fa la commessa oppure Elena
`e un’insegnante.
3. Se Lucia fa la commessa, allora Franco `e un elettricista.
4. Lucia fa la commessa.
5. Elena `e un’insegnante.
Dimostrare che a, b, c, d ¬ e utilizzando la Deduzione Naturale ed il Calcolo dei
Sequenti.
2.9 Si consideri in seguente ragionamento:
a Se Antonio `e di Agrigento o Bruno `e di Bologna, allora Carlo `e di
Cremona oppure Davide `e di Domodossola.
b Se Antonio `e di Agrigento allora Carlo non `e di Cremona.
Dunque
(c) Davide `e di Domodossola oppure Antonio non `e di Agrigento.
Se ne verifichi la correttezza utilizzando la Deduzione Naturale ed il Calcolo
dei Sequenti.
2.10 Definire le regole della Deduzione Naturale per il connettivo ↔; quindi
provare che:
1. ¬ A∨ A↔A
2. ¬ A∧ A↔A
3. ¬ A∨ (A∧ B)↔A
4. ¬ A∧ (A∨ B)↔A
Capitolo 3
Correttezza e Completezza
Abbiamo sinora introdotto la sintassi della logica proposizionale, la sua seman-
tica sotto forma di interpretazioni ed alcuni calcoli logici di inferenza simbolica.
Vogliamo ora studiare la relazione esistente tra il calcolo proposizionale e la
sua semantica, ovvero tra le nozioni di derivabilit`a e validit`a. Ovviamente, ci si
aspetta che ogni teorema, cio`e ogni formula derivabile in un sistema formale, sia
anche valida (sia una tautologia), ovvero che ¬ A implichi [= A. Questo assicu-
rerebbe che il sistema di calcolo formale `e corretto, nel senso che non permette di
inferire cose semanticamente non valide. Tuttavia, possiamo essere pi` u esigenti:
vogliamo che il calcolo sia anche completo, nel senso che permetta di derivare
ogni tautologia. In altre parole, il sistema risulta completo se [= A implica ¬ A.
Se si vede il calcolo logico come una estensione degli aspetti sintattici del sistema
formale (attinenti al simbolo di derivabilit`a ¬), si pu`o parlare semplicemente di
due livelli: uno sintattico, ed uno semantico. Il Teorema di completezza sta-
bilisce la relazione tra questi due livelli, creando una completa analogia tra
nozioni sintattiche (nella accezione precedente) e semantiche. Tale relazione
si pu`o riassumere brevemente nella seguente tabella, a cui il lettore pu`o fare
costante riferimento durante la lettura di questo capitolo:
sintassi (calcolo) semantica
Γ ¬ A Γ [= A
derivabilit`a conseguenza semantica
¬ A [= A
teorema tautologia
Γ ¬ ⊥ Γ [= ⊥
consistenza soddisfacibilit`a
Γ ¬ ⊥ Γ [= ⊥
inconsistenza insoddisfacibilit`a
Presenteremo nel seguito tre diverse dimostrazioni di correttezza e completezza
(una per ogni sistema formale). Ognuna di queste `e basata su un approccio
differente e mette in luce nuove propriet`a del calcolo proposizionale. Tali di-
mostrazioni, inoltre, permetteranno di spiegare alcune importanti sfumature
73
74
nell’enunciato del Teorema di completezza (completezza forte, debole, finita).
Le prime due dimostrazioni possono essere facilmente adattate ad ognuno dei
sistemi logici considerati. Al contrario, la terza, che `e anche la pi` u intuitiva, si
basa su alcune propriet`a caratteristiche del Calcolo dei Sequenti (in particola-
re della formulazione II). La prima dimostrazione non `e costruttiva: data una
tautologia A ([= A) si prova che nel sistema deduttivo in oggetto deve neces-
sariamente esistere una derivazione di A, ma non si fornisce tale derivazione in
modo esplicito ed effettivo. Al contrario, le rimanenti sono entrambe costruttive.
3.1 Deduzione Naturale
Teorema 3.1 (Correttezza)
Se Γ ¬ P allora Γ [= P.
Dimostrazione. Per induzione sulla profondit`a dell’albero di prova per Γ ¬ P.
(caso base) L’albero `e costituito dalla sola radice P, allora, per definizione,
P ∈ Γ, che implica Γ [= P.
Veniamo al caso induttivo. Dobbiamo distinguere tanti sottocasi quante sono
le possibili regole di inferenza che concludono l’albero di prova di Γ ¬ P. Ne
vedremo solo alcuni: i rimanenti sono lasciati al lettore come esercizio.
1. P = P
1
∧ P
2
e l’ultima regola di deduzione applicata `e (∧i). Allora
devono esistere due alberi di prova per Γ ¬ P
1
e Γ ¬ P
2
. Per ipotesi
induttiva, Γ [= P
1
e Γ [= P
2
, che implica Γ [= P
1
∧ P
2
.
2. P = P
1
→ P
2
e l’ultima regola applicata `e (→ i). Dunque esiste un
albero di prova per Γ, P
1
¬ P
2
e per ipotesi induttiva Γ, P
1
[= P
2
. Sia v
un modello di Γ. Se v(P
1
) = 1, allora v(P
2
) = 1 per l’ipotesi precedente,
e dunque anche v(P
1
→ P
2
) = 1. Viceversa se v(P
1
) = 0, per definizione
di interpretazione, risulta ancora v(P
1
→ P
2
) = 1. Dunque Γ [= P
1
→ P
2
.
3. L’ultima regola applicata `e una regola di riduzione ad assurdo (RAA).
Allora esiste un albero di prova per Γ, P ¬ ⊥ e per ipotesi induttiva
Γ, P [= ⊥. Questo significa che nessun modello soddisfa Γ, P. Suppo-
niamo di avere un modello per Γ: necessariamente, in questo modello deve
essere v(P) = 1, poich´e in caso contrario avremmo un modello per Γ, P.
Dunque Γ [= P.

Il Teorema di correttezza assicura che ci`o che `e deducibile da certe premesse, me-
diante le regole della Deduzione Naturale, `e conseguenza logica delle premesse.
In particolare tale calcolo consente di derivare solo formule valide (tautologie);
infatti:
Corollario 3.2 Se ¬ P allora [= P.
75
L’inverso del teorema precedente, e cio`e se Γ [= P allora Γ ¬ P (completez-
za) `e assai pi` u complicato, e richiede l’introduzione di alcuni nozioni e risultati
preliminari; infatti, a priori, non `e affatto ovvio che le regole della Deduzione
Naturale siano sufficienti per ottenere, da un insieme di premesse, tutte le conse-
guenze semantiche dello stesso, ed in particolare, dall’insieme vuoto di premesse,
tutte le formule valide. Ad esempio, il sistema intuizionista, ottenuto da quello
classico rimuovendo la sola regola RAA non `e completo rispetto alla nozione
classica di validit`a semantica basata su tabelle di verit`a.
Definizione 3.3 Un insieme di proposizioni Γ `e consistente se Γ ¬ ⊥; `e incon-
sistente se non `e consistente, cio`e Γ ¬ ⊥.
Si noti che la nozione di consistenza `e prettamente “sintattica” (cio`e relativa
al sistema di calcolo formale). A priori, niente assicura che ogni insieme di
proposizioni consistente sia anche soddisfacibile e viceversa. Un verso di questa
corrispondenza (soddisfacibilit`a implica consistenza) `e un semplice corollario del
Teorema di correttezza (Lemma 3.5); l’altro verso `e assai pi` u delicato.
Lemma 3.4 Le seguenti condizioni risultano equivalenti:
1. Γ `e inconsistente;
2. esiste una proposizione P tale che Γ ¬ P e Γ ¬ P;
3. per ogni proposizione P, Γ ¬ P.
Dimostrazione.
1. (1. ⇒ 3.). Da Γ ¬ ⊥, applicando (⊥ e), si ottiene una dimostrazione
di Γ ¬ P per ogni P.
2. (3. ⇒ 2.). Immediata.
3. (2. ⇒ 1.). Per ipotesi esistono le dimostrazioni di Γ ¬ P e Γ ¬ P;
applicando (⊥i) si ottiene una dimostrazione di Γ ¬ ⊥.

Lemma 3.5 Se un insieme di proposizioni Γ `e soddisfacibile, allora `e consi-
stente.
Dimostrazione. Supponiamo che Γ sia soddisfacibile, cio`e esiste un’interpreta-
zione v tale che v(P) = 1, ∀P ∈ Γ. Ovviamente v non pu`o soddisfare ⊥, in
quanto per definizione di interpretazione deve essere v(⊥) = 0. Allora, Γ [= ⊥
che, per il Teorema di correttezza, implica Γ ¬ ⊥. Dunque Γ `e consistente.
Lemma 3.6
1. Γ, P ¬ ⊥ ⇒ Γ ¬ P;
2. Γ, P ¬ ⊥ ⇒ Γ ¬ P.
76
Dimostrazione. Seguono, rispettivamente, da (RAA) e (→ i).
Definizione 3.7 Un insieme Γ `e detto consistente massimale se e solo se:
1. Γ `e consistente;
2. se Γ ⊆ Γ

e Γ

`e consistente, allora Γ = Γ

.
Per dimostrare la completezza delle regole della Deduzione Naturale, prove-
remo che:
• ogni insieme di proposizioni consistente `e soddisfacibile (Teorema 3.11);
per fare ci`o, sar` a necessario dimostrare delle semplici propriet`a degli in-
siemi consistenti massimali (Lemmi 3.8 e 3.9) e che
• ogni insieme consistente `e contenuto in uno consistente massimale (Teo-
rema 3.10).
Lemma 3.8 Ogni insieme consistente massimale `e chiuso rispetto alla deriva-
bilit`a, cio`e se Γ ¬ P allora P ∈ Γ.
Dimostrazione. Supponiamo Γ ¬ P e P ∈ Γ. Poich`e per ipotesi Γ `e consistente
massimale, Γ∪¦P¦ deve essere inconsistente. Ma per il Lemma 3.6 Γ∪¦P¦ ¬ ⊥
implica Γ ¬ P. Dunque Γ sarebbe inconsistente, in quanto permetterebbe di
derivare sia P che P, contraddicendo l’ipotesi.
Lemma 3.9 Sia Γ un insieme consistente massimale. Per tutte le proposizioni
P e Q:
1. P ∈ Γ oppure P ∈ Γ;
2. P ∧ Q ∈ Γ ⇔ P ∈ Γ e Q ∈ Γ;
3. P ∨ Q ∈ Γ ⇔ P ∈ Γ o Q ∈ Γ;
4. P → Q ∈ Γ ⇔ (P ∈ Γ o Q ∈ Γ).
Dimostrazione.
1. Sia Γ

= Γ ∪ ¦P¦. Se Γ

`e inconsistente, allora per i Lemmi 3.6 e 3.8
P ∈ Γ. Viceversa, se Γ

`e consistente, Γ

= Γ per la massimalit`a di
quest’ultimo, e dunque P ∈ Γ.
2. Supponiamo che P ∧ Q ∈ Γ. Poich´e P ∧ Q ¬ P, P ∧ Q ¬ Q e Γ `e
chiuso rispetto alla derivabilit`a, P ∈ Γ e Q ∈ Γ. Viceversa, se P ∈ Γ e
Q ∈ Γ deve essere P ∧ Q ∈ Γ, poich`e P, Q ¬ P ∧ Q e Γ `e chiuso rispetto
alla derivabilit`a.
77
3. Supponiamo che P ∨ Q ∈ Γ, e dimostriamo che se P ∈ Γ allora neces-
sariamente Q ∈ Γ. Per il punto 1. se P ∈ Γ, allora P ∈ Γ. Il seguente
albero mostra che P ∨ Q, P ¬ Q:
P ∨ Q
[P] P

Q [Q]
Q
Essendo Γ chiuso rispetto alla derivabilit`a, Q ∈ Γ. Viceversa, se P ∈ Γ o
Q ∈ Γ, allora P ∨ Q ∈ Γ in quanto P ¬ P ∨ Q, Q ¬ P ∨ Q e Γ `e chiuso
rispetto alla derivabilit`a.
4. Supponiamo che P → Q ∈ Γ. Vogliamo provare che P ∈ Γ oppure
Q ∈ Γ. Se P ∈ Γ, l’asserto `e verificato; in caso contrario, per il punto
1., risulta P ∈ Γ; essendo Q derivabile da P → Q, P e Γ `e chiuso rispetto
alla derivabilit`a, segue che Q ∈ Γ. Viceversa, supponiamo che P ∈ Γ o
Q ∈ Γ, vogliamo provare che P → Q ∈ Γ. Se per assurdo P → Q ∈ Γ,
allora, per il punto 1., (P → Q) ∈ Γ, da cui Γ ¬ (P → Q); se P ∈ Γ,
`e facile provare che P ¬ P → Q (il lettore lo faccia per esercizio), quindi
Γ ¬ P → Q e dunque Γ `e inconsistente; se Q ∈ Γ, con un’applicazione di
(→ i), Q ¬ P → Q, da cui segue che Γ `e inconsistente.

Teorema 3.10 Ogni insieme consistente Γ `e contenuto in uno consistente mas-
simale.
Dimostrazione. Sia P
0
, P
1
, un’enumerazione di tutte le formule ben forma-
te. Definiamo una successione non decrescente di insiemi ¦Γ
i
¦
i∈N
nel seguente
modo:
• Γ
0
= Γ
• Γ
n+1
=

Γ
n
∪ ¦P
n
¦ se Γ
n
∪ ¦P
n
¦ `e consistente
Γ
n
altrimenti
Sia Γ

=
¸

i=0
¦Γ
i
¦. Vogliamo provare che Γ

`e consistente massimale. Dimo-
striamone anzitutto la consistenza. Supponiamo che Γ

¬ ⊥, allora esiste un
albero di prova che permette di derivare ⊥ da un insieme finito ∆ di ipotesi in
Γ

. Necessariamente esiste un qualche Γ
k
che contiene ∆, per cui risulta Γ
k
¬ ⊥,
ma questo `e assurdo in quanto tutti i Γ
i
sono insiemi consistenti per definizione.
Proviamo ora che Γ

`e massimale. Supponiamo che esista un insieme consisten-
te Γ

tale che Γ

⊆ Γ

. Sia P
m
una formula in Γ

. Poich´e Γ
m
⊆ Γ

⊆ Γ

, e Γ

`e
consistente, allora Γ
m
∪ ¦P
m
¦ `e consistente, e quindi Γ
m+1
= Γ
m
∪ ¦P
m
¦, che
implica P
m
∈ Γ

. Dunque Γ

= Γ

.
Teorema 3.11 Un insieme di proposizioni Γ `e consistente se e solo se `e sod-
disfacibile.
78
Dimostrazione. (⇒) Per il Teorema 3.10, Γ `e contenuto in uno consistente
massimale Γ

. Sia v l’interpretazione definita nel seguente modo: per ogni
formula atomica A, v(A) = 1 ⇔ A ∈ Γ

; proviamo che per ogni proposizione P,
v(P) = 1 se e solo se P ∈ Γ

. Da ci`o segue che v `e un modello per Γ

e quindi
per Γ. Per induzione sulla struttura di P.
(caso base) Se P `e una proposizione atomica l’asserto `e vero per come `e definita
l’interpretazione v. Veniamo al caso induttivo.
1. Se P = P
1
. Allora
v(P
1
) = 1 ⇔ v(P
1
) = 0
⇔ P
1
∈ Γ

ipotesi induttiva
⇔ P
1
∈ Γ

Lemma 3.9.1
2. Se P = P
1
∧ P
2
. Allora
v(P
1
∧ P
2
) = 1 ⇔ v(P
1
) = v(P
2
) = 1
⇔ P
1
∈ Γ

e P
2
∈ Γ

ipotesi induttiva
⇔ P
1
∧ P
2
∈ Γ

Lemma 3.9.2
3. Se P = P
1
∨ P
2
. Allora
v(P
1
∨ P
2
) = 1 ⇔ v(P
1
) = 1 oppure v(P
2
) = 1
⇔ P
1
∈ Γ

oppure P
2
∈ Γ

ipotesi induttiva
⇔ P
1
∨ P
2
∈ Γ

Lemma 3.9.3
4. Se P = P
1
→ P
2
. Allora
v(P
1
→ P
2
) = 1 ⇔ v(P
1
) = 0 oppure v(P
2
) = 1
⇔ P
1
∈ Γ

oppure P
2
∈ Γ

ipotesi induttiva
⇔ P
1
∈ Γ

oppure P
2
∈ Γ

Lemma 3.9.1
⇔ P
1
→ P
2
∈ Γ

Lemma 3.9.4
Dunque v(P) = 1 ∀P ∈ Γ

; essendo Γ ⊆ Γ

, v `e un modello per Γ.
(⇐) Segue dal Lemma 3.5.
Teorema 3.12 (Completezza)
Se Γ [= P allora Γ ¬ P.
Dimostrazione. Se Γ [= P allora, per definizione di conseguenza semantica, per
ogni interpretazione v, da v(Γ) = 1 segue v(P) = 1 (e quindi v(P) = 0);
dunque non pu`o esistere un’interpretazione che soddisfa Γ, P. Per il teorema
precedente, Γ, P `e inconsistente, da cui segue, per il Lemma 3.6, che Γ ¬ P.
Abbiamo dunque dimostrato che ci`o che `e conseguenza semantica di un dato
insieme di premesse, `e deducibile da queste mediante le regole della Deduzione
Naturale.
Il teorema precedente `e spesso indicato, in letteratura, come Teorema di comple-
tezza forte, per distinguerlo da quello di completezza debole, la cui formulazione
`e la seguente:
79
Teorema 3.13 (Completezza debole)
[= P se ¬ P.
Dimostrazione. Segue dal Teorema di completezza.
Il suesposto teorema, unitamente al Corollario 3.2, assicura che l’insieme delle
formule derivabili in Deduzione Naturale coincide con quello delle tautologie.
Dunque nella logica proposizionale, trarre delle inferenze per via sintattica o
per via semantica `e del tutto equivalente. Alla luce di ci`o possiamo concludere
che, data una qualunque formula della logica proposizionale, si `e in grado di
stabilire se questa `e un teorema o meno (basta costruire la sua tabella di verit`a
e controllare che l’ultima colonna sia costituita solo da “1”).
Osserviamo che procedendo in tal modo non si ottiene una dimostrazione della
formula, ma si stabilisce solamente che tale dimostrazione esiste.
In particolare, la prova del Teorema 3.13 non `e costruttiva. Nei paragrafi 3.2 e
3.3 verranno presentate due diverse dimostrazioni della completezza
1
del calcolo
proposizionale, che, al contrario, sono costruttive.
Come importante corollario del Teorema di completezza (forte), si ottiene una
dimostrazione alternativa del Teorema di compattezza, gi`a provato in altro modo
nel primo capitolo:
Corollario 3.14 (Teorema di compattezza)
Γ [= P se e solo se esiste un sottoinsieme finito ∆ di Γ tale che ∆ [= P.
Dimostrazione. (⇐) Immediata.
(⇒) Supponiamo che Γ [= P; per il Teorema di completezza Γ ¬ P, dunque
esiste un albero di prova che permette di derivare P da un insieme finito ∆ di
ipotesi in Γ; per il Teorema di correttezza ∆ [= P.
3.2 Sistema Assiomatico
Avendo dimostrato che la nozione di derivabilit`a in Deduzione Naturale coincide
con quella nel Sistema Assiomatico, la correttezza e la completezza di quest’ulti-
mo seguono come ovvio corollario. Presentiamo tuttavia una dimostrazione di-
retta di questo fatto, per evidenziare i molteplici approcci possibili al problema.
Come nel caso della Deduzione Naturale, la correttezza del calcolo assiomatico
risulta semplice: basta provare che gli assiomi sono tautologie (sappiamo gi`a che
la regola di modus ponens `e semanticamente corretta). Tale verifica `e banale,
ed `e lasciata al lettore come esercizio.
Veniamo dunque alla completezza. Cominciamo con il dimostrare il seguente
lemma:
Lemma 3.15 Sia P una formula ben formata ed A
1
, . . . , A
n
le proposizioni
atomiche che vi compaiono. Sia v un’interpretazione. Definiamo, per ogni
1
Finita.
80
proposizione Q,
Q =

Q se v(Q) = 1
Q se v(Q) = 0
Allora:
A
1
, . . . , A
n
¬ P
Dimostrazione. Per induzione sulla struttura di P.
• P = A
i
con i ∈ ¦1, , n¦. Dobbiamo dimostrare che A
i
¬ A
i
, ma
questo `e banalmente vero, sia che A
i
= A
i
, sia che A
i
= A
i
.
• P = ⊥. In questo caso P = ⊥. Come istanza di ( i) abbiamo
¬ (⊥ → ⊥) → ⊥. Poich`e da I ¬ ⊥ → ⊥, per modus ponens risulta ¬ ⊥.
• P = Q. Sia v una generica interpretazione. Consideriamo due sotto-
casi, a seconda che v(P) = 1 o v(P) = 0. Se v(P) = 1, allora v(Q) = 0 e,
per definizione, Q = Q. Per ipotesi induttiva,
A
1
, . . . , A
n
¬ Q
Ma Q = Q = P = P, e dunque
A
1
, . . . , A
n
¬ P
Viceversa, supponiamo che v(P) = 0. In questo caso v(Q) = 1 e Q = Q.
Per ipotesi induttiva,
A
1
, . . . , A
n
¬ Q
Osserviamo ora che Q ¬ Q, come mostrato dal seguente albero:
Q Q → (Q → ⊥) (e)
Q → ⊥ (Q → ⊥) → Q (i)
Q
Componendo i due alberi di prova precedenti, si ricava dunque una dimo-
strazione di
A
1
, . . . , A
n
¬ Q = P
• P = Q ∧ R. Come in precedenza, distinguiamo due sottocasi. Se
v(P) = v(Q∧R) = 1 allora v(Q) = v(R) = 1. Per ipotesi induttiva risulta
A
1
, . . . , A
n
¬ Q A
1
, . . . , A
n
¬ R
Componendo i due alberi di prova precedenti con il seguente albero
R
Q Q → (R → (Q∧ R)) (∧i)
R → (Q∧ R)
Q∧ R
81
otteniamo la dimostrazione di
A
1
, . . . , A
n
¬ Q∧ R = P
Viceversa, se v(P) = 0 allora v(Q) = 0 oppure v(R) = 0. Esaminiamo
solo la prima possibilit`a (l’altro caso `e simmetrico). Se v(Q) = 0, allora
Q = Q e per ipotesi induttiva
A
1
, . . . , A
n
¬ Q
Consideriamo ora il seguente albero:
Q∧ R Q∧ R → Q
Q Q → (Q → ⊥)
Q → ⊥ Q

Questo rappresenta una dimostrazione di Q, Q ∧ R ¬ ⊥. Per il Teore-
ma di deduzione, esiste una dimostrazione di Q ¬ Q ∧ R → ⊥ da cui,
mediante una applicazione di (i), otteniamo una dimostrazione di Q ¬
(Q ∧ R). Componendo quest’ultima con A
1
, . . . , A
n
¬ Q otteniamo la
dimostrazione desiderata di A
1
, . . . , A
n
¬ (Q∧ R) = P.
• P = Q ∨ R. Come `e stato fatto in precedenza, distinguiamo due sot-
tocasi. Se v(P) = 1 allora v(Q) = 1 oppure v(R) = 1. Consideriamo il
primo caso (il rimanente `e simmetrico). Se v(Q) = 1 allora Q = Q e per
ipotesi induttiva esiste una dimostrazione di
A
1
, . . . , A
n
¬ Q
Da questa, utilizzando l’assioma (∨i), mediante un’applicazione di modus
ponens, otteniamo una dimostrazione di
A
1
, . . . , A
n
¬ Q∨ R = P
Viceversa, supponiamo che v(P) = 0. Allora deve essere v(Q) = 0 e
v(R) = 0, quindi Q = Q e R = R. Per ipotesi induttiva esistono due
dimostrazioni di
A
1
, . . . , A
n
¬ Q A
1
, . . . , A
n
¬ R
Da queste, mediante un’applicazione di modus ponens ad istanze di (e),
otteniamo due dimostrazioni di
A
1
, . . . , A
n
¬ Q → ⊥ A
1
, . . . , A
n
¬ R → ⊥
e dall’assioma (Q → ⊥) → ((R → ⊥) → ((Q∨R) → ⊥)), con due ulteriori
passi di modus ponens, si ricava una dimostrazione di
A
1
, . . . , A
n
¬ (Q∨ R) → ⊥
82
Infine, dall’assioma ((Q∨R) → ⊥) → (Q∨R) si ottiene, mediante modus
ponens, la dimostrazione cercata di
A
1
, . . . , A
n
¬ (Q∨ R) = P
• P = Q → R. Distinguiamo tre casi:
1. Se v(R) = 1 allora v(P) = 1, R = R e P = Q → R. Per ipotesi
induttiva esiste una dimostrazione di
A
1
, . . . , A
n
¬ R
Dall’assioma R → (Q → R), mediante una applicazione di modus
ponens, si ottiene una dimostrazione di
A
1
, . . . , A
n
¬ Q → R = P
2. Se v(Q) = 0 allora v(P) = 1, Q = Q e P = Q → R. Per ipotesi
induttiva esiste una dimostrazione di
A
1
, . . . , A
n
¬ Q
Consideriamo il seguente albero
Q → (Q → ⊥) Q
Q → ⊥ Q
⊥ ⊥ → R
R
Questo rappresenta una dimostrazione di Q, Q ¬ R. Per il Teorema
di deduzione esiste una dimostrazione di Q ¬ Q → R, che, composta
con A
1
, . . . , A
n
¬ Q, fornisce la dimostrazione desiderata di
A
1
, . . . , A
n
¬ Q → R = P
3. Se v(Q) = 1 e v(R) = 0 allora v(P) = 0, Q = Q, R = R e
P = (Q → R). Per ipotesi induttiva esistono due dimostrazioni di
A
1
, . . . , A
n
¬ Q A
1
, . . . , A
n
¬ R
`
E sufficiente dimostrare che Q, R ¬ (Q → R). Proviamo innanzi
tutto che Q, R, Q → R ¬ ⊥. Questo `e espresso dal seguente albero
di prova:
Q Q → R
R R → (R → ⊥)
R → ⊥ R

83
Per il Teorema di deduzione, esiste una dimostrazione di Q, R ¬
(Q → R) → ⊥, e da questa, utilizzando l’assioma
((Q → R) → ⊥) → (Q → R)
mediante una applicazione di modus ponens, si ottiene la dimostra-
zione desiderata di
A
1
, . . . , A
n
¬ (Q → R) = P

Teorema 3.16 (Completezza debole)
Per ogni proposizione P, se [= P allora ¬ P.
Dimostrazione. Sia [= P e siano A
1
, . . . , A
n
le proposizioni atomiche che vi
compaiono. Per il lemma precedente, per ogni interpretazione v,
A
1
, . . . , A
n−1
, A
n
¬ P
Essendo per ipotesi P una tautologia, v(P) = 1 e quindi
A
1
, . . . , A
n−1
, A
n
¬ P
In particolare, se v(A
n
) = 1 risulta
A
1
, . . . , A
n−1
, A
n
¬ P
Mentre se v(A
n
) = 0 risulta
A
1
, . . . , A
n−1
, A
n
¬ P
Per il Teorema di deduzione, esistono due dimostrazioni
A
1
, . . . , A
n−1
¬ A
n
→ P A
1
, . . . , A
n−1
¬ A
n
→ P
Consideriamo il seguente albero:
A
n
∨ A
n
A
n
→ P
A
n
→ P (A
n
→ P) → ((A
n
→ P) → (A
n
∨ A
n
→ P))
(A
n
→ P) → (A
n
∨ A
n
→ P)
A
n
∨ A
n
→ P
P
Componendolo con le due dimostrazioni precedenti e con la dimostrazione di
A
n
∨ A
n
(Esempio 2.5) si ottiene, per ogni v, una dimostrazione di
A
1
, . . . , A
n−1
¬ P
Abbiamo dunque eliminato l’ipotesi A
n
. Iterando il procedimento appena de-
scritto sulle restanti ipotesi si ottiene una dimostrazione di ¬ P.
84
Osservazione Tale teorema viene chiamato Teorema di completezza debole
per distinguerlo dal Teorema di completezza, la cui formulazione fa riferimento
alla nozione di conseguenza logica.
Osserviamo che la prova del Teorema 3.16 `e costruttiva in quanto seguendone i
vari passi `e possibile ricavare una dimostrazione per P.
Teorema 3.17 (Completezza finita)
Sia Γ un insieme finito di proposizioni, se Γ [= P allora Γ ¬ P.
Dimostrazione. Segue dai teoremi di deduzione e di completezza debole.
Per provare il Teorema di completezza (forte) `e necessario utilizzare il Teorema
di compattezza (Teorema 1.18).
Teorema 3.18 (Completezza)
Se Γ [= P allora Γ ¬ P.
Dimostrazione. Segue dal Teorema di completezza finita e dal Teorema di
compattezza.
3.3 Calcolo dei Sequenti
Al fine di enunciare in modo elegante i Teoremi di correttezza e completezza per
il Calcolo dei Sequenti `e opportuno generalizzare la nozione di soddisfacibilit`a
semantica nel modo seguente:
Definizione 3.19 Dati due insiemi di formule Γ e ∆, si dice che ∆ `e soddi-
sfatto in Γ (Γ [= ∆), se e solo se ∀v ((∀P
i
∈ Γ v(P
i
) = 1) ⇒ ∃Q ∈ ∆, v(Q) =
1).
In questa sezione considereremo la formalizzazione II del calcolo.
Teorema 3.20 (Correttezza)
Se Γ ¬ ∆ allora Γ [= ∆.
Dimostrazione. Al solito, la dimostrazione consiste nel verificare che gli assiomi
sono validi e che le regole di inferenza preservano la validit`a. Nel nostro caso
l’unico assioma `e A ¬ A, ed ovviamente A [= A.
Il fatto che le regole strutturali preservano la validit`a `e immediato. Nel dimo-
strare che le regole di inferenza logiche fanno altrettanto `e sufficiente considerare
il caso in cui tutti i parametri sulla sinistra della conclusione hanno valore 1,
e quelli sulla destra hanno valore 0, poich`e, in caso contario, l’asserto `e ba-
nalmente verificato. La dimostrazione procede per ispezione delle varie regole,
osservando che le ipotesi di validit`a delle formule ausiliarie forzano un valore
di verit`a per la formula principale che rende valido il sequente. Presentiamone
85
solo alcune, le rimanenti sono lasciate al lettore come esercizio. Consideriamo
la regola
(∨l)
Γ, A ¬ ∆ Γ, B ¬ ∆
Γ, A∨ B ¬ ∆
Se i parametri in Γ hanno valore 1 e quelli in ∆ valore 0, l’unico caso in cui
Γ, A [= ∆ e Γ, B [= ∆ `e che v(A) = v(B) = 0. Ma in tale situazione, anche
v(A∨ B) = 0 e dunque Γ, A∨ B [= ∆.
Consideriamo la regola
(→ r)
Γ, A ¬ B, ∆
Γ ¬ A → B, ∆
Se i parametri in Γ hanno valore 1, quelli in ∆ valore 0, e Γ, A [= B, ∆ vi sono
solo due possibilit`a (non esclusive): o v(A) = 0 oppure v(B) = 1. In entrambi i
casi v(A → B) = 1 e dunque Γ [= A → B, ∆.
Naturalmente, il Teorema di correttezza vale anche per la formulazione I del
Calcolo dei Sequenti. L’interesse della formulazione II, in questo caso, `e che non
solo le regole preservano la validit`a, ma anche la non validit`a. In altri termini,
preservano la validit`a anche se lette “all’indietro” (scambiando cio`e premesse e
conclusioni).
Teorema 3.21 Per ogni regola di inferenza della formulazione II del Calcolo
dei Sequenti, le premesse sono valide se e solo se la conclusione `e valida.
Dimostrazione. (⇒) Segue dal teorema precedente.
(⇐) Considereremo solo alcune regole, lasciando le restanti al lettore.
(→ l)
Γ ¬ A, ∆ Γ, B ¬ ∆
Γ, A → B ¬ ∆
Supponiamo che Γ, A → B [= ∆. Vogliamo dimostrare che Γ [= A, ∆ e Γ, B [=
∆. L’unico caso interessante `e quando tutte le formule in Γ hanno valore 1 e
quelle in ∆ valore 0. In tale situazione, poich`e per ipotesi Γ, A → B [= ∆,
deve essere v(A → B) = 0. Questo implica che v(A) = 1 e v(B) = 0, e quindi
ovviamente Γ [= A, ∆ e Γ, B [= ∆.
(∨r)
Γ ¬ A, B, ∆
Γ ¬ A∨ B, ∆
Al solito, ci si restringe al caso in cui tutte le formule in Γ hanno valore 1 e
quelle in ∆ valore 0. Se Γ [= A ∨ B, ∆, deve essere v(A ∨ B) = 1, per cui o
v(A) = 1 oppure v(B) = 1. In entrambi i casi Γ [= A, B, ∆.
Osservazione Il teorema precedente non vale nel caso della formulazione I
del Calcolo dei Sequenti. Infatti, consideriamo la regola
(∨r)
Γ ¬ A, ∆
Γ ¬ A∨ B, ∆
86
supponiamo che tutte le formule in Γ hanno valore 1, quelle in ∆ valore 0 ed
inoltre v(A) = 0 e v(B) = 1. Allora Γ [= A∨ B, ∆, ma Γ [= A, ∆.
Teorema 3.22 (Completezza finita)
Sia Γ un insieme finito di proposizioni, se Γ [= ∆ allora Γ ¬ ∆.
Dimostrazione. Supponiamo che Γ [= ∆. A partire dal sequente Γ ¬ ∆ co-
struiamo all’indietro un albero di derivazione applicando regole logiche fino a
ridursi a sequenti con solo formule atomiche. Poich´e ogni premessa di una re-
gola logica contiene meno connettivi della conclusione, il procedimento termina
necessariamente. Dunque, dopo un numero finito di passi, ci si riduce ad un
albero le cui foglie sono sequenti del tipo Γ

¬ ∆

dove tutte le formule in Γ

e ∆

sono atomiche. Poich´e le regole del calcolo preservano la validit`a anche
quando sono applicate all’indietro, tutti questi sequenti devono essere validi.
Ma l’unica possibilit` a affinch´e Γ

[= ∆

`e che Γ

e ∆

contengano una sotto-
formula in comune (in caso contrario `e banale trovare un’interpretazione v tale
che v(Γ

) = 1 e v(∆

) = 0). Tuttavia, se Γ

e ∆

contengono una formula in
comune A, il sequente Γ

¬ ∆

`e facilmente derivabile dall’assioma A ¬ A per
indebolimenti e permutazioni. Dunque possiamo sempre completare l’albero di
prova, ottenendo una dimostrazione di Γ ¬ ∆.
Come nel paragrafo precedente, per provare il Teorema di completezza (forte) `e
necessario utilizzare il Teorema di compattezza (Teorema 1.18).
Teorema 3.23 (Completezza)
Se Γ [= P allora Γ ¬ P.
Dimostrazione. Segue dal Teorema di completezza finita e dal Teorema di
compattezza.
Corollario 3.24 Le regole di contrazione sono ridondanti nella formulazione
II del Calcolo dei Sequenti.
Dunque in tale formulazione, le regole di contrazione sono “internalizzate” in
quelle logiche.
Corollario 3.25 Il Calcolo dei Sequenti `e logicamente equivalente alla Dedu-
zione Naturale ed al Sistema Assiomatico.
La dimostrazione del Teorema di completezza (finita) mostra, tra le altre cose,
la ridondanza della regola di taglio nel caso della formulazione II del Calcolo dei
Sequenti. Tuttavia, come gi`a accennato in precedenza, l’interesse del teorema
non `e tanto nell’esistenza di una dimostrazione senza tagli per un dato sequen-
te, ma nel procedimento effettivo di eliminazione che permette di trasformare
attraverso riscritture elementari, una dimostrazione con tagli in una, priva di
tagli, ad essa equivalente.
87
3.4 Cenni storici e bibliografici
I primi calcoli logici sono stati introdotti allo scopo di sviluppare al loro interno
tutti i possibili ragionamenti. Per tale motivo, inizialmente, non si `e cercata una
giustificazione di tali calcoli all’esterno degli stessi, in termini del significato del-
le formule. Bernays ([Ber26]) `e stato il primo ad utilizzare nozioni semantiche
per giustificare i sistemi di Whitehead e Russel fornendo per essi una dimostra-
zione di completezza. La prima dimostrazione pubblicata e per lungo tempo,
la pi` u influente, `e stata quella di Post ([Pos21]). Questi ha mostrato che ogni
formula ben formata `e equivalente (semanticamente) ad una in forma normale
disgiuntiva. Quindi ha aggiunto degli assiomi al sistema del Principia Mathe-
matica in modo tale da produrre, per ogni formula valida P, la forma normale
disgiuntiva, P
d
, equivalente ad essa ed una derivazione P
d
→ P ([= P ⇒ ¬ P
d
).
Unendo le due dimostrazioni si ottiene una prova
2
costruttiva di P. Successiva-
mente `e stato provato che gli assiomi aggiunti da Post erano in realt`a derivabili
da quelli gi`a presenti nel Principia Mathematica. La dimostrazione di comple-
tezza presentata nel paragrafo 3.1 `e dovuta ad Henkin ([Hen54]). La prova di
Post presenta due svantaggi rispetto a quest’ultima: non pu`o essere facilmente
generalizzata a calcoli logici di altra natura e non consente di dimostrare la com-
pletezza (forte), che richiederebbe assunzioni non costruttive. Le dimostrazioni
dei paragrafi 3.2 e 3.3 sono rispettivamente dovute a Kalmar ([Kal35]) e Keto-
nen (si veda [Cur63]). Per una panoramica sulle molteplici prove costruttive del
Teorema di completezza si veda [Sur73].
Esercizi
3.1 Stabilire quali dei seguenti insiemi sono consistenti:
1. ¦A → B, C → D, D → E, E → A¦
2. ¦A∨ B → C, A, B → C, B¦
3. ¦A∨ B → C, A, B → C, C¦
3.2 Dimostrare che un insieme Γ `e consistente massimale se e solo se esiste
un’unica interpretazione v tale che v(P) = 1, ∀P ∈ Γ.
3.3 Provare che un insieme Γ `e consistente massimale se e solo se sono verificate
le seguenti condizioni:
1. Γ `e consistente;
2. Per ogni proposizione P, P ∈ Γ oppure P ∈ Γ.
3.4 Mostrare che se α → β ∈ Γ e Γ, α e Γ, β sono inconsistenti, allora Γ `e
inconsistente.
2
Teorema di completezza debole.
88
3.5 Provare che l’insieme Γ = ¦P [ v(P) = 1¦, dove v `e un’interpretazione
fissata, `e un insieme consistente massimale.
3.6 Sia Γ un insieme consistente massimale; provare che la funzione v : FBF →
¦0, 1¦ definita nel seguente modo: per ogni proposizione P, v(P) = 1 ⇔ P ∈ Γ,
`e un’interpretazione (cio`e verifica le condizioni stabilite nella Definizione 1.5).
3.7 Dimostrare che Γ ¬ Q se e solo se esiste un’interpretazione v tale che
v(P) = 1 per ogni P ∈ Γ e v(Q) = 0.
3.8 Riformulare le dimostrazioni del paragrafo 3.1 in un Sistema Assiomatico
e nel Calcolo dei Sequenti.
3.9 Provare la completezza dei Sistemi Assiomatici menzionati in 2.3.2.
3.10 Riformulare le dimostrazioni del paragrafo 3.2 in Deduzione Naturale e
nel Calcolo dei Sequenti.
3.11 Mostrare che le seguenti affermazioni sono equivalenti:
1. A ¬ B
2. A [= B
3. [= A → B
4. ¬ A → B
3.12 Provare che le seguenti proposizioni sono dei teoremi:
1. (A∧ A)
2. (A∨ B) → (B ∨ A)
3. (A → A) → A
4. A → (B → B)
5. (A∧ A) → B
6. (B ∧ (A → B)) → A
7. B → ((A → B) → A)
8. (A → B) → ((A → B) → A)
9. ((A∧ B) → C) → (A → (B → C))
10. (A → (B → C)) → (B → (A → C))
11. (A → (B ∨ C)) → ((A → B) ∨ (A → C))
12. (A → (B ∧ C)) → ((A → B) ∧ (A → C))
Capitolo 4
Logica dei predicati
4.1 Introduzione
Nei capitoli precedenti abbiamo studiato le propriet`a sintattiche e semantiche
dei connettivi proposizionali, cio`e di “operazioni” che consentono di combinare
tra loro proposizioni pi` u semplici per formare proposizioni composte. In tali
operazioni, le proposizioni sono assunte ed analizzate come entit`a elementari,
concetti astratti che denotano un valore di verit`a “vero” o “falso”, e l’enfasi `e
posta sul modo in cui il valore di verit`a della proposizione composta dipende
dai valori di verit`a dei componenti.
Dal punto di vista formale, il calcolo proposizionale `e tuttavia poco espressivo.
In particolare, i suoi meccanismi sono insufficienti per gestire ragionamenti che
coinvolgono generalit`a e nozioni correlate, cio`e la possibilit`a di esprimere che una
certa propriet`a P sussiste per tutti gli “oggetti” del dominio inteso del discorso
o, che esiste almeno un oggetto che gode della propriet`a P, ed altre affermazioni
simili. Ci`o `e dovuto al fatto che la logica proposizionale si limita a considerare le
proposizioni composte come funzioni di quelle atomiche, senza scomporre ulte-
riormente queste ultime, bench´e esse non costituiscano gli elementi pi` u semplici
del ragionamento e posseggano a loro volta una struttura interna che assume
un ruolo di primaria importanza nelle deduzioni. Consideriamo, ad esempio, la
seguente derivazione:
ogni numero intero `e un numero razionale
1 `e un numero intero
1 `e un numero razionale
questa `e intuitivamente corretta; tuttavia, se riscritta utilizzando la notazione
simbolica della logica proposizionale, assume una forma del tipo:
A∧ B → C
e non vi `e alcun motivo per cui tale formula risulti vera. Questo avviene appunto
perch´e non vengono considerate le strutture interne delle proposizioni atomiche
89
90
A, B e C.
Per poter ovviare a questi problemi, `e necessario introdurre degli operatori di
una natura sensibilmente differente dai connettivi proposizionali, tradizional-
mente noti con il nome di quantificatori. Tra questi, i pi` u utili dal punto di
vista matematico sono il quantificatore universale (∀) e quello esistenziale (∃).
La semantica intesa per tali connettivi richiede un sistema basato su due classi
distinte di oggetti: i “termini” ed i “predicati”. I termini rappresentano gli
“oggetti” del dominio del discorso; i predicati sono le relazioni che possono sus-
sistere tra questi oggetti. Formule quantificate del tipo ∀xA o ∃xA esprimono
rispettivamente il fatto che la propriet`a A sussiste per ogni generico elemento x
del dominio, o che esiste almeno un elemento x che gode della propriet`a A.
La logica cos`ı ottenuta `e nota come logica dei predicati (o logica del primo or-
dine), il cui nome deriva dal fatto che una proposizione (atomica) presenta, in
genere, una struttura interna del tipo soggetto−predicato. Essa pu`o essere con-
siderata come un’estensione di quella proposizionale e risulta sufficientemente
espressiva da permettere la formalizzazione di gran parte dei ragionamenti che
ricorrono nel linguaggio naturale e nella matematica e da costituire la base di
diversi utili linguaggi di programmazione, tra i quali Prolog (si veda a tal pro-
posito il capitolo 6) ed SQL.
Pi` u precisamente, la logica dei predicati estende quella proposizionale con le
nozioni aggiuntive di: quantificatori, predicati, funzioni, variabili e costanti.
• I quantificatori introdotti sono: il quantificatore universale e quello esi-
stenziale; il primo permette di considerare la generalit`a degli oggetti del
dominio inteso del discorso, come ad esempio nella sentenza:
tutti i numeri interi sono numeri razionali
mentre il secondo consente di esprimere l’esistenza di oggetti in una data
relazione, come:
esiste un numero razionale che non `e intero.
• I predicati consentono di esprimere propriet`a e relazioni su insiemi di og-
getti del dominio. Se ad esempio consideriamo i numeri naturali, possiamo
essere interessati ad esprimere la propriet`a che determinati numeri sono
primi. Avremo dunque sentenze della forma:
5 `e un numero primo
4 `e un numero primo
x `e un numero primo
Si noti che la prima di queste sentenze risulta vera, la seconda falsa, mentre
per quanto concerne la terza, non `e possibile stabilire se `e vera o falsa:
questa `e una funzione logica che diventa vera o falsa quando la variabile
x viene rimpiazzata da un oggetto del dominio del discorso (che in questo
caso `e l’insieme dei numeri naturali).
• Le funzioni permettono di definire nuovi “oggetti” del dominio in termini
di quelli preesistenti e di individuarli univocamente. Ad esempio, sui nu-
meri naturali possiamo considerare la funzione s che associa ad ogni intero
91
x il suo successore x + 1; se consideriamo invece un dominio di individui,
possiamo essere interessati alla funzione che associa ad ogni persona suo
padre, e cos`ı via.
In analogia con quanto `e stato fatto per la logica proposizionale, procediamo alla
trattazione formale della logica dei predicati presentandone prima la sintassi e
poi la semantica.
4.2 Sintassi
Definiamo anzitutto l’alfabeto per la logica dei predicati.
In generale, per ragioni di chiarezza e leggibilit`a, indicheremo le variabili con
lettere minuscole terminali dell’alfabeto (x, y, z, . . . ); le costanti con lettere mi-
nuscole iniziali (a, b, c, . . . ), e le funzioni con lettere intermedie (f, g, h, . . . ).
In questo capitolo, i simboli di predicato saranno rappresentati da lettere ma-
iuscole iniziali dell’alfabeto (A, B, C, . . . ). Nel caso di predicati e funzioni, si
utilizzeranno spesso degli apici per indicarne l’ ariet`a, cio`e il numero degli argo-
menti. Si scriver`a, ad esempio, A
3
e f
2
per indicare rispettivamente che A `e un
predicato ternario ed f `e una funzione binaria. Le lettere maiuscole P, Q,
(eventualmente indiciate) verranno utilizzate come meta-simboli per le formule
della logica del primo ordine.
I quantificatori sono rappresentati dai seguenti simboli:
∀ “ per ogni” quantificatore universale
∃ “esiste” quantificatore esistenziale
Esempio 4.1 La sentenza “x `e un numero pari” si pu`o formalizzare come
A
1
(x), dove A
1
`e il predicato “. . . numero pari” attribuito ad x (soggetto); quin-
di A
1
(4) rappresenta “4 `e un numero pari”.
La proposizione “x+1 `e maggiore di x” utilizzando la notazione simbolica della
logica dei predicati, diventa A
2
(f
2
(x, 1), x),dove A
2
`e il predicato “. . . maggiore
di . . . ” ed f
2
la funzione che presi due argomenti esegue la loro somma (f
2
(x, y) =
x +y).
Definizione 4.1 Un linguaggio del primo ordine `e definito da un alfabeto com-
posto da:
• un insieme di simboli di costante a, b, c . . .
• un insieme infinito, VAR, di simboli di variabile x, y, z, . . .
• un insieme di simboli di funzione f, g, h, . . .
• un insieme di simboli di predicato A, B, C, . . .
• connettivi : ∧, ∨, , →, ⊥
• quantificatori: ∀, ∃
92
• simboli ausiliari: “(” , “)”.
In generale, non si faranno particolari assunzioni sulla cardinalit`a degli insiemi
di simboli per costanti, funzioni e predicati
1
. Abitualmente, tuttavia, si richiede
che funzioni e predicati siano in numero finito. Al contrario, si accettano insiemi
di costanti di cardinalit`a arbitraria, perch`e pu`o essere interessante considerare
teorie logiche per descrivere modelli di qualunque cardinalit`a, ed in tal caso pu`o
essere utile avere una costante differente per ogni elemento del modello (si veda,
a tal proposito, il paragrafo 5.4). Per ragioni tecniche, `e inoltre opportuno
disporre di una infinit`a (numerabile) di variabili, in modo da avere continua
disponibilit`a di variabili “fresche”, cio`e variabili che non appaiono nelle formule
gi`a considerate.
Si noti comunque che l’alfabeto deve essere fissato una volta per tutte. Non
esiste dunque un unico linguaggio del primo ordine, ma ogni alfabeto definisce
un linguaggio differente. I linguaggi differiscono tra loro per i diversi simboli
di costante, funzione e predicato definiti nell’alfabeto; ovviamente la differenza
rilevante non `e nei nomi scelti per tali simboli, ma nel loro numero ed ariet`a
(ci`o che `e comunemente nota come “segnatura” del linguaggio). Fissato un
linguaggio, si pu`o ora definire l’insieme dei suoi termini:
Definizione 4.2 TER `e il minimo insieme X tale che:
1. ogni costante appartiene ad X
2. ogni variabile appartiene ad X
3. se t
1
, t
2
, . . . t
n
∈ X ed f
n
`e un simbolo di funzione del linguaggio ⇒
f
n
(t
1
, . . . , t
n
) ∈ X con n ≥ 1.
Osservazione
`
E possibile considerare le costanti come funzioni di arit`a 0.
Definizione 4.3 Sia L un linguaggio del primo ordine. La cardinalit`a di L, che
si indica con [L[, `e la cardinalit`a dell’insieme degli elementi che lo costituiscono.
Dopo aver presentato i termini, procediamo alla definizione formale delle formule
ben formate di un dato linguaggio del primo ordine.
Definizione 4.4 FBF `e il minimo insieme X tale che:
1. ⊥ ∈ X
2. t
1
, . . . , t
n
∈ TER ed A
n
`e un simbolo di predicato del linguaggio ⇒
A
n
(t
1
, . . . , t
n
) ∈ X con n ≥ 0
3. P ∈ X ⇒ (P) ∈ X
4. P, Q ∈ X ⇒ (P ∧ Q), (P ∨ Q), (P → Q) ∈ X
1
Ovviamente, se si considerano solo insiemi finiti di formule, si pu`o sempre supporre che
l’alfabeto sia finito.
93
5. P ∈ X ⇒ ((∀x)P), ((∃x)P) ∈ X
Le fbf dei punti 1 e 2 sono dette formule atomiche o semplicemente atomi.
Esempio 4.2 Trasformare in fbf le seguenti sentenze:
1. Ogni numero naturale `e un numero intero
2. Esiste un numero che non `e naturale
3. Per ogni numero x esiste un numero y tale che x < y
Denotando con A
1
il predicato “. . . numero naturale”, con B
1
“. . . numero inte-
ro” e con C
2
“ . . . < . . . ”, le precedenti proposizioni risultano:
1. ((∀x)(A
1
(x) → B
1
(x)))
2. ((∃x)(A
1
(x)))
3. ((∀x)((∃y)C
2
(x, y))
Per aumentare la leggibilit`a delle fbf si utilizzano le regole di precedenza dei
connettivi introdotte nel paragrafo 1.3, con in aggiunta quelle per i quantifica-
tori, per eliminare, quando `e possibile, le parentesi. Le precedenze sono espresse
nel seguente modo
2
:
∀ = ∃ = > ∧ > ∨ >→
In base a tali convenzioni, le fbf dell’esempio sopra si possono riscrivere, rispet-
tivamente, come:
1. ∀x(A
1
(x) → B
1
(x))
2. ∃xA
1
(x)
3. ∀x∃yC
2
(x, y)
Inoltre, nel seguito, ometteremo abitualmente l’apice n nelle espressioni f
n
(t
1
, . . . , t
n
)
o A
n
(t
1
, . . . , t
n
), poich´e `e implicitamente definito dal numero degli argomenti.
4.2.1 Sottoformule
In analogia con quanto fatto per la logica proposizionale, vediamo la definizione
formale di sottoformula:
Definizione 4.5 Sia P una fbf
1. Se P `e ⊥ oppure A(t
1
, . . . , t
n
), allora P stessa `e la sua sola sottofor-
mula.
2. Se P `e P
1
, allora le sottoformule di P sono P stessa e quelle di P
1
.
2
Per semplicit`a, indicheremo con il simbolo “=” l’espressione “· · · ha la stessa precedenza
di · · · ”, e con il simbolo “>” l’espressione “· · · ha precedenza maggiore di · · · ”.
94
3. Se P `e (P
1
∧ P
2
), (P
1
∨ P
2
), (P
1
→ P
2
) allora le sue sottoformule sono
P stessa e quelle di P
1
e P
2
.
4. Se P `e (∀xP
1
), (∃xP
1
), allora le sue sottoformule sono P stessa e quelle
di P
1
.
Esempio 4.3 Sia P la fbf
∃xA(f(x), y) ∧ ∀yB(f(y), y)
Le sue sottoformule sono: P, ∃xA(f(x), y), A(f(x), y), ∀yB(f(y), y), ∀yB(f(y), y),
B(f(y), y).
4.2.2 Induzione
Definiamo ora i Principi di Induzione Strutturale per i termini e le formule ben
formate.
Teorema 4.6 Sia / una propriet` a, allora /(t)
3
per ogni t ∈ TER se:
1. / `e verificata per tutti i simboli di variabile e costante.
2. ∀t
1
, . . . , t
n
∈ TER, /(t
1
), /(t
2
), . . . , /(t
n
) ⇒ /(f
n
(t
1
, . . . , t
n
)) per
tutti i simboli di funzione f
n
con n ≥ 1.
Dimostrazione. Sia Y = ¦l ∈ TER [ /(l)¦, allora Y soddisfa 1-3 della Defini-
zione 4.2. Quindi TER ⊆ Y , ossia ∀t ∈ TER, /(t).
Teorema 4.7 Sia / una propriet` a, allora /(P) per ogni P ∈ FBF se:
1. / `e verificata per tutti gli atomi.
2. ∀P
1
∈ FBF, /(P
1
) ⇒ /((P
1
)).
3. ∀P
1
, P
2
∈ FBF, /(P
1
), /(P
2
) ⇒ /(P
1
∧ P
2
), /(P
1
∨ P
2
), /(P
1
→ P
2
)
4. ∀P
1
∈ FBF /(P
1
) ⇒ /((∀x
i
)P
1
), /((∃x
i
)P
1
) ∀i
Dimostrazione. Analoga a quella del teorema precedente.
4.2.3 Variabili libere e legate
Consideriamo una formula quantificata del tipo ∀xQ. Intuitivamente, essa espri-
me che la formula Q, in cui pu`o comparire la variabile x, `e vera per ogni elemento
x del dominio inteso del discorso. Dato dunque un termine t del linguaggio, ci
si aspetta che se `e vero ∀xQ, allora rimpiazzando le occorrenze di x in Q con il
termine t (ovvero operando la sostituzione Q[
t
/
x
]) si ottiene ancora una sentenza
corretta. I quantificatori stabiliscono dei legami tra la variabile quantificata e le
eventuali occorrenze della stessa variabile all’interno del corpo della formula. Lo
3
A `e verificata
95
studio formale di questi legami costituisce la principale difficolt`a sintattica della
logica dei predicati, e richiede una definizione piuttosto meticolosa di nozioni
quali campo d’azione, occorrenze libere e legate di variabili, sostituzione etc. che
saranno oggetto di questa sezione.
La prima nozione che dobbiamo discutere `e quella di campo d’azione (scope) di
un quantificatore, che definisce la portata della quantificazione, ovvero la sot-
toespressione sintattica su cui essa ha effetto. Per definizione, il campo d’azione
di un quantificatore `e la fbf immediatamente alla sua destra. Ad esempio, il
campo di azione del quantificatore esistenziale nella fbf (∃x)(P → Q) → R `e la
sottoformula P → Q.
Una variabile che compare nel campo di azione di un quantificatore si dir`a le-
gata; altrimenti libera. Ad esempio, nella formula ∀xA(x, y), x `e legata mentre
y `e libera.
Formalmente, l’insieme delle variabili libere di una formula ben formata `e defi-
nito nel modo seguente:
Definizione 4.8 Sia t ∈ TER; l’insieme FV(t) delle variabili libere in t `e
definito per induzione come segue:
• FV(x
i
) = ¦x
i
¦ per una variabile x
i
.
• FV(c) = ∅ per una costante c.
• FV(f(t
1
, . . . , t
n
)) = FV(t
1
) ∪ ∪FV(t
n
) per una funzione n-aria f.
Per ogni fbf P l’insieme FV(P) delle variabili libere di P `e definito da:
• FV(⊥) = ∅.
• FV(A(t
1
, . . . , t
n
)) = FV(t
1
) ∪ ∪ FV(t
n
) per un predicato n-ario.
• FV(P
1
) = FV(P
1
).
• FV(P
1
∧ P
2
) = FV(P
1
) ∪ FV(P
2
).
• FV(P
1
∨ P
2
) = FV(P
1
) ∪ FV(P
2
).
• FV(P
1
→ P
2
) = FV(P
1
) ∪ FV(P
2
).
• FV(∀xP
1
) = FV(P
1
) −¦x¦.
• FV(∃xP
1
) = FV(P
1
) −¦x¦.
Definizione 4.9 Una fbf P `e detta chiusa se FV(P) = ∅; aperta altrimenti.
Lasciamo al lettore la cura di definire l’insieme BV delle variabile legate di una
formula.
Si noti che per una fbf P, l’intersezione di FV(P) e BV(P) non `e necessariamen-
te vuoto; vale a dire che una stessa variabile pu`o occorrere in P sia libera che
legata. Sia ad esempio P la fbf ∀x(Q(x, y) → R(x)) ∧ ∀y(Q(x, y) → ∀zR(z));
allora FV(P) = ¦x, y¦ e BV(P) = ¦x, y, z¦. Al contrario, ogni occorrenza di un
certa variabile `e o libera o legata.
96
Osservazione Pu`o accadere che una variabile compaia nel campo d’azione
di pi` u di un quantificatore per essa, come nella formula ∀x(A(x) → ∀xB(x))
dove la seconda occorrenza della variabile x `e nel campo d’azione di entrambi
i quantificatori. In questo caso, si assume che il legame corretto sia con il
quantificatore pi` u interno.
Il campo d’azione dei quantificatori determina in modo essenziale l’interpretazio-
ne stessa della formula, come risulter`a evidente dalla semantica formale definita
nel prossimo paragrafo. Tuttavia, facendo riferimento all’interpretazione intuiti-
va dei quantificatori, `e opportuno che il lettore svolga fin d’ora numerosi esercizi
di formalizzazione in logica del primo ordine di semplici enunciati tratti sia dal
linguaggio matematico che da quello naturale. Il problema principale consiste
appunto nel posizionamento corretto dei quantificatori all’interno della formula.
Esempio 4.4 Asserire
“Per ogni intero x esiste un numero y tale che se x non `e il successore
di y allora x = 0”
`e una cosa ben diversa dal dire
“Per ogni intero x se esiste un numero y tale che x non `e il successore
di y allora x = 0”
In particolare, pur non avendo introdotto la definizione formale di interpreta-
zione nella logica del primo ordine, la prima asserzione `e intuitivamente vera: o
x = 0 e dunque l’implicazione `e vera perch`e il conseguente `e vero, oppure x = 0
ed in tal caso basta prendere come y il predecessore di x e l’implicazione `e vera
in quanto la premessa x = s(y) risulta falsa. Al contrario, la seconda asserzione
`e intuitivamente falsa. Consideriamo ad esempio x = 1: ovviamente esiste un y
per cui 1 non `e successore di y (dunque la premessa `e vera), ma 1 = 0 e dunque
il conseguente `e falso.
Veniamo al problema della loro formalizzazione logica. Supponiamo di utiliz-
zare un linguaggio del primo ordine con una costante 0, una funzione unaria s
che denota la funzione successore ed un predicato binario E(x, y) che denota la
relazione di uguaglianza.
La prima asserzione sar`a formalizzata dalla formula
∀x∃y(E(x, s(y)) → E(x, 0))
mentre la seconda assume la forma
∀x(∃yE(x, s(y)) → E(x, 0))
che sono ben diverse tra loro!
Un altro errore comune `e quello di invertire inopinatamente l’ordine dei quan-
tificatori in una formula, che al contario gioca un ruolo essenziale.
Esempio 4.5 Dire che
97
“Per ogni x, esiste un y tale che x `e minore di y”
`e una cosa completamente diversa dall’affermare
“Esiste un y tale che, per ogni x, x `e minore di y”
Quest’ultima sentenza asserisce l’esistenza di un massimo rispetto alla relazione
d’ordine, ed `e intuitivamente falsa se si considerano come oggetti del dominio
del discorso i numeri naturali (mentre, al contrario, la prima asserzione `e banal-
mente vera).
In un linguaggio del primo ordine, le due asserzioni suddette assumono, rispet-
tivamente, la seguente forma:
∀x∃yA(x, y)
∃y∀xA(x, y)
4.2.4 Sostituzione
I nomi delle variabili quantificate assumono il ruolo di parametri formali; questo
significa che in una formula del tipo ∀xP o ∃xP si pu`o cambiare il nome x in
un nome y senza modificare il significato intuitivo della formula, a condizione di
cambiare in modo consistente i nomi di tutte le occorrenze della variabile x in P
legate dal quantificatore. Ovviamente, il nuovo nome y non doveva comparire
libero in P poich`e altrimenti si andrebbero a legare delle occorrenze di variabili
che non erano legate nella formula originaria.
Illustriamo la tal cosa con un esempio tratto dalla matematica.
Esempio 4.6 Si consideri l’integrale
f(y) =

b
a
x y dx
intuitivamente la variabile x, nella classificazione precedentemente discussa, `e
“legata”, mentre y `e “libera”.
`
E possibile sstituire z al posto di x (quindi
l’integrale diventerebbe f(y) =

b
a
z y dz); non `e per`o ammesso sostituire y al
posto di x, perch´e in tal modo si otterrebbe una funzione differente.
Vediamo ora la definizione formale di sostituzione di una variabile x con un
termine t in una formula P, che denoteremo con P[
t
/
x
].
Definiamo innanzi tutto la sostituzione all’interno di termini.
Definizione 4.10 Siano s, t ∈ TER, allora s[
t
/
x
], ossia il termine ottenuto
rimpiazzando tutte le occorrenze di x in s con t, `e definito nel seguente modo:
• se s `e una variabile y, allora
y[
t
/
x
] =

y se y = x
t se y = x
98
• se s `e una costante c, allora c[
t
/
x
] = c
• f(t
1
, . . . , t
n
)[
t
/
x
] = f(t
1
[
t
/
x
], . . . , t
n
[
t
/
x
])
Nel definire P[
t
/
x
] esiste un problema piuttosto delicato che deve essere discus-
so. In particolare, si vuole evitare che una qualche variabile libera in t venga
indebitamente legata da qualche quantificatore di P durante la sostituzione.
Consideriamo ad esempio la formula P data da ∃x(x < y), e la sostituzione
P[
x
/
y
]. Intuitivamente si sta semplicemente ridenominando una variabile e ci
si aspetta che il significato della formula non cambi. Tuttavia, applicando in
modo semplicistico la nozione di sostituzione, otterremmo la formula ∃x(x < x)
che ha un significato intuitivo differente dalla precedente. Ad esempio, pur non
avendo ancora introdotto la definizione formale di interpretazione per la logica
dei predicati, ∃x(x < x) risulta intuitivamente falsa se si considera una qualun-
que struttura ordinata, mentre la formula di partenza, vale a dire ∃x(x < y),
potrebbe non esserlo (dipende dall’interpretazione che si d`a alla variabile li-
bera y). Ci`o accade in quanto la variabile (libera) y diventa legata dopo la
sua sostituzione con la variabile x. Un modo differente di vedere il problema
`e il seguente. Abbiamo gi`a osservato che si possono ridenominare liberamen-
te le variabili legate senza alterare la semantica attesa della formula. Dunque
∃x(x < y) `e logicamente equivalente ad ∃z(z < y). Se ora si sostituisce x per
y in tale formula, si ottiene ∃z(z < x) che, intuitivamente, ha lo stesso “signi-
ficato” di ∃x(x < y). Tale considerazione suggerisce la soluzione al problema.
Allorch`e si ha una sostituzione del tipo (∀xP)[t/y] o (∃xP)[t/y] e la variabile x
compare libera in t, `e necessario ridenominare in modo opportuno la variabile
x in modo da evitare “collisioni” indesiderate.
Consideriamo ora la definizione formale.
Definizione 4.11 Siano P ∈ FBF e t ∈ TER, allora P[
t
/
x
] `e definito, per
induzione strutturale su P, nel seguente modo:
• ⊥[
t
/
x
] = ⊥
• A(t
1
, . . . , t
n
)[
t
/
x
] = A(t
1
[
t
/
x
], . . . , t
n
[
t
/
x
])
• (P
1
)[
t
/
x
] = P
1
[
t
/
x
]
• (P
1
∧ P
2
)[
t
/
x
] = P
1
[
t
/
x
] ∧ P
2
[
t
/
x
]
• (P
1
∨ P
2
)[
t
/
x
] = P
1
[
t
/
x
] ∨ P
2
[
t
/
x
]
• (P
1
→ P
2
)[
t
/
x
] = P
1
[
t
/
x
] → P
2
[
t
/
x
]

(∀yP
1
)[
t
/
x
] =

∀y(P
1
[
t
/
x
]) se x = y e y ∈ FV (t)
∀z(P
1
[
z
/
y
][
t
/
x
]) se x = y, y ∈ FV (t) e z non occorre in P
1
, t
∀yP
1
se x = y
99

(∃yP
1
)[
t
/
x
] =

∃y(P
1
[
t
/
x
]) se x = y e y ∈ FV (t)
∃z(P
1
[
z
/
y
][
t
/
x
]) se x = y, y ∈ FV (t) z non occorre in P
1
, t
∃yP
1
se x = y
Osservazione Dalla definizione precedente segue che la sostituzione ha effetto
solo se si applica a variabili libere.
Esempio 4.7 Sia P la fbf ∀x(A(x) → B(f
1
(y), x)) e sia t il termine f
2
(x),
allora
P[
t
/
y
] = ∀z(A(z) → B(f
1
(f
2
(x)), z))
mentre P[
t
/
x
] = P essendo x una variabile legata.
Esercizio 4.12 Scrivere la definizione formale di sostituzione simultanea.
Il risultato della sostituzione simultanea di t
1
, . . . , t
n
al posto di x
1
, . . . , x
n
in
un termine t si indica con t[
t1,...,tn
/
x1,...,xn
] (con P[
t1,...,tn
/
x1,...,xn
] quella in una
fbf P). Si osserva che la sostituzione simultanea pu`o essere diversa dalle cor-
rispondenti sostituzioni ripetute ( cio`e ((. . . (t[
t1
/
x1
])[
t2
/
x2
] . . . )[
tn
/
xn
]); infatti,
se si considera
A(x
0
, x
1
)[
x1,x0
/
x0,x1
] = A(x
1
, x
0
)
mentre
(A(x
0
, x
1
)[
x1
/
x0
])[
x0
/
x1
] = A(x
1
, x
1
)[
x0
/
x1
] = A(x
0
, x
0
)
4.3 Semantica
Il linguaggio introdotto nel paragrafo precedente, come tutti i linguaggi formali,
`e solo un insieme di simboli, associati in base a particolari regole, del tutto privi
di significato. Ci proponiamo ora di interpretare tali simboli.
Nella logica proposizionale un’interpretazione `e un assegnamento di valori di
verit`a alle proposizioni atomiche che viene opportunamente esteso a quelle com-
poste; in quella del primo ordine, data la maggior complessit`a del linguaggio,
ci`o non risulta sufficiente. Infatti, per definire un’interpretazione nella logica
dei predicati, `e necessario specificare due entit`a: un dominio, sul quale assume-
ranno i valori le variabili, ed un assegnamento che associa funzioni ai simboli di
funzione e predicati ai simboli di predicato. Pi` u formalmente:
Definizione 4.13 Una struttura `e una coppia / = (D
A
, I
A
) dove D
A
`e un
qualunque insieme non vuoto detto dominio (o universo) ed I
A
un’ assegnazione
che associa:
1. ad ogni simbolo di costante c un elemento I
A
(c) ∈ D
A
2. ad ogni simbolo di funzione f
k
con k ≥ 1 una funzione
I
A
(f
k
) : D
k
A
→ D
A
100
3. ad ogni simbolo di predicato B
k
con k ≥ 1 una relazione
I
A
(B
k
) : D
k
A
→ ¦0, 1¦
Osserviamo che la funzione I
A
(B
k
) : D
k
A
→ ¦0, 1¦ si pu`o vedere, in modo
equivalente, come un opportuno sottoinsieme di D
k
A
; in particolare come quel
sottoinsieme di cui I
A
(B
k
) `e la funzione caratteristica.
Notazione
Nel prosieguo, scriveremo semplicemente c
A
, f
A
e B
A
al posto (rispettivamen-
te) di I
A
(c), I
A
(f) e I
A
(B).
Non essendo possibile interpretare una formula ben formata contenente variabili
libere, si assegneranno ad esse degli elementi del dominio; in tal modo il valore
di verit`a di una fbf dipender`a dallo specifico assegnamento scelto.
Definizione 4.14 Un ambiente per / `e una funzione dalle variabili a D
A
.
Indicheremo con ENV
A
= ¦ξ
A
i
[ ξ
A
i
: VAR → D
A
¦ l’insieme di tutti gli ambienti
per /.
Notazione
ξ
A
[
a
/
x
] `e l’ambiente ξ
A
salvo che ad x si associa a; vale a dire che ∀y =
x, ξ
A
[
a
/
x
](y) = ξ
A
(y) e ξ
A
[
a
/
x
](x) = a.
Definizione 4.15 Un’ interpretazione per un linguaggio L del primo ordine `e
una coppia (/, ξ
A
) dove / `e una struttura e ξ
A
un ambiente per /.
Esempio 4.8 Sia P la fbf ∀xA(x, f(x)) ∨ B(g(c, y)); A `e un predicato bina-
rio, B un predicato unario, f una funzione unaria, g binaria e c una costante,
y ∈FV(P). Sia (/, ξ
A
) un’interpretazione la cui restrizione a P `e la seguente:
• D
A
= ^ = ¦0, 1, . . . ¦
• I
A
(A) = A
A
= ¦(m, n) [ m, n ∈ D
A
e m > n¦
• I
A
(B) = B
A
= ¦n ∈ D
A
[ n ` e primo¦
• I
A
(f) = f
A
= n → n + 1
• I
A
(g) = g
A
= (m, n) → m+n
• I
A
(c) = c
A
= 2
• ξ
A
(y) = 1
Nell’interpretazione precedente, la formula P assume il “significato”
“Per ogni intero x, x > x + 1 oppure 2 + 1 `e un numero primo”
101
che `e intuitivamente vera in quanto 3 `e primo.
Tuttavia, non abbiamo per ora alcuno strumento formale per stabilire il valore
di verit`a di P.
Osserviamo inoltre che, in generale, il valore di verit`a di una formula della logica
dei predicati pu`o dipendere sia dalla struttura che dall’ambiente. Ad esempio,
se si considera la struttura B t.c.
I
B
(B) = B
B
= ¦n ∈ D
B
[ n = 0¦
P risulta falsa (qualunque sia l’ambiente). La stessa cosa avviene se si interpreta
P nella struttura / con ξ(y) = 2.
Definiamo quindi formalmente il valore di verit`a di una fbf rispetto ad una data
interpretazione.
Definizione 4.16 Sia P una fbf ed (/, ξ
A
) un’interpretazione. Per ogni termi-
ne t che occorre in P, denotiamo il suo valore nell’interpretazione (/, ξ
A
) con
[[t]]
A
ξ
; la funzione [[ ]]
A
ξ
: TER → D
A
`e definita in modo induttivo come segue:
• se t `e una variabile x, allora [[t]]
A
ξ
= ξ
A
(x).
• se t `e una funzione f(t
1
, . . . t
k
), dove t
1
, . . . , t
k
∈ TER ed f `e un
simbolo di funzione di arit`a k con k ≥ 0
4
, allora
[[t]]
A
ξ
= f
A
([[t
1
]]
A
ξ
, . . . , [[t
k
]]
A
ξ
).
Definiamo ora il valore di verit`a di P in una interpretazione (/, ξ
A
), che verr`a
denotato con v
(A,ξ
A
)
(P).
La funzione di valutazione v
(A,ξ
A
)
: FBF → ¦0, 1¦ `e definita induttivamente
come segue:
• v
(A,ξ
A
)
(⊥) = 0.
• v
(A,ξ
A
)
(P
1
(t
1
, . . . , t
k
)) = P
A
1
([[t
1
]]
A
ξ
, . . . , [[t
k
]]
A
ξ
).
• v
(A,ξ
A
)
(P
1
∧ P
2
) = min(v
(A,ξ
A
)
(P
1
), v
(A,ξ
A
)
(P
2
)).
• v
(A,ξ
A
)
(P
1
∨ P
2
) = max(v
(A,ξ
A
)
(P
1
), v
(A,ξ
A
)
(P
2
)).
• v
(A,ξ
A
)
(P
1
→ P
2
) = max(1 −v
(A,ξ
A
)
(P
1
), v
(A,ξ
A
)
(P
2
)).
• v
(A,ξ
A
)
(∀xP
1
) = min¦v
(A,ξ
A
[
a
/x])
(P
1
) [ a ∈ D
A
¦.
• v
(A,ξ
A
)
(∃xP
1
) = max¦v
(A,ξ
A
[
a
/x])
(P
1
) [ a ∈ D
A
¦.
Si noti che il quantificatore universale pu`o essere visto come una congiunzio-
ne iterata. Supponiamo, infatti, che D
A
= ¦a
1
, . . . a
n
¦, allora la formula ben
formata ∀xP(x) ha lo stesso “significato” di P
A
(a
1
) ∧ ∧ P
A
(a
n
), di qui
v
(A,ξ
A
)
(∀xP) = min¦v
(A,ξ
A
[
a
/x])
(P) [ a ∈ D
A
¦.
Al contrario, il quantificatore esistenziale si pu`o considerare come una disgiun-
zione iterata: se D
A
= ¦a
1
, . . . , a
n
¦, allora ∃xP(x) corrisponde a P
A
(a
1
) ∨ ∨
P
A
(a
n
).
4
Si veda 4.2.
102
Osservazione Tale definizione, al contrario di quanto avviene per la logica
proposizionale, non consente di determinare in modo effettivo il valore di verit`a
di una fbf in un’interpretazione /, in quanto se D
A
`e infinito, occorrerebbero
infiniti controlli.
Il valore di verit`a di una fbf P in una data interpretazione (/, ξ
A
) dipende solo
dalla restrizione di ξ
A
all’insieme delle variabili libere di P. Infatti:
Lemma 4.17 Sia t un termine t.c FV(t) = ¦y
1
, . . . , y
n
¦ e sia / una struttura.
Per tutti gli ambienti ξ
A
1
, ξ
A
2
t.c. ξ
A
1
(y
i
) = ξ
A
2
(y
i
) ∀i = 1, . . . , n, risulta [[t]]
A
ξ1
=
[[t]]
A
ξ2
.
Dimostrazione. Si effettua per induzione sulla struttura del termine t.
(caso base)
• t `e una costante c, allora [[t]]
A
ξ1
= c
A
= [[t]]
A
ξ2
.
• t `e una variabile y, allora [[t]]
A
ξ1
= ξ
1
(y) = ξ
2
(y) = [[t]]
A
ξ2
.
Veniamo al caso induttivo.
t `e una funzione f(t
1
, . . . , t
k
), allora [[t]]
A
ξ1
= f
A
([[t
1
]]
A
ξ1
, . . . , [[t
k
]]
A
ξ1
) supponiamo,
per ipotesi induttiva, che [[t
i
]]
A
ξ1
= [[t
i
]]
A
ξ2
∀i = 1, . . . , k allora [[t]]
A
ξ1
= [[t]]
A
ξ2
.
Proposizione 4.18 Siano P una fbf tale che FV(P) = ¦y
1
, . . . , y
n
¦ ed / una
struttura; per tutti gli ambienti ξ
A
1
, ξ
A
2
tali che ξ
A
1
(y
i
) = ξ
A
2
(y
i
), ∀i = 1, . . . , n
risulta v
(A,ξ
A
1
)
(P) = v
(A,ξ
A
2
)
(P).
Dimostrazione. Si effettua per induzione sulla struttura della fbf P. (caso base)
• Se P `e ⊥ l’asserto `e verificato.
• Se P `e P
1
(t
1
, . . . , t
k
), essendo, per il lemma precedente, [[t
i
]]
A
ξ1
= [[t
i
]]
A
ξ2
∀i =
1, . . . , k segue che v
(A,ξ
A
1
)
(P) = v
(A,ξ
A
2
)
(P).
Veniamo al caso induttivo.
• Se P `e P
1
∧ P
2
, supponiamo, per ipotesi induttiva, che sia vero l’as-
serto per P
1
e P
2
, allora v
(A,ξ
A
1
)
(P) = max(v
(A,ξ
A
1
)
(P
1
), v
(A,ξ
A
1
)
(P
2
)) =
max(v
(A,ξ
A
2
)
(P
1
), v
(A,ξ
A
2
)
(P
2
)) = v
(A,ξ
A
2
)
(P).
• Se P `e P
1
∨ P
2
oppure P
1
→ P
2
la dimostrazione `e analoga a quella
del caso precedente.
• Se P `e ∀xP
1
. v
(A,ξ
A
1
)
(P) = 1 se e solo se v
(A,ξ
A
1
[
a
/x])
(P
1
) = 1 ∀a ∈
D
A
. Essendo ξ
1
= ξ
2
su FV(P
1
) = FV(P) − ¦x¦, per ipotesi induttiva
v
(A,ξ
A
1
[
a
/x])
(P
1
) = v
(A,ξ
A
2
[
a
/x])
(P
1
) ∀a ∈ D
A
che implica v
(A,ξ
A
1
)
(P) =
v
(A,ξ
A
2
)
(P).
• Se P `e ∃xP
1
la dimostrazione `e analoga al caso precedente e viene
lasciata al lettore come esercizio.

103
4.3.1 Soddisfacibilit`a, validit`a e modelli
Definizione 4.19 Sia P una formula ben formata:
1. P `e soddisfatta in una struttura /, rispetto all’ambiente ξ
A
, se v
(A,ξ
A
)
(P) =
1. In tale situazione scriveremo (/, ξ
A
) [= P.
2. P `e soddisfacibile in / se esiste un ambiente ξ
A
tale che (/, ξ
A
) [= P.
3. P `e vera in / se per ogni ambiente ξ
A
si ha (/, ξ
A
) [= P. In tale
situazione, diremo che / `e un modello per P, e scriveremo / [= P.
4. P `e soddisfacibile se esiste una struttura / tale che P `e soddisfacibile
in /.
5. P `e valida se `e vera in ogni struttura. In questo caso scriveremo [= P.
Osserviamo che la nozione di formula valida rappresenta la controparte nella
logica del primo ordine, della nozione di tautologia (Definizione 1.9).
`
E bene
tuttavia tener presente che, mentre per verificare se una formula `e una tautolo-
gia `e possibile utilizzare direttamente la definizione di interpretazione in logica
proposizionale, per stabilire se una formula della logica del primo ordine `e va-
lida, la semantica non `e di grande aiuto! Assumono pertanto una importanza
ben maggiore, che non nel caso proposizionale, la nozione di teorema (cap.5),
una volta dimostrati i teoremi di correttezza e completezza, ed i metodi di re-
futazione (cap.6).
La definizione precedente si estende ad insiemi (eventualmente infiniti) di fbf,
come segue:
Definizione 4.20 Sia Γ un insieme di formule ben formate:
1. Γ `e soddisfacibile se esiste una struttura / ed un assegnamento ξ tale
che per ogni formula P ∈ Γ si ha (/, ξ
A
) [= P.
2. Una struttura / `e un modello di Γ se per ogni P ∈ Γ si ha / [= P.
(cio`e se / `e un modello per ciascuna delle formule in Γ). Se / `e un
modello di Γ scriveremo / [= Γ.
3. Γ `e valido se ogni struttura `e un modello per Γ. In tale situazione
scriveremo [= Γ.
Diamo ora la generalizzazione al primo ordine della nozione di conseguenza
semantica.
Definizione 4.21 Dato un insieme di formule Γ ed una formula Q, diremo che
Q `e una conseguenza semantica di Γ, e scriveremo Γ [= Q, se per ogni struttura
/ ed ogni ambiente ξ
A
tali che per ogni P ∈ Γ si ha (/, ξ
A
) [= P, risulta anche
(/, ξ
A
) [= Q.
104
`
E utile considerare in modo esplicito la negazione delle nozioni di soddisfacibilit`a
e validit`a.
Definizione 4.22
1. Una fbf P `e falsa in una struttura / se e solo se non `e soddisfacibile
in /, cio`e se non esiste nessun ambiente ξ
A
tale che (/, ξ
A
) [= P. In
questo caso scriveremo / [= P.
2. Una fbf P `e insoddisfacibile (o contraddittoria) se e solo se non `e
soddisfacibile (ovvero `e falsa in ogni struttura).
Lasciamo al lettore la cura di estendere le definizioni precedenti a insiemi di
formule ben formate.
Esempio 4.9 (Paradosso del barbiere)
In un piccolo paese esiste un solo barbiere. Per definizione, il barbiere rade tutti
e solo coloro che non si radono da soli. Ma allora, chi rade il barbiere? Se si
rade da solo, allora non p` uo radersi in quanto il barbiere rade solo coloro che
non si radono da soli. Viceversa, se non si rade da solo, visto che il barbiere
rade tutti coloro che non si radono da soli, dovrebbe radersi lui stesso. In effetti,
la definizione precedente di barbiere `e contraddittoria.
Vediamo come tale ragionamento si formalizza nella logica del primo ordine.
Indichiamo con R(x, y) il fatto che “x rade y”, e utilizziamo una costante b per
denotare il barbiere. Il fatto che il barbiere rade tutti coloro che non si radono
da soli `e formalizzato dalla formula
∀x(R(x, x) → R(b, x))
Viceversa, il fatto che il barbiere rade solo coloro che non si radono da soli `e
formalizzato dalla formula
∀x(R(b, x) → R(x, x))
Dunque, il barbiere `e “definito” dalla congiunzione delle due formule precedenti,
o pi` u semplicemente dalla formula
∀x(R(b, x) ↔ R(x, x))
Lasciamo come esercizio per il lettore la dimostrazione formale che questa for-
mula `e contraddittoria.
Dalle definizioni precedenti segue immediatamente che:
Teorema 4.23 Siano Γ un insieme di fbf e P una fbf.
1. P `e valida se e solo se P `e insoddisfacibile.
2. P `e soddisfacibile se e solo se P non `e valida.
3. Γ [= P se e solo se Γ ∪ ¦P¦ `e insoddisfacibile.
Osservazione Affermare che una formula P non `e valida non implica che
essa sia contraddittoria (cio`e la validit`a di P), ma semplicemente che la sua
negata P `e soddisfacibile.
105
4.3.2 Propriet`a della relazione di soddisfacibilit`a
Definizione 4.24 Data una fbf P. Sia FV(P) = ¦x
1
, . . . , x
k
¦. Si definisce
• chiusura universale di P, Cl(P) = ∀x
1
, . . . , x
k
P.
• chiusura esistenziale di P, Ex(P) = ∃x
1
x
n
P.
Lemma 4.25 / [= P se e solo se / [= Cl(P).
Dimostrazione. Immediata.
Teorema 4.26 Sia P una formula ben formata, P `e valida se e solo se Cl(P)
lo `e.
Dimostrazione. Segue dal lemma precedente.
Teorema 4.27 Sia P una formula ben formata, P `e soddisfacibile se e solo se
Ex(P) lo `e.
Dimostrazione.
`
E lasciata al lettore come esercizio.
Il lemma che segue permette di stabilire che le propriet`a della relazione di soddi-
sfacibilit`a (Definizione 4.19) corrispondono al significato intuitivo dei connettivi;
questa caratteristica verr`a ampiamente utilizzata nelle dimostrazioni successive.
Lemma 4.28 Per ogni P e Q ∈ FBF, ed ogni interpretazione (/, ξ
A
):
1. (/, ξ
A
) [= P ∧ Q se e solo se (/, ξ
A
) [= P e (/, ξ
A
) [= Q.
2. (/, ξ
A
) [= P ∨ Q se e solo se (/, ξ
A
) [= P o (/, ξ
A
) [= Q.
3. (/, ξ
A
) [= P se e solo se (/, ξ
A
) [= P.
4. (/, ξ
A
) [= P → Q se e solo se ((/, ξ
A
) [= P ⇒ (/, ξ
A
) [= Q).
5. (/, ξ
A
) [= ∀xP se e solo se (/, ξ
A
[
a
/
x
]) [= P per ogni a ∈ D
A
.
6. (/, ξ
A
) [= ∃xP se e solo se (/, ξ
A
[
a
/
x
]) [= P per qualche a ∈ D
A
.
Dimostrazione. Segue dalla Definizione 4.16; mostriamo a titolo esemplificativo
la prova dei seguenti casi:
4. (⇒) Supponiamo che (/, ξ
A
) [= P, i.e. v
(A,ξ
A
)
(P) = 1, allora essendo
v
(A,ξ
A
)
(P → Q) = max(1 −v
(A,ξ
A
)
(P), v
(A,ξ
A
)
(Q)) = 1, per la Def. 4.16, risul-
ta v
(A,ξ
A
)
(Q) = 1, dunque (/, ξ
A
) [= Q.
(⇐) Viceversa, sia (/, ξ
A
) [= P ⇒ (/, ξ
A
) [= Q e supponiamo per assur-
do che (/, ξ
A
) [= P → Q; ci`o vuol dire che v
(A,ξ
A
)
(P → Q) = max(1 −
v
(A,ξ
A
)
(P), v
(A,ξ
A
)
(Q)) = 0 da cui segue v
(A,ξ
A
)
(Q) = 0 e v
(A,ξ
A
)
(P) = 1 che
contraddice l’ipotesi.
106
6. (/, ξ
A
) [= ∀xP se e solo se min¦v
(A,ξ
A
[
a
/x])
(P) [ per ogni a ∈ D
A
¦ = 1
se e solo se per ogni a ∈ D
A
, v
(A,ξ
A
[
a
/x])
(P) = 1 se e solo se (/, ξ
A
[
a
/
x
]) [=
P per ogni a ∈ D
A
.

In altri termini, il lemma precedente asserisce che nelle dimostrazioni `e pos-
sibile sostituire i connettivi con i corrispettivi termini nel metalinguaggio ed
interpretare gli atomi verificando le relazioni nella struttura.
Esempio 4.10 Sia P la formula ben formata ∀xy∃zC(f(x, y), z). Sia (/, ξ
A
)
un’interpretazione tale che:
• D
A
= ^
• f
A
= (x, y) → x −y
• C
A
= ¦(n, m) [ n, m ∈ D
A
e n = m¦
(/, ξ
A
) [= ∀xy∃zC(f(x, y), z) se e solo se per ogni n, m ∈ ^ esiste un numero
naturale p tale che p = n −m; e questo `e chiaramente vero.
Per dimostrare la soddisfacibilit`a di una formula basta esibire un particolare
modello per essa; se la formula non `e particolarmente complicata, `e spesso pos-
sibile trovare in modo intuitivo una interpretazione che la soddisfi.
Al contrario, per dimostrarne la validit`a `e necessario considerare tutte le possi-
bili interpretazioni per la formula. In questo caso, la semantica non aiuta molto:
essenzialmente essa riduce i quantificatori ai rispettivi termini nel metalinguag-
gio o pi` u formalmente ad operazioni algebriche di minimi e massimi. Illustriamo
la tal cosa con un esempio.
Esempio 4.11 Consideriamo la formula P data da
∃x∀yA(x, y) → ∀y∃yA(x, y)
Vogliamo dimostrare che P `e valida. Consideriamo una generica interpretazione
(/, ξ
A
). Per il Lemma 4.28, (/, ξ
A
) [= P se e solo se il fatto che per qualche
a ∈ D
A
si ha che per ogni b ∈ D
A
, v
(A,ξ
A
[
a
/x][
b
/y])
(A(x, y)) = 1 implica che per
ogni c ∈ D
A
si ha che per qualche d ∈ D
A
,
v
(A,ξ
A
[
d
/x][
c
/y])
(A(x, y)) = 1 A questo punto `e necessario “ragionare” nel me-
talinguaggio, in accordo alla semantica intuitiva di “per ogni” e “per qualche”.
Fissiamo in particolare un a ∈ D
A
tale che per ogni b ∈ D
A
risulti
v
(A,ξ
A
[
a
/x][
b
/y])
(A(x, y)) = 1
Questo significa che ogni elemento del dominio `e in relazione A con a. Dunque
per ogni c ∈ D
A
si ha che per qualche d ∈ D
A
(in particolare per per l’elemento
a suddetto), v
(A,ξ
A
[
d
/x][
c
/y])
(A(x, y)) = 1.
107
Tutto questo non risulta particolarmente intuitivo, n`e divertente. Vedremo nel
prossimo capitolo come sia possibile ridurre il problema semantico della validit`a
al problema sintattico della dimostrabilit`a. In altri termini, se vogliamo mostra-
re la validit`a di una formula, la cosa pi` u semplice da fare `e spesso dimostrarla
formalmente in un qualche calcolo logico.
Al contrario, la semantica `e estremamente utile per dimostrare la non validit`a
di una formula P (mentre `e spesso complicato provare la non dimostrabilit`a in
un calcolo logico). A tal fine, `e sufficiente esibire una interpretazione che non
soddisfa P.
Esempio 4.12 Consideriamo la formula P data da
∃x(A(x) → B(x)) → (∃xA(x) → ∃xB(x))
Vogliamo trovare una interpretazione che non soddisfa P. Essendo P una for-
mula del tipo P
1
→ P
2
, l’interpretazione deve soddisfare la premessa P
1
=
∃x(A(x) → B(x)) ma non la conclusione P
2
= ∃xA(x) → ∃xB(x). Questo si-
gnifica che l’interpretazione deve soddisfare ∃xA(x) ma non ∃xB(x). A questo
punto, l’interpretazione del predicato B `e necessariamente una relazione vuota
(mentre l’interpretazione di A`e necessariamente non vuota). Riconsideriamo al-
lora P
1
= ∃x(A(x) → B(x)). Poich`e il predicato B `e sempre falso, l’unico modo
per rendere vera l’implicazione interna, `e che per qualche x l’interpretazione di
A(x) risulti falsa. Dunque basta interpretare Acome un qualunque predicato che
non `e n`e sempre vero n`e sempre falso. Ad esempio, preso come dominio l’insieme
dei numeri naturali, si pu`o interpretare A(x) come ¦x [ x `e un numero pari ¦ e
B(x) = ∅.
Il lettore verifichi per esercizio che questa interpretazione non soddisfa P.
4.3.3 Equivalenza semantica
Il concetto di equivalenza (semantica) nella logica dei predicati `e il seguente:
Definizione 4.29 Due formule ben formate P e Q sono (semanticamente)
equivalenti (si scrive P ≡ Q) se per tutte le interpretazioni (/, ξ
A
) di P e
Q si ha:
v
(A,ξ
A
)
(P) = v
(A,ξ
A
)
(Q)
Osservazione Due fbf sono equivalenti se e solo se [= P ↔ Q.
Per come `e stata definita la funzione di valutazione v
(A,ξ
A
)
, tutte le equivalenze
semantiche dimostrate per la logica proposizionale valgono anche in quella dei
predicati.
Come primo esempio interessante di equivalenza semantica, dimostriamo che
ridenominando una variabile quantificata in modo consistente all’interno del
campo d’azione del quantificatore si ottiene una nuova formula semanticamente
108
equivalente a quella di partenza. A questo scopo, abbiamo bisogno del seguente
lemma, noto come lemma di sostituzione
5
.
Lemma 4.30
1. Se y non occorre in t, allora [[t]]
A
ξ[
a
/x]
= [[t[
y
/
x
]]]
A
ξ[
a
/y]
;
2. Se y non occorre in P, allora v
(A,ξ
A
[
a
/x])
(P) = v
(A,ξ
A
[
a
/y])
(P[y/x]).
Dimostrazione.
1. La dimostrazione si effettua mediante una semplice induzione sulla
struttura del termine t, ed `e lasciata come esercizio per il lettore.
2. Per induzione sulla struttura della formula P. Gli unici casi interes-
santi sono quelli concernenti i quantificatori. Trattiamo qui solo il caso in
cui P sia ∀zP
1
. Il caso in cui P `e ∃zP
1
`e del tutto analogo.
Dobbiamo dimostrare che
v
(A,ξ
A
[
a
/x])
(∀zP
1
) = v
(A,ξ
A
[
a
/y])
((∀zP
1
)[
y
/
x
])
Vi sono due possibilit`a:
• Se z = x, per definizione di sostituzione (∀zP
1
)[
y
/
x
] = ∀zP
1
. Ovvia-
mente, x ∈ FV (∀zP
1
), e quindi
v
(A,ξ
A
[
a
/x])
(∀zP
1
) = v
(A,ξ
A
)
(∀zP
1
)
Inoltre, per ipotesi, y ∈ FV (∀zP
1
), e dunque anche
v
(A,ξ
A
[
a
/y])
((∀zP
1
)[
y
/
x
]) = v
(A,ξ
A
[
a
/y])
(∀zP
1
) = v
(A,ξ
A
)
(∀zP
1
)
• Se x = z. Poich`e y non occorre in ∀zP
1
possiamo supporre y =
z. Allora (∀zP
1
)[
y
/
x
] = ∀zP
1
[
y
/
x
]. Per ipotesi induttiva, per ogni
ambiente ξ
A
v
(A,ξ
A
[
a
/x])
(P
1
) = v
(A,ξ
A
[
a
/y])
(P
1
[
y
/
x
])
indipendentemente dall’interpretazione di z, da cui segue l’asserto.

Teorema 4.31 Siano P una formula ben formata e z una variabile che non
occorre in P. Allora
1. ∃xP ≡ ∃zP[
z
/
x
]
5
La presente versione del lemma di sostituzione `e leggermente pi` u debole di quella abituale.
In particolare, l’ipotesi che la variabile y non occorra in t o in P pu`o essere indebolita all’ipotesi
che y non occorra libera in t o P. Tuttavia, il presente enunciato, la cui dimostrazione `e pi` u
semplice, `e sufficiente per i nostri scopi.
109
2. ∀xP ≡ ∀zP[
z
/
x
]
Dimostrazione. Segue immediatamente dal lemma di sostituzione.
Vediamo ora delle utili propriet`a che coinvolgono i quantificatori. Il teorema che
segue rappresenta una generalizzazione delle Leggi di De Morgan; esso consente
di spostare i quantificatori attraverso il connettivo ();
Teorema 4.32 Sia P una formula ben formata:
1. ∀xP ≡ ∃xP
2. ∃xP ≡ ∀xP
3. ∀xP ≡ ∃xP
4. ∃xP ≡ ∀xP
Dimostrazione.
1. Per il Lemma 4.28 (/, ξ
A
) [= ∀xP se e solo se (/, ξ
A
) [= ∀xP, se
e solo se non per tutti i b ∈ D
A
(/, ξ
A
[
b
/
x
]) [= P, se e solo se esiste un
b ∈ D
A
tale che (/, ξ
A
[
b
/
x
]) [= P, se e solo se esiste b ∈ D
A
tale che
(/, ξ
A
[
b
/
x
]) [= P, se e solo se (/, ξ
A
) [= ∃xP.
2. Simile alla 1.
3. e 4. Si possono ottenere da 1. e 2.
L’ordine dei quantificatori dello stesso tipo `e irrilevante; inoltre, un quantifica-
tore che lega una variabile che non occorre libera nella fbf che si trova nel suo
campo d’azione, pu`o essere cancellato. Pi` u formalmente:
Teorema 4.33 Sia P una formula ben formata, allora:
1. ∀x∀yP ≡ ∀y∀xP
2. ∃x∃yP ≡ ∃y∃xP
3. ∀xP ≡ P se x ∈ FV(P)
4. ∃xP ≡ P se x ∈ FV(P)
Dimostrazione.
`
E lasciata al lettore come esercizio.
Abbiamo in precedenza osservato che ∀ e ∃ rappresentano una generalizzazione
rispettivamente dei connettivi ∧ e ∨; dunque non sorprende il fatto che ∀ (e ∃)
sia distributiva su ∧ (rispettivamente su ∨). Mentre ∀ (e ∃) `e distributiva su
∨ (rispettivamente su ∧) se sono verificate determinate condizioni. Vediamo,
infatti, il seguente teorema:
Teorema 4.34 Siano P
1
e P
2
formule ben formate, allora
110
1. ∀x(P
1
∧ P
2
) ≡ ∀xP
1
∧ ∀xP
2
2. ∃x(P
1
∨ P
2
) ≡ ∃xP
1
∨ ∃xP
2
3. ∀x(P
1
∨ P
2
) ≡ ∀xP
1
∨ P
2
se x ∈FV(P
2
)
4. ∃x(P
1
∧ P
2
) ≡ ∃xP
1
∧ P
2
se x ∈FV(P
2
)
Dimostrazione. I primi due casi sono immediati; proviamo il caso 4. e lasciamo
il 3. come esercizio per il lettore.
Per il Lemma 4.28, per ogni (/, ξ
A
), risulta (/, ξ
A
) [= ∃xP
1
∧ P
2
se e solo se
(/, ξ
A
) [= ∃xP
1
e (/, ξ
A
) [= P
2
, se e solo se ∃b ∈ D
A
tale che (/, ξ
A
[
b
/
x
]) [=
P
1
e (poich´e x ∈ FV(P
2
)) (/, ξ
A
[
b
/
x
]) [= P
2
, se e solo se ∃b ∈ D
A
tale che
(/, ξ
A
[
b
/
x
]) [= P
1
∧ P
2
, se e solo se (/, ξ
A
) [= ∃x(P
1
∧ P
2
).
Osserviamo che se x ∈ FV(P
2
)
• ∀x(P
1
∨ P
2
) ≡ ∀xP
1
∨ ∀xP
2
• ∃x(P
1
∧ P
2
) ≡ ∃xP
1
∧ ∃xP
2
Ad esempio, dire che
“ per ogni intero x, x `e pari oppure x `e dispari”
(∀x(P(x) ∨ D(x)))
`e una cosa ben diversa dal dire
“ogni intero x `e pari oppure ogni intero x `e dispari”
(∀xP(x) ∨ ∀xD(x))
Allo stesso modo, dire
“esiste un intero x pari ed esiste un intero x dispari”
(∃xP(x) ∧ ∃xD(x))
non `e logicamente equivalente a
“esiste un intero x che `e pari e dispari”
(∀x(P(x) ∧ D(x)))
Tuttavia, `e sempre possibile spostare i quantificatori attraverso i connettivi ∧ e
∨, ridenominando in modo opportuno le variabili. In particolare:
Teorema 4.35 Siano P
1
e P
2
formule ben formate, allora
1. O
1
xP
1
∨ O
2
xP
2
≡ O
1
xO
2
z(P
1
∨ P
2
[
z
/
x
])
2. O
3
xP
1
∧ O
4
xP
2
≡ O
3
xO
4
z(P
1
∧ P
2
[
z
/
x
])
con O
i
∈ ¦∃, ∀¦ e z ∈ FV(P
1
) ∪ FV(P
2
).
Dimostrazione. Segue dai Teoremi 4.34 e 4.31.
111
In modo analogo si possono spostare i quantificatori all’esterno del connettivo
di implicazione (→); infatti
Teorema 4.36 Se x ∈ FV(Q)
1. ∀xP → Q ≡ ∃x(P → Q)
2. ∃xP → Q ≡ ∀x(P → Q)
3. Q → ∃xP ≡ ∃x(Q → P)
4. Q → ∀xP ≡ ∀x(Q → P)
Dimostrazione.
`
E lasciata al lettore come esercizio.
Si noti che l’ipotesi x ∈ FV(Q) del teorema precedente pu`o essere sempre veri-
ficata, a condizione di ridenominare in modo opportuno le variabili legate. Ad
esempio, se y ∈ FV (B)
∀xA(x) → B(x) ≡ ∀yA(y) → B(x) ≡ ∃y(A(y) → B(x))
Osservazione La logica dei predicati `e chiamata anche logica del primo
ordine in quanto i quantificatori agiscono solo sulle variabili individuali; al con-
trario, in un linguaggio del secondo ordine `e possibile avere variabili funzionali
e predicative. Ad esempio ∀P(P(x, y) → P(y, x)) `e una formula della logica del
secondo ordine il cui “significato” `e il seguente: nel modello in cui si interpreta
tale formula, ogni volta che vale P(x, y) per un certo predicato P, vale anche
P(y, x).
4.3.4 Forma Normale Prenessa
Nel paragrafo 1.4.6 sono state introdotte due forme normali per la logica pro-
posizionale: la forma normale congiuntiva e quella disgiuntiva. Nella logica del
primo ordine `e utile considerare una nuova forma normale, detta prenessa, in
cui tutti i quantificatori compaiono “in testa” alla formula.
Definizione 4.37 Una formula ben formata P `e in forma normale prenessa
se ha la forma O
1
x
1
O
2
x
2
. . . O
n
x
n
P
1
con n ≥ 0, dove O
i
∈ ¦∃, ∀¦ e P
1
non
contiene quantificatori.
O
1
x
1
O
2
x
2
. . . O
n
x
n
viene detto prefisso, mentre P
1
matrice della formula P.
Esempio 4.13 Le seguenti formule ben formate sono in forma normale prenes-
sa: ∀x∃y∀z(A(x, y) ∨ B(z) → C(x)), ∀x∃z(A(x) → B(z, x))
Teorema 4.38 Per ogni P ∈ FBF esiste una forma normale prenessa P
P
equivalente.
Dimostrazione. Per induzione sulla struttura di P.
(caso base) Se P `e un atomo allora `e gi`a in forma normale prenessa. Veniamo
al caso induttivo.
112
• Se P `e P
1
. Supponiamo, per ipotesi induttiva che P
P
1
sia la formula
in forma normale prenessa equivalente a P
1
; l’asserto segue dal Teorema
4.32.
• Se P `e P
1
∧ P
2
oppure P
1
∨ P
2
o P
1
→ P
2
. Supponiamo, per ipotesi
induttiva che P
P
1
e P
P
2
siano le formule in forma normale prenessa equi-
valenti, rispettivamente, a P
1
ed a P
2
; l’asserto segue dai Teoremi 4.35 e
4.36.
• Se P `e OxP
1
con O ∈ ¦∀, ∃¦. Supponiamo, per ipotesi induttiva,
che P
P
1
sia la formula in forma normale prenessa equivalente a P
1
, allora
OxP
P
`e in forma normale prenessa.

Esempio 4.14 Cerchiamo la forma normale prenessa di ∀xA(x) → ∀yB(y).
∀xA(x) → ∀yB(y) ≡ ∀xA(x) → ∃yB(y)
≡ ∃y(∀xA(x) → B(y))
≡ ∃y∃x(A(x) → B(y))
ed ∃y∃x(A(x) → B(y)) `e in forma normale prenessa.
4.3.5 Forma di Skolem
`
E possibile eliminare i quantificatori esistenziali in una formula ben formata in-
troducendo opportunamente dei simboli di funzione. La formula che ne risulta
si dice essere in forma di Skolem.
A differenza delle forme normali discusse in precedenza, una formula ben forma-
ta non `e equivalente alla corrispondente forma di Skolem; tuttavia quest’ultima
gode della seguente propriet`a: `e soddisfacibile se e solo se lo `e la formula di
partenza.
Prima di mostrare la definizione formale di forma di Skolem vediamo di presen-
tarla in modo intuitivo.
• Consideriamo la seguente fbf
∃xA(x)
il cui significato, per il Lemma 4.28 `e esprimibile con una frase del tipo
“esiste x per cui vale A(x)”, cio`e si afferma l’esistenza di un certo “og-
getto” avente una data propriet`a.
`
E possibile eliminare il quantificatore
esistenziale introducendo un simbolo di costante, supponiamo, per fissa-
re le idee, c, ottenendo la fbf A(c); in tal modo si crea un nome per l’
“oggetto” di cui si `e predicata l’esistenza e se ne afferma la propriet`a (A).
• Quando in una fbf sono presenti dei quantificatori universali, l’eliminazione
di quelli esistenziali non `e altrettanto semplice. Consideriamo, per fissare
le idee, la fbf P
∀x∃yB(x, y).
Sia (/, ξ
A
) un’interpretazione tale che:
113
– D
A
= ^
– B
A
= ¦(x, y) [ y `e multiplo di x¦
per il Lemma 4.28 (/, ξ
A
) `e un modello per P in quanto “per ogni x ∈ ^
esiste y ∈ ^ tale che y `e multiplo di x”; se eliminassimo il quantificatore
esistenziale introducendo un simbolo di costante, ad esempio d, ci trove-
remmo ad affermare che “ogni numero naturale ha come multiplo d”. In
realt`a, per eliminare i quantificatori esistenziali che si trovano nel campo
di azione di quelli universali, `e necessario introdurre dei simboli di funzione
che esprimono, in sostanza, come ci`o di cui si predica l’esistenza dipende
da quello che le variabili rappresentano. Tornando alla fbf P, `e possibile
introdurre un simbolo di funzione f trasformandola in ∀xB(x, f(x)) la cui
interpretazione in (/, ξ
A
) `e “per ogni x ∈ ^, f(x) `e un multiplo di x”.
Tale formula non `e equivalente alla precedente, tuttavia `e ancora soddi-
sfacibile: basta interpretare il simbolo di funzione f con una qualunque
funzione che associa ad un intero n un suo multiplo.
Definizione 4.39 Sia P una fbf in forma normale prenessa, i.e.
P `e O
1
x
1
O
2
x
2
. . . O
n
x
n
P
1
; si dice forma di Skolem di P, e si indica con P
S
,
la fbf ottenuta con il seguente procedimento, detto skolemizzazione: per ogni
occorrenza O
t
di un quantificatore esistenziale
• se O
t
non `e nel campo di azione di alcun quantificatore universale,
si introduce una costante c che non compare in P
1
, si cancella O
t
x
t
dal
prefisso di P e si sostituisce c ad x
t
in P
1
(cio`e P
1
[
c
/
xt
]);
• siano, invece, O
i,1
, . . . O
i,m
con m > 0 i quantificatori universali nel
cui campo di azione si trova O
t
, allora si sceglie un simbolo di costante g
m
che non compare in P
1
, si cancella O
t
x
t
dal prefisso di P e si sostituisce
g(x
i,1
, . . . , x
i,m
) ad x
t
in P
1
(cio`e P
1
[
g(xi,1,...,xi,m)
/
xt
]).
Le costanti e le funzioni introdotte in tal modo sono dette rispettivamente co-
stanti e funzioni di Skolem.
Esempio 4.15 La fbf ∃x∀y∀z∃tB(x, y, z, t) ha la seguente forma di Skolem:
∀y∀zB(c, y, z, f(y, z))
Come gi`a accennato in precedenza, la trasformazione di una formula in forma
di Skolem non preserva l’equivalenza.
Infatti, per fissare le idee, consideriamo la fbf ∃xA(x) discussa in precedenza.
Non `e esattamente la stessa cosa asserire ∃xA(x) oppure A(c). Per convincersi
di ci`o basta considerare, ad esempio, un’interpretazione (/, ξ
A
) tale che D
A
=
^, c
A
= 2 e A
A
= ¦x ∈ ^ [ x `e il pi` u piccolo numero naturale¦, in tale
interpretazione la prima formula risulta vera mentre la seconda no. Tuttavia `e
possibile provare che
Teorema 4.40 Per ogni formula ben formata P, P `e soddisfacibile se e solo se
P
S
lo `e.
114
Dimostrazione.
`
E sufficiente mostrare che ogniqualvolta si elimina un quantifi-
catore esistenziale dal prefisso di una fbf P
1
utilizzando il procedimento illustrato
nella Definizione 4.39, si ottiene una fbf P

1
che `e soddisfacibile se e solo se lo `e
P
1
. Infatti, siano
P
1
= O
1
x
1
. . . O
t
x
t
. . . O
n
x
n
A(x
1
, . . . , x
t
, . . . , x
n
) e
P

1
= O
1
x
1
. . . O
t−1
x
t−1
O
t+1
x
t+1
. . . O
n
x
n
A(x
1
, . . . , x
t−1
, f(x
i,1
, . . . , x
i,m
),
x
t+1
, . . . , x
n
) dove O
i,1
. . . O
i,m
sono i quantificatori universali nel cui campo
di azione si trova ∃ x
t
.
Supponiamo che P
1
sia insoddisfacibile, allora anche P

1
lo `e in quanto, in caso
contrario esisterebbe un’interpretazione che `e un modello per P

1
e dunque tale
per cui, in base al Lemma 4.28, risulterebbe che per ogni x
i,1
, . . . , x
i,m
esiste
f(x
i,1
, . . . , x
i,m
) che verifica
O
t+1
x
t+1
. . . O
n
x
n
A(x
1
, . . . , x
t−1
, f(x
i,1
, . . . , x
i,m
), x
t+1
, . . . , x
n
)
Ma questo `e assurdo avendo supposto che P
1
`e insoddisfacibile.
Viceversa, se esiste un’interpretazione (/, ξ
A
) che `e un modello per P
1
, allora
per ogni x
i,1
, . . . , x
i,m
∈ D
A
esiste un certo x
t
∈ D
A
che verifica
O
t+1
x
t+1
. . . O
n
x
n
A(x
1
, . . . , x
t−1
, x
t
, x
t+1
, . . . , x
n
)
Quindi posta f
A
= (x
i,1
, . . . , x
i,m
) → x
t
, (/, ξ
A
) risulta un modello di P

1
.
Proposizione 4.41 Sia P una fbf.
`
E possibile trasformarla in una formula P

chiusa ed in forma di Skolem, soddisfacibile se e solo se P lo `e.
Dimostrazione. Sia FV(P) = ¦x
1
, , x
n
¦. Per il Teorema 4.27 P `e soddisfa-
cibile se e solo se ∃x
1
x
n
P lo `e. Posto P

= (∃x
1
x
n
P)
S
, L’asserto segue
dal teorema precedente.
4.3.6 Esempi di linguaggi del primo ordine
Uguaglianza
Un predicato di particolare rilevanza matematica `e l’uguaglianza. A causa della
sue peculiarit`a, tale predicato viene spesso considerato, dal punto di vista logi-
co, come un particolare simbolo logico dell’alfabeto del linguaggio (che dunque
richiede una specifica interpretazione) piuttosto che come un semplice simbolo
di predicato. Parleremo in questo caso di logiche con uguaglianza. Se si vuo-
le trattare l’uguaglianza come un normale simbolo di predicato, si deve allora
cercare di assiomatizzarne le propriet`a caratteristiche. Queste possono essere
descritte al primo ordine nel modo seguente:
1. ∀x(x = x);
2. ∀xy(x = y → y = x);
115
3. ∀xyz(x = y ∧ y = z → x = z);
4. per ogni simbolo di funzione n-ario f
n
del linguaggio,
∀x
1
. . . x
n
y
1
. . . y
n
(x
1
= y
1
∧ ∧ x
n
= y
n
→ f
n
(x
1
, . . . , x
n
) = f
n
(y
1
, . . . , y
n
));
5. per ogni simbolo di predicato n-ario P
n
del linguaggio,
∀x
1
. . . x
n
y
1
. . . y
n
(x
1
= y
1
∧ ∧ x
n
= y
n
→ (P
n
(x
1
, . . . , x
n
) → P
n
(y
1
, . . . , y
n
))).
I primi tre assiomi asseriscono che l’uguaglianza `e una relazione di equivalenza;
gli ultimi due, che `e una congruenza rispetto a tutti i simboli di funzioni e pre-
dicati del linguaggio in esame.
Ovviamente tali assiomi sono validi nelle logiche con uguaglianza.
`
E importante sottolineare che questi non sono sufficenti per garantire che il pre-
dicato “=” sia effettivamente interpretato come identit`a in una data struttura.
Infatti, 1-3 esprimono il fatto che “=” `e una relazione di equivalenza, mentre 4
e 5 equivalgono ad affermare che “=” `e una congruenza. Tuttavia tali assiomi
descrivono in modo completo il senso logico intuitivo del predicato di uguaglian-
za.
D’ora in poi, quando utilizzeremo il simbolo “=”, assumeremo implicitamente
che sussistano anche gli assiomi precedenti.
Tipi di dato
Tutti i principali tipi di dato utilizzati in informatica (liste, alberi, pile, etc.)
possono essere facilmente formalizzati al primo ordine. Consideriamo, ad esem-
pio, il caso delle pile (stack). Il linguaggio conterr`a una costante nil per indicare
la pila vuota, e una funzione binaria push(s, a) che presi in input uno stack ed un
elemento restituisce lo stack al quale `e stato aggiunto l’elemento sulla sommit`a.
Le operazioni fondamentali sono le funzioni top(s) e pop(s) che restituiscono
rispettivamente l’elemento in cima alla pila e la pila alla quale `e stato tolto
l’ultimo elemento inserito. Queste possono essere semplicemente formalizzate
dagli assiomi:
1. ∀xy(top(push(x, y)) = y)
2. ∀xy(pop(push(x, y)) = x)
3. ∀x(push(pop(x), top(x)) = x)
Relazioni di ordinamento
L’alfabeto si compone di due predicati binari: = e ≤. Un ordinamento parziale
`e una struttura che soddisfa i seguenti assiomi:
1. ∀xyz(x ≤ y ∧ y ≤ z → x ≤ z)
2. ∀xy(x ≤ y ∧ y ≤ x ↔ x = y)
116
L’esistenza di un elemento minimo `e formalizzata dal predicato ∃x∀y(x ≤ y).
L’ordinamento `e detto totale se ∀xy(x ≤ y ∨ y ≤ x).
Possiamo definire il predicato binario x < y come abbreviazione sintattica per
x ≤ y ∧ (x = y). Diremo allora che una relazione di ordinamento `e densa se
∀xy(x < y → ∃z(x < z ∧ z < y)).
Gruppi
L’alfabeto `e composto da un simbolo di costante e, un simbolo di funzione unario
( )
−1
(funzione di inversione), ed un simbolo di funzione binario (composizio-
ne).
Come unico predicato si considera quello di uguaglianza.
Un gruppo `e un modello di:
1. ∀xyz((x y) z = x (y z))
2. ∀x(x e = x ∧ e x = x)
3. ∀x(x x
−1
= e ∧ x
−1
x = e)
Il gruppo `e detto abeliano se vale la propriet`a commutativa, i.e.
∀xy(x y = y x)
L’unicit`a dell’elemento neutro di un gruppo `e espressa dal predicato
∀xy((y x = y ∧ x y = y) → y = e)
In generale, dato un predicato P, l’esistenza ed unicit`a di un elemento x per
cui vale P (abitualmente indicato con la notazione ∃!xP) pu`o essere definita al
primo ordine come
∃x(P(x) ∧ ∀z(P(z) → x = z))
Aritmetica
L’alfabeto si compone di una costante 0, un simbolo di funzione unario s per il
successore, e due simboli di funzione binaria + e ∗ per somma e prodotto.
Come unico simbolo di predicato si considera l’uguaglianza. La seguente for-
malizzazione dell’aritmetica, che nel seguito indicheremo con PA, si deve al
matematico italiano Peano:
1. ∀x(0 = s(x))
2. ∀xy(s(x) = s(y) → x = y)
3. ∀x(x + 0 = x)
4. ∀xy(x +s(y) = s(x +y))
5. ∀x(x ∗ 0 = 0)
117
6. ∀xy(x ∗ s(y) = x + (x ∗ y))
7. (P(0) ∧ ∀x(P(x) → P(s(x)))) → ∀xP(x)
L’ultimo “assioma” `e in realt`a uno schema di assioma: P(x) pu`o essere un qua-
lunque predicato definibile nel linguaggio che contiene un’unica variabile libera
x.
L’interpretazione intesa di PA `e la struttura ordinaria dei numeri naturali nel-
la quale “=” `e interpretato come l’uguaglianza tra numeri naturali, 0 come il
naturale 0, s come la funzione successore, + e ∗ rispettivamente come somma e
prodotto.
Tale interpretazione, detta modello standard dell’aritmetica, non `e l’unica pos-
sibile; nel paragrafo 5.4.5 discuteremo l’esistenza di interpretazioni di natura
differente.
Insiemi
Vediamo come `e possibile formalizzare la nozione intuitiva di insieme nella logica
del primo ordine. L’assiomatizzazione della Teoria degli Insiemi `e particolarmen-
te “delicata”. Supponiamo di introdurre un predicato binario (infisso) x ∈ y
per denotare l’appartenenza di x ad y.
Una propriet`a naturale che ci si aspetta `e che, dato un qualunque predicato
P(x), si possa formare l’insieme degli elementi x per cui vale P(x), cio`e che
esista un insieme z (intuitivamente, z = ¦x [ P(x)¦) tale che x ∈ z ↔ P(x), che
conduce al seguente schema di assioma, noto come assioma di comprensione
∃z∀x(x ∈ z ↔ P(x))
Questo fu introdotto da Cantor alla fine del secolo scorso. Nel 1902, Russel
mostr`o in una lettera a Frege come questo assioma conduca in realt`a ad un
paradosso, noto appunto come paradosso di Russel. L’idea `e estremamente
semplice. Poich´e lo schema di comprensione vale per ogni predicato P(x), allora
vale anche per P(x) = (x ∈ x). In particolare, si ha
∃z∀x(x ∈ z ↔ (x ∈ x))
`
E facile dimostrare che questa formula `e insoddisfacibile. Infatti, supponiamo
per assurdo che esista una interpretazione (/, ξ
A
) che la soddisfa. Allora deve
esistere un elemento a ∈ D
A
tale che (/, ξ
A
[
a
/
z
]) [= ∀x(x ∈ z ↔ (x ∈ x)).
Poich`e questa formula deve essere soddisfatta per ogni x, in particolare deve es-
sere soddisfatta interpretando x con a, cio`e si deve avere (/, ξ
A
[
a
/
z
][
a
/
x
]) [= x ∈
z ↔ (x ∈ x). Ma questo `e equivalente a dire (/, ξ
A
[
a
/
x
]) [= x ∈ x ↔ (x ∈ x),
che `e ovviamente impossibile, indipendentemente dall’interpretazione di ∈. In
termini meno formali, consideriamo l’insieme W = ¦x[x ∈ x¦ (l’insieme di tutti
gli insiemi che non contengono se stessi come elemento). Per come `e definito
W, si ha W ∈ W ↔ W ∈ W, che `e chiaramente contradditorio.
Dunque, l’assioma di comprensione, nella forma generale suggerita da Cantor,
118
conduce ad un assurdo. Una soluzione a questo paradosso fu suggerita da Zer-
melo, che osserv`o come nella pratica matematica si utilizzi abitualmente il prin-
cipio di comprensione solo per formare dei sottoinsiemi di insiemi gi`a definiti
in precedenza. In altri termini, sapendo che y `e un insieme, si pu`o definire il
sottoinsieme degli elementi di y che godono di una certa propriet`a P(x). Questo
pu`o essere assiomatizzato al primo ordine dal seguente schema di assioma, noto
come assioma di separazione
6
:
∀y∃z∀x(x ∈ z ↔ x ∈ y ∧ P(x))
ovvero, per ogni insieme y esiste un insieme z tale che i suoi elementi sono esat-
tamente gli elementi di y che inoltre godono della propriet`a P.
Dopo questa breve introduzione, definiamo formalmente l’assiomatizzazione del-
la teoria degli insiemi proposta da Zermelo e successivamente perfezionata da
Fraenkel (l’uso di un linguaggio formalizzato per la formulazione della teoria
di Zermelo-Fraenkel fu proposto per la prima volta da Skolem, nel 1922). Il
linguaggio utilizzato contiene:
• un simbolo di relazione binaria ∈ detto appartenenza
• un simbolo di relazione binaria ⊆ detto inclusione
• una costante ∅ che denota l’insieme vuoto
• un simbolo di funzione binaria ¦x, y¦ che denota l’insieme della coppia
non ordinata di elementi x e y
• un simbolo di funzione {(x) che denota l’insieme delle parti di x
• un simbolo di funzione ∪x che denota l’unione degli elementi di x
La teoria `e costituita dai seguenti assiomi:
Estensionalit`a Due insiemi che hanno gli stessi elementi sono uguali
∀x∀y(∀z(z ∈ x ↔ z ∈ y) → x = y)
Insieme vuoto Specifica che l’insieme vuoto non contiene elementi
∀z(z ∈ ∅)
Coppia Specifica il significato di ¦x, y¦
∀x∀y∀z(z ∈ ¦x, y¦ ↔ z = x ∨ z = y)
Si noti che ¦x, x¦ `e l’insieme singoletto per x:
∀x∀z(z ∈ ¦x, x¦ ↔ z = x)
Scriveremo dunque ¦x¦ come abbreviazione per ¦x, x¦.
6
Aussonderungs axiom.
119
Inclusione Definisce il predicato di inclusione
∀x∀y(x ⊆ y ↔ ∀z(z ∈ x → z ∈ y))
Potenza Specifica che {(x) `e l’insieme delle parti di x
∀x∀z(z ∈ {(x) ↔ z ⊆ x)
Separazione Per ogni insieme y esiste un insieme z ottenuto separando da y
gli elementi che godono di una proprit`a P
∀y∃z∀x(x ∈ z ↔ x ∈ y ∧ P(x))
Infinito Tale assioma postula l’esistenza di insiemi infiniti (numerabili)
∃z(∅ ∈ z ∧ ∀x(x ∈ z → ¦x¦ ∈ z))
In base a tale assioma, ∅, ¦∅¦, ¦¦∅¦¦, . . . devono appartenere tutti a z.
Rimpiazzamento Afferma che l’immagine di un insieme tramite una funzio-
ne `e ancora un insieme. Ricordiamo che una funzione `e una particolare
relazione P(x, y) totale e univoca; ci`o si formalizza nel modo seguente
∀x(∃y(P(x, y) ∧ ∀z(P(x, z) → y = z)))
o anche
∀x∃!yP(x, y)
L’assioma di rimpiazzamento stabilisce che se P `e una funzione allora per
ogni insieme x esiste un insieme y che coincide con l’imagine di x via P.
Ovvero, dato un qualunque elemento z questo appartiene a y se e solo se
esiste un t tale che t ∈ x e P(t, z). Esplicitamente
∀x∃!yP(x, y) → ∀x∃y∀z(z ∈ y ↔ ∃t(t ∈ x ∧ P(t, z)))
L’assioma di rimpiazzamento `e stato il principale contributo di Fraenkel
alla presente teoria.
Regolarit`a Questo assioma afferma che ogni insieme non vuoto `e disgiunto da
almeno uno dei suoi elementi. Il fatto che due insiemi x e y sono disgiunti
pu`o essere espresso dicendo che se un elemento appartiene ad x allora non
appartiene ad y, ovvero dalla formula ∀z(z ∈ x → (z ∈ y)). Abbiamo
dunque
∀x(x = ∅ → ∃y(y ∈ x ∧ ∀z(z ∈ x → (z ∈ y))))
Esistono svariati altri principi della teoria degli insiemi che sono consistenti
con gli assiomi precedenti ma non ne sono conseguenza logica (sono dunque
indipendenti da essi). Tra questi, ricordiamo l’assioma della scelta e l’ipotesi del
continuo, che sono abitualmente trattati separatamente per via della loro minore
evidenza e della natura poco costruttiva. il lettore interessato ad approfondire
l’argomento pu`o consultare [VDD78, Lev79, Kun80].
120
Esercizi
4.1 Descrivere le strutture dati coda (queue) ed albero in un linguaggio del
primo ordine (con uguaglianza).
4.2 Determinare le variabili libere nelle seguenti fbf:
1. ∀y∃xA(x, y) → B(x, y)
2. ∃x∃y(A(x, y) → B(x, y))
3. ∀y∃xA(y) → (B(x, y) ∧ ∀zC(x, z))
4. ∃x∃y(A(x, y) → B(x)) → ∀zC(z) ∨ D(z)
4.3 Data la fbf P ∃x∀yP(y, f(x), g(z)). Definire un’interpretazione che `e un
modello per P ed un’interpretazione che non lo `e.
4.4 Consideriamo le seguenti fbf:
• ∀xP(x, x)
• ∀x∀y(P(x, y) → P(y, x))
• ∀x∀y∀z(P(x, y) ∧ P(y, z) → P(x, z))
Mostrare che nessuna di tali formule `e conseguenza (semantica) delle altre due.
(Suggerimento: trovare delle interpretazioni che sono dei modelli per due delle
formule date ma non per la terza).
4.5 Sia (/, ξ
A
) un’interpretazione tale che:
• D
A
= ^
• A
A
= ¦(n, m) [ n, m ∈ D
A
e n ≥ m¦
• B
A
= ¦(n, m, p) [ n, m, p ∈ D
A
e n +m = p¦
dire quali delle seguenti formule sono vere in (/, ξ
A
):
1. ∀x∀y∀z(B(x, y, z) → B(y, x, z))
2. ∀x∃y(B(x, x, y) → B(y, x, y))
3. ∃x∃y(A(x, y) ∨ B(y, x, y))
4. ∀x∃yA(x, y) → ∀xB(x, x, c)
5. ∃x∀yB(x, y, x)
6. ∀x∀yA(x, y)
7. ∃x∃yA(x, y)
121
8. ∀x∃yA(x, y) → ∃yA(y, c)
4.6 Provare che per ogni fbf P
v
(A,ξ
A
)
(P[
t
/
x
]) = v
(A,ξ
A
[
[[t]]
A
ξ
/x])
(P)
dove t `e un termine (Lemma di traslazione).
(Suggerimento: si utilizzi l’induzione sulla struttura di P).
4.7 Stabilire quali delle formule seguenti sono valide e quali semplicemente
soddisfacibili. Nel secondo caso, fornire un esempio di interpretazione che non
ne `e un modello.
1. (∃xA(x) → ∀xB(x)) → ∀x(A(x) → B(x))
2. (∃xA(x) → ∃xB(x)) → ∀x(A(x) → B(x))
3. (∃xA(x) → ∃xB(x)) → ∃x(A(x) → B(x))
4. ∃x(A(x) → B(x)) → (∀xA(x) → ∀xB(x))
5. ∃x(A(x) → B(x)) → (∀xA(x) → ∃xB(x))
6. ∃x(A(x) → B(x)) → (∃xA(x) → ∃xB(x))
7. ∀x(A(x) → B(x)) → (∃xA(x) → ∀xB(x))
8. ∀x(A(x) → B(x)) → (∃xA(x) → ∃xB(x))
9. ∀x(A(x) → B(x)) → (∀xA(x) → ∀xB(x))
10. (∀xA(x) → ∀xB(x)) → ∀x(A(x) → B(x))
11. (∀xA(x) → ∃xB(x)) → ∃x(A(x) → B(x))
12. (∀xA(x) → ∃xB(x)) → ∀x(A(x) → B(x))
4.8 Si considerino le seguenti formule:
1. ∀x∃yA(x, y) → ∃x∀yA(x, y)
2. ∃x∀yA(x, y) → ∀x∃yA(x, y)
3. ∃x∀yA(x, y) → ∃x∀yA(x, y)
4. ∀x∃yA(x, y) → ∀x∃yA(x, y)
quali di queste sono valide?
4.9 Provare che [= ∃y∀x(R(x, x)↔R(y, x)).
4.10 Provare che (Teorema di deduzione semantica):
122
1. P [= Q se e solo se [= P → Q
2. P
1
, . . . , P
n−1
, P
n
[= Q se e solo se P
1
, . . . , P
n−1
[= P
n
→ Q
4.11 Dimostrare che:
1. Se [= A(y) allora [= ∀xA(x), ma A(y) [= ∀xA(x).
2. P ∧ Q [= R se e solo se P [= R e Q [= R.
3. ¦∀x(A(x) → B(x)), ∀xA(x)¦ [= ∀xB(x)
4.12 Trasformare le seguenti formule ben formate in forma di Skolem:
1. ∀y(∃xA(x, y) → B(y, x)) ∧ ∃y (∀xC(x, y) ∨ B(x, y))
2. ∃x∀y∃zD(x, y, z) ∨ ∃x∀yA(x, y) ∧ ∃x∃yB(x, y)
3. (∀x∃yA(x, y) → ∃x∃yB(x, y)) ∧ ∀x ∃yB(y, x)
4.13 Definire una procedura per trasformare una fbf in una forma di Skolem
nella quale siano invertiti i ruoli di ∀ e ∃ (forma di Skolem duale). Provare
che una fbf P `e valida se e solo se la corrispondente formula che non contiene
quantificatori unversali lo `e.
4.14 Si scriva una tautologia P tale che la skolemizzata di P (P
S
) non sia una
tautologia.
4.15 Provare che la formula ben formata
∀xP(x, f(x)) ∧ ∀yP(y, y) ∧ ∀uvw((P(u, v) ∧ P(v, w)) → P(u, w))
`e soddisfacibile ma non possiede un modello con dominio finito.
4.16 Una fbf si dice monadica se contiene solo simboli di predicato unari (mo-
nadici); provare che ogni formula monadica `e equivalente alla composizione, me-
diante l’utilizzo dei connettivi ∧ e ∨, di formule della forma ∀xP(x) e ∃xP(x)
dove P `e una formula che non contiene quantificatori.
(Suggerimento: si utilizzino le forme normali congiuntive e disgiuntive ed il
Teorema 4.34).
4.17 Sia

la trasformazione da formule della logica dei predicati a formule
della logica proposizionale, definita nel seguente modo:
• Se P `e A
n
(t
1
, , t
n
), allora P

`e la lettera proposizionale A
n
.
• Se P `e P
1
, allora P

`e P

1
.
• Se P `e P
1
→ P
2
o P
1
∨ P
2
o P
1
∧ P
2
, allora P

`e, rispettivamente,
P

1
→ P

2
o P

1
∨ P

2
o P

1
∧ P

2
.
• Se P `e ∀xP
1
o ∃xP
1
, allora P

`e P

1
.
123
Dare un esempio di formula P non valida ma tale che P

sia una tautologia.
4.18 Definire la sintassi e la semantica della logica del primo ordine con ugua-
glianza.
4.19 Data la formula della logica dei predicati con uguaglianza:
∀pq((A(p, a) ∧ p = a) → ∃xy(f(x, y) = f(q, q) ∧ g(x, y) = p))
Stabilire se `e soddisfatta nelle seguenti interpretazioni:
1. (/, ξ
A
), dove D
A
= ¦1, 3, 5, 7, 9, . . . ¦, a
A
= 19, f
A
= (x, y) → x
y
,
g
A
= (x, y) → x y e A
A
= ¦(n, m) [ n, m ∈ D
A
e n ≤ m¦.
2. (B, ξ
B
), dove D
B
= ^, a
B
= 1, f
B
= (x, y) → x+y, g
B
= (x, y) → x y
e A
B
= ¦(n, m) [ n, m ∈ D
B
e n ≤ m¦.
3. ((, ξ
C
), dove D
C
= {
7
, a
C
= 0, f
C
= (x, y) → x+y, g
C
= (x, y) → x y
e A
C
= ¦(n, m) [ n, m ∈ D
C
e n ≥ m¦.
7
Insieme dei numeri reali.
124
Capitolo 5
Il Calcolo del Primo ordine
In analogia con quanto `e stato fatto per il calcolo proposizionale, cominciamo con
il discutere le propriet`a logiche intuitive dei quantificatori. Premettiamo, tutta-
via, un’importante convenzione sintattica che consentir`a di evitare alcuni noiosi
problemi di collisione tra variabili libere e legate. In particolare, considerando
calcoli deduttivi al primo ordine, assumiamo di identificare sintatticamente for-
mule che differiscono soltanto per la ridenominazione di variabili legate. Questo
significa che le due formule ∀xA e ∀yA[
y
/
x
] sono considerate sintatticamente in-
distinguibili, ovvero in ogni momento si pu`o operare il rimpiazzamento dell’una
con l’altra.
Iniziamo quindi a considerare le regole di eliminazione ed introduzione del
quantificatore universale. Sapendo che per ogni x vale un certo predicato A si
pu`o concludere che A deve valere per ogni possibile istanziazione di x con un
termine arbitrario del linguaggio in esame. Questo conduce direttamente alla
seguente regola di eliminazione del quantificatore:
∀xA ¬ A[
t
/
x
]
Viceversa, quando si pu`o concludere ∀xA? Nel caso in cui `e stato dimostrato che
A vale per un “generico” x. Ora, il ruolo di “elemento generico” in un linguaggio
del primo ordine `e svolto, appunto, dalle variabili. Dunque ci si aspetta di avere
una regola del tipo:
(∗) se Γ ¬ A[
y
/
x
] allora Γ ¬ ∀xA
L’unico problema `e che la variabile y
1
, che dovrebbe denotare un “elemento
generico” potrebbe al contario apparire libera anche in qualche formula di Γ.
Questo farebbe s`ı che essa perderebbe la sua “genericit`a”, dovendo soddisfare
le propriet`a richieste da queste ipotesi. Ad esempio, sapendo che un generico y
`e numero pari, ci si aspetta di poter concludere che il suo successore `e dispari,
che si pu`o riassumere nell’asserto
P(y) ¬ D(s(y))
1
y `e detta eigenvariable della formula.
125
126
Tuttavia, non `e ovviamente vero che
P(y) ¬ ∀xD(s(x))
La condizione che `e quindi necessario aggiungere alla regola (∗) `e che la variabile
y non deve comparire libera in Γ.
Il caso del quantificatore esistenziale `e duale. Sapendo che per un qualche
termine t vale A[
t
/
x
] `e possibile ovviamente concludere ∃xA, come espresso
dalla seguente regola di introduzione:
A[
t
/
x
] ¬ ∃xA
Nel caso del quantificatore esistenziale, i problemi riguardano la regola di elimi-
nazione: cosa si pu`o concludere sapendo ∃xA? Veramente poco, dato che non `e
noto per quale x sia vera A. Tuttavia, supponendo che comunque si prenda un
generico elemento y, l’ipotesi A[
y
/
x
] `e sufficiente per dimostrare una propriet`a
C, allora la mera esistenza di un tale y `e sufficiente per concludere
2
C. Tale
ragionamento `e espresso dalla seguente regola:
se Γ, A[
y
/
x
] ¬ C allora Γ, ∃xA ¬ C
Anche in questo caso, la “genericit`a” dell’elemento y deve essere garantita me-
diante l’ipotesi addizionale che y non compaia libera in Γ o C. Consideriamo
infatti ancora l’asserto “se un generico y `e pari, allora il suo successore `e dispari”,
rappresentato come
P(y) ¬ D(s(y))
Ovviamente sarebbe scorretto concludere
∃xP(x) ¬ D(s(y))
(se esiste un numero pari, allora il successore di un generico y `e dispari).
Come nel caso del calcolo proposizionale, i sistemi intuizionisti differiscono da
quelli classici solo per l’assenza della regola di riduzione ad assurdo (RAA). A
livello predicativo, la differenza principale di questi sistemi rispetto a quelli clas-
sici `e che nei primi, se si ha una dimostrazione di ∃xP(x) allora esiste necessa-
riamente un termine t (detto testimone), per cui `e derivabile P[
t
/
x
]; ovviamente
tale caratteristica non `e presente nei sistemi classici dove si pu`o provare ∃xP(x)
deducendolo per contraddizione. In questo senso, le dimostrazioni nei sistemi
intuizionisti, al contrario di quelli classici, sono costruttive: se si dimostra che
esiste un termine che gode di una certa propriet`a si `e anche in grado di esibirlo
in modo effettivo.
Per apprezzare pienamente le motivazioni filosofiche e matematiche dei sistemi
intuizionisti vediamo un semplice esempio. Consideriamo la sentenza
“esiste un uomo tale che, se lui possiede un cappello, allora tutti gli
uomini possiedono un cappello”.
2
Si noti l’analogia con il caso della disgiunzione nel calcolo proposizionale.
127
che pu`o essere formalizzata dalla formula
∃x(C(x) → ∀yC(y))
3
La frase sembra chiaramente falsa: non si vede ragione per cui un tale uomo
debba esistere. Tuttavia, dal punto di vista della logica classica, la sentenza
precedente `e facilmente dimostrabile. Infatti, esistono due casi possibili: o ogni
uomo ha il cappello, e quindi l’implicazione `e vera qualunque sia x in quanto
`e vero il conseguente, oppure esiste un uomo senza cappello. Per questo uo-
mo la premessa dell’implicazione `e falsa, e quindi, la sentenza `e vera anche in
questo caso (mostreremo in seguito la dimostrazioni formale di ci`o, in alcuni
calcoli logici). Tale dimostrazione non `e costruttiva, in quanto non permette di
esibire l’uomo u per cui C(u) → ∀yC(y). Nei sistemi intuizionisti, la formula
∃x(C(x) → ∀yC(y)) non `e dimostrabile.
5.1 La Deduzione Naturale
Seguendo la stessa procedura utilizzata per i connettivi proposizionali `e possibile
tradurre in regole di Deduzione Naturale le propriet`a intuitive dei quantificatori
appena discusse.
Nel caso del quantificatore universale si ottengono rispettivamente:
(∀i)
A[
y
/
x
]
∀xA
(∀e)
∀xA
A[
t
/
x
]
dove x e y sono variabili, e t `e un generico termine del linguaggio. Inoltre, in
(∀i), deve valere l’ipotesi ausiliaria che y non compaia libera in nessuna delle
foglie non cancellate del sottoalbero di radice A[
y
/
x
].
Le regole per il quantificatore esistenziale sono appena pi` u complicate:
(∃i)
A[
t
/
x
]
∃xA
(∃e)
∃xA
[A[
y
/
x
]]
C
C
In (∃e), la variabile y non pu`o comparire libera in C, n`e in nessuna delle foglie
non cancellate del sottoalbero di radice C (a parte, ovviamente, A[
y
/
x
]).
Vediamo, qui di seguito, qualche esempio di derivazione.
Esempio 5.1 ∀x(A → B(x)) ¬ A → ∀xB(x)
∀x(A → B(x))
A → B(x) [A]
B(x)
∀xB(x)
A → ∀xB(x)
3
Si noti che `e diversa da ∃xC(x) → ∀yC(y) (se esiste un uomo con il cappello allora tutti
gli uomini hanno un cappello). In realt`a, ∃x(C(x) → ∀yC(y)) `e logicamente equivalente, dal
punto di vista classico, a ∀xC(x) → ∀yC(y), che `e una ovvia tautologia.
128
Esempio 5.2 ∃x∀yA(x, y) ¬ ∀y∃xA(x, y)
∃x∀yA(x, y)
[∀yA(x, y)]
A(x, y)
[∀xA(x, y)]
A(x, y)


∀xA(x, y)
[∃xA(x, y)]
[A(x, y)]
∃xA(x, y)

A(x, y)
∀xA(x, y)

∃xA(x, y)
∀y∃xA(x, y)
Esempio 5.3 ¬ ∀x(A(x) → B) → (∃xA(x) → B)
[∀x(A(x) → B)]
A(x) → B [A(x)]
B
[∃xA(x)]
B
∃xA(x) → B
∀x(A(x) → B) → (∃xA(x) → B)
Esempio 5.4 (“paradosso” dell’uomo col cappello).
¬ ∃x(C(x) → ∀yC(y))
[∃x(C(x) → ∀yC(y))]
[∃x(C(x) → ∀yC(y))]
[C(x)] [C(x)]

∀yC(y)
C(x) → ∀yC(y)
∃x(C(x) → ∀yC(y))

C(x)
∀yC(y)
C(x) → ∀yC(y)
∃x(C(x) → ∀yC(y))

∃x(C(x) → ∀yC(y))
Esempio 5.5 Dimostriamo che nell’aritmetica di Peano ∀x(x = s(x)); vale a
dire che PA ¬ ∀x (x = s(x)) dove PA sono gli assiomi di p.116. Sia P(x) =
(x = s(x)). L’idea `e quella di provare l’asserto per induzione.
129
(caso base) Si vuole dimostrare che P(0) = (0 = s(0)). Ma questa `e una
semplice conseguenza dell’assioma ∀x(0 = s(x)); infatti:
∀x(0 = s(x))
(0 = s(0))
Veniamo al caso induttivo. Dobbiamo provare ∀x(P(x) → P(s(x))), cio`e ∀x((x =
s(x)) → (s(x) = s(s(x)))). A questo scopo si utilizza l’assioma ∀xy(s(x) =
s(y) → x = y):
[s(x) = s(s(x))]
∀xy(s(x) = s(y) → x = y)
∀y(s(x) = s(y) → x = y)
s(x) = s(s(x)) → x = s(x)
x = s(x) [(x = s(x))]

(s(x) = s(s(x)))
(x = s(x)) → (s(x) = s(s(x)))
∀x((x = s(x)) → (s(x) = s(s(x))))
L’asserto si ottiene per modus ponens utilizzando l’assioma di induzione
(P(0) ∧ ∀x(P(x) → P(s(x)))) → ∀xP(x)
Osservazione Il sistema di Deduzione Naturale per la logica dei predicati
con uguaglianza si ottiene aggiungendo alle regole mostrate in precedenza, le
seguenti, che corrispondono agli assiomi di p.114:
1.
x = x
2.
x = y
y = x
3.
x = y y = z
x = z
4.
x
1
= y
1
, . . . , x
n
= y
n
f(x
1
, . . . , x
n
) = f(y
1
, . . . , y
n
)
5.
x
1
= y
1
, . . . , x
n
= y
n
P(x
1
, . . . , x
n
) → P(y
1
, . . . , y
n
)
dove y
1
, . . . y
n
sono libere per x
1
, . . . , x
n
in P.
130
5.1.1 Correttezza e Completezza
Dopo aver presentato le regole della Deduzione Naturale per la logica del primo
ordine, affrontiamo il problema della correttezza e della completezza di tale
calcolo (e di quelli ad esso equivalenti). Come nel caso proposizionale, si tratta di
stabilire se ogni formula derivabile utilizzando le regole della Deduzione Naturale
`e anche valida (correttezza) e, viceversa, che ogni formula valida `e derivabile nel
calcolo in esame (completezza).
Teorema 5.1 (Correttezza)
Se Γ ¬ P allora Γ [= P.
Dimostrazione. Per induzione sulla profondit`a dell’albero di prova per Γ ¬ P.
(caso base) L’albero `e costituito dalla sola radice P, allora, per definizione,
P ∈ Γ e quindi Γ [= P.
Veniamo al caso induttivo.
`
E necessario distinguere tanti sottocasi quante sono
le possibili regole di inferenza che concludono l’albero di prova di Γ ¬ P. Discute-
remo solo quelli relativi ai quantificatori, per i rimanenti si veda la dimostrazione
del Teorema 3.1.
1. P `e ∀xP
1
e l’ultima regola di deduzione applicata `e (∀i). Allora esi-
ste un albero di prova per Γ ¬ P
1
[
y
/
x
] dove y non appare libera in Γ;
per ipotesi induttiva Γ [= P
1
[
y
/
x
], vale a dire che per ogni interpreta-
zione (/, ξ
A
) tale che (/, ξ
A
) [= Γ risulta (/, ξ
A
) [= P
1
[
y
/
x
]. Poich`e
y non `e libera in Γ, (/, ξ
A
) [= Γ se e solo se, comunque si scelga b
nel dominio D
A
della struttura, (/, ξ
A
[
b
/
y
]) [= Γ. Dunque, ∀b ∈ D
A
,
(/, ξ
A
) [= Γ implica (/, ξ
A
[
b
/
y
]) [= P
1
[
y
/
x
] e, portando all’interno il quan-
tificatore, (/, ξ
A
) [= Γ implica che ∀b ∈ D
A
, (/, ξ
A
[
b
/
y
]) [= P
1
[
y
/
x
]. Ma
v
(A,ξ
A
[
b
/y])
(P
1
[
y
/
x
]) = v
(A,ξ
A
[
b
/x])
(P
1
) (il lettore lo dimostri per esercizio).
In conclusione, (/, ξ
A
) [= Γ implica che ∀b ∈ D
A
(/, ξ
A
[
b
/
x
]) [= P
1
, ov-
vero, per il Lemma 4.28, che (/, ξ
A
) [= Γ implica (/, ξ
A
) [= ∀xP
1
. Dunque
Γ [= ∀xP
1
.
2. P `e P
1
[
t
/
x
] e l’ultima regola di deduzione applicata `e (∀e). Allora
esiste un albero di derivazione relativo a Γ ¬ ∀xP
1
; per ipotesi induttiva
Γ [= ∀xP
1
. Vogliamo dimostrare che, per ogni termine t, Γ [= P
1
[
t
/
x
].
Per definizione, Γ [= ∀xP
1
se e solo se per ogni interpretazione (/, ξ
A
)
tale che (/, ξ
A
) [= Γ risulta (/, ξ
A
) [= ∀xP
1
, ovvero, per il Lemma
4.28, che comunque si scelga b ∈ D
A
, (/, ξ
A
[
b
/
x
]) [= P
1
. In partico-
lare, (/, ξ
A
[
[[t]]
A
ξ
/
x
]) [= P
1
, ma per l’Esercizio 4.6, v
(A,ξ
A
[
[[t]]
A
ξ
/x])
(P
1
) =
v
(A,ξ
A
)
(P
1
[
t
/
x
]), e dunque (/, ξ
A
) [= P
1
[
t
/
x
].
Le regole per il quantificatore esistenziale sono lasciate al lettore come esercizio.

Corollario 5.2 Se ¬ P, allora [= P.
131
Vediamo quindi l’inverso del precedente teorema, e cio`e se Γ [= P allora Γ ¬ P
(completezza). Tale dimostrazione, che ad una prima lettura pu`o risultare al-
quanto complicata, ha numerose applicazioni, alcune delle quali verranno di-
scusse nel paragrafo 5.4. Come nel caso proposizionale (paragrafo 3.1) per di-
mostrare che se Γ [= P allora Γ ¬ P, proveremo che ogni insieme consistente di
fbf `e soddisfacibile (Teorema del modello).
In particolare, gli enunciati e le dimostrazioni concernenti gli insiemi consisten-
ti massimali sviluppati per la logica proposizionale, si estendono senza alcuna
modifica alla logica dei predicati (la verifica di ci`o `e lasciata al lettore come
esercizio).
Utilizzando i summenzionati risultati, presentiamo ora una dimostrazione di
completezza, che costituisce la naturale generalizzazione al primo ordine di quel-
la del paragrafo 3.1.
Si proceder`a nel seguente modo:
• proveremo che per ogni insieme consistente massimale (Definizione 3.7) e
di Henkin (Definizione 5.3) esiste un modello (Corollario 5.7)
• mostreremo che ogni insieme consistente pu`o essere esteso in uno avente le
summenzionate caratteristiche (Proposizione 5.10 e Teorema di Lindem-
baum).
Definizione 5.3 Sia L un linguaggio del primo ordine. Un insieme di fbf Γ
definito su L si dice insieme di Henkin se per ogni formula di L della forma
∃xP(x) esiste un termine t, detto testimone, tale che (∃xP(x) → P[
t
/
x
]) ∈ Γ.
Sottolineamo il fatto che un insieme di Henkin Γ deve avere un testimone per
ogni formula ∃xP(x) del linguaggio sul quale `e definito, e non solo per le formule
esistenziali che appartengono a Γ.
La propriet`a principale degli insiemi di Henkin `e la seguente:
Proposizione 5.4 Sia Γ un insieme di Henkin. Allora Γ ¬ ∃xP se e solo se
esiste un termine t tale che Γ ¬ P[
t
/
x
].
Dimostrazione. (⇐) Segue da (∃i).
(⇒) Per definizione di insieme di Henkin, deve esistere un termine t tale che
∃xP → P[
t
/
x
] ∈ Γ. Dunque, Γ ¬ P[
t
/
x
] per (→ e).
Ricordiamo che un insieme consistente massimale gode della seguente propriet`a:
se Γ ¬ P, allora P ∈ Γ (chiusura per derivabilit`a). Sia Γ un insieme consistente
massimale e di Henkin. Vogliamo trovare un’interpretazione che `e un modello
per Γ; l’idea `e quella di utilizzare la sua stessa sintassi.
Definizione 5.5 Sia L il linguaggio sul quale `e definito Γ e TER(L) l’insieme
dei suoi termini. L’ interpretazione canonica (o interpretazione dei termini)
(/
Γ
, ξ

) `e definita nel seguente modo:
• D

= ¦t [ t ∈ TER(L)¦
132
• Per ogni simbolo di costante c
c

= c
• Per ogni simbolo di funzione f di arit`a k
f

(t
1
, . . . , t
k
) = f(t
1
, . . . , t
k
)
• Per ogni simbolo di predicato A ad n argomenti
A

= ¦(t
1
, . . . , t
n
) ∈ TER
n
(L) [ A(t
1
, . . . , t
n
) ∈ Γ¦
• Per ogni variabile x
ξ

(x) = x
Proveremo che se Γ `e un insieme consistente massimale e di Henkin allora
(/
Γ
, ξ

) `e un modello per esso.
Intuitivamente, si considerano insiemi consistenti massimali e di Henkin in quan-
to, per questi, ci`o si effettua in modo del tutto naturale; infatti, supponiamo, per
fissare le idee, che B sia un predicato unario, se B(x) ∈ Γ e B(x) → B(y) ∈ Γ,
affinch´e (/
Γ
, ξ

) sia un modello per Γ, B(y) deve appartenere a Γ (dunque Γ
deve essere chiuso per derivabilit`a); inoltre, se ∃xB(x) ∈ Γ, perch´e (/
Γ
, ξ

) sia
un modello per Γ, deve esserci un “testimone”, cio`e termine t tale che B(t) ∈ Γ
(quindi Γ deve essere un insieme di Henkin).
Proposizione 5.6 Sia Γ un insieme consistente massimale e di Henkin ed
(/
Γ
, ξ

) l’interpretazione canonica. (/
Γ
, ξ

) [= P se e solo se Γ ¬ P per
ogni fbf P.
Dimostrazione. Per induzione sulla struttura di P.
(caso base) Se P `e una formula atomica P
1
(t
1
, . . . , t
n
), allora (/
Γ
, ξ

) [=
P
1
(t
1
, . . . , t
n
) se e solo se, per come `e definita l’interpretazione canonica,
P(t
1
, . . . , t
n
) ∈ Γ, se e solo se Γ ¬ P
1
(t
1
, . . . , t
n
) essendo Γ un insieme consisten-
te massimale.
Se P = ⊥ l’asserto `e banalmente verificato.
Veniamo al caso induttivo.
• P `e P
1
. Allora
(/
Γ
, ξ

) [= P
1
⇔ (/
Γ
, ξ

) [= P
1
Lemma 4.28
⇔ Γ ¬ P
1
ipotesi induttiva
⇔ P
1
∈ Γ essendo Γ cons. mass.
⇔ P
1
∈ Γ Lemma 3.9.1
⇔ Γ ¬ P
1
essendo Γ cons. mass.
• P `e P
1
→ P
2
. Allora
133
(/
Γ
, ξ

)[= P
1
→P
2
⇔ ((/
Γ
, ξ

) [= P
1

(/
Γ
, ξ

) [= P
2
) Lemma 4.28
⇔ Γ ¬ P
1
⇒ Γ ¬ P
2
ipotesi induttiva
⇔ P
1
∈ Γ ⇒ P
2
∈ Γ essendo Γ cons. mass.
⇔ P
1
∈ Γ o P
2
∈ Γ
⇔ P
1
→ P
2
∈ Γ Lemma 3.9.4
⇔ Γ ¬ P
1
→ P
2
essendo Γ cons. mass.
• P `e ∃xP
1
(x). Allora
(/
Γ
, ξ

) [= ∃xP
1
(x) ⇔ esiste un termine t tale
che (/
Γ
, ξ

[
t
/
x
]) [= P
1
Lemma 4.28
⇔ (/
Γ
, ξ

[
[[t]]
A
Γ
ξ
/
x
]) [= P
1
Esercizio 5.6
⇔ (/
Γ
, ξ

) [= P
1
[
t
/
x
] Esercizio 4.6
⇔ esiste un termine t tale
che Γ ¬ P
1
[
t
/
x
] ipotesi induttiva
⇔ Γ ¬ ∃xP
1
Proposizione 5.4
I rimanenti casi sono lasciati al lettore come esercizio.
Corollario 5.7 Sia Γ un insieme consistente massimale e di Henkin, allora
(/
Γ
, ξ

) [= Γ e dunque Γ `e soddisfacibile.
Osservazione Se si considera un linguaggio L

del primo ordine con ugua-
glianza (cfr. p.114) `e necessario ridefinire l’interpretazione dei termini. Infatti,
supponiamo ad esempio che Γ sia ¦f(x) = f(y)¦; Γ `e ovviamente soddisfaci-
bile, tuttavia l’interpretazione definita in 5.5 non ne `e un modello in quanto
f

(x) = f(x) = f(y) = f

(y). L’idea `e di introdurre una relazione di equi-
valenza sui termini di L

e definire il dominio D

come l’insieme delle classi di
equivalenza di tale relazione. L’interpretazione canonica (/
Γ
, ξ

) per un lin-
guaggio del primo ordine con uguaglianza si definisce allora nel seguente modo:
Sia ∼ la relazione binaria definita sui termini di L

in modo tale che
t
1
∼ t
2
sse t
1
= t
2
∈ Γ
∼ `e una relazione di equivalenza (la verifica di ci`o `e lasciata al lettore come
esercizio). Sia t la classe di equivalenza di t, vale a dire
t = ¦t

∈ TER(L

) [ t

∼ t¦
La nuova interpretazione `e data da:
• D

= ¦t [ t ∈ TER(L)

¦
• Per ogni simbolo di costante c
c

= c
134
• Per ogni simbolo di funzione f di arit`a n
f

(t
1
, . . . , t
n
) = f(t
1
, . . . , t
n
)
• Per ogni simbolo di predicato P ad n argomenti
P

= ¦(t
1
, . . . , t
n
) [ P(t
1
, . . . , t
n
) ∈ Γ¦
• Per ogni variabile x
ξ

(x) = x
Essendo ∼una congruenza rispetto alle funzioni ed ai predicati (la dimostrazione
di ci`o `e lasciata al lettore come esercizio), l’interpretazione `e ben definita, cio`e
le definizioni di f

e P

sono indipendenti dalla scelta dei termini t
1
, . . . , t
n
come rappresentanti delle classi.
La Proposizione 5.6, per un linguaggio del primo ordine con uguaglianza, si
dimostra in modo analogo.
Dopo aver provato che gli insiemi consistenti massimali e di Henkin sono sod-
disfacibili, mostriamo che ogni insieme consistente pu`o essere esteso in uno
consistente massimale e di Henkin.
Definizione 5.8 Sia Γ un insieme di fbf definito su un linguaggio L del primo
ordine; per ogni fbf P della forma ∃xP
1
(x) si aggiunge ad L una costante c
P
,
detta testimone tale che se P = P

allora c
P
= c
P
. Sia L

il linguaggio
risultante. Γ

`e l’insieme di fbf dato da Γ∪¦∃xP
1
(x) → P
1
(c
P
) [ ∃xP
1
(x) `e una
formula chiusa con testimone c
P
¦.
Lemma 5.9 Γ `e un insieme consistente se e solo se Γ

lo `e.
Dimostrazione. (⇒) Sia ∃xP(x) → P(c) una delle nuove formule introdotte
come indicato dalla Definizione 5.8; supponiamo che ∆, ∃xP(x) → P(c) ¬ Q,
dove Q `e una fbf che non contiene la costante c e ∆ un insieme di fbf nessuna
delle quali contenente c. Allora ∆ ¬ Q. Infatti
1. ∆ ¬ (∃xP(x) → P(c)) → Q (Teorema di deduzione)
2. ∆ ¬ (∃xP(x) → P(y)) → Q dove y `e una variabile che non occorre
nella derivazione associata (Esercizio 5.9)
3. ∆ ¬ ∀y((∃xP(x) → P(y)) → Q) (da (∀i)
4
)
4. ∆ ¬ ∃y(∃xP(x) → P(y)) → Q (Esempio 5.3)
5. ∆ ¬ (∃xP(x) → ∃yP(y)) → Q (Esercizio 5.1)
6. ¬ ∃xP(x) → ∃yP(y) (Esercizio 5.1)
4
Osserviamo che tale regola `e applicabile in quanto y non occorre in ∆.
135
7. ∆ ¬ Q (da 5. e 6.)
Supponiamo che Γ

¬ ⊥; allora per definizione di derivabilit`a Γ∪¦σ
1
, . . . , σ
n
¦ ¬
⊥ dove σ
i
con i = 1, . . . , n sono nuove formule del tipo ∃xP(x) → P(c). Pro-
viamo, per induzione su n, che Γ ¬ ⊥.
(caso base) n = 0 l’asserto `e verificato.
Veniamo al caso induttivo. Supponiamo che Γ ∪ ¦σ
1
, . . . , σ
n+1
¦ ¬ ⊥, allora,
posto Γ = Γ∪¦σ
1
, . . . , σ
n
¦ risulta Γ, σ
n+1
¬ ⊥, per la dimostrazione precedente
Γ ∪ ¦σ
1
, . . . , σ
n
¦ ¬ ⊥. L’asserto segue dall’ipotesi induttiva.
(⇐) Immediata.
Osserviamo che se ∆ `e un insieme di fbf, ∆

non `e detto che sia un insieme di
Henkin in quanto arricchendo il linguaggio con nuovi simboli di costante vengono
aggiunte nuove formule del tipo ∃xQ(x) che possono non avere un testimone.
Per ottenere un insieme di Henkin l’idea `e quella di iterare il procedimento
indicato nella Definizione 5.8 infinite volte.
Proposizione 5.10 Sia Γ un insieme consistente, definiamo Γ
0
:= Γ, Γ
n+1
:=
Γ

n
, allora Γ
ω
=
¸
n≥0
Γ
n
`e un insieme di Henkin consistente.
Dimostrazione. Indichiamo con L
m
(rispettivamente L
ω
) il linguaggio di Γ
m
(rispettivamente Γ
ω
).
• Γ
ω
`e un insieme di Henkin. Infatti, sia ∃xP(x) ∈ L
ω
, allora ∃xP(x) ∈
L
n
per un certo n; per definizione ∃xP(x) → P(c
τ
) ∈ Γ
n+1
per un dato
c
τ
. Quindi ∃xP(x) → P(c
τ
) ∈ Γ
ω
.
• Γ
ω
`e consistente. Infatti, supponiamo per assurdo che ci`o non sia vero,
allora Γ
ω
¬ ⊥, vale a dire che esiste un n tale che Γ
n
¬ ⊥; l’asserto segue
dal Lemma 5.9, per induzione su n.

Teorema 5.11 (di Lindembaum)
Ogni insieme consistente Γ di fbf `e contenuto in uno consistente massimale.
La dimostrazione del Teorema di Lindembaum si pu`o effettuare in modo ana-
logo a quella del Teorema 3.10. Tuttavia quest’ultima `e essenzialmente basata
sulla numerabilit`a delle formule contenute in Γ. Pi` u in generale, si pu`o fornire
una dimostrazione di tale teorema valida per insiemi consistenti di cardinalit`a
arbitraria utilizzando il lemma di Zorn
5
.
5
Tale lemma asserisce che dato un insieme parzialmente ordinato X, se ogni suo sottoin-
sieme totalmente ordinato ha un limite superiore in X, allora X ha almeno un elemento
massimale.
Il lemma di Zorn `e equivalente all’assioma della scelta (per ogni insieme Y esiste almeno una
funzione f : (P(Y) − ∅) → Y, detta funzione di scelta, tale che ∀S ∈ P(Y) − ∅, f(S) ∈ S).
Una dimostrazione di tale equivalenza si pu`o trovare, ad esempio, in [Kur65].
136
Dimostrazione. Sia Γ un insieme consistente di fbf. Si consideri la famiglia T
di tutti gli insiemi consistenti contenenti Γ parzialmente ordinati per inclusione
(⊆). Vogliamo provare che T ha un elemento massimale. Infatti, ogni catena
6
in
T ha un limite superiore dato dall’unione di tutti gli elementi della catena
(Esercizio 5.8), allora, per il Lemma di Zorn, T ha un elemento massimale Γ
che ovviamente contiene Γ ed `e consistente massimale.
Osservazione In generale Γ non ha un’unica estensione consistente massi-
male.
Corollario 5.12 Se Γ `e un insieme di Henkin, allora Γ lo `e.
Dimostrazione. Infatti, per ogni formula del tipo ∃xP(x) per cui esiste un
testimone c tale che ∃xP(x) → P(c) ∈ Γ, allora banalmente ∃xP(x) → P(c) ∈
Γ.
Teorema 5.13 (del Modello)
Ogni insieme consistente Γ `e soddisfacibile.
Dimostrazione. Per la Proposizione 5.10, Γ pu`o essere esteso ad un insieme
di Henkin consistente che, per il Teorema di Lindembaum `e contenuto in un
insieme consistente massimale. L’asserto segue dai Corollari 5.7 e 5.12.
Teorema 5.14 (Completezza)
Se Γ [= P allora Γ ¬ P.
Dimostrazione. Supponiamo che Γ [= P, allora Γ ∪ ¦P¦ `e insoddisfacibile;
per il Teorema del modello Γ, P `e inconsistente, da cui segue, per (RAA), che
Γ ¬ P.
Corollario 5.15 (Completezza debole)
Se [= P allora ¬ P.
Dimostrazione. Segue dal Teorema di completezza.
Osserviamo che tale dimostrazione non `e costruttiva.
Abbiamo dunque stabilito la correttezza e la completezza della Deduzione Na-
turale (e dei calcoli logici ad essa equivalenti), vale a dire che una formula `e
valida se e solo se `e dimostrabile in tale calcolo. Tuttavia, ricordiamo che nella
logica del primo ordine, al contrario di quanto avviene in quella proposizionale,
non `e possibile stabilire la validit`a di una formula per via semantica in quanto
la Definizione 4.19.5 richiede di controllare la verit`a della formula in esame in
ogni possibile interpretazione (ed ovviamente il numero di queste `e infinito);
inoltre, se la formula contiene dei quantificatori ed il dominio di una data inter-
pretazione `e infinito, anche la determinazione della verit`a della formula in tale
6
Famiglia di F totalmente ordinata per inclusione.
137
interpretazione pu`o richiedere infiniti controlli.
Nel paragrafo 5.3 discuteremo una dimostrazione alternativa del Teorema di
completezza (debole) che `e semi-costruttiva: verr`a infatti presentato un algo-
ritmo in grado di trovare una prova nel Calcolo dei Sequenti per ogni formula
valida. Anticipiamo che, nel caso in cui la formula non lo sia, tale algoritmo
pu`o non terminare. Questo `e un limite intrinseco della logica del primo ordine
dove, come vedremo nel paragrafo 5.4.1, `e impossibile stabilire, mediante un
procedimento meccanico, se una formula `e valida o meno.
5.2 Sistemi Assiomatici
Esistono varie formulazioni di Sistemi Assiomatici del primo ordine che differi-
scono tra loro in base agli assiomi scelti ed al fatto che si insista o meno sull’avere
il modus ponens come unica regola di inferenza. L’approccio pi` u comune `e quello
di ammettere non solo il modus ponens
A → B A
B
ma anche quella di generalizzazione (introduzione del quantificatore universale),
ovvero:
A[
y
/
x
]
∀xA
dove y `e, al solito, una variabile che non deve comparire libera nelle foglie
dell’albero di prova di radice A[
y
/
x
] (y `e abitualmente chiamata indeterminata
nella terminologia dei Sistemi Assiomatici).
Una scelta tradizionale di (schemi di) assiomi `e la seguente:

0
) ¬ ∀xA → A[
t
/
x
]

1
) ¬ (∀x(C → A)) → (C → ∀xA), dove x ∈ FV (C)

0
) ¬ A[
t
/
x
] → ∃xA

1
) ¬ (∀x(A → C)) → (∃xA → C), dove x ∈ FV (C)
Teorema 5.16 (Deduzione)
Se Γ, A ¬ B, allora Γ ¬ A → B.
Dimostrazione. La dimostrazione ricalca fedelmente quella del relativo teorema
per il calcolo proposizionale. Ci limitiamo pertanto a trattare l’unico caso ag-
giuntivo, quello in cui B sia ottenuto tramite una applicazione di (∀i). In tale
situazione, B `e una formula del tipo ∀xC e Γ, A ¬ C[
y
/
x
] per una qualche inde-
terminata y. Per ipotesi induttiva, Γ ¬ A → C[
y
/
x
], ed applicando (∀i) risulta
anche Γ ¬ ∀y(A → C[
y
/
x
]). Poich´e y non `e libera in A, si possono utilizzare
l’assioma (Π
1
) ed il modus ponens, ottenendo Γ ¬ A → ∀yC[
y
/
x
].
138
Osservazione La regola di generalizzazione utilizzata in questa trattazione
non `e quella che solitamente si incontra nei testi che si occupano dell’argomento.
Infatti, in genere, nei sistemi alla Hilbert tale regola ha la forma
(Gen)
A[
y
/
x
]
∀xA
senza porre alcuna restrizione su x.
In tal caso, per`o, il Teorema di deduzione non vale con piena generalit`a, come
mostra il seguente controesempio:
per (Gen), A(x) ¬ ∀xA(x) ma A(x) → ∀xA(x) non `e una formula valida (il
lettore lo verifichi per esercizio).
`
E quindi necessario formulare tale teorema con
una restrizione sufficiente ad escludere controesempi analoghi a quello riportato.
In particolare, il Teorema di deduzione viene enunciato nel seguente modo: Se
Γ, A ¬ B e la derivazione di B da Γ, A non contiene alcuna applicazione di (Gen)
a variabili libere in A, allora Γ ¬ A → B.
Anche nel caso predicativo `e piuttosto semplice dimostrare l’equivalenza tra il
Sistema Assiomatico ed il calcolo di Deduzione Naturale.
Teorema 5.17 Γ ¬
H
P implica Γ ¬
ND
P.
Dimostrazione.
`
E sufficiente provare che gli assiomi sono dimostrabili in Dedu-
zione Naturale (il lettore lo faccia per esercizio).
Teorema 5.18 Γ ¬
ND
P implica Γ ¬
H
P.
Dimostrazione.
`
E necessario dimostrare che le regole della Deduzione Naturale
sono derivabili nel Sistema Assiomatico. Infatti (∀e) segue da modus ponens
e (Π
0
), mentre (∃ i) segue da modus ponens e (Σ
0
). Per quanto riguarda le
regole dei connettivi logici, abbiamo gi`a visto che queste erano derivabili non
appena lo era (→ i). Lo stesso vale per (∃e). Supponiamo, infatti, di avere
una dimostrazione di Γ, A[
y
/
x
] ¬ B dove y non compare libera in Γ, B. Per
(→ i), si ha una dimostrazione di Γ ¬ A[
y
/
x
] → B, ed applicando (∀i) si ottiene
Γ ¬ ∀y(A[
y
/
x
] → B). Ma y non `e libera in B, dunque `e possibile usare l’assioma

1
) ed il modus ponens per ottenere una dimostrazione di Γ ¬ ∃y(A[
y
/
x
]) → B.
Con una ulteriore applicazione di modus ponens abbiamo infine Γ, ∃y(A[
y
/
x
]) ¬
B, che era quanto si voleva dimostrare (∃y(A[
y
/
x
]) = ∃xA). La derivabilit`a di
(→ i) corrisponde al Teorema di deduzione.
Come ovvio corollario di tale teorema seguono la correttezza e la completezza
del Sistema Assiomatico in esame.
Osservazione Un Sistema Assiomatico per la logica del primo ordine con
uguaglianza si ricava aggiungendo agli assiomi appena presentati quelli di p.114.
139
5.3 IL Calcolo dei Sequenti
La versione al primo ordine del Calcolo dei Sequenti si ottiene aggiungendo le
seguenti regole logiche di inferenza per i quantificatori:
(∀l)
Γ, A[
t
/
x
] ¬ ∆
Γ, ∀xA ¬ ∆
(∀r)
Γ ¬ A[
y
/
x
], ∆
Γ ¬ ∀xA, ∆
(∃l)
Γ, A[
y
/
x
] ¬ ∆
Γ, ∃xA ¬ ∆
(∃r)
Γ ¬ A[
t
/
x
], ∆
Γ ¬ ∃xA, ∆
Come condizione ausiliaria per le regole (∀r) e (∃l) `e necessario richiedere che
la variabile y non compaia libera nel sequente conclusione.
Come nel caso del calcolo proposizionale, la versione intuizionista si ottiene
imponendo la restrizione che nella parte destra di ogni sequente possa apparire
al pi` u una formula.
Vediamo qualche esempio di derivazione:
Esempio 5.6 ∃x(A → B(x)) ¬ A → ∃xB(x)
A ¬ A, ∃xB(x)
B(x), A ¬ B(x)
B(x), A ¬ ∃xB(x)
A → B(x), A ¬ ∃xB(x)
A → B(x) ¬ A → ∃xB(x)
∃x(A → B(x)) ¬ A → ∃xB(x)
Esempio 5.7 ∀xA(x) ¬ ∃xA(x)
¬ A(x), A(x)
¬ A(x), ∃xA(x)
¬ ∀xA(x), ∃xA(x)
∀xA(x) ¬ ∃xA(x)
La dimostrazione di correttezza semantica delle regole del Calcolo dei Sequenti
`e simile a quella per le regole della Deduzione Naturale, ed `e dunque lasciata
al lettore come semplice esercizio. Enunciamo semplicemente il risultato, per
comodit`a di riferimento.
Teorema 5.19 (Correttezza)
Γ ¬ ∆ ⇒ Γ [= ∆.
140
5.3.1 Invertibilit`a
Le regole (∀l) e (∃r) presentano problemi di invertibilit`a che complicano la
ricerca “all’indietro” dell’albero di prova.
Si consideri, ad esempio, la dimostrazione del sequente A(t
1
) ∨A(t
2
) ¬ ∃xA(x):
A(t
1
) ¬ A(t
1
)
A(t
1
) ¬ ∃xA(x)
A(t
2
) ¬ A(t
2
)
A(t
2
) ¬ ∃xA(x)
A(t
1
) ∨ A(t
2
) ¬ ∃xA(x)
Non esiste alcuna dimostrazione di esso che termini con una applicazione di
(∃r). Infatti, la premessa di tale regola dovrebbe avere la forma A(t
1
) ∨A(t
2
) ¬
A(t
3
), ma, ovviamente, tale sequente non `e dimostrabile (questa `e una conse-
guenza immediata della completezza del calcolo che sar`a discussa nella prossima
sezione).
Ricordando che il connettivo esistenziale `e una forma di disgiunzione infinita,
per il modo in cui si `e risolto l’analogo problema di invertibilit`a per il connettivo
binario di disgiunzione nel caso proposizionale, si pu`o tentare di sostituire (∃r)
con uno schema di regola del seguente tipo:
(∃r

)
Γ ¬ A[
t1
/
x
], . . . , A[
tn
/
x
], ∆
Γ ¬ ∃xA, ∆
(lasciamo al lettore la cura di dimostrare che tale regola risolve il problema nel
caso precedente).
Un’altra possibilit`a `e di vedere la formula ∃xA(x) come una sorta di “generato-
re” delle sue possibili alternative, che conduce all’unica regola:
(∃r

)
Γ ¬ A[
t
/
x
], ∃xA, ∆
Γ ¬ ∃xA, ∆
Simmetricamente, (∀l) pu`o essere sostituita da
(∀l

)
Γ, A[
t
/
x
], ∀xA ¬ ∆
Γ, ∀xA, ¬ ∆
Utilizzando (∃r

) si pu`o riscrivere la dimostrazione di A(t
1
) ∨ A(t
2
) ¬ ∃xA(x)
nel modo seguente:
A(t
1
) ¬ A(t
1
), A(t
2
), ∃xA(x) A(t
2
) ¬ A(t
1
), A(t
2
), ∃xA(x)
A(t
1
) ∨ A(t
2
) ¬ A(t
1
), A(t
2
), ∃xA(x)
A(t
1
) ∨ A(t
2
) ¬ A(t
2
), ∃xA(x)
A(t
1
) ∨ A(t
2
) ¬ ∃xA(x)
`
E facile dimostrare che le nuove regole sono logicamente equivalenti a quelle di
partenza. Inoltre, esse godono di un’ulteriore propriet`a che `e stata utilizzata
141
nella dimostrazione di completezza del calcolo proposizionale: le regole (∃r

) e
(∀l

) sono reversibili, nel senso che i sequenti conclusione sono semanticamente
validi se e solo se lo sono le rispettive premesse.
Da questo punto di vista, `e sempre possibile concludere una dimostrazione il cui
sequente finale contiene una formula quantificata esistenzialemente nella par-
te destra (rispettivamente, quantificata universalmente nella parte sinistra) con
una applicazione di (∃r

) (rispettivamente (∀l

)). Tuttavia tale applicazione
potrebbe semplicemente costituire del lavoro inutile e complicare l’albero di
prova.
Si consideri, ad esempio, la seguente dimostrazione, che utilizza le regole origi-
narie, del sequente ∀xA(x) ¬ ∀x(A(x) ∨ B):
A(x) ¬ A(x), B
A(x) ¬ A(x) ∨ B
∀xA(x) ¬ A(x) ∨ B
∀xA(x) ¬ ∀x(A(x) ∨ B)
Cercando di invertire le due applicazioni di (∀l) e (∀r) si otterrebbe:
A(x) ¬ A(x), B
A(x) ¬ A(x) ∨ B
A(x) ¬ ∀x(A(x) ∨ B)
∀xA(x) ¬ ∀x(A(x) ∨ B)
Il problema `e che, in tale situazione, l’applicazione di (∀r) `e scorretta in quanto
x appare libera nel sequente conclusione. In questo caso, anche le nuove regole
non sono sufficienti a risolvere il reale problema di inversione.
`
E vero infatti che
`e sempre possibile applicare come ultima regola (∀l

), come nell’albero seguente
(dove t `e un qualunque termine che non contiene x)
A(t), A(x) ¬ A(x), B
A(t), A(x) ¬ A(x) ∨ B
A(t), ∀xA(x) ¬ A(x) ∨ B
A(t), ∀xA(x) ¬ ∀x(A(x) ∨ B)
∀xA(x) ¬ ∀x(A(x) ∨ B)
Tuttavia `e stato semplicemente effettuato del lavoro inutile, introducendo la
formula aggiuntiva A(t) nella parte sinistra dei sequenti che non entra in gioco in
alcun modo nella dimostrazione. Ovviamente, non si `e risolto il reale problema
di invertibilit`a, che in questo caso `e intrinseco al sistema logico.
5.3.2 Un algoritmo di ricerca automatica
Il lavoro aggiuntivo prodotto dalle regole (∀l

) e (∃r

) pu`o creare dei rami infiniti
durante il tentativo costruzione all’indietro di un albero di prova, portando alla
142
non terminazione dell’algoritmo di ricerca anche in presenza di dimostrazioni
finite. Ad esempio, nel caso del sequente ∀xA(x) ¬ ∀x(A(x) ∨ B), la ricerca
potrebbe procedere nel modo seguente:
.
.
.
A(t
1
), A(t
2
), A(t
3
), ∀xA(x) ¬ ∀x(A(x) ∨ B)
A(t
1
), A(t
2
), ∀xA(x) ¬ ∀x(A(x) ∨ B)
A(t
1
), ∀xA(x) ¬ ∀x(A(x) ∨ B)
∀xA(x) ¬ ∀x(A(x) ∨ B)
Nell’algoritmo di ricerca di una dimostrazione si dovrebbe dunque garantire che,
in presenza di un sequente a cui si possono applicare numerose regole logiche,
nessuna di queste sia privilegiata rispetto alle altre.
`
E possibile immaginare
svariate tecniche (ed innumerevoli euristiche) per affrontare il problema. Poi-
ch´e le complesse problematiche connesse all’efficienza di tali algoritmi esulano
dallo scopo della presente trattazione, la soluzione che adotteremo `e basata sul
seguente approccio, piuttosto naif:
1. dato il sequente Γ ¬ ∆ l’algoritmo cercher`a ad ogni passo pari di applicare
all’indietro una regola logica sulla prima formula (composta) di Γ, e ad
ogni passo dispari sulla prima formula (composta) di ∆;
2. le formule ausiliarie delle regole logiche prodotte dalla loro applicazione
all’indietro saranno poste in coda nei sequenti che sono premesse della
regola.
Esplicitamente, le regole che verranno applicate (da leggersi “all’indietro”) sono
riportate nella Figura 5.1 (Ξ rappresenta una sequenza di formule atomiche).
L’algoritmo si arresta lungo un ramo di ricerca non appena si genera un sequente
S che soddisfa una delle propriet`a seguenti:
1. (terminazione con successo) S `e un quasi-assioma, cio`e un sequente in cui
la stessa formula appare sia nella parte destra che in quella sinistra (ci
si pu`o eventualmente restringere al caso di formule atomiche). In tale
situazione diremo che il ramo `e chiuso.
2. (terminazione con fallimento) S `e un sequente Ξ
1
¬ Ξ
2
composto unica-
mente da formule atomiche e tale che nessuna formula appare sia in Ξ
1
che in Ξ
2
.
Nel caso di terminazione con successo lungo un ramo di ricerca, si passer`a ad
esplorare i rami ancora aperti. Viceversa, in caso di terminazione con fallimento
lungo un qualche ramo `e possibile interrompere l’intera ricerca concludendo che
il sequente non `e dimostrabile. L’albero di ricerca `e chiuso quando tutti i suoi
rami sono chiusi.
Evidenziamo ancora il fatto che l’algoritmo potrebbe anche non terminare af-
fatto, perdendosi lungo un ramo di ricerca infinito; tale problema non dipende
143
(∧l)
Ξ, Γ, A, B ¬ ∆
Ξ, A∧ B, Γ ¬ ∆
(∧r)
Γ ¬ Ξ, ∆, A Γ ¬ Ξ, ∆, B
Γ ¬ Ξ, A∧ B, ∆
(∨l)
Ξ, Γ, A ¬ ∆ Ξ, Γ, B ¬ ∆
Ξ, A∨ B, Γ ¬ ∆
(∨r)
Γ ¬ Ξ, ∆, A, B
Γ ¬ Ξ, A∨ B, ∆
(→ l)
Ξ, Γ ¬ ∆, A Ξ, Γ, B ¬ ∆
Ξ, A → B, Γ ¬ ∆
(→ r)
Γ, A ¬ Ξ, B, ∆
Γ ¬ Ξ, A → B, ∆
(l)
Ξ, Γ ¬ ∆, A
Ξ, A, Γ ¬ ∆
(r)
Γ, A ¬ Ξ, ∆
Γ ¬ Ξ, A, ∆
(∀l)
Ξ, Γ, A[
t
/
x
], ∀xA ¬ ∆
Ξ, ∀xA, Γ ¬ ∆
(∀r)
Γ ¬ Ξ, ∆, A[
y
/
x
]
Γ ¬ Ξ, ∀xA, ∆
(∃l)
Ξ, Γ, A[
y
/
x
] ¬ ∆
Ξ, ∃xA, Γ ¬ ∆
(∃r)
Γ, ¬ Ξ, ∆, A[
t
/
x
], ∃xA
Γ ¬ Ξ, ∃xA, ∆
Figura 5.1: Formulazione di HK per un algoritmo di ricerca all’indietro
dal particolare algoritmo in esame ma, come risulter`a chiaro nel paragrafo 5.4.1,
`e un limite intrinseco della logica del primo ordine.
Il principale problema che ancora resta da risolvere `e la scelta della variabile y
e del termine t nelle regole dei quantificatori.
Per quanto riguarda y in (∀r) e (∃l) `e necessario garantire che essa non appa-
ia libera nel sequente conclusione. Una semplice soluzione consiste nel fissare
un’enumerazione di tutte le variabili e considerare la prima variabile avente tale
caratteristica.
In (∀l) e (∃r), t pu`o essere un termine generico del linguaggio. Il problema `e
che si deve garantire che tutti i termini possano potenzialmente essere presi in
esame. A tale scopo fissiamo una certa enumerazione t
1
, t
2
, . . . , t
n
, . . . dei ter-
mini del linguaggio. Allorch`e si applicher`a una delle regole (∀l) o (∃r) si avr`a
cura di scegliere il primo termine della enumerazione che non `e stato ancora
utilizzato per generare una formula ausiliaria per il dato quantificatore lungo
il cammino dell’albero di ricerca che conduce dal sequente in esame fino alla
radice (si ricordi che si sta costruendo l’albero “all’indietro”).
Introduciamo ora alcune nozioni e risultati che verranno utilizzati nel prossimo
paragrafo.
Definizione 5.20 Data una interpretazione (/, ξ
A
), ed un sequente Γ ¬ ∆
diremo che una formula P del sequente `e un costituente positivo se appare
nella parte destra e v
(A,ξ
A
)
(P) = 1 oppure se appare nella parte sinistra e
v
(A,ξ
A
)
(P) = 0. Se P ha caratteristiche opposte `e detto costituente negativo.
144
Proposizione 5.21 Sia (/, ξ
A
) una interpretazione e P un costituente positivo
di Γ ¬ ∆. Se P `e del tipo A, A ∧ B, A ∨ B, A → B, ∀xA in ∆, o ∃xA in Γ,
allora in ogni sequente premessa di una regola di introduzione per P una delle
formule ausiliarie della regola `e ancora un costituente positivo.
Dimostrazione. Si effettua per casi sulle varie regole. Ne vedremo solo alcuni, i
rimanenti sono lasciati al lettore come esercizio.
1. P `e A∧ B, e P si trova nella parte sinistra del sequente. La regola di
introduzione per P `e dunque:
(∧l)
Ξ, Γ, A, B ¬ ∆
Ξ, A∧ B, Γ ¬ ∆
Poich´e P `e un costituente positivo e si trova nella parte sinistra, deve
essere v
(A,ξ
A
)
(P) = 0. Questo implica che o v
(A,ξ
A
)
(A) = 0, oppu-
re v
(A,ξ
A
)
(B) = 0. Poich`e sia A che B sono nella parte sinistra della
premessa, uno di essi `e un costituente positivo.
2. P `e A ∧ B, e P si trova nella parte destra del sequente. La regola di
introduzione per P `e dunque:
(∧r)
Γ ¬ Ξ, ∆, A Γ ¬ Ξ, ∆, B
Γ ¬ Ξ, A∧ B, ∆
Poich´e P `e un costituente positivo e si trova nella parte destra, deve essere
v
(A,ξ
A
)
(P) = 1. Questo implica che v
(A,ξ
A
)
(A) = 1, e v
(A,ξ
A
)
(B) =
1. Poich`e sia A che B sono nella parte destra delle rispettive premesse,
entrambi sono costituenti positivi.
3. Se P `e A → B e P si trova nella parte sinistra del sequente. La regola
di introduzione per P `e:
(→ l)
Ξ, Γ ¬ ∆, A Ξ, Γ, B ¬ ∆
Ξ, A → B, Γ ¬ ∆
Poich´e P `e un costituente positivo e si trova nella parte sinistra, deve essere
v
(A,ξ
A
)
(P) = 0, che implica v
(A,ξ
A
)
(A) = 1 e v
(A,ξ
A
)
(B) = 0. Poich`e A
che B sono rispettivamente nella parte sinistra ed in quella destra delle
premesse, entrambi sono costituenti positivi.
4. Se P `e ∀xA e P si trova nella parte destra del sequente. La regola di
introduzione per P `e:
(∀r)
Γ ¬ Ξ, ∆, A[
y
/
x
]
Γ ¬ Ξ, ∀xA, ∆
Inoltre deve essere v
(A,ξ
A
)
(P) = 1 che implica v
(A,ξ
A
)
(A[
y
/
x
]) = 1. Poich`e
A[
y
/
x
] `e ancora nella parte destra della premessa, `e un costituente positivo.

145
5.3.3 Completezza
Utilizziamo l’algoritmo di ricerca precedente per dimostrare la completezza
7
del
Calcolo dei Sequenti (nella formulazione usata nell’algoritmo, che tuttavia `e
banalmente equivalente alle precedenti), vale a dire che Γ [= ∆ implica Γ ¬ ∆.
Equivalentemente (dal punto di vista classico), si vuole dimostrare che Γ [= ∆
oppure Γ ¬ ∆.
Supponiamo di cominciare l’algoritmo di ricerca all’indietro con il sequente Γ ¬
∆. Vi sono due possibilit`a: o l’algoritmo genera un un albero chiuso, oppure no.
Nel primo caso, l’albero costituisce una dimostrazione di Γ ¬ ∆. Dunque, per
dimostrare la completezza `e sufficiente provare che se l’algoritmo non conduce
ad un albero chiuso, allora Γ [= ∆, ovvero esiste una qualche interpretazione
che soddisfa tutte le formule in Γ ma nessuna formula in ∆.
Supponiamo dunque che l’algoritmo di ricerca non conduca ad un albero chiuso.
Vi sono due possibilit`a: o esiste un ramo dell’albero che porta ad un sequente
Ξ
1
¬ Ξ
2
le cui formule sono tutte atomiche e nessuna formula `e comune a Ξ
1
e Ξ
2
, oppure esiste almeno un ramo infinito. Consideriamo questo ramo, e sia
S
0
, S
1
, S
2
, . . . S
n
, . . . , la lista (possibilmente infinita) dei sequenti corrispondenti
ai nodi dell’albero, partendo dalla radice.
Siano ´ l’insieme di tutte le formule atomiche che appaiono nella parte sinistra
di un qualche sequente S
i
, ed ^ l’insieme di tutte le formule atomiche che
appaiono nella parte destra di un qualche sequente S
i
.
Lemma 5.22 ´∩ ^ = ∅
Dimostrazione. Per come sono definite le regole di inferenza, allorch`e una for-
mula atomica appare su un lato di un qualche sequente S
i
, apparir`a necessaria-
mente sullo stesso lato per tutti i sequenti S
j
per j ≥ i. Dunque se esistesse
una formula in comune a ´ e ^ esisterebbe anche un qualche sequente S
k
qua-
si primo, contraddicendo il fatto che stiamo considerando un ramo non chiuso
dell’albero.
Vogliamo ora definire un’interpretazione /
M
in cui non valga Γ [= ∆.
Tale interpretazione `e nota come interpretazione dei termini o canonica (Defini-
zione 5.5). La ragione di questo nome `e che come dominio D
A
M
della struttura
si considera l’insieme dei termini del linguaggio TER(L), e l’interpretazione
di un termine `e . . . il termine stesso. Pi` u precisamente, l’interpretazione di un
simbolo di costante c `e . . . c stessa, l’interpretazione di un simbolo di funzione
f
n
`e quella funzione da TER
n
(L) in TER(L) che presi n termini t
1
, . . . , t
n
gli
associa il termine f(t
1
, . . . , t
n
). Come ambiente si sceglie ξ tale che per ogni
variabile x, ξ(x) = x. Risulta [[t]]
A
M
ξ
= t (Esercizio 5.6). Per quanto riguarda
i predicati, un simbolo di proposizione P
n
`e interpretato come quella funzio-
ne P
A
M
da TER
n
(L) ai booleani tale che P
A
M
(t
1
, . . . , t
n
) = 1 se e solo se
P(t
1
, . . . , t
n
) ∈ ´.
Definizione 5.23 Si definisce ordine di una formula P il numero di quantifi-
catori e connettivi proposizionali che vi compaiono.
7
Nel caso in cui l’insieme di formule di partenza sia finito.
146
Lemma 5.24 Se un sequente S
i
contiene un costituente positivo di ordine n+1,
esiste un sequente S
j
con j ≥ i che contiene un costituente positivo di ordine n.
Dimostrazione. Consideriamo il sequente S
i
e sia P il costituente positivo. Per
come sono definite le regole logiche tale costituente rester`a sullo stesso lato del
sequente finch`e non interverr`a come formula principale di una regola. Sia S
k
il
sequente in questione, ed R la regola applicata per generare S
k+1
. Se tale regola
`e di introduzione di un connettivo logico, (∀r) o (∃l), l’asserto `e una conseguenza
immediata della Proposizione 5.21, scelto j = k + 1.
Supponiamo allora che R sia (∃r) e P sia ∃xA. Poich´e il costituente positivo
P non potr`a mai essere eliminato, il ramo di ricerca in oggetto non pu`o essere
un ramo di fallimento e deve necessariamente essere infinito. Questo implica
che lungo il ramo ∃xB sar`a utilizzato infinite volte come formula principale di
(∃r), e dunque che per ogni termine t del linguaggio si generer`a una formula
del tipo B[
t
/
x
] nella parte destra. Se ∃xB era un componente positivo, essen-
do nella parte destra doveva avere valore di verit`a 1. Per il Lemma 4.28, se
(/
M
, ξ
A
M
) [= ∃xB allora esiste un elemento del dominio, cio`e un termine s per
cui (/
M
, ξ
A
M
[
s
/
x
]) [= B. Ma v
(A
M

A
M
[
s
/x])
(B) = v
(A
M

A
M
)
(B
[[[s]]
A
M
ξ
/
x
]),
e per il Lemma di traslazione = v
(A
M

A
M
)
(B[
s
/
x
]). Poich`e necessariamente
esister`a un qualche sequente S
j
in cui B[
s
/
x
] verr`a generato (ed eventualmente
sulla destra), si ha l’asserto. Il caso di (∀l) `e del tutto simmetrico.
Si pu`o ora concludere facilmente il Teorema di completezza. Supponiamo infatti
per assurdo che nell’interpretazione (/
M
, ξ
A
M
), Γ [= ∆. Questo implica che il
sequente S
0
= Γ ¬ ∆ deve contenere almeno un costituente positivo. Sia n il
suo ordine. Se n > 0, per il lemma precedente necessariamente esiste un qualche
sequente S
j
con un costituente positivo di ordine n −1, e cos`ı via, finch´e non si
ottiene un sequente con un costituente positivo di ordine 0. Ma questo `e assurdo
poich`e per come `e stata definita l’interpretazione, tutti i costituenti di ordine 0
(cio`e formule atomiche) sono necessariamente negativi (se il costituente `e sulla
sinistra allora appartiene a ´ e dunque ha valore 1, mentre se `e sulla destra,
allora appartiene a ^, quindi non appartiene a ´ ed ha valore 0).
5.3.4 Discussione dell’algoritmo
L’algoritmo mostrato in precedenza `e particolarmente inefficiente.
Come dovrebbe essere chiaro dalla dimostrazione di completezza, gli unici pro-
blemi sono dovuti alle regole (∀r) e (∃l).
`
E possibile dunque cominciare con
l’applicare tutte le rimanenti regole e rimandare l’applicazione di queste ultime.
Si noti che questa parte `e necessariamente terminante, poich`e tutte le regole,
ad esclusione di (∀r) e (∃l), fanno decrescere l’ordine di una qualche formula
del sequente. Alla fine, ci si riduce necessariamente a sequenti in una “forma
normale” in cui nella parte sinistra vi sono solo formule atomiche o formule
quantificate universalmente, mentre nella parte destra si hanno ancora formule
atomiche o formule quantificate esistenzialmente. A questo punto si `e costretti
ad applicare (∀r) oppure (∃l) (che si applicheranno alternativamente, in modo
147
da operare una volta sulla parte destra ed una volta su quella sinistra del sequen-
te). Tale applicazione generer`a una copia della formula quantificata (che verr`a
messa in coda alla lista delle formule quantificate dello stesso tipo, in modo da
avere priorit`a minore rispetto alle altre) ed una istanza della formula stessa che
pu`o essere processata immediatamente in modo da riottenere una nuova forma
normale.
Ovviamente il problema principale `e ancora la scelta del termine con cui creare
l’istanza. In questo caso, si possono tentare delle euristiche, in modo da guidare
la scelta in base alle altre formule che compaiono nel sequente, tenendo presente
che l’obiettivo `e quello di ottenere un quasi-assioma. Ad esempio, se si `e nella
situazione
∀xA(x) ¬ A(t)
si pu`o immediatamente decidere di istanziare ∀xA(x) ad A(t), dato che tale
formula compare nella parte opposta.
Un esempio appena pi` u complesso `e costituito dal sequente ∀xB(x, f(a)) ¬
∃yB(g(y), y). Una sua possibile dimostrazione `e la seguente:
B(g(f(a)), f(a)), ∀xB(x, f(a)) ¬ B(g(f(a)), f(a)), ∃yB(g(y), y)
B(g(f(a)), f(a)), ∀xB(x, f(a)) ¬ ∃yB(g(y), y)
∀xB(x, f(a)) ¬ ∃yB(g(y), y)
Gi`a in questo caso, tuttavia, non `e del tutto chiaro come orientare in modo
automatico la scelta delle istanziazioni operate, cio`e [
g(f(a))
/
x
] e [
f(a)
/
y
].
Un possibile approccio consiste nel ritardare questa scelta, introducendo delle
metavariabili (che denoteremo con lettere maiuscole) che intuitivamente rappre-
sentano dei termini generici. Ad esempio, nel caso precedente, si procederebbe
nel modo seguente:
B(X, f(a)), ∀xB(x, f(a)) ¬ B(g(Y ), Y ), ∃yB(g(y), y)
B(X, f(a)), ∀xB(x, f(a)) ¬ ∃yB(g(y), y)
∀xB(x, f(a)) ¬ ∃yB(g(y), y)
A questo punto, vi sono le due formule atomiche B(X, f(a)) e B(g(Y ), Y ) in
parti opposte del sequente che appaiono come dei buoni candidati per genera-
re un quasi assioma. L’unico problema `e quello di capire se ammettono una
istanza comune, cio`e se `e possibile istanziare X e Y in modo tale da rendere le
due formule sintatticamente identiche. Questo problema `e noto con il nome di
unificazione, e verr`a trattato formalmente nel prossimo capitolo (in un contesto
differente). Per il momento, osserviamo semplicemente che il problema dell’u-
nificazione `e risolubile, e fornirebbe, nel caso precedente, la soluzione corretta.
L’uso di metavariabili comporta tuttavia delle complicazioni nelle regole (∀r)
e (∃r) in quanto queste prevedono che la variabile y introdotta (all’indietro)
non compaia libera nel sequente conclusione della regola. Se il sequente conte-
neva una qualche metavariabile X, `e necessario garantire che X non venga in
148
seguito istanziata ad un termine che contiene occorrenze libere di y. Una pos-
sibile soluzione consiste nell’esplicitare la dipendenza di y da X, scrivendo ad
esempio y(X). Questo impedisce che X possa essere in seguito istanziata ad un
termine che contiene y(X), poich`e si avrebbe un ovvio problema di circolarit`a
(una meta-variabile non pu`o mai essere unificata ad un termine che contiene
una occorrenza della meta-variabile stessa).
Ovviamente, se X viene istanziata ad un termine t che a sua volta dipende da
altre metavariabili X
1
, . . . , X
n
, anche ogni variabile che dipendeva da X viene
ora a dipendere da X
1
, . . . , X
n
.
Riassumendo:
• quando si applica una regola del tipo (∀l) o (∃r) si introduce una nuova
metavariabile;
• quando si applica una regola del tipo (∀r) o (∃l) si introduce una variabile
che non occorre ancora nel resto dell’albero e che dipende da tutte le
metavariabili X
1
, . . . , X
n
che appaiono nel sequente conclusione;
• si ammette l’instanziazione di X a t solo se t non dipende da X;
• l’instanziazione di una metavariabile X ad un termine t deve risultare nella
sostituzione di X con t in tutto l’albero di prova; inoltre ogni variabile che
dipendeva da X dipender`a ora da da tutte le metavaribili che compaiono
in t.
Il lettore interessato ad approfondire queste problematiche, pu`o consultare [Pau92]
e la bibliografia ivi menzionata.
5.4 Applicazioni del Teorema di completezza
5.4.1 Il problema della decisione
La prima applicazione del Teorema di completezza riguarda il problema di de-
cidere se una formula della logica dei predicati `e valida.
Come abbiamo gi`a osservato in precedenza, nella logica del primo ordine, al
contrario di quanto avviene in quella proposizionale, non `e (a priori) possibile
stabilire la validit`a di una formula per via semantica sia per l’infinit`a delle pos-
sibili interpretazioni, che per la natura possibilmente infinita dei domini che,
in presenza di quantificatori, richiederebbe infiniti controlli. Al contrario, il
problema della derivabilit`a di una formula in un qualche calcolo logico `e chia-
ramente semi-decidibile, nel senso che si `e in grado di fornire un algoritmo che
risponde affermativamente se una formula P `e effettivamente derivabile (¬ P),
ma che potrebbe non terminare in caso contrario (e dunque, non `e mai possibile
concludere ¬ P). Osserviamo infatti che, data la natura finitista dei calcoli, `e
possibile enumerare tutte le formule derivabili. Ad esempio, in Deduzione Na-
turale, si pu`o cominciare con l’enumerare tutte le formule derivabili con alberi
di profondit`a 1, poi passare agli alberi di profondit`a 2, e cos´ı via. Se la formula
149
P `e derivabile, allora prima o poi comparir`a in tale enumerazione e si `e dunque
in grado di rispondere in modo affermativo; in caso contrario, l’algoritmo conti-
nuer`a ad enumerare nuove formule derivabili considerando alberi di profondit`a
sempre maggiore, senza tuttavia poter fornire una risposta negativa.
L’algoritmo di ricerca all’indietro utilizzato nella dimostrazione di completezza
per il Calcolo dei Sequenti `e un altro esempio di programma che `e in grado
di semi-decidere la derivabilit`a di una formula del primo ordine: se una dimo-
strazione esiste si `e sicuri prima o poi di trovarla; in caso contrario, l’algoritmo
potrebbe non terminare affatto.
Dal Teorema di completezza segue che ¬ P ⇔ [= P, dunque `e possibile conclu-
dere che anche la nozione di validit`a `e semi-decidibile.
La domanda che ci si pone `e la seguente: il problema della decisione `e anche
decidibile, vale a dire, data una qualunque formula P della logica dei predicati,
`e possibile rispondere “si” se P `e valida e “no” se P non lo `e? La risposta, a
differenza di quanto accade nella logica proposizionale, `e in questo caso negati-
va, e non nel senso che, allo stato dell’arte, non si conosce un procedimento di
decisione per formule della logica dei predicati, ma nel senso ben pi` u forte che
si pu` o dimostrare che tale procedimento non pu`o esistere. Questo sconcertante
risultato, dimostrato da Church nel 1936 [Chu36], si enuncia nel seguente modo:
Teorema 5.25 (di Church)
Non esiste alcun algoritmo (metodo, procedura generale . . . ) che consente di
decidere la validit`a di una qualunque formula della logica del primo ordine.
La dimostrazione di tale teorema richiede la conoscenza di nozioni e risultati,
propri della cosiddetta Teoria della Calcolabilit`a
8
, che esulano dai scopi del pre-
sente volume. Effettuiamo, tuttavia, alcune considerazioni marginali su questo
risultato.
Si `e dunque visto che `e possibile soltanto semi-decidere la validit`a di una qua-
lunque formula della logica del primo ordine. Vediamo cosa si pu`o dire sulla
soddisfacibilit`a. Sappiamo che `e possibile dare un’enumerazione effettiva di
tutte le formule derivabili. Se fossimo anche in grado di enumerare in modo
effettivo tutte le formule non derivabili, allora avremmo anche un algoritmo di
decisione. Infatti, per decidere se una formula P `e derivabile (valida) o meno,
basterebbe attivare i due algoritmi di enumerazione. In questo caso, si ha la
sicurezza che P comparir`a dopo un tempo finito (quantunque grande) in una
delle due liste e, a seconda dell’enumerazione in cui compare, si pu`o decidere
se `e derivabile (valida) o meno. Inoltre, l’esistenza simultanea di due algoritmi
di decisione per l’insieme delle formule derivabili e per quelle non derivabili `e
anche una condizione necessaria per la decidibilit`a dell’insieme delle espressioni
derivabili. Infatti, avendo un algoritmo di decisione, e fissata una enumerazione
di tutte le formule, le potremmo considerare consecutivamente decidendo per
ognuna di esse se questa sia o meno derivabile. In questo modo si generano in
modo effettivo le due successioni distinte delle formule derivabili e di quelle non
8
Per una introduzione a tale teoria si vedano i libri di Rogers [Rog67] e Odifreddi [Odi89].
150
derivabili.
Il Teorema di Church asserisce per l’appunto che non pu` o esistere un algoritmo
in grado di enumerare in modo effettivo l’insieme delle formule non derivabili
(non valide).
Sottolineamo il fatto che la non esistenza di un procedimento generale di de-
cisione non preclude, tuttavia, la possibilit`a che per particolari sottoinsiemi di
formule un tale procedimento possa esistere
9
.
Ricordiamo che il problema della non validit`a di una formula `e (computazional-
mente) equivalente a quello della soddisfacibilit`a. Infatti, una formula P `e non
valida se e solo se la sua negata P `e soddisfacibile. Da cui segue che
Corollario 5.26 Il problema della soddisfacibilit`a di una qualunque formula
della logica del primo ordine non `e nemmeno semi-decidibile.
P (P) `e valida se e solo se P (rispettivamente, P) `e contraddittoria (o, per
completezza, insoddisfacibile). Dunque, l’insieme delle formule contraddittorie
(o insoddisfacibili) `e semi-decidibile.
5.4.2 Compattezza
Nella presente sezione discuteremo alcune delle possibili applicazioni del Teore-
ma di completezza (forte), Teorema 5.14, alla teoria dei modelli; questa studia le
relazioni esistenti tra gli insiemi di formule e le interpretazioni che li soddisfano.
Uno dei principali risultati nella suddetta teoria `e il Teorema di compattezza
la cui dimostrazione `e una diretta conseguenza del Teorema di completezza.
Infatti:
Teorema 5.27 (Compattezza)
Un insieme di fbf Γ `e soddisfacibile se e solo se ogni suo sottoinsieme finito lo
`e.
Una sua formulazione equivalente (Esercizio 1.20) `e la seguente:
Teorema 5.28 Un insieme di fbf Γ `e insoddisfacibile se e solo se esiste un suo
sottoinsieme finito ∆ che lo `e.
Dimostrazione. (⇐) Immediata.
(⇒) Supponiamo che Γ sia insoddisfacibile, per il Teorema del modello, Γ `e in-
consistente, cio`e Γ ¬ ⊥. Allora esistono P
0
, . . . , P
n
∈ Γ tali che P
0
, . . . , P
n
¬ ⊥;
per il Teorema di correttezza P
0
, . . . , P
n
[= ⊥, quindi ¦P
0
, . . . , P
n
¦ `e insoddisfa-
cibile.
Questo consente di provare un importante risultato, il Teorema di L¨owenheim-
Skolem, il quale mette in evidenza, tra le altre cose, i limiti del potere espressivo
della logica del primo ordine (par. 5.4.3).
9
Esistono classi assai vaste di formule della logica del primo ordine (si veda, a tal proposito,
l’Esercizio 6.5 o il capitolo 46 di [Chu56]) per le quali `e possibile stabilire se sono valide o
meno.
151
Nel seguito utilizzeremo alcuni risultati elementari sui cardinali, le cui dimo-
strazioni si possono trovare in un qualunque testo di teoria degli insiemi (si
veda, a tal proposito, la bibliografia consigliata nel paragrafo 5.6).
Per cardinalit`a di un’interpretazione (/, ξ
A
) si intende la cardinalit`a del suo
dominio, cio`e [D
A
[. Diremo che (/, ξ
A
) `e finita o infinita, numerabile o non
numerabile se D
A
ha la propriet`a corrispondente.
Sia Γ un insieme di fbf definito su un linguaggio L del primo ordine. Siano
Γ
ω
un insieme consistente massimale contenente Γ
ω
(cfr. Proposizione 5.10) e
(/
Γω
, ξ
A
Γω
) l’interpretazione canonica (Definizione 5.5).
Proposizione 5.29 (/
Γω
, ξ
A
Γω
) ha la cardinalit`a di L.
Dimostrazione. Sia [L[ = µ. Occorre provare che D
A
Γω
= ¦t ∈ TER(L
ω

ha cardinalit`a µ. Per fare ci`o si utilizzer`a l’assioma della scelta nella seguente
forma: siano µ e λ cardinali infiniti, allora
µ +λ = µ λ = max(µ, λ).
Dimostriamo, per induzione su n, che L
n
ha cardinalit`a µ, da cui segue che L
ω
ha cardinalit`a ℵ
0
µ = µ.
(caso base) L
0
= L. L’asserto `e verificato per ipotesi. Supponiamo, per ipotesi
induttiva, che [L
n
[ = µ, quindi, per ogni k ∈ ^, il numero di fbf di lunghezza k
formate con simboli in L
n
`e al pi` u µ
k
= µ. Dunque il numero totale di espressioni
costruite con simboli di L `e al pi` u ℵ
0
µ = µ. Da ci`o deriva immediatamente
che il numero di testimoni aggiunti al passo n + 1 `e al pi` u µ e quindi [L
n+1
[ =
[L
n
[ +µ = µ +µ = µ. Abbiamo quindi provato che L
ω
ha cardinalit`a µ, da cui
segue, per l’Esercizio 5.17, che [TER(L
ω
)[ = µ.
Teorema 5.30 (di L¨oweneim-Skolem “verso il basso”)
Sia L un linguaggio di cardinalit`a µ. Se Γ `e un insieme di fbf consistente, allora
Γ ha un modello di cardinalit`a ≤ µ.
Dimostrazione. Segue dal Teorema del modello e dalla proposizione precedente.

Si noti in particolare che un linguaggio del primo ordine su di un alfabeto nume-
rabile ammette sempre un modello di cardinalit`a numerabile. Il caso `e differente
se si considerano linguaggi con uguaglianza, e se si richiede che il predicato sin-
tattico di uguaglianza sia interpretato come identit`a sul modello. In questo
caso (e solo in questo caso), determinati insiemi di formule ben formate pos-
sono ammettere solo modelli finiti. Se, tuttavia, si ammette che l’uguaglianza
sia interpretata come una arbitraria congruenza (come imposto dalla sua assio-
matizzazione), allora si avranno nuovamente, per necessit`a, modelli numerabili.
Nel seguito, supporremo sempre che il predicato di uguaglianza sia interpretato
come identit`a. Anche per linguaggi con uguaglianza vale tuttavia il risultato di
L¨oweneim-Skolem:
152
Teorema 5.31 Sia L un linguaggio del primo ordine con uguaglianza di car-
dinalit`a µ. Se Γ `e un insieme di fbf consistente, allora Γ ha un modello di
cardinalit`a ≤ µ.
Dimostrazione. Segue dal Teorema del modello e dalla proposizione precedente,
essendo l’insieme delle classi di equivalenza della relazione ∼ sui termini di un
linguaggio di cardinalit`a µ, sicuramente ≤ µ.
Dunque, ogni linguaggio numerabile con uguaglianza ammette modelli finiti o
numerabili. Questo risultato pu`o portare a conseguenze apparentemente para-
dossali. Consideriamo l’assiomatizzazione ZF di Zermelo-Fraenkel della Teoria
degli Insiemi (definita su di un alfabeto finito). Per il teorema precedente, ZF
ha un modello numerabile (per l’assioma dell’infinito, ZF non pu`o avere modelli
finiti). In tale modello si ha una quantit`a numerabile di individui e dunque una
quantit`a numerabile di “insiemi”.
Tuttavia, il Teorema di Cantor, che afferma che esistono insiemi pi` u che nume-
rabili (ad esempio l’insieme {(^) dei sottoinsiemi di ^) `e dimostrabile in ZF.
Dunque tale teorema dovr`a essere vero in ogni modello di ZF, in particolare
in un modello numerabile la cui esistenza `e stata affermata in precedenza. Non
`e strano che in un modello numerabile vi sia un elemento pi` u che numerabi-
le? Questa “stranezza” costituisce quello che `e noto come Paradosso di Skolem
(1992-23).
In realt`a, non esiste una vera contraddizione. L’insieme di tutti i sottoinsiemi
di ^ nel modello `e in effetti numerabile, e dunque esiste una funzione da esso
nell’insieme dei numeri naturali. Tuttavia questa funzione non appartiene al
modello e dunque non contraddice il teorema che afferma che una tale funzione
non pu`o esistere (ed in effetti tale funzione non esiste nel modello). In altri
termini, la visione del mondo all’interno del modello `e differente da quella che
si ha dall’esterno. Osserviamo inoltre che, bench`e si possa dimostrare in un
linguaggio logico di natura finitista come ZF che esiste una infinit`a non nume-
rabile di sottoinsiemi di un dato insieme, si `e tuttavia solo in grado di definire
una infinit`a al pi` u numerabile di questi. La stessa cosa accade per i numeri rea-
li: utilizzando un linguaggio numerabile, si pu`o definire, ovviamente, solo una
quantit`a numerabile di numeri reali. Non deve dunque soprendere che si possano
costruire modelli numerabili di teorie che parlano di entit`a non numerabili.
Teorema 5.32 (L¨oweneim-Skolem “verso l’alto”)
Sia Γ un insieme di fbf su un linguaggio L del primo ordine con uguaglianza.
Se Γ ha dei modelli infiniti, allora ha dei modelli non numerabili.
Dimostrazione. Sia (´, ξ
M
) un modello infinito di Γ e ( un insieme non nu-
merabile di costanti tale che (
¸
L = ∅. Sia L

= L∪(. Consideriamo l’insieme
Γ

= Γ ∪ ¦(c
i
= c
j
) [ i = j c
i
, c
j
∈ (¦ e proviamo, utilizzando il Teorema di
compattezza, che `e soddisfacibile.
`
E necessario dimostrare che ogni sottoinsieme
finito ∆ di Γ

`e soddisfacibile. Siccome ∆ `e finito conterr`a solo un sottoinsie-
me finito di assiomi in ¦(c
i
= c
j
) [ i = j c
i
, c
j
∈ (¦; in particolare, siano
153
c
1
, . . . , c
n
le costanti (necessariamente finite) che occorrono nelle fbf di ∆. Es-
sendo (´, ξ
M
) infinito, `e possibile fissare n elementi distinti a
1
, . . . , a
n
in D
M
.
Definiamo l’interpretazione (´

, ξ
M∆
) nel seguente modo: D
M∆
= D
M
, per
ogni simbolo di costante c ∈ L, c
M∆
= c
M
, per ogni simbolo di predicato P,
P
M∆
= P
M
, per ogni simbolo di funzione f, f
M∆
= f
M
, c
M∆
i
= a
i
per
1 ≤ i ≤ n e c
M∆
= a
1
per ogni c ∈ ( diversa da c
1
, . . . , c
n
.


, ξ
M∆
) [= Γ in quanto (´, ξ
M
) [= Γ e (´, ξ
M
) coincide con (´

, ξ
M∆
)
su L; poich´e, inoltre, a
1
, . . . , a
n
sono elementi distinti di D
M
, (´

, ξ
M∆
) [= ∆.
Allora, per il Teorema di compattezza esiste un’interpretazione (´

, ξ
M

) che `e
un modello per Γ

, e dunque per Γ. Poich´e le costanti c ∈ ( sono tutte distinte
deve risultare c
M

i
= c
M

j
per ogni i = j, e quindi D
M
deve avere almeno [([
elementi. Essendo ( non numerabile si ha l’asserto, cio`e esiste un modello per
Γ che non `e numerabile.
Teorema 5.33 (di L¨oweneim, Skolem e Tarski)
Sia Γ un insieme di fbf su un linguaggio L del primo ordine con uguaglianza.
Se Γ ha dei modelli infiniti allora ha dei modelli di cardinalit`a /, con / ≥ [L[.
Dimostrazione. Sia ( un insieme di costanti di cardinalit`a / tale che (
¸
L = ∅.
Definiamo l’insieme Γ

= Γ ∪ ¦(c
i
= c
j
) [ i = j c
i
, c
j
∈ (¦. Con considerazioni
analoghe a quelle effettuate nella dimostrazione del precedente teorema, possia-
mo concludere che Γ

`e soddisfacibile. Per il Teorema di L¨oweneim-Skolem ha
un modello / di cardinalit´a ≤ /. Ma, per come `e definito Γ

, ogni suo modello
deve avere cardinalit`a ≥ /; da cui segue che / ha cardinalit`a /.
Vediamo qui di seguito alcune possibili applicazioni di tale teorema.
5.4.3 Modelli finiti ed infiniti
`
E possibile chiedersi se in un linguaggio del primo ordine si possano caratteriz-
zare le interpretazioni numerabili mediante una fbf (o un insieme di fbf), i.e. se
esiste una fbf, chiamiamola P, vera esattamente nelle interpretazioni numerabili;
pi` u formalmente, esiste P ∈ FBF tale che ¦(/, ξ
A
) [ / [= P¦ = ¦(/, ξ
A
) [ [D
A
[
`e numerabile ¦?
Dal Teorema di L¨oweneim-Skolem segue immediatamente che tale formula non
pu`o esistere e dunque l’espressione “avere un insieme numerabile di elementi”
non pu`o essere formulata in un linguaggio del primo ordine, in altri termini, “nu-
merabile” non `e una propriet`a del primo ordine. Dall’altro lato, “avere infiniti
elementi” `e invece una propriet`a del primo ordine in quanto esistono formule ve-
re esattamente nelle interpretazioni infinite. Infatti, se si considera ad esempio
la fbf
∀xy(f(x) = f(y) → x = y) ∧ ∀x∃yf(y) = x
questa ha solo modelli infiniti in quanto non pu`o esistere una funzione su insiemi
finiti che sia allo stesso tempo iniettiva ma non suriettiva.
`
E possibile esprimere la propriet`a “avere un numero finito di elementi”?
Dall’Esercizio 5.16 segue che esistono insiemi Γ
1
, Γ
2
, . . . di fbf tali che, ∀n ∈ ^,
154
Γ
n
`e soddisfacibile in un’interpretazione se e solo se questa ha un numero di
elementi ≥ n; quindi le espressioni “avere almeno un elemento”, “avere almeno
2 elementi”, . . . possono essere formulate in un linguaggio del primo ordine.
Tuttavia non esiste una fbf (o un insieme di fbf) soddisfacibile in tutte e sole le
interpretazioni finite.
Nel seguito utilizzeremo la seguente notazione:
sia Γ un insieme di fbf, con Mod(Γ) si indicher`a l’insieme
10
delle interpretazioni
che sono dei modelli per Γ, i.e.
Mod(Γ) = ¦(/, ξ
A
) [ / [= P, ∀P ∈ Γ¦.
Viceversa, sia / un insieme di interpretazioni, si indicher`a con Teo(/) la teoria
di /, ossia
Teo(/) = ¦P [ / [= P, ∀/ ∈ /¦.
Proposizione 5.34 Sia Γ un insieme di fbf. Se Γ ha modelli finiti arbitraria-
mente grandi, allora ha un modello infinito.
Dimostrazione. Sia Γ

= Γ ∪ ¦λ
n
[ n > 1¦ dove λ
n
esprime la propriet`a
“avere almeno n elementi” (Esercizio 5.16). Proveremo, utilizzando il Teore-
ma di compattezza, che Γ

`e soddisfacibile. Infatti, sia ∆ ⊆ Γ

finito e sia
λ
m
= max ¦λ
n
[ n > 1 ∧ λ
n
∈ ∆¦. Poich´e Γ ha modelli finiti arbitrariamente
grandi, avr`a un modello (/, ξ
A
) con almeno m elementi e quindi / [= Γ∪¦λ
m
¦;
essendo Mod(Γ ∪ ¦λ
m
¦) ⊂ Mod(∆) (Esercizio 5.18), / [= ∆ e quindi ∆ `e sod-
disfacibile. Per il Teorema di compattezza Γ

lo `e e, per come sono definite le
fbf λ
n
, Γ

ha un modello infinito, da cui Γ ha un modello infinito.
Dalla proposizione precedente segue che non pu`o esistere alcuna fbf (o insieme
di fbf) P t.c. Mod(P) = ¦(/, ξ
A
) [ / [= P¦ = ¦(/, ξ
A
) [ [D
A
[ `e finito¦. In
conclusione, il potere espressivo della logica del primo ordine `e limitato: “essere
numerabile” o “essere finito” sono propriet`a che non si possono formulare in
essa.
`
E interessante osservare che tali propriet`a sono invece esprimibili nella logica
del secondo ordine (v. p.111). Infatti, sia Inf la seguente formula del secondo
ordine:
∃f[∀xy(f(x) = f(y) → x = y) ∧ ∀x∃zf(x) = z]
informalmente, questa `e vera in un’interpretazione se e solo se esiste una funzione
iniettiva ma non suriettiva, se e solo se l’interpretazione `e infinita. La propriet`a
“essere finito” si esprime quindi al secondo ordine come Inf.
Analogamente, sia Num la seguente formula del secondo ordine:
∃zf∀A[A(z) ∧ ∀x(A(x) → A(f(x))) → ∀xA(x)]
questa `e vera in un’interpretazione se e solo se `e finita o numerabile.
Infatti, sia ´ un’interpretazione nella logica del secondo ordine avente come
10
in realt`a `e una classe
155
dominio D. Intuitivamente Num `e vera in ´ se e solo se esistono d ∈ D e
g : D → D tali che, per tutti i V ⊆ D se
1. d ∈ V e
2. per tutti gli x ∈ D, se x ∈ V , allora g(x) ∈ V , implica che per tutti gli
x ∈ D, x ∈ V .
(⇒) Supponiamo che ´ [= Num. Posto V

= ¦d, g(d), g(g(d)), . . . ¦, V

soddisfa
1. e 2. Allora D ⊆ V

e quindi D `e finito o numerabile.
(⇐) Viceversa, supponiamo che D sia finito o numerabile, allora Num `e vera
in ogni interpretazione con dominio D.
Quindi la propriet`a “essere numerabile” si pu`o esprimere al secondo ordine come
Inf ∧ Num.
Osservazione I teoremi di compattezza, L¨oweneim-Skolem e molte altre
propriet`a della logica del primo ordine non sono vere in quella del secondo
ordine.
5.4.4 Categoricit`a
Un’importante nozione della teoria dei modelli, che discuteremo qui di seguito,
`e quella della categoricit`a.
Definizione 5.35 Sia L un linguaggio del primo ordine e (/, ξ
A
), (/

, ξ
A

) due
sue interpretazioni; queste sono isomorfe se esiste una corrispondenza biunivoca
tra D
A
e D
A
tale che:
• per ogni simbolo di funzione f ad n argomenti
g(f
A
(b
1
, . . . , b
n
)) = f
A

(g(b
1
), . . . , g(b
n
))
• per ogni simbolo di predicato P a k argomenti
g(P
A
(b
1
, . . . , b
k
)) = P
A

(g(b
1
), . . . , g(b
k
))
Si noti che se / e /

sono isomorfe, i loro domini debbono avere la stessa
cardinalit`a.
Definizione 5.36 Una teoria T `e un insieme di fbf chiuso per derivabilit`a, cio`e
T ¬ P ⇒ P ∈ T.
Definizione 5.37 Una teoria T definita su un linguaggio L, si dice completa
se `e consistente e per ogni fbf chiusa P ∈ L, P ∈ T oppure P ∈ T.
Questa accezione del termine completezza non deve essere confusa con quella del
Teorema di Completezza. Una teoria `e completa se la nozione di “negazione”
coincide con quella di “non derivabilit`a” (per formule chiuse). Infatti, se Γ `e
completa Γ ¬ P se e solo se Γ ¬ P. In generale, come sappiamo, la negazione
156
di P esprime semplicemente la contraddittoriet`a di P, che `e una cosa molto pi` u
debole: Γ ¬ P se e solo se Γ, P ¬ ⊥. Osserviamo in particolare che ogni teoria
completa le cui formule sono enumerabili in modo effettivo `e anche decidibile
rispetto alla validit`a, in quanto la non validit`a di P si riduce al problema della
derivabilit`a di P.
Una caratterizzazione alternativa della completezza `e la seguente:
Proposizione 5.38 Una teoria T `e completa se e solo se `e consistente ed ogni
formula chiusa P ∈ T che `e vera in un modello di T, lo `e in ogni altro modello
di T.
Dimostrazione. (⇒) Sia T una teoria completa e P una formula chiusa di T
vera nel modello (/, ξ
A
) di T. Proviamo che P `e vera in ogni altro modello di
T. Supponiamo, per assurdo, che ci`o non si verifichi, ossia che esiste un modello
(/

, ξ
A

) di T tale che (/

, ξ
A

) [= P; per il Teorema di correttezza T ¬ P da
cui segue, essendo T completa, che T ¬ P ma `e assurdo.
(⇐) Sia T una teoria consistente e P ∈ L. Per il Teorema 5.13 esiste un modello
per T; in esso, `e vera P oppure P. Per ipotesi P o P sono vere in ogni modello
di T, da cui segue, per il Teorema di completezza che T ¬ P oppure T ¬ P;
essendo T una teoria, P ∈ T oppure P ∈ T.
Definizione 5.39 Si dice categorica una teoria che ha un solo modello a meno
di isomorfismi.
Ovviamente una teoria categorica caratterizza in modo univoco (a meno di
isomorfismi) una fissata interpretazione. Dal Teorema di L¨oweneim, Skolem
e Tarski segue immediatamente che una teoria che ha modelli infiniti non pu`o
essere categorica. Dunque nessuna teoria potr`a mai caratterizzare univocamente
un’interpretazione infinita.
Ci`o non `e vero per interpretazioni finite, dove vale il seguente risultato (di cui
non riportiamo la dimostrazione):
Proposizione 5.40 Data una qualunque interpretazione finita /, allora Teo(/)
`e categorica.
Vale il seguente risultato:
Teorema 5.41 Ogni teoria categorica `e completa.
Dimostrazione. Sia T una teoria categorica e L il linguaggio del primo ordine
sul quale `e definita T. Sia P ∈ L; se P ∈ T, allora T ∪ ¦P¦ `e consistente e
quindi, per il Teorema 5.13, ha un modello. Essendo T categorica, T [= P e
quindi per il Teorema di completezza T ¬ P; essendo T una teoria, segue che
P ∈ T.
Esiste inoltre una nozione pi` u ristretta di categoricit`a.
Definizione 5.42 Una teoria si dice α-categorica se i suoi modelli di cardina-
lit`a α sono tra loro isomorfi.
157
Per quanto concerne l’α-categoricit`a di teorie di interpretazioni, la situazione `e
pi` u articolata: vi sono teorie α-categoriche per ogni cardinale infinito α, teorie
α-categoriche per ogni
11
α non numerabile, teorie che lo sono solo per α = ℵ
0
o
teorie mai α-categoriche. Esempi di teorie siffatte si possono trovare in [BM77].
La rilevanza della nozione di α-categoricit`a per la completezza `e mostrata dal
seguente teorema
Teorema 5.43 (di Los-Vaught)
Sia T una teoria consistente che non ha modelli finiti ed `e α-categorica per un
dato cardinale infinito α, allora T `e completa.
Dimostrazione. Supponiamo per assurdo che non lo sia, allora esiste una fbf
P tale che P ∈ T e P ∈ T, da cui segue che T ∪ ¦P¦ e T ∪ ¦P¦ sono
entrambi consistenti e quindi, per il Teorema del modello, hanno dei modelli che,
per ipotesi, sono infiniti. Per il Teorema 5.33, hanno modelli di cardinalit`a α.
Essendo P vera in uno dei due modelli ma non nell’altro, T non `e α-categorica.
Poich´e l’unica assunzione fatta `e che T non `e completa, segue che T `e una teoria
completa.
Nel paragrafo che segue mostreremo che l’aritmetica di Peano non `e ℵ
0
- cate-
gorica.
5.4.5 Modelli non standard dell’aritmetica
Consideriamo la formalizzazione dell’aritmetica descritta a p.116. L’usuale
struttura dei naturali ^ = (^, ξ
N
) dove:
• D
N
:= insieme dei numeri naturali
• =
N
:= predicato di uguaglianza
• 0
N
:= costante 0
• s
N
:= funzione successore
• +
N
:= funzione somma
• ∗
N
:= funzione moltiplicazione
`e banalmente un modello per essa; ^ viene detto modello standard dell’aritme-
tica.
Definizione 5.44 Si definisce modello non standard dell’aritmetica un modello
di PA non isomorfo ad ^.
11
Se una teoria `e α-categorica per un qualche α non numerabile, allora lo `e per tutti gli α
non numerabili.
158
Dal Teorema di L¨oweneim-Skolem segue che l’aritmetica di Peano possiede dei
modelli non standard in quanto, essendo non numerabili, non possono essere
isomorfi ad ^.
Esistono inoltre dei modelli non standard dell’aritmetica che, pur essendo nu-
merabili, non sono isomorfi ad ^. Infatti:
Proposizione 5.45 Esiste un modello non standard dell’aritmetica che `e nu-
merabile.
Dimostrazione. Sia T l’insieme dei teoremi dell’aritmetica, ossia T = ¦P [ PA ¬
P¦ e d una costante diversa da 0. Sia
n
def
= s(s(. . . s
. .. .
n volte
(0) . . . ))
Sia T

= T ∪ ¦(d = n) [ n ∈ ^¦. Mostreremo, utilizzando il Teorema di
compattezza, che T

, e di conseguenza T, ha un modello numerabile che non `e
isomorfo a ^. Infatti, sia ∆ un sottoinsieme finito di T

, allora esiste k ∈ ^
tale che ∆ ⊆ T ∪ ¦(d = n) [ n < k¦; ∆ `e soddisfacibile in quanto (^, ξ
N
),
posto d
N
= n, `e un modello per esso. Per il Teorema di compattezza, T

`e soddisfacibile. Essendo il linguaggio di T

numerabile, in quanto L(T

) =
L(T) ∪ ¦d¦, per il Teorema di L¨oweneim-Skolem avr`a un modello numerabile
(^

, ξ
N

); ma poich´e tale interpretazione non `e isomorfa ad (^, ξ
N
) (il lettore
lo dimostri per esercizio), si ricava l’asserto.
Da cui segue immediatamente che:
Corollario 5.46 L’aritmetica non `e ℵ
0
-categorica.
5.5 I Teoremi di Incompletezza di G¨odel
Se una teoria `e consistente, ammette un modello. Se, inoltre, `e categorica il
modello `e unico (a meno di isomorfismi) e tutto ci`o che `e vero nel modello `e
anche dimostrabile.
Per la maggior parte dei logici degli anni ’20, raggruppati attorno al cosiddetto
“programma di Hilbert”, la non contradditoriet`a di una teoria era gi`a di per s´e
una condizione sufficiente a garantire l’esistenza “effettiva” degli enti di cui essa
tratta. Per usare le parole di Hilbert:
Se gli assiomi arbitrariamente scelti non contraddicono se stessi at-
traverso le loro conseguenze, allora essi sono veri, allora gli oggetti
definiti da quegli assiomi esistono. Questo, per me, `e il criterio di
verit`a e di esistenza.
Il programma di Hilbert consisteva essenzialmente nel dimostrare con metodi
finitistici la consistenza di sistemi logici sufficientemente espressivi da consenti-
re una trattazione adeguata della matematica. Tale programma era rivolto sia
159
a contrastare l’emergente pensiero intuizionista/costruttivista (propugnato da
L.E.J.Brower e H.Weyl), che a svincolare il delicato problema fondazionale della
logica da ogni ricorso alla semantica, ed in particolare a strutture infinite. La
consistenza della teoria (una nozione sintattica, dunque, e completamente inter-
na al sistema logico) `e condizione sufficiente a garantire l’esistenza degli enti di
cui tratta. Non importa che la logica contenga al suo interno dei principi (terzo
escluso, doppia negazione, etc.) di dubbia evidenza: la possibilit`a di dimostrare
in modo finitistico, cio`e mediante semplici argomenti combinatori o algoritmici
la consistenza della teoria `e anche condizione sufficiente a mostrare la natura
del tutto “effettiva” delle strutture in oggetto.
Per citare nuovamente Hilbert,
Invece dello sciocco “ignorabimus”, noi ci rifacciamo al nostro motto:
noi dobbiamo sapere, noi vogliamo sapere.
Affermazione che naturalmente sottindende, al punto da non meritare neppure
di essere menzionata, l’ovvia presunzione che noi possiamo sapere.
Nel 1930, G¨odel annunci`o due risultati, noti sotto il nome di Teoremi di
incompletezza, che distruggevano alle fondamenta l’ambizioso programma di
Hilbert.
In termini estremamente informali, essi affermano quanto segue:
Teorema 5.47 (Primo Teorema di Incompletezza) Sia T una qualunque
teoria assiomatizzabile e sufficientemente espressiva da contenere al suo interno
l’aritmetica. Allora esiste un sentenza
12
φ tale che, sotto opportune ipotesi di
consistenza di T , n`e φ n`e φ `e dimostrabile in T .
Teorema 5.48 (Secondo Teorema di Incompletezza) Sia T una qualun-
que teoria assiomatizzabile e sufficientemente espressiva da contenere al suo
interno l’aritmetica. Sia Cons
T
una sentenza che asserisce la consistenza di T .
Allora, se T `e consistente,
T ¬ Cons
T
Il secondo teorema asserisce dunque che la consistenza della teoria non `e di-
mostrabile all’interno della teoria stessa (n`e, in effetti, all’interno di nessun
altra Teoria che soddisfi le ipotesi del teorema), distruggendo completamente
il programma di Hilbert. Il primo teorema, inoltre, dimostra che ogni teoria
sufficientemente espressiva `e anche incompleta, creando un varco incolmabile
tra la nozione semantica di validit`a e quella sintattica di derivabilit`a (ovvero,
esistono formule vere in un qualche modello della teoria, ed in particolare in
quello “inteso”, e che non sono dimostrabili). Prima di dare alcuni cenni sul-
la dimostrazione dei Teoremi di incompletezza, discutiamo brevemente le loro
ipotesi. La richiesta che si tratti di una teoria “sufficientemente espressiva da
contenere l’aritmetica” `e un eufemismo per evitare di esplicitare le ipotesi effet-
tivamente richieste alla teoria che, come vedremo, sono essenzialmente ipotesi
di codificabilit`a (o meglio rappresentabilit`a): in un certo senso, la teoria deve
12
Ricordiamo che una sentenza `e una formula chiusa del linguaggio.
160
essere sufficientemente espressiva da “poter parlare di se stessa”. Ad esempio,
sia l’Aritmetica di Peano (PA) che la Teoria Assiomatica degli Insiemi (ZF)
soddisfano le ipotesi di G¨odel.
L’assunzione che la teoria sia “assiomatizzabile” significa invece che esiste un
numero finito di assiomi o di schemi di assiomi tali che T coincida con l’insie-
me delle conseguenze logiche di questi. Questa ipotesi `e essenziale, altrimenti
potremmo semplicemente considerare una certa struttura (ad esempio l’insieme
dei numeri naturali) e prendere come Teoria l’insieme di tutte le formule vere
su di questa (che per ovvie ragioni `e sia consistente che completa). Dal punto di
visto finitistico, l’ipotesi di assiomatizzabilit`a garantisce la natura effettiva del
procedimento logico inferenziale, e svincola la fondazione del discorso logico dal
ricorso ad una sottostante struttura semantica di dubbia evidenza.
Veniamo ora a considerare le idee principali per la dimostrazione dei suddetti
teoremi.
La sentenza φ utilizzata da G¨odel per la dimostrazione del suo primo Teo-
rema `e una formula che essenzialmente asserisce la propria indimostrabilit`a in
T . In altre parole
φ ≡ “io non sono dimostrabile in T

La formalizzazione di questa idea si basa sui presupposti che:
• la teoria T deve essere sufficientemente espressiva da poter “parlare di se
stessa”, ovvero da poter essere utilizzata, entro certi limiti, come metalin-
guaggio di se stessa.
• deve essere possibile il fenomeno dell’autoriferimento, che fa s`ı che una
formula asserisca qualche cosa di “se stessa” (per cui si user`a una tecnica
nota come diagonalizzazione).
Analizziamo separatamente i due aspetti.
Affinch`e T possa “parlare di se stessa” `e necessario codificare ampia parte
della meta-teoria di T all’interno di T stessa. L’idea `e quella di associare ad ogni
termine t e ad ogni formula φ del linguaggio un numero intero t e φ, detto
numero di G¨odel dell’oggetto in questione. Che questo sia possibile non dovreb-
be essere particolarmente sorprendente per un informatico
13
. Basta ricordare
che ogni tipo di dato di un linguaggio di programmazione (che sono sicuramente
abbastanza espressivi da permettere di rappresentare termini, proposizioni, etc.
) `e in ultima istanza rappresentato in memoria attraverso una qualche sequenza
di bit, e questa sequenza pu`o ovviamente essere letta come un intero.
Siccome T contiene l’aritmetica, per ogni numero intero n esiste necessa-
riamente un certo termine chiuso (numerale) n che lo rappresenta. Possiamo
a questo punto definire opportune relazioni nel linguaggio di T per esprimere
propriet`a sugli oggetti sintattici. Ad esempio, `e possibile definire una funzione
13
Anzi, a dire il vero, `e proprio da queste idee di G¨odel, che costituiscono le principali basi
teoriche per la manipolazione simbolica (e non solo numerica) dell’informazione, che nasce
l’Informatica.
161
Subs tale che per ogni formula φ(x) che contiene un’unica variabile libera x, ed
ogni intero m
T ¬ Subs(φ(x), m) = φ(m)
ovvero, Subs(φ(x), m) `e (dimostrabilmente) uguale al codice della formula
ottenuta da φ(x) rimpiazzando la variabile x con il numerale m.
In modo analogo possiamo definire una codifica D per ogni dimostrazione D,
e definire un predicato binario Prov(x, y) tale che
T ¬ Prov(m, n)
se esistono D e φ tali che m = D, n = φ, e D `e una dimostrazione di φ,
T ¬ Prov(m, n)
in caso contrario. Ecco apparire la metateoria all’interno della teoria stessa (na-
turalmente, la nostra introduzione `e estremamente informale: una trattazione
dettagliata della codifica della metateoria all’interno della teoria richiederebbe,
da sola, una ventina di pagine).
Poniamo ora
Teor(x) := ∃yProv(y, x)
Le relazioni tra T ¬ φ e T ¬ Teor(φ) sono riassunte dalle seguenti Condizioni
di Derivabilit`a, la cui dimostrazione `e omessa.
Proposizione 5.49
1. Se T ¬ φ allora T ¬ Teor(φ).
2. T ¬ Teor(φ) → Teor(Teor(φ))
3. T ¬ Teor(φ) ∧ Teor(φ → ψ) → (ψ)
Veniamo ora al problema della “sincretizzazione”. Il risultato `e del tutto
generale, e si basa su di una tecnica nota come diagonalizzazione.
Teorema 5.50 (Diagonalizzazione) Sia φ(x) una formula che contiene x
come unica variabile libera. Allora esiste una formula chiusa ψ tale che
T ¬ ψ ↔ φ(ψ).
Dimostrazione. Sia m = φ(Subs(x, x)), e prendiamo ψ = φ(Subs(m, m)).
Abbiamo allora:
ψ ↔ φ(Subs(m, m))
↔ φ(Subs(φ(Subs(x, x)), m)) per definizione di m
↔ φ(φ(Subs(m, m))) per definizione di Subs
↔ φ(ψ)

162
5.5.1 Primo Teorema di Incompletezza
Dobbiamo ancora introdurre la nozione di ω-consistenza, utilizzata da G¨odel
per enunciare il suo primo teorema. Negli enunciati che seguono supporremo
che T sia una teoria sufficientemente espressiva da contenere l’aritmetica.
Definizione 5.51 T `e ω-consistente se e solo se per ogni formula φ(x), il fatto
che T ¬ φ(n) per ogni intero n implica che T ¬ ∃xφ(x).
Proposizione 5.52 Se T `e ω-consistente allora T `e consistente.
Dimostrazione. T ¬ (n = n) per ogni numerale n. Quindi T ¬ ∃x(x = x) e
dunque T `e consistente perch´e esiste una formula che non `e dimostrabile in T .

Proposizione 5.53 Sia ^ l’insieme dei numeri naturali (cio`e il modello stan-
dard dell’aritmetica). Se ^ [= T , allora T `e ω-consistente.
Dimostrazione. Sia φ una generica fbf, e si supponga che, per ogni numerale
n, T ¬ φ(n). Per il Teorema di correttezza, per ogni numerale n, ^ [= φ(n).
Supponiamo per assurdo che T ¬ ∃x(φ(x)). Allora ^ [= ∃x(φ(x)), cio`e esi-
sterebbe un numerale n tale che ^ [= φ(n) che conduce ad una contraddizione.

Proposizione 5.54 Sia T ω-consistente. Se T ¬ Teor(φ) allora T ¬ φ.
Dimostrazione. Supponiamo che T ¬ φ. Dunque, per ogni n, T ¬ Prov(n, φ)
(altrimenti n sarebbe il codice di una dimostrazione di φ). Per ω-consistenza
si ha allora T ¬ ∃x(Prov(x, φ)) ovvero T ¬ ∃x(Prov(x, φ)), e dunque
T ¬ Teor(φ).
Teorema 5.55 (I Teorema di incompletezza di G¨odel) Data una teoria
T assiomatizzabile e sufficientemente espressiva da contenere l’aritmetica, `e
possibile definire una sentenza G tale che
1. se T `e consistente, T ¬ G;
2. se T `e ω-consistente, T ¬ G.
Dimostrazione. Consideriamo la formula Teor(x). Per il Teorema di diagona-
lizzazione esiste G tale che G ↔ Teor(G). Dunque:
(∗) T ¬ G ⇔ T ¬ Teor(G)
1. Se T ¬ G, allora per la Proposizione 5.49.1, T ¬ Teor(G), e dunque
per (∗) T ¬ G. Questo contraddirrebbe l’ipotesi di consistenza di T.
2. Se T ¬ G; allora per (∗) T ¬ Teor(G). Dalla Proposizione 5.54
abbiamo anche T ¬ G, dunque T sarebbe inconsistente (contraddicendo
l’ipotesi di ω-consistenza e a fortiori quella di consistenza).
163

Dunque, nessuna teoria logica assiomatizzabile e sufficientemente espressi-
va da ambire a rappresentare la matematica pu`o essere completa. In parti-
colare, la nozione di verit`a aritmetica differisce inevitabilmente dalla nozione
di dimostrabilit`a all’interno della teoria. Osserviamo in particolare che non `e
possibile ovviare al problema di G¨odel semplicemente aggiungendo G agli as-
siomi di T . Infatti, la teoria cos`ı ottenuta soddisfarrebbe ancora le ipotesi del
teorema, e dunque potremmo trovare una nuova formula G

che mostrerebbe
l’incompletezza della teoria estesa.
5.5.2 Secondo Teorema di Incompletezza
Tra le formule che testimoniamo l’incompletezza di T , esiste anche quella che
afferma la consistenza di T stessa. Il primo problema `e ovviamente quello di
formalizzare la nozione di consistenza. Ma questo `e semplice: basta affermare
che, presa una arbitraria formula contraddittoria (ad esempio ⊥), questa non `e
un teorema di T .
Definizione 5.56 Cons ≡ Teor(⊥)
Per dimostrare che T ¬ Cons, possiamo “formalizzare” il primo Teorema di
G¨odel. L’affermazione “se T `e consistente, T ¬ G” pu`o infatti essere codificata
come Cons → Teor(G). Ma per definizione G ≡ Teor(G) e dunque, il
nostro asserto `e: Cons → G. Se ora riusciamo a dimostrare questa formula in
T , cio`e mostrare che T ¬ Cons → G, otteniamo il risultato voluto: T ¬ Cons,
poich´e altrimenti, per modus ponens, si avrebbe anche T ¬ G, contraddicendo
il primo Teorema di incompletezza. In effetti, `e addirittura possibile dimostrare
che le due formule Cons e G sono dimostrabilmente equivalenti in T .
Teorema 5.57 (II Teorema di incompletezza) Se T `e consistente, T ¬
Cons.
Dimostrazione. Sia G la formula di G¨odel che asserisce la propria indimostra-
bilit` a. Ricordiamo che
(∗∗) T ¬ G ↔ Teor(G)
Dimostriamo che
T ¬ G ↔ Cons
La tesi segue allora dal primo teorema. Dimostriamo separatamente i due versi
dell’implicazione.
• T ¬ G → Cons.
⊥ → G `e una tautologia, dunque `e dimostrabile in T , e dunque T ¬
Teor(⊥ → G). Per semplici manipolazioni logiche, utilizzando le pro-
priet`a di Teor enunciate nella Proposizione 5.49, si ottiene
T ¬ Teor(⊥) → Teor(G)
164
e dunque, per contrapposizione,
T ¬ Teor(G) → Teor(⊥)
Per (∗∗), si ha infine
T ¬ G → Teor(⊥)
• T ¬ Cons → G.
Da (∗∗) si ottiene immediatamente che T ¬ G ↔ Teor(G). In
particolare T ¬ Teor(G) → G, dunque
T ¬ Teor(Teor(G) → G)
Per semplici manipolazioni logiche, utilizzando le propriet`a della Proposi-
zione 5.49, abbiamo anche
T ¬ Teor(Teor(G)) → Teor(G)
Poich`e inoltre, per ogni φ, T ¬ Teor(φ) → Teor(Teor(φ)), si
ottiene
T ¬ Teor(G) → Teor(G)
Sempre utilizzando le propriet`a di Teor `e facile ricavare che
T ¬ Teor(G) → Teor(G∧ G)
Ma G∧ G → ⊥ e internalizzando questa prova otteniamo
T ¬ Teor(G) → Teor(⊥)
Per contrapposizione
T ¬ Teor(⊥) → Teor(G)
L’asserto segue da (∗∗).

5.5.3 Teoremi di Tarski e Church
Abbiamo visto che se una teoria `e sufficientemente espressiva, la nozione di “di-
mostrabilit`a” `e, (debolmente) internalizzabile. In particolare, esiste una formula
Teor(x) tale che T ¬ φ ⇒ T ¬ Teor(φ), per ogni sentenza φ.
Che dire della nozione di verit`a? Quello che vorremmo `e un predicato V ero(x),
tale che, per ogni formula φ, V ero(φ) sia valido in un generico modello se e
solo se φ lo `e. Per completezza, questo equivale a richiedere che V ero(φ) sia
dimostrabilmente equivalente a φ all’interno della teoria.
Definizione 5.58 Una nozione di verit`a per una teoria T `e una formula V ero(x)
dove x `e la sola variabile libera, tale che, per ogni sentenza φ di T ,
T ¬ V ero(φ) ↔ φ
165
Teorema 5.59 (di Tarski) Se T `e consistente non ammette nozioni di verit`a.
Dimostrazione. Supponiamo per assurdo che esista una formula V ero(x), tale
che T ¬ V ero(φ) ↔ φ (e dunque T ¬ V ero(φ) ↔ φ).
Consideriamo la formula V ero(x). Per il Teorema di diagonalizzazione esiste
una sentenza ψ tale che T ¬ ψ ↔ V ero(ψ). Dunque avremmo T ¬ ψ ↔
V ero(ψ) ↔ ψ, che dimostra la contraddittoriet`a di T .
Si noti che l’idea della dimostrazione di Tarski `e esattamente quella del ce-
lebre paradosso del mentitore, in una delle sue tante possibili forme: “io sto
mentendo”, “questa frase `e falsa”, etc.
Osserviamo inoltre che nell’enunciato del Teorema di Tarski non si richiede
che T sia assiomatizzabile. Dunque, una volta fissato un certo linguaggio L,
possiamo definire T come l’insieme di tutte le formule di L vere di un determi-
nato modello, ed in particolare nel modello standard ^ dell’aritmetica. Come
conseguenza del Teorema di Tarski abbiamo che non esiste nessuna formula
V ero(x) in L tale che per ogni sentenza φ
^ [= φ ⇔ ^ [= V ero(φ)
Questo corollario viene abitualmente enunciato dicendo che la nozione di verit`a
aritmetica non `e aritmetica.
Un altro esempio interessante di nozione non internalizzabile `e quella di non-
dimostrabilit`a. In questo caso vorremmo avere una formula NonTeor(x) tale
che
T ¬ φ ⇒ T ¬ NonTeor(φ)
per ogni sentenza φ.
Supponiamo che tale sentenza esista. Applicando la solita tecnica di diagona-
lizzazione avremmo, per una certa sentenza ψ,
T ¬ ψ ⇒ T ¬ NonTeor(ψ) ⇔ T ¬ ψ
che `e una ovvia contraddizione.
In effetti, questa `e anche la strada per dimostrare il pi` u volte enunciato Teorema
di Curch, in quanto `e possibile dimostrare che ogni propriet`a semi-decidibile di
formule `e debolmente internalizzabile nel senso suesposto. Dunque, la non-
dimostrabilit`a non `e semi-decidibile, e per la discussione del paragrafo 5.4.1, la
dimostrabilit`a non `e decidibile.
5.6 Cenni storici e bibliografici
Il Teorema di completezza (per linguaggi numerabili) `e dovuto a G¨odel ([God30]).
La dimostrazione presentata in 5.1.1 `e quella di Henkin [Hen49], semplificata da
Hasenjaeger ([Has53]); questa pu`o essere facilmente estesa a linguaggi di qua-
lunque cardinalit`a. Altre dimostrazioni del Teorema di completezza sono state
realizzate, tra gli altri, da Rasiowa-Sikorski ([RS51]) e Beth ([Bet51]) facendo
166
uso, rispettivamente, di metodi algebrici (booleani) e topologici. Il Teorema di
compattezza per linguaggi numerabili `e una conseguenza diretta del teorema di
completezza. La sua estensione a linguaggi non numerabili `e dovuta a Malcev
[Mal36]. Esistono numerosi testi che si occupano di teoria dei modelli. I risul-
tati discussi nel paragrafo 5.4 si possono trovare nei libri di livello intermedio
[VDa80, ?, ?]. Libri avanzati sull’argomento sono il “classico” Chang e Keisler
[CK73], Bell e Machover [BM77] e Shoenfield [Sho67].
Per una panoramica sulla teoria dei cardinali si veda [Kun80]. Sui teoremi di
incompletezza di G¨odel si vedano [Smo77, Smu92].
Esercizi
5.1 Dimostrare in un sistema deduttivo che:
1. ¬ ∃xP(x) → ∃yP(y)
2. ¬ ∀xP(x) → ∃xP(x)
3. ¬ ∃xP(x) → ∀xP(x)
4. ¬ ∀xP(x) → ∃xP(x)
5. ¬ ∃xP(x) → ∀xP(x)
6. ¬ ∃xP(x) → ∀xP(x)
7. ¬ ∀xP(x)∃xP(x)
8. ¬ ∀x(P(x) ∨ Q) → ∀xP(x) ∨ Q se x ∈ FV (Q)
9. ¬ ∃x(P → Q(x)) → (P → ∃xQ(x)) se x ∈ FV (Q)
10. ¬ (P → ∃xQ(x)) → ∃x(P → Q(x)) se x ∈ FV (Q)
11. ∃xyP(x) → ∃yxP(x)
12. ∃yxP(x) → ∃xyP(x)
5.2 Definire l’interpretazione canonica per i seguenti insiemi di fbf:
1. Γ
1
= ¦∀xA(x), ∃xC(x), A(a)¦
2. Γ
2
= ¦∀xA(x), ∃xC(x), A(a), C(b), A(a) → B(x)¦
3. Γ
3
= ¦∀xA(x), ∃xC(x), A(a), C(b), A(a) → B(x), B(a)¦
Per quali di questi `e un modello?
5.3 Sia Γ = ¦∀xP(x), P(x
1
), P(x
2
), . . . ¦. Γ `e consistente?
`
E soddisfacibile?
5.4 Sia Γ un insieme consistente massimale e di Henkin. Provare che ∃xP(x) ∈
Γ se e solo se esiste un termine t tale che P[
t
/
x
] ∈ Γ.
167
5.5 Sia Φ un insieme di fbf. Dimostrare che Φ `e inconsistente:
1. se esiste P tale che P ∈ Φ e Φ, P `e inconsistente;
2. se esistono P, x e t tali che ∀xP ∈ Φ e Φ, P[
t
/
x
] `e inconsistente;
3. se esistono P, x ed y tali che ∀xP ∈ Φ, y non `e libera in Φ e Φ, P[
y
/
x
]
`e inconsistente.
5.6 Sia (/
Γ
, ξ

) l’interpretazione canonica definita in 5.5, provare che per
ogni termine t di Γ, [[t]]

ξ
= t. Ci`o risulta vero anche in un linguaggio del primo
ordine con uguaglianza? Motivare la risposta.
5.7 Sia T una teoria (cfr. Definizione 5.36) e T
ω
l’insieme definito in 5.10;
provare che T
ω
`e una teoria.
5.8 Siano ¦T
i
[ i ∈ I¦ un insieme di teorie totalmente ordinato per inclusione,
i.e. ∀i, j ∈ I T
i
⊆ T
j
oppure T
j
⊆ T
i
, e T =
¸
i∈I
T
i
; Provare che se T
i
`e
consistente ∀i ∈ I, allora T lo `e.
5.9 Sia Γ un insieme finito di fbf; dimostrare che se Γ ¬ P, allora Γ[
y
/
c
] ¬
P[
x
/
c
] dove x `e una variabile che non occorre in Γ o in P.
(Suggerimento: si utilizzi l’induzione sulla derivazione).
5.10 Provare che ogni insieme di fbf soddisfacibile `e consistente.
5.11 Siano T e T

due teorie definite rispettivamente sui linguaggi L e L

; si
dice che T

`e un’estensione conservativa di T se T ⊆ T

e T

¸
L = ∅, cio`e tutti
i teoremi di T

nel linguaggio L sono teoremi di T.
Sia T una teoria e T

la teoria ottenuta applicando la Definizione 5.8, provare
che T

`e conservativa su T.
5.12 Per ognuno dei seguenti sequenti esibire una prova oppure fornire un’in-
terpretazione che lo falsifica:
1. ∀xA(x) ¬ ∃xA(x)
2. ∀x(A(x) ∧ B(x)) ¬ ∀xA(x) ∧ ∀xB(x)
3. ∃xA(x) ¬ ∃xA(x)
4. ∀xyC(x, y) ¬ ∀yxC(x, y)
5. ∃x∀yC(x, y) ¬ ∀y∃xC(x, y)
6. ∀xy(C(x, y) → C(y, x)) ¬ ∀xC(x, x)
7. ∀x((∃yC(x, y)) → A(x)) ¬ ∀x∃y(C(x, y) → A(x))
8. ∀x((∀yC(x, y)) → A(x)) ¬ ∀x∃y(C(x, y) → A(x))
9. ∀x((∃yC(x, y)) → A(x)) ¬ ∀x∀y(C(x, y) → A(x))
168
10. ∀x((∀yC(x, y)) → A(x)) ¬ ∀x∀y(C(x, y) → A(x))
5.13 Mostrare che ¦A(a), A(b)¦ `e soddisfacibile in un’interpretazione (/, ξ
A
)
se e solo se D
A
contiene almeno due elementi.
5.14 Trovare un insieme di fbf soddisfacibile in un’interpretazione (/, ξ
A
) se
e solo se D
A
contiene almeno tre elementi.
5.15 Si consideri la formula ∀xA(x, x) ∧ ∀xyz[(A(x, y) ∧ A(y, z)) → A(x, z)]
∧∀xy[A(x, y) ∨ A(y, x)] → ∃y∀xA(y, x)
1. Mostrare che ogni interpretazione che ha un dominio finito `e un modello
per essa.
2. Trovare un’interpretazione che non ne `e un modello.
5.16 Siano P
n
e Q
n
, con n > 1, le seguenti fbf:
P
n
= ∃x
1
. . . x
n

i=j
x
i
= x
j
Q
n
= ∀x
1
. . . x
n
¸
i=j
x
i
= x
j
Provare che:
1. Mod(P
n
) = ¦(/, ξ
A
) [ [D
A
[ ≥ n¦
2. Mod(Q
n
) = ¦(/, ξ
A
) [ [D
A
[ ≤ n¦
3. Mod(P
n
∧ Q
n
) = ¦(/, ξ
A
) [ [D
A
[ = n¦
4. Mod(¦P
n
[ n > 1¦) = ¦(/, ξ
A
) [ [D
A
[ `e infinito ¦
5.17 Sia µ un cardinale infinito; provare che se [L[ = µ allora [Ter(L)[ = µ.
5.18 Dimostrare che:
1. ∆ ⊆ Γ ⇒ Mod(Γ) ⊆ Mod(∆)
2. /
1
⊆ /
2
⇒ Teo(/
2
) ⊆ Teo(/
1
)
3. Mod(∆∪ Γ) = Mod(Γ)
¸
Mod(∆)
4. Teo(/
1
∪ /
2
) = Teo(/
2
)
¸
Teo(/
1
)
5.19 Siano (/, ξ
A
) e (/

, ξ
A

) due interpretazioni isomorfe. Verificare che, per
ogni fbf P, / [= P se e solo se /

[= P.
5.20 Sia (/, ξ
A
) un’interpretazione e D un insieme avente la stessa cardina-
lit`a di D
A
; mostrare che `e possibile definire un’interpretazione avente D come
dominio ed isomorfa ad (/, ξ
A
).
5.21 Sia (/, ξ
A
) un’interpretazione, provare che Teo(/) `e completa.
Capitolo 6
Metodo di Risoluzione
Nel capitolo 5 `e stato provato che l’insieme delle formule valide della logica del
primo ordine coincide con quello delle formule dimostrabili in uno dei calcoli
discussi in precedenza: Deduzione Naturale, Sistemi Assiomatici e Calcolo dei
Sequenti. Si `e inoltre presentato un algoritmo in grado di trovare una prova nel
Calcolo dei Sequenti per ogni formula valida.
In questo capitolo discuteremo due metodi alternativi per provare la validit`a di
una formula del primo ordine, che risultano particolarmente semplici ed intui-
tivi: il Teorema di Herbrand ed il Metodo di Risoluzione. Il primo, di natura
semantica, ha una grande importanza storica, mentre il secondo, di natura sin-
tattica, costituisce la base della programmazione logica e del Prolog. Entrambi
procedono in modo indiretto (per refutazione), vale a dire che per provare la
validit`a di una formula dimostrano che la sua negazione `e insoddisfacibile. Tali
metodi, cos`ı come l’algoritmo mostrato in 5.3.2, consentono di stabilire se una
data formula `e valida ma non se non lo `e; ricordiamo che (paragrafo 5.4.1), ci`o
non dipende dai particolari metodi considerati, ma `e un limite intrinseco della
logica del primo ordine.
6.1 Teoria di Herbrand
Come gi`a accennato nell’introduzione, per dimostrare che una formula P `e va-
lida, `e sufficiente provare che P `e insoddisfacibile, vale a dire che P `e falsa
in ogni interpretazione. In logica proposizionale, essendo finito il numero di
possibili interpretazioni di una formula, la verifica di ci`o non costituisce un pro-
blema. Nella logica del primo ordine, invece, avendo a che fare con strutture che
ammettono insiemi arbitrari come possibili domini, per stabilire se una formula
`e insoddisfacibile, `e impossibile procedere considerando tutte le interpretazioni
su ogni possibile dominio. L’idea, discussa nella presente sezione, `e di cercare
un qualche dominio “canonico” tale che una qualunque formula risulta insod-
disfacibile se e solo se `e falsa in tutte le interpretazioni su questo dominio. Un
tale dominio esiste ed `e chiamato universo di Herbrand.
169
170
Nel seguito considereremo formule della logica del primo ordine chiuse ed in for-
ma di Skolem. Ricordiamo che ogni formula pu`o essere trasformata in un’altra
avente tali caratteristiche che risulta soddisfacibile se e solo se lo `e la formula
di partenza (Proposizione 4.41).
Definizione 6.1 L’ universo di Herbrand di un linguaggio L del primo ordine,
indicato con H(L), `e l’insieme dei termini contenente:
1. tutte le costanti che compaiono in L; se L non ha costanti, allora scelto
un simbolo di costante a, si pone a ∈ H(L);
2. tutti i termini costruiti applicando i simboli di funzione che occorrono
in L agli elementi di H(L).
Mostreremo nel seguito che questo `e il dominio “canonico” cercato.
Osservazione Se L contiene almeno un simbolo di funzione, allora H(L) `e
infinito.
Esempio 6.1 Sia L il linguaggio contenente i simboli di costanti a e c, un
simbolo di funzione unaria f, un simbolo di funzione binaria g ed i predicati A
binario e B ternario; l’universo di Herbrand per L `e
H(L) = ¦a, c, f(a), f(c), g(a, a), g(c, c), f(f(a)), f(g(a, c)), g(a, f(a)), . . . ¦
Definizione 6.2 Una formula che non contiene variabili viene detta formula
ground. Una sostituzione che elimina le variabili si dice sostituzione ground.
Una formula ottenuta mediante una sostituzione ground si dice istanza ground
della formula di partenza.
Definizione 6.3 Si definisce base di Herbrand di un linguaggio L del primo
ordine, e si indica con B(L), l’insieme di tutte le formule atomiche ground che
si possono costruire utilizzando i simboli di predicato che compaiono in L, aventi
come argomenti gli elementi dell’universo di Herbrand H(L).
Esempio 6.2 Sia L il linguaggio dell’esempio precedente, la base di Herbrand
per L `e B(L) = ¦(A(a, a), A(a, f(a)), A(g(a, a), c), B(a, a, a), . . . ¦.
Definizione 6.4 Sia L un linguaggio del primo ordine; H = (D
H
, I
H
)
1
`e un’
interpretazione di Herbrand per L se sono verificate le seguenti condizioni:
1. D
H
= H(L)
2. Ogni simbolo di costante c ∈ D
H
viene interpretato in se stesso, cio`e
c
H
= c
1
Poich´e si considerano solo formule chiuse, non `e necessario esplicitare la funzione ambiente
ξ
H
.
171
3. Per ogni simbolo di funzione f, di arit`a k, con k > 0, che occorre in
L, e per tutti i termini t
1
, . . . , t
k
∈ D
H
f
H
(t
1
, . . . , t
k
) = f(t
1
, . . . , t
k
)
Notiamo che non si impone alcuna restrizione sull’interpretazione dei simboli di
predicato. Pertanto, due diverse interpretazioni di Herbrand differiscono solo
per il modo in cui vengono interpretati i predicati.
Dunque se A `e un simbolo di predicato n-ario, I
H
gli associa un sottoinsieme
1(A) di atomi della base di Herbrand;
A
H
(t
1
, . . . , t
n
) =

1 se A(t
1
, . . . , t
n
) ∈ 1(A) ⊆ B(L)
0 altrimenti
Esempio 6.3 Sia L il linguaggio dell’Esempio 6.1, un’interpretazione di Her-
brand per L `e:
D
H
= H(L)
f
H
(a) = f(a)
f
H
(f(a)) = f(f(a))
g
H
(a, a) = g(a, a)
.
.
.
A
H
(t
1
, t
2
) = ¦(t
1
, t
2
) [ t
1
, t
2
∈ D
H
e t
1
= t
2
¦
B
H
(t
1
, t
2
, t
3
) = ¦(t
1
, t
2
, t
3
) [ t
1
, t
2
, t
3
∈ D
H
e t
1
= g(t
2
, t
3

Definizione 6.5 Data una fbf P, un modello di Herbrand per P `e un’interpre-
tazione di Herbrand che la soddisfa.
Osserviamo che i modelli di Herbrand, cos`ı come le interpretazioni canoniche
(cfr.5.5) sono costruiti a partire dalla sintassi delle formule stesse.
Esempio 6.4 Consideriamo l’interpretazione di Herbrand dell’esempio prece-
dente, questa non `e un modello per la formula ben formata P data da ∀xyB(x, y, g(x, y))
in quanto non `e vero che ∀ξ, v
(H,ξ
H
)
(P) = 1 , infatti, v
(H,ξ
H
[
a
/x,
a
/y])
(P) = 0
essendo a = g(a, g(a, a))). Mentre scegliendo
B
H
(t
1
, t
2
, t
3
) = ¦(t
1
, t
2
, t
3
) [ t
1
, t
2
, t
3
∈ D
H
e t
3
= g(t
1
, t
2
)¦ la nuova interpreta-
zione di Herbrand `e un modello per P.
Teorema 6.6 Sia P una formula ben formata chiusa ed in forma di Skolem;
P `e soddisfacibile se e solo se ha un modello di Herbrand.
Dimostrazione. Se P ha un modello di Herbrand allora `e soddisfacibile. Vice-
versa, supponiamo che P sia soddisfacibile. Sia (/, ξ
A
) un modello di P. Se il
linguaggio L sul quale `e definita P non contiene costanti, si prende un nuovo
simbolo di costante c e si pone
c
A
= m
172
dove m `e un arbitrario elemento di D
A
.
Definiamo quindi l’interpretazione di Herbrand (D
H
, I
H
) nel seguente modo
2
:
per ogni predicato n-ario A ∈ L,
A
H
(t
1
, . . . , t
n
) = ¦(t
1
, . . . , t
n
) [ t
1
, . . . , t
n
∈D
H
e
v
(A,ξ
A
)
([[t
1
]]
A
ξ
, . . . , [[t
n
]]
A
ξ
) = 1¦
H `e un modello per P. Infatti, proviamo che / [= P se e solo se H [= P. Per
induzione sulla struttura di P.
(caso base) Se P `e un atomo, allora, per definizione di H, v
(A,ξ
A
)
(P) = v
(H,ξ
H
)
(P)
e quindi / [= P se e solo se H [= P.
Veniamo al caso induttivo.
• Se P ha la forma P
1
, allora / [= P se e solo se, per il Lemma 4.28,
/ [= P
1
, ma, per ipotesi induttiva H [= P
1
e quindi H [= P.
• Se P ha la forma P
1
∧P
2
, allora / [= P se e solo se / [= P
1
e / [= P
2
;
ma, per ipotesi induttiva H [= P
1
e H [= P
2
e quindi H [= P.
• Se P ha la forma P
1
∨ P
2
o P
1
→ P
2
, la dimostrazione `e simile al caso
precedente.
• Se P ha la forma ∀xP
1
, allora / [= P se e solo se ∀a ∈ D
A
, e per
ogni ξ
A
, v
(A,ξ
A
[
a
/x])
(P
1
) = 1; in particolare, per tutti gli a ∈ D
A
nella
forma a = [[t]]
A
ξ
per un qualche t ∈ D
H
, risulta v
(A,ξ
A
[
[[t]]
A
ξ
/x])
(P
1
) = 1
e che `e uguale, per l’Esercizio 4.6, a v
(A,ξ
A
)
(P
1
[
t
/
x
]). Per ipotesi in-
duttiva, v
(H,ξ
H
)
(P
1
[
t
/
x
]) = 1 per ogni t ∈ D
H
. Di nuovo, risulta che
∀t ∈ D
H
, v
(H,ξ
H
[
t
/x])
(P
1
) = v
(H,ξ
H
)
(P
1
[
t
/
x
]) = 1 da cui v
(H,ξ
H
)
(∀xP
1
) =
v
(H,ξ
H
)
(P) = 1, cio`e H [= P.

Osserviamo che quando P ha la forma ∀xP
1
, non `e possibile applicare diretta-
mente l’ipotesi induttiva a P
1
in quanto non `e detto che questa sia chiusa (x
potrebbe occorrere libera in P
1
).
Abbiamo quindi trovato un particolare dominio, l’universo di Herbrand, tale
che una formula `e soddisfacibile se e solo se ha un modello costruito su di esso.
Dunque `e possibile restringere la ricerca dei potenziali modelli di una formula
soddisfacibile ai modelli di Herbrand.
Il teorema precedente pu`o essere facilmente generalizzato ad insiemi di fbf.
Infatti:
Corollario 6.7 Sia S un insieme di formule ben formate chiuse ed in forma di
Skolem; S `e soddisfacibile se e solo se ha un modello di Herbrand.
2
Ricordiamo che, per definizione di interpretazione di Herbrand `e necessario specificare
solo l’interpretazione dei simboli di predicato.
173
`
E possibile riformulare il Teorema 6.6 nel seguente modo:
Teorema 6.8 Sia P una formula ben formata chiusa ed in forma di Skolem;
P `e insoddisfacibile se e solo se non ha un modello di Herbrand.
Corollario 6.9 Sia S un insieme di formule ben formate chiuse ed in forma di
Skolem; S `e insoddisfacibile se e solo se non ha un modello di Herbrand.
Osservazione Se si considerano formule non in forma di Skolem, il Teo-
rema 6.6 non `e pi` u valido; in altri termini, se S `e un insieme di arbitrarie
formule chiuse, non `e possibile mostrarne l’insoddisfacibilit`a limitandosi a con-
siderare le interpretazioni di Herbrand. Infatti, preso ad esempio l’insieme
S = ¦R(c), ∃xR(x)¦, questo `e soddisfacibile ma non ha un modello di Her-
brand in quanto, consideriamo, per fissare le idee, il linguaggio L avente come
elementi la costante c ed il predicato unario R, allora B(L) = ¦R(c)¦; i possibili
sottoinsiemi di B(L) sono: ∅ (che soddisfa ∃xR(x) ma non R(c)) e ¦R(c)¦ (che
soddisfa R(c) ma non ∃xR(x)).
6.1.1 Teorema di Herbrand
In questa sezione presenteremo un importante teorema, al quale faremo rife-
rimento come “teorema di Herbrand”
3
, che deriva dai risultati dimostrati da
Herbrand in [Her30]. Questo `e alla base della maggior parte delle attuali pro-
cedure di dimostrazione automatica dei teoremi.
Abbiamo in precedenza stabilito che una formula chiusa ed in forma di Sko-
lem `e insoddisfacibile se e solo se `e falsa in tutte le interpretazioni costruite
sull’universo di Herbrand. Poich´e, per`o, in generale, esistono infinite interpre-
tazioni siffatte, per provare che una formula `e insoddisfacibile, non `e possibile
considerarle tutte; procediamo quindi nel seguente modo:
Definizione 6.10 Sia P = ∀x
1
x
2
, . . . x
n
P

una formula chiusa in forma di
Skolem. Definiamo espansione di Herbrand di P, indicata con c(P), l’insieme
delle formule ground ottenute sostituendo i termini dell’universo di Herbrand
per il linguaggio L, sul quale
`
definita P, alle variabili di P, in tutti i modi
possibili; formalmente:
c(P) = ¦P

[
t1,t2,...,tn
/
x1,x2,...,xn
] [ t
1
, t
2
, . . . , t
n
∈ H(L)¦
Esempio 6.5 Sia P la fbf ∀xy((A(a) ∨ A(f(x))) ∧ A(y)). Dunque, la base
di Herbrand `e H(L) = ¦a, f(a), f(f(a)), . . . ¦, e l’espansione di Herbrand di P,
vale a dire c(P), `e:
3
La prima pubblicazione del “teorema di Herbrand” in tale forma `e dovuta a Quine
([Qui55]); la sua formulazione originaria verr` a discussa a p.176.
174
x y (A(a) ∨ A(f(x))) ∧ A(y)
a a (A(a) ∨ A(f(a))) ∧ A(a)
a f(a) (A(a) ∨ A(f(a))) ∧ A(f(a))
f(a) a (A(a) ∨ A(f(f(a)))) ∧ A(a)
f(a) f(a) (A(a) ∨ A(f(f(a)))) ∧ A(f(a))
a f(f(a)) (A(a) ∨ A(f(a))) ∧ A(f(f(a)))
.
.
.
.
.
.
.
.
.
Le formule dell’espansione di Herbrand non avendo variabili, e di conseguenza
quantificatori, si possono considerare come formule della logica proposizionale.
Quindi per definire un’interpretazione di c(P), `e sufficiente assegnare un valore
di verit`a ad ogni formula atomica che vi compare.
Esempio 6.6 Nell’esempio precedente A(a), A(f(a)), A(f(f(a))), . . . sono le
formule atomiche in c(P).
Teorema 6.11 Per ogni formula chiusa P in forma di Skolem, P `e soddisfa-
cibile se e solo se c(P)
4
lo `e.
Dimostrazione. Per il Teorema 6.6 `e sufficiente provare che P ha un modello
di Herbrand se e solo se c(P) `e soddisfacibile. Supponiamo, per fissare le idee,
che P abbia la forma ∀x
1
x
2
. . . x
n
P

, allora H `e un modello per P se e solo se
∀t
1
t
2
. . . t
n
∈ D
H
v
(H,ξ
H
[
t
1
,...,tn
/x
1
,...,xn
])
(P

) = 1 se e solo se ∀t
1
t
2
. . . t
n
∈ D
H
v
(H,ξ
H
)
(P

[
t1,...,tn
/
x1,...,xn
]) = 1 se e solo se, per definizione di espansione di
Herbrand, per ogni formula Q ∈ c(P), v
(H,ξ
H
)
(Q) = 1 se e solo se H `e un
modello per c(P).
Tale teorema asserisce la possibilit`a di “approssimare” la soddisfacibilit`a di una
formula della logica del primo ordine con insiemi sempre pi` u grandi di formule
della logica proposizionale.
`
E evidente che in tempo finito non si `e in grado di
stabilire se una formula `e soddisfacibile. Ci`o non `e vero per l’insoddisfacibilit`a;
infatti:
Teorema 6.12 (di Herbrand)
Una formula P chiusa ed in forma di Skolem `e insoddisfacibile se e solo se esiste
un sottoinsieme finito di c(P)
5
che lo `e.
Dimostrazione. Segue dal Teorema di compattezza e dal Teorema 6.11.
Il teorema di Herbrand suggerisce una procedura di refutazione; infatti da esso
deriva la correttezza del seguente algoritmo che consente di semidecidere se una
formula della logica del primo ordine `e insoddisfacibile.
Notazione
Sia P una fbf chiusa ed in forma di Skolem. Fissata un’enumerazione per gli
4
Inteso come insieme di formule della logica proposizionale.
5
Inteso come insieme di formule della logica proposizionale
175
elementi di c(P), siano questi P
1
, P
2
, . . . , allora:
Algoritmo
1. n := 0
2. Ripeti:
(a) n := n + 1
Finch´e (P
1
∧ ∧ P
n
) `e insoddisfacibile
3. Output “P `e insoddisfacibile”
Per verificare che (P
1
∧ ∧ P
n
) `e insoddisfacibile, ricordando che gli elementi
dell’espansione di Herbrand sono a tutti gli effetti formule della logica proposi-
zionale, si pu`o utilizzare il metodo delle tabelle di verit`a.
Osserviamo che, se la formula in input `e insoddisfacibile, l’algoritmo termina
dopo un numero finito di passi, non termina altrimenti (ad ogni esecuzione di
2. viene generato un nuovo elemento di c(P) nel tentativo di trovare un sot-
toinsieme di questa che `e insoddisfacibile). Dunque tale algoritmo consente di
semidecidere l’insoddisfacibilit`a di una formula della logica del primo ordine nel
senso che risponde “insoddisfacibile” se la formula lo `e, non risponde (ripete
all’infinito il ciclo 2.), altrimenti.
Esempio 6.7 Sia P la fbf dell’Esempio 6.5, se consideriamo il sottoinsieme
finito di c(P) costituito dalle formule ((A(a) ∨ A(f(a))) ∧ A(a)) e ((A(a) ∨
A(f(a))) ∧ A(f(a))), questo `e insoddisfacibile. Infatti, la sua tabella di verit`a
`e la seguente:
A(a) A(f(a)) (A(a)∨A(f(a))∧A(a))∧((A(a)∨A(f(a)))∧A(f(a)))
0 0 0
0 1 0
1 0 0
1 1 0
E quindi, per il teorema di Herbrand, P `e insoddisfacibile.
La procedura di refutazione basata sul teorema di Herbrand risulta notevolmente
inefficiente in quanto per provare l’insoddisfacibilit`a di una formula, necessita
di generare un gran numero di elementi della sua espansione di Herbrand.
Per convincersi di ci`o, verificare, utilizzando l’algoritmo di p.175, che l’insieme
delle seguenti formule
A(x, e, x),
A(y, z, v) ∨ A(y, v, w) ∨ A(e, z, w),
A(a, f(u, v), e),
A(e, f(f(b, c), a), a)
176
`e insoddisfacibile.
Osservazione
`
E possibile riformulare i risultati presentati in questa sezione
in forma “duale”, cio`e semidecidere (in modo diretto) la validit`a di una formula
della logica del primo ordine anzich´e l’insoddisfacibilit`a (cfr. Esercizio 6.4).
Considerazioni sul teorema di Herbrand
Poich´e vi sono numerosi enunciati noti in letteratura come “teorema di Her-
brand”, si ritiene utile concludere la presente sezione illustrando brevemente
i principali risultati realmente contenuti nel lavoro di Herbrand. Egli ha in-
trodotto un sistema deduttivo per la logica del primo ordine, che chiameremo
T
H
, i cui assiomi sono tutte le tautologie prive di quantificatori, e le cui regole
di inferenza sono: introduzione dei quantificatori (esistenziale ed universale),
spostamento dei quantificatori all’interno della formula, ridenominazione delle
variabili legate e contrazione (P ∨ P viene rimpiazzata da P). Osserviamo che
il modus ponens non `e una regola di inferenza in tale sistema. Il teorema di
Herbrand, nella sua formulazione originaria, `e il seguente: Sia T un sistema alla
Hilbert per la logica del primo ordine (insieme di assiomi + modus ponens), ed
c(P) l’espansione di Herbrand
6
di P; allora:
1. Se ¬
F
H
P allora ¬
F
P.
2. Se ¬
F
P allora esiste un sottoinsieme di c(P) che `e valido
7
.
3. Se esiste un sottoinsieme di c(P) che `e valido allora ¬
F
H
P.
Di conseguenza, le seguenti affermazioni risultano equivalenti:
(a) ¬
F
H
P
(b) ¬
F
P
(c) Esiste un sottoinsieme di c(P) che `e valido.
Se ad 1-3 si aggiungono la correttezza e la completezza di T, segue che (d)
P `e valida.
`e equivalente alle affermazioni (a)-(c).
In letteratura, le varie versioni del teorema che asserisce l’equivalenza di (c) e
(d) vengono chiamate “teorema di Herbrand” o “teorema di G¨odel-Herbrand-
Skolem
8
”. Tuttavia rimarchiamo che la versione originaria di tale teorema `e un
risultato puramente sintattico. Osserviamo che il teorema di Herbrand impli-
ca che il modus ponens `e una regola derivata nel sistema T
H
; tale risultato `e
strettamente legato al teorema di eliminazione del taglio di Gentzen ([Gen34]).
6
Si veda l’osservazione precdente.
7
La dimostrazione di tale enunciato, realizzata da Herbrand, contiene un errore ([AAD63]),
successivamente corretto da Dreben e Denton ([DD66]).
8
In quanto i risultati dimostrati da G¨ odel semplificano notevolmente la dimostrazione ori-
ginaria di Herbrand, ed il riferimento a Skolem `e dovuto al ruolo di primaria importanza
assunto dalle funzioni di Skolem nell’eliminazione dei quantificatori nelle formule.
177
6.2 Metodo di Risoluzione
In questa sezione presenteremo un metodo alternativo di dimostrazione auto-
matica di teoremi introdotto da J. Robinson nel 1965 ([Rob65]): il metodo di
risoluzione. Questo risulta molto pi` u efficiente della procedura esaminata nella
sezione 6.1.1, ed `e alla base della programmazione logica e del Prolog
9
. Tale
metodo si basa su un sistema formale, privo di assiomi, che ha un’unica regola
di inferenza (la risoluzione) che si applica a formule in una particolare forma
detta forma a clausole. Esso utilizza una strategia di refutazione. La sua at-
trattiva principale `e la semplicit`a di impiego; infatti, avendo una sola regola,
l’unica scelta che si presenta `e quella relativa a quali formule applicarla. Tale
metodo verr`a prima presentato per formule della logica proposizionale, quindi
esteso a quelle della logica del primo ordine.
6.2.1 Risoluzione nella logica proposizionale
Come gi`a accennato in precedenza, il metodo di risoluzione `e basato su un
sistema formale, particolarmente semplice, che ha un’unica regola di inferenza:
la risoluzione, che si applica a formule in forma a clausole.
Definizione 6.13 Una clausola `e una disgiunzione finita di zero o pi` u letterali.
Una clausola che non contiene letterali `e detta clausola vuota e si indica con il
simbolo .
Ovviamente, una clausola `e soddisfatta se e solo se lo `e almeno uno dei suoi
letterali; poich´e la clausola vuota non contiene letterali che possono essere sod-
disfatti da una qualche interpretazione, questa risulta sempre falsa.
Notazione
Se l `e un letterale, indicheremo con l la sua negazione.
Osservazione Una clausola `e una tautologia se contiene un letterale l e la
sua negazione l.
`
E conveniente rappresentare le clausole come insiemi di letterali; in tal modo
le propriet`a commutativa, associativa e di idempotenza della disgiunzione sono
automaticamente “fornite” dalla notazione insiemistica.
Ad esempio
A∨ B ∨ C
A∨ (B ∨ C)
B ∨ C ∨ A
A∨ B ∨ A∨ C
hanno la stessa rappresentazione
¦A, B, C¦.
9
PROgramming in LOGic.
178
Ogni formula ben formata si pu`o rappresentare in forma a clausole. Infatti,
data una fbf, per il Teorema 1.33 `e possibile trasformarla in una forma normale
congiuntiva equivalente: tale forma sar`a, in generale, del tipo
C
1
∧ ∧ C
n
dove le lettere proposizionali C
i
rappresentano generiche clausole. Con conside-
razioni analoghe a quelle effettuate in precedenza si pu`o essere pi` u coincisi sul
significato della formula data e dire che essa consiste nell’insieme ¦C
1
, . . . , C
n
¦.
Osserviamo che la virgola che separa due letterali in una clausola, rappresentata
in notazione insiemistica, `e da intendersi come ∨, mentre quella che separa due
clausole corrisponde ad ∧.
Dunque ogni fbf `e equivalente ad un insieme di clausole.
Osservazione La clausola vuota () `e diversa dall’insieme vuoto di clausole
(∅). Ricordiamo, infatti, che una formula in forma normale congiuntiva `e vera
se e solo se tutte le sue clausole lo sono e dunque ∅, non avendo elementi falsi,
risulta sempre vero.
Vediamo ora la regola di inferenza, detta risoluzione, sulla quale si basa il
metodo omonimo.
Definizione 6.14 Siano C
1
, C
2
ed R clausole. Si dice che R `e una risolvente
di C
1
e C
2
se esiste un letterale l ∈ C
1
tale che l ∈ C
2
ed R ha la forma
(C
1
−¦l¦) ∪ (C
2
−¦l¦).
Graficamente possiamo denotare la situazione con il seguente diagramma:
C
R
C
1 2
Esempio 6.8 Esempi di applicazione della regola di risoluzione sono:
{ A } { A } {A, B} {B, C}
{A, C}
Osservazione La regola di risoluzione si pu`o vedere come una caso particolare
della regola di taglio. Infatti, consideriamo la regola di taglio:
(taglio) se Γ ¬ A e Γ, A ¬ ∆ allora Γ ¬ ∆
riscritta a livello di formule diventa:
Γ → A Γ ∧ A → ∆
Γ → ∆
179
che `e equivalente a: da Γ ∨ A e Γ ∨ A∨ ∆ si inferisce Γ ∨ ∆ che, nel caso
particolare in cui Γ e ∆ sono clausole ed A `e un letterale, `e un’applicazione della
regola di risoluzione.
Definizione 6.15 Sia S un insieme di clausole, una derivazione (o prova) per
risoluzione di S
1
da S `e una sequenza C
1
, . . . , C
m
di clausole tali che:
• C
m
= S
1
• C
i
, ∀i = 1, . . . , m `e una clausola in S oppure una risolvente di due
clausole C
j
, C
k
con j, k < i.
Notazione
Se esiste una derivazione per risoluzione di S
1
da S, scriveremo S ¬
R
S
1
.
Definizione 6.16 Una derivazione per risoluzione di da S si dice refutazione
di S.
Proviamo ora che la risoluzione `e una regola di inferenza che preserva l’equiva-
lenza.
Lemma 6.17 Siano C
1
e C
2
clausole, ed R una loro risolvente, allora R `e
conseguenza logica di C
1
e C
2
.
Dimostrazione. Sia v un’interpretazione che `e un modello per C
1
e C
2
. Proviamo
che v(R) = 1. Assumiamo, per fissare le idee, che R abbia la forma: R =
(C
1
−¦l¦) ∪ (C
2
−¦l¦) dove l ∈ C
1
mentre l ∈ C
2
. Vi sono due possibilit`a:
1. v(l) = 1. Allora da v(C
2
) = 1 e v(l) = 0 segue v(C
2
−¦l¦) = 1 e quindi
v(R) = 1.
2. v(l) = 0. Allora da v(C
1
) = 1 segue v(C
1
−¦l¦) = 1; dunque v(R) = 1.

Il metodo di risoluzione, dato un insieme di clausole S, tenta di costruire da
questo una derivazione per risoluzione della clausola vuota; se ci`o si verifica S
`e insoddisfacibile.
`
E possibile provare che il calcolo che utilizza la risoluzione `e corretto e com-
pleto rispetto all’insoddisfacibilit`a (ossia per refutazione), dove per correttezza
si intende che ogni formula che si dimostra insoddisfacibile, lo `e effettivamen-
te, mentre completezza significa che per ogni formula insoddisfacibile esiste una
prova di ci`o utilizzando la risoluzione. Infatti:
Teorema 6.18 (di Risoluzione)
Un insieme di clausole S `e insoddisfacibile se e solo se S ¬
R
.
Dimostrazione. Assumiamo, senza perdere di generalit`a, che S sia finito, in
quanto, in caso contrario, per il teorema di compattezza, potremmo comunque
operare su un suo sottoinsieme finito.
180
(Correttezza) Vogliamo provare che se esiste una prova di da S, allora S `e
insoddisfacibile. Infatti, supponiamo per assurdo che S sia soddisfacibile, al-
lora esiste un’interpretazione v che `e un modello per tutte le clausole in esso
contenute. Sia C
1
, . . . , C
k
la refutazione di S; dal lemma precedente segue che
v(C
i
) = 1 ∀i = 1, . . . , k, in particolare v() = 1 che `e assurdo. Dunque S `e
insoddisfacibile.
(Completezza) Supponiamo che S sia insoddisfacibile e proviamo che S ¬
R
.
Per induzione sul numero n di differenti proposizioni atomiche che compaiono
in S.
Caso base: se n = 0 allora dev’essere S = ¦¦ e quindi S ¬
R
. Assumia-
mo, per ipotesi induttiva che per ogni insieme di clausole S

insoddisfacibile,
contenente al pi` u i letterali distinti
10
l
1
, . . . , l
n
, S

¬ . Sia S un insieme di
clausole contenente i letterali l
1
, . . . , l
n
, l
n+1
. Supponiamo che nessuna clausola
in S contenga sia l
n+1
che l
n+1
(in caso contrario potremmo eliminarla senza
influire sull’insoddisfacibilit`a di S, si veda a tal proposito l’Esercizio 6.10). Da
S possiamo ottenere due nuovi insiemi di clausole S
ln+1
ed S
ln+1
nel seguente
modo: S
ln+1
risulta da S cancellando ogni occorrenza di l
n+1
nelle clausole e
togliendo le clausole che contengono l
n+1
(corrisponde a porre v(l
n+1
) = 0 in
un’interpretazione v), cio`e S
ln+1
= ¦C − ¦l
n+1
¦ [ C ∈ S ∧ l
n+1
∈ C¦; S
ln+1
si ottiene in modo analogo scambiando, per`o, i ruoli di l
n+1
ed l
n+1
. S
ln+1
ed
S
ln+1
sono insoddisfacibili. Infatti, supponiamo per assurdo che S
ln+1
sia soddi-
sfacibile, allora esiste un’interpretazione v che `e un modello per S
ln+1
; definiamo
un’interpretazione v

nel seguente modo
v

(B) =

v(B) se B ∈ ¦l
1
, . . . , l
n
¦
0 se B = l
n+1
v

(S) = 1 in quanto ogni clausola C ∈ S `e tale che o l
n+1
∈ C, ed in tal caso
v

(C) = 1, oppure l
n+1
∈ C, ma ancora v

(C) = 1 essendo S
ln+1
soddisfacibile;
ma `e assurdo avendo supposto che S `e insoddisfacibile. In modo analogo si
dimostra che S
ln+1
`e insoddisfacibile.
Applicando l’ipotesi induttiva risulta che S
ln+1
¬
R
e S
ln+1
¬
R
; ci`o significa
che in S
ln+1
esiste una sequenza di clausole C
1
, C
2
, . . . , C
m
tale che
• C
m
=
• ∀i = 1, . . . , m, C
i
∈ S
ln+1
oppure C
i
`e una risolvente di due clausole
C
j
, C
k
con j, k < i.
In S
ln+1
esiste una sequenza analoga C

1
, . . . , C

r
. Supponiamo che alcune delle
clausole C
i
∈ S
ln+1
siano state ottenute cancellando il letterale l
n+1
(in caso con-
trario l’asserto risulta gi`a verificato); ripristinando le clausole originarie, cio`e po-
nendo C
i
∪¦l
n+1
¦, e trasportando l
n+1
lungo i passi di risoluzione, da C
1
, . . . , C
m
otteniamo una nuova sequenza di clausole per S tale che S ¬
R
¦l
n+1
¦. In modo
analogo, ripristinando l
n+1
in C

1
, . . . , C

r
, si ottiene S ¬
R
l
n+1
. Da un ulteriore
passo di risoluzione `e possibile derivare la clausola vuota e dunque S ¬
R
.
10
In tale contesto, un generico letterale l
i
, non si considera distinto da l
i
.
181
Il calcolo che utilizza la risoluzione `e un calcolo per derivare la clausola vuota
da un insieme di fbf quando questo `e insoddisfacibile, ed `e completo rispetto a
tale problema. Esso non `e per`o utilizzabile per derivare le conseguenze logiche
di un insieme di fbf. Infatti il metodo di risoluzione `e corretto ma non completo
rispetto alla deduzione, cio`e se esiste una prova per risoluzione di P da S, per
il Lemma 6.17, S [= P, ma non `e vero il viceversa; un semplice controesempio `e
il seguente: A [= A∨ B ma non `e possibile applicare la regola di risoluzione ad
¦A¦ per ottenere ¦A, B¦. Tuttavia:
Proposizione 6.19 S [= P se e solo se S ∪ ¦P¦ ¬
R
.
Dimostrazione. Segue dal teorema di risoluzione e dal Lemma 1.13.
Dunque per verificare che S [= P si dimostra che S
c
∪ ¦(P)
c
¦ ¬
R
.
Osserviamo che in tal modo non si ottiene alcuna prova diretta del fatto che
P `e conseguenza logica di S; ci`o equivale ad effettuare una dimostrazione per
assurdo.
Esempio 6.9 Siano S = ¦(A → B) ∧ (A → B), A → B¦ e
P = ¦A∧B¦, vogliamo provare che S [= P. La trasformazione in clausole di S e
P produce: S
c
= ¦¦A, B¦, ¦A, B¦, ¦A, B¦¦ e (P)
c
= ¦¦A, B¦¦. Allora
S
c
∪ (P)
c
`e insoddisfacibile, infatti, ∃C
1
, . . . , C
7
tali che:
C
1
= ¦A, B¦ (clausola in S
c
)
C
2
= ¦A, B¦ (clausola in S
c
)
C
3
= ¦A¦ (risolvente di C
1
e C
2
)
C
4
= ¦A, B¦ (clausola in S
c
)
C
5
= ¦A, B¦ (clausola in (P)
c
)
C
6
= ¦A¦ (risolvente di C
4
e C
5
)
C
7
= (risolvente di C
3
e C
6
)
Graficamente:
{ A }
{A, B } {A, B } { A, B } { A, B }
{ A }
Esempio 6.10 Sia S = ¦¦A, B, C¦, ¦C, B¦, ¦A, B¦¦ proviamo che S [= A.
Infatti
182
{ A }
{ A, B, C }
{A, B } {A, B }
{ A }
{ C, B }
Il metodo di risoluzione, nella sua formulazione originaria, per provare che una
formula P `e valida, cio`e trovare una refutazione di (P)
c
, procede esaustivamen-
te generando i risolventi per tutte le coppie di clausole dell’insieme di partenza
(P)
c
; i risolventi sono quindi aggiunti all’insieme iniziale ed il procedimento
viene iterato fino a derivare, se `e possibile, la clausola vuota.
Definizione 6.20 Sia S un insieme di clausole, l’ insieme dei risolventi di S,
che si indica con Ris(S) `e definito nel seguente modo:
Ris(S) = S ∪ ¦C
i,j
[ C
i,j
`e la risolvente di C
i
, C
j
∈ S¦.
Definiamo inoltre
Ris
0
(S) = S
Ris
n+1
(S) = Ris(Ris
n
(S)) per n ≥ 0 e
Ris

(S) =
¸
n≥0
Ris
n
(S)
Osserviamo che, cfr. Esercizio 6.6, per ogni insieme di clausole S, ∃k ∈ ^ tale
che Ris
k
(S) = Ris

(S).
Il teorema di risoluzione si pu`o riformulare nel seguente modo:
Teorema 6.21 Un insieme di clausole S `e insoddisfacibile se e solo se ∈
Ris

(S).
Dimostrazione.
`
E lasciata al lettore come esercizio.
Dal teorema precedente deriva la correttezza del seguente algoritmo , che con-
sente di verificare se una formula P `e valida o meno.
1. Negare P.
2. Trasformare P in forma a clausole.
3. S := ¦(P)
c
¦
183
4. Ripetere:
(a) F := S
(b) S := Ris(S)
Finch´e ( ∈ S) o (S = F)
5. Se ∈ S allora output “P `e valida”, altrimenti “P non `e valida”.
Osserviamo che l’algoritmo sopra scritto termina sempre; vedremo che ci`o non
avviene nella logica del primo ordine.
Osservazione Nell’algoritmo di p.175, per verificare che (P
1
∧ ∧ P
n
) `e
insoddisfacibile, poich´e gli elementi di c(P) sono a tutti gli effetti formule della
logica proposizionale, `e possibile utilizzare, anzich´e il metodo delle tabelle di
verit`a, quello di risoluzione (previa trasformazione dei P
i
in forma a clausole).
Osservazione Il metodo di risoluzione `e in molti casi notevolmente pi` u “ef-
ficiente” di quello delle tabelle di verit`a (si veda a tal proposito il paragrafo
6.2.4). Tuttavia esistono insiemi di clausole insoddisfacibili tali che ogni deriva-
zione di necessita di un numero di passi esponenziale ([Urq87]); per questi, il
metodo di risoluzione si comporta come quello delle tabelle di verit`a. Essendo
UNSAT un problema co-^{, per tali insiemi, non sembrano esistere algoritmi
significativamente pi` u veloci.
6.2.2 Unificazione
Come gi`a accennato in precedenza, l’algoritmo di p.175 per provare l’insoddisfa-
cibilit`a di una formula, in molti casi, necessita di generare un numero proibitivo
di elementi della sua espansione di Herbrand.
Il metodo di risoluzione per formule della logica del primo ordine risulta note-
volmente pi` u efficiente. L’idea alla base di tale metodo `e di non effettuare prima
le sostituzioni ground e poi applicare la risoluzione alle formule proposizionali
ottenute, ma generalizzare quest’ultima alla logica del primo ordine facendo il
“minimo indispensabile” di sostituzioni. L’approccio generale al problema di
quali sostituzioni effettuare, conduce al concetto di unificazione.
L’unificazione viene universalmente impiegata nelle dimostrazioni automatiche
dei teoremi, sia nei sistemi che utilizzano la risoluzione che in quelli che non la
utilizzano (si veda a tal proposito l’algoritmo presentato nel paragrafo 5.3.2), ed
in molte altre aree dell’informatica come la programmazione logica ed i sistemi
di riscrittura.
Vediamo quindi il concetto di sostituzione, gi`a discusso in 4.2:
Definizione 6.22 Una sostituzione θ `e un insieme finito, eventualmente vuoto,
della forma ¦
t1
/
x1
, . . . ,
tn
/
xn
¦ dove
• ogni x
i
`e una variabile distinta, i.e. x
1
= x
j
per i = j
• ogni t
i
`e un termine diverso da x
i
184
Notazione
Indicheremo con la sostituzione vuota (vale a dire ¦ ¦).
Nel seguito considereremo sostituzioni applicate ad espressioni, che sono termini
o letterali.
Definizione 6.23 Sia σ = ¦
t1
/
x1
, . . . ,
tn
/
xn
¦ una sostituzione, ed E un’espres-
sione; Eσ `e l’ applicazione di σ ad E ottenuta rimpiazzando ogni occorrenza di
x
i
, in E, con t
i
, per i = 1, . . . , n.
Esempio 6.11 Siano σ = ¦
c
/
x
,
g(b)
/
y
,
a
/
z
¦ ed E = A(x, f(y), z), allora Eσ =
A(c, f(g(b)), a).
Definizione 6.24 Siano σ = ¦
v1
/
x1
, . . . ,
vn
/
xn
¦ e θ = ¦
u1
/
y1
, . . . ,
um
/
ym
¦ due
sostituzioni; la composizione di σ e θ, indicata con σ ◦ θ, si ottiene a partire
dall’insieme ¦
v1θ
/
x1
, . . . ,
vnθ
/
xn
,
u1
/
y1
, . . . ,
um
/
ym
¦ cancellando tutti gli elementi

uj
/
yj
per i quali y
j
∈ ¦x
1
, . . . , x
n
¦

v
k
θ
/
x
k
per i quali v
k
θ = x
k
Esempio 6.12 Siano σ = ¦
f(u)
/
x
,
b
/
y
,
y
/
z
¦ e θ = ¦
c
/
u
,
a
/
y
,
b
/
z
¦, allora σ ◦ θ =
¦
f(c)
/
x
,
b
/
y
,
a
/
z
¦.
Teorema 6.25 Per tutte le sostituzioni σ
1
, σ
2
, σ
3
ed ogni espressione E, valgo-
no le seguenti propriet`a:
1. σ
1
◦ = ◦ σ
1
= σ
1
2. (Eσ
1

2
= E(σ
1
◦ σ
2
)
3. (σ
1
◦ σ
2
) ◦ σ
3
= σ
1
◦ (σ
2
◦ σ
3
)
Dimostrazione.
1. Segue dalla definizione di .
2.
`
E sufficiente provare l’affermazione quando E `e una variabile x. Sia-
no σ
1
= ¦
u1
/
x1
, . . . ,
un
/
xn
¦ e σ
2
= ¦
v1
/
y1
, . . . ,
vm
/
ym
¦. Vi sono tre
possibilit`a:
• x ∈ ¦x
1
, . . . , x
n
¦ ∪ ¦y
1
, . . . , y
m
¦, allora (xσ
1

2
= x(σ
1
◦ σ
2
) = x.
• x = x
i
con i ∈ ¦1, . . . , n¦, allora (xσ
1

2
= u
i
σ
2
= x(σ
1
◦ σ
2
).
• x = y
j
con j ∈ ¦1, . . . , m¦, allora (xσ
1

2
= v
j
= x(σ
1
◦ σ
2
).
3.
`
E lasciata al lettore come esercizio.

185
La composizione di sostituzioni non `e commutativa.
Siamo interessati alle sostituzioni che unificano un insieme di espressioni, cio`e
che rendono ogni espressione dell’insieme sintatticamente identica.
Definizione 6.26 Una sostituzione σ si dice unificatore di un insieme E =
¦E
1
, . . . , E
n
¦ di espressioni se E
1
σ = E
2
σ = = E
n
σ; in tale situazione
l’insieme E viene detto unificabile.
Esempio 6.13 Sia E = ¦A(x, a), A(y, a)¦; E pu`o essere unificato dalla sosti-
tuzione θ = ¦
b
/
x
,
b
/
y
¦ in quanto A(x, a)θ = A(y, a)θ = A(b, a).
σ = ¦
y
/
x
¦ `e ancora un unificatore di E poich´e A(x, a)σ = A(y, a)σ = A(y, a).
Osserviamo che σ `e un unificatore “pi` u generale” di θ in quanto dopo la sua
applicazione `e possibile effettuare ulteriori sostituzioni; in particolare θ si pu`o
ottenere da σ componendo quest’ultima con la sostituzione ¦
b
/
y
¦.
Formalizziamo tale propriet`a con la seguente definizione:
Definizione 6.27 Un unificatore σ per un insieme ¦E
1
, . . . , E
n
¦ di espressioni
si dice unificatore pi` u generale o mgu (most general unifier) se e solo se per
ogni altro unificatore θ dello stesso insieme, esiste una sostituzione ρ tale che
θ = σ ◦ ρ.
`
E possibile provare che ([Lov78]) se esiste un unificatore pi` u generale di un
insieme di espressioni, allora questo `e unico a meno di ridenominazione delle
variabili.
Esempio 6.14 σ = ¦
y
/
x
¦ e σ

= ¦
x
/
y
¦, sono entrambi mgu per l’insieme E
del precedente esempio.
In [Rob65], Robinson ha presentato un algoritmo per calcolare un unificatore
pi` u generale, se esiste, di un insieme di espressioni.
L’idea intuitiva su cui si basa tale algoritmo `e la seguente: supponiamo di voler
unificare due espressioni. Immaginiamo di avere due puntatori, ognuno posizio-
nato sul simbolo pi` u a sinistra di ogni espressione; questi si spostano insieme
verso destra finch´e non raggiungono simboli differenti, quindi si tenta di unificare
le due sottoespressioni che iniziano con tali simboli effettuando una sostituzione.
Se il tentativo ha successo, il procedimento continua sulle espressioni ottenute
applicando tale sostituzione; altrimenti, le due espressioni non sono unificabili.
Se i puntatori raggiungono la fine delle due espressioni, la composizione di tutte
le sostituzioni effettuate `e un mgu per esse.
Definizione 6.28 Sia E un insieme finito di espressioni. L’ insieme di disac-
cordo (disagreement set) di E, indicato con D(E), `e definito nel seguente modo:
si localizzi la posizione pi` u a sinistra in cui non tutte le espressioni di E han-
no lo stesso simbolo e si estragga da ogni espressione di E la sottoespressione
che comincia in quella posizione. L’insieme di tali sottoespressioni costituisce
l’insieme di disaccordo.
186
Esempio 6.15 Sia E = ¦A(x, f(u)), A(g(y), f(h(z))¦, allora D(E) = ¦x, g(y)¦;
posta σ = ¦
g(y)
/
x
¦, allora D(Eσ) = ¦u, h(z)¦.
Osserviamo che un qualunque unificatore di E unifica D(E).
Notazione
Indichiamo con [Eσ[ il numero di espressioni differenti nell’insieme E al quale
applichiamo la sostituzione σ.
Algoritmo di unificazione
1. k := 0 e σ
k
:=
2. Se [Eσ
k
[ = 1 allora output “σ
k
” e STOP. Altrimenti, trovare l’insieme di
disaccordo D(Eσ
k
).
3. Se esistono x e t in D(Eσ
k
) tali che x `e una variabile che non occorre in t,
porre σ
k+1
= σ
k
◦ ¦
t
/
x
¦, incrementare k e tornare al passo 2. Altrimenti
output “E non `e unificabile” e STOP.
Osservazione L’algoritmo di unificazione appena presentato `e non deter-
ministico, nel senso che vi possono essere diverse scelte per x e t al passo 3.
Tuttavia, l’applicazione di due diversi mgu prodotti dall’algoritmo porta ad
espressioni che differiscono solo per i nomi delle variabili (Esercizio 6.12).
Osserviamo che `e possibile effettuare la sostituzione ¦
t
/
x
¦ se x non compare in t;
tale controllo, noto in letteratura come occur check, `e necessario per garantire la
terminazione dell’algoritmo; infatti, in assenza di tale condizione l’algoritmo di
unificazione, nel tentativo di unificare, ad esempio, le espressioni A(x) e A(f(x))
non terminerebbe.
Teorema 6.29 (Unificazione) Ogni insieme di espressioni unificabile ha un
unificatore pi` u generale.
Dimostrazione. La dimostrazione consiste nel provare che l’algoritmo di uni-
ficazione termina per tutti gli input e calcola l’unificatore pi` u generale di un
insieme di espressioni, se questo esiste.
Infatti, tale algoritmo termina sempre in quanto E contiene un numero finito
di variabili distinte, ed il numero di queste diminuisce di 1 ad ogni applicazione
del passo 3; quindi le iterazioni dell’algoritmo saranno al pi` u tante quante le
variabili distinte che occorrono in E.
Sia θ un altro unificatore per E. Proviamo anzitutto che per k ≥ 0, sia σ
k
la
sostituzione calcolata alla k-esima iterazione, esiste una sostituzione γ
k
tale che
θ = σ
k
◦ γ
k
. Per induzione su k.
Caso base: k = 0, allora posto γ
0
= θ, per il Teorema 6.25, l’asserto risulta
verificato. Supponiamo, per ipotesi induttiva che ∃ γ
k
tale che θ = σ
k
◦ γ
k
.
Se [Eσ
k
[ = 1, l’algoritmo termina al passo 2 e σ
k
`e l’unificatore pi` u generale.
Sia allora [Eσ
k
[ > 1, vogliamo provare che l’algoritmo genera una sostituzione
σ
k+1
ed esiste γ
k+1
tale che θ = σ
k+1
◦ γ
k+1
. Essendo [Eσ
k
[ > 1, l’algoritmo
187
determiner`a l’insieme di disaccordo D(Eσ
k
) di Eσ
k
ed andr`a al passo 3. Dal
fatto che θ = σ
k
◦ γ
k
e θ unifica E, segue che γ
k
unifica D(Eσ
k
).
Quindi D(Eσ
k
) dovr`a contenere una variabile x ed un termine t tale che x non
occorre in t. Allora l’algoritmo porr`a σ
k+1
= σ
k
◦ ¦
t
/
x
¦. Definiamo γ
k+1
=
γ
k
−¦

k
/
x
¦. Poich´e x non occorre in t, risulta tγ
k+1
= t(γ
k
−¦

k
/
x
¦) = tγ
k
.
Quindi
γ
k
= ¦

k
/
x
¦ ∪ ¦γ
k
−¦

k
/
x
¦¦
= ¦

k
/
x
¦ ∪ γ
k+1
= ¦

k+1
/
x
¦ ∪ γ
k+1
= ¦
t
/
x
¦ ◦ γ
k+1
Da cui
θ = σ
k
◦ γ
k
= σ
k
◦ ¦
t
/
x
¦ ◦ γ
k+1
= (per il Teorema 6.25) = σ
k+1
◦ γ
k+1
Dunque ∀k ≥ 0 esiste una sostituzione γ
k
tale che θ = σ
k
◦ γ
k
. Quindi se E
`e unificabile, supponiamo che l’algoritmo termini all’n-esima iterazione, allora
θ = σ
n
◦ γ
n
, quindi σ
n
`e un unificatore pi` u generale per E.
Nella tabella che segue vengono presentate sinteticamente le regole che sono alla
base dell’algoritmo di unificazione tra due espressioni.
Siano
C
1,2
costanti
X
1,2
variabili
S
1,2
applicazioni di funzioni o predicati
C
2
X
2
S
2
C
1
se C
1
= C
2
¦
C1
/
X2
¦ NO
X
1
¦
C2
/
X1
¦ ¦
X2
/
X1
¦ ¦
S2
/
X1
¦ previo o.c.
S
1
NO ¦
S1
/
X2
¦ previo o.c. ∗
nel caso ∗, S
1
ed S
2
possono essere unificati se:
• il primo simbolo di S
1
(nome della funzione o del predicato) ed il primo
simbolo di S
2
sono uguali,
• quindi si procede, utilizzando la tabella, ricorsivamente sugli argomenti.
Esempio 6.16
• t
1
= a e t
2
= f(x, y) non sono unificabili.
• t
1
= a e t
2
= b non sono unificabili.
• t
1
= f(x) e t
2
= f(g(x)) non sono unificabili.
• t
1
= f(h(x)) e t
2
= f(h(P(y))) sono unificabili da ¦
P(y)
/
x
¦.
188
Esempio 6.17 Sia
E = ¦A(f(y, g(v)), h(b)), A(f(h(w), g(a)), t), A(f(h(b), g(v)), t)¦
Applichiamo l’algoritmo di unificazione per trovare, se esiste, un unificatore pi` u
generale per E.
Passo 1 : [Eσ
0
[ > 1; D(Eσ
0
) = ¦y, h(w), h(b)¦; σ
1
= ¦
h(w)
/
y
¦ allora

1
= ¦A(f(h(w), g(v)), h(b)), A(f(h(w), g(a)), t), A(f(h(b), g(v)), t)¦.
Passo 2 : [Eσ
1
[ > 1; D(Eσ
1
) = ¦w, b¦; σ
2
= σ
1
◦ ¦
b
/
w
¦, allora

2
= ¦A(f(h(b), g(v)), h(b)), A(f(h(b), g(a)), t), A(f(h(b), g(v)), t)¦.
Passo 3 : [Eσ
2
[ > 1; D(Eσ
2
) = ¦v, a¦; σ
3
= σ
2
◦ ¦
a
/
v
¦, allora

3
= ¦A(f(h(b), g(a)), h(b)), A(f(h(b), g(a)), t), A(f(h(b), g(a)), t)¦.
Passo 4 : [Eσ
3
[ > 1; D(Eσ
3
) = ¦h(b), t¦; σ
4
= σ
3
◦ ¦
h(b)
/
t
¦, allora

4
= ¦A(f(h(b), g(a)), h(b)), A(f(h(b), g(a)), h(b)), A(f(h(b), g(a)), h(b))¦.
Passo 5 : [Eσ
4
[ = 1; σ
4
= ¦
h(w)
/
y
,
b
/
w
,
a
/
v
,
h(b)
/
t
¦ `e un unificatore
pi` u generale per E.
Osservazione L’algoritmo di unificazione descritto in precedenza `e inefficien-
te. In alcuni casi il suo tempo di esecuzione `e una funzione esponenziale della
lunghezza dell’input. Consideriamo infatti il seguente esempio:
E = ¦A(x
1
, . . . x
n
), A(f(x
0
, x
0
), . . . , f(x
n−1
, x
n−1
))¦
allora D(Eσ
0
) = ¦x
1
, f(x
0
, x
0
)¦; σ
1
= ¦
f(x0,x0)
/
x1
¦

1
= ¦A(f(x
0
, x
0
), x
2
, . . . , x
n
), A(f(x
0
, x
0
), f(f(x
0
, x
0
), f(x
0
, x
0
)), . . .
f(x
n−1
, x
n−1
))¦
D(Eσ
1
) = ¦f(f(x
0
, x
0
), f(x
0
, x
0
)), x
2
¦; σ
2
= ¦
f(f(x0,x0),f(x0,x0))
/
x2
¦
.
.
.
osserviamo che la seconda espressione in Eσ
n
ha 2
n−1
occorrenze di f, quindi l’e-
secuzione dell’occur check richiede tempo esponenziale. Algoritmi di unificazione
pi` u efficienti (quasi lineari) sono descritti in [PW78] e [MM82].
6.2.3 Risoluzione nella logica del primo ordine
Come nel caso proposizionale, il metodo di risoluzione consta di un’unica regola
di inferenza: la risoluzione, che si applica a formule in forma a clausole. Ricor-
diamo che una formula della logica del primo ordine pu`o essere trasformata in
un’altra chiusa e priva di quantificatori esistenziali che `e soddisfacibile se e solo
se lo `e la formula di partenza (Proposizione 4.41). La formula risultante sar`a,
in generale, del tipo
∀x
1
x
2
. . . x
n
P
`e possibile trasformarne la matrice in forma normale congiuntiva
∀x
1
x
2
. . . x
n
(C
1
∧ C
2
∧ ∧ C
m
)
189
dove le C
i
, per i = 1, . . . , m sono clausole ed x
j
per j = 1, . . . , n le sole variabili
che vi compaiono. Questa `e equivalente a:
∀x
1
x
2
. . . x
n
C
1
∧ ∧ ∀x
1
x
2
. . . x
n
C
m
`
E quindi possibile eliminare i quantificatori ottenendo C
1
∧ ∧ C
m
che, con
considerazioni analoghe a quelle effettuate nel paragrafo 6.2.1 si pu`o riscrivere
come ¦C
1
, . . . , C
m
¦.
Vediamo in che modo integrare la regola di risoluzione per la logica proposizio-
nale con l’unificazione, per ottenere la regola generale di risoluzione.
Definizione 6.30 Siano C
1
, C
2
ed R clausole. Si dice che R `e una risolvente
di C
1
e C
2
se sono verificate le seguenti condizioni:
1. esistono due sostituzioni s
1
ed s
2
che ridenominano opportunamente
le variabili in modo tale che C
1
s
1
e C
2
s
2
non abbiano variabili in comune;
2. esiste un insieme di letterali l
1
, . . . , l
m
∈ C
1
s
1
(con m ≥ 1) ed l

1
, . . . , l

n

C
2
s
2
(con n ≥ 1) tali che l’insieme L = ¦l
1
, . . . , l
m
, l

1
, . . . l

n
¦ `e unificabile.
Sia σ l’unificatore pi` u generale per L;
3. R ha la forma
((C
1
s
1
−¦l
1
, . . . , l
m
¦ ∪ (C
2
s
2
−¦l

1
, . . . , l

n
¦))σ
Graficamente possiamo denotare la situazione con il seguente diagramma:
C
R
C
1 2
Per migliorare la leggibilit`a, i letterali l
1
, . . . , l
m
, l

1
, . . . , l

n
, coinvolti nella gene-
razione della risolvente di due clausole, verranno sottolineati.
Esempio 6.18 Esempi di applicazione della regola di risoluzione sono:
u
}
/
z
/
= { g(x) , g(x) σ
S = { }
S = { /
x
}
2
1
u
{ A(x), C(x) } { A(z), B(y), A (g(x)) }
{ B(y), C(g(x)) }
u /
S = S = { }
1 2
σ = { f(z)
/ , x / y, / z ,
{ A(x), B(y), C(x,y), C(f(z), f(z)) }
{ A(f(a)), B(f(a)), D(f(a)) }
f(z) a f(a) }
{ D(u), C(f(a), f(a)), C(u,u)}
190
Osservazione
`
E opportuno sottolineare che, nella Definizione 6.30 di risol-
vente di due clausole:
1. la ridenominazione delle variabili `e necessaria; ad esempio, l’insieme
¦¦A(x)¦, ¦A(f(x))¦¦
`e insoddisfacibile ma, a causa delle restrizioni fatte sull’algoritmo di unifi-
cazione, le due clausole non possono essere risolte se non si cambia nome
alla variabile in una delle due;
2. non `e possibile assumere che m o n siano uguali a 1, in quanto, nella
logica del primo ordine accade di dover eliminare pi` u letterali alla volta;
tale operazione `e nota in letteratura con il nome di fattorizzazione. Infatti,
se consideriamo ad esempio l’insieme
S = ¦¦A(x), A(y)¦, ¦A(x), A(y)¦¦
questo `e chiaramente insoddisfacibile ma nessuna prova per risoluzione,
che elimina un solo letterale ad ogni applicazione della regola, pu`o produrre
da S la clausola vuota (il lettore lo verifichi per esercizio).
Osservazione La regola di risoluzione della logica proposizionale `e un caso
particolare di quella del primo ordine, infatti, la prima `e ottenibile ponendo
s
1
= s
2
= ed m = n = 1 nella Definizione 6.30.
In analogia con quanto `e stato fatto nel paragrafo 6.2.1, proviamo che il metodo
di risoluzione della logica del primo ordine, `e corretto e completo rispetto all’in-
soddisfacibilit`a; l’idea `e quella di ricondursi al caso proposizionale. Per fare ci`o
vediamo un lemma, noto in letteratura come lifting lemma che collega la regola
di risoluzione proposizionale e quella del primo ordine.
Lemma 6.31 Siano C
1
e C
2
clausole della logica del primo ordine e C

1
e C

2
due arbitrarie istanze ground di C
1
e C
2
risolvibili (mediante la regola di risolu-
zione della logica proposizionale). Sia R

la risolvente di C

1
e C

2
. Allora esiste
una clausola R che `e la risolvente di C
1
e C
2
(mediante la regola generale di
risoluzione) tale che R

`e un’istanza ground di R.
Graficamente possiamo denotare la situazione nel seguente modo:
Ipotesi Tesi
R R
C
1
C
2
C
1
C
2
C
1 C2
R
191
Dimostrazione. Siano s
1
ed s
2
due sostituzioni che ridenominano le variabili in
modo tale che C
1
s
1
e C
2
s
2
non abbiano variabili in comune. Essendo C

1
e C

2
istanze ground rispettivamente di C
1
e C
2
, lo sono anche di C
1
s
1
e C
2
s
2
. Siano
σ
1
e σ
2
le sostituzioni tali che C

1
= C
1
s
1
σ
1
e C

2
= C
2
s
2
σ
2
. Poich´e non vi sono
variabili rimpiazzate sia in σ
1
che in σ
2
, posta σ = σ
1
◦ σ
2
risulta C

1
= C
1
s
1
σ e
C

2
= C
2
s
2
σ. Per ipotesi, R

`e la risolvente di C

1
e C

2
, quindi deve esistere un
letterale l ∈ C

1
tale che l ∈ C

2
ed R

= (C

1
−¦l¦)∪(C

2
−¦l¦). Ma l ed l risultano
dall’applicazione di σ ad uno o pi` u letterali, rispettivamente, di C
1
s
1
e di C
2
s
2
;
dunque esistono l
1
, . . . , l
m
∈ C
1
s
1
(con m ≥ 1) ed l

1
, . . . , l

n
∈ C
2
s
2
(con n ≥ 1)
tali che l = l
1
σ = = l
m
σ e l = l

1
σ = = l

n
σ; quindi C
1
e C
2
sono risolvibili
essendo σ un unificatore per l’insieme di letterali L = ¦l
1
, . . . , l
m
, l

1
, . . . , l

n
¦.
Sia θ un mgu per L, allora R = ((C
1
s
1
−¦l
1
, . . . , l
m
¦) ∪ (C
2
s
2
−¦l

1
, . . . , l

n
¦))θ
`e una risolvente di C
1
e C
2
; essendo θ un mgu e σ un unificatore per L, esiste
una sostituzione s tale che θ ◦ s = σ. Allora:
R

= (C

1
−¦l¦) ∪ (C

2
−¦l¦)
= (C
1
s
1
σ −¦l¦) ∪ (C
2
s
2
σ −¦l¦)
= ((C
1
s
1
−¦l
1
, . . . , l
m
¦) ∪ (C
2
s
2
−¦l

1
, . . . , l

n
¦))σ
= ((C
1
s
1
−¦l
1
, . . . , l
m
¦) ∪ (C
2
s
2
−¦l

1
, . . . , l

n
¦))θ ◦ s
= Rs
Dunque R

`e un’istanza ground di R.
Come nel caso proposizionale, proviamo che la risoluzione `e una regola di
inferenza che preserva l’equivalenza.
Lemma 6.32 Siano C
1
e C
2
clausole della logica del primo ordine ed R una
loro risolvente; R `e conseguenza logica di C
1
e C
2
.
Dimostrazione. Sia (/, ξ
A
) un’interpretazione che `e un modello per C
1
e C
2
,cio`e
/ [= C
1
e / [= C
2
. Assumiamo, per fissare le idee che R abbia la forma
R = ((C
1
s
1
−¦l
1
, . . . , l
m
¦) ∪ (C
2
s
2
−¦l

1
, . . . , l

n
¦))θ
= (C
1
s
1
θ −¦l¦) ∪ (C
2
s
2
θ −¦l¦)
dove θ `e un unificatore pi` u generale dell’insieme ¦l
1
, . . . , l
m
, l

1
, . . . , l

n
¦ ed l =
l
1
θ = = l
m
θ = l

1
θ = = l

n
θ. Proviamo che / [= R. Vi sono due
possibilit`a:
1. v
(A,ξ
A
)
(l) = 1. Allora da v
(A,ξ
A
)
(C
2
s
2
θ) = 1 e da v
(A,ξ
A
)
(l) = 0 segue
v
(A,ξ
A
)
(C
2
s
2
θ −l) = 1 e quindi / [= R.
2. v
(A,ξ
A
)
(l) = 0. Allora da v
(A,ξ
A
)
(C
1
s
1
θ) = 1 segue v
(A,ξ
A
)
(C
1
s
1
θ −
l) = 1 e quindi / [= R.

Teorema 6.33 (di Risoluzione)
Un insieme di clausole S `e insoddisfacibile se e solo se S ¬
R
.
192
Dimostrazione. Assumiamo, senza perdere di generalit´a, che S sia finito, in
quanto, in caso contrario, per il teorema di compattezza potremmo comunque
operare su un suo sottoinsieme finito.
(Correttezza) La dimostrazione `e analoga al caso proposizionale.
(Completezza) Supponiamo che S sia insoddisfacibile, proviamo che esiste una
prova della clausola vuota da S. Per il teorema di Herbrand, esiste un insieme
S

di istanze ground delle clausole di S che `e insoddisfacibile; dal teorema di
risoluzione per formule della logica proposizionale segue l’esistenza di una se-
quenza di clausole C

1
, . . . , C

k
tali che C

k
= e C

i
`e un elemento di S

oppure
la risolvente di due clausole C

a
e C

b
con a, b < i, per i = 1, . . . , k. Per il Lemma
6.31, da C

1
, . . . , C

k
`e possibile trovare una sequenza di clausole C
1
, . . . , C
k
tali
che C
k
= e C
i
`e un elemento di S oppure la risolvente di due clausole C
a
e
C
b
con a, b < i, per i = 1, . . . , k, che dimostra l’asserto.
Come nel caso proposizionale, definiamo l’insieme dei risolventi di un insieme
di clausole:
Definizione 6.34
Ris(S) = S ∪ ¦C
i,j
[ C
i,j
`e la risolvente di C
i
, C
j
∈ S¦.
Ris
0
(S) = S
Ris
n+1
(S) = Ris(Ris
n
(S)) per n ≥ 0
Ris

(S) =
¸
n≥0
Ris
n
(S)
Il teorema di risoluzione si pu`o riformulare nel seguente modo:
Teorema 6.35 Un insieme di clausole S `e insoddisfacibile se e solo se ∈
Ris

(S).
Dal teorema precedente deriva la correttezza del seguente algoritmo che consente
di verificare se una formula P della logica del primo ordine `e valida.
1. Negare P
2. Trasformare P in forma a clausole
3. S := (P)
c
4. Ripetere:
S := Ris(S)
Finch´e ∈ S
5. Output “P `e insoddisfacibile.”
193
Osserviamo che, in accordo con quanto discusso nella sezione 5.4.1, tale algorit-
mo, se la formula di partenza `e soddisfacibile, pu`o non terminare. Infatti, nella
logica del primo ordine, non `e vero che per ogni insieme S di clausole, ∃k ∈ ^
tale che Ris
k
(S) = Ris

(S). Ad esempio, sia
S = ¦A(0), A(x) ∨ A(s(x))¦
i suoi risolventi avranno la forma A(s(0)), A(s(s(0))), A(s(s(s(0)))), . . .
11
; Ris

(S)
`e infinito.
Osservazione Nell’algoritmo precedente, al contrario di quanto avviene per
quello di p.182, non `e possibile invertire l’ordine delle istruzioni 1. e 2. Infat-
ti, ricordiamo che, nella logica dei predicati, la trasformazione di una formula
in forma a clausole non preserva l’equivalenza ma soltanto la soddisfacibilit`a
(Proposizione 4.41).
Esempio 6.19 Si considerino le seguenti affermazioni:
(a) Ogni barbiere rade tutti coloro che non si radono da soli.
(b) Nessun barbiere rade chi si rade da solo.
Dimostriamo, utilizzando il metodo di risoluzione che
(c) Non esistono barbieri
`e conseguenza logica di (a) e (b). Siano:
B(x) “x `e un barbiere” e
S(x, y) “x rade y ”
La forma a clausole delle precedenti affermazioni `e:
(a) ¦B(x), S(y, y), S(x, y)¦
(b) ¦B(x), S(y, y), S(x, y)¦
(c) ¦B(a)¦
Allora:
{ B(y) } { B(a) }
/ y }
a
{
{
y
/ x
}
{ B(x), S(y, y), S(x, y) } { B(x), S(y, y), S(x,y) }
6.2.4 Raffinamenti
Bench`e il metodo di risoluzione risulti notevolmente pi` u efficiente dell’algoritmo
suggerito dal teorema di Herbrand, pu`o comunque generare numerose clausole
irrilevanti e ridondanti. Infatti, consideriamo il seguente esempio:
11 `
E una rappresentazione dei numeri naturali.
194
Esempio 6.20 Sia S = ¦¦A, B¦, ¦A, B¦, ¦A, B¦, ¦A, B¦¦, vogliamo pro-
vare che S `e insoddisfacibile.
Ris
0
(S) :
(1) ¦A, B¦
(2) ¦A, B¦
(3) ¦A, B¦
(4) ¦A, B¦
Ris
1
(S) :
(5) ¦B¦ (risolvente di (1) e (2))
(6) ¦A¦ (risolvente di (1) e (3))
(7) ¦B, B¦ (risolvente di (1) e (4))
(8) ¦A, A¦ (risolvente di (1) e (4))
(9) ¦B, B¦ (risolvente di (2) e (3))
(10) ¦A, A¦ (risolvente di (2) e (3))
(11) ¦A¦ (risolvente di (2) e (4))
(12) ¦B¦ (risolvente di (3) e (4))
Ris
2
(S):
(13) ¦A, B¦ (risolvente di (1) e (7))
(14) ¦A, B¦ (risolvente di (1) e (8))
(15) ¦A, B¦ (risolvente di (1) e (9))
(16) ¦A, B¦ (risolvente di (1) e (10))
(17) ¦B¦ (risolvente di (1) e (11))
(18) ¦A¦ (risolvente di (1) e (12))
(19) ¦B¦ (risolvente di (2) e (6))
(20) ¦A, B¦ (risolvente di (2) e (7))
(21) ¦A, B¦ (risolvente di (2) e (8))
(22) ¦A, B¦ (risolvente di (2) e (9))
(23) ¦A, B¦ (risolvente di (2) e (10))
(24) ¦A¦ (risolvente di (2) e (12))
(25) ¦A¦ (risolvente di (3) e (5))
(26) ¦A, B¦ (risolvente di (3) e (7))
(27) ¦A, B¦ (risolvente di (3) e (8))
(28) ¦A, B¦ (risolvente di (3) e (9))
(29) ¦A, B¦ (risolvente di (3) e (10))
(30) ¦B¦ (risolvente di (3) e (11))
(31) ¦A¦ (risolvente di (4) e (5))
(32) ¦B¦ (risolvente di (4) e (6))
(33) ¦A, B¦ (risolvente di (4) e (7))
(34) ¦A, B¦ (risolvente di (4) e (8))
(35) ¦A, B¦ (risolvente di (4) e (9))
(36) ¦A, B¦ (risolvente di (4) e (10))
(37) ¦B¦ (risolvente di (5) e (7))
(38) ¦B¦ (risolvente di (5) e (9))
(39) (risolvente di (5) e (12))
195
Per ridurre il numero di risolventi generati ad ogni passo, `e possibile operare
delle semplificazioni ([DRW86]). Esempi di semplificazioni sono:
• eliminazione delle clausole che sono tautologie (si veda a tal proposito
l’Esercizio 6.10)
• eliminazione delle clausole gi`a generate
• eliminazione delle clausole che sono “comprese” in altre
12
;
ad Esempio
(5) ¦B¦
(13) ¦A, B¦
(5) comprende gi`a (13), ed in particolare se (5) `e soddisfacibile allora anche
(13) lo `e.
Tuttavia, pur effettuando tali semplificazioni, in molti casi, il numero di risolven-
ti generati pu`o essere comunque troppo grande. Per tale motivo, per migliorare
le prestazioni dei dimostratori automatici dei teoremi, si utilizzano delle strate-
gie che scelgono in modo opportuno le clausole da cui generare una risolvente.
Vi sono strategie complete, i.e. che garantiscono sempre la derivazione della
clausola vuota da un insieme insoddisfacibile di clausole, ed incomplete. Ovvia-
mente, quando si considerano dei raffinamenti al metodo di risoluzione, sarebbe
preferibile che questi fossero completi, tuttavia, poich´e l’efficienza assume un
ruolo di primaria importanza nelle dimostrazioni automatiche dei teoremi, sono
largamente utilizzate strategie efficienti ma incomplete, tali per`o da essere in
grado di dimostrare un’ampia “classe” di teoremi. Descriveremo brevemente
qui di seguito alcune di queste. Per approfondimenti si rimanda alla bibliografia
consigliata nel paragrafo 6.3.
Definizione 6.36 Una prova per risoluzione lineare di C da un insieme di
clausole S, `e una sequenza C
1
, . . . , C
n
tale che C
1
∈ S, C
n
= C e ∀i = 2, . . . , n
risulta
C B
C
i−1 i−1
i
dove la clausola B
i−1
, detta clausola laterale, appartiene ad S oppure B
i−1
= C
j
con j < i.
In altri termini, una prova per risoluzione lineare `e una derivazione per risolu-
zione, nella quale si utilizza sempre la risolvente ottenuta al passo precedente.
12
In generale, si dice che una clausola C
1
`e compresa in una clausola C
2
se esiste una
sostituzione θ tale che ogni letterale in C
2
θ compare in C
1
.
196
Esempio 6.21 Sia S = ¦A∨B, A∨B, A∨B, A∨B¦; la refutazione usuale
`e quella descritta nell’Esempio 6.9. Una refutazione per risoluzione lineare `e:
{A, B } {A, B }
{ A } { A, B }
{ B } { A, B }
{ A }
{ A }
Teorema 6.37 La risoluzione lineare `e completa (per refutazione), i.e. se un
insieme di clausole S `e insoddisfacibile, allora la clausola vuota `e derivabile per
risoluzione lineare.
Osserviamo che anche nella risoluzione lineare `e necessario “ricordare” tutte
le risolventi calcolate in precedenza; volendo implementare tale metodo, ci`o
risulta oneroso sia per quanto riguarda l’occupazione di memoria che per il
tempo necessario a scegliere le clausole da cui derivare una risolvente. Vediamo
quindi una strategia pi` u efficiente.
Definizione 6.38 Una prova per risoluzione di input di C da un insieme di
clausole S, `e una sequenza C
1
, . . . , C
n
tali che C
n
= C e ad ogni passo una
delle clausole risolventi `e un (istanza di
13
) elemento di S.
La risoluzione di input non `e completa (per refutazione). Ad esempio, l’insieme
S = ¦A ∨ B, A ∨ B, A ∨ B, A ∨ B¦ `e insoddisfacibile (Esempio 6.9), ma
non esiste una prova di per risoluzione di input da S.
Se si restringe l’insieme delle clausole alle quali applicare la risoluzione di input
a clausole in una forma particolare detta di Horn, la risoluzione di input risulta
completa (per refutazione).
Definizione 6.39 Una clausola di Horn `e una clausola che contiene al pi` u una
formula atomica positiva.
Esempio 6.22 A∨ B, A∨ B ∨ C ∨ D, A, B
sono clausole di Horn.
Terminologia
A
0
∨ A
1
∨ ∨ A
k
`e detta clausola di Horn definita, mentre A
0
∨ A
1

∨ A
k
`e detta clausola goal.
13
Se si considerano clausole della logica del primo ordine
197
Teorema 6.40 La risoluzione di input `e completa (per refutazione) per clausole
di Horn.
Definizione 6.41 Una prova per risoluzione SLD
14
`e una derivazione per riso-
luzione lineare di input tale che ogni risolvente laterale `e una clausola di Horn
definita mentre ogni altro risolvente `e una clausola goal.
Teorema 6.42 La risoluzione SLD `e completa per clausole di Horn.
Tale strategia `e utilizzata dal linguaggio di programmazione Prolog.
6.3 Cenni storici e bibliografici
Uno dei problemi principali della logica matematica `e stato da sempre quello
di cercare una procedura in grado di stabilire se una formula `e valida o meno
(Entscheidungsproblem
15
). Tale ricerca ha infatti avuto inizio diversi secoli fa.
Venne inizialmente tentata da Leibniz (1646-1716), successivamente fu ripre-
sa da Peano e, attorno agli anni venti, dalla scuola di Hilbert. Soltanto con
Church e Turing ([Chu36, Tur36]) fu possibile dimostrare la non esistenza di
tale procedura; questi, infatti, provarono, indipendentemente l’uno dall’altro,
che `e possibile soltanto semidecidere la validit`a di una formula, cio`e stabilire se
questa `e valida, ma non se non lo `e. Per una trattazione formale del problema
dell’indecidibilit`a della logica del primo ordine si vedano Kleene ([Kle67]), Bell
e Machover ([BM77]), Boolos e Jeffrey ([BJ74]), Rogers ([Rog71]) e Mendelson
([Men64]).
Un approccio molto importante alla dimostrazione automatica dei teoremi ven-
ne sviluppato da Herbrand nel 1930 [Her30].
L’idea sottostante l’algoritmo di p.175 `e presente in Skolem ([Sko28]). I primi
tentativi di implementarla sono stati effettuati in modo indipendente da Gilmore
([Gil59]), Prawitz, Prawitz e Voghera ([PPV60]) e Wang ([Wan60]). Procedu-
re pi` u efficienti sono state sviluppate da Dunham, Fridsal e Sward ([DFS59])
e da Davis e Putnam ([DP60]); queste non erano per`o sufficientemente veloci
da dimostrare in tempo ragionevole, utilizzando un calcolatore, tutte le for-
mule valide. Un notevole passo avanti in tale direzione `e stato ottenuto da
Robinson con il metodo di risoluzione ([Rob65, Rob68, Rob79]); alcuni miglio-
ramenti apportati a tale metodo, allo scopo di aumentarne l’efficienza, sono:
la risoluzione semantica, con blocco, lineare, con clausole unitarie, la theory
resolution e la strategia dell’insieme di supporto. Sull’argomento, si vedano
[CL73, Lov78, NS93, Duf92, Lol91]. Per un approccio formale alla program-
mazione logica si rimanda a [Sch89, Llo87], quest’ultimo fornisce, tra le altre
cose, un’ampia bibliografia sull’argomento. Tra i tanti testi di introduzione alla
programmazione logica si segnalano [Bra86, CLM90].
14
Risoluzione Lineare con funzione di Selezione per clausole Definite.
15
“Entscheidungsproblem must be termed the main problem of mathematical logic” (Hil-
bert e Ackermann 1928). “The central problem of the mathematical logic . . . is the
Entscheidungsproblem” (Bernays e Sch¨onfikel 1928).
198
Esercizi
6.1 Sia L il linguaggio del primo ordine contenente i simboli di funzione unari
f e g, il simbolo di funzione binario h ed i predicati binari A, B, C, e sia P la
fbf ∀x∀y∀z(A(f(y), g(y)) ∧ B(h(x, z), z)); determinare:
1. H(L)
2. B(L)
3. c(P)
4. Un modello di Herbrand per P.
6.2 Sia L un linguaggio del primo ordine avente i simboli di costanti a, b, c ed
il predicato unario A. Quante sono le possibili interpretazioni di Herbrand per
L?
6.3 Provare, utilizzando il teorema di Herbrand, che gli insiemi di formule:
1. ¦P(x), P(f(a))¦
2. ¦P(x) ∨ Q(f(x), x), P(g(b)), Q(y, z)¦
3. ¦P(a), P(x) ∨ Q(f(x)), Q(f(a))¦
sono insoddisfacibili.
6.4 Mostrare che se P `e una fbf chiusa, skolemizzata rispetto ai quantificatori
universali (Esercizio 4.13), allora il teorema di Herbrand si pu`o formulare nel
seguente modo:
Sia c(P) = ¦P
1
, P
2
, . . . ¦; P `e valida se e solo se esiste un sottoinsieme finito
dell’espansione di Herbrand P
1
∨ ∨ P
n
che lo `e.
6.5 Dimostrare che gli insiemi di fbf della logica del primo ordine:
1. che non contengono variabili (e quindi quantificatori)
2. che non contengono simboli di funzione ed il quantificatore esistenziale
3. che non contengono simboli di funzione ed il quantificatore universale
4. che non contengono simboli di funzione ed hanno un numero finito di
costanti
5. monadiche (si veda l’Esercizio 4.16)
sono decidibili.
199
6.6 Provare che per ogni insieme finito di clausole S della logica proposizionale,
esiste un k ∈ ^ tale che
Ris
k
(S) = Ris
k+1
(S) = = Ris

(S).
Se S contiene n clausole formate a partire dalle proposizioni atomiche A
1
, . . . , A
n
;
qual’`e il numero massimo di elementi in Ris

(S)?.
6.7 Mostrare che A ∧ B ∧ C `e una conseguenza logica dell’insieme di clausole
S = ¦¦B, C¦, ¦A, B¦, ¦A, C¦, ¦A, B, C¦¦.
6.8 Provare che un insieme di clausole S `e soddisfacibile se e solo se S
l
=
¦C −¦l¦ [ C ∈ S ∧ l ∈ C¦ oppure S
l
= ¦C −¦l¦ [ C ∈ S ∧ l ∈ C¦ lo `e.
6.9 Quali dei seguenti insiemi di clausole sono soddisfacibili?
1. ¦¦A, B¦, ¦A, B¦¦
2. ¦¦A, B¦, ¦A, B¦, ¦A, B¦¦
3. ¦¦A¦, ¦A, B¦, ¦B¦¦
4. ¦¦A, C¦, ¦B¦, ¦B¦, ¦
5. ¦¦A, B¦, ¦A, B¦, ¦A¦¦
Per gli insiemi di clausole soddisfacibili trovare un’interpretazione che `e un
modello.
6.10 Dimostrare che se si restringe l’applicazione della regola di risoluzione a
clausole che non sono tautologie, il metodo di risoluzione risulta ancora completo
(rispetto all’insoddisfacibilit`a).
6.11 Supponiamo di poter effettuare le seguenti reazioni chimiche:
• O ∧ H
2
→ H
2
O
• C ∧ O
2
→ CO
2
• CO
2
∧ H
2
O → H
2
CO
3
e di disporre di alcune quantit`a di O, H
2
, O
2
e C. Mostrare che `e possibile
ottenere H
2
CO
3
.
6.12 Siano σ
1
e σ
2
due sostituzioni tali che σ
1
= σ
2
◦ θ
1
e σ
2
= σ
1
◦ θ
2
.
Mostrare che esiste una sostituzione γ, il cui unico effetto `e di cambiare nome
alle variabili, tale che σ
1
= σ
2
◦ γ.
6.13 Applicare l’algoritmo di unificazione a ciascuno dei seguenti insiemi per
trovare un mgu o mostrare che non esiste:
1. ¦A(x, y), A(y, f(z))¦
200
2. ¦B(a, y, f(y)), B(z, z, u)¦
3. ¦A(x, g(x)), A(y, y)¦
4. ¦B(x, g(x), y), B(z, u, g(a)), B(a, g(a), v)¦
5. ¦A(g(x), y), A(y, y), A(y, f(u))¦
6.14 Trovare i risolventi delle seguenti clausole:
1. ¦A(x, y), A(y, z)¦, ¦A(u, f(u))¦
2. ¦B(x, x), C(x, f(x))¦, ¦C(x, y), D(y, z)¦
3. ¦A(x, y), A(x, x)), B(x, z, f(x))¦, ¦B(f(x), z, x), A(x, z)¦
6.15 Provare che per ogni insieme S di clausole, S ≡ Ris(S).
6.16 Provare, utilizzando la risoluzione, che da:
1. ∀x∀y∀z(P(x, y) ∧ P(y, z) → P(x, z))
2. ∀x∀y(P(x, y) → P(y, x))
Segue ∀x∀y∀z(P(x, y) ∧ P(z, y) → P(x, z))
6.17 Provare, utilizzando la risoluzione che da:
• Gli studenti sono cittadini.
Segue
I voti degli studenti sono voti di cittadini.
(Suggerimento: si denotino con A(x), B(x) e C(x, y) rispettivamente “x `e uno
studente”, “x `e un cittadino” e “x `e un voto di y ”).
6.18 Si considerino le seguenti affermazioni:
• I poliziotti hanno perquisito tutti coloro che sono scesi dall’aereo ad
eccezione dei membri dell’equipaggio.
• Alcuni ladri sono scesi dall’aereo e sono stati perquisiti solo da ladri.
• Nessun ladro era un membro dell’equipaggio.
Stabilire se l’affermazione:
Alcuni poliziotti erano ladri.
`e conseguenza logica delle prime tre.
Bibliografia
[AAD63] S.Aanderaa, P.Andrews, B.Dreben. “False Lemmas in Herbrand”.
Bull. Amer. Math. Soc., v. 69, pp. 699-706, 1963.
[AGM92] S.Abramsky, D.M.Gabbay, T.S.E.Maibaum eds. Handbook of Logic in
Computer Science, Oxford Science Publications, 1992.
[AAAM79] M.Aiello, A.Albano, G.Attardi, U.Montanari. Teoria della Com-
putabilit`a, Logica, Teoria dei Linguaggi Formali. ed. ETS, Pisa,
1979.
[AB75] A.R.Anderson, N.D.Belnap. The Logic of Relevance and Necessity. vol.
1, Princeton University Press, New Jersey, 1975.
[ABD92] A.R.Anderson, N.D.Belnap e J.M.Dunn. The Logic of Relevance and
Necessity. vol. 2, Princeton University Press, New Jersey. 1992.
[AL91] A.Asperti, G.Longo. Categories, Types, and Structures. Foundations of
Computing Series. M.I.T.Press, Cambridge, Massachusetts, 1991.
[Bar84] H.Barendregt. The Lambda Calculus: its syntax and semantics. North-
Holland, 1984 (Seconda edizione).
[Bar77] J.Barwise. Handbook of Mathematical Logic. North-Holland. 1977.
[BM77] J.Bell, M.Machover. A Course in Mathematical Logic. North-Holland,
1977.
[Ber26] P.Bernays. “Axiomatische Untersuchung des Aussagen-Kalk¨ uls”.
Mathematische Zeitschrift, v.25, pp. 305-320, 1926.
[Bet51] E.Beth. “A Topological Proof of the Theorem of L¨oweneim-Skolem-
G¨odel”. Indag. Math., v.13, pp. 436-444, 1951.
[Bib82] W.Bibel. Automated Theorem Proving. Vieweg, Braunschweig, 1982.
[Bir40] G.Birkhoff. Lattice Theory. American Mathematical Society, 1940.
(Seconda edizione del 1948).
[BJ74] G.Boolos, R.Jeffrey. Computability and Logic. Cambridge University
Press, 1974.
201
202
[Bra86] I.Bratko. Prolog Programming for Artificial Intelligence. Addison-
Wesley, 1986.
[CL73] C.L.Chang, R.C.T.Lee. Symbolic Logic and Mechanical Theorem
Proving, Academic Press, New York, 1973.
[CK73] C.C.Chang, H.J.Keisler. Model Theory. North-Holland, 1973.
[Chu36] A.Church. “A note on the Entscheidungs problem”. J. of Symbolic
Logic, v.1, pp. 40-41, 1936.
[Chu41] A.Church. “The Calculi of Lambda-conversion”. Annals of Ma-
thematical Studies, v.6, Princeton N.J., 1941. (Seconda edizione del
1951).
[Chu56] A.Church. Introduction to Mathematical Logic I. Princeton University
Press, 1956.
[CLM90] L.Console, E.Lamma, P.Mello. Programmazione Logica e Prolog. Utet,
Torino, 1990.
[Coo71] S.A.Cook. “The Complexity of Theorem Proving Procedures”. Proc.
third Annual ACM Symposium on the Theory of Computing, pp. 233-246,
1971.
[Cur63] H.B.Curry. Foundations of Mathematical Logic. McGraw-Hill Series in
Higher Mathematics, McGraw-Hill, 1963.
[CF58] H.B.Curry, R.Feys. Combinatory Logic. North-Holland, 1958.
[DP60] M.Davis, H.Putnam. “A computing Procedure for Quantification
Theory”. J. Ass. Comp. Mach., v.7, pp. 201-215, 1960.
[DeS93] ?? De Swart. Logic: Mathematics, Language, Computer Science and
Philosophy. vol.1, Peter Lang, 1993.
[DS93] K.Dosen, P.Schroeder-Heister. Substructural Logics, studies in Logic and
Computation. D.M.Gabbay ed. Clarendon Press, Oxford, 1993.
[DRW86] R.D.Dowsing, V.J.Rayward-Smith, C.D.Walter. A First Course in
Formal Logic and its Applications in Computer Science. Blackwell Scientific
Pubblications, 1986.
[DD66] B.Dreben, J.Denton. “A Supplement to Herbrand”. J. of Symbolic Logic
v.31, pp. 393-398, 1966.
[Duf92] P.Duffy. Principles of Automated Theorem Proving. John Wiley and
Sons, 1992.
[Dum77] M.A.E.Dummet. Elements of Intuitionism. Clarendon Press, Oxford,
1977.
203
[DFS59] B.Dunham, R.Fridsal, G.Sward. “A Non-heuristic Program for Proving
Elementary Logical Theorems”. Proceeding of the Intern. Conf. on Inform.
Process. pp. 282-285, 1959.
[Dun86] J.Dunn. “Relevance Logic and Entailment”. In [GG86], pp. 117-224,
1986.
[EFT94] H.D.Ebbinghaus, J.Flum, W.Thomas. Mathematical Logic. Springer-
Verlag, 1994. (Seconda edizione).
[Gab81] D.M.Gabbay. Semantical Investigation in Heyting’s Intuitionistic
Logic. Reidel Publishing Company, 1981.
[GG86] D.Gabbay, F.Guenter eds. Handbook of Philosophical Logic, vol.3,
Dordrecht: Reidel, 1986.
[GJ79] M.Garey, D.S.Johnson. Computers and Intractability; A guide to the
Theory of NP-completeness. W.H.Freeman. S.Francisco. 1979.
[Gal86] J.Gallier. Logic for Computer Science. Harper & Row, 1986.
[Gal91] J.Gallier. Constructive Logics. Part I: A tutorial on proof Systems and
Typed λ-Calculi. Technical Report of the Digital Equipment Corporation,
Paris Research Center, Maggio 1991.
[Gal91b] J.Gallier. Constructive Logics. Part II: Linear logic and Proof Nets.
Technical Report of the Digital Equipment Corporation, Paris Research
Center, Maggio 1991.
[Gen34] G.Gentzen. “Untersuchungen ¨ uber das logische Schliessen”, Mathe-
matische Zeitschrift, v.39, pp. 176-210, pp.405-431, 1934-35. Traduzione
inglese in [Gen69].
[Gen55] G.Gentzen. Recherches sur la D´eduction Logique. Traduzione francese
a cura di R.Feys e J.Ladri`ere di [Gen34]. Presses Universitaires, Paris, 1955.
[Gen69] The Collected Papers of Gerhard Gentzen. M.E.Szabo ed, North-
Holland, 1969.
[Gil59] P.C.Gilmore. “A Program for the Production from Axioms of Proofs
for Theorems Derivable within the First Order Predicate Calculus”.
Proceeding of the Intern. Conf. on Inform. Process. pp. 265-273, 1959.
[Gil60] P.C.Gilmore. “A Proof Method for Quantification Theory: its
Justification and Realization”. IBM J. Res. Develop., pp. 28-35, 1960.
[Gir72] J.Y.Girard. Interpretation Functionelle et Elimination des Coupure
dans l’Arithmetic d’Order Superieur. These de doctorat d’Etat, Paris, 1972.
[Gir86] J.Y.Girard. “The system F of Variable Types, fifteen years later”.
Theor. Comp. Science, v.45, pp. 159-192, 1986.
204
[Gir87] J.Y.Girard. “Linear Logic”. Theor. Comp. Science, v.50, pp. 1-102,
1987.
[Gir95] J.Y.Girard. “Linear Logic: its Syntax and Semantic”. In Advances in
Linear Logic. Cambridge University Press. 1995.
[GLT90] J.Y.Girard, Y.Lafont, P.Taylor. Proofs and Types. Cambridge Tracts
in Theoretical Computer Science 7. Cambridge University Press. 1990.
[God30] K.G¨odel. “Die Vollst¨andigkeit der Axiome Logischen Funktionen-
kal¨ ulus”. Monatshefte f¨ ur Mathematik und Physik, v.37, pp. 349-360,
1930.
[Has53] G.Hasenjaeger. “Eine Bemerkung zu Henkin’s Beweis f¨ ur die Vollst¨andi-
gkeit des Pr¨adikatenkalk¨ ulus der ersten stufe”. J. of Symbolic Logic, v.18,
pp. 42-48, 1953.
[Hen49] L.Henkin. “The Completeness of the First Order Functional Calculus”.
J. of Symbolic Logic, v. 14, pp. 158-166, 1949.
[Hen54] L.Henkin. “Boolean Representation Throught Propositional calculus”.
Fundamenta Mathematicae. v.41, pp. 89-96, 1954.
[Her30] J.Herbrand. “Recherches sur la th´eorie de la d´emonstration”. Travaux
de la Soci´et´e des Sciences et de Lettres de Varsovie, Classe III, Sciences
Math´ematiques et Physiques , v.33, Varsavia, 1930. Riscritto e tradotto in
[Her71].
[Her71] J.Herbrand. Logical Writings. ed. Warren D. Goldfarb. Harvard
University Press, 1971.
[HB34] D.Hilbert, P.Bernays. Grundlagen der Mathematik, Springer, Berlin,
vol.1, 1934, vol.2, 1939.
[How80] W.A.Howard. “The Formulae-as-types Notion of Construction”. In
To H.B.Curry: Essays on Combinatory Logic, Lambda Calculus and
Formalism, R.Hindley, J.Seldin eds. Academic Press. 1980.
[HS86] R.Hindley, J.Seldin. Introduction to Combinators and Lambda-Calculus,
London Mathematical Society, 1986.
[HU79] J.E.Hopcroft, J.D.Ullman. Introduction to Automata Theory, Langua-
ges, and Computation. Addison Wesley, 1979.
[Jon86] ??. Systematic Software Development Using VDM. Prentice-Hall,
Englewood Cliffs, New Jersey, 1986.
[Kal35] L.Kalmar. “
¨
Uber die Axiomatisierbarkeit des Aussagenkalk¨ uls”. Acta
Scientiarum Mathematicarum, v.7, pp. 222-243, 1935.
205
[Kar72] R.M.Karp. Reducibility Among Combinatorial Problems. Complexity of
Computer Computations, pp. 85-104, Plenum Press, N.Y., 1972
[KW84] J.Ketonen, R.Weyhrauch. “A Decidable Fragment of Predicate
Calculus”. Theor. Comp. Science, vol. 32, pp. 297-307, 1984.
[Kle67] S.C.Kleene. Mathematical Logic. John Wiley and Sons eds, Inc., New
York, 1967.
[KK67] G.Kreisel, J.L.Krivine. Elements of Mathematical Logic. North-Holland,
1967.
[Kun80] K.Kunen. Set Theory. An Introduction to Independence Proofs. North-
Holland, 1980.
[Kur65] A.G.Kurosh. Lectures in General Algebra. Pergamon Press, 1965.
[LS86] J.Lambek, P.J.Scott. Introduction to Higher-Order Categorical Logic.
Cambridge University Press, 1980.
[Lam58] J.Lambek. “The Mathematics of Sentence Structure”. The Amer.
Math. Montly, vol. 65, pp. 154-170, 1958.
[Lev79] A.Levy. Basic Set Theory. Springer-Verlag, 1979.
[Llo87] J.W.Lloyd. Foundations of Logic Programming. Springer-Verlag. (Se-
conda edizione), 1987. Traduzione italiana Fondamenti di Programmazione
Logica. Muzzio ed., Padova, 1986.
[Lol91] G.Lolli. Introduzione alla Logica Formale. Il Mulino, Bologna, 1991.
[Lov78] D.W. Loveland. Automated Theorem Proving: A Logical Basis. North-
Holland, 1978.
[Luk20] J. Lukasiewicz. “O Logice Tr´ojwarto´sciowej”. Ruch Filozoficzny, vol.5,
pp. 170-171, 1920. Traduzione inglese On Three-valued Logic. In Jan
Lukasiewicz Selected Works. pp. 87-88. North-Holland, 1970.
[Mal36] A.Malcev. “Untersuchungen aus dem Gebiete der Matematischen
Logik”. Rec. Math. N.S., v.1, pp. 323-336, 1936.
[Man78] Z.Manna. Teoria Matematica della Computazione. Boringhieri, Torino.
1978.
[MM82] A.Martelli, U.Montanari. “An Efficient Unification Algorithm”.
A.C.M. Trans. on Programming Languages and Systems, v.4, pp. 258-282,
1982.
[Men64] E.Mendelson. Introduction to Mathematical Logic. ed. D. Van Nostrand
Company. Princeton, New Yersey, 1964.
206
[Mun92] D.Mundici. “The Logic of Ulam’s Game with Lies”. In Knowledge, Be-
lief and Strategic Interaction. Bicchieri C., Dalla Chiara M.L., eds. Cam-
bridge University Press, Cambridge Studies in Probability, Induction and
Decision Theory, pp. 275-284, 1992.
[NS93] A.Nerode, R.A.Shore. Logic for Applications. Springer-Verlag, 1993.
[Odi89] P.Odifreddi. Classical Recursion Theory. North-Holland, 1989.
[OK85] H.Ono, Y.Komori. “Logics without the Contraction Rule”. J. of
Symbolic Logic. vol. 50. pp. 169-201, 1985.
[PW78] M.S.Paterson, M.N.Wegman. “Linear Unification”. J. Comput. System
Sci., v.16, pp. 158-167, 1978.
[Pau92] L.P.Paulson. Designing a Theorem Prover. In [AGM92], pp. ??, 1992.
[PeiCP] C.S.Peirce. Collected Papers of Charles Sanders Peirce. Vol.I-VIII,
C.Hartshorne, P.Weiss e A.Burks eds., Cambridge Mass., 1931-58.
[Pos21] E.L.Post. “Introduction to a General Theory of Elementary
Propositions”. Amer. Journal of Math, v.43, pp. 163-185, 1921.
[Pos41] E.L.Post. The Two Valued Iterative Systems of Mathematical Logic,
Princeton N.J., 1941.
[PPV60] D.Prawitz, H.Prawitz, N.Voghera. “A Mechanical Proof Procedure
and its Realization in an Electronic Computer”. J. Ass. Comp. Mach.,
v.7, pp. 102-128, 1960.
[Pra65] D.Prawitz. Natural Deduction. Almqvist & Wiksell, Stockolm, 1965.
[Qui55] W.V.Quine. “A Proof Procedure for Quantification Theory”. J. of
Symbolic Logic, v.20, pp. 141-149, 1955.
[RS51] H.Rasiowa, R.Sikorski. “A Proof of the Completeness Theorem of
G¨odel”. Fundam. Math., v.37, pp. 193-200, 1951.
[Rey74] J.C.Reynolds. “Towards Theory of Type Structure”. Paris Colloquium
on Programming, LNCS 19, Springer-Verlag, 1974.
[Rob65] J.A.Robinson. “A Machine-oriented Logic based on the Resolution
Principle”. J. of the ACM, v.12, pp. 23-41, 1965.
[Rob68] J.A.Robinson. “The Generalized Resolution Principle”. In Machine in-
telligence, vol.3, ed. D. Michie, American Elsevier, New York, pp. 77-94,
1968.
[Rob79] J.A.Robinson. Logic: Form and Function. Elsevier North-Holland, New
York, 1979.
207
[Rog67] H.Rogers. Theory of Recursive Functions and Effective Computability.
McGraw Hill, 1967.
[Rog71] H.Rogers. Mathematical Logic and Formalized Theories. North-
Holland, 1971.
[RT58] J.B.Rosser, A.R.Turquette. Many Valued Logics. North-Holland, 1958.
[Rus03] B.Russel. The Principles of Mathematics, Cambridge, England, 1903.
Traduzione italiana di L.Geymonat, Longanesi, Milano, 1950.
[RW10] B.Russel, A.N.Whitehead. Principia Mathematica, 3 vol., Cambridge,
England, 1910-1913. Seconda edizione del 1925-27.
[Sho67] J.R.Shoenfield. Mathematical Logic. Addison-Wesley, 1967.
[Sch89] U.Sch¨oning. Logic for Computer Scientists. Birkh¨auser, Boston, 1989.
[Sko28] T.Skolem. “
¨
Uber Die Mathematische Logik”. Norsk Matematisk
Tidskrift, v.10, pp. 125-142, 1928.
[Smo77] C.Smorynski. “The Incompleteness Theorems”. In [Bar77]. pp. 821-
867, 1977.
[Smu92] R.M.Smullyan. G¨odel Incompleteness Theorems. Oxford University
Press, 1992.
[Sur73] S.J.Surma. Studies in the History of Mathematical Logic. ed. Surma.
Polish academy of Sciences, Warsaw, 1973.
[Tak75] G.Takeuti. Proof Theory. Studies in Logic and the Foundations of
Mathematics, vol.81, North-Holland Publishing Company, 1975.
[Tro73] A.S.Troelstra. “Intuitionistic Formal System. In Metamathematical In-
vestigation of Intuitionistic Arithmetic and Analysis. A.S.Troelstra ed. PV.
pp. 1-96, 1973.
[Tro92] A.S.Troelstra. Lectures on Linear Logic. CSLI-Lecture Notes 29 Center
for the Study of Language and Information, Stanford, California, 1992.
[TS96] A.S.Troelstra, H.Schwichtenberg. Basic Proof Theory. Cambridge
University Press, 1996.
[Tur36] A.M.Turing. “On Computable Numbers with an Application to the
Entscheidungsproblem”. Proc. London Math. Soc., v.42, pp. 230-265, 1936-
1937.
[Tur84] R.Turner. Logics for Artificial Intelligence. Ellis Horwood, 1984.
[Urq86] A.Urquhart. Many-valued Logic. In [GG86], pp. 71-116, 1986.
208
[Urq87] A.Urquhart. “Hard Examples for Resolution”. J. of the Association of
Comp. Mach., v.34, pp. 209-219, 1987.
[VDa80] D.Van Dalen. Logic and Structure. Springer Verlag, Berlin, 1980.
[VDa86] D.Van Dalen. “Intuitionistic Logic”. In [GG86], pp. 225-339, 1986.
[VDD78] D.Van Dalen, H.C.Doets, H.C.M. De Swart Sets: Naive, Axiomatic
and Applied. Pergamon Press, Oxford, 1978.
[VNe27] J.Von Neumann. “Zur Hilbertschen Beweistheorie”. Mathematische
Zeitschrift, v.26, 1927.
[Wan60] H.Wang. “Towards Mechanical Mathematics”. IBM J. Res. Dev., v.4,
pp. 2-22, 1960.
Indice analitico
ambiente
aritmetica
modello standard dell’
modello non standard dell’
assegnamento
assioma
schema di
assiomatizzabile, teoria
atomo
B, assioma
BCK Logica
Bernays, sistema di
β-equivalenza
C, assioma
campo d’azione di un quantificatore
canonica, interpretazione
Cantor, teorema di
cardinalit`a
di un linguaggio
di un’ interpretazione
chiusura
universale
esistenziale
Church, teorema di
clausola
definita
di Horn
goal
laterale
vuota
Combinatoria, Logica
compattezza
teorema di (lp)
teorema di (lpo)
completezza
funzionale
teorema di (lp)
teorema di (lpo)
teorema di debole (lp)
teorema di finita (lp)
teorema di finita (lpo)
comprensione, assioma di
congiunzione
di formule
connettivo
conseguenza
semantica (lp)
semantica (lpo)
conservativa, estensione
consistente, insieme
massimale
contesto di una regola
contraddittoriet`a
lp
lpo
contrazione
Cook, teorema di
coppia, assioma della
correttezza
DN (lp)
DN (lpo)
CS (lp)
costituente
positivo
negativo
deduzione
teorema di (lp)
teorema di (lpo)
teorema di semantica (lp)
teorema di semantica (lpo)
Deduzione Naturale
per lp
per lpo
De Morgan, leggi di
209
210
diagonalizzazione, teorema di
disaccordo, insieme di
disgiunzione
di formule
dominio
doppia negazione, legge della
dualit`a,
funzione di
teorema di
eliminazione, regole di
enumerazione di formule
equivalenza
semantica (lp)
semantica (lpo)
estensionalit`a, assioma di
falsit`a
fattorizzazione, operazione di
forma normale congiuntiva (fnc)
forma normale disgiuntiva (fnd)
formula
aperta
atomica v.atomo
ausiliaria
ben formata (fbf)
lp
lpo
complessit`a di una
chiusa
ground
monadica
principale
generalizzazione, regola di
Gentzen
G¨odel
I teorema di incompletezza
II teorema di incompletezza
teorema di G¨odel-Herbrand-Skolem
ground
formula
istanza
sostituzione
Hauptsatz
Henkin, insieme di
Herbrand
base di
espansione di
interpretazione di
modello di
teorema di
universo di
Hilbert,
programma di
sistema di
I, assioma
implicazione
inclusione, assioma di
incompletezza, v. G¨odel
inconsistenza
indebolimento
indeterminata
induzione
principio di (lp)
principio di (lpo)
inferenza
infinito, assioma di
insiemi, teoria degli
insoddisfacibilit`a
lp
lpo
interpretazione
lp
lpo
canonica
Intuizionismo
isomorfe, interpretazioni
L
λ calcolo
λ-astrazione
Lambek, Calcolo di
letterale
lifting lemma
Lindembaum, teorema di
Lineare, Logica
Los-Vaught, teorema di
L¨owenieim-Skolem, teorema di
verso il basso
verso l’alto
L¨owenieim-Skolem e Tarski, teorema di
LJ
LK
Lukasiewicz, sistema di
matrice di una formula
211
mgu v. unificatore pi` u generale
Mod(Γ)
modelli, teoria dei
modello
in lp.
in lpo.
nonstandard dell’aritmetica
teorema del
modus ponens
Multivalore, Logica
negazione
^{-completezza
occur check
ω-consistente, teoria
ordine di una formula
PA v. aritmetica
parametri di una regola
Peano v. aritmetica
Peirce
regola di
legge di
permutazione
polarit`a di una formula
potenza, assioma di
predicato
prefisso di una formula
premessa di una regola
prenessa, forma normale
primo ordine
linguaggio del
logica del
quantificatore
esistenziale
universale
RAA v. reductio ad absurdum
reductio ad absurdum, regola di
refutazione
regolarit`a, assioma di
regole logiche
addittive
condizionali
elementari
di eliminazione
di introduzione
moltiplicative
strutturali
reversibilit`a
riducibilit`a polinomiale
Rilevanza, Logiche della
rimpiazzamento, assioma di
risoluzione
input
lineare
prova per
regola di (lp)
regola di (lpo)
SLD
teorema di (lp)
teorema di (lpo)
risolvente
lp
lpo
insieme dei
Russel
paradosso di
sistema di
S, assioma
scelta, assioma della
schema di assioma, v. assioma
secondo ordine, linguaggio
segnatura di un linguaggio
semantica
lp
lpo
semidecidibilit`a
separazione, assioma di
sequente
Sequenti, Calcolo dei
Calcolo dei (lp)
Calcolo dei (lpo)
formulazione I
formulazione II
Sistemi Assiomatici
per lp
per lpo Skolem
costanti di
forma di
forma di Skolem duale
funzioni di
paradosso di skolemizzazione
Sistemi Intuizionisti, v. Intuizionismo
livello di un
212
soddisfacibilit`a
lp
lpo
sostituzione
composizione di
ground
lemma di (lpo)
lp
lpo
simultanea (lp)
simultanea (lpo)
teorema di (lp)
sottoformula
lp
lpo
propriet`a della
strutturali, regole
succedente
struttura
tabella di verit`a
taglio
regola di
Tarski, teorema di
tautologia
tavola di verit`a
Teo(/)
teorema
teoria
completa
categorica
α-categorica
termini
modello dei
testimone
traslazione, lemma di
uguaglianza, logiche con
unificabile, insieme
unificatore
pi` u generale
unificazione
algoritmo di
teorema di
universo v. dominio
validit`a
lp
lpo
variabile
libera
legata
verit`a
funzione di
nozione di
valore di
vuoto, assioma dell’insieme
Zermelo-Fraenkel (ZF) teoria
ZF v. Zermelo-Fraenkel
Whitehead, sistema di

Indice
1 Logica proposizionale 1.1 Senso e denotazione . . . . . . . . . . . . . . 1.2 Connettivi . . . . . . . . . . . . . . . . . . . . 1.3 Sintassi . . . . . . . . . . . . . . . . . . . . . 1.3.1 Induzione . . . . . . . . . . . . . . . . 1.4 Semantica . . . . . . . . . . . . . . . . . . . . 1.4.1 Decidibilit` della logica proposizionale a 1.4.2 Teorema di compattezza . . . . . . . . 1.4.3 Nota sul connettivo di implicazione . 1.4.4 Equivalenza semantica . . . . . . . . . 1.4.5 Completezza funzionale . . . . . . . . 1.4.6 Forme Normali . . . . . . . . . . . . . 1.4.7 Dualit` . . . . . . . . . . . . . . . . . a 1.5 Cenni storici e bibliografici . . . . . . . . . . 2 Sistemi Deduttivi 2.1 Propriet` intuitive dei sistemi deduttivi a 2.2 La Deduzione Naturale . . . . . . . . . . 2.3 Sistemi Assiomatici . . . . . . . . . . . . 2.3.1 Formule e tipi . . . . . . . . . . 2.3.2 Altri Sistemi Assiomatici . . . . 2.4 Relazione tra ND e H . . . . . . . . . . 2.5 IL Calcolo dei Sequenti . . . . . . . . . 2.5.1 Eliminazione del taglio . . . . . 2.5.2 Sulle regole strutturali . . . . . 2.5.3 Invertibilit` delle regole logiche . a 2.6 Cenni storici e bibliografici . . . . . . . 3 Correttezza e Completezza 3.1 Deduzione Naturale . . . . 3.2 Sistema Assiomatico . . . . 3.3 Calcolo dei Sequenti . . . . 3.4 Cenni storici e bibliografici 1 1 4 5 7 8 13 16 17 19 21 24 26 28 35 36 40 44 47 51 52 53 60 62 65 69 73 74 79 84 87

. . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . . . . . . . . .

. . . .

. . . . v

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

vi 4 Logica dei predicati 4.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . 4.2 Sintassi . . . . . . . . . . . . . . . . . . . . . . . . 4.2.1 Sottoformule . . . . . . . . . . . . . . . . . 4.2.2 Induzione . . . . . . . . . . . . . . . . . . . 4.2.3 Variabili libere e legate . . . . . . . . . . . 4.2.4 Sostituzione . . . . . . . . . . . . . . . . . . 4.3 Semantica . . . . . . . . . . . . . . . . . . . . . . . 4.3.1 Soddisfacibilit`, validit` e modelli . . . . . a a 4.3.2 Propriet` della relazione di soddisfacibilit` a a 4.3.3 Equivalenza semantica . . . . . . . . . . . . 4.3.4 Forma Normale Prenessa . . . . . . . . . . 4.3.5 Forma di Skolem . . . . . . . . . . . . . . . 4.3.6 Esempi di linguaggi del primo ordine . . . . 5 Il Calcolo del Primo ordine 5.1 La Deduzione Naturale . . . . . . . . . . . . 5.1.1 Correttezza e Completezza . . . . 5.2 Sistemi Assiomatici . . . . . . . . . . . . . . 5.3 IL Calcolo dei Sequenti . . . . . . . . . . . 5.3.1 Invertibilit` . . . . . . . . . . . . . . a 5.3.2 Un algoritmo di ricerca automatica . 5.3.3 Completezza . . . . . . . . . . . . . 5.3.4 Discussione dell’algoritmo . . . . . . 5.4 Applicazioni del Teorema di completezza . . 5.4.1 Il problema della decisione . . . . . . 5.4.2 Compattezza . . . . . . . . . . . . 5.4.3 Modelli finiti ed infiniti . . . . . . 5.4.4 Categoricit` . . . . . . . . . . . . . a 5.4.5 Modelli non standard dell’aritmetica 5.5 I Teoremi di Incompletezza di G¨del . . . o 5.5.1 Primo Teorema di Incompletezza . . 5.5.2 Secondo Teorema di Incompletezza . 5.5.3 Teoremi di Tarski e Church . . . . . 5.6 Cenni storici e bibliografici . . . . . . . . .

INDICE 89 89 91 93 94 94 97 99 103 105 107 111 112 114 125 127 130 137 139 140 141 145 146 148 148 150 153 155 157 158 162 163 164 165 169 169 173 177 177 183 188 193 197

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . .

6 Metodo di Risoluzione 6.1 Teoria di Herbrand . . . . . . . . . . . . . . . . 6.1.1 Teorema di Herbrand . . . . . . . . . . 6.2 Metodo di Risoluzione . . . . . . . . . . . . . . 6.2.1 Risoluzione nella logica proposizionale . 6.2.2 Unificazione . . . . . . . . . . . . . . . . 6.2.3 Risoluzione nella logica del primo ordine 6.2.4 Raffinamenti . . . . . . . . . . . . . . . 6.3 Cenni storici e bibliografici . . . . . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

. . . . . . . .

vii

viii

Prefazione
La Razionalit` e le Macchine a
di Giuseppe Longo
L’Informatica ` nata dalla Logica, come Minerva dalla testa di Giove. La e genesi ` stata lunga ed ` avvenuta parallelamente alla nascita della nozione e e moderna, formale e “linguistica”, di rigore matematico. Forse si pu` iniziare a raccontare la vicenda di questo percorso verso la o Logica (Matematica) moderna, e le sue conseguenze, a partire dalla riflessione di Cartesio. Descartes non ama la logica aristotelica: la trova insufficiente al ragionamento e, soprattutto, alla deduzione matematica. Nelle “Regulae ad Regulationem ingenii”, un vero capolavoro di “rigore cartesiano”, conduce un’analisi molto profonda della deduzione, cuore della razionalit` umana. Essa va a ben al di l` delle poverissime regole di instanziazione, al centro della tradizioa ne aristotelica (gli uomini sono mortali, Socrate ` un uomo, dunque Socrate ` e e mortale): frantuma il ragionamento nei suoi elementi cruciali, lo dispiega nel suo procedere passo dopo passo da “verit` evidenti”, intuizioni dello spazio e a del mondo. Malgrado la netta distinzione fra anima e i meccanismi del corpo fisico (il dualismo di Descartes), nelle regole per l’ingegno che egli enuncia si intravedono i passi certi, scanditi meccanicamente, dei meravigliosi orologi dei suoi tempi o delle macchine a venire. Leibniz, con le sue intuizioni premonitrici (l’esperto pensi anche alle idee sul continuo, non-standard diremmo oggi), andr` oltre. Egli propone di trattare a il ragionamento (matematico) con una “Lingua Caracteristica”, un linguaggio formale, nella terminologia moderna. Con Leibniz cio`, insieme alla crescente e esigenza di rigore matematico, inizia ad emergere l’idea che le deduzioni della Matematica, ma forse di pi`, il ragionamento umano, possano essere trattati u come sistema di regole linguistiche esplicite, come “calcolo dei segni”. Hobbes arriver` a dire a con ragionamento intendo calcolo . . . ogni ragionamento si basa su queste due operazioni dello spirito, la somma e la sottrazione [Computation sive Logica in De Corpore, 1655]. Non ` stato tuttavia facile arrivare a concepire ed a realizzare formalmente tali e progetti, solo in nuce in Leibniz o in Hobbes: essi presuppongono il trasferimento dell’intera prassi matematica in un linguaggio formale. La Matematica infatti ix

x ` ricca di riferimenti allo spazio, colti dall’intuizione di Descartes; la geometria e domina l’interazione ricchissima fra Matematica e Fisica. Il movimento dei corpi ha luogo nello spazio di Newton: l’analisi infinitesimale, la nozione di continuit` a attingono la loro certezza nell’intuizione pura dello spazio euclideo, che ` assolue to e perfettamente certo, come confermano i filosofi. In effetti, problematiche e risultati eminentemente geometrici dominano le scuole francesi e tedesche. Fra fine ’700 ed inizi ’800, Monge, Lagrange, Laplace, Cauchy, Poncelet, ma anche Gauss, pensano la Matematica, in particolare l’Analisi Matematica, nello spazio; interpretano persino il Teorema fondamentale dell’Algebra ed i numeri complessi, sul piano cartesiano (l’interpretazione di Argand-Gauss). Sono gli algebristi inglesi dell’inizio dell’ottocento a precisare un’altra visione della Matematica, riprendendo, loro modo, le idee di Leibniz e di Hobbes. Woodhouse, in un celebre articolo del 1801, propone un netto distacco fra geometria ed algebra: quest’ultima si basa sulla manipolazione “meccanica” di simboli e deve trovare nella correttezza logica del ragionamento formale il suo fondamento, non gi` nel riferimento allo spazio. Dopo di lui, Peacok, Babbage, Boole, fra a il 1820 e il 1850, confermeranno quest’ottica: i calcoli algebrico-deduttivi hanno una loro autonomia, indipendente dal significato dei simboli manipolati. Ed ecco, il “Calculus of Deductive Reasoning” e le celeberrime “Laws of Thought” di Boole, ed infine, e soprattutto, la macchina analitico-deduttiva di Babbage. Vero calcolatore, ruote dentate che codificano elementi del calcolo differenziale, “ragionamento algebrico” mosso da macchine a vapore. Pi` o meno negli stessi anni, tuttavia, anche sul continente la fiducia nella u geometria viene messa a dura prova. Dopo le intuizioni di Gauss dei primissimi del secolo, fra il ’35 ed il ’50, Lobacevskij, Bolyai e Riemann dimostreranno che si pu` descrivere il mondo o che sono perlomeno compatibili con esso, geometrie o radicalmente diverse, in cui nessuna od infinite rette parallele passano per un punto del piano esterno ad una retta. Ma allora, dove va a finire la certezza dello sguardo sul foglio, dell’intuizione pura dello spazio assoluto? La matematica ha bisogno del linguaggio. Anzi solo nel linguaggio, spiegher` Frege, pu` trovare il a o suo fondamento. In alcuni libri di grande interesse, innazitutto nell’“Ideografia” (1879) e nei “Fondamenti dell’Aritmetica” (1884), Frege propone il paradigma moderno della Logica Matematica. Il calcolo ` deduzione, la deduzione ` calcoe e lo: un conto aritmetico ` una dimostrazione, una dimostrazione procede come e un conto. I calcoli sono deduzioni logiche proprio come ` logico-linguistico il e fondamento dell’Aritmetica: l’Aritmetica ` un sistema di segni che coincide con e le sue stesse prove. In effetti, l’ideografia di Frege, o calcolo formale dei segni, sviluppa una analisi concettuale rigorosissima delle variabili e della quantificazione (“Per ogni . . . Esiste . . . ”) e ne fa un linguaggio formalmente perfetto, proprio come il lettore lo trover` descritto nel testo che segue. Il balzo in avanti a rispetto alla logica Booleana, semplice calcolo proposizionale, ` enorme: Frege e formalizza l’uso matematico delle variabili e della loro quantificazione ed individua nel sistema logico, che ne regola l’impiego, l’origine ed il fondamento della stessa Aritmetica, ovvero della Teoria Formale dei Numeri. Ora, cosa vi ` di e pi` importante del numero e della sua teoria, in Matematica, nonch´ dell’uso u e delle variabili? L’analisi di Frege centra gli aspetti della deduzione matematica

xi che saranno al cuore dell’investigazione logica per tutto il XX secolo. Sar` Hilbert tuttavia a render pienamente matematica la proposta di Frea ge. Con lui nasce la Metamatematica, ovvero l’analisi matematica della stessa deduzione matematica, nasce la Teoria della Dimostrazione. Il linguaggio formale, l’ideografia di Frege, ` esteso ed arricchito fino a conglobare, grazie ad e opportuni assiomi formali, puramente linguistici, la geometria. E con ci`, il o linguaggio si distacca definitivamente da quest’ultima, perch` la certezza ` rage e giunta solo nella manipolazione di stringhe finite di simboli, indipendente dal significato assunto da tali simboli su eventuali strutture geometriche. Lo sguardo nello spazio, l’intuizione geometrica, che Poincar` cerca invano di difendere, e e le ambiguit` semantiche sono all’origine delle incertezze nella deduzione, di a quei mostri orrendi, i paradossi, che tanto avevano inquietato i matematici a cavallo fra i due secoli. Strumento chiave dell’ analisi di Hilbert ` la distinzione e fra il linguaggio in cui formalizzare la Matematica, oggetto di studio della Teoria della Dimostrazione, e la Metamatematica, descritta in un metalinguaggio e che include la Teoria della Dimostrazione stessa. Linguaggio oggetto e metalinguaggio dunque, da cui distinguere un terzo livello, quello del significato (la semantica come raccontata nel testo che segue): una semantica eventualmente geometrica. Ma ora, dopo Leibniz, Boole, Frege (e Peano, non bisogna dimenticare), il linguaggio oggetto ` finalmente abbastanza ricco da poter rappresentare e la matematica, con le variabili, la quantificazione ed ogni altro costrutto linguistico di base; ora, si pu` precisare che cosa si intende per completezza di questa o rappresentazione, per decidibilit` (potenziale) di ogni asserto della Aritmetica a e dell’Analisi. Bisogna solo rendere rigorosa l’intuizione di Boole e di Frege e definire formalmente che cosa sia un calcolo logico-deduttivo, di come esso si correli ai calcoli aritmetici. Proprio a Parigi, nel 1900, regno di Poincar`, Hilbert e fa la lista dei problemi aperti e delle congetture in Matematica ed in Logica, che forgeranno, fra l’altro, la Logica Matematica di questo secolo: fra queste, la completezza, la decidibilit`, la dimostrabilit` della coerenza (non contraddittoa a riet`) dell’Aritmetica e dell’Analisi. Puri calcoli di segni finitari devono poter a dare la certezza fondazionale, grazie alla coerenza, asserire la completezza dei sistemi formali e la decidibilit` di ogni asserto ben formato della Matematica (o a del suo nucleo logico: l’Aritmetica). Gli anni trenta danno la risposta. In primo luogo il Teorema di completezza, nel senso che il lettore trover` pi` oltre. Quindi l’osservazione che ogni deduzioa u ne matematica, nei termini hilbertiani, ` una specifica funzione aritmetica, dai e ` numeri nei numeri. E una “funzione calcolabile”, spiegheranno G¨del, Churo ch, Kleene, Turing ed altri con i loro formalismi. Turing, ispirato forse dalla distinzione fra metateorie e teorie e fra teoria e semantica, distinguer`, in una a macchina formale, pura astrazione matematica, fra . . . hardware e software. E, sorpresa straordinaria, tutti otterranno, con tecniche e strumenti matematici diversi, esattamente la stessa classe di funzioni; ovvero, i diversi formalismi, di Herbrand, G¨del, Church, Kleene, le Macchine di Turing definiscono tutti la o stessa classe di funzioni. Abbiamo un assoluto, dir` G¨del nel ’36: la classe a o delle deduzioni effettive, tutte equivalentemente rappresentate nei numerosi e diversi calcoli logici proposti in quegli anni. Nasce la Teoria della Calcolabilit`, a

d` alla loro elaborazione la certezza della manipolazione a algebrica: passo dopo passo. in quanto elaborazioni su stringhe finite di segni. . rispetto alle macchine di Babbage. e delle funzioni effettivamente eseguibili in modo meccanico. sar` all’origine del salto qualitativo rapprea sentato dai calcolatori moderni rispetto alle macchine del secolo precedente. sapeva usare schede perforate di cartone e queste permettevano di arricchire le potenzialit` incise negli ingranaggi a della sua macchina. ma Frege ed Hilbert ne veı dono il rilievo logico. fra hardware e software. enorme. ma materiale inerme (hardware) attivato da linguaggi formali o di programmazione (software). la decidibilit`. Un salto qualitativo. gli splendidi anni ’30 della . passo dopo passo. nasce l’Informatica. come si diceva. La sua geometria analitica. la teoria dell’unica classe delle deduzioni. luogo del rigore. In effetti. La distinzione. Gi` Pascal. infatti. alla fine dell’800. proposta da Turing per i soli scopi dell’analisi logica della deduzione. E. guidate da regole finitarie. ma non aveva cercato un nesso fra aritmetica o calcolo e logica. Di nuovo. ma solo con la Logica e con Turing si arriva a concepire un linguaggio formale. Descartes invece rende rigorosa la matematica dello spazio grazie alla algebrizzazione di quest’ultimo: la geometria pu` essere in principio ridotta a calcoli algebrici in sistemi di “coordio nate cartesiane”. veri intermediari fra la a macchina ed i programmi. la dimostrabile coerenza dell’Aritmetica)? Grazie agli strumenti a inventati per analizzare la deduzione come calcolo. con regole quasi meccaniche. pi` o meno umanizzati: regole linguistico-algebriche da eseguire. nell’immediato dopoguerra: non pi` ingranaggi in cui ` inscritta per u e sempre l’operazione da fare. logico.6). . nei fantastici anni ’30 della Logica. le prime architetture di calcolo.xii ben prima dei calcolatori moderni. rendendo matematico (e rigoroso) lo studio delle prove. Questa rapidissima e parziale cavalcata attraverso i secoli ha saltato cento precursori e mille passaggi. tantomeno un nesso con la geometria. Cos` Dedekind e Peano formalizzano l’aritmetica. questa tensione verso il rigore formale raggiunge il massimo della sua astrattezza e potenza quando distacca definitivamente i simboli dei linguaggi formali. Per di pi`. trasformando in equazioni le figure nello spazio. Power. infatti. infatti. l’idea di Turing della “Macchina u Universale” permetter` di concepire anche i compilatori. u cartesianamente. poi di programmazione. i moderni linguaggi di programmazione imperativi sono l’evoluzione diretta delle idee di Turing. almeno cos` e ı come presentato dalle grandi congetture di Hilbert del 1900 (la completezza. le trasformazioni e le intersezioni di figure diventano calcoli. appunto. che questi possano essere manipolati da macchine. Allora. Ma che ne ` stato del progetto originario di Leibniz e Frege. i linguaggi funzionali di quelle di Church e risultati di Herbrand sono alla base dei linguaggi della programmazione logica (e dei “metodi di risoluzione”. come calcoli. al punto . come nei marchingegni meccanici di una volta. cap. la pongono al centro dell’investigazione metamatematica. aveva sottolineato il rigore quaa si meccanico necessario alla deduzione matematica e realizzato una macchina per fare le quattro operazioni. perfettamente espressivo o completo o che permetta di calcolare tutte le funzioni calcolabili. si trasforma un’equazione in un’altra. v. Lo stesso Turing e VonNeuman disegneranno. poi. dal loro significato.

xiii Logica ci hanno dato due grandi “risultati”: da un lato la nascita dell’ Informatica (le macchine per dedurre. quale praticata dagli uomie ni. tramite l’uso di “reti di prova”: la rappresentazione geometrica di deduzioni. come verr` spiegato nel testo o a che segue) assicurano infatti che il progetto globalizzante esplicitato da Hilbert nel ’900 ` fallito. In tale sistema. quell’assoluto. basati sullo sguardo nello spazio e la geometria. percorsi che si incrociano e che. Potr` continuare con lo studio di un altro luogo della “rivincita della geometria” a sulla riduzione linguistica: la Logica Lineare di J. essenziale al ragionamento. Il lettore. come e cercava di dire Poincar´. il ricercatore. concentrate soprattutto in esempi e note. potr` acquisire le basi logico-matematiche necessarie a capire e svia . Nella dimostrazione matematica. strumento importante in dimostrazione automatica ed in molte altre applicazioni. I risultati di incompletezza di e G¨del degli anni ’30 (l’Aritmetica formale ` incompleta. al ruolo dello spazio e della Geometria nella prova: e la riduzione linguistica. porter` il lettore attraverso i metodi a ed i sistemi deduttivi fondamentali della logica post-fregeana. rimane tale per le macchine. ma la pratica della matematica usa anche altri strumenti. ad esempio. la classe delle funzioni calcolabili e delle deduzioni “effettive”. ad esempio. La decidibilit`. perfettamente chiari. geometrico in primo luogo. dall’altro hanno spiegato che il percorso secolare verso la totale formalizzazione linguistica della matematica si urta ad un limite invalicabile. assolutamente rigorose e convincenti. in cui le motivazioni informatiche. manipolando simboli linguistici). potr` poi andare a leggersi qualcuna delle prove della coerena za dell’Aritmetica. indecidibile e nessun o e sistema logico finitario ne pu` provare la coerenza. non faranno che arricchire la lettura. su alberi planari infiniti. per dimostrare la coerenza dell’Aritmetica. la geometria entra nella prova stessa. essa ` solo ricca e e di significato. incuriosito (ed istruito) da questo libro. incrociandosi. dello spazio in quanto tale: i formalismi finitari ed il linguaggi per la calcolabilit` non consentono di dedurre a tutti gli asserti che noi sappiamo dimostrare veri sulle specifiche strutture della matematica. Dunque. ed ` inole tre basata su una pratica antichissima dello spazio e dell’infinito. viene con esse a far parte della Teoria della Dimostrazione. il gioco fra sintassi e semantica gli diverranno chiari e riuscir` a a percepire come essi siano stati all’origine dell’elaborazione meccanica e siano ancora oggi cruciali per capire (e sviluppare!) linguaggi e sistemi di programmazione. Il testo chiaro e completo che segue. Tale limite ` anche dovuto. si fa un uso essenziale di argomenti infinitari. in particolare la coerenza del suo cuore logico-formale. ma non meccanizzabili (gli alberi infiniti nel Teorema di Kruskal o nella “determinacy for δ0 trees”). l’Aritmetica. danno informazioni essenziali. Lo studente di Informatica. inadeguata ad elaboratori meccanici di stringhe di simboli. almeno come definite negli anni ’30 e realizzate in seguito. che ci ha permesso di concepire le moderne “macchine per calcoli formali” ` essenzialmente incompleta. Non vi ` nessun miracolo ontologico nella dimostrazione matematica. Potr` apprezzare il fascino dell’ “argomento diagonale” nel Teorema a di incompletezza di G¨del. Girard. con connessioni. a la completezza. Verr` portato alle soglie delle tecniche pi` attuali o a u studiando la “risoluzione”.Y. Il lettore curioso di Logica trover` a quindi un panorama pi` che esaustivo degli elementi della Logica Matematica u moderna.

logici ecc. . e Paris. poi. i linguaggi di programmazione funzionali. asincroni. paralleli e concorrenti richiedono invenzione matematica per essere costruiti. . I sistemi distribuiti. G¨del e Turing hanno saputo darci. Boole e Babbage. Difatti. . . ma anche ad affrontare i nuovi problemi che l’Informatica pone alla Logica. in questi ultimi anni. Lo studio dei fondamenti logici del calcolo e della deduzione formali costituisce il passo preliminare per chi voglia andare oltre le macchine che Descartes e Leibniz. la Fisica ha fatto prepotentemente il suo ingresso in scena: il costo minimo dei chips. la velocit` d’elaborazione e le enormi reti di comunia cazione attuali ci hanno dato strumenti nuovi di calcolo.xiv luppare. descritti con rigore e gestiti con efficacia. 17 Giugno 1997. o Giuseppe Longo CNRS e Ecole Normale Sup´rieure.

a ` E inoltre prevedibile che l’influenza e le applicazioni della Logica Matematica nei confronti dell’Informatica vadano ancora accentuandosi nei prossimi anni. intende rispecchiare le finalit`. e in particolare dall’Analisi. ma ` una e e conseguenza diretta delle profonde affinit` metodologiche e culturali tra le due a discipline. Per usare una metafora. la Logica deve all’Informatica il suo improvviso risveglio a partire dai primi anni settanta. dalla progettazione di linguaggi logici e linguaggi di interrogazione. L’inserimento stesso di un corso fondamentale di Logica Matematica nel nuovo ordinamento del corso di Studi in Informatica non fa che testimoniare la rilevanza recentemente assunta da questa disciplina per lo studio. alla verifica della correttezza dei programmi. alla modellizzazione algebrica di macchine astratte. Come ` stato ampiamente spiegato nella prefazione. Le applicazioni attuali della Logica sono innumerevoli e completamente trasversali a tutte le aree dell’Informatica. Esiste tuttavia una seconda possibile interpretazione del titolo. del presente a lavoro. ma come un complemento di termine o di destinazione: l’espressione di un punto di arrivo naturale e necessario. D’altra parte. La vicinanza culturale e metodologica tra Logica ed Informatica si ` evie denziata notevolmente negli ultimi decenni. polimorfismo ed ereditariet` nei linguaggi di programmazione. nei confronti della Fisica. dalla implementazione di protocolli di comunicazione. la progettazione e la verifica di sistemi informatici. Esse vanno dalla progettazione di circuiti digitali. Se dunque l’Informatica trova o dovrebbe trovare nella Logica i suoi principali strumenti di indagine e metodologie xv . nella sua accezione pi` u immediata. Il titolo stesso del libro. Il numero e la rilevanza di tali applicazioni non ` certo casuale. nei confronti dell’Informatica. la Logica potrebbe e dovrebbe assumere. laddove non si intenda la preposizione “a” come una sempliu ce specificazione di luogo.Introduzione Logica a Informatica Il presente volume ` stato espressamente concepito come testo di supporto die dattico per il corso fondamentale di “Logica Matematica” del secondo anno del Corso di Studi in Informatica. ai problemi di tipizzazione. modeste ma specifiche. un intero settore e dell’Informatica nasce in modo diretto dalla Logica. lo stesso ruolo svolto dalla Matematica. pi` sottile e u assai pi` ambiziosa.

dove. metodi. Solo che in questo caso ` la logica e del processo che deve essere esplicitata. estremamente ambiziosa e anche piuttosto obsoleta. polimorfismo. Tuttavia. e dunque il suo comportamento ci ` ancora largamente e sconosciuto. allora. facilmente la stretta relazione tra Logica ed Informatica e pi` in generale la necessit` di sviluppare una vera e propria Scienza dell’Inforu a mazione. preso un qualunque elemento a di quell’insieme. per entrambe le discipline. almeno implicitamente. Tutti sappiamo cosa sia un programma. di utilizzare un linguaggio a formale.xvi di sviluppo. D’altro canto. elaborazione e comunicazione della conoscenza. Si evince. risoluzione. la effettiva interpretazione processuale.. ecc. aritmetica. Socrate). La Logica pone in essere dei sistemi di prova: calcolo dei predicati. che le sue regole di inferenza. l’Informatica si occupa principalmente di meccanismi di calcolo: iterazione. ricorsione. dei processi). Socrate ` un uomo. il suo significato. calcoli logici di ordine superiore. anche in questo caso. In generale. L’enfasi sulla natura umana o meccanica dell’agente di calcolo ` in realt` del tutto marginale: l’ovvio punto di incontro ` e a e costituito dalla necessit`. eccezioni. La correttezza di questa inferenza logica non die pende n´ dal significato della propriet` di essere mortale. la Logica ` lo studio dei meccanismi tipici del ragionamento. ecc. se esiste. dunque. n´ dal particolare e a e individuo in oggetto (in questo caso. la propriet` P ` necessariamente soddisfatta a e da a. In questo senso pi` u . considerando che entrambe le discipline si occupano. La necessit` di astrarre dal contenuto informativo (il senso) delle sentenze. visto come mera composizione sintattica delle sue istruzioni elementari. cio` insiemi strutturati e di regole elementari che permettono di costruire dei “procedimenti” di calcolo complessi (e dunque. la logica del processo complessivo. deve essere esplicitata. Fin dall’antia chit` si ` osservato che determinati schemi di ragionamento sono in una certa a e misura indipendenti dal senso che si attribuisce alle singole parti del discorso. Logica Matematica Nella sua accezione filosofica. se una propriet` P ` a e soddisfatta da tutti gli elementi di un determinato insieme. a considerando solo la loro forma o struttura. porta inevitabilmente ad utilizzare un linguaggio di natura algebrica e formale per descrivere sia le sentenze che sono oggetto della logica. di problemi di formalizzazione. insiemi di regole elementari che permettono la costrue zione di processi computazionali complessi. la Logica trova nell’Informatica le sue stesse motivazioni e nuovi. e e dunque Socrate ` mortale”. continui stimoli alla ricerca. La profonda relazione che lega la Logica all’Informatica ` tutto sommato e assai meno sorprendente di quanto possa apparire a prima vista. sebbene da punti di vista differenti e con tradizioni filosofiche distinte. Consideriamo il celebre sillogismo “Ogni uomo ` mortale. assegnamenti. cio` della e e capacit` di trarre conseguenze da un certo insieme di premesse.. tuttavia. cio`.

e Tuttavia. La logica proposizionale ` essenzialmente rivolta allo studio dei connettivi e logici. logica dei predicati (o logica del a primo ordine). modale. poi. . logiche di ordine superiore.. multi-valore. di proposizioni atomiche).xvii ristretto deve essere intesa la Logica Matematica o Logica Simbolica. completezza funzionale. La Logica a intende studiare i principi fondazionali su cui basare tale rappresentazione. . la profonda analogia con le problematiche tipiche dell’Informatica. conseguenza. dove l’elaborazione dell’informazione ` codificata in linguaggi di programe mazione atti ad essere compresi da un agente finale. per inciso. equia a valenza) e ai primi interessanti corollari di queste (leggi di De Morgan. anche e e e questa semantica “intesa” e assolutamente priva di ambizioni porta alle prime fondamentali nozioni della Logica (validit`. e una semantica (classica e tarskiana) che ` la loro denotazione: esse possono essere e vere oppure false. ) che permettono la costrue zione di proposizioni complesse a partire da proposizioni elementari o atomiche. allora . in modo da poter essere interpretato senza ambiguit` dalle persone con cui si vuole comunicare. affine. se una formula ` valida. mediante connettivi. I connettivi logici hanno una ovvia interpretazione intesa: ad esempio A e B ` vera se e solo se A ` vera e B ` vera1 . Solo i primi due di questi livelli saranno affrontati nel testo. la madre di tutte le logiche. non-monotona. o. potremmo osservare che ogni scienza formale ha u bisogno di utilizzare un linguaggio per poter rappresentare e dunque comunicare informazioni e soprattutto risultati (cio`. La logica classica stessa si divide. la macchina. elaborazioni delle informazioni). Tale e linguaggio deve avere una natura precisa e formale. cio` di poterla inferire a partire da un semplice insieme di verit` e regole e a logiche di “indubbia evidenza”. dualit`). a a . u In questo libro tratteremo unicamente di logica classica. tradizionalmente in vari livelli di espressivit` crescente: logica proposizionale. ci si aspetta anche di poterla dimostrae re. Le proposizioni hanno dunque una loro sintassi (cio` la loro struttura logica e in quanto combinazione. del tutto privo di capacit` intellettive autonome (e a maggior ragione interpretative). oggetto del presente volume. fuzzy. Molto pi` semplicemente. Ambiti differenti richiedono spesso formalismi logici particolari per poter rappresentare in modo conveniente problematiche specifiche. cio` di quelle particelle (e. intuizionista. per citare solo alcune delle pi` celebri. Questa ` la e ragione per la miriade di “logiche” proposte in letteratura: classica. ` facile capire che non esiste un “linguaggio logico” e universale. ecc. . e faremo solo alcuni brevi accenni alle problematiche tipiche del costruttivi-smo e della logica intuizionista. una formula ` valida (diremo anche che ` una tautologia) se e e ` vera indipendentemente dai valori di verit` dei suoi componenti (ad esempio. Si noti. forme normali congiuntive e disgiuntive. se . a In particolare. lineare. e a A o ¬A ` vera indipendentemente dal fatto di sapere se A sia vera o falsa). tuttavia. Questo porta a considerare i sistemi deduttivi: veri e propri calcoli logici per formalizzare la nozione intuitiva di ragionamen1 Semantica che verr` formalizzata utilizzando tabelle di verit`. soddisfacibilit`. a Date queste premesse. temporale. . E.

se indichiamo con P (x) la propriet` “x ` pari” e con D(x) la propriet` “x ` dispari” potremo a e a e formalizzare l’asserzione precedente nella formula (2) P (3) o D(3) Tuttavia. Si cercher` a quindi di superare la comprensibile perplessit` degli studenti di fronte alla piatta a semantica tarskiana (∀xA(x) ` vero se per ogni elemento a del dominio inteso e . predicati) su questi termini. Per esempio. L’enfasi dei primi tre capitoli del libro ` dunque interamente sulla natura dei e linguaggi formali nei loro tre aspetti fondamentali (sintassi. se non tecniche) ad affrontare le stesse problematiche per la logica dei predicati. Ad esempio. unite da un connettivo di disgiunzione.xviii to. vogliamo anche essere in grado di poter esprimere forme di quantificazione esistenziale (esiste un termine che gode di una certa propriet`) e universale a (ogni termine gode di una certa propriet`). In particolare. in questo libro. ` e e e completo se permette di dimostrare tutte le tautologie. fornita dai teoremi di correttezza e completezza. nonch` sulle relazioni tra questi. Queste variabili possono essere quantificate esistenzialmente (si user` il simbolo ∃) o universalmente (∀). lo studente non dovrebbe incontrare grosse difficolt` a (quantomeno concettuali. ` E necessario dunque arricchire il linguaggio logico con una sintassi che permetta di esprimere termini (gli oggetti del dominio inteso del discorso). a potremo allora formalizzare la sentenza (3) nel modo seguente: (4) ∀x(P (x) o D(x)) La stratificazione tra termini e relazioni. La logica dei predicati (o logica del primo ordine) arricchisce il linguaggio proposizionale introducendo le nozioni di termine. e relazioni (o. nel caso unario. i complessi problemi inerenti ai quantificatori. e Dopo aver discusso la distinzione e le relazioni tra sintassi. relazione e quantificazione. Nella notazione utilizzata per (2). vorremo poter dire che a (3) Ogni numero intero ` pari oppure dispari e Per poter parlare di termini “generici” abbiamo bisogno della nozione algebrica di variabile. Un sistema deduttivo ` corretto se ogni formula logica dimostrabile ` una tautologia. Consideriamo la semplice sentenza (1) 3 ` un numero pari oppure 3 ` un numero dispari e e Ci` che si osserva a livello proposizionale sono due sentenze assolutamente distino te. verranno introdotti tre di questi sistemi: la Deduzione Naturale. calcolo e semantica). i Sistemi Assiomatici ed il Calcolo dei Sequenti. Il fatto che le due sentenze trattino di uno stesso oggetto (in questo caso il numero intero 3) affermando che esso gode o della propriet` di essere pari o di essere dispari ` del tutto trasparente a e all’analisi proposizionale. ai loro legami ed al campo d’azione di questi sono al centro di tutta la trattazione della logica del primo ordine. la nozione di variabile. calcolo e semantica a livello proposizionale.

P (n) implica P (n+1). L’affermazione della vocazione professionale dell’informatico. il presente volume contiene ancora una quantit` di nozioni eccessiva rispetto a quelle che possono essere a effettivamente trattate nell’ambito di un corso semestrale. Data la natura semestrale del corso ed essendo previsto al secondo anno di studi dell’ordinamento di Informatica. perseguita dal nuovo Ordinamento degli Studi. Il compito prioritario del Corso di Logica Matematica non ` quello di studiare questa o quella particolare applicazione. indispensabili alla comprensione della materia. al principio di induzione numerica. pur toccando tutti gli argomenti di maggior rilevanza per un’introduzione all’argomento. si ` volutamente cercato di mantenere un e carattere agile e snello al testo. che afferma che per ogni predicato P (x). consiste. formale e dunque operativa degli argomenti. Il passo successivo. se vale P (0) e se. sia presentando alcuni dei principali e notevolissimi e risultati della teoria dei modelli. contrastando e non subendo una certa primitiva avversione degli studenti rispetto alla matematica “tradizionale”. trova in questo caso un immediato riscontro nella trattazione tecnica. che conduce alle logiche di ordine superiore. le sue innumerevoli applicazioni attuali sono solo accennate brevemente ed in modo del tutto discorsivo. ma piuttosto quello e di fornire le basi minimali. Questo ` dovuto sia e 2 Come vedremo. ma anche su relazioni. Note per il Docente Il presente volume nasce direttamente da un insieme di note didattiche preparate per l’esame di “Logica Matematica” del Corso di Studi in Informatica. ad esempio. sia spiegando l’uso della semantica in alcune delle sue applicazioni pi` rilevanti: verifiche di consistenza di teorie logiche u o dimostrazioni di non-validit` di formule logiche attraverso la definizione di a controesempi. nel permettere di quantificare non solo su termini. Nonostante la trattazione della Logica Matematica fatta nel presente volume sia mirata al discorso informatico. ovviamente. per ogni n. . In questo senso il testo risponde in modo positivo alle esigenze professionali della moderna figura del laureato in Informatica. questo caso particolare di quantificazione pu` essere trattato in modo o implicito attraverso la nozione di schema. Si pensi. o alla tecniche di prova basate su tableaux). Nel capitolo conclusivo vengono affrontati in dettaglio i notevoli risultati semantici di Herbrand (ricordiamo il ruolo essenziale svolto dal “modello dei termini” in tutta la trattazione algebrica dei linguaggi di programmazione) ed il metodo di risoluzione di Robinson che ` alla base della programmazione logica e e di svariati algoritmi per la dimostrazione automatica o semi-automatica di teoremi. allora P vale per tutti i numeri interi2 . Nonostante gli sforzi di coincisione e la sofferta omissione di interi argomenti (pensiamo in particolare a tutta la trattazione delle strutture di semantica algebrica.xix del discorso A(a) ` vero). Tuttavia la trattazione assai delicata di queste logiche esula completamente dagli intenti del presente volume. sia teoriche che tecniche.

bench` a e esulino inevitabilmente dal programma del corso. Il peccato ci appare del tutto veniale se confrontato. il libro deve essere inteso come strumento di riferimento e consultazione: non pu` (e non deve) sostituirsi al corso. Il libro non richiede particolari prerequisiti. Analogamente. Come ogni testo universitario. a nostro modo di vedere. se la preferenza ricade sul Calcolo dei Sequenti. entrare in qualche dettaglio dei principali risultati di Teoria dei Modelli. Speriamo dunque che il e lettore non si formalizzi se. ` possibile. soprattutto nelle sue parti e espositive. si ` dedicata una certa cura alla parte di trattazione storica. e assai pi` rilevante e sorprendentemente passato sotto silenzio in ogni libro di u Logica. Per facilitare la lettura del testo e la scelta degli argomenti. Bench` per ragioni sia storie che che concettuali sia opportuno presentarli allo studente. Queste possono essere omesse ad una prima lettura senza compromettere la coerenza del testo. Esistono. sui relativi teoremi di completezza. al fatto (ahim`. sia per consentire al Docente di personalizzare il corso seguendo un percorso didattico individuale. la Logica `. a . a che essenzialmente differiscono tra loro sulla scelta del sistema deduttivo che si intende privilegiare: Deduzione Naturale o Calcolo dei Sequenti3 . per ragioni di tempo questo non ` pi` possibile al primo ordine. e concludendo la maggior parte dei capitoli con dei cenni sullo sviluppo del pensiero logico moderno. la terminologia utilizzata in questi casi ` del tutto informale. soprattutto nei suoi e aspetti semantici. accenneremo in una nota ai termini del lambda-calcolo senza avere ancora discusso la nozione generale di “termine”. Dunque. vale la pena di enfatizzare la parte di ricerca automatica (a scapito della Teoria dei Modelli. inevitabilmente mal fondata. si suppone che lo Studente abbia gi` seguito corsi quali Analisi a Matematica I e Matematica Discreta. potrebbero suscitare la curiosit` dello studente. data la loro complessit` pratica. le sezioni “avanzate” sono state contrassegnate con un asterisco. se a livello proposizionale si possono ancora discutere a lezione pi` dimostrazioni u differenti. ovviamente. In particolare. quasi per una tacita convenzione) che in tutta la trattazione della logica proposizionale si usa implicitamente un (meta)linguaggio del primo ordine! Come ogni disciplina di natura fondazionale. Per ovvie ragioni. Lo stile del libro ` volutamente molto scarno. Tale scelta si ripercuote. Viceversa. Se la e u preferenza del Docente ricade sulla Deduzione Naturale. acquisendo una buona padronanza del linguaggio matematico e dei suoi metodi formali. Riteniamo dunque superfluo (e anche filosoficamente datato) cominciare il corso con delle lunghe disquisizioni 3 I sistemi assiomatici sono ugualmente trattati nel volume. Viceversa. se ne sconsiglia l’adozione come formalismo di riferimento. si ` tentato di arricchire il pi` possibile e u il testo con puntatori e riferimenti ad argomenti che. ad esempio. per la loro rilevanza sia logica che informatica. almeno due possibilit`. ad esempio.xx a ragioni di completezza espositiva. o dove il Docente avr` cura di introdurre e discutere gli argomenti secondo la a propria visione personale. Ricordiamo tuttavia che il Corso ` previsto per il Secondo Anno dell’ordinamento del Piano di Studi di Informae tica. di pari interesse e coerenza concettuale. dopo avere e dimostrato la completezza con il metodo di Henkin. i cui risultati potranno solo essere menzionati).

Le loro correzioni ed i loro suggerimenti sono stati per noi di grandissimo aiuto. lasciando che esse si spieghino da sole nell’unico modo possibile. “variabile”. Ringraziamenti Ringraziamo innanzi tutto il Prof. Giuseppe Longo sia per aver cortesemente accettato di scrivere la prefazione al libro. Daniele Mundici.. “termine”. ovvero. Stefano Aguzzoli e Mauro Ferrari. Maria I. Alessandro Berarducci. . Giuseppe Rosolini. Molti altri amici e colleghi ci hanno aiutato a migliorare ulteriormente il testo con le loro critiche e le loro osservazioni. Ringraziamo in modo particolare Simone Martini. sia per i suoi innumerevoli consigli sulla stesura del testo. “funzione” ecc. Sessa.xxi filosofiche sul significato delle nozioni di “nome”. dall’uso linguistico che se ne fa in un determinato contesto. Andrea Masini e Marco Benini sono stati attenti e puntigliosi lettori delle versioni preliminari.

Ovviamente. diremo che sono tutti nomi che denotano il numero quattro. useremo il termine sentenza intendendo una sentenza dichiarativa. cio` un aggregaa e e to di parole di senso compiuto che racchiude un pensiero completo. il predecessore di cinque.Capitolo 1 Logica proposizionale 1. Nel seguito. e associato a quanto questo effettivamente esprime (essere il quadrato di due. bench´ le frasi precedenti denotino tutte lo stesso oggetto. la somma di tre e di uno. ecc. ` il numee ro quattro. il loro e senso ` differente. Dal punto di vista logico. pu` essere meglio spiegata dal seguente o 1 Per linguaggio naturale si intende il linguaggio che si usa quotidianamente per esprimere e comunicare.1 Senso e denotazione L’unit` di espressione del linguaggio naturale1 ` la sentenza. le sentenze sono considerate come dei nomi in senso astratto. parleremo in questo caso di valore connotazionale del nome. in questo caso. la sentenza ` detta die e chiarativa. Quando il significato della sentenza ` quello di una asserzione. seguendo una linea di pensiero che risale a Frege. le espressioni a quattro il quadrato di due il predecessore di cinque tre pi` uno u sono modi differenti per indicare lo stesso oggetto che.). Ad esempio. Un nome ` una e qualunque espressione linguistica che determina o denota in modo univoco una qualche entit`. Esempi di sentenze dichiarative sono le frasi quattro ` un numero pari e oggi piove la radice quadrata di due ` un numero razionale e Dal punto di vista logico. 1 . La differenza tra senso e denotazione.

il senso ` spesso pi` importante o altrettanto impore u tante della denotazione. Tuttavia. le denotazioni godono di una essenziale propriet` di invarianza per sostituzioa ne che ` il vero fondamento della loro trattazione formale. il loro senso. ottenuta da altre pi` semplici mediante l’uso di connettivi. Come per tutti i nomi. che continua pur u sempre a denotare il numero quattro (si osservi. In particolare. u Analogamente. A questo proposito. al contrario. vale a dire al suo senso o valore connotazionale. preso in input un array di elementi disordinati. ` differente. che cosa hanno in comune le due frasi suddette? Unicamente il fatto che sono entrambe vere! . Consideriamo due programmi di ordinamento come MergeSort e QuickSort. In altre parole. Ora. la denotazione del nome complesso non cambia. e e si ottiene per sostituzione la frase quattro ` quattro e Osserviamo come il senso della frase sia stato stravolto! Tuttavia. che in tal e caso coincide con il particolare algoritmo di ordinamento implementato dai due programmi. a particolari nomi. Dunque la logica simbolica assimila le asserzioni. Sostituene u do questo nome al posto di “due” nella frase originaria si ottiene la frase “il quadrato di (uno pi` uno)” che ovviamente denota sempre il numero quattro. ricordiamo che la denotazione deve godere della propriet` di a invarianza per sostituzione. la Logica intende trattare le sentenze in base alla loro struttura e non al loro contenuto. Tale propriet` asserisce che se in un noe a me complesso (cio` costituito da altri nomi) si sostituisce un nome componente e con un nome denotazionalmente equivalente ad esso. si potrebbe sostituire l’espressione “il quadrato di 2” con quella denotazionalmente equivalente “il prodotto di 2 per se stesso”. u dipende dalle denotazioni delle componenti. dal punto di vista logico non si ` interessati e a ci` che la sentenza asserisce. Consideriamo allora l’asserzione: quattro ` il predecessore di cinque e Poich` “il predecessore di cinque” ` denotazionalmente equivalente a “quattro”. e che.2 esempio tratto dall’informatica. o sentenze dichiarative. Consideriamo ad esempio la frase “il quadrato di due”. che le connotazioni di queste espressioni sono sensibilmente differenti). si vuole che la denotazione delle due frasi rimanga immutata. Tuttavia. la denotazione dei due programmi ` identica. Da questo punto di vista. Resta ancora da capire che cosa effettivamente denoti una sentenza. o ma unicamente a ci` che essa denota ed al modo in cui la denotazione di una o sentenza composta. Il nome “due” ` denotazionalmente equivalente a “uno pi` uno”. al contrario. e ottenere la frase complessa “il prodotto di (uno pi` uno) per se stesso”. restituisce un array degli stessi elementi ordinati secondo una qualche relazione fissata. e Nel linguaggio naturale. e non ` soddisfatta dalle connotazioni. esso ` troppo complesso e dipendente dal e contesto per essere oggetto di una rigorosa analisi matematica. per poter assimilare le sentenze dichiarative a dei nomi. Entrambi calcolano la stessa funzione che.

Si pu` anche ipotizzare l’esistenza di concetti non esprimibili in nessun linguaggio di uso o corrente. a Spesso. cosiddetti in quanto la denotazione (il valore di verit`) di a una proposizione composta costruita mediante questi dipende unicamente dalle denotazioni (dai valori di verit`) delle proposizioni che la compongono. “non”. Le prime. 2 A differenza della sentenza. sono le proposizioni pi` semplici che non o u possono essere scomposte in altre. appunto.. ma il senso che essa effettivamente esprime. Il senso determina la e denotazione. tale condizione non ` soddisfatta dai connettivi del linguaggio naturale. in cui si spiegano le ragioni per cui la prima frase deve essere considerata vera (che ` appunto un ragionamento sul linguaggio stesso). mentre la seconda risulta falsa. mentre le seconde sono costruite. ogni sentenza denota un valore di verit` ed esprime un senso a (che tuttavia non ` oggetto diretto dell’indagine logica). allora”. a Si noti che l’effetto del connettivo “poich´” nelle frasi precedenti ` quello di e e spostare la frase da un livello linguistico (2 ` un numero primo) ad un livello e meta-linguistico3 . L’uso e obliquo dei nomi nel linguaggio naturale ` generato dalla confusione tra i due e livelli: in altre parole. “poich´”. “se.. e Ogni concetto di un valore di verit` ` detto proposizione. o a Ricapitolando. Per le ragioni e gi` enunciate in precedenza. 3 Un linguaggio utilizzato per descrivere o esprimere propriet` di un altro linguaggio ` detto a e meta-linguaggio (di quest ultimo). a partire da quelle atomiche. o diremo anche che ` un concetto2 della denotazione. la denotazione associata ad una sentenza non pu` che essere un valore di verit` (“vero” oppure “falso”). e il motivo di questo fatto ` che esso. consente e un uso obliquo dei nomi. Queste possono essere di due tipi: atomiche e composte. ovvero di concetti che non coincidono con il senso attribuito a nessuno dei nomi (sentenze) di tali linguaggi. mediante l’utilizzo di connettivi. dalle e proposizioni. “come”. il linguaggio ` sovente utilizzato come meta-linguaggio di e se stesso (cosa che deve essere evitata nei linguaggi formali). dal punto di vista classico. in logica simbolica vengono considerati solo i cona nettivi estensionali. Esempi di connettivi.. “ma”. La e ragione di questo fatto ` che il nome (la sentenza) “2 ` divisibile solo per 1 e e e per se stesso” ` usato obliquamente nella prima frase: la sua denotazione non ` e e semplicemente un valore di verit`. sono i seguenti : “e”. nel linguaggio naturale. ed altri ancora. al contrario dei linguaggi formali. Consideriamo ad esempio le seguenti sentenze: e 2 ` un numero primo poich´ 2 ` divisibile solo per 1 e per se stesso e e e 2 ` un numero primo poich´ 2 ` pari e e e Pur essendo entrambe costruite a partire da proposizioni vere per mezzo del connettivo “poich´”.3 Per questa ragione. la prima risulta vera. “o”. . Un nome ha un uso obliquo quando la sua denotazione ` il senso che il nome esprimerebbe nel suo uso corrente. ae L’oggetto di indagine della logica proposizionale ` rappresentato. come si pu` evincere dal nome. e Un esempio di connettivo che induce ad un uso obliquo dei nomi ` il connettivo e “poich´”. un concetto non ha necessariamente una natura linguistica.

Un esempio e di proposizione costruita con esso ` la seguente: e 2 ` un numero dispari o ` primo e e • Infine. “o” “se. la scelta di questi connettivi ` ampiae mente (anche se non completamente) arbitraria. in questa trattazione il nostro punto di partenza sar` l’insieme composto da: “non”. Mostriamo ora dei semplici esempi per ognuno di essi. considera come primitivi un sottoinsieme proprio dei connettivi estensionali.5). Come vedremo. lavoreremo dunque con proposizioni e connettivi estensionali su queste. Un esempio di proposizione condizionale ` la seguente: e se 3 ` dispari allora ` primo e e .. l’operazione espressa dal connettivo “se. ricavando gli altri in funzione di quelli scelti. 1. Ad esempio. allora” viene detta implicazione e la proposizione composta ottenuta dalla sua applicazione ` chiae mata proposizione condizionale.. data la proposizione atomica 2 ` un numero primo e la sua negata ` e 2 non ` un numero primo e • L’operazione espressa dal connettivo “e” viene detta congiunzione. allora”.4.2 Connettivi La logica proposizionale. Ad esempio 3 ` un numero dispari ed ` primo e e ` una proposizione composta costruita congiungendo le due proposizioni e atomiche: 3 ` un numero dispari e 3 ` un numero primo e • L’operazione espressa dal connettivo “o” ` detta disgiunzione. per motivi di economicit` e chiarezza (che verranno a precisati nella sezione 1.4 D’ora in poi. a “e”. • L’operazione espressa dal connettivo “non” ` chiamata negazione e la proe posizione ottenuta dalla sua applicazione ` detta proposizione negata (della e proposizione di partenza).

. cio` dei sistemi formali per esprimere ragionamenti su formule del linguaggio e proposizionale. simboli ausiliari: “(”. mediante una grammatica (senza attribuire alcun significato ai simboli)..“Q”.. I connettivi sono rappresentati dai seguenti simboli: ¬ ∧ ∨ → “non” “e” “o” “se.. introdurre un linguaggio formale specificandone la sintassi. procediamo ad una definizione formale della logica proposizionale. anzitutto. (eventualmente indiciate). 2. e e Dopo aver introdotto. a Definizione 1. cio` assegna loro un significato. le proposizioni ed i connettivi. . . Si utilizzeranno. per motivi di chiarezza espositiva. l’assurdo.“)” . quindi le regole che. specificarne l’alfabeto (vale a dire i oe simboli che lo compongono). nei capitoli successivi.3 Sintassi In questa sezione definiremo il linguaggio formale della logica proposizionale considerandone gli elementi come stringhe. allora” Utilizzeremo inoltre il simbolo ⊥ per rappresenta la falsit`. al problema di definire dei calcoli logici. (eventualmente indiciate) come meta-simboli per proposizioni composte. Per fare ci` ` necessario. definire una semantica per il linguaggio introdotto. le proposizioni atomiche verranno indicate con lettere iniziali maiuscole dell’alfabeto: “A”. ⊥ 3. . →. le lettere maiuscole “P”. in maniera intuitiva. 2. connettivi: ¬. La specifica grammaticale consentir` di stabilire le frasi sintatticamente corrette del a linguaggio. ∧.. che ne interpreta le frasi sintatticamente corrette. A tal fine dovremo: 1.. invece.“B”..1 L’ alfabeto del linguaggio della logica proposizionale consta di: 1. . simboli atomici di proposizione: “A”. 1. ` conveniente utilizzare dei simboli per rappresentare le proposizioni e ed i connettivi. In logica. e Passeremo quindi. senza associare loro alcun significato. a partire da esso. consentono di costruire le frasi sintatticamente corrette. ∨.“B”.5 la proposizione “3 ` dispari” ` detta premessa (dell’implicazione) mentre e e “3 ` primo” ` la sua conseguenza o conclusione. In questo capitolo.

o semplicemente proposizioni. Q ∈ X. (P → Q) ∈ X. Si noti l’uso metalinguistico delle lettere P e Q nella definizione precedente: esse sono variabili che rappresentano arbitrarie fbf. A. i connettivi principali di ¬P . Dunque X non ` il minimo insieme che sode disfa le condizioni della Definizione 1. Esempi di formule ben formate sono: (A ∨ B) → (⊥ ∧ C). (P ∧ Q). in quanto A.2 L’insieme di fbf (FBF) ` il minimo insieme X tale che e 1. che corrispondono alle proposizioni (atomiche e composte). Supponiamo per assur/ do che → ¬⊥ ∈ X e che X soddisfi le condizioni 1-4 della Definizione 1. ⊥ ∈ X. 2. → ¬⊥ ∈ X. . Osserviamo che ` facile provare l’appartenenza di una data formula all’insieme e delle fbf.2. C. . allora le sottoformule di P sono P stessa e quelle di P1 . . Anche Y soddisfa le medesime condizioni.3 Sia P una fbf 1. ¬ ∧. 2. (P ∨Q).6 Presentiamo ora le regole che consentono di costruire le frasi sintatticamente corrette del linguaggio. (¬P ) ∈ Y e se P. se P ∈ Y. Definizione 1. rispettivamente. ∈ X per ogni simbolo atomico di proposizione. (¬C). Se P. (⊥ ∨ (A → B)). (P1 ∧ P2 ). e 3. o Data una fbf P . Se P ` ¬P1 . ((¬A) → B). meno semplice invece risulta dimostrarne la non appartenenza. ((A ∨ B) ∧ (¬C)). / Mostriamo. Se P ` ⊥ oppure una proposizione atomica. (P ∨Q) e (P → Q). P. A. quindi → ¬⊥ non e pu` appartenere ad X. ⊥ ∈ Y .2.1 ((→. B. . ∨ e → sono. Sia Y = X − {→ ¬⊥}. (A ∨ B). B. Esempio 1. Esempio 1. dette formule ben formate (fbf). ogni fbf Q che appare come componente di P ` detta sottoe formula di P . allora le sue sottoformule sono e P stessa e quelle di P1 ed P2 . 4. a scopo esemplificativo. . (P ∨ Q). Se P ∈ X. che → ¬⊥ ∈ X. B. (P → Q) ∈ Y essendo diverse da → ¬⊥. (P ∧Q). (¬P ) ∈ X. Le sue sottoformule sono: . . (P1 → P2 ). ¬∨. 3. ma questo ` assurdo. allora P stessa ` la sua e e sola sottoformula. Q ∈ Y allora (P ∧Q). . Se P ` (P1 ∨ P2 ). La definizione formale ` la seguente (osserviamo che si ammette e anche P come sottoformula di P ): Definizione 1.2 Sia P la fbf ¬((A ∨ B) ∧ (¬C)).

Analogamente. non ` possibile eliminare le parentesi in (A → B) ∨ C (altrimenti. e .3 In base alle convenzioni appena discusse. Teorema 1. la formula A ∧ ¬B → C deve essere interpretata come ((A ∧ (¬B)) → C). al posto di ((((¬A)∧B)∨C) → (¬D)). Q ∈ FBF risulta A(P ) e A(Q) ⇒ A(P ∨ Q).2. Per non appesantire la struttura delle fbf ed aumentarne la leggibilit` ` bene a e introdurre delle regole di precedenza tra gli operatori al fine di eliminare. detto Principio di Induzione Strutturale per formule ben formate. quindi Y = FBF. ma ` spesso pi` cone u veniente servirsi del seguente teorema. u Esempio 1. A ` verificata per tutte le proposizioni atomiche e 2.3. se scrivessimo semplicea mente A ∧ B → C. Le precedenze sono definite nel modo seguente4 : e ¬ > ∧ > ∨ >→. Se ∀ P. le parentesi. A(⊥) 3. Ad esempio. Sia Y = {F ∈ FBF | A(F )}.7 Il linguaggio che abbiamo definito fa un largo uso di parentesi per evitare ambiguit` nell’interpretazione delle formule. a D’altro canto. Vedremo nel seguito vari utilizzi di tale principio. allora Y soddisfa le condizioni 1-4 della Definizione 1. Se ∀ P ∈ FBF risulta A(P ) ⇒ A(¬P ) 4. 4 Per semplicit`. Quindi FBF ⊆ Y . E possibile utilizzare l’induzione “ordinaria” (sulla lunghezza della formula).4 Sia A una propriet`. in quanto il connettivo di negazione ha precedenza su quello di congiunzione che a sua volta ha precedenza maggiore rispetto a quello di implicazione. A(P ∧ Q) e A(P → Q) Dimostrazione.1 Induzione ` Numerosi risultati sulle fbf vengono dimostrati per induzione. e sarebbe scorrettamente interpretata come A → (B ∨ C)). indicheremo con il simbolo “>” l’espressione “· · · ha precedenza maggiore a di · · · ” 5 A ` verificata. 1. potremmo interpretare questa formula sia come ((A ∧ B) → C) che come (A ∧ (B → C)). essa deve essere interpretata privilegiando le sottoformule i cui connettivi principali hanno precedenza pi` alta (ometteremo anche abitualmente la parentesi u pi` esterna). si scriver` semplicemente ¬A∧B∨C → ¬D. quando ` possibile. allora A(P )5 per tutte le fbf P se: a 1. Questo significa che data una sentenza possibilmente ambigua. ma Y ⊆ FBF.

dovremo supporre sempre v(⊥) = 0.8 1. Per poter estendere v all’insieme di tutte le proposizioni basta definire il valore di verit` di una formula composta a del tipo ¬P . P ∨ Q. v(Q)). La tavola di verit` di P ∧ Q ` la seguente: a e P 0 0 1 1 Q 0 1 0 1 P ∧Q 0 0 0 1 • Disgiunzione P ∨ Q risulta vera se almeno6 una tra P e Q ` vera. l’idea ` quella di assegnare alle proposizioni e atomiche dei valori di verit` ed estenderli a quelle composte in base al signifia cato dei connettivi logici. v(¬P ) = 1⇐⇒ v(P ) = 0 e e o anche v(¬P ) = 1 − v(P ). v(P ∧ Q) = u min(v(P ). altrimenti v(A) = 0. Poich´ le fbf sono costruite a partire dalle proposizioni atomiche mediante l’ue tilizzo dei connettivi ¬. e viceversa. Poich´ ⊥ rappresenta intuitivamente e il falso. di ovvia interpretazione: a P 0 1 ¬P 1 0 • Congiunzione P ∧ Q ` vera se e solo se P ` vera e Q ` vera. Un modo conveniente per rappresentare il valore di verit` di una formula composta ` quello di utilizzare una tabella a e (o tavola) di verit`. P → Q in funzione del valore di verit` v(P ) e a v(Q) delle componenti P e Q. Dunque.4 Semantica In questa sezione presenteremo la semantica del linguaggio precedentemente introdotto attribuendo un valore di verit` ad ogni frase sintatticamente corretta a (fbf). o. v(P ∨Q) = max(v(P ). 1}. in modo pi` compatto. pi` brevemenu te. Avremo quindi v(P ∧ Q) = e e e 1⇐⇒ v(P ) = v(Q) = 1 o anche. P ∧ Q. e Dunque v(P ∨ Q) = 1⇐⇒ v(P ) = 1 oppure v(Q) = 1. Ovviamente. . a Denoteremo con 1 il valore di verit` “vero” e con 0 il valore di verit` “falso”. v(Q)). La tavola di verit` di P ∨Q ` la seguente: a e 6 Il connettivo di disgiunzione va inteso in senso inclusivo (il “vel” latino) e non in senso esclusivo (l’“aut” latino). ∨. Sia a a v una funzione dalle fbf all’insieme {0. Analizziamo dunque i vari connettivi: • Negazione ¬P ` vera quando P ` falsa. che verr` descritto nel seguito. →. tale che se A ` una proposizione atoe mica vera v(A) = 1. ∧. questo valore sar` diverso per i vari a connettivi e in accordo con la loro semantica intesa.

v(Q)) • v(P ∨ Q) = max(v(P ). Se P e Q sono entrambe vere o entrambe false. e Dunque. Inoltre. v(Q)) • v(P → Q) = 0⇐⇒ v(P ) = 1 e v(Q) = 0 7 Russel [Rus03] considera l’enunciato A → A come del tutto equivalente all’asserzione “A ` una proposizione”. o anche v(P → Q) = 1 ⇐⇒ v(P ) ≤ v(Q). indipendentemente dal valore di verit` di A7 .5 Una funzione v : F BF → {0. Ovviamente. in quanto “qualsiasi proposizione implica se stessa. Definizione 1. 1} ` un’ interpretazione se: e • v(¬P ) = 1 − v(P ) • v(⊥) = 0 • v(P ∧ Q) = min(v(P ). in o altri termini. Consideriamo e la formula P → Q. e qualsiasi cosa che e non sia un proposizione non implica nulla”. P → Q risulta falsa soltanto quando P ` vera e Q ` falsa. quindi v(⊥) = 0. La tavola di verit` di P → Q ` la a e seguente: P →Q 1 1 0 1 P 0 0 1 1 Q 0 1 0 1 • Il simbolo ⊥ viene interpretato come falso. si vuole che A → A sia sempre vera. Dunque A ` una proposizione se e solo se implica e se stessa. se Q ` vera. Vediamo ora la definizione formale di interpretazione v. P → Q ` ancora vera: questo a e e essenzialmente dice che la nozione di verit` deve essere stabile rispetto ala l’aggiunta di nuove ipotesi (se Q ` vera. e e Avremo quindi v(P → Q) = 0 ⇐⇒ v(P ) = 1 e v(Q) = 0. ` facile e convincersi che l’implicazione deve essere vera: P e Q denotano in questo caso la stessa informazione e dunque si pu` dire che una implica l’altra. . in tale situazione e e l’implicazione ` falsa. e Rimane il caso in cui P ` vera e Q ` falsa. allora resta vera anche se vale P ).9 P 0 0 1 1 Q 0 1 0 1 P ∨Q 0 1 1 1 • Implicazione Il connettivo di implicazione ` meno ovvio dei precedenti.

Dunque v(P ) = v(P1 ∧ P2 ) = min(v(P1 ). v(A ∧ B) = min(v(A). . . (caso base) Se P ` una proposizione atomica. . il valore v(P ) di una fbf P risulta definito da una funzione di interpretazione che associa un significato a tutte le proposizioni.5 segue che v(¬(A → A ∧ B)) = 1 − v(A → A ∧ B). v due interpretazioni. in caso contrario P ` e insoddisfacibile o contraddittoria. . La computazione appena descritta pu` essere rappresentata.5.10 Dalla Definizione 1. in tale situazione scriveremo v |= P . . . n le proposizioni atomiche distinte che la compongono e vj con j = 1. come segue: a A 1 B 0 A∧B 0 A→A∧B 0 ¬(A → A ∧ B) 1 Definizione 1. Se v(P ) = 1. Esempio 1. v(P2 )) = min(v (P1 ).4 Sia P = ¬(A → A ∧ B) e v un’interpretazione la cui restrizione a {A. tuttavia. infatti: Lemma 1. . l’asserto segue banalmente dalle e ipotesi. cio` e e se esiste almeno una interpretazione che la soddisfa. comprese quelle che non compaiono in P . I rimanenti casi sono analoghi e vengono lasciati al lettore come esercizio. analogamente. Per induzione sulla struttura di P .6 segue che per determinare se una data formula P ` contrade dittoria. Siano o a P la fbf da esaminare.9 Una fbf P ` una tautologia (` valida) se ogni interpretazione e e v ` un modello per P (cio` se P risulta vera in ogni interpretazione). . v(P1 ) = v (P1 ) e v(P2 ) = v (P2 ). Tale controllo si pu` effettuare mediante una tavola di verit`. Supponiamo che P abbia la forma P1 ∧ P2 . Dal Lemma 1. In tale e e situazione scriveremo |= P . ` facile dimostrare che v(P ) dipende soe lo dagli assegnamenti dei valori di verit` delle formule atomiche che compongono a P . e che v ` un modello per P . 1) = 0 quindi v(¬(A → A ∧ B)) = 1. Veniamo al caso induttivo. v (P2 )) = v (P1 ∧ P2 ) = v (P ). e v. . 2n le possibili interpretazioni.6 Sia P una fbf. Ai con i = 1. soddisfacibile o tautologica. e Dalla Definizione 1. oppure. Per ipotesi induttiva.7 Sia P una fbf e v una qualche interpretazione. allora v(P ) = v (P ). ` sufficiente controllare un numero finito e di assegnamenti di valori in {0. Definizione 1. B} ` la seguente: v(A) = 1 e v(B) = 0. da una tavola di verit`. allora si dice che P ` soddisfatta nell’interpretazione v. 1} per le proposizioni atomiche distinte che vi compaiono. Dimostrazione. in modo pi` como u patto. v(B)) = min(0. Se v(Ai ) = v (Ai ) per tutte le proposizioni atomiche Ai che occorrono in P .8 Una fbf P ` soddisfacibile se ha almeno un modello. e Definizione 1.

Sia P la fbf A → ¬A ¬A 1 0 A → ¬A 1 0 A 0 1 P ` soddisfacibile. e B 0 1 0 1 Teorema 1. . ` una tautologia se tale sequenza ` e e composta soltanto da 1. e e Dimostrazione. . Sia Q la fbf A → A ∨ B. . e e Esempio 1. ` contraddittoria se ` composta unicamente da 0. e . 2.5 1. Un semplice esempio di formula contraddittoria ` A ∧ ¬A. Infatti: e A 0 1 3. A∨B 0 1 1 1 A→A∨B 1 1 1 1 ¬A 1 0 A ∧ ¬A 0 0 A 0 0 1 1 Q ` una tautologia. P ` una tautologia e ⇐⇒ ⇐⇒ ⇐⇒ ⇐⇒ ogni interpretazione ` un modello per P e ogni interpretazione non ` un modello per ¬P e ¬P non ha modelli ¬P ` insoddisfacibile. v2n (P )) contiene almeno un 1.10 Una fbf P ` una tautologia se e solo se ¬P ` insoddisfacibile. e l’interpretazione che la soddisfa ` quella che assegna e e ad A il valore 0. .11 A1 v1 (A1 ) v2 (A1 ) ··· ··· v2n (A1 ) A2 v1 (A2 ) v2 (A2 ) ··· ··· v2n (A2 ) ··· ··· ··· ··· ··· ··· An v1 (An ) v2 (An ) ··· ··· v2n (An ) P v1 (P ) v2 (P ) ··· ··· v2n (P ) P ` soddisfacibile se e solo se la sequenza di valori di verit` ottenuti per P e a (v1 (P ).

v(Pi ) = 1. ossia P |= Q. v(P ) = 1 ⇒ v(Q) = 1 e quindi v(P → Q) = 1 ∀v. v(Pi ) = 1) ⇒ v(Q) = 1). utilizzando il lemma precedente. Definizione 1. Dimostrazione. Dimostrazione. a Lemma 1. (⇐) Supponiamo che |= P → Q. Infatti Definizione 1. si pu` porre a o . se e solo se ∀v ((∀Pi ∈ Γ. Teorema 1. Vediamo ora come la nozione di conseguenza semantica sia correlata a quelle di soddisfacibilit` e tautologia. Diremo che Q ` conseguenza (see mantica) di Γ.11 Sia Γ un insieme di fbf. Per definizione. v(Pi ) = 1) ⇒ v(P ) = 1). allora Lucia ` spagnola oppure Giovanni ` francese. v(P → Q) = 1. Esempio 1. Γ |= P se e solo se per ogni interpretazione v ((∀Pi ∈ Γ.12 Le nozioni di soddisfacibilit` ed insoddisfacibilit` si estendono in modo ovvio a a a insiemi (eventualmente infiniti) di formule. vale a dire che |= P → Q. ma poich´ v(P → e Q) = 0 ⇐⇒ v(P ) = 1 e v(Q) = 0.15 (Deduzione semantica) P1 . (⇒) Supponiamo che P |= Q. allora Elena ` tedesca.14 P |= Q se e solo se |= P → Q. allora ∀v. e Dimostrazione. e e e (b) Se Elena ` tedesca. · · · .13 Γ |= P se e solo se Γ ∪ {¬P } ` insoddisfacibile. · · · . Γ ` insoddisfacibile se per ogni e interpretazione v. Consideriamo a ad esempio le seguenti ipotesi: (a) Se Carlo ` americano e Giovanni non ` francese. e e e (c) Se Lucia non ` spagnola allora Carlo ` americano. e Vogliamo dimostrare che queste implicano che Lucia ` spagnola. In altri termini Γ |= Q se e solo se Q ` vera per tutte le interpretazioni che sono e dei modelli per Γ. la logica proposizionale ` sufa e ficiente per formalizzare ragionamenti di una certa complessit`. vuol dire che ∀v.6 Pur nella sua povert` espressiva. e scriveremo Γ |= Q. Ad esempio.12 Sia Γ un insieme di fbf. si individuano innanzitutto le sentenze elementari e si associano ad esse. dei nomi simbolici. Pn |= Q se e solo se P1 . e Il primo passo consiste nel formalizzare il problema in logica proposizionale. A tale scopo. Si effettua. ∃Pi ∈ Γ tale che v(Pi ) = 0. per semplicit`. v(P ) = 1 ⇒ v(Q) = 1. Pn−1 |= Pn → Q ∀n ≥ 1. e e (d) Giovanni non ` francese. In caso contrario scriveremo Γ |= Q. Questo equivale a dire che per ogni v o esiste un qualche Pi ∈ Γ tale che v(Pi ) = 0 oppure v(P ) = 1 e dunque. allora ∀v. Lemma 1. Γ ` soddisfacibile se esiste un’ine terpretazione v tale che ∀Pi ∈ Γ. per ogni v esiste almeno una formula Q ∈ Γ ∪ {¬P } per cui v(Q) = 0. per induzione su n.

13 A B C D = = = = Carlo ` americano e Giovanni ` francese e Elena ` tedesca e Lucia ` spagnola e Le ipotesi iniziali si riscrivono quindi nel modo seguente: (a) (b) (c) (d) = = = = A ∧ ¬B → C C →D∨B ¬D → A ¬B ed il problema consiste nel dimostrare che (A ∧ ¬B → C) ∧ (C → D ∨ B) ∧ (¬D → A) ∧ (¬B) |= D o anche.1 Decidibilit` della logica proposizionale a Nella sezione precedente abbiamo visto che ` possibile decidere se una fbf P ` e e soddisfacibile costruendone la tabella di verit` e verificando se la colonna cora rispondente alla formula P contiene almeno un 1. per il teorema di deduzione semantica. |= (A ∧ ¬B → C) ∧ (C → D ∨ B) ∧ (¬D → A) ∧ (¬B) → D La natura tautologica della formula P = (A ∧ ¬B → C) ∧ (C → D ∨ B) ∧ (¬D → A) ∧ (¬B) → D pu` ora essere facilmente verificata mediante la costruzione della sua tabella di o verit`: a A B 0 0 0 0 0 0 0 0 0 1 0 1 0 1 0 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 (a) (b) (c) (d) (a) ∧ (b) ∧ (c) ∧ (d) P 1 1 0 1 0 1 1 1 1 1 1 1 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 0 1 1 1 0 0 0 1 1 1 1 0 0 1 0 1 1 1 0 1 0 1 1 1 0 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1.4. Se tale formula contiene n .

oppure se le due classi e coincidono. se tale inclusione sia stretta. Sia P la classe dei problemi polinomiali. Ovviamente. in tempo polinomiale. o u o meglio la classe dei linguaggi per i quali esiste un algoritmo di riconoscimento. Sia N P la classe dei linguaggi per cui esiste un algoritmo non deterministico di riconoscimento che opera in tempo polinomiale. e richiede un tempo a lineare nella dimensione di Q). trasforma ogni stringa x in una stringa g(x) tale che x ∈ L1 se e solo se g(x) ∈ L2 . ` E naturale chiedersi se non sia possibile fare meglio. Dunque. Vediamo di essere un p` pi` formali. Questo resta tuttoggi il pi` famoso dei problemi aperti nell’ambito u dell’informatica teorica. il fatto che esistano linguaggi N P-completi pu` risultare soro prendente. tute tavia. ha e la capacit` di scegliere sempre quella pi` conveniente per la risoluzione del proa u blema. SAT ` un problema in N P.14 proposizioni atomiche distinte. ed in particolare se il problema della soddisfacibilit` per formule della logica proposizionale (che india cheremo brevemente con SAT) non sia risolubile in tempo polinomiale. duplicare l’algoritmo di verifica ogni volta che si incontra una nuova proposizione atomica A in Q in base alle due possibili alternative A = 0 o A = 1. sarebbero anch’essi risolubili in tempo polinomiale). cio` un algoritmo in grado di decidere se una data espressione appartiene o e meno al linguaggio in esame in tempo polinomiale. Tuttavia. esiste una certa evidenza di questo fatto. in quanto ` possibile e dimostrare che se SAT fosse risolubile in tempo polinomiale allora tutta una serie di importanti problemi matematici. nel caso peggiore. Naturalmente. dovendo effettuare delle “decisioni”. o meglio. si ` cercato invano una soluzione algoritmicamente efficiente sarebbero risolubili e in modo sostanzialmente migliore di quanto non sia attualmente noto (in particolare. fisici ed informatici di cui. sia in grado di duplicare se stesso. in quanto per determinare se una proe posizione Q ` soddisfacibile basta “indovinare” non deterministicamente l’ine terpretazione corretta e verificare che essa soddisfa effettivamente Q (questo corrisponde al calcolo di una riga della tabella di verit`. la sua tabella di verit` sar` costituita da 2n ria a ghe. Equivalentemente. cio` se P = N P. In realt`. per anni. corrispondenti a tutte le differenti interpretazioni di P . posto di fronte a o pi` alternative possibili. risulta P ⊆ N P in quanto gli algoritmi deterministici possono essere visti come casi particolari di quelli non deterministici. il suddetto algoritmo di verifica pu` richiedere un tempo esponenziale o rispetto alla dimensione della formula. se appartiene ad N P ed ogni altro linguaggio in N P ` riducibile ad esso in tempo polinomiale. si pu` immaginare che l’algoritmo. procedendo in pau rallelo su tutte le computazioni fino a che una di esse non termina con successo.16 Dati due linguaggi L1 e L2 diremo che L1 ` riducibile in teme po polinomiale a L2 se esiste un algoritmo che. Fino ad ora nessuno ` stato in grado di provare che SAT sia intrinsecamente esponene ziale. In modo equivalente. Non ` noto. e A prima vista. Un linguaggio si dice N P-completo. molti importanti problemi pratici sono N P-completi. Ricordiamo che un algoritmo non deterministico ` un algoritmo che. si possono considerare in parallelo le varie interpretazioni possibili. Per a . Definizione 1.

Definiamo quindi una proposizione atomica Ci. i possibili valori di X sono finiti. l’intera sequenza degli stati s0 . . la computazione del programma pu` essere circoscritta ad un’area di memoria di dimensione p(n). L’idea ` che Ci. per rispettare la riducibilit` a polinomiale. Dunque. sp(n) pu` essere rapo presentata da una matrice C di dimensione p(n)2 . Teorema 1. X) tale che X pu` apparire e o nello stato i + 1 in una qualche posizione j. al fine soprattutto di mostrare le sorprendenti potenzialit` espressive del calcolo proposizionale presentiamo un’intuizione della a dimostrazione. . poich´ ogni operazione a e elementare ` finita. della teoria della complessit` afferma che la complessit` in spazio ` sema a e pre inferiore o uguale alla complessit` in tempo. quali sono le configurazioni ammissibili dello stato all’istante i + 1 (riga i + 1 della matrice) rispetto allo stato all’istante precedente (ovvero alla riga i).X = 1 se e solo se C[i. Qx deve poter essere generata in tempo polinomiale rispetto ad x. j] = X. ed hanno una natura “locale” ed “uniforme” che in generale ne consente una semplice codifica. e La dimostrazione di tale teorema richiederebbe una formalizzazione pi` precisa u delle classi P e N P con riferimento a particolari agenti di calcolo (di solito. pu` al massimo scrivere in un numero finito (supponiamo e o unitario) di nuove locazioni di memoria. Idea della dimostrazione Sia L un linguaggio in N P. Infatti. . . Dobbiamo quindi descrivere.j. un risultato elementare. Ogni stato ` essenzialmente definito dalla particolare configurazione della e memoria al tempo t.X per ogni possibile valore di i.j. mediante formule proposizionali. Ogni cella C[i.15 nessuno di questi ` nota una soluzione polinomiale (che implicherebbe P = N P).X risulti vera. Data la natura finita dell’agente di calcolo (il microprocessore). o Come conseguenza. per ogni i e j. Poich´ ogni locazione di memoria ha e dimensione finita. e cos` via fino ı all’istante p(n). La prima riga descriver` la a memoria al tempo 1. j] della matrice definisce dunque il contenuto X della locazione di memoria j all’istante i. Per meglio dire ` possibile definire una funzione f (W. sp(n) della computazione del programma. j. s1 . s1 . Consideriamo gli stati successivi s0 . e il che induce alla congettura P = N P. si utilizzano le macchine di Turing8 ) che esula dagli obiettivi del presente volume. i cambiamenti ammissibili della configurazione sono finiti. . Ora. se e solo se lo stato all’istante i 8 Per una semplice introduzione alle Macchine di Turing si vedano [Man78] e [AAAM79]. Vogliamo costruire una formula Qx che sia soddisfacibile se e solo se x ∈ L. la seconda riga la memoria al tempo 2. Allora esiste un algoritmo (o programma) non deterministico in grado di decidere in un tempo polinomiale p(n) se una data stringa x di lunghezza n appartiene o meno ad L. ma essenziale. Inoltre. a tale scopo. esattamente una sola proposizione atomica Ci. X. . Tuttavia.17 (di Cook) SAT ` N P-completo.j. Questo ` sufficiente per rappresentare la e matrice in logica proposizionale. Alcune semplici formule e logiche basteranno per garantire che. . con 1 ≤ t ≤ p(n).

Abbiamo discusso fino ad ora il problema della soddisfacibilit` di formule proa posizionali. Ovviamente. Questo e suggerisce la congettura che possano esistere linguaggi nell’intersezione di N P e co-N P che non sono in P. e NP co − N P = ∅ in quanto P ∈ N P co − N P. Esistono inoltre dei problemi (il pi` famoso ` quello di decidere se un numero intero n non ` primo. · · · . in quanto P ` banalmente chiusa per complementazione. u e e cio` se esistono due fattori p e q tali che n = pq).4. An tale che ogni sottoinsieme finia to di Γ ha un modello nel quale A1 . A questo punto restano solo da aggiungere delle formule e che specificano lo stato iniziale e finale della computazione.[BM77] p. 1.16 in un opportuno “intorno” finito di j (che in generale dipende dal particolare agente di calcolo) ` W. Supponiamo di aver definito un assegnamento v di valori di verit` ad A1 . (⇒) Immediata. nel primo caso. decidere se una formula P . non esiste nessun e problema N P-completo il cui complemento sia noto essere in N P. La formula Qx risultante dalla congiunzione di tutte le formule precedenti ` e soddisfacibile se e solo se il programma era in grado di riconoscere x. · · · . v(An ) 9 Il nome “compattezza” deriva dal fatto che tale teorema implica la compattezza (in senso topologico) di un opportuno spazio topologico detto spazio di Stone (cfr. Se questo non fosse vero. non ` noto se la classe dei linguaggi N P sia chiusa per complee mentazione. A2 . si devono comunque controllare a tutte le 2n possibili interpretazioni.18 (Compattezza9 ) Un insieme Γ di fbf ` soddisfacibile se e solo se ogni sottoinsieme finito ∆ di Γ e lo `. In particolare. Che possiamo dire riguardo alla loro tautologicit`? Poich´ una a e formula ` una tautologia se e solo se la sua negata ` insoddisfacibile (Teorema e e 1. Siano A1 . in quanto. · · · .2 Teorema di compattezza In questa sezione dimostreremo un risultato semantico di particolare importanza: il teorema di compattezza.182). Inoltre Qx ` sufficientemente semplice da essere generata in tempo polinomiale a partire e da x. . e Dimostrazione. risulterebbe P = N P. contenente n proposizioni atomiche distinte. che sono in N P. A3 · · · e le formule atomiche distinte che compaiono in Γ. ` insoddisfacibile appare pi` complesso che non decidere la e u sua soddisfacibilit`. (⇐) Per ipotesi ogni sottoinsieme finito di Γ ` soddisfacibile.10). Anche avendo a disposizione un algoritmo non deterministico. ` comunque necessario attendere il risultato di tutte le come putazioni per ogni interpretazione e verificare che nessuna di queste soddisfi la formula. An assumono i valori v(A1 ). In generale. Intuitivamente. La classe dei linguaggi il cui complemento ` in N P si dice co-N P. Teorema 1. hanno come plementare in N P e per i quali non ` noto un algoritmo polinomiale. tale problema ` il complementare di SAT (verr` nel seguito indicato con e a SAT ).

· · · . (⇒) Per il Lemma 1. Applicazioni di tale teorema alla logica verranno mostrate nei capitoli 5 e 6. Osservazione Tale dimostrazione non ` costruttiva in quanto garantisce e l’esistenza di un modello per Γ. che non ha un modello nel quale A1 · · · An . An }. v(An ) e v(An+1 ) = 0. come esempio di utilizzo dello stesso nella matematica si veda l’Esercizio 1. v(An ). Osserviamo in particolare che in base a tale semantica si ritiene vera una formula implicativa del tipo A → B anche nel caso in cui A sia falsa e B sia vera. Proviamo allora che ogni sottoinsieme finito di Γ ha un modello nel quale A1 . · · · .19 Un insieme Γ di fbf ` insoddisfacibile se e solo se esiste un e sottoinsieme finito ∆ di Γ che lo `. Dal e Teorema 1. e v(An+1 ) dovr` assumere il valore 1. a Supponiamo. Infatti. 1. Essendo {P } un sottoinsieme finito di Γ e poich` per ogni n e tutti i sottoinsiemi finiti di Γ hanno un modello nel quale A1 . ma non lo esibisce. per ipotesi induttiva ha un modello nel quale A1 . questo significa che esiste ∆ ⊆ Γ. e. ∆ finito.4. · · · . e Nel capitolo dedicato al Metodo di risoluzione verr` utilizzato in questa seconda a forma. Infatti. scele to n sufficientemente grande. a Il limite v di questa costruzione ` un modello per Γ. Dimostrazione.17 e mostriamo che ` sempre possibile estendere v ad An+1 in modo che tale proe priet` continui a valere. ∀P ∈ Γ. che ponendo v(An+1 ) = 0 non sia verificata la summenzionata condizione. Da cui segue. per come si ` scelto ∆ . sia ∆ un qualunque sottoinsieme finito di Γ. come o segue: Teorema 1.3 Nota sul connettivo di implicazione La semantica fornita in precedenza per il connettivo di implicazione non rispecchia del tutto fedelmente il significato intuitivo che si d` alle espressioni a condizionali nel linguaggio naturale. · · · .13 che ∆ |= P .20 Sia Γ un insieme di fbf e P una proposizione. Come semplice corollario della formulazione precedente del teorema di compattezza si ottiene: Teorema 1. · · · . An+1 assumono i valori v(A1 ). in modo equivalente. · · · . (⇐) Immediata. Γ |= P se e solo se esiste un sottoinsieme finito ∆ di Γ tale che ∆ |= P . An+1 assumono i valori v(A1 ). An assumono i valori v(A1 ). e v(An+1 ) = 1. · · · . tutte le proposizioni atomiche in P occorrono in {A1 . per fissare le idee. Sebbene questa sia l’interpretazione data . Γ |= P se e solo Γ ∪ {¬P } ` insoddisfacibile. An . An assumono i valori v(A1 ). allora ∆ ∪ ∆ ` ancora un e sottoinsieme finito di Γ e quindi.19 esiste allora un sottoinsieme finito ∆ di Γ tale che ∆ ∪ {¬P } ` e insoddisfacibile. · · · . v(An ).21. Il teorema di compattezza pu` essere formulato.13. v(An ) risulta v(P ) = 1. ancora per il Lemma 1.

e riassunta a nel motto latino ex falso sequitur quodlibet. Tuttavia. ma unicamente le relazioni tra le loro denotazioni. Il problema in questo caso ` pi` sottile. se e e formalizzata in logica proposizionale. Tuttavia. Dunque. a Tuttavia. su di un piano strettamente logico. sia nel caso in cui valga A sia nel caso in cui valga ¬A siamo in grado di concludere logicamente (A → B) ∨ (B → A). questa relazione di inferibilit`. essa assume la forma (A → B) ∨ (B → A). che ` in effetti una tautologia. cio` il fatto che da A siamo in a e grado di concludere B mediante un qualche ragionamento logico. non si vede alcuna ragione per cui date due formule completamente arbitrarie A e B si debba necessariamente avere che A implichi B oppure B implichi A. e a maggior ragione anche (A → B) ∨ (B → A). relazione tra il piano linguistico e quello metalinguistico. se si suppone ¬A. la formula da considerare non ` e dunque se oggi ` martedi domani piove oppure se domani piove oggi ` martedi. Possiamo ora legittimamente concludere che in ogni caso vale (A → B) ∨ (B → A)? Si.18 al connettivo di implicazione fin dall’antichit` (Filone il Megarico). Questo risolve parte dell’ambiguit`. infatti: e A 0 0 1 1 B 0 1 0 1 A→B 1 1 0 1 B→A 1 0 1 1 (A → B) ∨ (B → A) 1 1 1 1 Le obiezioni relative all’interpretazione del connettivo di implicazione sono essenzialmente riconducibili a due ordini differenti di problemi: 1. appartiene ad un livello metalinguistico. se si suppone A. Consideriamo ad esempio la frase se oggi ` martedi domani piove oppure se doe mani piove oggi ` martedi. Dunque si deve sempre fare riferimento a alla forma astratta delle sentenze composte. Ovviamente. non sar` a mai vero che A B oppure B A (dunque non abbiamo una corrispondenza immediata tra il livello linguistico e quello metalinguistico). se sul piano deduttivo (metalinguistico) si assume che A ∨ ¬A sia comunque dimostrabile. ovvero tra i loro valori di verit`. ricordiamo che la logica proposizionale non intende trattare le intensioni delle sentenze (il senso). Per quanto riguarda il primo aspetto. Nel caso precedente. 2. no altrimenti. e legato al fatto che intuitivamente si ` portati a leggere l’implicae u e zione A → B come una asserzione di inferibilit`. Indichiamo informalmente con A B il fatto che siamo in grado di “concludere” B dalla ipotesi A. e quindi ancora (A → B) ∨ (B → A). ancora. Questa ` apparentemente priva di senso. Dunque. ci si aspetta di poter ancora concludere A → B. vale a dire ci` che le o sentenze effettivamente esprimono. vedendo i costituenti elementari come dei semplici nomi. che verr` trattata formalmente nel prossimo caa a pitolo. ci si aspetta di poter concludere B → A. e e ma la sua astrazione (A → B) ∨ (B → A). relazione tra il piano intensionale e quello estensionale. per A e B arbitrari. il problema si riflette a questo livello. Allo stesso modo. essa pu` portare a conseguenze apo parentemente paradossali. Come . Ovviamente.

. nel seguente modo: R[P /A ] = R P se R ` una proposizione atomica diversa da A e se R = A (¬R)[P /A ] = ¬R[P /A ] (R1 ∨ R2 )[P /A ] = R1 [P /A ] ∨ R2 [P /A ] (R1 ∧ R2 )[P /A ] = R1 [P /A ] ∧ R2 [P /A ] (R1 → R2 )[P /A ] = R1 [P /A ] → R2 [P /A ] Teorema 1. • Se R ` ¬R1 . a a ammetter` tale assioma (o una qualche forma ad esso equivalente). o In altri termini. v(P ) = v(Q). tra i quali assume una particolare rilevanza il sistema intuizionista. Definizione 1. 1. ci si aspetta di ottenere una proposizione equivalente ad R. denoteremo ci` con P ≡ Q.19 vedremo.4 Equivalenza semantica Quando i valori di verit` di due formule coincidono per ogni interpretazione. R[P /A ] ` la fbf ottenuta rimpiazzando tutte le e occorrenze di A in R con P . Formalmente: Definizione 1. Per induzione sulla struttura di R. Dimostrazione. allora. Per ipotesi induttiva v(R1 [P /A ]) = v(R1 [Q /A ]). mirato ad avere una completa corrispondenza tra la semantica a valori di verit` e la relazione di derivabilit` del calcolo logico. Simbolicamente. a cui accenneremo brevemente nel prossimo capitolo. In a generale. Allora. Se invece R = A. La sostituzione di P al posto di A definisce una funzione dalle formule ben formate alle formule ben formate che pu` essere o formalizzata.21 Due fbf P e Q sono (semanticamente) equivalenti se per ogni interpretazione v. v(R[P /A ]) = v(R[Q /A ]). (caso base) Se R ` una proposizione atomica diversa da A. e sia A una fbf atomica (non necessariamente contenuta in R). due fbf sono equivalenti se hanno la stessa tabella di verit`. Se v(P ) = v(Q). allora risulta v(R[P /A ]) = v(P ) = v(Q) = v(R[Q /A ]). a queste si dicono semanticamente equivalenti. l’approccio classico. sistemi siffatti sono detti non classici.22 Siano R e P due fbf. Altri sistemi a logici. per ogni R. sostituendo una proposizione P con una proposizione Q ad essa equivalente all’interno di una proposizione R. allora l’asserto ` e e banalmente verificato.23 Sia v una qualche interpretazione. in quanto in tale situazione R[P /A ] = R = R[Q /A ]. per induzione.4. Veniamo al caso induttivo. Per formalizzare questa intuizione ` necessario e introdurre la nozione di sostituzione. a Intuitivamente. e v((¬R1 )[P /A ]) = 1 − v(R1 [P /A ]) = 1 − v(R1 [Q /A ]) = v((¬R1 )[Q /A ]). rifiutano invece questa regola (per cui una formula del tipo (A → B) ∨ (B → A) non sar` derivabile).

Poich` P ≡ Q. Teorema 1.7 Sia = ¬⊥. Per ipotesi induttiva v(Ri [P /A ]) = v(Ri [Q /A ]) per i = e 1. e detto teorema di sostituzione (TS): Teorema 1. v(R2 [Q /A ])} v(R1 [Q /A ] ∧ R2 [Q /A ]) v((R1 ∧ R2 )[Q /A ]). Vogliamo dimostrare che per ogni formula P ed ogni proposizione atomica A la formula Q = P → (A → P [ /A ]) ` una tautologia. v(A) = v( ) e per il Teorema 1.23 deve essere v(P [ /A ]) = v(P [A /A ]) = v(P ) = 1. Vediamo qui di seguito delle utili equivalenze di fbf. Ovviamente. I rimanenti casi sono lasciati al lettore come esercizio. Come conseguenza. v(A → P [ /A ]) = 1 e dunque anche v(Q) = 1. allora R[P /A ] ≡ R[Q /A ]. v(P ) = v(Q). v(R2 [P /A ])} min{v(R1 [Q /A ].23 segue che in ogni fbf sostituendo parti tra loro equivalenti si ottengono fbf equivalenti. Vediamo una semplice applicazione del teorema precedente. Dimostrazione. Sia v una generica interpretazione. Esempio 1. Nel secondo caso. Se v(P ) = 0. per il Teorema 1. Nel primo caso.23. Dal Teorema 1. Sia dunque v una generica interpretazione. Supponiamo dunque che v(P ) = 1 e distinguiamo due casi a seconda che v(A) = 0 o v(A) = 1. Risulta: v((R1 ∧ R2 )[P /A ]) = = = = = v(R1 [P /A ] ∧ R2 [P /A ]) min{v(R1 [P /A ].20 • Se R ` (R1 ∧ R2 ). v(A → P [ /A ]) = 1 e dunque anche v(Q) = 1. e Dunque. in ogni interpretazione risulta v( ) = 1.24 Se P ≡ Q. Q ` e e banalmente vera. v(R[P /A ]) = v(R[Q /A ]). 2.25 . questo risultato ` espresso dal seguente teorema.

v(Ai ) = e ai . fP (a1 . . 1}n → {0. 1} che associa ad ogni attribuzione di valori di verit` per a A1 .21 idempotenza P ∨P ≡P P ∧P ≡P P ∨Q≡Q∨P P ∧Q≡Q∧P (P ∨ Q) ∨ R ≡ P ∨ (Q ∨ R) (P ∧ Q) ∧ R ≡ P ∧ (Q ∧ R) P ∨ (P ∧ Q) ≡ P P ∧ (P ∨ Q) ≡ P P ∨ (Q ∧ R) ≡ (P ∨ Q) ∧ (P ∨ R) P ∧ (Q ∨ R) ≡ (P ∧ Q) ∨ (P ∧ R) ¬(P ∨ Q) ≡ ¬P ∧ ¬Q ¬(P ∧ Q) ≡ ¬P ∨ ¬Q ¬¬P ≡ P commutativit` a associativit` a assorbimento distributivit` a leggi di De Morgan doppia negazione Dimostrazione. la funzione fP : {0. Tutte le equivalenze precedenti possono essere facilmente provate utilizzando la definizione di interpretazione semantica della logica proposizionale. v(¬(P ∨ Q)) = v(¬P ∧ ¬Q). dove v ` una interpretazione t. Formalmente: a Definizione 1. . An definisce una funzione di verit` a fP : {0. . 1} tale che ∀(a1 . Si possono ottenere dimostrazioni alternative utilizzando le tavole di verit`.5 Completezza funzionale Ogni fbf P con proposizioni atomiche A1 . 1}n → {0. . a titolo esemplificativo. . anche i connettivi logici definiscono delle funzioni di verit`. an ) ∈ {0. . . a 1. Se il connettivo ` n-ario. . ∀Ai ∈ P . 1}. . . ` la funzione di verit` di P . per ogni v. e a Allo stesso modo. . An . .c. . . An il valore di verit` di P . . una delle leggi di De Morgan: v(¬(P ∨ Q)) = 1 ⇐⇒ ⇐⇒ ⇐⇒ ⇐⇒ v(P ∨ Q) = 0 v(P ) = v(Q) = 0 v(¬P ) = v(¬Q) = 1 v(¬P ∧ ¬Q) = 1 Dunque. . . .4. quindi per definizione di equivalenza semantica ¬(P ∨ Q) ≡ ¬P ∧ ¬Q. . an ) = v(P ). . Mostriamo.26 Sia P una fbf contenente esattamente n proposizioni atomiche distinte A1 . a descritte dalle loro tabelle di verit`. chiameremo funa e .

8 La funzione di verit` del connettivo ∧ (f∧ ) ` fA∧B . ogni funzione f : {0. 1}. 1}n → {0. Ad esempio. Esempio 1.28 . e un connettivo c∈C. in linea di principio. In altri termini. →}. 1} definisce un qualche connet2 tivo n-ario. ∧. mentre ne abbiamo definiti solamente 3. Che possiamo dire degli altri connettivi? Definizione 1. per tale motivo ` chiamata “o esclusivo” (corrisponde all’ “aut” latino) e e si ` soliti indicarla con il simbolo ∨.22 zione di verit` del connettivo la funzione di verit` della formula proposizionale a a ottenuta applicando il connettivo ad n proposizioni atomiche distinte. Dunque. 1}2 in {0. viceversa.9 La fbf P = (A ∧ ¬B) ∨ (¬A ∧ B) definisce la funzione di verit` a descritta dalla seguente tavola di verit`: a A 0 0 1 1 B 0 1 0 1 ¬A 1 1 0 0 ¬B 1 0 1 0 A ∧ ¬B 0 0 1 0 ¬A ∧ B 0 1 0 0 P 0 1 1 0 Osserviamo che tale funzione risulta vera se e solo se i suoi argomenti hanno differenti valori di verit` (A ` vera e B ` falsa o.10 La fbf Q = (A → B) ∧ (B → A) definisce la funzione di di verit` descritta dalla seguente tavola: a A 0 0 1 1 B 0 1 0 1 A→B 1 1 0 1 B→A 1 0 1 1 Q 1 0 0 1 Tale funzione risulta vera se e solo se i suoi argomenti (A e B) hanno lo stesso valore di verit` (o sono entrambi veri o entrambi falsi). A ` falsa e B ` a e e e e vera). Esempio 1. se n = 2 vi sono 2(2 ) = 16 funzioni da {0. ∨ ` dunque un connettivo derivabile da e e {¬. esistono 16 connettivi binari differenti. Teorema 1. ↔ ` dunque un connettivo derivabile da {∧. c si dice (semanticamente) derivabile da C se esiste una formula proposizionale P costruita con i soli connettivi di C tale che fP = fc . ∨}. a e Concettualmente. e Il teorema che segue stabilisce delle utili equivalenze che permettono di definire (derivare) alcuni connettivi in termini di altri. viene solitamente india cata con il simbolo ↔.27 Dato un insieme di connettivi logici C. un connettivo ` derivabile se ` possibile definirlo in funzione di e e altri connettivi. Esempio 1.

.c. L’esistenza di insiemi funzionalmente completi consente di restringere l’analisi a proposizioni espresse in termini di connettivi appartenenti ad uno qualsiasi di tali insiemi. per mostrare che un altro insieme di connettivi C’ lo ` e basta ovviamente dimostrare che ogni connettivo del primo insieme ` derivabile e nel secondo. la definizione di un connettivo in modo derivato tende a nascondere le propriet` intinseche del connettivo stesso rendendone il a significato intuitivo assai poco evidente. In questo libro abbiamo adottato un compromesso tra coincisione e chiarezza. ¬} e {∧. A ∨ B ≡ ¬(¬A ∧ ¬B) 4. →. per il Teorema 1. ⊥} come primitivo.23 1. Sapendo che un dato insieme di connettivi C ` fune zionalmente completo. d’altra parte. 1} esiste una fbf P costruita mediante questi t. A → B ≡ ¬A ∨ B 2. ⊥} come primitivo (si veda. la proposizione A ∧ B. E lasciata al lettore per esercizio. A∨B ≡ (A ∧ ¬B) ∨ (¬A ∧ B) ` Dimostrazione. In altri termini. considerando l’insieme {¬.11 Se consideriamo l’insieme {→. 1}n → {0. e Nel seguito dimostreremo che (Corollario 1. a tal proposito. A ∧ B ≡ ¬(¬A ∨ ¬B) 5. ¬} sono funzionalmente completi. ¬A ≡ A → ⊥ 7. l’esercizio 1. ∨. Definizione 1. un insieme di connettivi ` funzionalmente completo se ogni altro e connettivo ` derivabile da essi. A ∨ B ≡ ¬A → B 3.29 Un insieme di connettivi logici si dice funzionalmente completo se per ogni funzione f : {0. Il vantaggio di utilizzare pochi connettivi ` di dover testare e un numero limitato di casi per dimostrare le propriet` delle formule costruite a a partire da essi. ⊥ ≡ A ∧ ¬A 8.12). ∧. A ∧ B ≡ (((A → ⊥) → ⊥) → (B → ⊥)) → ⊥ 6. ha la forma (((A → ⊥) → ⊥) → (B → ⊥)) → ⊥ il cui significato risulta meno chiaro rispetto alla forma precedente. f = fP .35) gli insiemi {∨. La scelta di uno di questi ` per lo pi` una questioe u ne di convenienza. A↔B ≡ (A → B) ∧ (B → A) 9.28. Esempio 1.

in quanto il procedimento di riscrittura dei sottocomponenti non pu` essere applicato ulteriormente. . la congiunzione di P1 .33 Per ogni fbf P esistono una forma normale congiuntiva P C ed una forma normale disgiuntiva P D . . Pn ` una formula del tipo P1 ∨ P2 ∨ · · · ∨ Pn e (in virt` dell’associativit` del connettivo binario di disgiunzione.12 A ∧ ¬B ∧ (A ∨ C) (¬A ∨ B ∨ C) ∧ (¬C ∨ A) sono fbf in forma normale congiuntiva. n. . Pi ` una congiunzione e di letterali. Lo schema della procedura di trasformazione ` il seguente: e Passo 1 si eliminano i connettivi diversi da ∧.32 Una fbf P ` detta in forma normale disgiuntiva (fnd) se e e solo se P = P1 ∨ · · · ∨ Pn con n ≥ 1. . n. . Definizione 1. dove ∀i = 1. P2 .24 1. Esempio 1. Tipicamente.30 Un letterale ` una proposizione atomica o la sua negazione. Dimostrazione. Analogamente. . ci` si realizza sostitueno do una componente della formula data con altre formule ad essa equivalenti. o Le forme normali che considereremo sono le cosiddette forme normali congiuntive e disgiuntive. Esempio 1. Definizione 1.6 Forme Normali ` E spesso utile poter trasformare una fbf in un’altra ad essa equivalente che ha una qualche forma canonica prestabilita. . Una disgiunzione di fbf P1 . . Per passare da una fbf P ad una forma normale congiuntiva o disgiuntiva equivalente ad essa ` sufficiente utilizzare le equivalenze dimostrate e in precedenza.31 Una fbf P ` detta in forma normale congiuntiva (fnc) se e e solo se P = P1 ∧ · · · ∧ Pn con n ≥ 1. Pn ` una formula del tipo P1 ∧ P2 ∧ e · · · ∧ Pn . dove ∀i = 1. ∨. . ometteremo le u a parentesi).4. Pi ` una disgiunzione e di letterali. ¬ utilizzando il Teorema 1. fino al raggiungimento della forma desiderata. P2 . . e Definizione 1. Teorema 1. tali che P ≡ P C e P ≡ P D . . .28. .13 A ∨ (¬B ∧ C) (A ∧ B) ∨ (C ∧ ¬A) ∨ C sono fbf in forma normale disgiuntiva. Tale forma canonica ` abitualmente e detta normale. . .

Passo 3 si utilizza pi` volte la distributivit` per convertire la fbf P in congiunu a zioni di digiunzioni (per trovare P C ) o in disgiunzioni di congiunzioni (per trovare P D ). . nella procedura precedente. . a • ogni linea di essa che ha valore di verit` 1 d` luogo ad una congiunzione a a i cui letterali sono determinati nel modo seguente: se nell’interpretazione v che corrisponde a quella linea risulta v(Ai ) = 1.15 Data la formula P descritta dalla seguente tavola di verit`: a A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 P 1 0 0 0 1 1 0 0 • P D = (¬A ∧ ¬B ∧ ¬C) ∨ (A ∧ ¬B ∧ ¬C) ∨ (A ∧ ¬B ∧ C) .14 Cerchiamo le forme normali disgiuntiva e congiuntiva equivalenti a (A ∨ ¬B) → C. ¬A ∨ C ∧ (B ∨ C). Esempio 1. ` possie bile trovare la forma normale disgiuntiva (P D ) ad essa equivalente utilizzando il seguente metodo: • si costruisce la tavola di verit` di P . (A ∨ ¬B) → C ≡ ≡ ≡ ¬(A ∨ ¬B) ∨ C (¬A ∧ ¬(¬B)) ∨ C (¬A ∧ B) ∨ C (¬A ∧ B) ∨ C ` in forma normale disgiuntiva. invece.25) per portare i simboli di negazione immediatamente davanti alle proposizioni atomiche. altrimenti ¬Ai . Per ottenere la forma normale congiuntiva (P C ) basta scambiare tra loro. allora viene inserito Ai come letterale. e Sia P una fbf contenente le proposizioni atomiche atomiche A1 . An .25 Passo 2 si utilizzano ripetutamente la legge della doppia negazione e le leggi di De Morgan (Teorema 1. Esempio 1. i ruoli di 0 ed 1 e quelli della disgiunzione e della congiunzione. . e La forma normale congiuntiva `.

26 • P C = (A ∨ B ∨ ¬C) ∧ (A ∨ ¬B ∨ C) ∧ (A ∨ ¬B ∨ ¬C) ∧ (¬A ∨ ¬B ∨ C) ∧ (¬A ∨ ¬B ∨ ¬C).37 P ⊥ ≡ ¬P .16 ((A ∧ ¬B) ∨ C)⊥ = = = = ≡ ⊥ (A ∧ ¬B)⊥ ∧ C ⊥ (A⊥ ∨ (¬B)⊥ ) ∧ ¬C (¬A ∨ ¬B ⊥ ) ∧ ¬C (¬A ∨ ¬¬B) ∧ ¬C (¬A ∨ B) ∧ ¬C La trasformazione ha il seguente effetto: Lemma 1.35 Gli insiemi di connettivi {¬. Osserviamo che le formule prodotte con tale metodo (P C e P D ) non sono necessariamente quelle pi` brevi. . 1. (P ∨ Q)⊥ = P ⊥ ∧ Q⊥ 4.4. ∨} in quanto A ∧ B ≡ ¬(¬A ∨ ¬B) e. Vediamo di precisare meglio questa “dualit`” tra i suddetti a connettivi. u Corollario 1. e Corollario 1.34 L’insieme di connettivi {¬. ∧. (P ∧ Q)⊥ = P ⊥ ∨ Q⊥ 3. ∧} sono funzionalmente completi. Dimostrazione. Segue dal corollario precedente essendo ∧ derivabile da {¬. ∨} ` funzionalmente completo. Per fare ci` definiamo una trasformazione ⊥ tra formule ben formate o nel seguente modo: Definizione 1. (¬P )⊥ = ¬P ⊥ Esempio 1. ∨ derivabile da {¬. ∨} e {¬.7 Dualit` a Consideriamo i valori di verit` di ∨ e ∧: a A ∧ B ` 1 se e solo se A = B = 1 e A ∨ B ` 0 se e solo se A = B = 0 e questi sono duali nel senso che entrambi derivano dal rovesciamento dei ruoli di 0 e 1 nell’altro. viceversa.36 ⊥ : F BF → F BF soddisfa: 1. ∧} . P ⊥ = ¬P se P ` una proposizione atomica e 2.

An ] ` Dimostrazione. Dal Lemma 1. P ⊥ ≡ ¬P se e solo se ∀v.An ] = R⊥ [¬A1 ... Utilizzeremo la trasformazione ⊥ come passo intermedio.An ] ≡ Qd L’inverso deriva immediatamente dal fatto che P d = P .. Lemma 1.... An di simboli proposizionali atomici che compaiono in una proposizione R si ha: Rd [¬¬A1 . P ⊥ ≡ Q⊥ . e Veniamo al caso induttivo: v((P ∨ Q)⊥ ) = v(P ⊥ ∧ Q⊥ ) = min(v(P ⊥ )... Essendo P ≡ Q risulta ¬P ≡ ¬Q. (¬P )d = ¬P d Introduciamo ora la nozione di sostituzione simultanea: Definizione 1. (caso base) Se P ` una proposizione atomica v(P ⊥ ) = v(¬P ) = 1 − v(P )... A tal fine e si consideri una nuova funzione d che chiameremo it funzione di dualit`: a Definizione 1..37.¬An /A1 .. Per definizione di equivalenza semantica...Sn /A1 .. v(P ⊥ ) = v(¬P ) = 1 − v(P ).. La trasformazione ⊥ non risponde pienamente ai nostri scopi. Proviamo la tal cosa per induzione su P .. ..¬An /A1 .40 e dal teorema di sostituzione segue che P d ≡ P ⊥ [¬A1 .41 (Dualit`) a P ≡ Q ⇐⇒ P d ≡ Qd ..40 Per ogni insieme A1 . v(Q⊥ )) = min(1 − v(P ).. Quello che stiamo cercando ` di poter effettivamente interscambiare i connettivi ∧ e ∨.. ....An ] ≡ Q⊥ [¬A1 ..¬An /A1 ..... (P ∧ Q)d = P d ∨ Qd 3..An ] si ottiene sostituendo Si al posto di Ai per tutti gli i ≤ n simultaneamente. Dimostrazione.27 Dimostrazione..... An i simboli proposizionali atomici in P e Q.An ].. 1 − v(Q)) = 1 − max(v(P ). d .39 R[S1 .¬An /A1 .38 d : F BF → F BF ` definita nel seguente modo: e 1. Siano A1 . P d = P se P ` una proposizione atomica e 2..¬¬An /A1 . . ..........An ] e Qd ≡ Q⊥ [¬A1 . ..... ... v(Q)) = 1 − v(P ∨ Q) I rimanenti casi sono lasciati al lettore come esercizio. E lasciata al lettore come esercizio.. da cui.¬An /A1 .. Quindi P d ≡ P ⊥ [¬A1 . per il Lemma 1.. (P ∨ Q)d = P d ∧ Qd 4... . Teorema 1.

L’approccio originario ` di natura algebrica: si tratta di un calcolo per operazioni tra classi. pp. ` solo con i lavori di Boole10 e e De Morgan11 del 1847 che si hanno i primi significativi sviluppi verso una trattazione matematica formale e coerente di questa materia. a partire dalla tabella di verit` di P (il lettore lo dimostri per esercizio. la tabella di verit` di A ∧ B ` a e A 0 0 1 1 B 0 1 0 1 A∧B 0 0 0 1 Invertendo 0 e 1 otteniamo la tabella di verit` di (A ∧ B)d = A ∨ B: a A 1 1 0 0 B 1 0 1 0 A∨B 1 1 1 0 Se una tabella di verit` definisce un certo connettivo c. e esteso in seguito ad un calcolo di relazioni. vol.18 ∧ e ∨ sono duali. Tale approccio fu proseguito.17 Utilizzando il teorema di dualit` ` possibile dedurre la seconda ae legge di De Morgan dalla prima. Esempio 1. diremo che la tabella a duale definisce il connettivo duale cd . ma si deve a Peirce (1885) la formalizzazione a del metodo generale (si veda [PeiCP]. a Ad esempio. e ¬ ` duale di se stesso. procedendo per induzione su P ). Formal Logic (1847) e Syllabus of a Proposed System of Logic (1860). 11 Augustus De Morgan. a Si osservi che in generale ` possibile ottenere la tabella di verit` della formula e a P d semplicemente scambiando ogni 0 in 1 e viceversa. ed ulteriormente sviluppato.28 Esempio 1. nei lavori di Peirce.III. a cui si deve anche la sua generalizzazione a sistemi logici con pi` di due valori di verit`. e 1.223-225). u a 10 George Boole. o La procedura di decisione basata su tabelle di verit` ` utilizzata in modo ina e formale da Frege gi` nel 1879. . Questa tecnica fu poi ampiamente utilizzata da Lukasiewicz [Luk20] e Post[Pos21]. The mathematical analysis of Logic (1847) e An investigation of the laws of thought (1854).5 Cenni storici e bibliografici Bench` esistano innumerevoli anticipazioni del pensiero logico moderno nelle e opere di Leibniz (1646-1716) e vari altri studiosi. cos` come le leggi di idempotenza. Schr¨der e Peano. associativit` ı a e distributivit` della somma da quelle del prodotto.

1890-1905. quando ` possibile. ¬(A ∨ ((¬B) → C))) 5. Karp [Kar72] ha dimostrato la rilevanza computazionale della nozione di N Pcompletezza. (Suggerimento: si utilizzi il principio di induzione strutturale). Esercizi 1. logiche a pi` valori vengono utilizzate per rappresentare e manipolare u informazioni incerte. tra gli altri. ((A ∧ B) ∨ (C → D)) 4. ((A ∧ B) → (¬C)) 2.Schr¨der. Alcune aree di applicazione di tali logiche all’Informatica sono: Intelligenza Artificiale ([Tur84]). In generale. Osserviamo.1 Eliminare. il testo di riferimento tradizionale o per gli aspetti pi` prettamente algebrici ` l’immensa opera di Birkhoff ([Bir40]). a Il principio di dualit` ` abitualmente accreditato a Schr¨der12 . per inciso. verifica della correttezza dei programmi ([Jon86]) e teoria dei codici correttori adattivi ([Mun92]). Post ([Pos41]) fu il primo ad affrontare in modo sistematico il problema della completezza funzionale. (A → (B → (¬C))) 3. Urq86]. ae o Il problema della soddisfacibili`a per formule proposizionali (SAT) ` stato uno t e dei primi esempi di problema N P-completi introdotto in letteratura ([Coo71]).2 Provare che ogni formula ben formata contiene lo stesso numero di parentesi aperte (“(”) e chiuse (“)”). che l’approccio semantico basato su tabelle di verit`. bench` le principali idee siano o e gi` presenti nei lavori di Boole. ¨ . cio` di insiemi completi di connettivi primitivi indipene denti fra loro. o Vorlesungen uber di Algebra der Logik. [RT58. u e Le nozioni di forma normale disgiuntiva e congiuntiva sono state introdotte rispettivamente da Schr¨der (1877) e Peirce (1880). Per una ampia rassegna bibliografica su questi aspetti si vedano [HU79] e [GJ79].29 Per un’introduzione all’argomento si vedano. (A → (B ∧ ((¬C) ∨ D))) 1. sea guito in questo volume. le parentesi nelle seguenti fbf: e 1. Leipzig. 3 vol. si ` dovuto rinunciare alla trattazione formale delle e strutture algebriche sottostanti al calcolo logico (per un approccio semantico di tale tipo il lettore pu` consultare [Cur63]). (A → (B ∨ (C → D))) 6. Purtroppo. ` un caso particolare e piuttosto artificioso di semantica e su di una particolare algebra di Boole con esattamente due elementi. per ragioni di concisione. (¬((¬(¬(¬A))) ∧ ⊥)) 7. 12 E. fornendo un gran numero di esempi pratici.

e e 1. (A ∧ B) ∧ (¬B ∨ C) 7. b. Si motivi la risposta. ` possibile concludere che e Carlo ` americano?. ⊥ ∨ B ≡ B 2. utilizzando le tavole di verit`.5 In base alle ipotesi (a. 1. e u tale che P ` soddisfacibile se e solo se P lo `.30 1. ¬A4 ∨ A5 ` soddisfacibile? e 1. A ∨ B → A ∧ B 8. ¬(A → ¬A) 3.9 Provare che: 1.6 Provare che B ∨ C ` soddisfacibile se e solo se (B ∨ A) ∧ (C ∨ ¬A) lo `. Ak ). cio` che per ogni P ∈ F BF ` possibile coa e e struire una fbf P che ` una congiunzione di disgiunzioni di al pi` 3 letterali. ⊥ → A 5. e e (Suggerimento: si usi il risultato dell’esercizio precedente per decomporre ricorsivamente ogni disgiunzione di letterali A1 ∨ A2 · · · ∨ Ak .6. A |= B 2. d) dell’esempio 1.8 Stabilire se le seguenti affermazioni sono equivalenti: 1. quali delle seguenti formule ben a formate sono delle tautologie: 1. (A → C) → ((B → C) → (A ∨ B → C)) 9. e 1. (A → B) → ((B → ¬C) → ¬A) 1.7 Dimostrare che il problema della soddisfacibilit` (SAT) si pu` ridurre al a o problema della 3-soddisfacibilit`. se |= A allora |= B. A3 ∨ A4 . 1. ¬A → (A → B) 6. c.3 Verificare. ¬⊥ ∧ B ≡ B . con k ≥ 3 nella forma (A1 ∨ A2 ∨ A) ∧ (A3 ∨ · · · ∨ Ak ∨ ¬A) dove A ` una proposizione atomica che e non occorre in A1 . · · · . (A → (B → C)) → ((A → B) → (A → C)) 2.4 Il seguente insieme di formule A1 ∨ A2 . ¬A2 ∨ ¬A3 . A ∨ ¬A 4.

A |= A 4. se A |= B e A |= ¬B.31 3.12 Provare che l’insieme {→. se A ∨ B |= A ∧ B allora A ≡ B. se A |= B e A ∧ B |= C allora A |= C 3. Esprimerlo in funzione di {¬. |= A → B. allora A ∧ B ≡ A e A ∨ B ≡ B 6. allora |= ¬A 9. e 1.10 Stabilire se le seguenti affermazioni risultano vere: 1. a2 . ⊥} ` funzionalmente completo sapendo che lo e ` {∧. ¬}. se A |= C e B |= C. . 1. A |= B e B |= C implica A |= C 5. ¬}. allora A ∨ B |= C. 1. ∧} e {¬. ∨}. 1.13 Sia il connettivo ternario espresso dalla seguente funzione di verit`: a f (a1 . se A ∨ B |= A ∧ B.11 Sia il connettivo definito dalla seguente tavola di verit`: a A 0 0 1 1 Esprimerlo in funzione di {∨. |= A implica ¬A ∨ B ≡ B 8. ¬}.14 Sia il connettivo definito dalla seguente tavola di verit`: a A 0 0 1 1 B 0 1 0 1 A 1 0 0 0 B B 0 1 0 1 A B 1 1 0 0 1. a3 ) = 1 ⇐⇒ a1 + a2 + a3 ≥ 2 Esprimerlo in funzione di {∧. 4. se A |= B allora ¬A |= ¬B 2. 1. |= A implica A ∧ B ≡ B 7.

¬(A↔B) 1. e 1. Fare e altrettanto per una fnd. · · · . Provare che un grafo ` k-colorabile se e solo se e ogni suo sottografo finito lo ` (cfr. a) per tutti gli i. 1. A ∨ (C → ¬(D ∧ B)) 5. →} e {∨. esiste una formula associata ad esso contenente solo il connettivo .17 Trovare le forme normali congiuntive e disgiuntive equivalenti alle seguenti formule: 1. e 1.18 Data la fbf P descritta dalla seguente tavola di verit`: a A 0 0 0 0 1 1 1 1 trovare P D ed P C . [KK67]). ∧} sono funzionalmente completi. Vk tali che due vertici adiacenti non appartengono allo stesso insieme Vi . j ≤ k. 1.32 2.19 Trovare un criterio affinch´ una formula in fnc sia una tautologia. ¬(A → (B → ¬C)) ∧ D 3. (A → B) → (B → ¬C) 2. ¬(A ∧ B ∧ (C → D)) 4. a) ∨ · · · ∨ (k. 1. 1. per ogni connettivo n-ario.20 Provare che i due enunciati del teorema di compattezza sono equivalenti. ↔. Provare che. i = j e per ogni a ∈ V • (1.16 Stabilire se gli insiemi di connettivi {∧. e (Suggerimento: Considerare l’insieme di formule proposizionali su {1. ∨} ` funzionalmente completo e che nessuno dei suoi sottoinsiemi propri lo `.21 Un grafo si dice k-colorabile (k ∈ N ) se esiste una partizione dei suoi vertici in k insiemi distinti V1 . a) B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 P 1 0 1 0 0 1 1 0 . a) → ¬(j. · · · .15 Mostrare che l’insieme di connettivi {∧. k}×V • (i. a) ∨ (2.

33 • (i. e si dimostri che per ogni P . . a) → ¬(i. a 1. dan- in funzione di {¬. b) per tutti gli a. v(P ⊥ ) = 1 − v(P ). 1. ∧}.22 Si definisca il connettivo done la tabella di verit`. a) = 1 se e solo se a ∈ Vi ). Si estenda la funzione ( )⊥ a formule composte anche dai connettivi e →. b ∈ V adiacenti e porre v(i. 2. Si esprima duale del connettivo di implicazione →.

34 .

Capitolo 2

Sistemi Deduttivi
Si consideri la seguente “proposizione”: (∗) Se A → B e A → (B → C) allora A → C.

` possibile mostrare che ` una tautologia costruendo la tabella di verit` della e e a formula corrispondente, cio`: e ((A → B) ∧ (A → (B → C))) → (A → C) Tuttavia, se si incontrasse la proposizione (∗) in un qualche testo matematico, ci si aspetterebbe piuttosto di trovare una dimostrazione del seguente tipo: Dimostrazione. Supponiamo che 2 1. A → B 2. A → (B → C) Vogliamo dimostrare che A → C. Questo significa provare che se vale A allora deve valere C. Supponiamo dunque che A sia vera. Da A e 1. possiamo concludere B. Da A e 2. possiamo concludere B → C. Infine, da B e B → C concludiamo C. Il problema principale della logica formale ` quello di definire dei sistemi di cale colo che permettano di sviluppare delle dimostrazioni del tipo precedente, cio` e come una sequenza di passi elementari che, partendo dalle premesse, consenta di ottenere la conclusione. Data inoltre una nozione semantica di validit` (Definizione 1.9) delle formule loa giche, ci si aspetta che il sistema formale sia corretto nel senso che non permetta di inferire proposizioni non valide (o, eliminando la doppia negazione, permetta di inferire solo proposizioni valide). Correlato a questo problema ` quello della e completezza del sistema formale: sapendo che il sistema ` corretto, ci si chiede e se ogni formula valida sia dimostrabile al suo interno. 35

36 In questo capitolo affronteremo il problema della definizione sintattica dei calcoli logici, introducendo alcuni dei principali sistemi formali di logica simbolica: Deduzione Naturale, Sistemi Assiomatici e Calcolo dei Sequenti. La correttezza e completezza di questi saranno discusse nel capitolo seguente.

2.1

Propriet` intuitive dei sistemi deduttivi a

Cerchiamo di individuare le propriet` generali che ci si aspetta siano soddisfatte a da un sistema di calcolo. Useremo in questa sezione la notazione A1 , A2 , . . . , An B

in modo informale, per indicare che nel sistema in oggetto siamo in grado di produrre una dimostrazione della conclusione B a partire da un insieme (eventualmente vuoto) di premesse A1 , A2 , . . . , An (nel seguito useremo le lettere greche Γ, ∆, . . . per indicare insiemi finiti di fbf). Per alcuni connettivi logici ` piuttosto semplice definire le propriet` attese dal e a sistema formale. Consideriamo, ad esempio, il caso della congiunzione. Avendo la premessa A∧B ci si aspetta di poter concludere sia A che B. Viceversa, avendo entrambe le premesse A e B ci si aspetta di poter concludere A ∧ B. Nella notazione precedente, il sistema formale deve dunque soddisfare le seguenti regole: (∧e.1) A ∧ B A (∧e.2) (∧i) A∧B A, B B

A∧B

Si noti la differenza tra le regole (∧e.1), (∧e.2) da un lato e la regola (∧i) dall’altro. Le prime due dicono cosa si pu` concludere da una formula il cui connettivo o principale ` ∧. Per ovvie ragioni, tali regole sono dette di eliminazione del cone nettivo. La terza regola esprime le condizioni necessarie per poter concludere una formula il cui connettivo principale ` ∧. Questa viene detta regola di ine troduzione del connettivo. Le lettere e ed i nei nomi che abbiamo associato alle regole sono un riferimento mnemonico a questa suddivisione. Veniamo al caso della disgiunzione. Le regole di introduzione sono abbastanza ovvie: avendo A si pu` concludere A ∨ B e, analogamente, avendo B si pu` o o concludere A ∨ B. Vi sono quindi le regole seguenti (∨i.1) (∨i.2) A B A∨B A∨B

Per quanto riguarda l’eliminazione di ∨, la situazione ` assai meno chiara: che e cosa si pu` concludere da una formula del tipo A ∨ B? Assai poco, sembrerebbe, o

37 dal momento che non ` noto quale formula tra A e B sia vera. Supponiamo, e tuttavia, che sia A che B permettano di derivare una formula C, supponiamo cio` che A C e B C . In tal caso non interessa sapere chi tra A e B sia vera: e avendo come premessa A ∨ B si sa che una di esse deve essere vera, e siccome entrambe permettono di derivare C, allora ci si aspetta che C sia derivabile da A ∨ B. Questo ragionamento pu` essere espresso dalla regola o (∨e) se A C e B C allora A ∨ B C

Si noti che questa ha una struttura pi` complicata delle precedenti. Nel seguito, u regole di tale tipo, che dipendono da alcune ipotesi di deducibilit` all’interno del a sistema, saranno dette regole condizionali. Le rimanenti, elementari. Inoltre, se A B ` una ipotesi di una regola condizionale, diremo che A e B sono rispettie vamente premesse e conclusioni sussidiarie della regola stessa. Ad esempio, in (∨e), A e B sono premesse sussidiarie, e C ` una conclusione sussidiaria. e Consideriamo ora il connettivo di implicazione. Cosa si pu` concludere da una o premessa del tipo A → B? Naturalmente, che se si ha A allora si pu` derivare o B. Si ha dunque la seguente regola di eliminazione: (→ e) A, A → B B

Questa ` comunemente nota con il nome di modus ponens. e Viceversa, quando ` possibile concludere A → B? Anche in questo caso la e risposta ` naturale: quando si pu` derivare B da una premessa A, che porta e o alla seguente regola condizionale di introduzione: (→ i) se A B allora A→B

Veniamo ora al connettivo di negazione, che ` di gran lunga il pi` problematico e u dal punto di vista logico. Intuitivamente, la negazione di una formula A ` una e nuova formula che esprime la falsit` di A. Dal punto di vista di un sistema a deduttivo, una formula ` vera se si ` in grado di fornirne una dimostrazione e e all’interno di esso, cio` se A. Questo indurrebbe a ritenere che A sia falsa e quando non esiste una dimostrazione di A, cio` A; avremo quindi ¬A se e e solo se A. Questa nozione di falsit`, che chiameremo non dimostrabilit`, ` a a e sicuramente accettabile da un punto di vista platonico, ma assai problematica dal punto di vista formale. Notiamo innanzitutto che essa sarebbe curiosamente “instabile”: una proposizione vera (dimostrabile nel sistema) resta tale sotto ogni ipotesi aggiuntiva; ovviamente questo non ` vero per le proposizioni non e dimostrabili. Quindi, una formula falsa potrebbe diventare vera rispetto ad estensioni del sistema formale. Un secondo problema ` costituito dal fatto che, ragionevolmente, ci si attende e che il sistema logico sia chiuso per istanziazioni, cio` che A implichi A per e ogni istanza A di A. Se non vogliamo cadere in ovvie contraddizioni, dovremmo allora intendere A nel senso che nessuna istanza di A ` dimostrabile, o anche e

38 che nessuna formula con “la struttura” di A ` dimostrabile1 . e Tuttavia il problema principale legato alla nozione di falsit` come non dimoa strabilit` ` che nella teoria che abbiamo sviluppato fino ad ora non si ha a a e disposizione alcuno strumento (interno alla teoria) per parlare di “non dimostrabilit`” (ovvero, non abbiamo considerato un sistema formale per ). Non a solo: non ` neppure evidente che una tale teoria debba necessariamente esistee re, cio` che si possa catturare in modo effettivo il significato “platonico” della e nozione di falsit` (questo ` ad esempio il caso, come vedremo, della logica del a e primo ordine). A causa di tutte queste difficolt`, affronteremo il problema della formalizzazione a delle regole logiche per il connettivo di negazione in modo differente. Diciamo che una teoria formale ` inconsistente quando permette di concludere e qualunque formula. Una formula A si pu` allora considerare assurda se l’ipotesi o di A rende inconsistente la teoria. Possiamo quindi ragionevolmente interpretare la nozione di falsit` come assurdit`. a a Si introduce nel sistema formale una costante ⊥ che denota inconsistenza (o falsit`, nella nostra nuova accezione). Per definizione di ⊥ si ammetter` nel a a sistema la regola di eliminazione: (⊥e) ⊥ A

La negazione ` quindi introdotta dalla seguente regola condizionale: e (¬i) se A ⊥ allora ¬A

Ci si aspetta inoltre che la regola precedente sia “invertibile”, nel senso che, avendo A, l’ipotesi aggiuntiva di ¬A renda inconsistente il sistema. Questo d` a la regola di eliminazione per la negazione: (¬e) A, ¬A ⊥

Esiste ancora una regola concernente la negazione che si potrebbe ragionevolmente aggiungere al sistema: se una formula B ` dimostrabile assumendo A, e e la stessa formula ` dimostrabile assumendo ¬A, allora l’ipotesi di A o ¬A e sembrerebbe superflua e potremmo concludere che B ` comunque dimostrabile: e se ¬A B e A B allora B

Si osservi che grazie a (∨e) questa regola ` equivalente all’assunzione (A∨¬A) e (terzium non datur). Ora, tale assunzione ` del tutto ragionevole dal punto di e vista della interpretazione semantica della nozione di “verit`”, ma lo ` assai a e meno se si interpreta “verit`” nel senso di dimostrabilit`: intuitivamente, nulla a a ci dice che una dimostrazione di A o di ¬A debba necessariamente esistere.
1 Supponiamo che il sistema sia chiuso per istanziazioni. Se esso permettesse di provare A, con A variabile proposizionale, allora ogni formula sarebbe dimostrabile, ed il sistema sarebbe triviale. Supponiamo dunque A. Allora, platonicamente, ¬A. Ma ancora siamo liberi di istanziare A, ottenendo ad esempio ¬(A → A) che ` intuitivamente scorretto. e

39 Per approfondire il problema. n` A n` ¬A ` dimostrabile. altamente intuitiva). che appunto esprime la natura costruttiva del connettivo di disgiunzione. e quindi trascendente dal sistema formale. Dunque. rule. Ovviamente tale propriet` non vale nei sistemi classici: si pensi a A ∨ ¬A: in a generale. e saranno quelli che tratteremo in questo testo. consideriamo alcune formulazioni alternative della regola precedente. e la regola di Peirce pu` essere riscritta e o nel modo seguente: (RAA) se ¬A ⊥ allora A Questa ` la nota legge di reductio ad absurdum. o ¬A ⊥ implica ¬A A. Nel caso particolare in cui B ≡ A. e o u poi provare B utilizzando questi. A B allora Γ B sistemi intuizionisti. La regola precedente ` nota in letteratura come regola di taglio3 . La differenza tra sistemi classici ed intuizionisti e la rilevanza matematica di questi ultimi si apprezza maggiormente a livello di calcolo dei predicati. questo significa che si ha o una dimostrazione di A o una di B. e questa. se vale (⊥e). nella nostra e notazione pu` essere espressa nel modo seguente: o (taglio) 2I 3 Cut se Γ A e Γ. se il sistema formale soddisfa (¬e) e (⊥i). I sistemi logici che si ottengono assumendo e o rifiutando la regola (RAA) o quelle ad essa equivalenti sono profondamente diversi. ci si aspetta che le dimostrazioni siano componibili: se da un insieme di ipotesi Γ si deduce A. A si deduce B. In particolare. Questo passaggio ` ragionevolmente sospetto: ci` che si pu` die o o re ` che. Il nome originale. l’ipotesi ¬A A ` equivalente a ¬A ⊥. Si noti che tale regola esprime una delle caratteristiche pi` u naturali dei procedimenti dimostrativi: per provare un teorema complesso B. in questo caso). Viceversa. per una ragione essenzialmente “semantica” (classicamente intesa ma. questa si pu` riscrivere nel seguente modo o (nota come regola di Peirce): se ¬A A allora A Ma se vale (¬e). I secondi sono noti come sistemi intuizionisti2 . la composizione di queste due dimostrazioni deve risultare in una dimostrazione di B dalle ipotesi Γ. dove ritorneremo brevemente sull’argomento. I primi sono detti sistemi classici. ogni volta che si ha una u e dimostrazione di A∨B. e e e Esiste ancora una regola importante che deve essere soddisfatta dal sistema deduttivo. da A si pu` concludere ¬A ⊥. utilizzato dal logico tedesco Gentzen ` schnitt. e . Per quel che concerne la logica proposizionale. si pu` cominciare con il dimostrare dei lemmi pi` semplici (A. Tuttavia si pu` ragionevolmente concludere di avere in questo o modo una dimostrazione di A? La questione non ` trascurabile. la differenza pi` evidente ` che nei sistemi intuizionisti. in inglese. A deve essere “valida”. sono spesso chiamati sistemi costruttivi. che ` il principio delle prove per e e contraddizione: per “dimostrare” A si fa vedere che la sua negazione conduce ad un assurdo. e da un insieme di ipotesi Γ.

In questa notazione. introdotta da Gentzen [Gen34. Studieremo nel seguito varie formalizzazioni possibili. Consideriamo innanzitutto le regole elementari del paragrafo precedente. La linea orizzontale.40 2. Affrontiamo ora il problema di dare una definizione formale di tale sistema sotto forma di un calcolo logico. A∧B A B∧A→C 4 Un classico riferimento bibliografico per la Deduzione Naturale ` il libro di Prawitz [Pra65]. L’idea di Gentzen ` quella di dare una semplice rappresentazione di esse. a Esempio 2. .1) A A (∨i. Se l’insieme delle foglie dell’albero ` contenuto in Γ e la radice ` C.2) A∨B A ¬A B (→ e) B (∧e.1) A∨B ⊥ (⊥e) A (¬e) ⊥ (∨i. queste possono essere composte. ` nota con il nome di Dedue zione Naturale4 .2 La Deduzione Naturale Fino ad ora abbiamo semplicemente considerato un insieme di propriet` aua spicabili per un sistema deduttivo che voglia modellare un procedimento di dimostrazione. Si noti che tale tipo di composizione ` giustificata e dalla regola di taglio.2) B A A∧B (∧i) A∧B A→B A B L’idea ` che.1 L’albero A∧B B B∧A C C ∨D rappresenta una dimostrazione di A ∧ B. Gen55]. dando luogo ad una dimostrazione che ha la forma di albero. La prima che prendiamo in esame. che svolge il ruolo di . e per una semplice introduzione a questo sistema di calcolo si veda [VDa80]. e la conclusione al di sotto di questa. abbiamo le seguenti regole: A∧B (∧e. scrivendo e le premesse al di sopra di una linea orizzontale. qualora la conclusione di una regola coincide con la premessa di e un’altra. rappresenta dunque un passo elementare di inferenza. B ∧ A → C C ∨ D. l’albero e e rappresenter` una dimostrazione di Γ C.

La soluzione di Gentzen consiste nello scrivere le premesse sussidiarie (Γ) tra parentesi al di sopra della conclusione sussidiaria (C) che a sua volta diventa premessa della regola principale. A B→A La regola consentirebbe inoltre di cancellare eventuali premesse (foglie) di tipo B nel sottoalbero di radice A. Consideriamo qualche esempio. che non sarebbe scorretto mantenere l’ipotesi A: la regola di cancellazione permette. Avendo A come ipotesi ` e stata fornita una dimostrazione di B → A. Un albero a di derivazione di radice C il cui insieme di foglie non cancellate ` contenuto in e Γ costituisce una prova di Γ C. per poter concludure A → (B → A). In questo caso. . non si ha pi` bisogno dell’ipotesi A. Ovviamente. non si opera nessuna cancellazione. durante l’applicazione di una di queste regole. cio` regole che dipendono da alcune e ipotesi del tipo Γ C. Vediamo qualche altro esempio. Avremo dunque le seguenti regole: A∨B (∨e) C [A] ⊥ (¬i) [A] C [B] C (→ i) A→B [¬A] ⊥ [A] B (RAA) ¬A A L’idea ` che. per fissare le idee. di cancellare le formule che appaiono tra parentesi quadre nello schema di regola. Consideriamo. Continuiamo la e derivazione con un’altra applicazione di (→ i) per ottenere A → (B → A). per cos` dire. Si noti anche. ` possibile cancellare la foglia A dal sottoalbero di radice B → A. Poich´ in questo caso non ve ne sono (il sottoale bero ` la foglia A stessa). ogni ipotesi A che e compare tra parentesi nella regola pu` essere cancellata nel sottoalbero la cui o radice ` la formula sottostante ad [A] nella regola stessa (l’ipotesi cancellata e sar` rappresentata tra parentesi quadre anche negli alberi di prova).41 Veniamo al caso delle regole condizionali. Da A posso derivare B → A mediante una applicazione di (→ i). ` stau e ı e ta incorporata all’interno dell’asserto (che ` appunto la funzione delle formule e condizionali o implicative). ` E bene che il lettore si soffermi a riflettere sul ruolo della cancellazione. ma non obbliga. tuttavia. l’esempio precedente. poich´. e [A] B→A A → (B → A) Si noti che l’albero non contiene foglie non cancellate: esso rappresenta una dimostrazione di A → (B → A).

mediante due applicazioni della regola (→ i). rispettivamente con l’applicazione delle regole (¬i) e (→ i). Esempio 2. le due occorrenze dell’ipotesi A ∧ B sono cancellate durante l’introduzione di A ∧ B → C. L’obiettivo ` quello di dimostrare e (A → (B → C)) → (A ∧ B → C). ci si pu` aspettare che l’ultima regola applicata (dal e o basso) sia stata (→ i) (si noti tuttavia che questa non ` la sola possibilit`: ad e a esempio la regola “corretta” potrebbe essere. e l’ipotesi A → (B → C) ` cancellata durante l’introduzione di (A → (B → e C)) → (A ∧ B → C). una regola di riduzione ad assurdo). Ancora.2 Proviamo che (A → (B → C)) → (A ∧ B → C) [A ∧ B] [A ∧ B] B A [A → (B → C)] B→C C A∧B →C (A → (B → C)) → (A ∧ B → C) Osserviamo che tutte le ipotesi sono cancellate. In particolare. come si potrebbe cercare di costruire l’albero di derivazione dell’esempio precedente. si ottiene C da A → (B → C). . La Deduzione Naturale ` un formalismo semplice ed elegante per la rappresene tazione di dimostrazioni. a titolo di esempio.42 Esempio 2. Seguendo tale strategia. a priori. Infatti [A] [¬A] ⊥ ¬¬A A → ¬¬A Le ipotesi ¬A e A sono cancellate. e dunoe que. questo pu` ridursi a cercare di dimostrare C dalle ipotesi A → (B → C) e o A ∧ B. Ma ci` ` semplice: avendo A ∧ B si possono derivare sia A che B. ma piuttosto difficile da usare nella ricerca di queste. Poich´ il connettivo principale di questa e formula ` una implicazione. Vediamo.3 Proviamo che A → ¬¬A. dobbiamo ora cercare una dimostrazione di A ∧ B → C avendo a disposizione A → (B → C) come ipotesi.

rispettivamente. Quella parte della logica che si occupa in modo preminente delle dimostrazioni. ad esempio. e Consideriamo. ad esempio. e specificando per ogni applicazione di una regola quali di queste sono eventualmente cancellate. (B → C) → ((A ∨ B) → C) e (A → C) → ((B → C) → ((A ∨ B) → C)). Questa ambiguit` non ` rilevante se si ` semplicemente a e e interessati al problema dell’esistenza di una dimostrazione. ` ambigua. equivalenza. mentre la seconda quello di A → (B → A). dimostrazioni differenti dovrebbero avere rappresentazioni differenti. mentre A ∨ B. va appunto sotto il nome di teoria della dimostrazione.4 Proviamo che [A] [A ∨ B] (A → C) → ((B → C) → ((A ∨ B) → C)) [A → C] C C A∨B →C (B → C) → ((A ∨ B) → C) (A → C) → ((B → C) → ((A ∨ B) → C)) Le ipotesi A e B sono cancellate applicando (∨e).43 Esempio 2. Si osservi che la notazione che ` stata adottata per la rappresentazione delle e dimostrazioni. le due dimoe strazioni precedenti di A → (A → A) sono concettualmente molto diverse: la prima segue lo schema di dimostrazione di B → (A → A). Ovviamente. Ad esempio. come avviene in qualunque testo matematico. Invitiamo il lettore a cercare le dimostrazioni in Deduzione Naturale di alcune semplici tautologie logiche: vedr` che in molti casi ` assai meno facile di quanto a e si possa immaginare. e dei problemi di rappresentazione. In modo equivalente. ecc. normalizzazione. anche le loro dimostrazioni. risulta evidente che non basta un elenco pi` o meno struttuu rato di teoremi. Si noti che le dimostrazioni stesse hanno un ovvio interesse matematico. ed in particolare per la cancellazione delle ipotesi. B → C e A → C sono cancellate. ` possibile e [B] [B → C] C . durante l’introduzione di A ∨ B → C. Se si pensa a un sistema informatico interattivo per il supporto alla dimostrazione o alla verifica automatica di teoremi. unitamente ad essi. numerando (o etichettando) in modo o univoco tutte le ipotesi. ma si vuole poter rappresentare. l’ambiguit` notazionale evidenziata in prea cedenza pu` essere risolta. la seguente dimostrazione di A → (A → A) [A] A→A A → (A → A) Non ` chiaro se l’ipotesi A sia stata cancellata durante la prima o la seconda e applicazione di (→ i). e dunque alla memorizzazione di ampie parti di teorie esistenti. Nel caso della Deduzione Naturale. Il caso ` differente e se si ` anche interessati alla dimostrazione in se stessa.

. Inoltre. A2 . tali sistemi sono anche noti come Sistemi alla Hilbert. scrivere che se A → C e B → C sono dimostrabili. a Supponiamo per il momento di accettare non solo il modus ponens. A → B B introducendo opportuni assiomi (particolari formule logiche di cui si assume la verit`) in sostituzione delle altre regole. .3 Sistemi Assiomatici L’idea alla base dei Sistemi Assiomatici5 ` quella di accettare come unica regola e di inferenza il modus ponens (→ e) A. Infatti. . Ad esempio. ogni ipotesi A B di una regola condizionale pu` essere o rimpiazzata da A → B. ovvero A → C. ogni regola elementare della forma A1 . .44 aggiungere dei puntatori da ogni regola che prevede cancellazione alle ipotesi cancellate durante l’applicazione della regola stessa. . la regola (∨e) se A C e B C allora A ∨ B C pu` essere riscritta nella forma o se A→C e B → C allora A ∨ B C Ma a questo punto ` possibile aggiungere direttamente le conclusioni sussidiarie e come premesse della conclusione principale. ) 5 In B letteratura. ` del tutto equivalente e e a scrivere che A ∨ B C ` dimostrabile a condizione di avere anche le ipotesi e A → C e B → C. . B → C. (An → B) . . An pu` essere sostituita da o A1 → (A2 → . A ∨ B C Quindi tutte le regole possono essere espresse in forma elementare. 2. . ma anche la regola di introduzione del connettivo di implicazione: (→ i) se A B allora A→B Si noti che la congiunzione di queste due regole implica che A B se e solo se A→B Come conseguenza. allora anche A ∨ B C lo `. .

Supponiamo di avere una dimostrazione di A C nel sistema con solo (→ e). Supponiamo che la dimostrazione di A C sia stata ottenuta mediante n + 1 applicazioni di modus ponens. Queste due dimostrazioni conterranno un numero di applicazioni di modus ponens inferiore o uguale ad n. Procediamo per induzione sul numero di applicazioni di (→ e) nella dimostrazione di A C.1) (∨i.2) (∨e) (⊥e) (¬i) (¬e) (RAA) (A ∧ B) → A (A ∧ B) → B A → (B → (A ∧ B)) A → (A ∨ B) B → (A ∨ B) (A → C) → ((B → C) → ((A ∨ B) → C)) ⊥→A (A → ⊥) → ¬A A → (¬A → ⊥) (¬A → ⊥) → A Vediamo ora di eliminare la regola (→ i).1. Nel secondo. Se (→ e) non ` mai stato utilizzato (caso base dell’induzione). Si ha quindi A B → C e A B. Inoltre. Veniamo al caso induttivo. ci sono due pose sibilit`: o C = A.2) (∧i) (∨i.45 Applicando il procedimento precedente alle regole del paragrafo 2. la regola (→ i) diventa derivabile a condizione di assumere i seguenti assiomi: .1) (∧e. Nel primo caso. Dunque. Siccome questa ` la e sola regola di inferenza del sistema. si ottengono quindi i seguenti assiomi: (∧e. per ottenere A → C basta aggiungere l’assioma (A → (B → C)) → ((A → B) → (A → C)). rispettivamente. si vogliono trovare degli assiomi tali che il sistema deduttivo cos` ottenuto soddisfi come metaı teorema la regola se A C allora A→C avendo a disposizione il modus ponens come unica regola di inferenza. C deve essere la conclusione di una applicazione di modus ponens a partire da due premesse della forma B → C e B. oppure C ` un assioma. esiste una dimostrazione di C. Dunque ` sufficiente aggiungere il nuovo assioma C → (A → C) e per ottenere (A → C) con una applicazione di (→ e). In altri termini. baster` aggiungere a e a l’assioma A → A. Riassumendo. in quanto C ` e un assioma. Possiamo dunque applicare l’ipotesi di induzione. e vediamo che assiomi aggiungere per poter dimostrare A → C. concludendo che esistono due dimostrazioni di A → (B → C) e (A → B). queste due formule devono essere entrambe derivabili da A (altrimenti non avremmo una dimostrazione di A C).

A /C ] ≡ (A → ((A → A) → A)) → ((A → (A → A)) → (A → A)) Inoltre. vale il seguente teorema. . . An−1 An → B. sostituendo A → A al posto di B ed A al posto di C si ha S[A→A /B . Nel e caso dell’esempio precedente avremo dunque semplicemente S K K (A → (A → A)) → (A → A) A→A . . il seguente albero di prova ` una dimostrazione di e S[A→A /B . come caso a e particolare di (S). Questo significa che ogni loro istanziazione ` un assioma. Un albero di derivazione di radice B le cui foglie che non siano assiomi sono contenute in Γ rappresenta una dimostrazione di Γ B. In questo caso. eviteremo di specificare le particolari istanze degli assiomi utilizzate negli alberi di prova. in realt` si hanno una infinit` di assiomi: gli schemi sono un modo a a conveniente per rappresentare questa infinit` in modo finitistico. . Infatti. . Osservazione Gli assiomi del sistema logico sono in realt` degli schemi di a assiomi. . cio` utilizzeremo gli assiomi in modo polimorfo. An−1 . . In particolare. e A → (A → A) ` un assioma ottenuto per sostituzione di A al posto di B in (K). An−1 . Ad esempio. . . la cui dimostrazione formale (che si basa sul ragionamento precedente) ` lasciata al lettore come e esercizio.1 (Deduzione) Se A1 . a Anche nei Sistemi Assiomatici possiamo convenientemente rappresentare le dimostrazioni sotto forma di albero.A /C ] K[A→A /B ] K[A /B ] A → A: (A → (A → A)) → (A → A) A→A D’ora in avanti.46 (I) (K) (S) A→A A → (B → A) (A → (B → C)) → ((A → B) → (A → C)) Il risultato precedente pu` essere generalizzato ad un numero arbitrario di ipotesi o A1 . e Dunque. nel senso che ` derivabile dai rimanenti. . An B. le foglie possono essere ipotesi o assiomi. . An . . come casi particolari di (K) abbiamo K[A→A /B ] ≡ A → ((A → A) → A) K[A /B ] ≡ A → (A → A) Dunque. Come esempio di albero di derivazione. allora A1 . mostriamo come l’assioma (I) sia in realt` ridondante. Teorema 2.

1 Formule e tipi Nel caso dei Sistemi Assiomatici si pu` introdurre una notazione. Si osservi che il modus ponens permette di trasformare le dimostrazioni t1 e t2 di A → B ed A in ` una dimostrazione di B. la regola di modus ponens dice semplicemente che applicando una funzione t1 di tipo A → B ad un oggetto t2 di tipo A si ottiene un oggetto (t1 · t2 ) di tipo B. Allora. per il teorema di deduzione. si ottiene infine la dimostrazione cercata di A ∨ ¬A. Dimostriamo innanzi tutto che ¬(A ∨ ¬A). A questo punto. La formula A → B pu` essere vista come l’insieme delle funzioni da A o in B. In tal modo. Gli assiomi saranno rappresentati da particolari costanti del tipo opportuno (si possono utilizzare i nomi degli assiomi a questo scopo). si pu` dare una semplice rappresentazione lineare per tutte le dio mostrazioni. per il teorema di deduzione. Il teorema di deduzione `. mentre . in tal senso. In generale. Utilizzando l’assioma (¬e).3.5 Cerchiamo una dimostrazione di A ∨ ¬A nel calcolo assiomatico. cio` come l’insieme di quelle trasformazioni che permettono di ottenere e un oggetto di tipo B (una prova di B) a partire da un oggetto di tipo A (una prova di A). E possibile quindi introdurre un operatore binario “·” e rappresentare con (t1 · t2 ) la dimostrazione di B cos` ottenuta. esiste una dimostrazione di ¬(A∨¬A) → ⊥. A ⊥: A ¬(A ∨ ¬A) A → (A ∨ ¬A) A ∨ ¬A A ∨ ¬A → (¬(A ∨ ¬A) → ⊥) ¬(A ∨ ¬A) → ⊥ ⊥ In modo analogo. ` estremamente difficile sviluppare delle dimostrazioni nei Sistemi e Assiomatici. che lo “schema” di albero sia corretto). Da queste. ¬A ⊥. molto pi` o u compatta degli alberi. nel senso che una e volta fissata la radice dell’albero esiste sempre un modo pi` generale (cio` il u e meno istanziato possibile) per istanziare opportunamente gli assiomi in modo da ottenere un albero di derivazione abituale (a condizione. uno strumento indispensae bile. Dunque. Esempio 2. devono esistere due dimostrazioni di ¬(A ∨ ¬A) A → ⊥ e ¬(A ∨ ¬A) ¬A → ⊥. Per modus ponens a partire dall’istanza (¬(A ∨ ¬A) → ⊥) → (A ∨ ¬A) di (RAA). 2. Una interpretaı zione particolarmente suggestiva di questa rappresentazione ` quella di vedere e una dimostrazione t di una formula A come un oggetto di tipo A (scriveremo t : A). si dimostra che ¬(A ∨ ¬A). per rappresentare le dimostrazioni. ovviamente. con due applicazioni di modus ponens si ricava quindi una dimostrazione di ¬(A ∨ ¬A) ⊥.47 ` E possibile dimostrare che questa notazione non ` ambigua. utilizzando rispettivamente gli assiomi (¬i) e (RAA) si ottengono in un passo di modus ponens le dimostrazioni di ¬(A∨¬A) ¬A e ¬(A ∨ ¬A) A.

xn : An . ı Riprendendo l’analogia precedente tra formule e tipi. . la stessa dimostrazione pu` essere rappresentata da un termine M con variabili libere contenute o in x1 : A1 . Questo pu` essere visto come una funo zione che presi due argomenti x : A e y : B restituisce un risultato ((K x) y) di tipo A. non tutti i termini di questo linguaggio rappresentano delle dimostrazioni. Una dimostrazione sar` allora descritta a da un qualche polinomio sul nostro alfabeto di variabili e costanti. y : A → B e z : A resituisce un risultato (((S x) y) z) : C.1 y)) x) : ⊥ Ovviamente. ci si aspetta che tale risultato sia lo stesso ricevuto in ingresso. Analogamente.48 eventuali foglie dell’albero differenti dagli assiomi saranno rappresentate da variabili (ancora. Questa equivae lenza pu` essere semplicemente espressa mediante l’equazione o (∗) ((K x) y) = x Consideriamo ora il caso di S : (A → (B → C)) → ((A → B) → (A → C)). e sfruttando il polimorfismo degli assiomi. utilizzando questa notazione. . Consideriamo ad esempio l’assioma K : A → (B → A). xn−1 : An−1 . (nel seguito ometteremo il punto che denota l’applicazione e scriveremo semplicemente (t1 t2 ) al posto di (t1 · t2 )). come appare evidente dalla dimostrazione che daremmo di K in Deduzione Naturale. Come si ottiene dai dati in ingresso un elemento di tipo C? . . cio` da un e qualche termine M costruito a partire da variabili e costanti per mezzo dell’operatore binario di applicazione (modus ponens). . le due dimostrazioni x : A. dato un albero che rappresenta una derivazione A1 . y : B sono logicamente equivalenti (bench´ strutturalmente diverse). . . An B. . x2 : A2 . . la dimostrazione di I data in precedenza pu` essere semplicemente rapo presentata dal termine chiuso ((S · K) · K). Ovviamente. l’ovvia condizione da rispettare ` che il termine sia ben tipato. In particolare. In questo caso si scriver` a x1 : A1 . del tipo opportuno). . e Una interessante conseguenza del fatto di aver espresso le dimostrazioni come termini (di un linguaggio tipato). cos´ come non tutti gli alberi sono degli alberi di prova corretti. la dimostrazione di ¬(A ∨ ¬A). y : A ((¬e (∨i. A ⊥ dell’Esempio 2.5. Come descritto dal suo tipo. ` il poter esprimere le equivalenze tra e dimostrazioni come semplici uguaglianze tra questi termini. In altri termini. . xn : An M :B Ad esempio. S pu` essere visto come una funzione che presi in o ingresso gli elementi x : A → (B → C). . ` rape presentata dal termine: x : ¬(A ∨ ¬A). y : B ((K x) y) : A x:A e x : A. A2 .

M : A → B ` Dimostrazione. 3. E lasciata al lettore come esercizio. xn : An allora x1 : A1 . inteso e 6 Il λ calcolo costituisce il nucleo dei linguaggi di programmazione funzionali (es. . 4. λ∗ x.x = I. Si effettua per induzione strutturale su M . . La trasformazione λ∗ x. λ∗ x. quindi la si applica a (y z) : B. . ML.2 Dato un termine M del linguaggio applicativo precedente. .M fornisce un modo algoritmico. sia λ∗ x. per “costruire” dimostrazioni nel sistema assiomatico utilizo zando il teorema di deduzione. dimostrata da Kleene negli anni trenta (si veda. Tale formalismo ` basato solo sul concetto di applicazione di funzioni. z : A x : A → (B → C). . [Odi89]) ad indurre Church a formulare la tesi che porta il suo nome e sulla quale si basa la Teoria della Calcolabilit`. λ∗ x. HS86]. xn−1 : An−1 .M )(λ∗ x. a tal proposito. Lisp. ed una variabile x. 2. in quanto ` stata l’equivae lenza tra il λ calcolo ed il formalismo delle funzioni ricorsive. La λ-notazione dell’esempio precedente ` tratta dal λ calcolo6 .y = (K y) per ogni variabile y = x.(M N ) = (S λ∗ x. un formalismo e introdotto da Church negli anni trenta per lo studio delle funzioni calcolabili7 . a M :B . . Se x1 : A1 . 7 Storicamente.49 ` E necessario applicare x a z per ottenere una funzione (x z) : B → C. Ci` pu` essere semplicemente espresso dall’equao o zione (∗∗) (((S x) y) z) = ((x z) (y z)) Il linguaggio di termini considerato in precedenza con l’aggiunta delle regole (∗) e (∗∗) ` noto sotto il nome di Logica Combinatoria [CF58.C = (K C) per ogni costante C. y : A → B. y : A → B. xn−1 : An−1 λ∗ xn .N ) . le due dimostrazioni x : A → (B → C). z : A (((S x) y) z) : C ((x z) (y z)) : C e sono logicamente equivalenti. anche se un p` lungo e noioso. Proposizione 2.M il termine definito induttivamente nel modo seguente: 1. Si noti che questo risultato costituisce una versione effettiva del teorema di deduzione. λ∗ x. il λ calcolo ha avuto una notevole importanza. Come nel caso precedente. il lettore pu` divertirsi a cercare altre equivalenze per i o rimanenti assiomi del calcolo. . . Scheme). e Come utile esercizio.

al contrario. al caso in cui questo pu` essere un o termine qualsiasi (in particolare. in un calcolo in cui l’operazione fondamentale ` quella e di applicazione di funzioni e dove non si pone alcun limite sulla natura degli argomenti. Si effettua per induzione strutturale su M .50 nella sua accezione pi` generale. anche una funzione). cio` M [N /x ]. Dunque. come si fa a sapere se ci si riferisce alla funzione identit` oppure a al valore x? Nell’ “usuale” calcolo matematico.M : A → B . e senza porre limiti sulla natura degli argou menti che possono essere valori o. Questo ` espresso e e e dalla seguente equazione. Data la generalit` del a calcolo.M : A → B o ad un dato N : A (N . Infatti. (λ∗ x. la notazione introdotta da Church denota con x il valore “x” e con λx.x e S = λx. supponiamo a di scrivere x. Vediamo ora quali sono gli “oggetti” (termini) di tale formalismo. il significato risulta chiaro dal contesto. restituisce lo stesso.λz. preso un argomento “x”. o l’applicazione (M N ) di due termini e M ed N . il risultato della applicazione di λx. Proposizione 2.λy.2 ` una e buona codifica della λ-astrazione in Logica Combinatoria. La dimostrazione ` e lasciata al lettore come esercizio.λy. e Nel particolare esempio in esame.((x z) (y z)) le due equazioni della Logica Combinatoria sono una ovvia conseguenza della regola β. in questo caso. funzioni. Osserviamo che la scelta tra l’assumere la λ astrazione come primitiva o come derivata (come nel caso della Logica Combinatoria) corrisponde alla scelta tra assumere o meno il principio di deduzione come principio primitivo della logica. Church ha introdotto la λ-notazione (da cui il λ calcolo prende nome) per eliminare l’ambiguit` esistente tra valori e funzioni.x la funzione che. Dimostrazione.M ) il termine M : B (in e cui pu` comparire x). Esempio 2. ` necessario utilizzare una notazione differente per i due concetti. a loro volta.M )N = M [N /x ]. nota come β-equivalenza.M )N = M [N /x ] Osserviamo che tale regola costituisce la generalizzazione del concetto di applicazione di una funzione ad un argomento. Un termine del λ calcolo ` o una variabile. ` il parametro attuale) consiste nel termine e M dove la variabile x ` stata rimpiazzata da N .M : A → B ` una funzione che associa ad un elemento genee rico x : A (x ` il parametro formale della funzione λx. Dunque. λx. nel senso che per tutti i termini M ed N di questa logica.3 La trasformazione λ∗ definita nella Proposizione 2. che costituisce la principale regola della teoria equazionale del λ calcolo: (β) (λx.6 Se si definiscono K = λx. Intuitivamente. il λ calcolo corrisponde ad un sistema logico in cui si assumono come primitivi sia il modus ponens che la regola di introduzione della implicazione: [x : A] M :B (→ i) λx.M di un termine M rispetto alla variabile x. oppure la λ astrazione λx.

51 In effetti. (A → B) → ((B → C) → (A → C)) 4. ¬¬A → A Un celebre esempio di sistema logico che si serve solo dei connettivi di implicazione e negazione ed introduce gli altri per definizione si deve a Lukasiewicz ([Chu56]). per le dia mostrazioni della Deduzione Naturale (cfr.3. (A → B) → (¬B → ¬A) 5. pagina 43). l’unica differenza ` e che abitualmente si preferisce sostituire (∧i) con l’assioma equivalente (A → B) → ((A → C) → (A → B ∧ C) per ovvie ragioni di simmetria con (∨e). il λ calcolo pu` essere proficuamente utilizzato come linguaggio per la rappresentao zione di dimostrazioni. Esso consta di tre soli assiomi: 1. nel caso dell’implicazione. A → ¬¬A 6. ed ` assolutamente al di fuori degli intenti del presente e volume. (A → (A → B)) → (A → B) 3. Bar84]. (¬A → A) → A 3. il λ calcolo risolve in modo elegante il problema notazionale di ambiguit`. messo in evidenza in precedenza. u Nel caso in cui il sistema contenga i connettivi di congiunzione e disgiunzione. Il Sistema Assiomatico di Hilbert e Bernays. gli assiomi dati in precedenza sono piuttosto tradizionali. Per questa ragione. contenuto nella loro classica opera Grundlagen der Mathematik [HB34] introduce i seguenti assiomi per implicazione e negazione: 1. o 2. A → (B → A) 2. (A → B) → ((B → C) → (A → C)) 2.2 Altri Sistemi Assiomatici Il Sistema Assiomatico presentato in questo libro ` stato tratto da [Cur63]. A → (¬A → B) . Esie stono infinite altre formulazioni di calcoli logici di questo tipo che differiscono tra loro sia nella scelta degli assiomi che nell’insieme dei connettivi logici considerati come primitivi. Il lettore interessato all’argomento pu` consultare [Chu41. Menzioniamo qui di seguito alcuni dei pi` celebri. Purtroppo una trattazione anche solo introduttiva di questo formalismo richiederebbe un libro a parte. La teoria equazionale del λ calcolo rispecchia meglio della Logica Combinatoria le equivalenze logiche tra dimostrazioni (corrispondenza che ` perfetta limitae tamente ai connettivi di congiunzione e implicazione).

nei Principia Mathematica [RW10] hanno scelto. ¬(¬A ∨ B) ∨ (¬(C ∨ A) ∨ (A ∨ B)) In questo caso. ¬(A ∨ (B ∨ C)) ∨ (B ∨ (A ∨ C)) 5. ` sufficiente provare che ogni assioma di H ` dimostrabile in Deduzione e e Naturale. lo ` anche in e Deduzione Natuale. Dimostrazione. i connettivi di negazione e disgiunzione.3.4 Γ H A implica Γ ND A. come primitivi. ¬A ∨ (B ∨ A) 3. ¬(A ∨ A) ∨ A 2. La sua dimostrazione in Deduzione Naturale ` e [A] [B] A∧B B → (A ∧ B) A → (B → (A ∧ B)) 8 Bernays not`. ` in realt` ridondante. la regola di modus ponens ` sostituita dalla simile regola di e sostituzione: ¬A ∨ B A B 2. proponendo i seguenti assiomi8 : 1. ¬(A ∨ B) ∨ (B ∨ A) 4. in seguito.52 Al contrario. che l’assioma 4. al quale ci riferiremo come H. La domanda che sorge naturale ` se i due e sistemi permettono di ottenere gli stessi risultati. In altri termini. ovvero Teorema 2. Dunque. Russel e Whitehead. Osserviamo che le prove in H costituiscono un caso particolare di quelle in Deduzione Naturale. per trasformare una dimostrazione nel sistema H in una dimostrazione in Deduzione Naturale basta espandere gli assiomi nelle loro rispettive dimostrazioni in Deduzione Naturale. Consideriamo l’assioma A → (A → A ∧ B)). L’unica differenza ` che le “foglie” dell’albero di e prova possono essere anche assiomi. Dimostriamo per prima cosa che ogni formula derivabile da Γ nel sistema assiomatico presentato nella sezione 2.4 Relazione tra ND e H Nei paragrafi precedenti sono stati introdotti due sistemi formali per rappresentare e sviluppare dimostrazioni. o e a . ovvero se l’insieme delle formule derivabili da un insieme di ipotesi Γ sia lo stesso per entrambi i sistemi.

Gal86. da Gentzen [Gen34].5 IL Calcolo dei Sequenti Passiamo ora a considerare una terza classe di sistemi logici formali introdotta. con una applicazione di modus ponens si ottiene una dimostrazione di Γ H A. D H A. C H A e Γ. risulta Γ H C ∨ D. ossia ` costituito dalla sola formula A. Vi sono dunque degli alberi di prova per Γ N D C ∨D. e a ` E necessario considerare dei sottocasi a seconda dell’ultima regola applicata nell’albero di derivazione. Utilizzando l’assioma (C → A) → ((D → A) → ((C ∨ D) → A)).53 Consideriamo S: [A → (B → C)] B→C C A→C (A → B) → (A → C) (A → (B → C)) → ((A → B) → (A → C)) La ricerca delle dimostrazioni in DN dei rimanenti assiomi ` lasciata al lettore e come esercizio. e nota come Calcolo dei Sequenti (per delle trattazioni pi` recenti si vedano [Cur63. Questo significa che l’albero di prova per Γ N D A ∧ B ha profondit` minore o uguale di n. Vi saranno quindi tanti sottocasi quante sono le regole della Deduzione Naturale. a Per ipotesi induttiva esiste dunque una dimostrazione di Γ H A ∧ B. (caso base) L’albero ha profondit` 1. ovvero: Teorema 2. • Supponiamo che l’ultima regola applicata sia (∨e). Supponiamo che l’asserto sia vero per tutti gli alberi di prova di Γ N D A di profondit` minore o uguale ad n. Veniamo al passo induttivo. Γ. Tak75. Dimostrazione.1). La dimostrazione si effettua per induzione sulla profondit` dela l’albero di prova di Γ N D A. C N D A e Γ. Per il teorema di deduzione. TS96]). Per ipotesi induttiva. a e Questo implica che A deve essere contenuta in Γ. mediante tre applicazioni di modus ponens si ottiene una dimostrazione di Γ H A.5 Γ ND [A] [A → B] B [A] A implica Γ H A. I rimanenti casi sono lasciati al lettore come esercizio. Utilizzando l’assioma (A ∧ B) → A. 2. • Supponiamo che l’ultima regola applicata sia (∧e. Γ. come la Deduzione Naturale. D N D A di profondit` a minore o uguale ad n. e lo stesso albero ` anche una e dimostrazione di Γ H A. Veniamo quindi al viceversa. e dimostriamo a che ` vero anche per gli alberi di profondit` n + 1. u . si ha Γ H (C → A) e Γ H (D → A).

. un sequente ` una espressione del tipo a e A1 . nel Calcolo dei Sequenti queste si applicano ad asserzioni di derivabilit` del tipo A1 . . . A n B 9 L’idea intuitiva ` che il sequente afferma (ipotizza) la derivabilit` logica di B in e a funzione delle premesse A1 . . mentre in Deduzione Naturale e nei Sistemi Assiomatici le regole di inferenza si applicano a formule logiche. . discutendo le e propriet` che il sistema logico formale deve intuitivamente soddisfare). . S2 ed S sono sequenti. dati S1 ed S2 ) si pu` dedurre o S. Questo conduce al seguente assioma: (Ax) Γ B se B ∈ Γ 9 Vedremo. . In altre parole. Come gi` detto. . In generale.54 Questo tipo di calcolo differisce dai sistemi precedenti per due aspetti fondamentali: 1. An . mentre S ` detta conclusione. . e Tale regola asserisce che dato S1 (rispettivamente.6 Una regola di inferenza ha la forma S1 S o S1 S S2 dove S1 . La prima domanda che ci si pone ` la seguente: quando si pu´ sostenere che e o un sequente Γ B ` evidentemente vero? Chiaramente. An B. vi sono quattro gruppi di regole: assiomi. regole strutturali e regole logiche. la regola di inferenza esprime cosa si pu` derivare nel sisteo ma in funzione di precedenti assunzioni di derivabilit` (cosa molto simile a a quanto ` stato fatto nell’introduzione a questo capitolo. cut. a 2. S1 ed S2 sono detti premesse della regola. Questo fornisce al sistema una struttura quasi costruttiva che ha molte importanti conseguenze sulla (meta) teoria delle dimostrazioni. e Nel Calcolo dei Sequenti. . nel seguito. useremo le lettere greche ∆. . . S1 ed S2 sono dette premesse. . quando B compare e nell’insieme di ipotesi Γ. Γ. . per esprimere delle sequenze finite di fbf. tutte le regole sono tali che nuovi connettivi logici possono essere solo introdotti ma mai eliminati. mentre S ` detto conclusione. Definizione 2. denomia nate sequenti. . . Cominciamo l’analisi del sistema. Una regola di inferenza in tale calcolo consente di derivare un nuovo sequente in funzione di altri sequenti assunti come premesse. che in realt` saremo costretti a considerare una forma pi` generale a u di sequente. Vediamole in dettaglio.

B A A A A 3. B A A Si noti che in virt` di tale regola. gi` discussa a p. ha la seguente forma: a Γ (taglio) Γ. l’assioma pu` essere espresso nella seguente u o forma. l’ordine delle ipotesi ` irrilevante (regola di permutazione): e Γ (perm) Γ se Γ ` una permutazione di Γ. molte di queste regole sono del tutto intuitive: . B (contr) Γ. assumere due volte una ipotesi B ` equivalente ad assumere B una sola e volta (regola di contrazione): Γ.55 La regola di taglio. ` sempre possibile aggiungere nuove ipotesi (regola di indebolimento): e Γ (indeb) Γ. Γ B Veniamo quindi alle regole strutturali che consentono di manipolare l’ordine ed il numero delle ipotesi. avremo in questo caso solo regole di introduzione dei connettivi. e 2. 39. pi` debole della precedente: u (Ax) A A Le regole logiche sono quelle concernenti i connettivi logici. queste stabiliscono che: 1. B. Come gi` accennato a in precedenza. Γ B A A. In particolare. che saranno classificate in destre (r) o sinistre (l) a seconda che permettano di introdurre il connettivo logico nella parte destra o in quella sinistra del sequente che ` conclusione della regola. e Riprendendo l’introduzione a questo capitolo.

1) Γ Γ Γ Γ A A∨B B A∨B (∨r. ed ` noto come sistema LJ. la propriet` pi` eclatante del Calcolo dei a u Sequenti. Il fatto che ogni e dimostrazione di un sequente Γ A che fa uso di questa regola possa essere riscritta in una dimostrazione dello stesso sequente senza uso di tagli costituisce uno dei maggiori meta-teoremi del Calcolo dei Sequenti.56 (∧l. dunque). Le regole di introduzione della negazione sono: (¬l) Γ A Γ. La regola che permette di derivare qualunque formula in presenza di inconsistenza assume allora il seguente aspetto Γ Γ A e pu` essere assimilata ad una regola di indebolimento a destra (una regola o strutturale. A C Γ. B Γ. si far` l’ipotesi che la parte destra del sequente possa essere vuota a (cio` si ammetteranno dei sequenti del tipo Γ ). interpretando l’assenza della e conclusione come inconsistenza delle premesse. B C Γ. e Per ottenere un sistema di logica classica ` necessario aggiungere la regola di e riduzione ad assurdo o una regola ad essa equivalente. ` la cosiddetta propriet` della sottoformula: una dimostrazione priva e a di tagli di Γ A contiene solo sequenti le cui formule sono sottoformule delle . Data una dimostrazione priva di tagli. A ∧ B C Γ. ¬A (¬r) Γ. A C Γ. A ∧ B C Γ.1) Γ. Nel calcolo appena presentato. noto come Gentzen’s Hauptsatz. B C Γ. Prima di discutere tale regola ` bene tuttavia soffermarsi ad analizzare alcune propriet` importanti del e a calcolo che abbiamo appena sviluppato. la regola di taglio ` ridondante. A Γ ¬A Il sistema presentato fino ad ora corrisponde all’insieme delle regole logiche che abbiamo chiamato intuizioniste.2) Γ A Γ. A → B C (→ l) (→ l) Γ. Anzich´ introdurre una costante ⊥ che denota ine consistenza.2) (∨l) (∨r. A ∨ B C C (∧r) Γ A Γ Γ A∧B B (∧l. A B Γ A→B Veniamo ora alla negazione.

¬A A Γ. A. ¬A A A Γ. se la virgola nella parte sinistra del sequente ha il a significato intuitivo di congiunzione. In effetti. . La propriet` ` una ovvia conseguenza della particolare strutae tura delle regole del calcolo. la virgola a destra deve esprimere disgiunzione. questa propriet` conferisce al a a Calcolo dei Sequenti una natura “costruttiva” che ha molte importanti ripercussioni sulla meccanizzazione del processo inferenziale e sulla ricerca automatica di dimostrazioni. ` Proviamo ad eliminare questa asimmetria. eventualmente vuote. Come gi` accennato nell’introduzione. ma mai regole di eliminazione. . . . A ∨ ¬A A (taglio) Γ A Si noti tuttavia che ` stato necessario utilizzare la regola di taglio. e l’introduzione dell’assioma A ∨ ¬A ha una conseguenza altrettanto spiacevole della perdita della propriet` della sottoformula: in generale. . An e ∆ = B1 . u Per risolvere il problema precedente si ` costretti ad introdurre una modifica e piuttosto cospicua nel sistema. la ragione principale delle difficolt` a che si sono incontrate nella trattazione della nozione classica di negazione sono imputabili alla evidente asimmetria del calcolo introdotto rispetto alla gestione della parte destra e sinistra dei sequenti. di formule. (RAA) diventa derivabile. in presenza di tale assioma.57 formule in Γ. . Bm sono sequenze finite. B2 . A A Γ. e Tutte le regole strutturali hanno ora un loro corrispettivo destro: l’insieme delle A ∨ ¬A . una volta costruita una formula composta. Dunque. In effetti. A2 . In effetti. . u Si potrebbe pensare di risolvere il problema aggiungendo semplicemente l’assioma A∨¬A che sappiamo essere logicamente equivalente alla regola di riduzione ad assurdo. Dunque. la regola di taglio a non risulta pi` essere eliminabile dal sistema. . un sequente del tipo precedente asserisce intuitivamente che da A1 ∧ A2 ∧ · · · ∧ An si ` in grado di derivare B1 ∨ B2 ∨ · · · ∨ Bm . Torniamo ora alla legge di riduzione ad assurdo. Per ovvie ragioni di dualit`. La sua traduzione immediata porterebbe alla seguente regola: Γ. che fa s` che si abbiano solo regole di introduzione ı dei connettivi. ¬A (RAA) Γ A Il problema ` che essa viola la propriet` della sottoformula: per poter concludere e a A si utilizza una formula pi` complessa: ¬A. E necessario dunque considerare sequenti della forma Γ ∆ dove Γ = A1 . come mostrato dal seguente albero di prova: Γ. non esiste modo di eliminarla nel proseguo dell’albero di derivazione.

∆ Γ A ∧ B. ∆ ∆ (perm − l) (perm − r) ∆. A. A. A A. A. A ∧ B ∆ Γ. ∆ (contr − l) (contr − r) Γ A. B ∆ Γ.A ∆. A ∧ B ∆ Γ.1) Γ.2) (∨l) (∨r. A B. contratto e indebolito. ∆ A ∨ B. ∆ Γ. A ∆ ∆ ∆ (taglio) Γ A. ∆ (∨r. In Figura 2. Γ Γ.1: Regole del sistema LK Il sistema cos` ottenuto ` noto come sistema LK.1) Γ Γ Γ Γ A. ı e . ∆ Γ A → B. A. o Le regole di introduzione dei connettivi restano sostanzialmente immutate. B Γ. ∆ Γ. A ∆ Γ. A → B ∆ ∆ (→ l) (→ r) Γ. B. ∆ Γ. B. ¬A ∆ (¬r) Figura 2. A ∆ Γ ¬A. A. ∆ (¬l) Γ A. A. ∆ A ∨ B. ∆ Γ A. A ∆ Γ. e (Ax) A A Γ. A ∆ Γ. ∆ Γ ∆ Γ ∆. A ∨ B ∆ ∆ (∧r) (∧l. ∆ B. Γ Γ. ∆ Γ B. B.1 ` riportato l’elenco completo delle regole del calcolo. A ∆ Γ ∆ Γ.2) Γ A. B. ∆ (indeb − l) (indeb − r) Γ (∧l. a parte l’aggiunta di una sequenza pametrica di formule ∆ in tutte le parti destre dei sequenti.58 conclusioni pu` essere permutato. Γ Γ Γ Γ . ∆ ∆. ∆ Γ. B Γ.

e Nel caso delle regole strutturali. le formule ausiliarie sono A e B. ∆ sono parametri ({Γ. mentre A ha polarit` inversa. mentre tutte e le formule in Γ. considereremo tutte le formule come parametriche. Quando una formula ausiliaria compare nel sequente premessa dell’inferenza sullo stesso lato del sequente in cui compare la formula principale diremo che essa ha la stessa polarit` della formula principale. Le sottoformule costituenti la e formula principale. ∆} ` detto contesto). ma mai di eliminarli (propriet` della a sottoformula). In caso contrario. ¬A ¬(A ∨ B) ¬A ¬A ∧ ¬B. in (→ l). mentre A a ha polarit` inversa. A A ∨ ¬A. B ∆ . nella regola e Γ (→ l) Γ. a A. infatti: e A A ¬A. A → B ∆ la formula principale ` A → B. ha polarit` a a inversa. le regole logiche del Calcolo dei Sequenti (a a parte la regola di taglio. Esempio 2. Ad esempio. B B B. Si noti che la polarit` dei costituenti dipende in realt` dal a a a connettivo. l’insieme dei parametri ` detto contesto della regola. Ad esempio. ¬B A ∨ B.7 Nel sistema LK la formula A ∨ ¬A ` derivabile. ∆ Γ. ¬A A ∨ B. La formula del sequente in cui ` stato introdotto il connettivo e ` detta formula principale dell’inferenza logica.59 Esempio 2. A A ∨ ¬A.9 Proviamo che ¬(A ∨ B) A A A. ¬B ¬(A ∨ B) ¬A ∧ ¬B ¬B ¬(A ∨ B) Come gi` osservato in precedenza. A ∨ ¬A A ∨ ¬A Vediamo qualche altro esempio di dimostrazione. A A A∧B A B∧A B B A∧B B A∧B (A ∧ B) → (B ∧ A) Esempio 2. e non dalla regola: anche nel caso di (→ r). B ha la stessa polarit` a di A → B. B ha la stessa polarit` di A → B. Tutte le altre formule dei sequenti coinvolti nella regola logica assumono il ruolo di parametri. sono dette formule ausiliarie dell’inferenza. che verr` discussa nella prossima sezione) permettono a unicamente di introdurre dei connettivi.8 Proviamo che (A ∧ B) → (B ∧ A).

e a In generale. nel caso di tagli strutturali. L’idea della dimostrazione ` quella di muovere le regole di taglio “verso l’alto” e fino a ridursi a dei tagli con assiomi che possono essere eliminati semplicemente (questo ` in effetti il caso di base della sottoinduzione sulle profondit`). Per complessit` di una formula si intende il numero di connettivi che compaiono a all’interno di essa.8 Il livello di un taglio ` la somma delle profondit` delle dee a duzioni delle premesse della regola di taglio (senza contare. . costruendo una dimostrazione con un taglio di livello inferiore. verr` solo accennata qui di seguito. tale prova viene trasformata in un’altra avente tagli di grado inferiore oppure di livello pi` basso. cio` quando almeno una e e delle due regole immediatamente precedenti al taglio utilizza la formula di taglio A in modo parametrico.7 (Gentzen’s Hauptsatz) La regola di taglio ` eliminabile dal sistema LK. diremo che la regola ` e parametrica in A.5. a Definizione 2. L’interesse del teorema ` nella natura effettiva (algoritmica) del procedimento di e eliminazione dei tagli. Vi sono due possibilit`: u a 1.9 Il grado di un taglio ` la complessit` della formula sulla quale e a avviene il taglio. piuttosto lunga e complessa. 2. Questo risultato costituisce uno dei teoremi pi` rilevanti u della moderna teoria della dimostrazione. vale a dire che entrambe le regole utilizzate appena prima e della regola del taglio sono regole logiche di introduzione per la formula sulla quale avviene il taglio10 .1 Eliminazione del taglio Il sistema LK gode della seguente propriet`: a Teorema 2. Vediamo 10 Si osservi che in questo caso le due regole di introduzione devono essere rispettivamente destre e sinistre. il taglio ` logico. nella profondit`. Definizione 2. ovvero per ogni sequente Γ ∆ e dimostrabile in LK ` possibile ottenere in modo effettivo una nuova dimostrae zione dello stesso sequente che non contiene nessuna applicazione della regola di taglio.60 2. Data una prova di un sequente contenente delle applicazioni della regola di taglio. La prova del teorema. ` sempre possibile spostare la regola e che utilizza la formula di taglio A in modo parametrico al di sotto della regola di taglio. il taglio ` detto strutturale in tutti gli altri casi. In questo caso. a l’applicazione di regole strutturali). Idea della dimostrazione La dimostrazione si effettua per induzione sul grado del taglio con una sottoinduzione sul livello del taglio.

61 un esempio di ci`. A Γ A. A B. A Γ. ∆. ∆ Γ . A. ∆.A ∆ Γ . ∆. ∆ ∆. Γ questa viene sostituita da Γ A. ∆ che ` una prova dello stesso sequente il cui taglio ` di livello inferiore. Γ A. B C. ∆. e In realt` non tutti i casi sono cos` semplici.A ∆. I maggiori problemi si incontrano a ı . per fissare le idee. Γ. di avere una prova in cui il o taglio ha la seguente forma: Γ.A ∨ B ∆.A → B ∆. ∆ Γ A → B.B ∆. Γ Γ . ∆ A. ∆ Γ. Γ B. B C. Γ ∆ . A Γ. Γ . e e Nel caso di un taglio logico. B Γ. ∆ ∆ Γ A. ∆ Γ. Γ viene ridotta a Γ. Una prova in cui il taglio ha la forma Γ. ∆. Supponiamo.B ∆ ∆ Γ . ∆. Γ C. questo viene sostituito da uno o pi´ tagli di grado u inferiore. Vediamone degli esempi. ∆ Γ . ∆ ∆ B → C. ∆ Γ. ∆ Γ . Γ la prova viene trasformata in Γ. a Data una prova in cui il taglio ha la forma Γ Γ A. ∆ ∆ Γ . ∆. Γ Γ.B ∆ ∆ che ` una prova dello stesso sequente avente due tagli di grado inferiore (A e B e hanno una complessit` minore di A → B). ∆ che ` una prova dello stesso sequente avente un taglio di grado inferiore. ∆ Γ . ∆ Γ. A Γ B → C. ∆ A ∨ B. Γ ∆ B → C.

` possibile e ottenere dei sistemi equivalenti ad LK nei quali alcune (o tutte) le regole dipendenti dal contesto sono sostituite da regole libere dal contesto (o moltiplicative) . o Per concludere. pu` dare luogo a sequenze infinite o di riduzioni. osserviamo anche che nonostante la regola di taglio sia eliminabile. come nel caso seguente (il lettore lo verifichi per esercizio): Γ ∆. ∆ ∆ A. per la presenza delle regole strutturali.2 Sulle regole strutturali Osserviamo che nelle regole di LK per ∧ e ∨ aventi due premesse i contesti per ambedue le premesse sono gli stessi. I dettagli piuttosto lunghi e complessi della dimostrazione dell’eliminazione di questa regola fuoriescono tuttavia dagli intenti del presente volume. A. ovvero Γ (multi − taglio) Γ. come nel caso seguente: Γ ∆. in cui si permette il taglio simultaneo su pi` occorrenze diverse della u stessa formula. a ∆. ∆ A. A. A. Γ ∆ ∆ Per ovviare a questo problema ` necessario considerare una forma generalizzata e di taglio. ovvero non ` possibile esprimerla mediante e e una combinazione di altre regole del calcolo (ci` ` una ovvia conseguenza della oe propriet` della sottoformula). Γ ∆ Tuttavia questa regola di riduzione. Γ ∆. A Γ. Il lettore interessato pu` consultare [TS96. ∆ . A Γ ∆. Tuttavia. essa non ` derivabile in LK. Tak75]. unitamente a quella simmetrica per gestire il caso di contrazione nella premessa destra. ∆ A. Γ A. A. A Γ ∆. A Γ. Γ ∆ 2. Γ Γ. Γ ∆ L’ovvia trasformazione sembrerebbe essere: Γ ∆. Gal91. ∆ dove nA denota n occorrenze di A. Γ A. tali regole sono dette dipendenti dal contesto (o addittive). mA nA.62 quando la formula su cui si effettua il taglio ` stata appena contratta in una e delle due premesse. Γ .5. ∆ ∆. A Γ. Γ ∆. Γ ∆. Γ ∆. Γ ∆. A Γ. ∆ .

Infatti. Γ A ∧ B. per fissare le idee. Γ A. Γ Γ Γ. B ∆ Γ. vale a dire che. ∆ Γ B. ∆ (∨ r) Γ A ∨ B. A ∧ B ∆ . ∆. ∆ Anche in questo caso ` facile dimostrare l’equivalenza tra le varie formulazioni. a da questa. ∆ Γ A ∧ B. Γ . ∆ Γ B. ∆. ∆ Γ. Le versioni moltiplicative delle regole (∧r) e (∨l) sono Γ (∧ r) Γ. ∆ (∨ l) Γ. e La dimostrazione dell’equivalenza delle due versioni della regola per ∨ ` lasciata e al lettore come esercizio. ∆ B.2) deriviamo (∧ l) nel seguente modo: Γ. Ad esempio. e in presenza di regole strutturali. A ∧ B ∆ Γ. che le due versioni della regola per l’ ∧ sono equivalenti. cio`. Γ A ∧ B. ∆ B. ∆. Viceversa. e supponiamo di disporre di (∧ r) e dimostriamo la derivabilit`. ∆ A. di a (∧r). di (∧ r). Γ A. ∆. Avendo (∧l. ∆ A. ∆. supponiamo di disporre di (∧r) e dimostriamo la derivabilit`. ` stato necessario utilizzare le regole di indebolimento. le due regole (∧l) possono essere sostituite dall’unica regola Γ. Γ Γ. B (∧ l) Γ. ∆ Γ. A ∨ B ∆.B ∆ Proviamo. in presenza delle regole strutturali sono derivabili l’una dall’altra. ∆ Γ. A ∧ B. A. ∆ Si noti che ` stato necessario utilizzare le regole di contrazione. A ∆ Γ . Un discorso del tutto simile vale anche per le regole logiche ad una sola premessa. B. A. lasciando al lettore come esercizio quelle per ∨. ∆ Si noti che. Consideriamo il caso di ∧. i contesti di entrambe le premesse si assumono disgiunti e sono e semplicemente “uniti” nella conclusione. B ∆ ∆ Γ. da questa. A ∧ B ∆ e simmetricamente le due regole per (∨r) possono essere sostituite dall’unica regola Γ A.63 nelle quali.1) e (∧l. A ∧ B. Γ A ∧ B.

B ∆ Γ.64 Viceversa. ∆ Γ. Ad esempio. la presenza o l’assenza di queste determina sistemi logici notevolmente differenti tra loro. ∆ Γ A. A. ∆ in quanto dovremmo operare delle contrazioni sulla prova “ridotta” (gli altri casi sono lasciati al lettore come esercizio). A. Ad esempio. In particolare. ∆ Γ A ∧ B. (∨r. B ∆ Γ. A ∆ Γ.2) sono addittive. . cui abbiamo accennato in precedenza. Dun86. A ∧ B ∆ Γ. [Tro73. Γ ∆. (∧l. avendo (∧ l). ∆ Γ. Sistemi nei quali sono assenti le regole di indebolimento sono detti Logiche della Rilevanza (si vedano [AB75. questo chiaramente impedisce la presenza delle regole strutturali a destra ((perm − r). che corrisponde alla Logica Intuizionista (per delle trattazioni recenti si vedano. In generale. A. possiamo derivare (∧l.2). Gab81. il sistema LJ. B ∆ Γ A.2): Γ. 11 Di grado inferiore. A ∧ B ∆ Le regole (∧ l) e (∨ r) devono essere considerate moltiplicative.1). Dunque le regole strutturali assumono un ruolo di primaria importanza nel Calcolo dei Sequenti. che alla destra dei sequenti vi sia al pi` u una formula. il taglio Γ A. ∆ Γ B. B ∆ Γ. ∆ Γ. ∆ Γ A ∧ B.1) e (∧l. Dum77. per eliminare (o meglio “ridurre”) un taglio tra due formule introdotte con regole della stessa “natura” (rispettivamente moltiplicative o addittive) non ` necessario richiedere l’uso di e regole strutturali. (contr − r) e (indeb − r)). A ∧ B ∆ ∆ Pu` essere ridotto al seguente taglio “pi` semplice11 ” (senza aggiunta di regole o u strutturali) Γ A. logiche che non hanno tutte le regole strutturali. VDa86]).1) e (∨r. Discuteremo brevemente alcune di queste. mentre (∧l. Γ ∆. tra gli altri. A ∧ B ∆ Γ. Γ ∆. Γ. nel sistema LK. La ragione di questo fatto ` dovuta alla e tecnica di eliminazione dei tagli. A. ∆ Questo non sarebbe stato possibile se ad esempio il taglio fosse stato del seguente tipo: Γ . ∆ Γ B. si ottiene imponendo. sono dette Logiche Substrutturali (si veda [DS93] per una panoramica). In particolare. ∆ Γ .

sono spesso chiamate Logiche BCK. A 12 Comunque. C tali regole vengono reintrodotte. A → B. 2. che quelle di contrazione12 . KW84]. [Lam58]. Proviamo a rimuoverlo. lo “sdoppiamento” dei connettivi o ∧ e ∨ nelle corrispondenti versioni addittive e moltiplicative. in maniera “controllata” utilizzando due nuovi connettivi “!” e “?”. e le premesse devono essere rilevanti per le conclusioni.5. permette di costruire “all’indietro” le dimostrazioni di teoremi in modo piuttosto semplice e naturale. Il nome deriva dal fatto che il frammento implicativo (cio` l’insieme delle formule contenenti soltanto e il connettivo “→”) di tali logiche. assolutamente privo di regole strutturali. Esempio 2. con innumerevoli applicazioni all’informatica. per modellare ragionamenti con incertezza. introdotta da Girard [Gir87] (si vedano inoltre [Gir95. mentre ` possibile utilizzare le regole e di contrazione solo su formule aventi delle caratteristiche prestabilite. La Logica Lineare offre una visione molto pi` sottile della logica classica. Tro92]). Tale calcolo viene utilizzato per modellare importanti caratteristiche tipiche del linguaggio naturale (grammatiche categoriali). Tali logiche sono utilizzate. sono assenti sia le regole di indebolimento. accettano le regole di indebolimento e permutazione. applie cando all’indietro la regola (→ r) si ottiene il sequente: A → (B → C) (A → B) → (A → C) Continuando ad applicare all’indietro (→ r) ci si riduce in due passi a A → (B → C). Logiche nelle quali sono assenti le regole di contrazione.10 Consideriamo il caso: (A → (B → C)) → ((A → B) → (A → C)) Il connettivo principale di questa formula ` →.3 Invertibilit` delle regole logiche a Il Calcolo dei Sequenti. il nome ` dovuto essenzialmente al fatto che.65 ABD92]). Ricordiamo infine il Calcolo di Lambek. menzionate nel paragrafo 1.5. pu` essere assiomatizzato dagli schemi di o assiomi: B : (A → B) → ((B → C) → (A → C)) C : (A → (B → C)) → (B → (A → C)) K : A → (B → A) Le Logiche Multivalore di Lukasiewicz. nelle regole di inferenza. enfatizzando in modo u particolare il ruolo delle formule come vere e proprie “risorse” di calcolo. si vedano ad esempio [OK85. in Intelligenza Artificiale. come discusso in precedenza. Nella Logica Lineare. . assai meglio della Deduzione Naturale. Ci` comporta.

Ad esempio. il sequente A ∨ ¬A (che sappiamo essere un teorema di LK). ` possibile e ovviare a questo tipo di problemi considerando formulazioni alternative. la situazione non ` sempre cos` ovvia.1. In certi casi. C C A→C (A → B) → (A → C) (A → (B → C)) → ((A → B) → (A → C)) Nell’esempio precedente la scelta della regola da applicare ` stata effettuata in e modo casuale. A B. Questo conclude la dimostrazione. si e ottengono o il sottosequente A oppure il sottosequente ¬A. del sistema logico. quindi questa parte della dimostrazione ` conclusa. C B. A B. che ha dunque la seguente forma: A A B B C C A A. A A. la regola corretta da applicare in questo caso ` una regola di cona e trazione (si veda la dimostrazione nell’Esempio 2. ma logicamente equivalenti. A A. e Passiamo a (2). Per quanto riguarda (2. A C A → (B → C). ∆ . C (2. se si lavora sulla formula A → (B → C). ad esempio. le due regole per (∨r) possono essere sostituite dall’unica regola Γ (∨r − II) Γ A ∨ B. B.1. Se si opera all’indietro con (→ l) su B → C si ottengono (2.7). A B. questo costringer` a spezzare la dimostrazione in due a sottodimostrazioni. A → B. C che sono ancora entrambi derivabili da assiomi tramite passi di indebolimento. eliminando l’ultimo connettivo di implicazione si ottengono (2. A → B. ∆ A. A → B.1) A A.1) A → B.2) B. Se si prova ad eliminarlo.2) si ottiene dall’assioma C C per indebolimenti.1). B. A B. e In realt`. A → B A → (B → C) C A A A → B. C (2. si otterranno i due sottosequenti (1) A → B. C A → B. B. e ı Consideriamo. A → B. nessuno di questi due sequenti ` dimostrabile in LK. C (2) B → C.2) C. L’unico connettivo presente ` ∨. A B → C.66 Ora si ` costretti ad operare sulla parte sinistra del sequente. Tuttavia. A C (2. A → B. A A → (B → C). A C (1) si ottiene dall’assioma A A mediante indebolimenti. Poich´ la regola e e (→ l) ha due antecedenti. Ad esempio. come osservato nel capitolo precedente. In taluni casi. C C.

67 In questo calcolo. Le foglie del sottoalbero t sono i punti in cui M ` creato. Ni o Γ. e soprattutto permette una dimostrazione estremamente semplice del teorema di completezza. questa formulazione semplifica notevolmente la ricerca automatica di prove. a seconda della polarit` di Ni a rispetto ad M . ¬A ` semplicemente: e A A. chi assicura che un problema simile non si verifichi per altre formule ed altri connettivi? In generale. Dunque. Questo pu` avvenire o tramite una regola di e o indebolimento (ed in tal caso non vi sono problemi nell’introdurre Ni al posto di M ). oppure mediante un’applicazione della regola R. ma non della formulazione I di LK). Questo significa che l’ultima regola dell’albero di prova originario e quella di introduzione per M possono essere invertite. in modo tale da poter concludere Γ ∆ con un’applicazione di R. tale scelta ` corretta. R avr` un certo numero di premesse. ¬A. In quest ultimo caso. Per fissare le idee. come vedremo. L’idea ` quella di costruire. A. B (∧l − II) ΓA ∧ B ∆ Chiameremo questa nuova formulazione del sistema LK. a partire dall’albero originario t. sia t il sottoalbero di t che contiene degli avi parametrici di M . supponiamo che M compaia nella parte destra del sequente (il caso opposto ` simmetrico). formulazione II13 (e la precedente formulazione I). e ∆ ha la forma ∆ . e Proviamo a formalizzare meglio il problema. la dimostrazione di A A. Dal punto di vista della ricerca all’indietro della dimostrazione. sia sempre possibile riorganizzare l’albero in modo tale da concludere la dimostrazione con una regola di introduzione per M . Supponiamo di cancellare M da questo sottoalbero e di sostituirlo con Ni (se Ni ha polarit` inversa rispetto a M . la formulazione II del Calcolo dei sequenti non ` e molto elegante in quanto “mischia” regole addittive e moltiplicative. Sia dato un albero di prova t di Γ ∆ e supponiamo che in esso appaia una formula composta M che non ` stata e introdotta dall’ultima regola dell’albero. Tuttavia. le due regole (∧l) possono essere sostituite dall’unica regola Γ. A tal fine. si deve operare l’inserimento nella parte opposta a del sequente rispetto a quella in cui si trova M ). Supponiamo che esista un’unica regola R che permetta di introdurre M (questo ` il caso della formulazione e II. Ni ∆ . M (a meno di permutazioni). ∆ . Le regole introdotte in precedenza risolvono il problema per A. questo assicurerebbe che comunque si sceglie il connettivo da eliminare. Tuttavia. 13 Dal punto di vista strettamente logico. dei nuovi alberi e di dimostrazione per Γ ∆ . la propriet` desiderabile ` che ogniqualvolta si ha un a e albero di prova che termina in un sequente che contiene una formula composta M che appare come parametro nell’ultima regola dell’inferenza. a indichiamo con Ni le formule ausilarie di M nella i-esima premessa della regola. ¬A A ∨ ¬A Simmetricamente.

A A. B.11 Si consideri il seguente albero t: A A B B C C A. C C. C C. A B → C. C B → C. C C. C C. A → C C B. con formula principale A → C. A → B. C A. A B. A A. A B. C A. B A→C Entrambi gli alberi possono essere ora ricongiunti a sottoalberi dell’albero ori- . A A. B. si dir` che la regola R ` e a e direttamente invertibile nel sistema logico. A B. In generale. il sequente cos´ ottenuto coincide necessariaı mente con la i-esima premessa di quella applicazione di R. A → B.68 quando si rimpiazza M con Ni . A → B. A A → (B → C). l’ultima regola applicata ` (→ r). C A → (B → C). e Vogliamo trovare una dimostrazione dello stesso sequente nella quale l’ultima regola applicata sia (→ l). A → B A→C Rimpiazzando opportunamente A e B al posto di A → B in accordo alle loro polarit`. B. Il sottoalbero di t che contiene in modo parametrico A → B ` il seguente: e A → B. B. C A → B. nel caso della formulazione II del sistema LK. A A. A A → (B → C). A. A A → (B → C) B. C A → (B → C). C A. Esempio 2. Dunque. A C C C A → B. A B → C. A A. B. A → B. C B. con formula principale A → B. A B. e ci si ricongiunge quindi all’albero di prova originario. C C A → (B → C). A → B. Vediamo un esempio di inversione. A C C A A A A → B. A C C A → (B → C). e quando un procedimento di questo tipo ` applicabile. si ottengono i due sottoalberi seguenti: a A A A. ` sempre possibile operare l’inversione suddetta. A → B. A → B A→C In esso. A A → (B → C). A B → C.

i primi ad apprezzarne o il significato ed a riprenderne il metodo furono. A → C A B. per dar luogo a degli alberi di prova completi. ı Tuttavia. A A. C B C C B. B. C A A C C A A.6 Cenni storici e bibliografici La prima formulazione di un calcolo proposizionale come sistema logico formale (di natura assiomatica) si deve a Frege. A A. A.69 ginario. A A A. A C C A → (B → C). indipendenza o semplicemente ad approfondire e separare il significato logico dei singoli connettivi. La rilevanza di questi lavori pass` per lungo tempo inosservata. dopo oltre venti anni. 2. C A → (B → C). L’idea di usare il principio di deduzione come regola primitiva di inferenza ` di Gentzen [Gen34]. sempre di natura assiomatica. da questi due alberi. B. Prima di allora si tendeva ad utilizzare una esplicita regola di sostituzione che permetteva di instanziare variabili proposizionali con formule ben formate. B. nei suoi Begriffschrifts del 1879. In particolare. B A→C Infine. C C. essenzialmente rivolte ad investigare problemi di economia. L’enunciato e la prima dimostrazione del teorema di deduzione si devono ad Herbrand [Her30]. C B → C. Da quel momento e fino alla met` degli anni a trenta si assiste ad un continuo proliferare di differenti formulazioni. Alcuni dei pi` celebri di questi sistemi sono stati brevemente u discussi nel paragrafo 2. C A. ` innegabile la naturalezza di questo approccio. B. avremo: A A A A.2. che le rende legittimamente “sospette” da un punto di vista strettamente logistico (cos` come definito da Frege e Russel). Notiamo che l’uso di schemi per questi calcoli fu introdotto da Von Neumann [VNe27] solo nel 1927. A A → (B → C). A C B → C. A → B A → C in cui le regole di introduzione dell’implicazione per A → (B → C) e A → B sono state invertite. C C. hanno un carattere meno primitivo delle altre. e pi` in generale tutte e u le regole condizionali che prevedono cancellazione di alcune ipotesi. . con una applicazione di (→ l) si ottiene la nuova dimostrazione cercata di A → (B → C).3. assumere come primie tivo il principio di deduzione significa formalizzare l’usuale pratica matematica che consiste nel dimostrare una implicazione assumendo l’ipotesi e dimostrando il conseguente. Russel [Rus03] e Whitehead [RW10]. A A → (B → C) B B. Tale regola. A A.

e la natura costruttiva della sua dimostrazione. l’eliminazione dei tagli corrisponde esattamente al processo di β-riduzione del λ-termine. dovuto ancora a Genzten [Gen34]. programmazione funzionale. 2. in un sistema deduttivo. assicurano che questo procedimento non aggiunge nulla al potere espressivo della logica in esame. stimolate dalla sinergia di teorie ed approcci diversi: λ calcolo.2 Dimostrare.70 La regola di deduzione riacquista pienamente il suo carattere elementare nel Calcolo dei Sequenti. (A ∧ B) ∧ C → A ∧ (B ∧ C) 2. ma le idee generali e risalgono a Curry).1 Provare che (RAA) ` equivalente a ¬¬A e A. Il lettore interessato ad una introduzione a questi aspetti pu` consultare [LS86. Il prezzo da pagare ` e quello di internalizzare nel linguaggio logico stesso il simbolo di inferenza: le asserzioni elementari non sono pi` dunque proposizioni. dimostrati indipenu dentemente. A ∧ B → A ∨ B . teoria delle dimostrazioni. L’aspetto pi` interessante di ci` risiede nel fatto che il procedimento u o di eliminazione dei tagli nel sistema logico pu` essere messo in relazione con un o analogo procedimento di normalizzazione dei termini. L’analogia ` particolare mente forte tra il frammento logico implicativo ed il λ calcolo: in questo caso. a Il teorema di eliminazione dei tagli ` il teorema principale (“Hauptsatz”) di e Gentzen [Gen34]. L’interesse della regola di taglio risiede. Per una introduzione a questi argomenti si veda [GLT90]. oltre che nella sua naturalezza. ed una dimostrazione di A come un termine di tipo A. AL91] e la bibliografia ivi menzionata. o Esercizi 2. la ridondanza della regola di taglio. Il punto di partenza di tale analogia consiste nel vedere una formula A come un tipo. nel fatto che corrisponde alla normale pratica di scomporre una dimostrazione complessa in funzione di lemmi pi` semplici. L’analogia tra tipi e proposizioni ` anche nota come isomorfismo di Currye Howard (Howard [How80] ` stato il primo a esplicitarla. Gir86] di eliminazione dei tagli per il calcolo intuizionista di ordine superiore (sebbene il merito di averne colto la rilevanza informatica debba piuttosto essere accreditato a Reynolds [Rey74]). sotto forma di regola di introduzione a destra del connettivo di implicazione. ma sequenti della forma u Γ ∆ che intuitivamente esprimono relazioni di derivabilit` logica. La data d’inizio di questa rinascita pu` essere fatta o coincidere con il fondamentale risultato di Girard [Gir72. Da quel momento l’isomorfismo di Curry-Howard ` stato il tema cone duttore di una enorme quantit` di ricerche condotte in informatica negli anni a ottanta su sistemi di tipo. Dunque. Quella parte della logica che tratta della teoria della dimostrazione ha ricevuto un nuovo impulso a partire dai primi anni settanta proprio grazie alle sua rilevanza in informatica. polimorfismo e sottotipi. che le seguenti proposizioni sono derivabili: 1. teoria delle categorie.

5 Provare che: 1. ¬¬(A ∨ ¬A) 8.2.6 Mostrare che se 2. ¬(A ∧ ¬B). (A → B) ∨ (B → A) 10.3 e 2. A 6. ¬(A ∧ ¬A) 9.71 3. ¬¬A → A 5.3 Quali dei teoremi del precedente esercizio sono derivabili nel sistema intuizionista? Motivare la risposta. ⊥ → A 2. A → ¬¬A 6. 4. (A → B) ∨ (B → A) A.3. Q ∈ F BF • A = ¬A se A ` una proposizione atomica e • P ∧Q=P ∧Q • P ∨Q=P ∨Q • P →Q=P →Q • ¬P = P ¬P se P ` una proposizione atomica e altrimenti 1. ¬A ∨ ¬¬A 7. 3. allora B → A. P.7 Sia − : F BF → F BF tale che ∀A. 2. 2. 2. A (A → ¬A) → ¬A (A → B) ∧ (A → ¬B) → ¬A ((A → B) → A) → A ) (legge di Peirce) ¬(¬A ∧ ¬B) B 5. ¬A ∨ B → (¬¬B) ∨ ¬A 11.4 Mostrare l’equivalenza dei Sistemi Assiomatici presentati in 2. . Determinare (A ∧ ¬B) ∨ ¬(A ∧ C)) e (A ∨ ¬B) ∧ (¬A ∧ B). ¬(A ∧ B) → ¬A ∨ ¬B 4. 2.

∀P ∈ F BF ? Motivare la risposta. e Dimostrare che a. 2. 2. P . Lucia fa la commessa.8 Si considerino le seguenti proposizioni: 1. e e Se ne verifichi la correttezza utilizzando la Deduzione Naturale ed il Calcolo dei Sequenti. d Sequenti.9 Si consideri in seguente ragionamento: a Se Antonio ` di Agrigento o Bruno ` di Bologna. Se Giorgio ` un idraulico. e 3. A ∨ A↔A A ∧ A↔A A ∨ (A ∧ B)↔A A ∧ (A ∨ B)↔A . e b Se Antonio ` di Agrigento allora Carlo non ` di Cremona. 5. allora Carlo ` di e e e Cremona oppure Davide ` di Domodossola. e e Dunque (c) Davide ` di Domodossola oppure Antonio non ` di Agrigento. P e P. Elena ` un’insegnante. Se Franco ` un elettricista. 2. 3. allora Franco ` un elettricista. Se Lucia fa la commessa. e 4.10 Definire le regole della Deduzione Naturale per il connettivo ↔. 4. quindi provare che: 1. e utilizzando la Deduzione Naturale ed il Calcolo dei 2. allora Lucia non fa la commessa oppure Elena e ` un’insegnante. allora Giorgio ` un idraulico oppure Elena e e ` un’insegnante. Provare che ∀P ∈ F BF P. b.72 ` 2. c. e 2. 3. E vero che P = P.

Il Teorema di completezza stabilisce la relazione tra questi due livelli. cio` ogni formula derivabile in un sistema formale. sia e anche valida (sia una tautologia). Tuttavia. Vogliamo ora studiare la relazione esistente tra il calcolo proposizionale e la sua semantica. si pu` parlare semplicemente di a o due livelli: uno sintattico. nel senso che non permette di e inferire cose semanticamente non valide. Ovviamente. ed uno semantico. inoltre. creando una completa analogia tra nozioni sintattiche (nella accezione precedente) e semantiche. ovvero che A implichi |= A. ci si a a aspetta che ogni teorema. il sistema risulta completo se |= A implica A. In altre parole. Se si vede il calcolo logico come una estensione degli aspetti sintattici del sistema formale (attinenti al simbolo di derivabilit` ). ovvero tra le nozioni di derivabilit` e validit`. permetteranno di spiegare alcune importanti sfumature 73 . Tale relazione si pu` riassumere brevemente nella seguente tabella. Questo assicurerebbe che il sistema di calcolo formale ` corretto.Capitolo 3 Correttezza e Completezza Abbiamo sinora introdotto la sintassi della logica proposizionale. Ognuna di queste ` basata su un approccio e differente e mette in luce nuove propriet` del calcolo proposizionale. possiamo essere pi` esigenti: u vogliamo che il calcolo sia anche completo. Tali dia mostrazioni. la sua semantica sotto forma di interpretazioni ed alcuni calcoli logici di inferenza simbolica. nel senso che permetta di derivare ogni tautologia. a cui il lettore pu` fare o o costante riferimento durante la lettura di questo capitolo: sintassi (calcolo) Γ A derivabilit` a A teorema Γ ⊥ consistenza Γ ⊥ inconsistenza semantica Γ |= A conseguenza semantica |= A tautologia Γ |= ⊥ soddisfacibilit` a Γ |= ⊥ insoddisfacibilit` a Presenteremo nel seguito tre diverse dimostrazioni di correttezza e completezza (una per ogni sistema formale).

Al contrario. ma non si fornisce tale derivazione in modo esplicito ed effettivo. Supponiamo di avere un modello per Γ: necessariamente. si e u basa su alcune propriet` caratteristiche del Calcolo dei Sequenti (in particolaa re della formulazione II). 1. che implica Γ |= P . Ne vedremo solo alcuni: i rimanenti sono lasciati al lettore come esercizio. Le prime due dimostrazioni possono essere facilmente adattate ad ognuno dei sistemi logici considerati. Viceversa se v(P1 ) = 0. ¬P . e In particolare tale calcolo consente di derivare solo formule valide (tautologie). Se v(P1 ) = 1. Sia v un modello di Γ.74 nell’enunciato del Teorema di completezza (completezza forte. che ` anche la pi` intuitiva. in questo modello deve essere v(P ) = 1. ¬P ⊥ e per ipotesi induttiva Γ. e P ∈ Γ. e Dunque Γ |= P . 3. .1 (Correttezza) Se Γ P allora Γ |= P . P = P1 → P2 e l’ultima regola applicata ` (→ i). ` conseguenza logica delle premesse. allora. Al contrario. Veniamo al caso induttivo. P = P1 ∧ P2 e l’ultima regola di deduzione applicata ` (∧i). Γ |= P1 e Γ |= P2 . 2. Per induzione sulla profondit` dell’albero di prova per Γ P . Il Teorema di correttezza assicura che ci` che ` deducibile da certe premesse. P1 P2 e per ipotesi induttiva Γ. per definizione di interpretazione. poich´ in caso contrario avremmo un modello per Γ. a (caso base) L’albero ` costituito dalla sola radice P . risulta ancora v(P1 → P2 ) = 1. allora v(P2 ) = 1 per l’ipotesi precedente. e dunque anche v(P1 → P2 ) = 1. Dimostrazione. La prima dimostrazione non ` costruttiva: data una e tautologia A (|= A) si prova che nel sistema deduttivo in oggetto deve necessariamente esistere una derivazione di A.2 Se P allora |= P . per definizione.1 Deduzione Naturale Teorema 3. Per ipotesi induttiva. P1 |= P2 . Dunque esiste un e albero di prova per Γ. e Allora esiste un albero di prova per Γ. infatti: Corollario 3. Dunque Γ |= P1 → P2 . Dobbiamo distinguere tanti sottocasi quante sono le possibili regole di inferenza che concludono l’albero di prova di Γ P . Questo significa che nessun modello soddisfa Γ. ¬P . 3. L’ultima regola applicata ` una regola di riduzione ad assurdo (RAA). ¬P |= ⊥. debole. la terza. che implica Γ |= P1 ∧ P2 . le rimanenti sono entrambe costruttive. Allora e devono esistere due alberi di prova per Γ P1 e Γ P2 . finita). meo e diante le regole della Deduzione Naturale.

(1. a priori. a a Definizione 3. Da Γ ⊥. Γ. P ⊥ ⇒ Γ ⊥ ⇒ Γ P. per ogni proposizione P . 3. e cio` se Γ |= P allora Γ e P (completezza) ` assai pi` complicato.). P. (3. tutte le conseguenze semantiche dello stesso.6 1. (2. per il Teorema di correttezza. ` incone Si noti che la nozione di consistenza ` prettamente “sintattica” (cio` relativa e e al sistema di calcolo formale). Γ Dimostrazione. Γ ` inconsistente. e richiede l’introduzione di alcuni nozioni e risultati e u preliminari. da un insieme di premesse. Per ipotesi esistono le dimostrazioni di Γ applicando (⊥i) si ottiene una dimostrazione di Γ ⊥. Ad esempio. ed in particolare.5). ¬P 2. cio` Γ ⊥. Γ |= ⊥ che. Un verso di questa corrispondenza (soddisfacibilit` implica consistenza) ` un semplice corollario del a e Teorema di correttezza (Lemma 3. Immediata. ⇒ 2. P eΓ ¬P . Lemma 3. Ovviamente v non pu` soddisfare ⊥. P e Γ ¬P . e 2. 1.75 L’inverso del teorema precedente. tutte le formule valide. esiste una proposizione P tale che Γ 3.5 Se un insieme di proposizioni Γ ` soddisfacibile. applicando (⊥ e). ∀P ∈ Γ. cio` esiste un’interpretae zione v tale che v(P ) = 1. Dunque Γ ` consistente. implica Γ ⊥. ⇒ 1. e u Lemma 3. Allora. A priori. e e ⊥. e Lemma 3.). il sistema intuizionista.). ottenuto da quello classico rimuovendo la sola regola RAA non ` completo rispetto alla nozione e classica di validit` semantica basata su tabelle di verit`.3 Un insieme di proposizioni Γ ` consistente se Γ e sistente se non ` consistente. Dimostrazione. ¬P . 2. Γ. infatti. l’altro verso ` assai pi` delicato. ⇒ 3. Supponiamo che Γ sia soddisfacibile. dall’insieme vuoto di premesse. allora ` consie e stente. non ` affatto ovvio che le regole della Deduzione e Naturale siano sufficienti per ottenere. niente assicura che ogni insieme di proposizioni consistente sia anche soddisfacibile e viceversa. si ottiene una dimostrazione di Γ P per ogni P .4 Le seguenti condizioni risultano equivalenti: 1. . in o quanto per definizione di interpretazione deve essere v(⊥) = 0.

Se Γ ` inconsistente. Γ ` consistente.9 Sia Γ un insieme consistente massimale. Poich` per ipotesi Γ ` consistente e e massimale. rispettivamente. contraddicendo l’ipotesi. 3. 1. P ∨ Q ∈ Γ ⇔ P ∈ Γ o Q ∈ Γ. e Per dimostrare la completezza delle regole della Deduzione Naturale. Lemma 3. P ∈ Γ oppure ¬P ∈ Γ. poich` P. allora Γ = Γ . a e Dimostrazione. cio` se Γ P allora P ∈ Γ.10). e 2.9) e che • ogni insieme consistente ` contenuto in uno consistente massimale (Teoe rema 3. se Γ ` consistente. 2. allora per i Lemmi 3. Per tutte le proposizioni P e Q: 1. in quanto permetterebbe di derivare sia P che ¬P .6 e 3. Sia Γ = Γ ∪ {P }. P ∧ Q Q e Γ ` e e chiuso rispetto alla derivabilit`.76 Dimostrazione.11). proveremo che: • ogni insieme di proposizioni consistente ` soddisfacibile (Teorema 3.8 Ogni insieme consistente massimale ` chiuso rispetto alla derivae bilit`. 2. Lemma 3. 4. P → Q ∈ Γ ⇔ (¬P ∈ Γ o Q ∈ Γ). Supponiamo Γ P e P ∈ Γ.6 Γ∪{P } ⊥ implica Γ ¬P . Supponiamo che P ∧ Q ∈ Γ. se Γ ⊆ Γ e Γ ` consistente. Viceversa. Q P ∧ Q e Γ ` chiuso rispetto e e alla derivabilit`. Dimostrazione. sar` necessario dimostrare delle semplici propriet` degli ino a a siemi consistenti massimali (Lemmi 3. Poich´ P ∧ Q P . e dunque P ∈ Γ.8 e ¬P ∈ Γ. Viceversa.7 Un insieme Γ ` detto consistente massimale se e solo se: e 1.8 e 3. Γ∪{P } deve essere inconsistente. P ∧ Q ∈ Γ ⇔ P ∈ Γ e Q ∈ Γ. Ma per il Lemma 3. P ∈ Γ e Q ∈ Γ. Dunque Γ sarebbe inconsistente. se P ∈ Γ e a Q ∈ Γ deve essere P ∧ Q ∈ Γ. da (RAA) e (→ i). Seguono. Definizione 3. Γ = Γ per la massimalit` di e a quest’ultimo. e per fare ci`. a .

allora Γm ∪ {Pm } ` consistente. Il seguente albero mostra che P ∨ Q. Viceversa. se P ∈ Γ o a Q ∈ Γ. P e Γ ` chiuso rispetto e alla derivabilit`. risulta P ∈ Γ. Dunque Γ∗ = Γ . Q ∈ Γ. in caso contrario. Vogliamo provare che Γ∗ ` consistente massimale. Sia Pm una formula in Γ . supponiamo che ¬P ∈ Γ o a Q ∈ Γ. Supponiamo che P → Q ∈ Γ. con un’applicazione di e (→ i). e Γ ` e e consistente. se P ∈ Γ. Supponiamo che Γ∗ ⊥. Supponiamo che esista un insieme consistene te Γ tale che Γ∗ ⊆ Γ .10 Ogni insieme consistente Γ ` contenuto in uno consistente mase simale. Definiamo una successione non decrescente di insiemi {Γi }i∈N nel seguente modo: • Γ0 = Γ • Γn+1 = ∞ Γn ∪ {Pn } Γn se Γn ∪ {Pn } ` consistente e altrimenti Sia Γ∗ = i=0 {Γi }. a 4. allora esiste un albero di prova che permette di derivare ⊥ da un insieme finito ∆ di ipotesi in Γ∗ . ` facile provare che ¬P P → Q (il lettore lo faccia per esercizio). allora P ∨ Q ∈ Γ in quanto P P ∨ Q. ¬(P → Q) ∈ Γ. Per il punto 1. se Q ∈ Γ. l’asserto ` verificato. Dimoe striamone anzitutto la consistenza. e dimostriamo che se P ∈ Γ allora necessariamente Q ∈ Γ. Viceversa. Vogliamo provare che ¬P ∈ Γ oppure Q ∈ Γ. allora ¬P ∈ Γ.. Poich´ Γm ⊆ Γ∗ ⊆ Γ . Se ¬P ∈ Γ. Necessariamente esiste un qualche Γk che contiene ∆. allora. e quindi Γm+1 = Γm ∪ {Pm }. quindi e Γ P → Q e dunque Γ ` inconsistente. ma questo ` assurdo in quanto tutti i Γi sono insiemi consistenti per definizione. da cui segue che Γ ` inconsistente. . Teorema 3.77 3. segue che Q ∈ Γ. Se per assurdo P → Q ∈ Γ.11 Un insieme di proposizioni Γ ` consistente se e solo se ` sode e disfacibile. per il punto e 1. P1 . Q P → Q. che e implica Pm ∈ Γ∗ . vogliamo provare che P → Q ∈ Γ. e ¬P [Q] Teorema 3. Dimostrazione. e Proviamo ora che Γ∗ ` massimale.. Sia P0 . Q P ∨ Q e Γ ` chiuso e rispetto alla derivabilit`. essendo Q derivabile da P → Q. per il punto 1. · · · un’enumerazione di tutte le formule ben formate. da cui Γ ¬(P → Q). Supponiamo che P ∨ Q ∈ Γ. ¬P Q: [P ] P ∨Q ⊥ Q Q Essendo Γ chiuso rispetto alla derivabilit`. se ¬P ∈ Γ. per cui risulta Γk ⊥.

come Teorema di complee tezza forte. in letteratura. la cui formulazione ` la seguente: e . Se P = P1 → P2 .2 Dunque v(P ) = 1 ∀P ∈ Γ∗ . per ogni interpretazione v. Sia v l’interpretazione definita nel seguente modo: per ogni formula atomica A. ¬P . v(P ) = 1 se e solo se P ∈ Γ∗ .78 Dimostrazione.9.10. Allora v(P1 ∧ P2 ) = 1 ⇔ v(P1 ) = v(P2 ) = 1 ⇔ P1 ∈ Γ ∗ e P2 ∈ Γ ∗ ⇔ P1 ∧ P2 ∈ Γ ∗ 3. per definizione di conseguenza semantica.6. Allora v(P1 ∨ P2 ) = 1 ⇔ v(P1 ) = 1 oppure v(P2 ) = 1 ⇔ P1 ∈ Γ∗ oppure P2 ∈ Γ∗ ⇔ P1 ∨ P2 ∈ Γ ∗ 4.1 2. Se P = ¬P1 . ` deducibile da queste mediante le regole della Deduzione e Naturale. Teorema 3. proviamo che per ogni proposizione P . per distinguerlo da quello di completezza debole. Per induzione sulla struttura di P .5. che Γ P . da cui segue.9. Da ci` segue che v ` un modello per Γ∗ e quindi o e per Γ. Γ.9. v ` un modello per Γ.1 P1 → P2 ∈ Γ∗ Lemma 3. v(A) = 1 ⇔ A ∈ Γ∗ . Se Γ |= P allora. Per il teorema o precedente. (⇒) Per il Teorema 3. 1. e Abbiamo dunque dimostrato che ci` che ` conseguenza semantica di un dato o e insieme di premesse. ¬P ` inconsistente. per il Lemma 3.12 (Completezza) Se Γ |= P allora Γ P . Dimostrazione. Γ ` contenuto in uno consistente e massimale Γ∗ .9. Veniamo al caso induttivo. da v(Γ) = 1 segue v(P ) = 1 (e quindi v(¬P ) = 0). Se P = P1 ∧ P2 . Se P = P1 ∨ P2 . e (⇐) Segue dal Lemma 3. (caso base) Se P ` una proposizione atomica l’asserto ` vero per come ` definita e e e l’interpretazione v. Allora v(P1 → P2 ) = 1 ⇔ ⇔ ⇔ ⇔ v(P1 ) = 0 oppure v(P2 ) = 1 P1 ∈ Γ∗ oppure P2 ∈ Γ∗ ipotesi induttiva ¬P1 ∈ Γ∗ oppure P2 ∈ Γ∗ Lemma 3. Il teorema precedente ` spesso indicato.4 ipotesi induttiva Lemma 3. essendo Γ ⊆ Γ∗ .9. dunque non pu` esistere un’interpretazione che soddisfa Γ. Allora v(¬P1 ) = 1 ⇔ v(P1 ) = 0 ⇔ P1 ∈ Γ ∗ ipotesi induttiva ⇔ ¬P1 ∈ Γ∗ Lemma 3.3 ipotesi induttiva Lemma 3.

data una qualunque formula della logica proposizionale. An le proposizioni atomiche che vi compaiono. . Tale verifica ` banale. Definiamo. Cominciamo con il dimostrare il seguente lemma: Lemma 3. (⇒) Supponiamo che Γ |= P . per evidenziare i molteplici approcci possibili al problema. per ogni 1 Finita.79 Teorema 3. Il suesposto teorema. la prova del Teorema 3. . la correttezza e la completezza di quest’ultimo seguono come ovvio corollario.2 e e 3. Come importante corollario del Teorema di completezza (forte). Sia v un’interpretazione. assicura che l’insieme delle formule derivabili in Deduzione Naturale coincide con quello delle tautologie. In particolare. la correttezza del calcolo assiomatico risulta semplice: basta provare che gli assiomi sono tautologie (sappiamo gi` che a la regola di modus ponens ` semanticamente corretta). . Come nel caso della Deduzione Naturale. Dimostrazione.3 verranno presentate due diverse dimostrazioni della completezza1 del calcolo proposizionale.13 non ` costruttiva. . al contrario. Segue dal Teorema di completezza. (⇐) Immediata.2 Sistema Assiomatico Avendo dimostrato che la nozione di derivabilit` in Deduzione Naturale coincide a con quella nel Sistema Assiomatico. e Veniamo dunque alla completezza. si ` in grado di e stabilire se questa ` un teorema o meno (basta costruire la sua tabella di verit` e a e controllare che l’ultima colonna sia costituita solo da “1”). per il Teorema di completezza Γ P . sono costruttive. 3. per il Teorema di correttezza ∆ |= P . trarre delle inferenze per via sintattica o per via semantica ` del tutto equivalente. e e ed ` lasciata al lettore come esercizio. dunque esiste un albero di prova che permette di derivare P da un insieme finito ∆ di ipotesi in Γ. Osserviamo che procedendo in tal modo non si ottiene una dimostrazione della formula. Presentiamo tuttavia una dimostrazione diretta di questo fatto. Alla luce di ci` possiamo concludere e o che. ma si stabilisce solamente che tale dimostrazione esiste.2. unitamente al Corollario 3. .15 Sia P una formula ben formata ed A1 . Dimostrazione.14 (Teorema di compattezza) Γ |= P se e solo se esiste un sottoinsieme finito ∆ di Γ tale che ∆ |= P . gi` provato in altro modo a nel primo capitolo: Corollario 3. si ottiene una dimostrazione alternativa del Teorema di compattezza. Dunque nella logica proposizionale.13 (Completezza debole) |= P se P . che. Nei paragrafi 3.

. sia che Ai = Ai . per definizione. si ricava dunque una dimostrazione di A1 . Dobbiamo dimostrare che Ai questo ` banalmente vero. a seconda che v(P ) = 1 o v(P ) = 0. . An Q Osserviamo ora che Q Q ¬¬Q. Se v(P ) = 1. Per ipotesi induttiva risulta A1 . . . e dunque A1 . · · · . . Q= Allora: A1 . An Q A1 . . Se v(P ) = v(Q ∧ R) = 1 allora v(Q) = v(R) = 1. • P = Ai con i ∈ {1. . distinguiamo due sottocasi. . . . Consideriamo due sottocasi. An P Dimostrazione. . Poich` da I ⊥ → ⊥. . . Per induzione sulla struttura di P . Come in precedenza. In questo caso P = ¬⊥. . allora v(Q) = 0 e. Per ipotesi induttiva. supponiamo che v(P ) = 0. per modus ponens risulta ¬⊥. come mostrato dal seguente albero: Q → (¬Q → ⊥) (¬e) ¬Q → ⊥ ¬¬Q (¬Q → ⊥) → ¬¬Q (¬i) Componendo i due alberi di prova precedenti. . .80 proposizione Q. An ¬¬Q = P • P = Q ∧ R. . Q = ¬Q. An Ma Q = ¬Q = P = P . e • P = ¬Q. A1 . n}. . . In questo caso v(Q) = 1 e Q = Q. e Ai . . . ma Q ¬Q se v(Q) = 1 se v(Q) = 0 • P = ⊥. An P Q Viceversa. . Per ipotesi induttiva. . A1 . . . . Sia v una generica interpretazione. An R Componendo i due alberi di prova precedenti con il seguente albero Q R Q → (R → (Q ∧ R)) (∧i) R → (Q ∧ R) Q∧R . Come istanza di (¬ i) abbiamo (⊥ → ⊥) → ¬⊥. . . sia che Ai = ¬Ai .

. An Q∧R=P Viceversa. . An Consideriamo ora il seguente albero: Q∧R Q∧R→Q Q ¬Q → ⊥ ⊥ Questo rappresenta una dimostrazione di ¬Q. . . . Per il Teorema di deduzione. mediante un’applicazione di modus ponens. . An ¬(Q ∧ R) = P . . An ¬R Da queste. . An ¬Q otteniamo la dimostrazione desiderata di A1 . con due ulteriori passi di modus ponens. An R→⊥ e dall’assioma (Q → ⊥) → ((R → ⊥) → ((Q ∨ R) → ⊥)). Componendo quest’ultima con A1 . allora a e Q = ¬Q e per ipotesi induttiva A1 . . distinguiamo due sote tocasi. . An Q Q → (¬Q → ⊥) ¬Q ¬Q Da questa. supponiamo che v(P ) = 0. . . Consideriamo il primo caso (il rimanente ` simmetrico). . . . . An ¬Q A1 . utilizzando l’assioma (∨i). . otteniamo due dimostrazioni di A1 . otteniamo una dimostrazione di ¬Q ¬(Q ∧ R). . esiste una dimostrazione di ¬Q Q ∧ R → ⊥ da cui. . .81 otteniamo la dimostrazione di A1 . . . Se v(P ) = 1 allora v(Q) = 1 oppure v(R) = 1. Come ` stato fatto in precedenza. . . . . An Q∨R=P Viceversa. • P = Q ∨ R. quindi Q = ¬Q e R = ¬R. . An (Q ∨ R) → ⊥ . An Q→⊥ A1 . se v(P ) = 0 allora v(Q) = 0 oppure v(R) = 0. . . . mediante un’applicazione di modus ponens ad istanze di (¬e). . . . Se v(Q) = 0. . . si ricava una dimostrazione di A1 . otteniamo una dimostrazione di A1 . . . . mediante una applicazione di (¬i). Allora deve essere v(Q) = 0 e v(R) = 0. . Q ∧ R ⊥. . Esaminiamo solo la prima possibilit` (l’altro caso ` simmetrico). . Per ipotesi induttiva esistono due dimostrazioni di A1 . . Se v(Q) = 1 allora Q = Q e per e ipotesi induttiva esiste una dimostrazione di A1 . . .

. mediante modus ponens. . . Q R. An Q→R=P Q ¬Q ⊥→R ¬Q 3. . . Per ipotesi induttiva esistono due dimostrazioni di A1 . .82 Infine. . . . An ¬(Q ∨ R) = P • P = Q → R. Questo ` espresso dal seguente albero e di prova: Q Q→R R R → (¬R → ⊥) ¬R ⊥ ¬R → ⊥ . Q = Q. si ottiene una dimostrazione di A1 . . Distinguiamo tre casi: 1. R = ¬R e P = ¬(Q → R). . An R Dall’assioma R → (Q → R). . . composta con A1 . An ¬Q. Per il Teorema di deduzione esiste una dimostrazione di ¬Q Q → R. fornisce la dimostrazione desiderata di A1 . . Se v(Q) = 0 allora v(P ) = 1. la dimostrazione cercata di A1 . dall’assioma ((Q∨R) → ⊥) → ¬(Q∨R) si ottiene. . . Q → R ⊥. An Q→R=P 2. . . An Q A1 . . An Consideriamo il seguente albero Q → (¬Q → ⊥) ¬Q → ⊥ ⊥ R Questo rappresenta una dimostrazione di ¬Q. Proviamo innanzi tutto che Q. . . ¬R. Per ipotesi induttiva esiste una dimostrazione di A1 . . . ¬R ¬(Q → R). Q = ¬Q e P = Q → R. Per ipotesi induttiva esiste una dimostrazione di A1 . An ¬R ` E sufficiente dimostrare che Q. . R = R e P = Q → R. Se v(R) = 1 allora v(P ) = 1. . . . . . Se v(Q) = 1 e v(R) = 0 allora v(P ) = 0. . mediante una applicazione di modus ponens. che. . .

. Sia |= P e siano A1 . A1 . . . An ¬(Q → R) = P Teorema 3. An−1 P Abbiamo dunque eliminato l’ipotesi An . ¬R (Q → R) → ⊥. Iterando il procedimento appena descritto sulle restanti ipotesi si ottiene una dimostrazione di P . An−1 . una dimostrazione di A1 . Per il lemma precedente.83 Per il Teorema di deduzione. se v(An ) = 1 risulta A1 . utilizzando l’assioma ((Q → R) → ⊥) → ¬(Q → R) mediante una applicazione di modus ponens. esistono due dimostrazioni A1 . . . . . . An le proposizioni atomiche che vi compaiono. Dimostrazione. . . . . si ottiene la dimostrazione desiderata di A1 . An P Essendo per ipotesi P una tautologia. An Mentre se v(An ) = 0 risulta A1 . . . .5) si ottiene. . . . se |= P allora P . An−1 . . . per ogni interpretazione v. . . . v(P ) = 1 e quindi A1 . . . . . An In particolare. An−1 . . . . . .16 (Completezza debole) Per ogni proposizione P . . . . esiste una dimostrazione di Q. . An−1 . . per ogni v. ¬An P P P Per il Teorema di deduzione. e da questa. An−1 An → P A1 . An−1 ¬An → P Consideriamo il seguente albero: An → P ¬An → P An ∨ ¬An (An → P ) → ((¬An → P ) → (An ∨ ¬An → P )) (¬An → P ) → (An ∨ ¬An → P ) An ∨ ¬An → P P Componendolo con le due dimostrazioni precedenti e con la dimostrazione di An ∨ ¬An (Esempio 2.

la cui formulazione fa riferimento alla nozione di conseguenza logica. Nel dimoae strare che le regole di inferenza logiche fanno altrettanto ` sufficiente considerare e il caso in cui tutti i parametri sulla sinistra della conclusione hanno valore 1. Dimostrazione. osservando che le ipotesi di validit` delle formule ausiliarie forzano un valore a di verit` per la formula principale che rende valido il sequente. la dimostrazione consiste nel verificare che gli assiomi sono validi e che le regole di inferenza preservano la validit`. si dice che ∆ ` soddie sfatto in Γ (Γ |= ∆). Per provare il Teorema di completezza (forte) ` necessario utilizzare il Teorema e di compattezza (Teorema 1. Presentiamone a . Osserviamo che la prova del Teorema 3.16 ` costruttiva in quanto seguendone i e vari passi ` possibile ricavare una dimostrazione per P . Segue dai teoremi di deduzione e di completezza debole.20 (Correttezza) Se Γ ∆ allora Γ |= ∆. Teorema 3.17 (Completezza finita) Sia Γ un insieme finito di proposizioni. in caso contario.19 Dati due insiemi di formule Γ e ∆. Al solito. ed ovviamente A |= A. se e solo se ∀v ((∀Pi ∈ Γ v(Pi ) = 1) ⇒ ∃Q ∈ ∆. 3.18 (Completezza) Se Γ |= P allora Γ P . poich`.84 Osservazione Tale teorema viene chiamato Teorema di completezza debole per distinguerlo dal Teorema di completezza. l’asserto ` bae e nalmente verificato. Dimostrazione. Nel nostro caso a l’unico assioma ` A A. e Il fatto che le regole strutturali preservano la validit` ` immediato. Dimostrazione. Teorema 3.3 Calcolo dei Sequenti Al fine di enunciare in modo elegante i Teoremi di correttezza e completezza per il Calcolo dei Sequenti ` opportuno generalizzare la nozione di soddisfacibilit` e a semantica nel modo seguente: Definizione 3. La dimostrazione procede per ispezione delle varie regole.18). In questa sezione considereremo la formalizzazione II del calcolo. e Teorema 3. v(Q) = 1). Segue dal Teorema di completezza finita e dal Teorema di compattezza. se Γ |= P allora Γ P. e quelli sulla destra hanno valore 0.

In entrambi i a casi v(A → B) = 1 e dunque Γ |= A → B. ∆ e Γ. le premesse sono valide se e solo se la conclusione ` valida. l’unico caso in cui Γ. Ma in tale situazione. B. (⇒) Segue dal teorema precedente. B |= ∆. A ∆ Γ. Se Γ |= A ∨ B. e deve essere v(A → B) = 0. e Γ. Γ (→ l) Γ. ∆ Γ. A ∨ B ∆ Se i parametri in Γ hanno valore 1 e quelli in ∆ valore 0. le rimanenti sono lasciate al lettore come esercizio. A → B ∆ Supponiamo che Γ. ∆ A. A |= B. in questo caso. Osservazione Il teorema precedente non vale nel caso della formulazione I del Calcolo dei Sequenti. quelli in ∆ valore 0. A ∨ B |= ∆. In altri termini. B ∆ . A → B |= ∆.21 Per ogni regola di inferenza della formulazione II del Calcolo dei Sequenti. ∆. ∆ e Γ. e Dimostrazione. (⇐) Considereremo solo alcune regole. L’unico caso interessante ` quando tutte le formule in Γ hanno valore 1 e e quelle in ∆ valore 0. Teorema 3. e quindi ovviamente Γ |= A. ∆ vi sono solo due possibilit` (non esclusive): o v(A) = 0 oppure v(B) = 1. ∆ A. anche e v(A ∨ B) = 0 e dunque Γ. Naturalmente. lasciando le restanti al lettore. Infatti. Questo implica che v(A) = 1 e v(B) = 0. a a preservano la validit` anche se lette “all’indietro” (scambiando cio` premesse e a e conclusioni). Consideriamo la regola Γ. In entrambi i casi Γ |= A. Vogliamo dimostrare che Γ |= A. ci si restringe al caso in cui tutte le formule in Γ hanno valore 1 e quelle in ∆ valore 0. L’interesse della formulazione II. ` che non e solo le regole preservano la validit`. ∆ Al solito. consideriamo la regola Γ (∨r) Γ A ∨ B. A B. ∆. B. B ∆ (∨l) Γ. A |= ∆ e Γ. ma anche la non validit`. B |= ∆. Consideriamo la regola Γ. ∆ (→ r) Γ A → B. deve essere v(A ∨ B) = 1. ∆ Se i parametri in Γ hanno valore 1. ∆.85 solo alcune. Γ (∨r) Γ A ∨ B. il Teorema di correttezza vale anche per la formulazione I del Calcolo dei Sequenti. ∆ A. poich` per ipotesi Γ. A → B |= ∆. per cui o v(A) = 1 oppure v(B) = 1. In tale situazione. B |= ∆ ` che v(A) = v(B) = 0.

se Γ |= ∆ allora Γ ∆. come gi` accennato in precedenza. Dunque. Poich´ ogni premessa di una ree gola logica contiene meno connettivi della conclusione. Dimostrazione. la ridondanza della regola di taglio nel caso della formulazione II del Calcolo dei Sequenti. tutti questi sequenti devono essere validi. Ma l’unica possibilit` affinch´ Γ |= ∆ ` che Γ e ∆ contengano una sottoa e e formula in comune (in caso contrario ` banale trovare un’interpretazione v tale e che v(Γ ) = 1 e v(∆ ) = 0). Corollario 3. Dunque possiamo sempre completare l’albero di prova. tra le altre cose. per provare il Teorema di completezza (forte) ` e necessario utilizzare il Teorema di compattezza (Teorema 1. Supponiamo che Γ |= ∆.22 (Completezza finita) Sia Γ un insieme finito di proposizioni. il procedimento termina necessariamente. Teorema 3. ma nel procedimento effettivo di eliminazione che permette di trasformare attraverso riscritture elementari. Tuttavia.86 supponiamo che tutte le formule in Γ hanno valore 1. ad essa equivalente. Allora Γ |= A ∨ B. Corollario 3. Come nel paragrafo precedente. priva di tagli. ∆. Teorema 3. Tuttavia. ottenendo una dimostrazione di Γ ∆. le regole di contrazione sono “internalizzate” in quelle logiche. una dimostrazione con tagli in una.18). La dimostrazione del Teorema di completezza (finita) mostra. Poich´ le regole del calcolo preservano la validit` anche e a quando sono applicate all’indietro. Segue dal Teorema di completezza finita e dal Teorema di compattezza. Dimostrazione. l’interesse del teorema a non ` tanto nell’esistenza di una dimostrazione senza tagli per un dato sequene te.24 Le regole di contrazione sono ridondanti nella formulazione II del Calcolo dei Sequenti. ∆. Dunque in tale formulazione. quelle in ∆ valore 0 ed inoltre v(A) = 0 e v(B) = 1. ci si riduce ad un albero le cui foglie sono sequenti del tipo Γ ∆ dove tutte le formule in Γ e ∆ sono atomiche. ma Γ |= A. se Γ e ∆ contengono una formula in comune A.25 Il Calcolo dei Sequenti ` logicamente equivalente alla Dedue zione Naturale ed al Sistema Assiomatico.23 (Completezza) Se Γ |= P allora Γ P . dopo un numero finito di passi. A partire dal sequente Γ ∆ costruiamo all’indietro un albero di derivazione applicando regole logiche fino a ridursi a sequenti con solo formule atomiche. . il sequente Γ ∆ ` facilmente derivabile dall’assioma A A per e indebolimenti e permutazioni.

La prova di e Post presenta due svantaggi rispetto a quest’ultima: non pu` essere facilmente o generalizzata a calcoli logici di altra natura e non consente di dimostrare la completezza (forte). che richiederebbe assunzioni non costruttive. {A → B. ` stata quella di Post ([Pos21]). allora Γ ` e inconsistente. B} 3. 3. 2 Teorema di completezza debole. B → ¬C.2 e 3. la pi` influente. A.3 sono rispettivamente dovute a Kalmar ([Kal35]) e Ketonen (si veda [Cur63]). in termini del significato delle formule. ∀P ∈ Γ. D → E. Unendo le due dimostrazioni si ottiene una prova2 costruttiva di P . La prima dimostrazione pubblicata e per lungo tempo. Esercizi 3. E → ¬A} 2.3 Provare che un insieme Γ ` consistente massimale se e solo se sono verificate e le seguenti condizioni: 1.1 Stabilire quali dei seguenti insiemi sono consistenti: 1.2 Dimostrare che un insieme Γ ` consistente massimale se e solo se esiste e un’unica interpretazione v tale che v(P ) = 1.1 ` dovuta ad Henkin ([Hen54]). Le dimostrazioni dei paragrafi 3. ¬α e Γ. C} 3. la forma normale disgiuntiva. inizialmente. La dimostrazione di complea tezza presentata nel paragrafo 3. 3. Per tale motivo. non si ` cercata una e giustificazione di tali calcoli all’esterno degli stessi.4 Cenni storici e bibliografici I primi calcoli logici sono stati introdotti allo scopo di sviluppare al loro interno tutti i possibili ragionamenti. Per ogni proposizione P . {A ∨ B → C. {A ∨ B → C. B → ¬C. . A. β sono inconsistenti. C → D. P ∈ Γ oppure ¬P ∈ Γ.4 Mostrare che se α → β ∈ Γ e Γ. equivalente ad essa ed una derivazione P d → P (|= P ⇒ P d ). Questi ha mostrato che ogni u e formula ben formata ` equivalente (semanticamente) ad una in forma normale e disgiuntiva. Γ ` consistente. Successivamente ` stato provato che gli assiomi aggiunti da Post erano in realt` derivabili e a da quelli gi` presenti nel Principia Mathematica. P d . Quindi ha aggiunto degli assiomi al sistema del Principia Mathematica in modo tale da produrre. per ogni formula valida P.87 3. Bernays ([Ber26]) ` stato il primo ad utilizzare nozioni semantiche e per giustificare i sistemi di Whitehead e Russel fornendo per essi una dimostrazione di completezza. e 2. Per una panoramica sulle molteplici prove costruttive del Teorema di completezza si veda [Sur73].

(A ∨ B) → (B ∨ A) 3. 1} definita nel seguente modo: per ogni proposizione P . (¬A → A) → A 4.2.8 Riformulare le dimostrazioni del paragrafo 3.10 Riformulare le dimostrazioni del paragrafo 3.7 Dimostrare che Γ Q se e solo se esiste un’interpretazione v tale che v(P ) = 1 per ogni P ∈ Γ e v(Q) = 0.88 3. ¬(A ∧ ¬A) 2. e 3. ` un’interpretazione (cio` verifica le condizioni stabilite nella Definizione 1.2 in Deduzione Naturale e nel Calcolo dei Sequenti.12 Provare che le seguenti proposizioni sono dei teoremi: 1.5).1 in un Sistema Assiomatico e nel Calcolo dei Sequenti. dove v ` un’interpretazione e fissata. (A → (B → C)) → (B → (A → C)) 11. A |= B 3. A B 2. 3. ((A ∧ B) → C) → (A → (B → C)) 10. 3.6 Sia Γ un insieme consistente massimale. (A → (B ∨ C)) → ((A → B) ∨ (A → C)) 12. e e 3. (A → (B ∧ C)) → ((A → B) ∧ (A → C)) .3. 3. A → (B → B) 5. v(P ) = 1 ⇔ P ∈ Γ. |= A → B 4. (¬A ∧ A) → B 6. 3. (¬B ∧ (A → B)) → ¬A 7.5 Provare che l’insieme Γ = {P | v(P ) = 1}.11 Mostrare che le seguenti affermazioni sono equivalenti: 1. A→B 3. (A → B) → ((A → ¬B) → ¬A) 9. ` un insieme consistente massimale. provare che la funzione v : F BF → {0.9 Provare la completezza dei Sistemi Assiomatici menzionati in 2. ¬B → ((A → B) → ¬A) 8.

e In particolare.Capitolo 4 Logica dei predicati 4. Consideriamo. a concetti astratti che denotano un valore di verit` “vero” o “falso”. assume una forma del tipo: A∧B →C e non vi ` alcun motivo per cui tale formula risulti vera. cio` la possibilit` di esprimere che una a e a certa propriet` P sussiste per tutti gli “oggetti” del dominio inteso del discorso a o.1 Introduzione Nei capitoli precedenti abbiamo studiato le propriet` sintattiche e semantiche a dei connettivi proposizionali. se riscritta utilizzando la notazione e simbolica della logica proposizionale. tuttavia. le proposizioni sono assunte ed analizzate come entit` elementari. cio` di “operazioni” che consentono di combinare e tra loro proposizioni pi` semplici per formare proposizioni composte. e l’enfasi ` a e posta sul modo in cui il valore di verit` della proposizione composta dipende a dai valori di verit` dei componenti. a Dal punto di vista formale. ad esempio. che esiste almeno un oggetto che gode della propriet` P . bench´ esse non costituiscano gli elementi pi` semplici e u del ragionamento e posseggano a loro volta una struttura interna che assume un ruolo di primaria importanza nelle deduzioni. senza scomporre ulteriormente queste ultime. la seguente derivazione: ogni numero intero ` un numero razionale e 1 ` un numero intero e 1 ` un numero razionale e questa ` intuitivamente corretta. i suoi meccanismi sono insufficienti per gestire ragionamenti che coinvolgono generalit` e nozioni correlate. ed altre affermazioni a simili. In tali u operazioni. il calcolo proposizionale ` tuttavia poco espressivo. Ci` ` dovuto al fatto che la logica proposizionale si limita a considerare le oe proposizioni composte come funzioni di quelle atomiche. Questo avviene appunto e perch´ non vengono considerate le strutture interne delle proposizioni atomiche e 89 .

funzioni. una struttura interna del tipo soggetto−predicato. Pi` precisamente. la logica dei predicati estende quella proposizionale con le u nozioni aggiuntive di: quantificatori. tradizionalmente noti con il nome di quantificatori. Se ad esempio consideriamo i numeri naturali. sui numeri naturali possiamo considerare la funzione s che associa ad ogni intero . I termini rappresentano gli “oggetti” del dominio del discorso. come ad esempio nella sentenza: tutti i numeri interi sono numeri razionali mentre il secondo consente di esprimere l’esistenza di oggetti in una data relazione. i pi` utili dal punto di u vista matematico sono il quantificatore universale (∀) e quello esistenziale (∃). tra i quali Prolog (si veda a tal proposito il capitolo 6) ed SQL. o che esiste almeno un elemento x che gode della propriet` A. possiamo essere interessati ad esprimere la propriet` che determinati numeri sono a primi. il primo permette di considerare la generalit` degli oggetti del a dominio inteso del discorso. predicati. Essa pu` essere cono siderata come un’estensione di quella proposizionale e risulta sufficientemente espressiva da permettere la formalizzazione di gran parte dei ragionamenti che ricorrono nel linguaggio naturale e nella matematica e da costituire la base di diversi utili linguaggi di programmazione. La semantica intesa per tali connettivi richiede un sistema basato su due classi distinte di oggetti: i “termini” ed i “predicati”. e • Le funzioni permettono di definire nuovi “oggetti” del dominio in termini di quelli preesistenti e di individuarli univocamente. B e C. la seconda falsa. Avremo dunque sentenze della forma: 5 ` un numero primo e 4 ` un numero primo e x ` un numero primo e Si noti che la prima di queste sentenze risulta vera. non ` possibile stabilire se ` vera o falsa: e e questa ` una funzione logica che diventa vera o falsa quando la variabile e x viene rimpiazzata da un oggetto del dominio del discorso (che in questo caso ` l’insieme dei numeri naturali). mentre per quanto concerne la terza. Tra questi. il cui nome deriva dal fatto che una proposizione (atomica) presenta. Formule quantificate del tipo ∀xA o ∃xA esprimono rispettivamente il fatto che la propriet` A sussiste per ogni generico elemento x a del dominio. come: esiste un numero razionale che non ` intero. Per poter ovviare a questi problemi. Ad esempio. • I quantificatori introdotti sono: il quantificatore universale e quello esistenziale. in genere. i predicati sono le relazioni che possono sussistere tra questi oggetti. ` necessario introdurre degli operatori di e una natura sensibilmente differente dai connettivi proposizionali. e • I predicati consentono di esprimere propriet` e relazioni su insiemi di oga getti del dominio. variabili e costanti.90 A. a La logica cos` ottenuta ` nota come logica dei predicati (o logica del primo orı e dine).

. →. B. . . 4. . 1). . le costanti con lettere minuscole iniziali (a. · · · e (eventualmente indiciate) verranno utilizzate come meta-simboli per le formule della logica del primo ordine. indicheremo le variabili con a lettere minuscole terminali dell’alfabeto (x. g. Nel caso di predicati e funzioni. ı In analogia con quanto ` stato fatto per la logica proposizionale. i simboli di predicato saranno rappresentati da lettere maiuscole iniziali dell’alfabeto (A. Definizione 4. • un insieme infinito. . ). ∨. z. ” ed f 2 la funzione che presi due argomenti esegue la loro somma (f 2 (x. h. . procediamo alla e trattazione formale della logica dei predicati presentandone prima la sintassi e poi la semantica. x). I quantificatori sono rappresentati dai seguenti simboli: ∀ ∃ “ per ogni” “esiste” quantificatore universale quantificatore esistenziale Esempio 4. In generale. . numero pari” attribuito ad x (soggetto).2 Sintassi Definiamo anzitutto l’alfabeto per la logica dei predicati. Le lettere maiuscole P. ). cio` il numero degli argoa e menti. . y. C. b. . In questo capitolo. . . diventa A2 (f 2 (x. . . . • un insieme di simboli di funzione f. VAR. per ragioni di chiarezza e leggibilit`. se consideriamo invece un dominio di individui. e cos` via. . ⊥ • quantificatori: ∀. g. maggiore e di . y) = x + y). ). . . . ).91 x il suo successore x + 1. . . quine di A1 (4) rappresenta “4 ` un numero pari”. B. • un insieme di simboli di predicato A. • connettivi : ∧. h. ad esempio.1 Un linguaggio del primo ordine ` definito da un alfabeto come posto da: • un insieme di simboli di costante a. A3 e f 2 per indicare rispettivamente che A ` un a e predicato ternario ed f ` una funzione binaria. . e le funzioni con lettere intermedie (f. . . . si utilizzeranno spesso degli apici per indicarne l’ ariet`. e La proposizione “x + 1 ` maggiore di x” utilizzando la notazione simbolica della e logica dei predicati. ¬. Si scriver`. y. di simboli di variabile x. C. Q. c. z. b.1 La sentenza “x ` un numero pari” si pu` formalizzare come e o A1 (x). dove A1 ` il predicato “. c . ∃ . . . possiamo essere interessati alla funzione che associa ad ogni persona suo padre. . .dove A2 ` il predicato “.

non si faranno particolari assunzioni sulla cardinalit` degli insiemi a di simboli per costanti. ed in tal caso pu` a o essere utile avere una costante differente per ogni elemento del modello (si veda. . Al contrario. t2 . ogni variabile appartiene ad X 3. . a Si noti comunque che l’alfabeto deve essere fissato una volta per tutte. tn ∈ X ed f n ` un simbolo di funzione del linguaggio ⇒ e f n (t1 . che a si indica con |L|.2 TER ` il minimo insieme X tale che: e 1. La cardinalit` di L. I linguaggi differiscono tra loro per i diversi simboli di costante. Osservazione ` E possibile considerare le costanti come funzioni di arit` 0. Abitualmente. Q ∈ X ⇒ (P ∧ Q). tuttavia. procediamo alla definizione formale delle formule ben formate di un dato linguaggio del primo ordine. a Definizione 4. P. funzioni e predicati1 . (P ∨ Q). in modo da avere continua a disponibilit` di variabili “fresche”. tn ∈ TER ed An ` un simbolo di predicato del linguaggio ⇒ e An (t1 . . tn ) ∈ X con n ≥ 0 3. .92 • simboli ausiliari: “(” . si pu` sempre supporre che o l’alfabeto sia finito. tn ) ∈ X con n ≥ 1. si pu` ora definire l’insieme dei suoi termini: o Definizione 4.4). cio` variabili che non appaiono nelle formule a e gi` considerate. se si considerano solo insiemi finiti di formule. . t1 . ` la cardinalit` dell’insieme degli elementi che lo costituiscono. e a Dopo aver presentato i termini. . Per ragioni tecniche. ma ogni alfabeto definisce un linguaggio differente. a tal proposito. si accettano insiemi di costanti di cardinalit` arbitraria. ma nel loro numero ed ariet` e a (ci` che ` comunemente nota come “segnatura” del linguaggio). il paragrafo 5. Fissato un o e linguaggio. . . ` inoltre opportuno e disporre di una infinit` (numerabile) di variabili. se t1 . funzione e predicato definiti nell’alfabeto.4 FBF ` il minimo insieme X tale che: e 1.3 Sia L un linguaggio del primo ordine. . . Definizione 4. . Non esiste dunque un unico linguaggio del primo ordine. P ∈ X ⇒ (¬P ) ∈ X 4. ovviamente la differenza rilevante non ` nei nomi scelti per tali simboli. . ogni costante appartiene ad X 2. (P → Q) ∈ X 1 Ovviamente. perch` pu` essere interessante considerare a e o teorie logiche per descrivere modelli di qualunque cardinalit`. . ⊥ ∈ X 2. . “)”. si richiede che funzioni e predicati siano in numero finito. . In generale. .

poich´ ` implicitamente definito dal numero degli argomenti. nel seguito. .93 5. vediamo la definizione formale di sottoformula: Definizione 4. come: 1. . . le fbf dell’esempio sopra si possono riscrivere. ((∀x)(A1 (x) → B 1 (x))) 2. < . .2 Trasformare in fbf le seguenti sentenze: 1. le parentesi. ((∃x)P ) ∈ X Le fbf dei punti 1 e 2 sono dette formule atomiche o semplicemente atomi. P ∈ X ⇒ ((∀x)P ). . Esiste un numero che non ` naturale e 3. ((∃x)(¬A1 (x))) 3. quando ` possibile. ∃x¬A1 (x) 3. ((∀x)((∃y)C 2 (x. indicheremo con il simbolo “=” l’espressione “· · · ha la stessa precedenza a di · · · ”. e semplicit`. con B 1 “. . ”. Per ogni numero x esiste un numero y tale che x < y Denotando con A1 il predicato “. . tn ). le precedenti proposizioni risultano: 1. .5 Sia P una fbf 1. Esempio 4. allora le sottoformule di P sono P stessa e quelle di P1 . y)) Per aumentare la leggibilit` delle fbf si utilizzano le regole di precedenza dei a connettivi introdotte nel paragrafo 1. ∀x∃yC 2 (x. . . . Se P ` ¬P1 . tn ). . numero intero” e con C 2 “ . numero naturale”. con in aggiunta quelle per i quantificatori. .1 Sottoformule In analogia con quanto fatto per la logica proposizionale. Le precedenze sono espresse e nel seguente modo2 : ∀ = ∃ = ¬ > ∧ > ∨ >→ In base a tali convenzioni. ee 4.2. per eliminare. rispettivamente. e con il simbolo “>” l’espressione “· · · ha precedenza maggiore di · · · ”. 2 Per . y) Inoltre. ometteremo abitualmente l’apice n nelle espressioni f n (t1 . allora P stessa ` la sua sola sottofore e mula. ∀x(A1 (x) → B 1 (x)) 2. . Se P ` ⊥ oppure A(t1 . .3. . Ogni numero naturale ` un numero intero e 2. 2. tn ) o An (t1 . . . . .

Dato dunque un termine t del linguaggio. y). allora A(t)3 per ogni t ∈ TER se: a 1. P2 ∈ FBF. (P1 ∨ P2 ). Intuitivamente. ∀yB(f (y). A(t1 ). y). essa esprime che la formula Q. A(P1 → P2 ) 4. Lo 3A ` verificata e . . 3. y). tn ∈ TER. . Quindi TER ⊆ Y . allora Y soddisfa 1-3 della Definizione 4. I quantificatori stabiliscono dei legami tra la variabile quantificata e le eventuali occorrenze della stessa variabile all’interno del corpo della formula. e 2. A(t2 ). Dimostrazione. B(f (y). allora rimpiazzando le occorrenze di x in Q con il e termine t (ovvero operando la sostituzione Q[t /x ]) si ottiene ancora una sentenza corretta. y). (P1 → P2 ) allora le sue sottoformule sono e P stessa e quelle di P1 e P2 . . y) ∧ ¬∀yB(f (y). allora A(P ) per ogni P ∈ FBF se: a 1. A(f (x). Teorema 4. ci si aspetta che se ` vero ∀xQ. 4.2. A(tn ) ⇒ A(f n (t1 . A(P2 ) ⇒ A(P1 ∧ P2 ). Sia Y = {l ∈ TER | A(l)}. . A(P1 ). . 4. (∃xP1 ).2. ¬∀yB(f (y). ossia ∀t ∈ TER. ∀P1 . . allora le sue sottoformule sono P stessa e quelle e di P1 .6 Sia A una propriet`. in cui pu` comparire la variabile x. . ∀t1 . A(t). Esempio 4. 4.3 Variabili libere e legate Consideriamo una formula quantificata del tipo ∀xQ. ` vera per ogni elemento o e x del dominio inteso del discorso. Analoga a quella del teorema precedente.94 3. A ` verificata per tutti i simboli di variabile e costante. Se P ` (∀xP1 ). Se P ` (P1 ∧ P2 ). A((∃xi )P1 ) ∀i Dimostrazione. A ` verificata per tutti gli atomi. ∀P1 ∈ FBF. . Teorema 4. y).2. tn )) per tutti i simboli di funzione f n con n ≥ 1.7 Sia A una propriet`. .3 Sia P la fbf ∃xA(f (x). e 2. .2 Induzione Definiamo ora i Principi di Induzione Strutturale per i termini e le formule ben formate. A(P1 ∨ P2 ). ∀P1 ∈ FBF A(P1 ) ⇒ A((∀xi )P1 ). A(P1 ) ⇒ A((¬P1 )). ∃xA(f (x). y) Le sue sottoformule sono: P . . .

il campo d’azione di un quantificatore ` la fbf immediatamente alla sua destra. . e Lasciamo al lettore la cura di definire l’insieme BV delle variabile legate di una formula. • FV(¬P1 ) = FV(P1 ). .95 studio formale di questi legami costituisce la principale difficolt` sintattica della a logica dei predicati. e Formalmente. Ad esempio. • FV(f (t1 . . tn )) = FV(t1 ) ∪ · · · ∪FV(tn ) per una funzione n-aria f . vale a dire che una stessa variabile pu` occorrere in P sia libera che o legata. y) → ∀zR(z)). sostituzione etc. Sia ad esempio P la fbf ∀x(Q(x. e richiede una definizione piuttosto meticolosa di nozioni quali campo d’azione. . . • FV(∃xP1 ) = FV(P1 ) −{x}. occorrenze libere e legate di variabili. y} e BV(P ) = {x. e . Ad esempio. che definisce la portata della quantificazione. • FV(P1 → P2 ) = FV(P1 ) ∪ FV(P2 ). • FV(P1 ∧ P2 ) = FV(P1 ) ∪ FV(P2 ). Al contrario. il e campo di azione del quantificatore esistenziale nella fbf (∃x)(P → Q) → R ` la e sottoformula P → Q. • FV(A(t1 . y. Una variabile che compare nel campo di azione di un quantificatore si dir` lea gata. l’insieme FV(t) delle variabili libere in t ` e definito per induzione come segue: • FV(xi ) = {xi } per una variabile xi . ovvero la sottoespressione sintattica su cui essa ha effetto. Per ogni fbf P l’insieme FV(P ) delle variabili libere di P ` definito da: e • FV(⊥) = ∅.9 Una fbf P ` detta chiusa se FV(P ) = ∅. che saranno oggetto di questa sezione. y) → R(x)) ∧ ∀y(¬Q(x. Si noti che per una fbf P . . • FV(c) = ∅ per una costante c. y). z}.8 Sia t ∈ TER. aperta altrimenti. l’insieme delle variabili libere di una formula ben formata ` defie nito nel modo seguente: Definizione 4. l’intersezione di FV(P ) e BV(P ) non ` necessariamene te vuoto. • FV(P1 ∨ P2 ) = FV(P1 ) ∪ FV(P2 ). allora FV(P ) = {x. Definizione 4. • FV(∀xP1 ) = FV(P1 ) −{x}. . ogni occorrenza di un certa variabile ` o libera o legata. x ` legata mentre e y ` libera. La prima nozione che dobbiamo discutere ` quella di campo d’azione (scope) di e un quantificatore. Per definizione. tn )) = FV(t1 ) ∪ · · · ∪ FV(tn ) per un predicato n-ario. . nella formula ∀xA(x. altrimenti libera.

y) che denota la relazione di uguaglianza. Tuttavia. oppure x = 0 e e e ed in tal caso basta prendere come y il predecessore di x e l’implicazione ` vera e in quanto la premessa x = s(y) risulta falsa. Il problema principale consiste appunto nel posizionamento corretto dei quantificatori all’interno della formula. Esempio 4. s(y)) → E(x.96 Osservazione Pu` accadere che una variabile compaia nel campo d’azione o di pi` di un quantificatore per essa. Consideriamo ad esempio x = 1: ovviamente esiste un y e per cui 1 non ` successore di y (dunque la premessa ` vera). come nella formula ∀x(A(x) → ∀xB(x)) u dove la seconda occorrenza della variabile x ` nel campo d’azione di entrambi e i quantificatori. ` opportuno che il lettore svolga fin d’ora numerosi esercizi e di formalizzazione in logica del primo ordine di semplici enunciati tratti sia dal linguaggio matematico che da quello naturale. che al contario gioca un ruolo essenziale. Supponiamo di utilizzare un linguaggio del primo ordine con una costante 0. la prima asserzione ` intuitivamente vera: o e x = 0 e dunque l’implicazione ` vera perch` il conseguente ` vero.5 Dire che . La prima asserzione sar` formalizzata dalla formula a ∀x∃y(¬E(x. Esempio 4. s(y)) → E(x. pur non avendo introdotto la definizione formale di interpretazione nella logica del primo ordine. facendo riferimento all’interpretazione intuitiva dei quantificatori. Al contrario. u Il campo d’azione dei quantificatori determina in modo essenziale l’interpretazione stessa della formula. una funzione unaria s che denota la funzione successore ed un predicato binario E(x.4 Asserire “Per ogni intero x esiste un numero y tale che se x non ` il successore e di y allora x = 0” ` una cosa ben diversa dal dire e “Per ogni intero x se esiste un numero y tale che x non ` il successore e di y allora x = 0” In particolare. si assume che il legame corretto sia con il quantificatore pi` interno. In questo caso. 0)) che sono ben diverse tra loro! Un altro errore comune ` quello di invertire inopinatamente l’ordine dei quane tificatori in una formula. e Veniamo al problema della loro formalizzazione logica. 0)) mentre la seconda assume la forma ∀x(∃y¬E(x. ma 1 = 0 e dunque e e il conseguente ` falso. la seconda asserzione ` intuitivamente falsa. come risulter` evidente dalla semantica formale definita a nel prossimo paragrafo.

10 Siano s. mentre y ` “libera”. per ogni x. Definiamo innanzi tutto la sostituzione all’interno di termini. In un linguaggio del primo ordine. e Vediamo ora la definizione formale di sostituzione di una variabile x con un termine t in una formula P . ` e ` “legata”. rispettivamente.97 “Per ogni x. non ` per` ammesso sostituire y al e o posto di x. y) 4. Ovviamente. esiste un y tale che x ` minore di y” e ` una cosa completamente diversa dall’affermare e “Esiste un y tale che.6 Si consideri l’integrale b f (y) = a x · y dx intuitivamente la variabile x. ed ` intuitivamente falsa se si considerano come oggetti del dominio e del discorso i numeri naturali (mentre. allora s[t /x ]. il nuovo nome y non doveva comparire libero in P poich` altrimenti si andrebbero a legare delle occorrenze di variabili e che non erano legate nella formula originaria. t ∈ TER. Definizione 4. y) ∃y∀xA(x. al contrario. ` definito nel seguente modo: e • se s ` una variabile y. ossia il termine ottenuto rimpiazzando tutte le occorrenze di x in s con t. E possibile sstituire z al posto di x (quindi e b l’integrale diventerebbe f (y) = a z · y dz). Illustriamo la tal cosa con un esempio tratto dalla matematica. a condizione di cambiare in modo consistente i nomi di tutte le occorrenze della variabile x in P legate dal quantificatore. allora e y[t /x ] = y t se y = x se y = x . le due asserzioni suddette assumono. la prima asserzione ` banale mente vera). che denoteremo con P [t /x ]. nella classificazione precedentemente discussa. Esempio 4. x ` minore di y” e Quest’ultima sentenza asserisce l’esistenza di un massimo rispetto alla relazione d’ordine.4 Sostituzione I nomi delle variabili quantificate assumono il ruolo di parametri formali. la seguente forma: ∀x∃yA(x. questo significa che in una formula del tipo ∀xP o ∃xP si pu` cambiare il nome x in o un nome y senza modificare il significato intuitivo della formula. perch´ in tal modo si otterrebbe una funzione differente.2.

vale a dire ∃x(x < y). Dunque ∃x(x < y) ` logicamente equivalente ad ∃z(z < y). Consideriamo ad esempio la formula P data da ∃x(x < y). Intuitivamente si sta semplicemente ridenominando una variabile e ci si aspetta che il significato della formula non cambi. potrebbe non esserlo (dipende dall’interpretazione che si d` alla variabile lia bera y). allora P [t /x ] ` definito. tn )[t /x ] = A(t1 [t /x ]. Tuttavia. ha lo stesso “significato” di ∃x(x < y). . otterremmo la formula ∃x(x < x) che ha un significato intuitivo differente dalla precedente. Ci` accade in quanto la variabile (libera) y diventa legata dopo la o sua sostituzione con la variabile x. Tale considerazione suggerisce la soluzione al problema. . Abbiamo gi` osservato che si possono ridenominare liberamene a te le variabili legate senza alterare la semantica attesa della formula. tn [t /x ]) • (¬P1 )[t /x ] = ¬P1 [t /x ] • (P1 ∧ P2 )[t /x ] = P1 [t /x ] ∧ P2 [t /x ] • (P1 ∨ P2 )[t /x ] = P1 [t /x ] ∨ P2 [t /x ] • (P1 → P2 )[t /x ] = P1 [t /x ] → P2 [t /x ] •  se x = y e y ∈ F V (t)  ∀y(P1 [t /x ]) t ∀z(P1 [z /y ][t /x ]) se x = y. . Ad esempio. ∃x(x < x) risulta intuitivamente falsa se si considera una qualunque struttura ordinata. . . e la sostituzione P [x /y ]. si vuole evitare che una qualche variabile libera in t venga indebitamente legata da qualche quantificatore di P durante la sostituzione. Un modo differente di vedere il problema ` il seguente. pur non avendo ancora introdotto la definizione formale di interpretazione per la logica dei predicati. . mentre la formula di partenza. si ottiene ∃z(z < x) che.98 • se s ` una costante c. y ∈ F V (t) e z non occorre in P1 . t (∀yP1 )[ /x ] =  ∀yP1 se x = y . . . . applicando in modo semplicistico la nozione di sostituzione. Se ora si sostituisce x per e y in tale formula. Definizione 4. . ` necessario ridenominare in modo opportuno la variabile e x in modo da evitare “collisioni” indesiderate. nel seguente modo: • ⊥[t /x ] = ⊥ • A(t1 . tn [t /x ]) Nel definire P [t /x ] esiste un problema piuttosto delicato che deve essere discusso. . . . . per e induzione strutturale su P . Consideriamo ora la definizione formale.11 Siano P ∈ FBF e t ∈ TER. intuitivamente. Allorch` si ha una sostituzione del tipo (∀xP )[t/y] o (∃xP )[t/y] e la variabile x e compare libera in t. tn )[t /x ] = f (t1 [t /x ]. allora c[t /x ] = c e • f (t1 . . In particolare. .

Il risultato della sostituzione simultanea di t1 . .xn ] (con P [t1 . e se si considera A(x0 . Esempio 4.. z)) mentre P [t /x ] = P essendo x una variabile legata. ..99 •  se x = y e y ∈ F V (t)  ∃y(P1 [t /x ]) t ∃z(P1 [z /y ][t /x ]) se x = y. ... Pi` formalmente: u Definizione 4. infatti.. ad ogni simbolo di funzione f k con k ≥ 1 una funzione k IA (f k ) : DA → DA . Esercizio 4..xn ] quella in una fbf P ). ad ogni simbolo di costante c un elemento IA (c) ∈ DA 2.3 Semantica Il linguaggio introdotto nel paragrafo precedente.tn /x1 . . x)) e sia t il termine f2 (x). . xn in un termine t si indica con t[t1 . )[tn /xn ])...7 Sia P la fbf ∀x(A(x) → B(f1 (y). a ci` non risulta sufficiente. .13 Una struttura ` una coppia A = (DA .. allora P [t /y ] = ∀z(A(z) → B(f1 (f2 (x)). x0 ) mentre (A(x0 . x1 )[x1 .. Infatti. x0 ) 4. sul quale assumee a ranno i valori le variabili. data la maggior complessit` del linguaggio. Si osserva che la sostituzione simultanea pu` essere diversa dalle coro rispondenti sostituzioni ripetute ( cio` ((. del tutto privi e di significato.. tn al posto di x1 .. in quella del primo ordine. x1 )[x1 /x0 ])[x0 /x1 ] = A(x1 .x1 ] = A(x1 .. .. . x1 )[x0 /x1 ] = A(x0 . y ∈ F V (t) z non occorre in P1 . ` solo un insieme di simboli. Ci proponiamo ora di interpretare tali simboli. associati in base a particolari regole. per definire un’interpretazione nella logica o dei predicati. .12 Scrivere la definizione formale di sostituzione simultanea. . come tutti i linguaggi formali.x0 /x0 .. ed un assegnamento che associa funzioni ai simboli di funzione e predicati ai simboli di predicato.. . t (∃yP1 )[ /x ] =  ∃yP1 se x = y Osservazione Dalla definizione precedente segue che la sostituzione ha effetto solo se si applica a variabili libere. Nella logica proposizionale un’interpretazione ` un assegnamento di valori di e verit` alle proposizioni atomiche che viene opportunamente esteso a quelle coma poste. (t[t1 /x1 ])[t2 /x2 ] . IA ) dove DA ` un e e qualunque insieme non vuoto detto dominio (o universo) ed IA un’ assegnazione che associa: 1. . ` necessario specificare due entit`: un dominio.tn /x1 .

Notazione ξ A [a /x ] ` l’ambiente ξ A salvo che ad x si associa a. y)). . f (x)) ∨ B(g(c. la formula P assume il “significato” “Per ogni intero x. come un opportuno sottoinsieme di DA . 1} si pu` vedere. Non essendo possibile interpretare una formula ben formata contenente variabili libere. in modo o k equivalente. . IA (f ) e IA (B). n) → m + n • IA (c) = cA = 2 • ξ A (y) = 1 Nell’interpretazione precedente. n ∈ DA e m > n} • IA (B) = B A = {n ∈ DA | n e primo} ` • IA (f ) = f A = n → n + 1 • IA (g) = g A = (m. Sia (A. A ` un predicato binae rio. g binaria e c una costante. ad ogni simbolo di predicato B k con k ≥ 1 una relazione k IA (B k ) : DA → {0. B un predicato unario. in particolare come quel sottoinsieme di cui IA (B k ) ` la funzione caratteristica. e Esempio 4. f una funzione unaria. Definizione 4. . scriveremo semplicemente cA .8 Sia P la fbf ∀xA(x. vale a dire che ∀y = e x. e A A Indicheremo con ENVA = {ξi | ξi : VAR → DA } l’insieme di tutti gli ambienti per A. e Notazione Nel prosieguo.14 Un ambiente per A ` una funzione dalle variabili a DA . 1.100 3. in tal modo il valore di verit` di una fbf dipender` dallo specifico assegnamento scelto. y ∈FV(P ). f A e B A al posto (rispettivamente) di IA (c). a a Definizione 4. 1} k Osserviamo che la funzione IA (B k ) : DA → {0. ξ A ) dove A ` una struttura e ξ A un ambiente per A. n) | m. } • IA (A) = AA = {(m. si assegneranno ad esse degli elementi del dominio. x > x + 1 oppure 2 + 1 ` un numero primo” e .15 Un’ interpretazione per un linguaggio L del primo ordine ` e una coppia (A. ξ A ) un’interpretazione la cui restrizione a P ` la seguente: e • DA = N = {0. ξ A [a /x ](y) = ξ A (y) e ξ A [a /x ](x) = a.

ξ ) : FBF → {0. . .ξ ) (P ). • v (A.101 che ` intuitivamente vera in quanto 3 ` primo. v (A. ξ ξ A A • v (A.ξ ) (P1 → P2 ) = max(1 − v (A. non abbiamo per ora alcuno strumento formale per stabilire il valore di verit` di P . di qui A A a v (A. a Osserviamo inoltre che.ξ ) (P1 (t1 . .ξ ) (P2 )). .ξ ) (∀xP ) = min{v (A. .ξ ) (⊥) = 0. o se si considera la struttura B t.ξ ) (P1 ). v (A. . tk ).c. ξ ξ ξ Definiamo ora il valore di verit` di P in una interpretazione (A. .ξ ) (P1 ).ξ ) (P2 )). La stessa cosa avviene se si interpreta P nella struttura A con ξ(y) = 2. 4 Si veda 4. .ξ [ /x ]) (P ) | a ∈ DA }. v (A. allora la formula ben formata ∀xP (x) ha lo stesso “significato” di P A (a1 ) ∧ · · · ∧ P A (an ). A • v (A. [[tk ]]A ).ξ ) (∀xP1 ) = min{v (A.2.ξ ) (P1 ∧ P2 ) = min(v (A. . . • v (A. la funzione [[ ]]A : TER → DA ` definita in modo induttivo come segue: e ξ ξ • se t ` una variabile x. Supponiamo. (P1 ) | a ∈ DA }. . il valore di verit` di una formula della logica a dei predicati pu` dipendere sia dalla struttura che dall’ambiente. . .ξ ) (P1 ∨ P2 ) = max(v (A.16 Sia P una fbf ed (A. in generale. denotiamo il suo valore nell’interpretazione (A. che DA = {a1 . . A La funzione di valutazione v (A. . Al contrario. allora ∃xP (x) corrisponde a P A (a1 ) ∨ · · · ∨ P A (an ). allora [[t]]A = ξ A (x). . ξ A ) con [[t]]A . Definiamo quindi formalmente il valore di verit` di una fbf rispetto ad una data a interpretazione. . an }. . il quantificatore esistenziale si pu` considerare come una disgiuno zione iterata: se DA = {a1 .ξ A A A a A A A A A A A A A [ /x ]) (P1 ) | a ∈ DA }.ξ ) (P1 ). Ad esempio. . tk )) = P1 ([[t1 ]]A . an }.ξ ) (P2 )). 1} ` definita induttivamente e come segue: • v (A. . tk ∈ TER ed f ` un e e simbolo di funzione di arit` k con k ≥ 04 .ξ A a [ /x ]) Si noti che il quantificatore universale pu` essere visto come una congiunzioo ne iterata. ξ A ) un’interpretazione. . . infatti. Definizione 4. Per ogni termine t che occorre in P . che verr` a a A denotato con v (A. . . e ξ • se t ` una funzione f (t1 . e e Tuttavia. dove t1 . . . . ξ A ). allora a [[t]]A = f A ([[t1 ]]A . • v (A. IB (B) = B B = {n ∈ DB | n = 0} P risulta falsa (qualunque sia l’ambiente). • v (A.ξ ) (∃xP1 ) = max{v (A. [[tk ]]A ).

per il lemma precedente.ξ1 ) (P1 ). tk ).ξ2 ) (P2 )) = v (A. . k segue che v (A. occorrerebbero e infiniti controlli. n A A risulta v (A. . .c FV(t) = {y1 . Veniamo al caso induttivo. . risulta [[t]]A = ξ1 A [[t]]ξ2 . . .102 Osservazione Tale definizione. . ξ2 tali che ξ1 (yi ) = ξ2 (yi ). Si effettua per induzione sulla struttura della fbf P. [[tk ]]A ) supponiamo. • Se P ` P1 ∨ P2 oppure P1 → P2 la dimostrazione ` analoga a quella e e del caso precedente. . . • Se P ` ∀xP1 . .ξ1 ) (P ) = max(v (A. yn } e sia A una struttura. . .ξ2 ) (P ). n. per ipotesi induttiva. v (A. . e ξ1 ξ2 Veniamo al caso induttivo. [[ti ]]A = [[ti ]]A ∀i = e ξ1 ξ2 1. .ξ1 ) (P ) = A v (A.ξ1 [ /x ]) (P1 ) = v (A. non consente di determinare in modo effettivo il valore di verit` a di una fbf in un’interpretazione A.ξ1 ) (P ) = v (A. . . (caso base) • t ` una costante c. .ξ1 ) (P ) = 1 se e solo se v (A. v (A. A A A A Per tutti gli ambienti ξ1 . . al contrario di quanto avviene per la logica proposizionale. .ξ2 ) (P ). . yn } ed A una A A A A struttura.ξ2 ) (P ). Infatti: Lemma 4.ξ2 ) (P ).c. . ξ1 (yi ) = ξ2 (yi ) ∀i = 1.17 Sia t un termine t. . . supponiamo. A A a A A .ξ2 [ /x ]) (P1 ) ∀a ∈ DA che implica v (A. in quanto se DA ` infinito. per ipotesi induttiva A A a A a v (A. . ∀i = 1. Dimostrazione. che [[ti ]]A = [[ti ]]A ∀i = 1. • Se P ` ∃xP1 la dimostrazione ` analoga al caso precedente e viene e e lasciata al lettore come esercizio.ξ1 [ /x ]) (P1 ) = 1 ∀a ∈ e DA . allora v (A. . e ξ1 ξ2 • t ` una variabile y. . ξ2 t.ξ1 ) (P ) = v (A. allora [[t]]A = ξ1 (y) = ξ2 (y) = [[t]]A . allora [[t]]A = f A ([[t1 ]]A .ξ1 ) (P2 )) = A A A max(v (A. t ` una funzione f (t1 . per tutti gli ambienti ξ1 . tk ). . . Si effettua per induzione sulla struttura del termine t. Il valore di verit` di una fbf P in una data interpretazione (A. . .ξ2 ) (P1 ). . . . (caso base) • Se P ` ⊥ l’asserto ` verificato. Dimostrazione. e e • Se P ` P1 (t1 . . Essendo ξ1 = ξ2 su FV(P1 ) = FV(P ) − {x}. ξ1 ξ2 ξ1 ξ2 Proposizione 4. allora [[t]]A = cA = [[t]]A . . che sia vero l’ase A A A serto per P1 e P2 . • Se P ` P1 ∧ P2 . e ξ1 ξ1 ξ1 per ipotesi induttiva. k allora [[t]]A = [[t]]A .18 Siano P una fbf tale che FV(P ) = {y1 . essendo. v (A. ξ A ) dipende solo a dalla restrizione di ξ A all’insieme delle variabili libere di P . .

Una struttura A ` un modello di Γ se per ogni P ∈ Γ si ha A |= P . In tale e situazione. ξ A ) |= P . e e Osserviamo che la nozione di formula valida rappresenta la controparte nella ` logica del primo ordine. P ` soddisfatta in una struttura A. se per ogni struttura e A ed ogni ambiente ξ A tali che per ogni P ∈ Γ si ha (A. che non nel caso proposizionale. come segue: Definizione 4. In tale situazione scriveremo (A. ξ A ) |= Q. ξ A ) |= P . . In questo caso scriveremo |= P . Γ ` soddisfacibile se esiste una struttura A ed un assegnamento ξ tale e che per ogni formula P ∈ Γ si ha (A. P ` vera in A se per ogni ambiente ξ A si ha (A. 2. diremo che Q ` una conseguenza semantica di Γ. ξ A ) |= P . E bene tuttavia tener presente che. Se A ` un e e e modello di Γ scriveremo A |= Γ. Definizione 4. diremo che A ` un modello per P . ed i metodi di refutazione (cap. P ` soddisfacibile se esiste una struttura A tale che P ` soddisfacibile e e in A.19 Sia P una formula ben formata: 1. 3. mentre per verificare se una formula ` una tautoloe gia ` possibile utilizzare direttamente la definizione di interpretazione in logica e proposizionale. P ` valida se ` vera in ogni struttura.ξ ) (P ) = e 1. e 4.3. e 3. e scriveremo A |= P . Γ ` valido se ogni struttura ` un modello per Γ.6). e scriveremo Γ |= Q. ξ A ) |= P . validit` e modelli a a A Definizione 4. la semantica non ` di grande aiuto! Assumono pertanto una importanza e ben maggiore. per stabilire se una formula della logica del primo ordine ` vae lida. ξ A ) |= P . La definizione precedente si estende ad insiemi (eventualmente infiniti) di fbf. e (cio` se A ` un modello per ciascuna delle formule in Γ).20 Sia Γ un insieme di formule ben formate: 1. Diamo ora la generalizzazione al primo ordine della nozione di conseguenza semantica.1 Soddisfacibilit`.103 4. se v (A. della nozione di tautologia (Definizione 1.9). risulta anche (A.21 Dato un insieme di formule Γ ed una formula Q. P ` soddisfacibile in A se esiste un ambiente ξ A tale che (A. una volta dimostrati i teoremi di correttezza e completezza. 2.5). In tale situazione e e scriveremo |= Γ. rispetto all’ambiente ξ A . la nozione di teorema (cap. 5.

e . x)) Dunque. Indichiamo con R(x. il barbiere rade tutti e solo coloro che non si radono da soli. Esempio 4. Il fatto che il barbiere rade tutti coloro che non si radono da soli ` formalizzato dalla formula e ∀x(¬R(x.22 1. e Vediamo come tale ragionamento si formalizza nella logica del primo ordine. e o pi` semplicemente dalla formula u ∀x(R(b. e Lasciamo al lettore la cura di estendere le definizioni precedenti a insiemi di formule ben formate. il fatto che il barbiere rade solo coloro che non si radono da soli ` e formalizzato dalla formula ∀x(R(b. e e 3. x) → ¬R(x.104 ` E utile considerare in modo esplicito la negazione delle nozioni di soddisfacibilit` a e validit`. chi rade il barbiere? Se si rade da solo. Una fbf P ` insoddisfacibile (o contraddittoria) se e solo se non ` e e soddisfacibile (ovvero ` falsa in ogni struttura). Viceversa. ξ A ) |= P . 2. x)) Viceversa. allora non p`o radersi in quanto il barbiere rade solo coloro che u non si radono da soli. e e 2. cio` se non esiste nessun ambiente ξ A tale che (A. il barbiere ` “definito” dalla congiunzione delle due formule precedenti.9 (Paradosso del barbiere) In un piccolo paese esiste un solo barbiere. e Dalle definizioni precedenti segue immediatamente che: Teorema 4. Una fbf P ` falsa in una struttura A se e solo se non ` soddisfacibile e e in A.23 Siano Γ un insieme di fbf e P una fbf. P ` soddisfacibile se e solo se ¬P non ` valida. e utilizziamo una costante b per denotare il barbiere. 1. visto che il barbiere rade tutti coloro che non si radono da soli. x) ↔ ¬R(x. x) → R(b. Ma allora. y) il fatto che “x rade y”. In e questo caso scriveremo A |= P . dovrebbe radersi lui stesso. In effetti. e Osservazione Affermare che una formula P non ` valida non implica che e essa sia contraddittoria (cio` la validit` di ¬P ). ma semplicemente che la sua e a negata ¬P ` soddisfacibile. Γ |= P se e solo se Γ ∪ {¬P } ` insoddisfacibile. P ` valida se e solo se ¬P ` insoddisfacibile. se non si rade da solo. a Definizione 4. la definizione precedente di barbiere ` contraddittoria. Per definizione. x)) Lasciamo come esercizio per il lettore la dimostrazione formale che questa formula ` contraddittoria.

ξ ) (Q) = 1. . ξ A ) |= Q e supponiamo per assurA do che (A.ξ ) (P ). 2.16. . Segue dal lemma precedente.19) corrispondono al significato intuitivo dei connettivi. . Segue dalla Definizione 4.e.ξ ) (Q)) = 0 da cui segue v (A.27 Sia P una formula ben formata. P ` valida se e solo se Cl(P ) e lo `. ξ A ) |= P → Q se e solo se ((A. .2 Propriet` della relazione di soddisfacibilit` a a • chiusura universale di P .26 Sia P una formula ben formata. ci` vuol dire che v (A. ξ A ) |= P → Q. mostriamo a titolo esemplificativo la prova dei seguenti casi: 4. Cl(P ) = ∀x1 .ξ ) (P ).25 A |= P se e solo se A |= Cl(P ).24 Data una fbf P . Si definisce Lemma 4. per la Def.ξ ) (P → Q) = max(1 − v (A. ξ A ) |= P . xk }. ξ A ) |= ∃xP se e solo se (A. ξ A ) |= P e (A. allora essendo A A A v (A. Dimostrazione. ξ A ) |= Q. 4. 6. (A. (A. e Dimostrazione. ξ A ) |= Q. 4. (A. dunque (A. ξ A [a /x ]) |= P per qualche a ∈ DA . . risulA ta v (A. ξ A [a /x ]) |= P per ogni a ∈ DA . v (A.3. . ξ A ) |= P ⇒ (A. • chiusura esistenziale di P . xk P . Immediata. (A. (A. v (A. ξ A ) |= P ∨ Q se e solo se (A. P ` soddisfacibile se e solo se e Ex(P ) lo `. a Lemma 4. ξ A ) |= ¬P se e solo se (A. Sia FV(P ) = {x1 .28 Per ogni P e Q ∈ FBF. (⇐) Viceversa.16. . ξ A ) |= P ∧ Q se e solo se (A. (⇒) Supponiamo che (A. A .ξ ) (Q)) = 1. i. a questa caratteristica verr` ampiamente utilizzata nelle dimostrazioni successive. ξ A ) |= ∀xP se e solo se (A. ξ A ) |= P ⇒ (A.ξ ) (Q) = 0 e v (A. sia (A. Teorema 4. e ` Dimostrazione. .ξ ) (P ) = 1 che contraddice l’ipotesi. ξ A ): 1.ξ ) (P → Q) = max(1 − o A A A A v (A. v (A. 5.105 4. E lasciata al lettore come esercizio. ed ogni interpretazione (A. ξ A ) |= Q. Teorema 4. Definizione 4. 3. Ex(P ) = ∃x1 · · · xn P .ξ ) (P ) = 1. (A. Il lemma che segue permette di stabilire che le propriet` della relazione di soddia sfacibilit` (Definizione 4. ξ A ) |= P . Dimostrazione. ξ A ) |= P o (A. ξ A ) |= Q).

ξ [ /x ][ /y ]) (A(x. y). ξ A ) |= P se e solo se il fatto che per qualche A a b a ∈ DA si ha che per ogni b ∈ DA .28. A d c v (A. y)) = 1 A questo punto ` necessario “ragionare” nel mee talinguaggio. y). y)) = 1. Esempio 4. (A. ξ A ) |= ∀xP se e solo se min{v (A. A a In altri termini. ξ A [a /x ]) |= P per ogni a ∈ DA . la semantica non aiuta molto: essenzialmente essa riduce i quantificatori ai rispettivi termini nel metalinguaggio o pi` formalmente ad operazioni algebriche di minimi e massimi. z) se e solo se per ogni n. ξ A ) un’interpretazione tale che: • DA = N • f A = (x.106 6. y)) = 1 Questo significa che ogni elemento del dominio ` in relazione A con a. Illustriamo u la tal cosa con un esempio. Consideriamo una generica interpretazione e (A. Esempio 4. .ξ [ /x ]) (P ) | per ogni a ∈ DA } = 1 A a se e solo se per ogni a ∈ DA . in accordo alla semantica intuitiva di “per ogni” e “per qualche”. se la formula non ` particolarmente complicata. y) → x − y • C A = {(n. ξ A ).ξ [ /x ][ /y ]) (A(x. y) → ∀y∃yA(x.ξ [ /x ][ /y ]) (A(x. ` spesso pose e sibile trovare in modo intuitivo una interpretazione che la soddisfi. m ∈ DA e n = m} (A. v (A. per dimostrarne la validit` ` necessario considerare tutte le possiae bili interpretazioni per la formula.11 Consideriamo la formula P data da ∃x∀yA(x. e questo ` chiaramente vero. In questo caso. v (A. v (A. e Per dimostrare la soddisfacibilit` di una formula basta esibire un particolare a modello per essa. Dunque e per ogni c ∈ DA si ha che per qualche d ∈ DA (in particolare per per l’elemento A d c a suddetto). Sia (A. m) | n. ξ A ) |= ∀xy∃zC(f (x. Al contrario. il lemma precedente asserisce che nelle dimostrazioni ` pose sibile sostituire i connettivi con i corrispettivi termini nel metalinguaggio ed interpretare gli atomi verificando le relazioni nella struttura. (A. Fissiamo in particolare un a ∈ DA tale che per ogni b ∈ DA risulti v (A.ξ A a [ /x ][b /y ]) (A(x. Per il Lemma 4. y)) = 1 implica che per ogni c ∈ DA si ha che per qualche d ∈ DA .ξ [ /x ]) (P ) = 1 se e solo se (A.10 Sia P la formula ben formata ∀xy∃zC(f (x. y) Vogliamo dimostrare che P ` valida. z). m ∈ N esiste un numero naturale p tale che p = n − m.

3 Equivalenza semantica Il concetto di equivalenza (semantica) nella logica dei predicati ` il seguente: e Definizione 4. Come primo esempio interessante di equivalenza semantica. Riconsideriamo ale lora P1 = ∃x(A(x) → B(x)). l’interpretazione del predicato B ` necessariamente una relazione vuota e (mentre l’interpretazione di A ` necessariamente non vuota). A tal fine. Ad esempio. la cosa pi` semplice da fare ` spesso dimostrarla a u e formalmente in un qualche calcolo logico.ξ ) (P ) = v (A. Questo significa che l’interpretazione deve soddisfare ∃xA(x) ma non ∃xB(x).ξ ) . Il lettore verifichi per esercizio che questa interpretazione non soddisfa P . In altri termini. l’unico modo e e per rendere vera l’implicazione interna. l’interpretazione deve soddisfare la premessa P1 = ∃x(A(x) → B(x)) ma non la conclusione P2 = ∃xA(x) → ∃xB(x). ` che per qualche x l’interpretazione di e A(x) risulti falsa. se vogliamo mostraa re la validit` di una formula. Vedremo nel e prossimo capitolo come sia possibile ridurre il problema semantico della validit` a al problema sintattico della dimostrabilit`.107 Tutto questo non risulta particolarmente intuitivo.12 Consideriamo la formula P data da ∃x(A(x) → B(x)) → (∃xA(x) → ∃xB(x)) Vogliamo trovare una interpretazione che non soddisfa P . Esempio 4. 4. Essendo P una formula del tipo P1 → P2 . preso come dominio l’insieme e e e dei numeri naturali. Al contrario. A questo punto. Dunque basta interpretare A come un qualunque predicato che non ` n` sempre vero n` sempre falso. si pu` interpretare A(x) come {x | x ` un numero pari } e o e B(x) = ∅. tutte le equivalenze e semantiche dimostrate per la logica proposizionale valgono anche in quella dei predicati.3. A A A Per come ` stata definita la funzione di valutazione v (A. ξ A ) di P e Q si ha: v (A.ξ ) (Q) Osservazione Due fbf sono equivalenti se e solo se |= P ↔ Q. la semantica ` estremamente utile per dimostrare la non validit` e a di una formula P (mentre ` spesso complicato provare la non dimostrabilit` in e a un calcolo logico). ` sufficiente esibire una interpretazione che non e soddisfa P . dimostriamo che ridenominando una variabile quantificata in modo consistente all’interno del campo d’azione del quantificatore si ottiene una nuova formula semanticamente . Poich` il predicato B ` sempre falso. n` divertente.29 Due formule ben formate P e Q sono (semanticamente) equivalenti (si scrive P ≡ Q) se per tutte le interpretazioni (A.

allora v (A. per ogni ambiente ξ A v (A. e u In particolare. ξ[ ξ[ 2. per ipotesi. Ovviamente. Il caso in cui P ` ∃zP1 ` del tutto analogo. La dimostrazione si effettua mediante una semplice induzione sulla struttura del termine t. Lemma 4. ed ` lasciata come esercizio per il lettore.31 Siano P una formula ben formata e z una variabile che non occorre in P . Per ipotesi induttiva.ξ A a [ /y ]) (P [y/x]). y ∈ F V (∀zP1 ).ξ A a [ /y ]) (∀zP1 ) = v (A.ξ A a [ /y ]) (P1 [y /x ]) indipendentemente dall’interpretazione di z.ξ Dimostrazione.ξ A a [ /x ]) (∀zP1 ) = v (A.30 1. ∃xP ≡ ∃zP [z /x ] 5 La presente versione del lemma di sostituzione ` leggermente pi` debole di quella abituale. Allora 1. Allora (∀zP1 )[y /x ] = ∀zP1 [y /x ].108 equivalente a quella di partenza.ξ A a [ /y ]) ((∀zP1 )[y /x ]) Vi sono due possibilit`: a • Se z = x. e . e e Dobbiamo dimostrare che v (A. il presente enunciato. da cui segue l’asserto. Tuttavia. A questo scopo. Se y non occorre in t. Per induzione sulla struttura della formula P . Se y non occorre in P . allora [[t]]Aa /x ] = [[t[y /x ]]]Aa /y ] .ξ A a [ /x ]) (P1 ) = v (A. Teorema 4. noto come lemma di sostituzione5 .ξ A a [ /y ]) ((∀zP1 )[y /x ]) = v (A. [ /x ]) (∀zP1 ) = v (A. per definizione di sostituzione (∀zP1 )[y /x ] = ∀zP1 . Trattiamo qui solo il caso in cui P sia ∀zP1 . la cui dimostrazione ` pi` e u semplice. ` sufficiente per i nostri scopi.ξ ) (∀zP1 ) A Inoltre. Poich` y non occorre in ∀zP1 possiamo supporre y = e z. abbiamo bisogno del seguente lemma. 1. Gli unici casi interessanti sono quelli concernenti i quantificatori.ξ A a A a [ /x ]) (P ) = v (A. e dunque anche v (A. x ∈ F V (∀zP1 ). e quindi v (A.ξ ) (∀zP1 ) A • Se x = z. e 2. l’ipotesi che la variabile y non occorra in t o in P pu` essere indebolita all’ipotesi o che y non occorra libera in t o P .

34 Siano P1 e P2 formule ben formate.33 Sia P una formula ben formata. esso consente di spostare i quantificatori attraverso il connettivo (¬). L’ordine dei quantificatori dello stesso tipo ` irrilevante. il seguente teorema: Teorema 4.109 2. ∃xP ≡ ¬∀x¬P Dimostrazione. ∃x∃yP ≡ ∃y∃xP 3. ξ A ) |= ∃x¬P . Il teorema che a segue rappresenta una generalizzazione delle Leggi di De Morgan. se e solo se non per tutti i b ∈ DA (A. se e solo se (A. pu` essere cancellato. Vediamo ora delle utili propriet` che coinvolgono i quantificatori. ∀x∀yP ≡ ∀y∀xP 2. Si possono ottenere da 1. e 4. Mentre ∀ (e ∃) ` distributiva su e ∨ (rispettivamente su ∧) se sono verificate determinate condizioni. Segue immediatamente dal lemma di sostituzione. ∀xP ≡ ∀zP [z /x ] Dimostrazione. E lasciata al lettore come esercizio. inoltre.28 (A. Abbiamo in precedenza osservato che ∀ e ∃ rappresentano una generalizzazione rispettivamente dei connettivi ∧ e ∨. dunque non sorprende il fatto che ∀ (e ∃) sia distributiva su ∧ (rispettivamente su ∨). allora: 1. se e solo se esiste b ∈ DA tale che (A. Teorema 4. Simile alla 1. ¬∃xP ≡ ∀x¬P 3. infatti. ∃xP ≡ P se x ∈ FV(P ) ` Dimostrazione. ξ A [b /x ]) |= P . ξ A ) |= ∀xP . allora . ξ A ) |= ¬∀xP se e solo se (A. un quantificae tore che lega una variabile che non occorre libera nella fbf che si trova nel suo campo d’azione. 2. Pi` formalmente: o u Teorema 4. ∀xP ≡ P se x ∈ FV(P ) 4. 3. ¬∀xP ≡ ∃x¬P 2. e 2. ξ A [b /x ]) |= ¬P . ξ A [b /x ]) |= P . Per il Lemma 4.32 Sia P una formula ben formata: 1. 1. Vediamo. se e solo se esiste un b ∈ DA tale che (A. ∀xP ≡ ¬∃x¬P 4.

ξ A [b /x ]) |= P2 . ∃x(P1 ∨ P2 ) ≡ ∃xP1 ∨ ∃xP2 3. Osserviamo che se x ∈ FV(P2 ) • ∀x(P1 ∨ P2 ) ≡ ∀xP1 ∨ ∀xP2 • ∃x(P1 ∧ P2 ) ≡ ∃xP1 ∧ ∃xP2 Ad esempio. risulta (A. I primi due casi sono immediati.35 Siano P1 e P2 formule ben formate. dire “esiste un intero x pari ed esiste un intero x dispari” (∃xP (x) ∧ ∃xD(x)) non ` logicamente equivalente a e “esiste un intero x che ` pari e dispari” e (∀x(P (x) ∧ D(x))) Tuttavia. se e solo se ∃b ∈ DA tale che e (A. ridenominando in modo opportuno le variabili. In particolare: Teorema 4. Dimostrazione. allora 1. . ∀x(P1 ∨ P2 ) ≡ ∀xP1 ∨ P2 se x ∈FV(P2 ) 4. ξ A [b /x ]) |= P1 ∧ P2 . ∀x(P1 ∧ P2 ) ≡ ∀xP1 ∧ ∀xP2 2.28. Segue dai Teoremi 4. ξ A ).34 e 4. ξ A ) |= ∃xP1 ∧ P2 se e solo se (A.110 1. se e solo se (A.31. se e solo se ∃b ∈ DA tale che (A. Per il Lemma 4. x ` pari oppure x ` dispari” e e (∀x(P (x) ∨ D(x))) ` una cosa ben diversa dal dire e “ogni intero x ` pari oppure ogni intero x ` dispari” e e (∀xP (x) ∨ ∀xD(x)) Allo stesso modo. e lasciamo il 3. Q1 xP1 ∨ Q2 xP2 ≡ Q1 xQ2 z(P1 ∨ P2 [z /x ]) 2. ∀} e z ∈ FV(P1 ) ∪ FV(P2 ). per ogni (A. ξ A ) |= ∃xP1 e (A. ∃x(P1 ∧ P2 ) ≡ ∃xP1 ∧ P2 se x ∈FV(P2 ) Dimostrazione. ξ A [b /x ]) |= P1 e (poich´ x ∈ FV(P2 )) (A. ` sempre possibile spostare i quantificatori attraverso i connettivi ∧ e e ∨. proviamo il caso 4. ξ A ) |= ∃x(P1 ∧ P2 ). come esercizio per il lettore. Q3 xP1 ∧ Q4 xP2 ≡ Q3 xQ4 z(P1 ∧ P2 [z /x ]) con Qi ∈ {∃. ξ A ) |= P2 . dire che “ per ogni intero x.

∃xP → Q ≡ ∀x(P → Q) 3. dove Qi ∈ {∃. Esempio 4. y) per un certo predicato P .4 Forma Normale Prenessa Nel paragrafo 1. ogni volta che vale P (x. se y ∈ F V (B) ∀xA(x) → B(x) ≡ ∀yA(y) → B(x) ≡ ∃y(A(y) → B(x)) Osservazione La logica dei predicati ` chiamata anche logica del primo e ordine in quanto i quantificatori agiscono solo sulle variabili individuali.38 Per ogni P ∈ FBF esiste una forma normale prenessa P P equivalente.4. Qn xn P1 con n ≥ 0. detta prenessa.13 Le seguenti formule ben formate sono in forma normale prenessa: ∀x∃y∀z(A(x. mentre P1 matrice della formula P .36 Se x ∈ FV(Q) 1. Qn xn viene detto prefisso. Q → ∃xP ≡ ∃x(Q → P ) 4. a condizione di ridenominare in modo opportuno le variabili legate. Ad esempio. Definizione 4. . infatti Teorema 4. in e cui tutti i quantificatori compaiono “in testa” alla formula.37 Una formula ben formata P ` in forma normale prenessa e se ha la forma Q1 x1 Q2 x2 . . ∀x∃z(¬A(x) → B(z. x). Q1 x1 Q2 x2 .3. ∀xP → Q ≡ ∃x(P → Q) 2. Q → ∀xP ≡ ∀x(Q → P ) ` Dimostrazione. E lasciata al lettore come esercizio. vale anche P (y. x)) Teorema 4. Si noti che l’ipotesi x ∈ FV(Q) del teorema precedente pu` essere sempre verio ficata.6 sono state introdotte due forme normali per la logica proposizionale: la forma normale congiuntiva e quella disgiuntiva. al contrario. (caso base) Se P ` un atomo allora ` gi` in forma normale prenessa. y) ∨ B(z) → C(x)). Ad esempio ∀P (P (x. ∀} e P1 non contiene quantificatori. Veniamo e e a al caso induttivo.111 In modo analogo si possono spostare i quantificatori all’esterno del connettivo di implicazione (→). Nella logica del primo ordine ` utile considerare una nuova forma normale. Dimostrazione. . y) → P (y. 4. . Per induzione sulla struttura di P . . in un linguaggio del secondo ordine ` possibile avere variabili funzionali e e predicative. x)) ` una formula della logica del e secondo ordine il cui “significato” ` il seguente: nel modello in cui si interpreta e tale formula.

y). tuttavia quest’ultima e gode della seguente propriet`: ` soddisfacibile se e solo se lo ` la formula di a e e partenza.32. per ipotesi e P P induttiva che P1 e P2 siano le formule in forma normale prenessa equivalenti.14 Cerchiamo la forma normale prenessa di ∀xA(x) → ¬∀yB(y). per ipotesi induttiva che P1 sia la formula e in forma normale prenessa equivalente a P1 . Prima di mostrare la definizione formale di forma di Skolem vediamo di presentarla in modo intuitivo. e a • Quando in una fbf sono presenti dei quantificatori universali. E possibile eliminare il quantificatore a ` esistenziale introducendo un simbolo di costante. per il Lemma 4.3. per fissare le idee.112 P • Se P ` ¬P1 . c. la fbf P ∀x∃yB(x. ξ A ) un’interpretazione tale che: . allora QxP P ` in forma normale prenessa. supponiamo. l’eliminazione di quelli esistenziali non ` altrettanto semplice.5 Forma di Skolem ` E possibile eliminare i quantificatori esistenziali in una formula ben formata introducendo opportunamente dei simboli di funzione. Supponiamo.35 e 4. Supponiamo. ottenendo la fbf A(c). • Se P ` QxP1 con Q ∈ {∀. ∃}. a P1 ed a P2 . Sia (A. e 4. ∀xA(x) → ¬∀yB(y) ≡ ∀xA(x) → ∃y¬B(y) ≡ ∃y(∀xA(x) → ¬B(y)) ≡ ∃y∃x(A(x) → ¬B(y)) ed ∃y∃x(A(x) → ¬B(y)) ` in forma normale prenessa. • Consideriamo la seguente fbf ∃xA(x) il cui significato. per ipotesi induttiva. La formula che ne risulta si dice essere in forma di Skolem. e P che P1 sia la formula in forma normale prenessa equivalente a P1 .28 ` esprimibile con una frase del tipo e “esiste x per cui vale A(x)”. per fissare e le idee. rispettivamente. Consideriamo. cio` si afferma l’esistenza di un certo “oge getto” avente una data propriet`. l’asserto segue dai Teoremi 4. in tal modo si crea un nome per l’ “oggetto” di cui si ` predicata l’esistenza e se ne afferma la propriet` (A). l’asserto segue dal Teorema 4.36. e Esempio 4. A differenza delle forme normali discusse in precedenza. una formula ben formata non ` equivalente alla corrispondente forma di Skolem. • Se P ` P1 ∧ P2 oppure P1 ∨ P2 o P1 → P2 . Supponiamo.

ξ A ) ` un modello per P in quanto “per ogni x ∈ N e esiste y ∈ N tale che y ` multiplo di x”. per fissare le idee. P ` soddisfacibile se e solo se e P S lo `. un’interpretazione (A.. y) | y ` multiplo di x} e per il Lemma 4.15 La fbf ∃x∀y∀z∃tB(x.m con m > 0 i quantificatori universali nel cui campo di azione si trova Qt .1 . xi. z. e la fbf ottenuta con il seguente procedimento. Tornando alla fbf P . Qn xn P1 . se eliminassimo il quantificatore e esistenziale introducendo un simbolo di costante. e si indica con P S .1 . z)) Come gi` accennato in precedenza.1 . Infatti. come ci` di cui si predica l’esistenza dipende o da quello che le variabili rappresentano.xi. Per convincersi e di ci` basta considerare. . la trasformazione di una formula in forma a di Skolem non preserva l’equivalenza. f (x) ` un multiplo di x”. si cancella Qt xt dal prefisso di P e si sostituisce c ad xt in P1 (cio` P1 [c /xt ]). y. ` possibile e introdurre un simbolo di funzione f trasformandola in ∀xB(x. e • siano. Esempio 4. e Le costanti e le funzioni introdotte in tal modo sono dette rispettivamente costanti e funzioni di Skolem. in sostanza. in tale e u interpretazione la prima formula risulta vera mentre la seconda no. t) ha la seguente forma di Skolem: ∀y∀zB(c. Qi. . P ` Q1 x1 Q2 x2 . . si cancella Qt xt dal prefisso di P e si sostituisce g(xi. ci troveremmo ad affermare che “ogni numero naturale ha come multiplo d”. . detto skolemizzazione: per ogni occorrenza Qt di un quantificatore esistenziale • se Qt non ` nel campo di azione di alcun quantificatore universale. ξ A ) tale che DA = o N . In realt`. y.28 (A. allora si sceglie un simbolo di costante g m che non compare in P1 . . i.. . ad esempio. .. Definizione 4.e. Non ` esattamente la stessa cosa asserire ∃xA(x) oppure A(c). . ξ A ) ` “per ogni x ∈ N . per eliminare i quantificatori esistenziali che si trovano nel campo a di azione di quelli universali.m ) ad xt in P1 (cio` P1 [g(xi.113 – DA = N – B A = {(x..40 Per ogni formula ben formata P . cA = 2 e AA = {x ∈ N | x ` il pi` piccolo numero naturale}. . ad esempio d. tuttavia ` ancora soddie e sfacibile: basta interpretare il simbolo di funzione f con una qualunque funzione che associa ad un intero n un suo multiplo. e si introduce una costante c che non compare in P1 . z. consideriamo la fbf ∃xA(x) discussa in precedenza.m ) /xt ]). invece. e e Tale formula non ` equivalente alla precedente. e . Qi. Tuttavia ` e possibile provare che Teorema 4. si dice forma di Skolem di P . f (y. ` necessario introdurre dei simboli di funzione e che esprimono.39 Sia P una fbf in forma normale prenessa. f (x)) la cui interpretazione in (A.

. . . xi. . xt . allora anche P1 lo ` in quanto. xn ) e P1 = Q1 x1 . f (xi.m ) che verifica Qt+1 xt+1 . xn ) dove Qi.1 . . . . se esiste un’interpretazione (A. xi. . . xi. ξ A ) risulta un modello di P1 . . .27 P ` soddisfae cibile se e solo se ∃x1 · · · xn P lo `.1 . A causa della e sue peculiarit`. . Qn xn A(x1 . . Qn xn A(x1 . . . . Parleremo in questo caso di logiche con uguaglianza. . in caso e contrario esisterebbe un’interpretazione che ` un modello per P1 e dunque tale e per cui. . in base al Lemma 4. allora e per ogni xi. . .m ∈ DA esiste un certo xt ∈ DA che verifica Qt+1 xt+1 . . . L’asserto segue e dal teorema precedente. .m ). . Infatti. Qn xn A(x1 . . . . f (xi. xn }. 4. xn ) Quindi posta f A = (xi. e e Viceversa. . siano P1 = Q1 x1 . . . .114 ` Dimostrazione. . ∀x(x = x). Se si vuole trattare l’uguaglianza come un normale simbolo di predicato. Qt−1 xt−1 Qt+1 xt+1 . ∀xy(x = y → y = x). tale predicato viene spesso considerato. . . (A. . Queste possono essere a descritte al primo ordine nel modo seguente: 1. . . e Dimostrazione. .39. xt+1 . . . E possibile trasformarla in una formula P chiusa ed in forma di Skolem.6 Esempi di linguaggi del primo ordine Uguaglianza Un predicato di particolare rilevanza matematica ` l’uguaglianza. si ottiene una fbf P1 che ` soddisfacibile se e solo se lo ` e e P1 . ` Proposizione 4. . . . E sufficiente mostrare che ogniqualvolta si elimina un quantificatore esistenziale dal prefisso di una fbf P1 utilizzando il procedimento illustrato nella Definizione 4. Posto P = (∃x1 · · · xn P )S . Qt xt . . .41 Sia P una fbf. . xt−1 . xi. . ξ A ) che ` un modello per P1 . .m sono i quantificatori universali nel cui campo di azione si trova ∃ xt .1 . . . .28. .m ) → xt . risulterebbe che per ogni xi. xt−1 . Sia FV(P ) = {x1 . Per il Teorema 4. . xt+1 .m ). . . Supponiamo che P1 sia insoddisfacibile. xt−1 . . . . Qi. . . . · · · . .1 . . . xt . .1 . xi. dal punto di vista logia co. . . soddisfacibile se e solo se P lo `. xt+1 . . . xn ) Ma questo ` assurdo avendo supposto che P1 ` insoddisfacibile.3. si deve allora cercare di assiomatizzarne le propriet` caratteristiche. .m esiste f (xi. xi. Qn xn A(x1 . 2. come un particolare simbolo logico dell’alfabeto del linguaggio (che dunque richiede una specifica interpretazione) piuttosto che come un semplice simbolo di predicato.1 . .1 .

xn y1 . yn (x1 = y1 ∧ · · · ∧ xn = yn → f n (x1 . . ∀xy(pop(push(x. . . . . e una funzione binaria push(s. Un ordinamento parziale ` una struttura che soddisfa i seguenti assiomi: e 1. mentre 4 e e 5 equivalgono ad affermare che “=” ` una congruenza. a) che presi in input uno stack ed un elemento restituisce lo stack al quale ` stato aggiunto l’elemento sulla sommit`. . ∀xy(x ≤ y ∧ y ≤ x ↔ x = y) . . . ∀xyz(x ≤ y ∧ y ≤ z → x ≤ z) 2. . e gli ultimi due. ∀x1 . . 4. ∀x(push(pop(x). yn ))). Consideriamo. etc. per ogni simbolo di funzione n-ario f n del linguaggio. ∀x1 . quando utilizzeremo il simbolo “=”. che ` una congruenza rispetto a tutti i simboli di funzioni e pree dicati del linguaggio in esame. per ogni simbolo di predicato n-ario P n del linguaggio. . D’ora in poi. Il linguaggio conterr` una costante nil per indicare a la pila vuota. . . . y)) = y) 2. . a Infatti. ∀xyz(x = y ∧ y = z → x = z). . Ovviamente tali assiomi sono validi nelle logiche con uguaglianza. xn y1 . . ad esempio. . xn ) → P n (y1 . 5. alberi. xn ) = f n (y1 . Tipi di dato Tutti i principali tipi di dato utilizzati in informatica (liste. 1-3 esprimono il fatto che “=” ` una relazione di equivalenza. Queste possono essere semplicemente formalizzate dagli assiomi: 1. .115 3. I primi tre assiomi asseriscono che l’uguaglianza ` una relazione di equivalenza. Tuttavia tali assiomi e descrivono in modo completo il senso logico intuitivo del predicato di uguaglianza. assumeremo implicitamente che sussistano anche gli assiomi precedenti.) possono essere facilmente formalizzati al primo ordine. pile. . il caso delle pile (stack). ` E importante sottolineare che questi non sono sufficenti per garantire che il predicato “=” sia effettivamente interpretato come identit` in una data struttura. e a Le operazioni fondamentali sono le funzioni top(s) e pop(s) che restituiscono rispettivamente l’elemento in cima alla pila e la pila alla quale ` stato tolto e l’ultimo elemento inserito. . y)) = x) 3. . yn )). . yn (x1 = y1 ∧ · · · ∧ xn = yn → (P n (x1 . . top(x)) = x) Relazioni di ordinamento L’alfabeto si compone di due predicati binari: = e ≤. ∀xy(top(push(x.

e due simboli di funzione binaria + e ∗ per somma e prodotto.e. ∀x(x + 0 = x) 4. ∀xyz((x · y) · z = x · (y · z)) 2. ∀x(x · x−1 = e ∧ x−1 · x = e) Il gruppo ` detto abeliano se vale la propriet` commutativa. ∀x(¬0 = s(x)) 2. un simbolo di funzione unario e ( )−1 (funzione di inversione). ∀xy(x + s(y) = s(x + y)) 5. l’esistenza ed unicit` di un elemento x per a cui vale P (abitualmente indicato con la notazione ∃!xP ) pu` essere definita al o primo ordine come ∃x(P (x) ∧ ∀z(P (z) → x = z)) Aritmetica L’alfabeto si compone di una costante 0. Un gruppo ` un modello di: e 1. Come unico predicato si considera quello di uguaglianza. ∀x(x ∗ 0 = 0) . ∀xy(s(x) = s(y) → x = y) 3. ed un simbolo di funzione binario · (composizione).116 L’esistenza di un elemento minimo ` formalizzata dal predicato ∃x∀y(x ≤ y). ∀x(x · e = x ∧ e · x = x) 3. dato un predicato P . e L’ordinamento ` detto totale se ∀xy(x ≤ y ∨ y ≤ x). che nel seguito indicheremo con PA. Diremo allora che una relazione di ordinamento ` densa se e ∀xy(x < y → ∃z(x < z ∧ z < y)). e Possiamo definire il predicato binario x < y come abbreviazione sintattica per x ≤ y ∧ ¬(x = y). si deve al matematico italiano Peano: 1. La seguente formalizzazione dell’aritmetica. Come unico simbolo di predicato si considera l’uguaglianza. Gruppi L’alfabeto ` composto da un simbolo di costante e. e a ∀xy(x · y = y · x) L’unicit` dell’elemento neutro di un gruppo ` espressa dal predicato a e ∀xy((y · x = y ∧ x · y = y) → y = e) In generale. i. un simbolo di funzione unario s per il successore.

noto appunto come paradosso di Russel. Insiemi Vediamo come ` possibile formalizzare la nozione intuitiva di insieme nella logica e del primo ordine. s come la funzione successore. l’assioma di comprensione. (P (0) ∧ ∀x(P (x) → P (s(x)))) → ∀xP (x) L’ultimo “assioma” ` in realt` uno schema di assioma: P (x) pu` essere un quae a o lunque predicato definibile nel linguaggio che contiene un’unica variabile libera x. Ma questo ` equivalente a dire (A. che ` chiaramente contradditorio. si possa formare l’insieme degli elementi x per cui vale P (x). nel paragrafo 5. Infatti. cio` si deve avere (A. + e ∗ rispettivamente come somma e prodotto. e Dunque. si ha ∃z∀x(x ∈ z ↔ ¬(x ∈ x)) ` E facile dimostrare che questa formula ` insoddisfacibile. Una propriet` naturale che ci si aspetta ` che. L’interpretazione intesa di PA ` la struttura ordinaria dei numeri naturali nele la quale “=” ` interpretato come l’uguaglianza tra numeri naturali. In particolare. ξ A ) che la soddisfa. ∀xy(x ∗ s(y) = x + (x ∗ y)) 7. ξ A [a /x ]) |= x ∈ x ↔ ¬(x ∈ x). Russel mostr` in una lettera a Frege come questo assioma conduca in realt` ad un o a paradosso. Tale interpretazione. Nel 1902. consideriamo l’insieme W = {x|x ∈ x} (l’insieme di tutti gli insiemi che non contengono se stessi come elemento). Poich´ lo schema di comprensione vale per ogni predicato P (x). Supponiamo di introdurre un predicato binario (infisso) x ∈ y per denotare l’appartenenza di x ad y. Poich` questa formula deve essere soddisfatta per ogni x. ξ A [a /z ]) |= ∀x(x ∈ z ↔ ¬(x ∈ x)). Allora deve esistere un elemento a ∈ DA tale che (A. non ` l’unica pose sibile. noto come assioma di comprensione ∃z∀x(x ∈ z ↔ P (x)) Questo fu introdotto da Cantor alla fine del secolo scorso.117 6. allora e vale anche per P (x) = ¬(x ∈ x).4. e che ` ovviamente impossibile. nella forma generale suggerita da Cantor. indipendentemente dall’interpretazione di ∈. z = {x | P (x)}) tale che x ∈ z ↔ P (x). dato un qualunque predicato a e P (x). 0 come il e naturale 0. . si ha W ∈ W ↔ W ∈ W . supponiamo e per assurdo che esista una interpretazione (A. L’assiomatizzazione della Teoria degli Insiemi ` particolarmene te “delicata”. detta modello standard dell’aritmetica. cio` che e esista un insieme z (intuitivamente.5 discuteremo l’esistenza di interpretazioni di natura differente. in particolare deve ese sere soddisfatta interpretando x con a. Per come ` definito e W . ξ A [a /z ][a /x ]) |= x ∈ e z ↔ ¬(x ∈ x). che conduce al seguente schema di assioma. L’idea ` estremamente e semplice. In e termini meno formali.

sapendo che y ` un insieme. si pu` definire il e o sottoinsieme degli elementi di y che godono di una certa propriet` P (x). a Dopo questa breve introduzione. Una soluzione a questo paradosso fu suggerita da Zermelo. per ogni insieme y esiste un insieme z tale che i suoi elementi sono esattamente gli elementi di y che inoltre godono della propriet` P . noto o come assioma di separazione6 : ∀y∃z∀x(x ∈ z ↔ x ∈ y ∧ P (x)) ovvero.118 conduce ad un assurdo. 6 Aussonderungs axiom. Questo a pu` essere assiomatizzato al primo ordine dal seguente schema di assioma. y} che denota l’insieme della coppia non ordinata di elementi x e y • un simbolo di funzione P(x) che denota l’insieme delle parti di x • un simbolo di funzione ∪x che denota l’unione degli elementi di x La teoria ` costituita dai seguenti assiomi: e Estensionalit` Due insiemi che hanno gli stessi elementi sono uguali a ∀x∀y(∀z(z ∈ x ↔ z ∈ y) → x = y) Insieme vuoto Specifica che l’insieme vuoto non contiene elementi ∀z¬(z ∈ ∅) Coppia Specifica il significato di {x. x} ` l’insieme singoletto per x: e ∀x∀z(z ∈ {x. y} ↔ z = x ∨ z = y) Si noti che {x. . che osserv` come nella pratica matematica si utilizzi abitualmente il prino cipio di comprensione solo per formare dei sottoinsiemi di insiemi gi` definiti a in precedenza. nel 1922). In altri termini. definiamo formalmente l’assiomatizzazione della teoria degli insiemi proposta da Zermelo e successivamente perfezionata da Fraenkel (l’uso di un linguaggio formalizzato per la formulazione della teoria di Zermelo-Fraenkel fu proposto per la prima volta da Skolem. y} ∀x∀y∀z(z ∈ {x. x}. Il linguaggio utilizzato contiene: • un simbolo di relazione binaria ∈ detto appartenenza • un simbolo di relazione binaria ⊆ detto inclusione • una costante ∅ che denota l’insieme vuoto • un simbolo di funzione binaria {x. x} ↔ z = x) Scriveremo dunque {x} come abbreviazione per {x.

z). il lettore interessato ad approfondire l’argomento pu` consultare [VDD78. {{∅}}. devono appartenere tutti a z. ricordiamo l’assioma della scelta e l’ipotesi del continuo. . Il fatto che due insiemi x e y sono disgiunti pu` essere espresso dicendo che se un elemento appartiene ad x allora non o appartiene ad y.119 Inclusione Definisce il predicato di inclusione ∀x∀y(x ⊆ y ↔ ∀z(z ∈ x → z ∈ y)) Potenza Specifica che P(x) ` l’insieme delle parti di x e ∀x∀z(z ∈ P(x) ↔ z ⊆ x) Separazione Per ogni insieme y esiste un insieme z ottenuto separando da y gli elementi che godono di una proprit` P a ∀y∃z∀x(x ∈ z ↔ x ∈ y ∧ P (x)) Infinito Tale assioma postula l’esistenza di insiemi infiniti (numerabili) ∃z(∅ ∈ z ∧ ∀x(x ∈ z → {x} ∈ z)) In base a tale assioma. z))) L’assioma di rimpiazzamento ` stato il principale contributo di Fraenkel e alla presente teoria. Kun80]. z) → y = z))) o anche ∀x∃!yP (x. Lev79. y) totale e univoca. y) ∧ ∀z(P (x. ci` si formalizza nel modo seguente o ∀x(∃y(P (x. y) L’assioma di rimpiazzamento stabilisce che se P ` una funzione allora per e ogni insieme x esiste un insieme y che coincide con l’imagine di x via P . Esplicitamente ∀x∃!yP (x. {∅}. Ovvero. che sono abitualmente trattati separatamente per via della loro minore evidenza e della natura poco costruttiva. dato un qualunque elemento z questo appartiene a y se e solo se esiste un t tale che t ∈ x e P (t. ovvero dalla formula ∀z(z ∈ x → ¬(z ∈ y)). . y) → ∀x∃y∀z(z ∈ y ↔ ∃t(t ∈ x ∧ P (t. Regolarit` Questo assioma afferma che ogni insieme non vuoto ` disgiunto da a e almeno uno dei suoi elementi. Rimpiazzamento Afferma che l’immagine di un insieme tramite una funzione ` ancora un insieme. Ricordiamo che una funzione ` una particolare e e relazione P (x. . Tra questi. o . Abbiamo dunque ∀x(x = ∅ → ∃y(y ∈ x ∧ ∀z(z ∈ x → ¬(z ∈ y)))) Esistono svariati altri principi della teoria degli insiemi che sono consistenti con gli assiomi precedenti ma non ne sono conseguenza logica (sono dunque indipendenti da essi). ∅.

5 Sia (A. y) → B(x)) → ∀zC(z) ∨ D(z) 4. ∀x∀y∀z(B(x. y) ∨ ¬B(y. m ∈ DA e n ≥ m} • B A = {(n. 4. y) 7. y) 2. x)) • ∀x∀y∀z(P (x. x) • ∀x∀y(P (x. ∃x∃y(A(x. x) 6. p) | n. ¬∀y∃xA(y) → (B(x. ∀x∃yA(x.4 Consideriamo le seguenti fbf: • ∀xP (x. e (Suggerimento: trovare delle interpretazioni che sono dei modelli per due delle formule date ma non per la terza). 4. Definire un’interpretazione che ` un e modello per P ed un’interpretazione che non lo `. p ∈ DA e n + m = p} dire quali delle seguenti formule sono vere in (A. z) → B(y. x. ∀x∀yA(x. y)) 4. z) → P (x. ∃x∀yB(x.120 Esercizi 4. y) ∧ P (y.3 Data la fbf P ∃x∀yP (y. ∃x∃y(A(x. ξ A ) un’interpretazione tale che: • DA = N • AA = {(n. y. y)) 3. g(z)).2 Determinare le variabili libere nelle seguenti fbf: 1. y) → B(x. x.1 Descrivere le strutture dati coda (queue) ed albero in un linguaggio del primo ordine (con uguaglianza). m) | n. x. x. ξ A ): 1. y) → B(x. y) → P (y. f (x). e 4. z)) 2. ∃x∃yA(x. y. y) ∧ ∀zC(x. ∀y∃xA(x. y) → ∀xB(x. ∀x∃y(B(x. c) 5. x. z)) Mostrare che nessuna di tali formule ` conseguenza (semantica) delle altre due. y) → B(y. y) . y)) 3. m. ∃x∃y(A(x. z)) 4. m.

y) → ∃x∀yA(x. (∀xA(x) → ∃xB(x)) → ∀x(A(x) → B(x)) 4. fornire un esempio di interpretazione che non ne ` un modello. e 1. y) 3. ∃x(A(x) → B(x)) → (∃xA(x) → ∃xB(x)) 7. ∃x(A(x) → B(x)) → (∀xA(x) → ∀xB(x)) 5. y) quali di queste sono valide? 4. y) → ∀x∃yA(x. ∃x∀yA(x. (∃xA(x) → ∀xB(x)) → ∀x(A(x) → B(x)) 2.8 Si considerino le seguenti formule: 1. y) → ∃x∀yA(x. 4. (∀xA(x) → ∀xB(x)) → ∀x(A(x) → B(x)) 11. x)↔R(y. ∀x(A(x) → B(x)) → (∃xA(x) → ∀xB(x)) 8. ∀x(A(x) → B(x)) → (∀xA(x) → ∀xB(x)) 10.ξ ) (P [t /x ]) = v (A. x)). ∀x∃yA(x. ∀x(A(x) → B(x)) → (∃xA(x) → ∃xB(x)) 9. ∃x∀yA(x. ∃x(A(x) → B(x)) → (∀xA(x) → ∃xB(x)) 6.10 Provare che (Teorema di deduzione semantica): .6 Provare che per ogni fbf P v (A. y) 2. (∃xA(x) → ∃xB(x)) → ∀x(A(x) → B(x)) 3. (∃xA(x) → ∃xB(x)) → ∃x(A(x) → B(x)) 4. y) → ∃y¬A(y. 4. e (Suggerimento: si utilizzi l’induzione sulla struttura di P ). (∀xA(x) → ∃xB(x)) → ∃x(A(x) → B(x)) 12.ξ A [t] A A [ ]ξ [ /x ]) (P ) dove t ` un termine (Lemma di traslazione). ∀x∃yA(x. Nel secondo caso. ∀x∃y¬A(x.7 Stabilire quali delle formule seguenti sono valide e quali semplicemente soddisfacibili. y) 4. y) → ∀x∃yA(x.121 8. c) 4.9 Provare che |= ¬∃y∀x(¬R(x.

e e ◦ • Se P ` ¬P1 . . y) 3. . .12 Trasformare le seguenti formule ben formate in forma di Skolem: 1. • Se P ` ∀xP1 o ∃xP1 . y)) 2. x) 4. 3. 2.15 Provare che la formula ben formata ∀xP (x.14 Si scriva una tautologia P tale che la skolemizzata di P (P S ) non sia una tautologia. y) → B(y. w)) ` soddisfacibile ma non possiede un modello con dominio finito. definita nel seguente modo: • Se P ` An (t1 . Se |= A(y) allora |= ∀xA(x).13 Definire una procedura per trasformare una fbf in una forma di Skolem nella quale siano invertiti i ruoli di ∀ e ∃ (forma di Skolem duale). . allora P ◦ ` P1 . {∀x(A(x) → B(x)). ¬ (∀x∃yA(x. y. ma A(y) |= ∀xA(x). e 4. z) ∨ ∃x∀yA(x. y) ∧ ¬ ∃x∃yB(x. e (Suggerimento: si utilizzino le forme normali congiuntive e disgiuntive ed il Teorema 4. tn ). Provare che una fbf P ` valida se e solo se la corrispondente formula che non contiene e quantificatori unversali lo `. allora P ◦ ` ¬P1 . e e • Se P ` P1 → P2 o P1 ∨ P2 o P1 ∧ P2 . . P |= Q se e solo se |= P → Q 2. e 4. rispettivamente.122 1. w)) → P (u. e e ◦ . y) ∧ ∀uvw((P (u.16 Una fbf si dice monadica se contiene solo simboli di predicato unari (monadici). f (x)) ∧ ∀y¬P (y. provare che ogni formula monadica ` equivalente alla composizione.34). di formule della forma ∀xP (x) e ∃xP (x) dove P ` una formula che non contiene quantificatori. 4. allora P ◦ `. . ∃x∀y∃zD(x.11 Dimostrare che: 1. mee diante l’utilizzo dei connettivi ∧ e ∨. e e ◦ ◦ ◦ ◦ ◦ ◦ P1 → P2 o P1 ∨ P2 o P1 ∧ P2 . P1 . ∀xA(x)} |= ∀xB(x) 4. Pn |= Q se e solo se P1 . Pn−1 . P ∧ Q |= R se e solo se P |= R e Q |= R. y)) ∧ ∀x¬ ∃yB(y. · · · . x)) ∧ ∃y (∀xC(x. . ∀y(∃xA(x.17 Sia ◦ la trasformazione da formule della logica dei predicati a formule della logica proposizionale. 4. y) ∨ B(x. Pn−1 |= Pn → Q 4. v) ∧ P (v. y) → ∃x∃yB(x. allora P ◦ ` la lettera proposizionale An . .

(C. f B = (x. ξ C ). m ∈ DC e n ≥ m}.19 Data la formula della logica dei predicati con uguaglianza: ∀pq((A(p. aB = 1. y) → x·y e AB = {(n. m) | n. y) → x+y. 7. m) | n. y) = f (q. m ∈ DB e n ≤ m}. a) ∧ p = a) → ∃xy(f (x. (B. dove DB = N . . f C = (x. }. m) | n. . y) → x + y. g A = (x. (A. dove DC = R7 . 7 Insieme dei numeri reali. dove DA = {1. y) → xy . g C = (x. aA = 19. ξ B ).123 Dare un esempio di formula P non valida ma tale che P ◦ sia una tautologia. 3. y) → x · y e AC = {(n. 4. 4. ξ A ). 2. y) = p)) Stabilire se ` soddisfatta nelle seguenti interpretazioni: e 1. aC = 0. 3.18 Definire la sintassi e la semantica della logica del primo ordine con uguaglianza. 9. . y) → x · y e AA = {(n. f A = (x. 5. m ∈ DA e n ≤ m}. . g B = (x. q) ∧ g(x.

124 .

Premettiamo. Questo conduce direttamente alla seguente regola di eliminazione del quantificatore: ∀xA A[t /x ] Viceversa. Dunque ci si aspetta di avere e una regola del tipo: (∗) se Γ A[y /x ] allora Γ ∀xA L’unico problema ` che la variabile y 1 . Questo farebbe s` che essa perderebbe la sua “genericit`”. ovvero in ogni momento si pu` operare il rimpiazzamento dell’una o con l’altra. tuttaa via. sapendo che un generico y a ` numero pari. un’importante convenzione sintattica che consentir` di evitare alcuni noiosi a problemi di collisione tra variabili libere e legate. dovendo soddisfare ı a le propriet` richieste da queste ipotesi. Ora. Ad esempio. che dovrebbe denotare un “elemento e generico” potrebbe al contario apparire libera anche in qualche formula di Γ. considerando calcoli deduttivi al primo ordine. assumiamo di identificare sintatticamente formule che differiscono soltanto per la ridenominazione di variabili legate. ci si aspetta di poter concludere che il suo successore ` dispari. dalle variabili. appunto. Sapendo che per ogni x vale un certo predicato A si pu` concludere che A deve valere per ogni possibile istanziazione di x con un o termine arbitrario del linguaggio in esame. e e che si pu` riassumere nell’asserto o P (y) 1y D(s(y)) ` detta eigenvariable della formula. In particolare.Capitolo 5 Il Calcolo del Primo ordine In analogia con quanto ` stato fatto per il calcolo proposizionale. Iniziamo quindi a considerare le regole di eliminazione ed introduzione del quantificatore universale. cominciamo con e il discutere le propriet` logiche intuitive dei quantificatori. quando si pu` concludere ∀xA? Nel caso in cui ` stato dimostrato che o e A vale per un “generico” x. e 125 . il ruolo di “elemento generico” in un linguaggio del primo ordine ` svolto. Questo significa che le due formule ∀xA e ∀yA[y /x ] sono considerate sintatticamente indistinguibili.

se lui possiede un cappello. i sistemi intuizionisti differiscono da quelli classici solo per l’assenza della regola di riduzione ad assurdo (RAA). ovviamente e tale caratteristica non ` presente nei sistemi classici dove si pu` provare ∃xP (x) e o deducendolo per contraddizione. A livello predicativo. i problemi riguardano la regola di eliminazione: cosa si pu` concludere sapendo ∃xA? Veramente poco. la “genericit`” dell’elemento y deve essere garantita mea diante l’ipotesi addizionale che y non compaia libera in Γ o C. allora la mera esistenza di un tale y ` sufficiente per concludere2 C. Tuttavia. . Il caso del quantificatore esistenziale ` duale. allora il successore di un generico y ` dispari). A[y /x ] C allora Γ. dato che non ` o e noto per quale x sia vera A. In questo senso.126 Tuttavia. Consideriamo la sentenza “esiste un uomo tale che. ∃xA C Anche in questo caso. non ` ovviamente vero che e P (y) ∀xD(s(x)) La condizione che ` quindi necessario aggiungere alla regola (∗) ` che la variabile e e y non deve comparire libera in Γ. sono costruttive: se si dimostra che esiste un termine che gode di una certa propriet` si ` anche in grado di esibirlo a e in modo effettivo. Tale e ragionamento ` espresso dalla seguente regola: e se Γ. Per apprezzare pienamente le motivazioni filosofiche e matematiche dei sistemi intuizionisti vediamo un semplice esempio. per cui ` derivabile P [t /x ]. 2 Si noti l’analogia con il caso della disgiunzione nel calcolo proposizionale. come espresso e dalla seguente regola di introduzione: A[t /x ] ∃xA Nel caso del quantificatore esistenziale. le dimostrazioni nei sistemi intuizionisti. e Come nel caso del calcolo proposizionale. allora il suo successore ` dispari”. al contrario di quelli classici. Sapendo che per un qualche e termine t vale A[t /x ] ` possibile ovviamente concludere ∃xA. e e rappresentato come P (y) D(s(y)) Ovviamente sarebbe scorretto concludere ∃xP (x) D(s(y)) (se esiste un numero pari. Consideriamo infatti ancora l’asserto “se un generico y ` pari. l’ipotesi A[y /x ] ` sufficiente per dimostrare una propriet` e a C. se si ha una dimostrazione di ∃xP (x) allora esiste necessae riamente un termine t (detto testimone). allora tutti gli uomini possiedono un cappello”. supponendo che comunque si prenda un generico elemento y. la differenza principale di questi sistemi rispetto a quelli classici ` che nei primi.

A[y /x ]). Tale dimostrazione non ` costruttiva. Nei sistemi intuizionisti. n` in nessuna delle foglie o e non cancellate del sottoalbero di radice C (a parte. e 5. dal a e punto di vista classico. Esempio 5. Inoltre. in alcuni o calcoli logici). esistono due casi possibili: o ogni e uomo ha il cappello. a ∀xC(x) → ∀yC(y). la formula ∃x(C(x) → ∀yC(y)) non ` dimostrabile. la sentenza ` vera anche in e e questo caso (mostreremo in seguito la dimostrazioni formale di ci`. la variabile y non pu` comparire libera in C. Nel caso del quantificatore universale si ottengono rispettivamente: A[y /x ] (∀i) ∀xA (∀e) A[t /x ] ∀xA dove x e y sono variabili. in quanto non permette di e esibire l’uomo u per cui C(u) → ∀yC(y). e quindi. e 3 Si . In realt`. Le regole per il quantificatore esistenziale sono appena pi` complicate: u A[t /x ] (∃i) (∃e) ∃xA [A[y /x ]] C C ∃xA In (∃e). la sentenza precedente ` facilmente dimostrabile.127 che pu` essere formalizzata dalla formula o ∃x(C(x) → ∀yC(y))3 La frase sembra chiaramente falsa: non si vede ragione per cui un tale uomo debba esistere. oppure esiste un uomo senza cappello. Per questo uoe mo la premessa dell’implicazione ` falsa. deve valere l’ipotesi ausiliaria che y non compaia libera in nessuna delle foglie non cancellate del sottoalbero di radice A[y /x ]. in e (∀i).1 ∀x(A → B(x)) A → ∀xB(x) [A] ∀x(A → B(x)) A → B(x) B(x) ∀xB(x) A → ∀xB(x) noti che ` diversa da ∃xC(x) → ∀yC(y) (se esiste un uomo con il cappello allora tutti e gli uomini hanno un cappello). qui di seguito. Vediamo. e t ` un generico termine del linguaggio. Tuttavia. Infatti. ∃x(C(x) → ∀yC(y)) ` logicamente equivalente.1 La Deduzione Naturale Seguendo la stessa procedura utilizzata per i connettivi proposizionali ` possibile e tradurre in regole di Deduzione Naturale le propriet` intuitive dei quantificatori a appena discusse. ovviamente. che ` una ovvia tautologia. dal punto di vista della logica classica. e quindi l’implicazione ` vera qualunque sia x in quanto e ` vero il conseguente. qualche esempio di derivazione.

y) [∀x¬A(x. y) ∀x¬A(x.116. y) . L’idea ` quella di provare l’asserto per induzione. y) [∀yA(x. y) ⊥ ∃xA(x. y) ∀y∃xA(x. y)] ¬A(x. y)] [¬∃xA(x. y)] A(x. y) Esempio 5.4 (“paradosso” dell’uomo col cappello). y) ⊥ ¬A(x. y) ⊥ ⊥ ¬∀x¬A(x.5 Dimostriamo che nell’aritmetica di Peano ∀x¬(x = s(x)). Sia P (x) = ¬(x = s(x)).128 Esempio 5. y)] ∃xA(x. e ∃x(C(x) → ∀yC(y)) ∃x(C(x) → ∀yC(y)) [C(x)] [A(x)] [∃xA(x)] [A(x. ∃x(C(x) → ∀yC(y)) [¬C(x)] ⊥ ∀yC(y) C(x) → ∀yC(y) [¬∃x(C(x) → ∀yC(y))] ⊥ C(x) ∀yC(y) C(x) → ∀yC(y) [¬∃x(C(x) → ∀yC(y))] ⊥ ∃x(C(x) → ∀yC(y)) Esempio 5. y) ∃x∀yA(x. y) ∀y∃xA(x.3 ∀x(A(x) → B) → (∃xA(x) → B) [∀x(A(x) → B)] A(x) → B B B ∃xA(x) → B ∀x(A(x) → B) → (∃xA(x) → B) Esempio 5. vale a dire che P A ∀x ¬(x = s(x)) dove PA sono gli assiomi di p.2 ∃x∀yA(x.

yn sono libere per x1 . . . . xn ) = f (y1 . xn in P . 4. . . . . . x=x x=y y=x x=y y=z x=z x1 = y1 . A questo scopo si utilizza l’assioma ∀xy(s(x) = s(y) → x = y): ∀xy(s(x) = s(y) → x = y) ∀y(s(x) = s(y) → x = y) [s(x) = s(s(x))] s(x) = s(s(x)) → x = s(x) x = s(x) ⊥ ¬(s(x) = s(s(x))) ¬(x = s(x)) → ¬(s(x) = s(s(x))) ∀x(¬(x = s(x)) → ¬(s(x) = s(s(x)))) L’asserto si ottiene per modus ponens utilizzando l’assioma di induzione (P (0) ∧ ∀x(P (x) → P (s(x)))) → ∀xP (x) Osservazione Il sistema di Deduzione Naturale per la logica dei predicati con uguaglianza si ottiene aggiungendo alle regole mostrate in precedenza. . . . . xn ) → P (y1 . . . Dobbiamo provare ∀x(P (x) → P (s(x))). yn ) [¬(x = s(x))] 2. le seguenti. cio` ∀x(¬(x = e s(x)) → ¬(s(x) = s(s(x)))). . .114: 1. . dove y1 . 3. . 5. infatti: ∀x¬(0 = s(x)) ¬(0 = s(0)) Veniamo al caso induttivo. . . . . . . yn ) x1 = y1 . Ma questa ` una e semplice conseguenza dell’assioma ∀x¬(0 = s(x)). .129 (caso base) Si vuole dimostrare che P (0) = ¬(0 = s(0)). . . . xn = yn f (x1 . . che corrispondono agli assiomi di p. xn = yn P (x1 . . . .

ovvero. ∀b ∈ DA . che comunque si scelga b ∈ DA . (A. a (caso base) L’albero ` costituito dalla sola radice P . Dimostrazione. viceversa. Ma A b A b v (A. ξ A ) |= Γ implica (A. ξ A ) |= Γ implica (A. P ` P1 [t /x ] e l’ultima regola di deduzione applicata ` (∀e). ξ A ) |= P1 [t /x ]. ξ A [b /x ]) |= P1 . ξ A ) tale che (A. ξ A ) |= Γ implica che ∀b ∈ DA . ξ A [b /y ]) |= P1 [y /x ]. (A.28. ovvero. per ipotesi induttiva Γ |= ∀xP1 . ξ A ) |= P1 [y /x ]. Γ |= P1 [t /x ].1. comunque si scelga b e nel dominio DA della struttura. 2. Per induzione sulla profondit` dell’albero di prova per Γ P . (A. ξ A [b /y ]) |= P1 [y /x ] e.1 (Correttezza) Se Γ P allora Γ |= P . si tratta di stabilire se ogni formula derivabile utilizzando le regole della Deduzione Naturale ` anche valida (correttezza) e. Allora esie e ste un albero di prova per Γ P1 [y /x ] dove y non appare libera in Γ. Corollario 5. per il Lemma 4. Allora e e esiste un albero di derivazione relativo a Γ ∀xP1 . per i rimanenti si veda la dimostrazione del Teorema 3. per ipotesi induttiva Γ |= P1 [y /x ]. ξ A ) |= ∀xP1 . A [t] A A [ ]ξ [ /x ]) (P1 ) = Le regole per il quantificatore esistenziale sono lasciate al lettore come esercizio. Dunque Γ |= ∀xP1 . (A. ξ A ) |= Γ risulta (A. allora. Poich` e y non ` libera in Γ.1.ξ [ /x ]) (P1 ) (il lettore lo dimostri per esercizio). In conclusione. Discuteremo solo quelli relativi ai quantificatori. che ogni formula valida ` derivabile nel e e calcolo in esame (completezza). che (A. per ogni termine t. . per definizione.ξ ) (P1 [t /x ]). Per definizione.2 Se P . Γ |= ∀xP1 se e solo se per ogni interpretazione (A. ξ A ) |= Γ se e solo se. e P ∈ Γ e quindi Γ |= P . Come nel caso proposizionale. portando all’interno il quantificatore. Vogliamo dimostrare che. affrontiamo il problema della correttezza e della completezza di tale calcolo (e di quelli ad esso equivalenti).6. (A. P ` ∀xP1 e l’ultima regola di deduzione applicata ` (∀i). per il Lemma 4. (A.ξ A v (A. ξ A ) |= ∀xP1 . ξ A [b /x ]) |= P1 . ξ A [[[t]]ξ /x ]) |= P1 .ξ [ /y ]) (P1 [y /x ]) = v (A. E necessario distinguere tanti sottocasi quante sono le possibili regole di inferenza che concludono l’albero di prova di Γ P .1 Correttezza e Completezza Dopo aver presentato le regole della Deduzione Naturale per la logica del primo ordine. ξ A ) |= Γ implica che ∀b ∈ DA (A. vale a dire che per ogni interpretazione (A. (A. Teorema 5. ξ A [b /y ]) |= Γ. (A. e dunque (A. 1. Dunque. ξ A ) tale che (A. allora |= P . In particolare. ma per l’Esercizio 4. ` Veniamo al caso induttivo. ξ A ) |= Γ risulta (A. v (A.28.130 5.

Vogliamo trovare un’interpretazione che ` un modello e per Γ. Definizione 5. Dunque. proveremo che ogni insieme consistente di fbf ` soddisfacibile (Teorema del modello). La propriet` principale degli insiemi di Henkin ` la seguente: a e Proposizione 5.5 Sia L il linguaggio sul quale ` definito Γ e TER(L) l’insieme e dei suoi termini.3) esiste un modello (Corollario 5. Sia Γ un insieme consistente a massimale e di Henkin.1) per dimostrare che se Γ |= P allora Γ P . e Definizione 5. gli enunciati e le dimostrazioni concernenti gli insiemi consistenti massimali sviluppati per la logica proposizionale. e non solo per le formule e esistenziali che appartengono a Γ.4. (⇒) Per definizione di insieme di Henkin.131 Vediamo quindi l’inverso del precedente teorema. L’ interpretazione canonica (o interpretazione dei termini) (AΓ . ∃xP se e solo se Dimostrazione. Sottolineamo il fatto che un insieme di Henkin Γ deve avere un testimone per ogni formula ∃xP (x) del linguaggio sul quale ` definito. Allora Γ esiste un termine t tale che Γ P [t /x ]. tale che (∃xP (x) → P [t /x ]) ∈ Γ. presentiamo ora una dimostrazione di completezza.7) e di Henkin (Definizione 5. e cio` se Γ |= P allora Γ P e (completezza).7) • mostreremo che ogni insieme consistente pu` essere esteso in uno avente le o summenzionate caratteristiche (Proposizione 5. l’idea ` quella di utilizzare la sua stessa sintassi. alcune delle quali verranno discusse nel paragrafo 5. che costituisce la naturale generalizzazione al primo ordine di quella del paragrafo 3. deve esistere un termine t tale che ∃xP → P [t /x ] ∈ Γ. Si proceder` nel seguente modo: a • proveremo che per ogni insieme consistente massimale (Definizione 3. Un insieme di fbf Γ definito su L si dice insieme di Henkin se per ogni formula di L della forma ∃xP (x) esiste un termine t.1. Ricordiamo che un insieme consistente massimale gode della seguente propriet`: a se Γ P .10 e Teorema di Lindembaum). Come nel caso proposizionale (paragrafo 3. (⇐) Segue da (∃i).3 Sia L un linguaggio del primo ordine. si estendono senza alcuna modifica alla logica dei predicati (la verifica di ci` ` lasciata al lettore come o e esercizio). che ad una prima lettura pu` risultare alo quanto complicata. ha numerose applicazioni. allora P ∈ Γ (chiusura per derivabilit`). Utilizzando i summenzionati risultati. e In particolare. Tale dimostrazione.4 Sia Γ un insieme di Henkin. ξ AΓ ) ` definita nel seguente modo: e • DAΓ = {t | t ∈ T ER(L)} . Γ P [t /x ] per (→ e). detto testimone.

.6 Sia Γ un insieme consistente massimale e di Henkin ed (AΓ . . • P ` ¬P1 . Allora e (AΓ . Proposizione 5. . . ci` si effettua in modo del tutto naturale. affinch´ (AΓ . . . e Veniamo al caso induttivo. perch´ (AΓ . Lemma 3. per come ` definita l’interpretazione canonica. deve esserci un “testimone”. tn ) ∈ Γ. tn ) se e solo se. . . Dimostrazione. . se B(x) ∈ Γ e B(x) → B(y) ∈ Γ. . si considerano insiemi consistenti massimali e di Henkin in quanto. . . . per o fissare le idee. . . ξ AΓ ) l’interpretazione canonica. tn ) ∈ Γ} • Per ogni variabile x ξ AΓ (x) = x Proveremo che se Γ ` un insieme consistente massimale e di Henkin allora e e (AΓ . se e solo se Γ P1 (t1 . ξ AΓ ) sia a e un modello per Γ. tn ) essendo Γ un insieme consistente massimale. . . (caso base) Se P ` una formula atomica P1 (t1 . infatti. ξ AΓ ) ` un modello per esso. . • P ` P1 → P2 . supponiamo. (AΓ . . . Per induzione sulla struttura di P . se ∃xB(x) ∈ Γ. . tn ) ∈ T ERn (L) | A(t1 . . .1 essendo Γ cons. Intuitivamente. Se P = ⊥ l’asserto ` banalmente verificato. ξ AΓ ) sia un modello per Γ. tk ) = f (t1 . . . ξ AΓ ) |= e P1 (t1 . allora (AΓ . B(y) deve appartenere a Γ (dunque Γ e deve essere chiuso per derivabilit`). tk ) • Per ogni simbolo di predicato A ad n argomenti AAΓ = {(t1 . .132 • Per ogni simbolo di costante c cAΓ = c • Per ogni simbolo di funzione f di arit` k a f AΓ (t1 .9. e P (t1 . . ξ AΓ ) |= P1 Γ P1 P1 ∈ Γ ¬P1 ∈ Γ Γ ¬P1 Lemma 4. che B sia un predicato unario. mass. Allora e . . . tn ). . . mass. per questi. ξ AΓ ) |= ¬P1 ⇔ ⇔ ⇔ ⇔ ⇔ (AΓ .28 ipotesi induttiva essendo Γ cons. ξ AΓ ) |= P se e solo se Γ P per ogni fbf P . cio` termine t tale che B(t) ∈ Γ e (quindi Γ deve essere un insieme di Henkin). . inoltre.

L’interpretazione canonica (AΓ .4 . ξ AΓ ) |= P1 [t /x ] ⇔ esiste un termine t tale che Γ P1 [t /x ] ⇔ Γ ∃xP1 I rimanenti casi sono lasciati al lettore come esercizio. Sia t la classe di equivalenza di t. Osservazione Se si considera un linguaggio L del primo ordine con uguaglianza (cfr. Allora e (AΓ .4 essendo Γ cons. mass. ξ AΓ ) |= ∃xP1 (x) ⇔ esiste un termine t tale che (AΓ . ξ AΓ ) |= P1 ⇒ (AΓ .28 ipotesi induttiva essendo Γ cons. vale a dire t = {t ∈ T ER(L ) | t ∼ t} La nuova interpretazione ` data da: e • DAΓ = {t | t ∈ T ER(L) } • Per ogni simbolo di costante c cAΓ = c [t] AΓ [ ]ξ AΓ Lemma 4.114) ` necessario ridefinire l’interpretazione dei termini.5 non ne ` un modello in quanto e e f AΓ (x) = f (x) = f (y) = f AΓ (y). Lemma 4. tuttavia l’interpretazione definita in 5. mass. Γ ` ovviamente soddisfacie bile. e supponiamo ad esempio che Γ sia {f (x) = f (y)}.133 (AΓ .9. p. Corollario 5. ξ [ /x ]) |= P1 ⇔ (AΓ .28 Esercizio 5.6 Esercizio 4. ξ AΓ ) |= Γ e dunque Γ ` soddisfacibile. ξ AΓ ) |= P2 ) ⇔ Γ P1 ⇒ Γ P2 ⇔ P1 ∈ Γ ⇒ P2 ∈ Γ ⇔ ¬P1 ∈ Γ o P2 ∈ Γ ⇔ P1 → P 2 ∈ Γ ⇔ Γ P1 → P2 • P ` ∃xP1 (x). Lemma 3. ξ AΓ ) |= P1 → P2 ⇔ ((AΓ . ξ AΓ [t /x ]) |= P1 ⇔ (AΓ . ξ AΓ ) per un linguaggio del primo ordine con uguaglianza si definisce allora nel seguente modo: Sia ∼ la relazione binaria definita sui termini di L in modo tale che t1 ∼ t2 sse t1 = t2 ∈ Γ ∼ ` una relazione di equivalenza (la verifica di ci` ` lasciata al lettore come e o e esercizio).6 ipotesi induttiva Proposizione 5. allora e (AΓ . Infatti. L’idea ` di introdurre una relazione di equivalenza sui termini di L e definire il dominio DAΓ come l’insieme delle classi di equivalenza di tale relazione.7 Sia Γ un insieme consistente massimale e di Henkin.

. . ∆ 6. si dimostra in modo analogo. per ogni fbf P della forma ∃xP1 (x) si aggiunge ad L una costante cP . ∆ (∃xP (x) → P (y)) → Q dove y ` una variabile che non occorre e nella derivazione associata (Esercizio 5. per un linguaggio del primo ordine con uguaglianza. ∃xP (x) → P (c) Q. tn ) = f (t1 . .9 Γ ` un insieme consistente se e solo se Γ∗ lo `. Sia L∗ il linguaggio risultante. . . La Proposizione 5. dove Q ` una fbf che non contiene la costante c e ∆ un insieme di fbf nessuna e delle quali contenente c.1) che tale regola ` applicabile in quanto y non occorre in ∆. . Infatti 1. . cio` oe e e le definizioni di f AΓ e P AΓ sono indipendenti dalla scelta dei termini t1 . l’interpretazione ` ben definita. ∆ 4.6. supponiamo che ∆.1) ∃xP (x) → ∃yP (y) (Esercizio 5. . . tn ) • Per ogni simbolo di predicato P ad n argomenti P AΓ = {(t1 . e e Dimostrazione. (⇒) Sia ∃xP (x) → P (c) una delle nuove formule introdotte come indicato dalla Definizione 5. Dopo aver provato che gli insiemi consistenti massimali e di Henkin sono soddisfacibili. . ∆ (∃xP (x) → P (c)) → Q (Teorema di deduzione) 2. Lemma 5. detta testimone tale che se P = P allora cP = cP . e 4 Osserviamo . Γ∗ ` l’insieme di fbf dato da Γ ∪ {∃xP1 (x) → P1 (cP ) | ∃xP1 (x) ` una e e formula chiusa con testimone cP }. Allora ∆ Q. . . .134 • Per ogni simbolo di funzione f di arit` n a f AΓ (t1 . Definizione 5. ∆ 5. . ∀y((∃xP (x) → P (y)) → Q) (da (∀i)4 ) ∃y(∃xP (x) → P (y)) → Q (Esempio 5. .3) (∃xP (x) → ∃yP (y)) → Q (Esercizio 5. .9) 3.8 Sia Γ un insieme di fbf definito su un linguaggio L del primo ordine. . . tn ) ∈ Γ} • Per ogni variabile x ξ AΓ (x) = x Essendo ∼ una congruenza rispetto alle funzioni ed ai predicati (la dimostrazione di ci` ` lasciata al lettore come esercizio).8. . . mostriamo che ogni insieme consistente pu` essere esteso in uno o consistente massimale e di Henkin. tn ) | P (t1 . tn come rappresentanti delle classi.

Tuttavia quest’ultima ` essenzialmente basata e sulla numerabilit` delle formule contenute in Γ. sia ∃xP (x) ∈ Lω . posto Γ = Γ ∪ {σ1 . e La dimostrazione del Teorema di Lindembaum si pu` effettuare in modo anao logo a quella del Teorema 3. per induzione su n. Il lemma di Zorn ` equivalente all’assioma della scelta (per ogni insieme Y esiste almeno una e funzione f : (P(Y) − ∅) → Y. . Teorema 5. . . .9. Indichiamo con Lm (rispettivamente Lω ) il linguaggio di Γm (rispettivamente Γω ). e n Dimostrazione. σn } risulta Γ. per definizione ∃xP (x) → P (cτ ) ∈ Γn+1 per un dato cτ .10 Sia Γ un insieme consistente. allora. tale che ∀S ∈ P(Y) − ∅. allora X ha almeno un elemento massimale. Una dimostrazione di tale equivalenza si pu` trovare. σn } a ⊥ dove σi con i = 1. o . definiamo Γ0 := Γ. (caso base) n = 0 l’asserto ` verificato. supponiamo per assurdo che ci` non sia vero. . . • Γω ` un insieme di Henkin. . vale a dire che esiste un n tale che Γn ⊥.10. . L’asserto segue dall’ipotesi induttiva. Supponiamo che Γ ∪ {σ1 . Γn+1 := Γ∗ .) Supponiamo che Γ∗ ⊥. Osserviamo che se ∆ ` un insieme di fbf. . (⇐) Immediata.11 (di Lindembaum) Ogni insieme consistente Γ di fbf ` contenuto in uno consistente massimale. Quindi ∃xP (x) → P (cτ ) ∈ Γω . σn+1 ⊥. Pi` in generale. . in [Kur65]. . si pu` fornire a u o una dimostrazione di tale teorema valida per insiemi consistenti di cardinalit` a arbitraria utilizzando il lemma di Zorn5 . • Γω ` consistente.8 infinite volte. l’asserto segue dal Lemma 5. Infatti. per la dimostrazione precedente Γ ∪ {σ1 . e 6. . n sono nuove formule del tipo ∃xP (x) → P (c). allora Γω = n≥0 Γn ` un insieme di Henkin consistente. Proviamo. ∆ Q (da 5. 5 Tale lemma asserisce che dato un insieme parzialmente ordinato X . . σn } ⊥. detta funzione di scelta. allora per definizione di derivabilit` Γ ∪ {σ1 . Per ottenere un insieme di Henkin l’idea ` quella di iterare il procedimento e indicato nella Definizione 5. che Γ ⊥. σn+1 } ⊥. . f (S) ∈ S). . Infatti. . ad esempio. . se ogni suo sottoinsieme totalmente ordinato ha un limite superiore in X . Proposizione 5.135 7. e Veniamo al caso induttivo. e o allora Γω ⊥. . ∆∗ non ` detto che sia un insieme di e e Henkin in quanto arricchendo il linguaggio con nuovi simboli di costante vengono aggiunte nuove formule del tipo ∃xQ(x) che possono non avere un testimone. . allora ∃xP (x) ∈ e Ln per un certo n. . per induzione su n.

ricordiamo che nella e logica del primo ordine.12 Se Γ ` un insieme di Henkin. per (RAA). che e Γ P.15 (Completezza debole) Se |= P allora P .136 Dimostrazione. Segue dal Teorema di completezza. anche la determinazione della verit` della formula in tale e a 6 Famiglia di F totalmente ordinata per inclusione. Γ pu` essere esteso ad un insieme o di Henkin consistente che.14 (Completezza) Se Γ |= P allora Γ P . Vogliamo provare che F ha un elemento massimale. Dimostrazione. Teorema 5. Per la Proposizione 5. e Osservazione male. e per il Teorema del modello Γ.13 (del Modello) Ogni insieme consistente Γ ` soddisfacibile. allora Γ ∪ {¬P } ` insoddisfacibile. per ogni formula del tipo ∃xP (x) per cui esiste un testimone c tale che ∃xP (x) → P (c) ∈ Γ. Teorema 5. ¬P ` inconsistente. per il Lemma di Zorn. al contrario di quanto avviene in quella proposizionale. Corollario 5. da cui segue. Tuttavia. vale a dire che una formula ` e valida se e solo se ` dimostrabile in tale calcolo. Dimostrazione. F ha un elemento massimale Γ che ovviamente contiene Γ ed ` consistente massimale. e inoltre. e Abbiamo dunque stabilito la correttezza e la completezza della Deduzione Naturale (e dei calcoli logici ad essa equivalenti).7 e 5. ogni catena6 in F ha un limite superiore dato dall’unione di tutti gli elementi della catena (Esercizio 5.5 richiede di controllare la verit` della formula in esame in a ogni possibile interpretazione (ed ovviamente il numero di queste ` infinito). . e Dimostrazione. Si consideri la famiglia F di tutti gli insiemi consistenti contenenti Γ parzialmente ordinati per inclusione (⊆). Infatti. Osserviamo che tale dimostrazione non ` costruttiva. Supponiamo che Γ |= P .8). allora Γ lo `. L’asserto segue dai Corollari 5. non ` possibile stabilire la validit` di una formula per via semantica in quanto e a la Definizione 4. allora banalmente ∃xP (x) → P (c) ∈ Γ.12. per il Teorema di Lindembaum ` contenuto in un e insieme consistente massimale. Sia Γ un insieme consistente di fbf.19.10. se la formula contiene dei quantificatori ed il dominio di una data interpretazione ` infinito. allora. In generale Γ non ha un’unica estensione consistente massi- e Corollario 5. Infatti. e Dimostrazione.

4. Poich´ y non ` libera in A.3 discuteremo una dimostrazione alternativa del Teorema di completezza (debole) che ` semi-costruttiva: verr` infatti presentato un algoe a ritmo in grado di trovare una prova nel Calcolo dei Sequenti per ogni formula valida. Γ A → C[y /x ]. . Dimostrazione. mediante un e procedimento meccanico. ` impossibile stabilire. Una scelta tradizionale di (schemi di) assiomi ` la seguente: e (Π0 ) (Π1 ) (Σ0 ) (Σ1 ) ∀xA → A[t /x ] (∀x(C → A)) → (C → ∀xA). Questo ` un limite intrinseco della logica del primo ordine o e dove. allora Γ A → B. In tale situazione. dove x ∈ F V (C) A[t /x ] → ∃xA (∀x(A → C)) → (∃xA → C). e 5.1.16 (Deduzione) Se Γ. Per ipotesi induttiva. A B. L’approccio pi` comune ` quello u e di ammettere non solo il modus ponens A→B B ma anche quella di generalizzazione (introduzione del quantificatore universale). nel caso in cui la formula non lo sia. quello in cui B sia ottenuto tramite una applicazione di (∀i).137 interpretazione pu` richiedere infiniti controlli. dove x ∈ F V (C) A Teorema 5. A C[y /x ] per una qualche indee terminata y. una variabile che non deve comparire libera nelle foglie e dell’albero di prova di radice A[y /x ] (y ` abitualmente chiamata indeterminata e nella terminologia dei Sistemi Assiomatici). come vedremo nel paragrafo 5. ovvero: A[y /x ] ∀xA dove y `. si possono utilizzare e e l’assioma (Π1 ) ed il modus ponens. ed applicando (∀i) risulta anche Γ ∀y(A → C[y /x ]). Anticipiamo che.2 Sistemi Assiomatici Esistono varie formulazioni di Sistemi Assiomatici del primo ordine che differiscono tra loro in base agli assiomi scelti ed al fatto che si insista o meno sull’avere il modus ponens come unica regola di inferenza. La dimostrazione ricalca fedelmente quella del relativo teorema per il calcolo proposizionale. B ` una formula del tipo ∀xC e Γ. o Nel paragrafo 5. se una formula ` valida o meno. ottenendo Γ A → ∀yC[y /x ]. tale algoritmo pu` non terminare. Ci limitiamo pertanto a trattare l’unico caso aggiuntivo. al solito.

Per (→ i). per`. allora Γ A → B. ` Dimostrazione. ` Dimostrazione. nei sistemi alla Hilbert tale regola ha la forma A[y /x ] (Gen) ∀xA senza porre alcuna restrizione su x. A non contiene alcuna applicazione di (Gen) a variabili libere in A. il Teorema di deduzione non vale con piena generalit`. ∃y(A[y /x ]) B. Lo stesso vale per (∃e). . E sufficiente provare che gli assiomi sono dimostrabili in Deduzione Naturale (il lettore lo faccia per esercizio). e Infatti. il Teorema di deduzione viene enunciato nel seguente modo: Se Γ. La derivabilit` di a (→ i) corrisponde al Teorema di deduzione. Supponiamo. A(x) ∀xA(x) ma A(x) → ∀xA(x) non ` una formula valida (il e ` lettore lo verifichi per esercizio). ed applicando (∀i) si ottiene Γ ∀y(A[y /x ] → B). di avere una dimostrazione di Γ.18 Γ ND P implica Γ H P. E quindi necessario formulare tale teorema con una restrizione sufficiente ad escludere controesempi analoghi a quello riportato. in genere. Teorema 5. In particolare. Ma y non ` libera in B. infatti. Anche nel caso predicativo ` piuttosto semplice dimostrare l’equivalenza tra il e Sistema Assiomatico ed il calcolo di Deduzione Naturale. come o a mostra il seguente controesempio: per (Gen).114. Con una ulteriore applicazione di modus ponens abbiamo infine Γ. dunque ` possibile usare l’assioma e e (Σ1 ) ed il modus ponens per ottenere una dimostrazione di Γ ∃y(A[y /x ]) → B. mentre (∃ i) segue da modus ponens e (Σ0 ). si ha una dimostrazione di Γ A[y /x ] → B. Infatti (∀e) segue da modus ponens e (Π0 ). A B e la derivazione di B da Γ. Per quanto riguarda le regole dei connettivi logici. In tal caso.17 Γ H P implica Γ ND P.138 Osservazione La regola di generalizzazione utilizzata in questa trattazione non ` quella che solitamente si incontra nei testi che si occupano dell’argomento. che era quanto si voleva dimostrare (∃y(A[y /x ]) = ∃xA). E necessario dimostrare che le regole della Deduzione Naturale sono derivabili nel Sistema Assiomatico. B. Teorema 5. A[y /x ] B dove y non compare libera in Γ. Come ovvio corollario di tale teorema seguono la correttezza e la completezza del Sistema Assiomatico in esame. Osservazione Un Sistema Assiomatico per la logica del primo ordine con uguaglianza si ricava aggiungendo agli assiomi appena presentati quelli di p. abbiamo gi` visto che queste erano derivabili non a appena lo era (→ i).

∀xA Γ. ∆ A[t /x ]. per comodit` di riferimento.19 (Correttezza) Γ ∆ ⇒ Γ |= ∆. a Teorema 5.139 5. Come nel caso del calcolo proposizionale. ¬A(x) A(x). ∃x¬A(x) ¬∀xA(x) ∃x¬A(x) B(x). ∃x¬A(x) ∀xA(x). ∃xA ∆ ∆ ∆ ∆ (∀r) Γ Γ Γ Γ A[y /x ]. u Vediamo qualche esempio di derivazione: Esempio 5. . ∆ ∃xA. A A A. A[t /x ] Γ.7 ¬∀xA(x) ∃x¬A(x) A(x). Enunciamo semplicemente il risultato. ed ` dunque lasciata e e al lettore come semplice esercizio. A[y /x ] Γ. A A → B(x) ∃x(A → B(x)) Esempio 5.3 IL Calcolo dei Sequenti La versione al primo ordine del Calcolo dei Sequenti si ottiene aggiungendo le seguenti regole logiche di inferenza per i quantificatori: (∀l) Γ. ∆ ∀xA. ∆ (∃l) (∃r) Come condizione ausiliaria per le regole (∀r) e (∃l) ` necessario richiedere che e la variabile y non compaia libera nel sequente conclusione. la versione intuizionista si ottiene imponendo la restrizione che nella parte destra di ogni sequente possa apparire al pi` una formula. ∃xB(x) A → B(x).6 ∃x(A → B(x)) A → ∃xB(x) B(x). A ∃xB(x) A → ∃xB(x) B(x) ∃xB(x) A → ∃xB(x) La dimostrazione di correttezza semantica delle regole del Calcolo dei Sequenti ` simile a quella per le regole della Deduzione Naturale.

e per il modo in cui si ` risolto l’analogo problema di invertibilit` per il connettivo e a binario di disgiunzione nel caso proposizionale. ad esempio. Infatti. ∃xA(x) A(t2 ). ∀xA. ∃xA. ∆ (lasciamo al lettore la cura di dimostrare che tale regola risolve il problema nel caso precedente). ∆ Simmetricamente. Inoltre. ∃xA(x) ∆ A[t /x ]. A(t2 ). Si consideri. ovviamente. la dimostrazione del sequente A(t1 ) ∨ A(t2 ) ∃xA(x): A(t1 ) A(t1 ) A(t1 ) ∃xA(x) A(t1 ) ∨ A(t2 ) A(t2 ) A(t2 ) A(t2 ) ∃xA(x) ∃xA(x) Non esiste alcuna dimostrazione di esso che termini con una applicazione di (∃r). ∀xA (∀l ) Γ. ∆ A[t1 /x ]. Un’altra possibilit` ` di vedere la formula ∃xA(x) come una sorta di “generatoae re” delle sue possibili alternative. ma. ∆ ∃xA(x) Utilizzando (∃r ) si pu` riscrivere la dimostrazione di A(t1 ) ∨ A(t2 ) o nel modo seguente: A(t1 ) A(t1 ). ∃xA(x) A(t1 ) ∨ A(t2 ) A(t2 ) A(t1 ). . A[t /x ]. A(t2 ). esse godono di un’ulteriore propriet` che ` stata utilizzata a e . ∃xA(x) ∃xA(x) A(t1 ) ∨ A(t2 ) A(t1 ) ∨ A(t2 ) ` E facile dimostrare che le nuove regole sono logicamente equivalenti a quelle di partenza. che conduce all’unica regola: Γ (∃r ) Γ ∃xA. A(t2 ). . tale sequente non ` dimostrabile (questa ` una consee e guenza immediata della completezza del calcolo che sar` discussa nella prossima a sezione).1 Invertibilit` a Le regole (∀l) e (∃r) presentano problemi di invertibilit` che complicano la a ricerca “all’indietro” dell’albero di prova. la premessa di tale regola dovrebbe avere la forma A(t1 ) ∨ A(t2 ) A(t3 ). si pu` tentare di sostituire (∃r) o con uno schema di regola del seguente tipo: Γ (∃r ) Γ ∃xA.140 5. ∆ A(t1 ).3. Ricordando che il connettivo esistenziale ` una forma di disgiunzione infinita. . A[tn /x ]. (∀l) pu` essere sostituita da o Γ. .

Si consideri. la seguente dimostrazione. non si ` risolto il reale problema e di invertibilit`. ∀xA(x) A(t). A(x) A(t).2 Un algoritmo di ricerca automatica Il lavoro aggiuntivo prodotto dalle regole (∀l ) e (∃r ) pu` creare dei rami infiniti o durante il tentativo costruzione all’indietro di un albero di prova. che in questo caso ` intrinseco al sistema logico. anche le nuove regole ` non sono sufficienti a risolvere il reale problema di inversione. Tuttavia tale applicazione potrebbe semplicemente costituire del lavoro inutile e complicare l’albero di prova. A(x) A(t). ` sempre possibile concludere una dimostrazione il cui e sequente finale contiene una formula quantificata esistenzialemente nella parte destra (rispettivamente. a e 5. In questo caso.141 nella dimostrazione di completezza del calcolo proposizionale: le regole (∃r ) e (∀l ) sono reversibili. ad esempio.3. Ovviamente. ∀xA(x) ∀xA(x) A(x). l’applicazione di (∀r) ` scorretta in quanto e e x appare libera nel sequente conclusione. Da questo punto di vista. B A(x) ∨ B A(x) ∨ B ∀x(A(x) ∨ B) ∀x(A(x) ∨ B) Tuttavia ` stato semplicemente effettuato del lavoro inutile. E vero infatti che ` sempre possibile applicare come ultima regola (∀l ). che utilizza le regole originarie. del sequente ∀xA(x) ∀x(A(x) ∨ B): A(x) A(x) ∀xA(x) ∀xA(x) A(x). portando alla . nel senso che i sequenti conclusione sono semanticamente validi se e solo se lo sono le rispettive premesse. B A(x) ∨ B ∀x(A(x) ∨ B) ∀x(A(x) ∨ B) Il problema ` che. introducendo la e formula aggiuntiva A(t) nella parte sinistra dei sequenti che non entra in gioco in alcun modo nella dimostrazione. come nell’albero seguente e (dove t ` un qualunque termine che non contiene x) e A(t). in tale situazione. quantificata universalmente nella parte sinistra) con una applicazione di (∃r ) (rispettivamente (∀l )). B A(x) ∨ B A(x) ∨ B ∀x(A(x) ∨ B) Cercando di invertire le due applicazioni di (∀l) e (∀r) si otterrebbe: A(x) A(x) A(x) ∀xA(x) A(x).

A(t2 ). cio` un sequente in cui e e la stessa formula appare sia nella parte destra che in quella sinistra (ci si pu` eventualmente restringere al caso di formule atomiche). le formule ausiliarie delle regole logiche prodotte dalla loro applicazione all’indietro saranno poste in coda nei sequenti che sono premesse della regola. A(t2 ). Poich´ le complesse problematiche connesse all’efficienza di tali algoritmi esulano e dallo scopo della presente trattazione. in presenza di un sequente a cui si possono applicare numerose regole logiche. tale problema non dipende . Evidenziamo ancora il fatto che l’algoritmo potrebbe anche non terminare affatto. L’albero di ricerca ` chiuso quando tutti i suoi e e rami sono chiusi. perdendosi lungo un ramo di ricerca infinito.142 non terminazione dell’algoritmo di ricerca anche in presenza di dimostrazioni finite. . Ad esempio. ∀xA(x) ∀xA(x) ∀x(A(x) ∨ B) ∀x(A(x) ∨ B) ∀x(A(x) ∨ B) ∀x(A(x) ∨ B) Nell’algoritmo di ricerca di una dimostrazione si dovrebbe dunque garantire che. e 2. E possibile immaginare svariate tecniche (ed innumerevoli euristiche) per affrontare il problema. nel caso del sequente ∀xA(x) ∀x(A(x) ∨ B). dato il sequente Γ ∆ l’algoritmo cercher` ad ogni passo pari di applicare a all’indietro una regola logica sulla prima formula (composta) di Γ. piuttosto naif: 1. (terminazione con fallimento) S ` un sequente Ξ1 Ξ2 composto unicae mente da formule atomiche e tale che nessuna formula appare sia in Ξ1 che in Ξ2 . L’algoritmo si arresta lungo un ramo di ricerca non appena si genera un sequente S che soddisfa una delle propriet` seguenti: a 1. in caso di terminazione con fallimento lungo un qualche ramo ` possibile interrompere l’intera ricerca concludendo che e il sequente non ` dimostrabile. ∀xA(x) A(t1 ). A(t1 ).1 (Ξ rappresenta una sequenza di formule atomiche). la ricerca potrebbe procedere nel modo seguente: . e ad ogni passo dispari sulla prima formula (composta) di ∆. In tale o situazione diremo che il ramo ` chiuso. ` nessuna di queste sia privilegiata rispetto alle altre. ∀xA(x) A(t1 ). 2. Nel caso di terminazione con successo lungo un ramo di ricerca. Esplicitamente. Viceversa. A(t3 ). le regole che verranno applicate (da leggersi “all’indietro”) sono riportate nella Figura 5. (terminazione con successo) S ` un quasi-assioma. la soluzione che adotteremo ` basata sul e seguente approccio. . si passer` ad a esplorare i rami ancora aperti.

t pu` essere un termine generico del linguaggio. A ∆ Ξ. ∃xA. A Ξ. . B. Ξ. A Γ Ξ. ∆ Ξ. Γ ∆ Ξ. Introduciamo ora alcune nozioni e risultati che verranno utilizzati nel prossimo paragrafo. ∆ Γ Ξ. Γ Ξ. . Il problema ` o e che si deve garantire che tutti i termini possano potenzialmente essere presi in esame. A ∨ B. ∆ Γ Γ Γ. ∆ Γ. e Il principale problema che ancora resta da risolvere ` la scelta della variabile y e e del termine t nelle regole dei quantificatori. Γ. A Ξ. ∀xA. B Ξ. A ∧ B.1. A[t /x ]. A[y /x ] Ξ. ∆. B ∆ Ξ. come risulter` chiaro nel paragrafo 5. . ∆.ξ ) (P ) = 1 oppure se appare nella parte sinistra e A v (A. Definizione 5. ∆. B Ξ. ∀xA Ξ. Γ ∆ Ξ. . .4. A → B. A ∨ B. Γ. ∆ (∨l) (∨r) Γ Ξ. In (∀l) e (∃r). A → B.143 (∧l) Ξ. A Ξ. a ` un limite intrinseco della logica del primo ordine. A ∧ B. B Γ Ξ. Γ. ∆ Γ Ξ. ∀xA. A. A Ξ. A[t /x ]. ∃xA.20 Data una interpretazione (A. Γ ∆. A. ξ A ). dei termini del linguaggio. ∆ Γ. ed un sequente Γ ∆ diremo che una formula P del sequente ` un costituente positivo se appare e A nella parte destra e v (A. Γ ∆. Γ. . Una semplice soluzione consiste nel fissare un’enumerazione di tutte le variabili e considerare la prima variabile avente tale caratteristica. Γ ∆ Ξ. t2 .1: Formulazione di HK per un algoritmo di ricerca all’indietro dal particolare algoritmo in esame ma. tn . ∆. ∆ (→ l) ∆ (→ r) (¬l) Ξ. e . Γ. ∆. Allorch` si applicher` una delle regole (∀l) o (∃r) si avr` e a a cura di scegliere il primo termine della enumerazione che non ` stato ancora e utilizzato per generare una formula ausiliaria per il dato quantificatore lungo il cammino dell’albero di ricerca che conduce dal sequente in esame fino alla radice (si ricordi che si sta costruendo l’albero “all’indietro”). ¬A. A tale scopo fissiamo una certa enumerazione t1 . ∃xA Γ Ξ. ¬A. . B Γ Ξ. Per quanto riguarda y in (∀r) e (∃l) ` necessario garantire che essa non appae ia libera nel sequente conclusione. Γ. Γ ∆ ∆ (∧r) Γ Ξ. A[y /x ] Ξ. Γ ∆ ∆ ∆ ∆ (¬r) (∀l) (∀r) (∃l) (∃r) Figura 5. Se P ha caratteristiche opposte ` detto costituente negativo.ξ ) (P ) = 0.

21 Sia (A. deve essere e e A A A v (A.ξ ) (B) = 0. deve e e A (A.ξ ) (A) = 1 e v (A. e P si trova nella parte sinistra del sequente. Γ ∆ Poich´ P ` un costituente positivo e si trova nella parte sinistra. 1. ∆. e e . A. 4. i rimanenti sono lasciati al lettore come esercizio. ∆ Poich´ P ` un costituente positivo e si trova nella parte destra. ∀xA. 3. A ∧ B. e 2. o ∃xA in Γ. A Ξ. ` un costituente positivo.ξ ) (P ) = 0. e P si trova nella parte destra del sequente. Questo implica che o v (A. A ∨ B. Se P ` ∀xA e P si trova nella parte destra del sequente. Poich` e A[y /x ] ` ancora nella parte destra della premessa.ξ ) (B) = 0. A → B. A[y /x ] Ξ. Poich` A e che B sono rispettivamente nella parte sinistra ed in quella destra delle premesse.ξ ) (A) = 0. Ne vedremo solo alcuni. Questo implica che v (A. uno di essi ` un costituente positivo.ξ ) (B) = 1. Se P ` del tipo ¬A.ξ ) (P ) = 1. oppuA re v (A. ∆. Poich` sia A che B sono nella parte destra delle rispettive premesse. B (∧l) Ξ. A → B. A ∧ B. P ` A ∧ B.ξ ) (A[y /x ]) = 1. entrambi sono costituenti positivi. deve essere e e A A A v (A. La regola e di introduzione per P `: e Ξ. La regola di e introduzione per P `: e Γ (∀r) Γ A ∆ Ξ. ∀xA in ∆. B ∆ Ξ.144 Proposizione 5. A Γ Ξ.ξ ) (A) = 1. e allora in ogni sequente premessa di una regola di introduzione per P una delle formule ausiliarie della regola ` ancora un costituente positivo. e v (A. La regola di e introduzione per P ` dunque: e Ξ. Γ ∆ Poich´ P ` un costituente positivo e si trova nella parte sinistra. La regola di e introduzione per P ` dunque: e Γ (∧r) Γ Ξ. ∆ A Inoltre deve essere v (A. e entrambi sono costituenti positivi.ξ A ) essere v (P ) = 0.ξ ) (P ) = 1 che implica v (A. Se P ` A → B e P si trova nella parte sinistra del sequente. A ∧ B. B ∆. P ` A ∧ B. Γ (→ l) Ξ. Γ. che implica v (A. Si effettua per casi sulle varie regole. ξ A ) una interpretazione e P un costituente positivo di Γ ∆. ∆. Poich` sia A che B sono nella parte sinistra della e premessa. e Dimostrazione. Γ.

tn ) ∈ M. S2 . . la lista (possibilmente infinita) dei sequenti corrispondenti ai nodi dell’albero. 7 Nel caso in cui l’insieme di formule di partenza sia finito. . Come ambiente si sceglie ξ tale che per ogni variabile x. un simbolo di proposizione P n ` interpretato come quella funzioe ne P AM da T ERn (L) ai booleani tale che P AM (t1 . . allorch` una fore mula atomica appare su un lato di un qualche sequente Si . .23 Si definisce ordine di una formula P il numero di quantificatori e connettivi proposizionali che vi compaiono. l’interpretazione di un simbolo di funzione e f n ` quella funzione da T ERn (L) in T ER(L) che presi n termini t1 . tn ). . ξ(x) = x. ed N l’insieme di tutte le formule atomiche che appaiono nella parte destra di un qualche sequente Si . . contraddicendo il fatto che stiamo considerando un ramo non chiuso dell’albero. Tale interpretazione ` nota come interpretazione dei termini o canonica (Definie zione 5. . Dunque se esistesse una formula in comune a M e N esisterebbe anche un qualche sequente Sk quasi primo. Dunque. si vuole dimostrare che Γ |= ∆ oppure Γ ∆. a Nel primo caso.3 Completezza Utilizziamo l’algoritmo di ricerca precedente per dimostrare la completezza7 del Calcolo dei Sequenti (nella formulazione usata nell’algoritmo.5). . Definizione 5. . e l’interpretazione di un termine ` . Sn . apparir` necessariaa mente sullo stesso lato per tutti i sequenti Sj per j ≥ i. Supponiamo dunque che l’algoritmo di ricerca non conduca ad un albero chiuso. Risulta [[t]]AM = t (Esercizio 5. .145 5. . . il termine stesso. . . Supponiamo di cominciare l’algoritmo di ricerca all’indietro con il sequente Γ ∆. . Per quanto riguarda ξ i predicati. . per dimostrare la completezza ` sufficiente provare che se l’algoritmo non conduce e ad un albero chiuso. Vi sono due possibilit`: o esiste un ramo dell’albero che porta ad un sequente a Ξ1 Ξ2 le cui formule sono tutte atomiche e nessuna formula ` comune a Ξ1 e e Ξ2 . . . c stessa. . Equivalentemente (dal punto di vista classico). e sia S0 . oppure no.6). Siano M l’insieme di tutte le formule atomiche che appaiono nella parte sinistra di un qualche sequente Si . . S1 . . allora Γ |= ∆. partendo dalla radice.3. . che tuttavia ` e banalmente equivalente alle precedenti). . . tn ) = 1 se e solo se P (t1 . ovvero esiste una qualche interpretazione che soddisfa tutte le formule in Γ ma nessuna formula in ∆. .22 M ∩ N = ∅ Dimostrazione. Lemma 5. La ragione di questo nome ` che come dominio DAM della struttura e si considera l’insieme dei termini del linguaggio T ER(L). . Per come sono definite le regole di inferenza. oppure esiste almeno un ramo infinito. Vi sono due possibilit`: o l’algoritmo genera un un albero chiuso. Pi` precisamente. vale a dire che Γ |= ∆ implica Γ ∆. tn gli e associa il termine f (t1 . . l’interpretazione di un e u simbolo di costante c ` . Vogliamo ora definire un’interpretazione AM in cui non valga Γ |= ∆. l’albero costituisce una dimostrazione di Γ ∆. . Consideriamo questo ramo.

146 Lemma 5.ξ M ) (B [[[s]]ξ /x ]). A e per il Lemma di traslazione = v (AM . Si noti che questa parte ` necessariamente terminante. Per il Lemma 4. E possibile dunque cominciare con l’applicare tutte le rimanenti regole e rimandare l’applicazione di queste ultime. ed R la regola applicata per generare Sk+1 . mentre nella parte destra si hanno ancora formule atomiche o formule quantificate esistenzialmente.3. Ma questo ` assurdo e poich` per come ` stata definita l’interpretazione. e dunque che per ogni termine t del linguaggio si generer` una formula a del tipo B[t /x ] nella parte destra. e e ad esclusione di (∀r) e (∃l). e Si pu` ora concludere facilmente il Teorema di completezza. Questo implica che lungo il ramo ∃xB sar` utilizzato infinite volte come formula principale di a (∃r). Sia n il suo ordine. cio` un termine s per e cui (AM . fanno decrescere l’ordine di una qualche formula del sequente. Ma v (AM . ξ AM ) |= ∃xB allora esiste un elemento del dominio.ξ M ) (B[s /x ]). in modo . ci si riduce necessariamente a sequenti in una “forma normale” in cui nella parte sinistra vi sono solo formule atomiche o formule quantificate universalmente. Il caso di (∀l) ` del tutto simmetrico. (∀r) o (∃l). Per come sono definite le regole logiche tale costituente rester` sullo stesso lato del a sequente finch` non interverr` come formula principale di una regola. Se ∃xB era un componente positivo. A s A AM 5. essendo nella parte destra doveva avere valore di verit` 1. scelto j = k + 1. Consideriamo il sequente Si e sia P il costituente positivo. il ramo di ricerca in oggetto non pu` essere a o un ramo di fallimento e deve necessariamente essere infinito.ξ M [ /x ]) (B) = v (AM . si ha l’asserto. per il lemma precedente necessariamente esiste un qualche sequente Sj con un costituente positivo di ordine n − 1. e cos` via.21. Questo implica che il sequente S0 = Γ ∆ deve contenere almeno un costituente positivo. se a (AM . e allora appartiene a N . esiste un sequente Sj con j ≥ i che contiene un costituente positivo di ordine n. l’asserto ` una conseguenza e e immediata della Proposizione 5.24 Se un sequente Si contiene un costituente positivo di ordine n+1. tutti i costituenti di ordine 0 e e (cio` formule atomiche) sono necessariamente negativi (se il costituente ` sulla e e sinistra allora appartiene a M e dunque ha valore 1. Supponiamo allora che R sia (∃r) e P sia ∃xA. finch´ non si ı e ottiene un sequente con un costituente positivo di ordine 0. ξ AM [s /x ]) |= B.4 Discussione dell’algoritmo L’algoritmo mostrato in precedenza ` particolarmente inefficiente. Alla fine. poich` tutte le regole. Se n > 0. Supponiamo infatti o per assurdo che nell’interpretazione (AM . e Come dovrebbe essere chiaro dalla dimostrazione di completezza. Poich´ il costituente positivo e P non potr` mai essere eliminato.28. A questo punto si ` costretti e ad applicare (∀r) oppure (∃l) (che si applicheranno alternativamente. quindi non appartiene a M ed ha valore 0). mentre se ` sulla destra. Sia Sk il e a sequente in questione. Dimostrazione. ξ AM ). Γ |= ∆. gli unici pro` blemi sono dovuti alle regole (∀r) e (∃l). Se tale regola ` di introduzione di un connettivo logico. Poich` necessariamente e esister` un qualche sequente Sj in cui B[s /x ] verr` generato (ed eventualmente a a sulla destra).

147 da operare una volta sulla parte destra ed una volta su quella sinistra del sequente). cio` [g(f (a)) /x ] e [f (a) /y ]. nel caso precedente. la soluzione corretta. f (a)) B(g(Y ). ∀xB(x. f (a)). f (a)) u e ∃yB(g(y). f (a)). ∀xB(x. y) B(g(f (a)). f (a)) e B(g(Y ). vi sono le due formule atomiche B(X. y) A questo punto. ∀xB(x. f (a)). Ad esempio. in modo da guidare la scelta in base alle altre formule che compaiono nel sequente. ∀xB(x. Una sua possibile dimostrazione ` la seguente: e B(g(f (a)). tenendo presente che l’obiettivo ` quello di ottenere un quasi-assioma. L’unico problema ` quello di capire se ammettono una e istanza comune. ∃yB(g(y). osserviamo semplicemente che il problema dell’unificazione ` risolubile. y) Gi` in questo caso. ` necessario garantire che X non venga in e . e verr` trattato formalmente nel prossimo capitolo (in un contesto a differente). Y ). f (a)) ∃yB(g(y). Questo problema ` noto con il nome di e unificazione. Y ) in parti opposte del sequente che appaiono come dei buoni candidati per generare un quasi assioma. f (a)). se si ` nella e e situazione ∀xA(x) A(t) si pu` immediatamente decidere di istanziare ∀xA(x) ad A(t). Tale applicazione generer` una copia della formula quantificata (che verr` a a messa in coda alla lista delle formule quantificate dello stesso tipo. introducendo delle metavariabili (che denoteremo con lettere maiuscole) che intuitivamente rappresentano dei termini generici. y). e L’uso di metavariabili comporta tuttavia delle complicazioni nelle regole (∀r) e (∃r) in quanto queste prevedono che la variabile y introdotta (all’indietro) non compaia libera nel sequente conclusione della regola. ∃yB(g(y). in modo da avere priorit` minore rispetto alle altre) ed una istanza della formula stessa che a pu` essere processata immediatamente in modo da riottenere una nuova forma o normale. si procederebbe nel modo seguente: B(X. y) ∃yB(g(y). Un esempio appena pi` complesso ` costituito dal sequente ∀xB(x. f (a)). Ad esempio. y) B(X. f (a)) B(g(f (a)). Per il momento. f (a)) ∃yB(g(y). tuttavia. non ` del tutto chiaro come orientare in modo a e automatico la scelta delle istanziazioni operate. f (a)) ∀xB(x. Ovviamente il problema principale ` ancora la scelta del termine con cui creare e l’istanza. Se il sequente conteneva una qualche metavariabile X. e fornirebbe. e Un possibile approccio consiste nel ritardare questa scelta. si possono tentare delle euristiche. dato che tale o formula compare nella parte opposta. y) ∃yB(g(y). In questo caso. f (a)) ∀xB(x. nel caso precedente. cio` se ` possibile istanziare X e Y in modo tale da rendere le e e due formule sintatticamente identiche.

. • si ammette l’instanziazione di X a t solo se t non dipende da X. scrivendo ad esempio y(X). Ad esempio. se X viene istanziata ad un termine t che a sua volta dipende da altre metavariabili X1 . richiederebbe infiniti controlli.4 5. e cos´ via. e Come abbiamo gi` osservato in precedenza. Una possibile soluzione consiste nell’esplicitare la dipendenza di y da X. si pu` cominciare con l’enumerare tutte le formule derivabili con alberi o di profondit` 1. Se la formula a a ı .1 Applicazioni del Teorema di completezza Il problema della decisione La prima applicazione del Teorema di completezza riguarda il problema di decidere se una formula della logica dei predicati ` valida. . . 5. in presenza di quantificatori. inoltre ogni variabile che dipendeva da X dipender` ora da da tutte le metavaribili che compaiono a in t. . Osserviamo infatti che.148 seguito istanziata ad un termine che contiene occorrenze libere di y. Riassumendo: • quando si applica una regola del tipo (∀l) o (∃r) si introduce una nuova metavariabile. in Deduzione Naturale. . e ma che potrebbe non terminare in caso contrario (e dunque. pu` consultare [Pau92] o e la bibliografia ivi menzionata. data la natura finitista dei calcoli. • quando si applica una regola del tipo (∀r) o (∃l) si introduce una variabile che non occorre ancora nel resto dell’albero e che dipende da tutte le metavariabili X1 . . Xn . Xn che appaiono nel sequente conclusione. • l’instanziazione di una metavariabile X ad un termine t deve risultare nella sostituzione di X con t in tutto l’albero di prova. . Ovviamente. Il lettore interessato ad approfondire queste problematiche. nella logica del primo ordine. nel senso che si ` in grado di fornire un algoritmo che e risponde affermativamente se una formula P ` effettivamente derivabile ( P ). poich` si avrebbe un ovvio problema di circolarit` e a (una meta-variabile non pu` mai essere unificata ad un termine che contiene o una occorrenza della meta-variabile stessa). . . Al contrario. .4. il problema della derivabilit` di una formula in un qualche calcolo logico ` chiaa e ramente semi-decidibile. . ` e possibile enumerare tutte le formule derivabili. non ` (a priori) possibile e stabilire la validit` di una formula per via semantica sia per l’infinit` delle posa a sibili interpretazioni. anche ogni variabile che dipendeva da X viene ora a dipendere da X1 . poi passare agli alberi di profondit` 2. . Xn . non ` mai possibile e concludere P ). che per la natura possibilmente infinita dei domini che. Questo impedisce che X possa essere in seguito istanziata ad un termine che contiene y(X). al a contrario di quanto avviene in quella proposizionale.

non si conosce un procedimento di decisione per formule della logica dei predicati. avendo un algoritmo di decisione. In questo caso. dunque ` possibile conclue dere che anche la nozione di validit` ` semi-decidibile. Se fossimo anche in grado di enumerare in modo effettivo tutte le formule non derivabili. tuttavia. l’esistenza simultanea di due algoritmi e di decisione per l’insieme delle formule derivabili e per quelle non derivabili ` e anche una condizione necessaria per la decidibilit` dell’insieme delle espressioni a derivabili. . Dal Teorema di completezza segue che P ⇔ |= P . l’algoritmo e potrebbe non terminare affatto. alcune considerazioni marginali su questo risultato. Infatti. ` in questo caso negatie va. ) che consente di decidere la validit` di una qualunque formula della logica del primo ordine. . vale a dire. ` possibile rispondere “si” se P ` valida e “no” se P non lo `? La risposta. allo stato dell’arte. ae La domanda che ci si pone ` la seguente: il problema della decisione ` anche e e decidibile. e fissata una enumerazione di tutte le formule. si enuncia nel seguente modo: Teorema 5. allora avremmo anche un algoritmo di decisione. e non nel senso che. procedura generale . per decidere se una formula P ` derivabile (valida) o meno. Effettuiamo. data una qualunque formula P della logica dei predicati. che esulano dai scopi del prea sente volume. a La dimostrazione di tale teorema richiede la conoscenza di nozioni e risultati.25 (di Church) Non esiste alcun algoritmo (metodo. a e e e differenza di quanto accade nella logica proposizionale. . in caso contrario. Vediamo cosa si pu` dire sulla o soddisfacibilit`. allora prima o poi comparir` in tale enumerazione e si ` dunque e a e in grado di rispondere in modo affermativo. In questo modo si generano in modo effettivo le due successioni distinte delle formule derivabili e di quelle non 8 Per una introduzione a tale teoria si vedano i libri di Rogers [Rog67] e Odifreddi [Odi89]. si pu` decidere o se ` derivabile (valida) o meno. in caso contrario. dimostrato da Church nel 1936 [Chu36]. Questo sconcertante o o risultato. si ha la sicurezza che P comparir` dopo un tempo finito (quantunque grande) in una a delle due liste e. L’algoritmo di ricerca all’indietro utilizzato nella dimostrazione di completezza per il Calcolo dei Sequenti ` un altro esempio di programma che ` in grado e e di semi-decidere la derivabilit` di una formula del primo ordine: se una dimoa strazione esiste si ` sicuri prima o poi di trovarla. e basterebbe attivare i due algoritmi di enumerazione. l’algoritmo continuer` ad enumerare nuove formule derivabili considerando alberi di profondit` a a sempre maggiore. Infatti. senza tuttavia poter fornire una risposta negativa. Si ` dunque visto che ` possibile soltanto semi-decidere la validit` di una quae e a lunque formula della logica del primo ordine. a seconda dell’enumerazione in cui compare. ma nel senso ben pi` forte che u si pu` dimostrare che tale procedimento non pu` esistere.149 P ` derivabile. Inoltre. le potremmo considerare consecutivamente decidendo per ognuna di esse se questa sia o meno derivabile. propri della cosiddetta Teoria della Calcolabilit`8 . Sappiamo che ` possibile dare un’enumerazione effettiva di a e tutte le formule derivabili.

. Dunque.4. .4. . Pn } ` insoddisfae cibile. . Pn ∈ Γ tali che P0 .2 Compattezza Nella presente sezione discuteremo alcune delle possibili applicazioni del Teorema di completezza (forte).20) ` la seguente: e Teorema 5. . il quale mette in evidenza.26 Il problema della soddisfacibilit` di una qualunque formula a della logica del primo ordine non ` nemmeno semi-decidibile. e per il Teorema di correttezza P0 .14. . i limiti del potere espressivo della logica del primo ordine (par.3). . . 9 Esistono classi assai vaste di formule della logica del primo ordine (si veda. e Dimostrazione. tuttavia. . Uno dei principali risultati nella suddetta teoria ` il Teorema di compattezza e la cui dimostrazione ` una diretta conseguenza del Teorema di completezza. insoddisfacibile). e Infatti: Teorema 5. l’insieme delle formule contraddittorie (o insoddisfacibili) ` semi-decidibile. . . Ricordiamo che il problema della non validit` di una formula ` (computazionala e mente) equivalente a quello della soddisfacibilit`. . una formula P ` non a e valida se e solo se la sua negata ¬P ` soddisfacibile. Teorema 5. per e e completezza. la possibilit` che per particolari sottoinsiemi di a formule un tale procedimento possa esistere9 . questa studia le relazioni esistenti tra gli insiemi di formule e le interpretazioni che li soddisfano. Γ ` ine consistente. alla teoria dei modelli. Pn |= ⊥. a tal proposito. . Sottolineamo il fatto che la non esistenza di un procedimento generale di decisione non preclude. cio` Γ ⊥. quindi {P0 . per il Teorema del modello. Allora esistono P0 . Pn ⊥. (⇐) Immediata.28 Un insieme di fbf Γ ` insoddisfacibile se e solo se esiste un suo e sottoinsieme finito ∆ che lo `. Da cui segue che e Corollario 5. e P (¬P ) ` valida se e solo se ¬P (rispettivamente. il Teorema di L¨wenheimo Skolem. . e Una sua formulazione equivalente (Esercizio 1.27 (Compattezza) Un insieme di fbf Γ ` soddisfacibile se e solo se ogni suo sottoinsieme finito lo e `. P ) ` contraddittoria (o. (⇒) Supponiamo che Γ sia insoddisfacibile. l’Esercizio 6. e 5. .5 o il capitolo 46 di [Chu56]) per le quali ` possibile stabilire se sono valide o e meno. Infatti. Il Teorema di Church asserisce per l’appunto che non pu` esistere un algoritmo o in grado di enumerare in modo effettivo l’insieme delle formule non derivabili (non valide). . 5.150 derivabili. tra le altre cose. Questo consente di provare un importante risultato. .

30 (di L¨weneim-Skolem “verso il basso”) o Sia L un linguaggio di cardinalit` µ. per necessit`. la bibliografia consigliata nel paragrafo 5. per l’Esercizio 5. Proposizione 5. Il caso ` differente a e se si considerano linguaggi con uguaglianza. a Sia Γ un insieme di fbf definito su un linguaggio L del primo ordine.17. a Dimostrazione. Da ci` deriva immediatamente e u o che il numero di testimoni aggiunti al passo n + 1 ` al pi` µ e quindi |Ln+1 | = e u |Ln | + µ = µ + µ = µ. per induzione su n. le cui dimostrazioni si possono trovare in un qualunque testo di teoria degli insiemi (si veda. Dimostriamo. che |T ER(Lω )| = µ. cio` |DA |. a Nel seguito. Proposizione 5. Anche per linguaggi con uguaglianza vale tuttavia il risultato di a L¨weneim-Skolem: o . a (caso base) L0 = L. quindi. a Dimostrazione. Teorema 5. Sia |L| = µ. Si noti in particolare che un linguaggio del primo ordine su di un alfabeto numerabile ammette sempre un modello di cardinalit` numerabile. L’asserto ` verificato per ipotesi. per ipotesi e induttiva. allora si avranno nuovamente. determinati insiemi di formule ben formate possono ammettere solo modelli finiti. per ogni k ∈ N . ξ AΓω ) l’interpretazione canonica (Definizione 5. Se.29 (AΓω . che |Ln | = µ.10) e (AΓω . Siano Γω un insieme consistente massimale contenente Γω (cfr. a tal proposito. Abbiamo quindi provato che Lω ha cardinalit` µ. da cui a segue. ξ A ) ` finita o infinita. Supponiamo. In questo a caso (e solo in questo caso). il numero di fbf di lunghezza k formate con simboli in Ln ` al pi` µk = µ.6). allora µ + λ = µ · λ = max(µ. Per cardinalit` di un’interpretazione (A. tuttavia. si ammette che l’uguaglianza sia interpretata come una arbitraria congruenza (come imposto dalla sua assiomatizzazione). Occorre provare che DAΓω = {t ∈ T ER(Lω )} ha cardinalit` µ. e se si richiede che il predicato sintattico di uguaglianza sia interpretato come identit` sul modello. supporremo sempre che il predicato di uguaglianza sia interpretato come identit`. Segue dal Teorema del modello e dalla proposizione precedente. numerabile o non e e numerabile se DA ha la propriet` corrispondente. ξ AΓω ) ha la cardinalit` di L. Dunque il numero totale di espressioni e u costruite con simboli di L ` al pi` ℵ0 · µ = µ. allora a e Γ ha un modello di cardinalit` ≤ µ. modelli numerabili. Per fare ci` si utilizzer` l’assioma della scelta nella seguente a o a forma: siano µ e λ cardinali infiniti. ξ A ) si intende la cardinalit` del suo a a dominio. Se Γ ` un insieme di fbf consistente.151 Nel seguito utilizzeremo alcuni risultati elementari sui cardinali. Diremo che (A. da cui segue che Lω a ha cardinalit` ℵ0 · µ = µ. λ).5). che Ln ha cardinalit` µ.

Non deve dunque soprendere che si possano a costruire modelli numerabili di teorie che parlano di entit` non numerabili. solo una o quantit` numerabile di numeri reali. Tuttavia questa funzione non appartiene al modello e dunque non contraddice il teorema che afferma che una tale funzione non pu` esistere (ed in effetti tale funzione non esiste nel modello). ZF non pu` avere modelli o finiti). Dimostrazione. che ` soddisfacibile. Consideriamo l’insieme Γ = Γ ∪ {¬(ci = cj ) | i = j ci . La stessa cosa accade per i numeri reaa u li: utilizzando un linguaggio numerabile. In realt`. e dunque esiste una funzione da esso e nell’insieme dei numeri naturali.32 (L¨weneim-Skolem “verso l’alto”) o Sia Γ un insieme di fbf su un linguaggio L del primo ordine con uguaglianza. a Dimostrazione. Non e ` strano che in un modello numerabile vi sia un elemento pi` che numerabie u le? Questa “stranezza” costituisce quello che ` noto come Paradosso di Skolem e (1992-23). allora Γ ha un modello di a e cardinalit` ≤ µ. Se Γ ha dei modelli infiniti. Sia (M. in particolare. cj ∈ C}.31 Sia L un linguaggio del primo ordine con uguaglianza di cardinalit` µ. Sia L = L ∪ C. si pu` definire. a Teorema 5. e Dunque tale teorema dovr` essere vero in ogni modello di ZF . In altri o termini. sicuramente ≤ µ. bench` si possa dimostrare in un e linguaggio logico di natura finitista come ZF che esiste una infinit` non numea rabile di sottoinsiemi di un dato insieme. utilizzando il Teorema di ` compattezza.152 Teorema 5. il Teorema di Cantor. Se Γ ` un insieme di fbf consistente. cj ∈ C} e proviamo. Osserviamo inoltre che. In tale modello si ha una quantit` numerabile di individui e dunque una a quantit` numerabile di “insiemi”. ξ M ) un modello infinito di Γ e C un insieme non numerabile di costanti tale che C L = ∅. siano . ZF ha un modello numerabile (per l’assioma dell’infinito. allora ha dei modelli non numerabili. E necessario dimostrare che ogni sottoinsieme e finito ∆ di Γ ` soddisfacibile. non esiste una vera contraddizione. Per il teorema precedente. Questo risultato pu` portare a conseguenze apparentemente parao dossali. che afferma che esistono insiemi pi` che numeu rabili (ad esempio l’insieme P(N ) dei sottoinsiemi di N ) ` dimostrabile in ZF . L’insieme di tutti i sottoinsiemi a di N nel modello ` in effetti numerabile. la visione del mondo all’interno del modello ` differente da quella che e si ha dall’esterno. ovviamente. in particolare a in un modello numerabile la cui esistenza ` stata affermata in precedenza. a Dunque. Consideriamo l’assiomatizzazione ZF di Zermelo-Fraenkel della Teoria degli Insiemi (definita su di un alfabeto finito). Segue dal Teorema del modello e dalla proposizione precedente. Siccome ∆ ` finito conterr` solo un sottoinsiee e a me finito di assiomi in {¬(ci = cj ) | i = j ci . si ` tuttavia solo in grado di definire e una infinit` al pi` numerabile di questi. a Tuttavia. ogni linguaggio numerabile con uguaglianza ammette modelli finiti o numerabili. essendo l’insieme delle classi di equivalenza della relazione ∼ sui termini di un linguaggio di cardinalit` µ.

Γ2 . . ξ A ) | |DA | u ` numerabile }? e Dal Teorema di L¨weneim-Skolem segue immediatamente che tale formula non o pu` esistere e dunque l’espressione “avere un insieme numerabile di elementi” o non pu` essere formulata in un linguaggio del primo ordine. chiamiamola P . ogni suo modello a e deve avere cardinalit` ≥ K. an in DM . esiste P ∈ F BF tale che {(A. “avere infiniti e a elementi” ` invece una propriet` del primo ordine in quanto esistono formule vee a re esattamente nelle interpretazioni infinite. P M∆ = P M . ξ M ) infinito. di fbf tali che.4.e. (M∆ . ξ M ) |= Γ e (M. cio` esiste un modello per e Γ che non ` numerabile. Dall’altro lato. a a Vediamo qui di seguito alcune possibili applicazioni di tale teorema. Se Γ ha dei modelli infiniti allora ha dei modelli di cardinalit` K. Per il Teorema di L¨weneim-Skolem ha e o un modello A di cardinalit´ ≤ K. da cui segue che A ha cardinalit` K. . in altri termini. . e Definiamo l’interpretazione (M∆ . per ogni simbolo di costante c ∈ L. . . per il Teorema di compattezza esiste un’interpretazione (M . . cn le costanti (necessariamente finite) che occorrono nelle fbf di ∆. Sia C un insieme di costanti di cardinalit` K tale che C L = ∅. . pi` formalmente. inoltre. . . .33 (di L¨weneim. ξ M∆ ) nel seguente modo: DM∆ = DM . . “nuo merabile” non ` una propriet` del primo ordine. cn . Essendo C non numerabile si ha l’asserto. e dunque per Γ. a1 . a Dimostrazione. 5. se esiste una fbf. ξ M ) che ` e un modello per Γ . Ma. ξ M ) coincide con (M∆ . Skolem e Tarski) o Sia Γ un insieme di fbf su un linguaggio L del primo ordine con uguaglianza. Con considerazioni analoghe a quelle effettuate nella dimostrazione del precedente teorema. ξ M∆ ) |= Γ in quanto (M. poich´. ` possibile fissare n elementi distinti a1 . e Teorema 5. Essendo (M. . ` E possibile esprimere la propriet` “avere un numero finito di elementi”? a Dall’Esercizio 5. vera esattamente nelle interpretazioni numerabili. f M∆ = f M . ξ A ) | A |= P } = {(A. . cj ∈ C}. . .3 Modelli finiti ed infiniti ` E possibile chiedersi se in un linguaggio del primo ordine si possano caratterizzare le interpretazioni numerabili mediante una fbf (o un insieme di fbf). a Definiamo l’insieme Γ = Γ ∪ {¬(ci = cj ) | i = j ci . . (M∆ . con K ≥ |L|. se si considera ad esempio la fbf ∀xy(f (x) = f (y) → x = y) ∧ ¬∀x∃yf (y) = x questa ha solo modelli infiniti in quanto non pu` esistere una funzione su insiemi o finiti che sia allo stesso tempo iniettiva ma non suriettiva. cM∆ = cM . Infatti. per ogni simbolo di funzione f . i. . per come ` definito Γ . ∀n ∈ N . possiamo concludere che Γ ` soddisfacibile.153 c1 . .16 segue che esistono insiemi Γ1 . . an sono elementi distinti di DM . ξ M∆ ) su L. ξ M∆ ) |= ∆. Poich´ le costanti c ∈ C sono tutte distinte e deve risultare cM = cM per ogni i = j. e quindi DM deve avere almeno |C| i j elementi. cM∆ = ai per i 1 ≤ i ≤ n e cM∆ = a1 per ogni c ∈ C diversa da c1 . . e Allora. per ogni simbolo di predicato P .

Poich´ Γ ha modelli finiti arbitrariamente e grandi. Infatti. per come sono definite le e fbf λn . Per il Teorema di compattezza Γ lo ` e. avr` un modello (A. .18). . Sia Γ = Γ ∪ {λn | n > 1} dove λn esprime la propriet` a “avere almeno n elementi” (Esercizio 5. Dalla proposizione precedente segue che non pu` esistere alcuna fbf (o insieme o di fbf) P t. Proveremo. ∀A ∈ K}. sia N um la seguente formula del secondo ordine: ∃zf ∀A[A(z) ∧ ∀x(A(x) → A(f (x))) → ∀xA(x)] questa ` vera in un’interpretazione se e solo se ` finita o numerabile. ξ A ) | A |= P } = {(A. ∀P ∈ Γ}. Γ ha un modello infinito. La propriet` e a “essere finito” si esprime quindi al secondo ordine come ¬Inf . Tuttavia non esiste una fbf (o un insieme di fbf) soddisfacibile in tutte e sole le interpretazioni finite. Se Γ ha modelli finiti arbitrariamente grandi. da cui Γ ha un modello infinito. che Γ ` soddisfacibile. con M od(Γ) si indicher` l’insieme10 delle interpretazioni a che sono dei modelli per Γ. a essendo M od(Γ ∪ {λm }) ⊂ M od(∆) (Esercizio 5.34 Sia Γ un insieme di fbf. p. Infatti. M od(Γ) = {(A. A |= ∆ e quindi ∆ ` sode disfacibile. il potere espressivo della logica del primo ordine ` limitato: “essere e numerabile” o “essere finito” sono propriet` che non si possono formulare in a essa. ` E interessante osservare che tali propriet` sono invece esprimibili nella logica a del secondo ordine (v. . M od(P ) = {(A. utilizzando il Teorema di compattezza. possono essere formulate in un linguaggio del primo ordine. allora ha un modello infinito. si indicher` con T eo(K) la teoria a di K. sia K un insieme di interpretazioni. Dimostrazione. Viceversa. e e Infatti. sia M un’interpretazione nella logica del secondo ordine avente come 10 in realt` ` una classe ae . se e solo se l’interpretazione ` infinita. “avere almeno 2 elementi”. i.111). In e conclusione. ξ A ) | A |= P.c. Nel seguito utilizzeremo la seguente notazione: sia Γ un insieme di fbf. quindi le espressioni “avere almeno un elemento”.154 Γn ` soddisfacibile in un’interpretazione se e solo se questa ha un numero di e elementi ≥ n. ossia T eo(K) = {P | A |= P. ξ A ) con almeno m elementi e quindi A |= Γ ∪ {λm }.16). ξ A ) | |DA | ` finito}. Analogamente. Proposizione 5.e. sia Inf la seguente formula del secondo ordine: ∃f [∀xy(f (x) = f (y) → x = y) ∧ ¬∀x∃zf (x) = z] informalmente. sia ∆ ⊆ Γ finito e sia e λm = max {λn | n > 1 ∧ λn ∈ ∆}. questa ` vera in un’interpretazione se e solo se esiste una funzione e iniettiva ma non suriettiva.

e a Definizione 5. . Una teoria ` completa se la nozione di “negazione” e coincide con quella di “non derivabilit`” (per formule chiuse). . Osservazione I teoremi di compattezza. g(g(d)). bn )) = f A (g(b1 ). allora g(x) ∈ V . ξ A ) due sue interpretazioni. per tutti i V ⊆ D se 1. g(d). implica che per tutti gli x ∈ D. Definizione 5. Infatti. . Intuitivamente N um ` vera in M se e solo se esistono d ∈ D e e g : D → D tali che. Posto V = {d. . P ∈ T oppure ¬P ∈ T . come sappiamo. 5. . g(bn )) • per ogni simbolo di predicato P a k argomenti g(P A (b1 . e 2. e Questa accezione del termine completezza non deve essere confusa con quella del Teorema di Completezza.37 Una teoria T definita su un linguaggio L. (⇒) Supponiamo che M |= N um. allora N um ` vera e in ogni interpretazione con dominio D. . (A .4 Categoricit` a Un’importante nozione della teoria dei modelli. la negazione . che discuteremo qui di seguito. . cio` e a e T P ⇒ P ∈ T. . . . V soddisfa 1. supponiamo che D sia finito o numerabile. }. ξ A ). ` quella della categoricit`. . si dice completa se ` consistente e per ogni fbf chiusa P ∈ L. . d ∈ V e 2. .155 dominio D. .35 Sia L un linguaggio del primo ordine e (A. x ∈ V . . . L¨weneim-Skolem e molte altre o propriet` della logica del primo ordine non sono vere in quella del secondo a ordine. se Γ ` a e completa Γ ¬P se e solo se Γ P . Allora D ⊆ V e quindi D ` finito o numerabile.36 Una teoria T ` un insieme di fbf chiuso per derivabilit`. a Definizione 5. Quindi la propriet` “essere numerabile” si pu` esprimere al secondo ordine come a o Inf ∧ N um. . g(bk )) Si noti che se A e A sono isomorfe. bk )) = P A (g(b1 ). per tutti gli x ∈ D. In generale. e (⇐) Viceversa. se x ∈ V . .4. i loro domini debbono avere la stessa cardinalit`. queste sono isomorfe se esiste una corrispondenza biunivoca tra DA e DA tale che: • per ogni simbolo di funzione f ad n argomenti g(f A (b1 . .

T |= ¬P e quindi per il Teorema di completezza T ¬P . segue che ¬P ∈ T . Ci` non ` vero per interpretazioni finite. da cui segue. Dal Teorema di L¨weneim. che ci` non si verifichi. Esiste inoltre una nozione pi` ristretta di categoricit`. P ⊥. Per ipotesi P o ¬P sono vere in ogni modello e di T . e (⇐) Sia T una teoria consistente e P ∈ L. Supponiamo.40 Data una qualunque interpretazione finita A. essendo T una teoria. ξ A ) di T . e Dimostrazione. a . e Vale il seguente risultato: Teorema 5. Ovviamente una teoria categorica caratterizza in modo univoco (a meno di isomorfismi) una fissata interpretazione. ξ A ) di T tale che (A . Sia T una teoria categorica e L il linguaggio del primo ordine sul quale ` definita T . P ∈ T oppure ¬P ∈ T . lo ` in ogni altro modello e e di T .39 Si dice categorica una teoria che ha un solo modello a meno di isomorfismi. per il Teorema 5. per il Teorema di correttezza T P da cui segue. Proviamo che P ` vera in ogni altro modello di e T .13. che ` una cosa molto pi` a e u debole: Γ ¬P se e solo se Γ. per il Teorema di completezza che T P oppure T ¬P . Osserviamo in particolare che ogni teoria completa le cui formule sono enumerabili in modo effettivo ` anche decidibile e rispetto alla validit`. allora T eo(A) ` categorica. allora T ∪ {¬P } ` consistente e e e quindi. per assurdo. (⇒) Sia T una teoria completa e P una formula chiusa di T vera nel modello (A.13 esiste un modello per T . u a Definizione 5. in esso. Dunque nessuna teoria potr` mai caratterizzare univocamente a un’interpretazione infinita. ha un modello. Definizione 5. ` vera P oppure ¬P .41 Ogni teoria categorica ` completa. essendo T completa. ossia che esiste un modello o (A .42 Una teoria si dice α-categorica se i suoi modelli di cardinalit` α sono tra loro isomorfi. che T ¬P ma ` assurdo. essendo T una teoria. Essendo T categorica.38 Una teoria T ` completa se e solo se ` consistente ed ogni e e formula chiusa P ∈ T che ` vera in un modello di T . Per il Teorema 5. se P ∈ T . Sia P ∈ L. a Una caratterizzazione alternativa della completezza ` la seguente: e Proposizione 5. Dimostrazione. dove vale il seguente risultato (di cui o e non riportiamo la dimostrazione): Proposizione 5. in quanto la non validit` di P si riduce al problema della a a derivabilit` di ¬P .156 di P esprime semplicemente la contraddittoriet` di P . ξ A ) |= P . Skolem o e Tarski segue immediatamente che una teoria che ha modelli infiniti non pu` o essere categorica.

44 Si definisce modello non standard dell’aritmetica un modello di PA non isomorfo ad N . ξ N ) dove: • DN := insieme dei numeri naturali • =N := predicato di uguaglianza • 0N := costante 0 • sN := funzione successore • +N := funzione somma • ∗N := funzione moltiplicazione ` banalmente un modello per essa.43 (di Los-Vaught) Sia T una teoria consistente che non ha modelli finiti ed ` α-categorica per un e dato cardinale infinito α. . teorie che lo sono solo per α = ℵ0 o teorie mai α-categoriche. segue che T ` una teoria e e e e completa. e Dimostrazione. hanno dei modelli che. e Poich´ l’unica assunzione fatta ` che T non ` completa.33. per ipotesi. N viene detto modello standard dell’aritmee tica. la situazione ` a e pi` articolata: vi sono teorie α-categoriche per ogni cardinale infinito α. hanno modelli di cardinalit` α. struttura dei naturali N = (N . da cui segue che T ∪ {P } e T ∪ {¬P } sono entrambi consistenti e quindi. Definizione 5.116. per il Teorema del modello. Supponiamo per assurdo che non lo sia. allora esiste una fbf P tale che P ∈ T e ¬P ∈ T . 5.5 Modelli non standard dell’aritmetica L’usuale Consideriamo la formalizzazione dell’aritmetica descritta a p. Per il Teorema 5. a Essendo P vera in uno dei due modelli ma non nell’altro. sono infiniti. allora T ` completa.4. La rilevanza della nozione di α-categoricit` per la completezza ` mostrata dal a e seguente teorema Teorema 5. Esempi di teorie siffatte si possono trovare in [BM77].catee gorica.157 Per quanto concerne l’α-categoricit` di teorie di interpretazioni. Nel paragrafo che segue mostreremo che l’aritmetica di Peano non ` ℵ0 . allora lo ` per tutti gli α e e non numerabili. teorie u α-categoriche per ogni11 α non numerabile. 11 Se una teoria ` α-categorica per un qualche α non numerabile. T non ` α-categorica.

Da cui segue immediatamente che: Corollario 5. che T . Per usare le parole di Hilbert: Se gli assiomi arbitrariamente scelti non contraddicono se stessi attraverso le loro conseguenze. ammette un modello. sia ∆ un sottoinsieme finito di T . essendo non numerabili.5 I Teoremi di Incompletezza di G¨del o Se una teoria ` consistente. Tale programma era rivolto sia . Esistono inoltre dei modelli non standard dell’aritmetica che. raggruppati attorno al cosiddetto “programma di Hilbert”. Per il Teorema di compattezza. . Infatti. ξ N ) (il lettore e e lo dimostri per esercizio). utilizzando il Teorema di compattezza. ξ N ). . ` categorica il e e modello ` unico (a meno di isomorfismi) e tutto ci` che ` vero nel modello ` e o e e anche dimostrabile. allora essi sono veri. s(0) . Per la maggior parte dei logici degli anni ’20. per il Teorema di L¨weneim-Skolem avr` un modello numerabile o a ∗ (N ∗ . )) n volte def Sia T = T ∪ {¬(d = n) | n ∈ N }. . non sono isomorfi ad N . Infatti: Proposizione 5. per me.158 Dal Teorema di L¨weneim-Skolem segue che l’aritmetica di Peano possiede dei o modelli non standard in quanto. la non contradditoriet` di una teoria era gi` di per s´ a a e una condizione sufficiente a garantire l’esistenza “effettiva” degli enti di cui essa tratta. allora esiste k ∈ N tale che ∆ ⊆ T ∪ {¬(d = n) | n < k}. ossia T = {P | P A P } e d una costante diversa da 0.45 Esiste un modello non standard dell’aritmetica che ` nue merabile. Sia n = s(s(. non possono essere isomorfi ad N . e di conseguenza T . ξ N ). a Il programma di Hilbert consisteva essenzialmente nel dimostrare con metodi finitistici la consistenza di sistemi logici sufficientemente espressivi da consentire una trattazione adeguata della matematica. . in quanto L(T ) = e L(T ) ∪ {d}. pur essendo numerabili. ha un modello numerabile che non ` e isomorfo a N .46 L’aritmetica non ` ℵ0 -categorica. ` il criterio di e verit` e di esistenza. si ricava l’asserto. ma poich´ tale interpretazione non ` isomorfa ad (N . Essendo il linguaggio di T numerabile. Se. e 5. ∆ ` soddisfacibile in quanto (N . Mostreremo. Questo. T e ` soddisfacibile. inoltre. allora gli oggetti definiti da quegli assiomi esistono. ` un modello per esso. Dimostrazione. e posto dN = n. Sia T l’insieme dei teoremi dell’aritmetica.

Sia ConsT una sentenza che asserisce la consistenza di T . che a svincolare il delicato problema fondazionale della logica da ogni ricorso alla semantica. la teoria deve a a 12 Ricordiamo che una sentenza ` una formula chiusa del linguaggio. l’ovvia presunzione che noi possiamo sapere.E. creando un varco incolmabile e tra la nozione semantica di validit` e quella sintattica di derivabilit` (ovvero. Non importa che la logica contenga al suo interno dei principi (terzo escluso. come vedremo. La richiesta che si tratti di una teoria “sufficientemente espressiva da contenere l’aritmetica” ` un eufemismo per evitare di esplicitare le ipotesi effete tivamente richieste alla teoria che. Allora. e T ConsT Il secondo teorema asserisce dunque che la consistenza della teoria non ` die mostrabile all’interno della teoria stessa (n`. Affermazione che naturalmente sottindende. Allora esiste un sentenza12 φ tale che. ed in particolare in quello “inteso”. noti sotto il nome di Teoremi di o o incompletezza. cio` mediante semplici argomenti combinatori o algoritmici e la consistenza della teoria ` anche condizione sufficiente a mostrare la natura e del tutto “effettiva” delle strutture in oggetto.Brower e H. discutiamo brevemente le loro ipotesi.Weyl). all’interno di nessun e altra Teoria che soddisfi le ipotesi del teorema). dunque. La consistenza della teoria (una nozione sintattica. sono essenzialmente ipotesi di codificabilit` (o meglio rappresentabilit`): in un certo senso. dimostra che ogni teoria sufficientemente espressiva ` anche incompleta. in effetti. inoltre. Nel 1930. doppia negazione. che distruggevano alle fondamenta l’ambizioso programma di Hilbert.J. G¨del annunci` due risultati. ed in particolare a strutture infinite. se T ` consistente. etc. distruggendo completamente il programma di Hilbert. Prima di dare alcuni cenni sulla dimostrazione dei Teoremi di incompletezza. sotto opportune ipotesi di consistenza di T . e completamente interna al sistema logico) ` condizione sufficiente a garantire l’esistenza degli enti di e cui tratta. a a esistono formule vere in un qualche modello della teoria. n` φ n` ¬φ ` dimostrabile in T . al punto da non meritare neppure di essere menzionata. e e e Teorema 5.) di dubbia evidenza: la possibilit` di dimostrare a in modo finitistico.47 (Primo Teorema di Incompletezza) Sia T una qualunque teoria assiomatizzabile e sufficientemente espressiva da contenere al suo interno l’aritmetica. noi vogliamo sapere.48 (Secondo Teorema di Incompletezza) Sia T una qualunque teoria assiomatizzabile e sufficientemente espressiva da contenere al suo interno l’aritmetica.159 a contrastare l’emergente pensiero intuizionista/costruttivista (propugnato da L. essi affermano quanto segue: Teorema 5. e che non sono dimostrabili). Il primo teorema. e . noi ci rifacciamo al nostro motto: noi dobbiamo sapere. Invece dello sciocco “ignorabimus”. Per citare nuovamente Hilbert. In termini estremamente informali.

e questa sequenza pu` ovviamente essere letta come un intero. a dire il vero. o Siccome T contiene l’aritmetica. proposizioni. ovvero da poter essere utilizzata. come metalinguaggio di se stessa. ) ` in ultima istanza rappresentato in memoria attraverso una qualche sequenza e di bit. o L’assunzione che la teoria sia “assiomatizzabile” significa invece che esiste un numero finito di assiomi o di schemi di assiomi tali che T coincida con l’insieme delle conseguenze logiche di questi. Ad esempio. La sentenza φ utilizzata da G¨del per la dimostrazione del suo primo Teoo rema ` una formula che essenzialmente asserisce la propria indimostrabilit` in e a T . Possiamo a questo punto definire opportune relazioni nel linguaggio di T per esprimere propriet` sugli oggetti sintattici. . che costituiscono le principali basi e o teoriche per la manipolazione simbolica (e non solo numerica) dell’informazione. e svincola la fondazione del discorso logico dal ricorso ad una sottostante struttura semantica di dubbia evidenza. • deve essere possibile il fenomeno dell’autoriferimento. ` possibile definire una funzione a e 13 Anzi.160 essere sufficientemente espressiva da “poter parlare di se stessa”. Analizziamo separatamente i due aspetti. In altre parole φ ≡ “io non sono dimostrabile in T La formalizzazione di questa idea si basa sui presupposti che: • la teoria T deve essere sufficientemente espressiva da poter “parlare di se stessa”. Affinch` T possa “parlare di se stessa” ` necessario codificare ampia parte e e della meta-teoria di T all’interno di T stessa. sia l’Aritmetica di Peano (PA) che la Teoria Assiomatica degli Insiemi (ZF) soddisfano le ipotesi di G¨del. detto numero di G¨del dell’oggetto in questione. entro certi limiti. Dal punto di e visto finitistico. Questa ipotesi ` essenziale. L’idea ` quella di associare ad ogni e termine t e ad ogni formula φ del linguaggio un numero intero t e φ . che fa s` che una ı formula asserisca qualche cosa di “se stessa” (per cui si user` una tecnica a nota come diagonalizzazione). etc. per ogni numero intero n esiste necessariamente un certo termine chiuso (numerale) n che lo rappresenta. altrimenti e potremmo semplicemente considerare una certa struttura (ad esempio l’insieme dei numeri naturali) e prendere come Teoria l’insieme di tutte le formule vere su di questa (che per ovvie ragioni ` sia consistente che completa). Basta ricordare che ogni tipo di dato di un linguaggio di programmazione (che sono sicuramente abbastanza espressivi da permettere di rappresentare termini. l’ipotesi di assiomatizzabilit` garantisce la natura effettiva del a procedimento logico inferenziale. Che questo sia possibile non dovrebo be essere particolarmente sorprendente per un informatico13 . Veniamo ora a considerare le idee principali per la dimostrazione dei suddetti teoremi. che nasce l’Informatica. Ad esempio. ` proprio da queste idee di G¨del.

T φ allora T T eor( φ ). Allora esiste una formula chiusa ψ tale che T ψ ↔ φ( ψ ). m) ` (dimostrabilmente) uguale al codice della formula e ottenuta da φ(x) rimpiazzando la variabile x con il numerale m. x)) . Teorema 5. ed ogni intero m T Subs( φ(x) . e prendiamo ψ = φ(Subs(m. m)) per definizione di m φ( φ(Subs(m. Poniamo ora T eor(x) := ∃yP rov(y. Se T 2. n) se esistono D e φ tali che m = D . la cui dimostrazione ` omessa. e si basa su di una tecnica nota come diagonalizzazione. m)). Il risultato ` del tutto e generale. T 3. e definire un predicato binario P rov(x. e D ` una dimostrazione di φ. e T ¬P rov(m. Subs( φ(x) . Dimostrazione.49 1. m)) φ(Subs( φ(Subs(x. x) Le relazioni tra T φ e T T eor( φ ) sono riassunte dalle seguenti Condizioni di Derivabilit`. da sola. la nostra introduzione ` estremamente informale: una trattazione e dettagliata della codifica della metateoria all’interno della teoria richiederebbe. Sia m = φ(Subs(x. Abbiamo allora: ψ ↔ ↔ ↔ ↔ φ(Subs(m. n) in caso contrario. In modo analogo possiamo definire una codifica D per ogni dimostrazione D. n = φ .50 (Diagonalizzazione) Sia φ(x) una formula che contiene x come unica variabile libera. T eor( φ ) → T eor( T eor( φ ) ) T eor( φ ) ∧ T eor( φ → ψ ) → ( ψ ) Veniamo ora al problema della “sincretizzazione”. m) = φ(m ) ovvero. m)) ) per definizione di Subs φ( ψ ) . una ventina di pagine). a e Proposizione 5. Ecco apparire la metateoria all’interno della teoria stessa (naturalmente. x)) . y) tale che T P rov(m.161 Subs tale che per ogni formula φ(x) che contiene un’unica variabile libera x.

Per ω-consistenza si ha allora T ∃x(¬¬P rov(x. e dunque T T eor( φ ). ¬G. Se T ¬G. e e Dimostrazione. il fatto e che T φ(n) per ogni intero n implica che T ∃x¬φ(x). Proposizione 5. Dimostrazione. φ )). Dimostrazione.162 5. Supponiamo che T φ. φ )) ovvero T ∃x(P rov(x. ` e possibile definire una sentenza G tale che 1. T e G. T e 2.51 T ` ω-consistente se e solo se per ogni formula φ(x).55 (I Teorema di incompletezza di G¨del) Data una teoria o T assiomatizzabile e sufficientemente espressiva da contenere l’aritmetica. T Supponiamo per assurdo che T ∃x(¬φ(x)). Se N |= T . . per ogni n.5. Questo contraddirrebbe l’ipotesi di consistenza di T. Per il Teorema di correttezza.54 Sia T ω-consistente. e Dimostrazione.52 Se T ` ω-consistente allora T ` consistente.53 Sia N l’insieme dei numeri naturali (cio` il modello stane dard dell’aritmetica). Quindi T ∃x(x = x) e dunque T ` consistente perch´ esiste una formula che non ` dimostrabile in T . Dunque: (∗) T G⇔T ¬T eor( G ) 1. Consideriamo la formula ¬T eor(x). e e e Proposizione 5.1 Primo Teorema di Incompletezza Dobbiamo ancora introdurre la nozione di ω-consistenza. per ogni numerale n. allora per (∗) T T eor( G ). per ogni numerale φ(n). Se T T eor( φ ) allora T φ. e si supponga che. T T eor( G ). dunque T sarebbe inconsistente (contraddicendo l’ipotesi di ω-consistenza e a fortiori quella di consistenza). Dalla Proposizione 5. Per il Teorema di diagonalizzazione esiste G tale che G ↔ ¬T eor( G ). Se T G. e dunque per (∗) T ¬G. N |= φ(n). Negli enunciati che seguono supporremo che T sia una teoria sufficientemente espressiva da contenere l’aritmetica. T (n = n) per ogni numerale n. cio` esie sterebbe un numerale n tale che N |= ¬φ(n) che conduce ad una contraddizione.54 abbiamo anche T G.1. n. Sia φ una generica fbf. φ ) (altrimenti n sarebbe il codice di una dimostrazione di φ). Proposizione 5. Definizione 5.49. T ¬P rov(n. allora T ` ω-consistente. utilizzata da G¨del o per enunciare il suo primo teorema. Teorema 5. 2. allora per la Proposizione 5. Allora N |= ∃x(¬φ(x)). se T ` ω-consistente. se T ` consistente. Dunque.

Ma per definizione G ≡ ¬T eor( G ) e dunque. cio` mostrare che T Cons → G. Teorema 5. esiste anche quella che afferma la consistenza di T stessa. Sia G la formula di G¨del che asserisce la propria indimostrao bilit`. Definizione 5. utilizzando le propriet` di T eor enunciate nella Proposizione 5.2 Secondo Teorema di Incompletezza Tra le formule che testimoniamo l’incompletezza di T . T e Cons.163 Dunque. Dimostriamo separatamente i due versi dell’implicazione. e dunque T e e T eor( ⊥ → G ). la teoria cos` ottenuta soddisfarrebbe ancora le ipotesi del ı teorema. nessuna teoria logica assiomatizzabile e sufficientemente espressiva da ambire a rappresentare la matematica pu` essere completa. L’affermazione “se T ` consistente.56 Cons ≡ ¬T eor( ⊥ ) Per dimostrare che T Cons. contraddicendo e il primo Teorema di incompletezza. Osserviamo in particolare che non ` a e possibile ovviare al problema di G¨del semplicemente aggiungendo G agli aso siomi di T . dunque ` dimostrabile in T . ` addirittura possibile dimostrare e che le due formule Cons e G sono dimostrabilmente equivalenti in T . si avrebbe anche T G. Dimostrazione. T G” pu` infatti essere codificata o e o come Cons → ¬T eor( G ). presa una arbitraria formula contraddittoria (ad esempio ⊥). In effetti. la nozione di verit` aritmetica differisce inevitabilmente dalla nozione a di dimostrabilit` all’interno della teoria. Per semplici manipolazioni logiche. otteniamo il risultato voluto: T Cons. per modus ponens. questa non ` e un teorema di T . 5. Infatti. si ottiene a T T eor( ⊥ ) → T eor( G ) T G ↔ ¬T eor( G ) . e dunque potremmo trovare una nuova formula G che mostrerebbe l’incompletezza della teoria estesa. il nostro asserto `: Cons → G.5.49. Se ora riusciamo a dimostrare questa formula in e T . • T G → Cons. Il primo problema ` ovviamente quello di e formalizzare la nozione di consistenza. e poich´ altrimenti.57 (II Teorema di incompletezza) Se T ` consistente. ⊥ → G ` una tautologia. Ricordiamo che a (∗∗) Dimostriamo che T G ↔ Cons La tesi segue allora dal primo teorema. possiamo “formalizzare” il primo Teorema di G¨del. In partio colare. Ma questo ` semplice: basta affermare e che.

per ogni φ. Da (∗∗) si ottiene immediatamente che T particolare T T eor( G ) → ¬G. tale che. per ogni formula φ. per ogni sentenza φ di T . T e T eor( φ ) → T eor( T eor( φ ) ). Definizione 5. esiste una formula a e T eor(x) tale che T φ ⇒ T T eor( φ ). Per completezza. questo equivale a richiedere che V ero( φ ) sia e dimostrabilmente equivalente a φ all’interno della teoria. utilizzando le propriet` della Proposia zione 5.164 e dunque. si ha infine T G → ¬T eor( ⊥ ) ¬G ↔ T eor( G ). dunque T ¬T eor( G ) → ¬T eor( ⊥ ) T eor( T eor( G ) → ¬G ) Per semplici manipolazioni logiche. Che dire della nozione di verit`? Quello che vorremmo ` un predicato V ero(x). per ogni sentenza φ.58 Una nozione di verit` per una teoria T ` una formula V ero(x) a e dove x ` la sola variabile libera. la nozione di “die mostrabilit`” `. si ottiene T T eor( G ) → T eor( ¬G ) Sempre utilizzando le propriet` di T eor ` facile ricavare che a e T T eor( G ) → T eor( G ∧ ¬G ) Ma G ∧ ¬G → ⊥ e internalizzando questa prova otteniamo T Per contrapposizione T L’asserto segue da (∗∗). T eor( ⊥ ) → ¬T eor( G ) T eor( G ) → T eor( ⊥ ) 5. (debolmente) internalizzabile. a e tale che. T Per (∗∗). abbiamo anche T T eor( T eor( G ) ) → T eor( ¬G ) Poich` inoltre.49. e T V ero( φ ) ↔ φ . In particolare. In • T Cons → G. per contrapposizione.5. V ero( φ ) sia valido in un generico modello se e solo se φ lo `.3 Teoremi di Tarski e Church Abbiamo visto che se una teoria ` sufficientemente espressiva.

1 ` quella di Henkin [Hen49]. e per la discussione del paragrafo 5. la a e dimostrabilit` non ` decidibile. Dunque avremmo T ¬V ero( ψ ) ↔ ¬ψ.6 Cenni storici e bibliografici Il Teorema di completezza (per linguaggi numerabili) ` dovuto a G¨del ([God30]). Supponiamo che tale sentenza esista. da Rasiowa-Sikorski ([RS51]) e Beth ([Bet51]) facendo . la none dimostrabilit` non ` semi-decidibile.4. e In effetti. tale che T V ero( φ ) ↔ φ (e dunque T ¬V ero( φ ) ↔ ¬φ). ed in particolare nel modello standard N dell’aritmetica. In questo caso vorremmo avere una formula N onT eor(x) tale a che T φ ⇒ T N onT eor( φ ) per ogni sentenza φ. e Osserviamo inoltre che nell’enunciato del Teorema di Tarski non si richiede che T sia assiomatizzabile. in quanto ` possibile dimostrare che ogni propriet` semi-decidibile di e a formule ` debolmente internalizzabile nel senso suesposto. a Si noti che l’idea della dimostrazione di Tarski ` esattamente quella del cee lebre paradosso del mentitore. Dunque. tra gli altri.165 Teorema 5. Supponiamo per assurdo che esista una formula V ero(x). per una certa sentenza ψ. questa pu` essere facilmente estesa a linguaggi di quao lunque cardinalit`. in una delle sue tante possibili forme: “io sto mentendo”.59 (di Tarski) Se T ` consistente non ammette nozioni di verit`.1. Per il Teorema di diagonalizzazione esiste ψ ↔ una sentenza ψ tale che T ψ ↔ ¬V ero( ψ ). semplificata da e Hasenjaeger ([Has53]). e o La dimostrazione presentata in 5. Come conseguenza del Teorema di Tarski abbiamo che non esiste nessuna formula V ero(x) in L tale che per ogni sentenza φ N |= φ ⇔ N |= V ero(φ) Questo corollario viene abitualmente enunciato dicendo che la nozione di verit` a aritmetica non ` aritmetica. che dimostra la contraddittoriet` di T .1. e Un altro esempio interessante di nozione non internalizzabile ` quella di none dimostrabilit`. una volta fissato un certo linguaggio L. questa ` anche la strada per dimostrare il pi` volte enunciato Teorema e u di Curch. “questa frase ` falsa”. a e 5. Dunque. Consideriamo la formula ¬V ero(x). T ψ⇒T N onT eor( ψ ) ⇔ T ψ che ` una ovvia contraddizione. possiamo definire T come l’insieme di tutte le formule di L vere di un determinato modello. e a Dimostrazione. Applicando la solita tecnica di diagonalizzazione avremmo. etc. Altre dimostrazioni del Teorema di completezza sono state a realizzate.

Γ3 = {∀xA(x). I risultati discussi nel paragrafo 5. ∃xP (x) → ∃yP (y) ∀xP (x) → ¬∃x¬P (x) ¬∃x¬P (x) → ∀xP (x) ¬∀xP (x) → ∃x¬P (x) ∃x¬P (x) → ¬∀xP (x) ¬∃xP (x) → ∀x¬P (x) ∀x¬P (x)¬∃xP (x) ∀x(P (x) ∨ Q) → ∀xP (x) ∨ Q se x ∈ F V (Q) ∃x(P → Q(x)) → (P → ∃xQ(x)) se x ∈ F V (Q) (P → ∃xQ(x)) → ∃x(P → Q(x)) se x ∈ F V (Q) 11. 4. ∃xC(x). Γ2 = {∀xA(x). Bell e Machover [BM77] e Shoenfield [Sho67]. A(a)} 2.4 Sia Γ un insieme consistente massimale e di Henkin. La sua estensione a linguaggi non numerabili ` dovuta a Malcev e [Mal36]. A(a). P (x1 ). Provare che ∃xP (x) ∈ Γ se e solo se esiste un termine t tale che P [t /x ] ∈ Γ. Libri avanzati sull’argomento sono il “classico” Chang e Keisler [CK73]. A(a). ?. Sui teoremi di incompletezza di G¨del si vedano [Smo77. 7. }. . A(a) → B(x)} 3. C(b). Esistono numerosi testi che si occupano di teoria dei modelli. A(a) → B(x). Smu92]. B(a)} Per quali di questi ` un modello? e ` 5. rispettivamente. . Γ ` consistente? E soddisfacibile? e 5. 10. o Esercizi 5. . ∃xC(x).3 Sia Γ = {¬∀xP (x). 3. Il Teorema di compattezza per linguaggi numerabili ` una conseguenza diretta del teorema di e completezza.166 uso. 2.4 si possono trovare nei libri di livello intermedio [VDa80. 6. di metodi algebrici (booleani) e topologici. 8.2 Definire l’interpretazione canonica per i seguenti insiemi di fbf: 1.1 Dimostrare in un sistema deduttivo che: 1. P (x2 ). ∃yxP (x) → ∃xyP (x) 5. . Γ1 = {∀xA(x). ∃xC(x). 9. 5. C(b). ∃xyP (x) → ∃yxP (x) 12. Per una panoramica sulla teoria dei cardinali si veda [Kun80]. ?].

8. allora Γ[y /c ] 5. se esistono P. y) ∃x¬A(x) ∀yxC(x.9 Sia Γ un insieme finito di fbf. y)) → A(x)) 8. y non ` libera in Φ e Φ. e 5. Ci` risulta vero anche in un linguaggio del primo o ξ ordine con uguaglianza? Motivare la risposta.8 Siano {Ti | i ∈ I} un insieme di teorie totalmente ordinato per inclusione. se esiste P tale che ¬¬P ∈ Φ e Φ. y) 5.e.11 Siano T e T due teorie definite rispettivamente sui linguaggi L e L .167 5. ¬P [y /x ] e ` inconsistente. ∀xA(x) ∃xA(x) ∀xA(x) ∧ ∀xB(x) 2. 5. x)) 7. P ` inconsistente. x) ∀x∃y(C(x.12 Per ognuno dei seguenti sequenti esibire una prova oppure fornire un’interpretazione che lo falsifica: 1. ξ AΓ ) l’interpretazione canonica definita in 5. e 5. ∃x∀yC(x.5. e 5. y) → A(x)) ∀x∀y(C(x. Sia T una teoria e T ∗ la teoria ottenuta applicando la Definizione 5. i. Definizione 5. y) → A(x)) ∀x∃y(C(x.5 Sia Φ un insieme di fbf.36) e Tω l’insieme definito in 5. ∀x((∃yC(x. cio` tutti e i teoremi di T nel linguaggio L sono teoremi di T . P . [[t]]AΓ = t. e 3. ∀i. se esistono P. ∀x((∃yC(x.6 Sia (AΓ . provare che Tω ` una teoria. y) → ¬C(y. dimostrare che se Γ P [x /c ] dove x ` una variabile che non occorre in Γ o in P . y) ∀x¬C(x.10 Provare che ogni insieme di fbf soddisfacibile ` consistente. y)) → A(x)) . ¬∃xA(x) 4. e T = i∈I Ti . ∀x(A(x) ∧ B(x)) 3. x ed y tali che ¬∀xP ∈ Φ. y) → A(x)) 6. ∀xy(C(x. allora T lo `.7 Sia T una teoria (cfr. si dice che T ` un’estensione conservativa di T se T ⊆ T e T e L = ∅. provare che T ∗ ` conservativa su T . j ∈ I Ti ⊆ Tj oppure Tj ⊆ Ti . ∀xyC(x. Dimostrare che Φ ` inconsistente: e 1. ∀x((∀yC(x. P [t /x ] ` inconsistente. e 2. provare che per ogni termine t di Γ.10. y) ∀y∃xC(x. y)) → A(x)) 9. e (Suggerimento: si utilizzi l’induzione sulla derivazione). Provare che se Ti ` e consistente ∀i ∈ I. x e t tali che ∀xP ∈ Φ e Φ. e 5. e 5.

M od(Qn ) = {(A. . mostrare che ` possibile definire un’interpretazione avente D come a e dominio ed isomorfa ad (A. y) → A(x)) 5. xn Provare che: 1. ξ A ) | |DA | ≤ n} 3. ξ A ) se e solo se DA contiene almeno tre elementi. . 5. x) 1. ξ A ).17 Sia µ un cardinale infinito. K1 ⊆ K2 ⇒ T eo(K2 ) ⊆ T eo(K1 ) 3. xn i=j xi = xj xi = xj i=j Qn = ∀x1 .16 Siano Pn e Qn . ∀x((∀yC(x. M od(Pn ∧ Qn ) = {(A. z)] ∧∀xy[A(x.13 Mostrare che {A(a).15 Si consideri la formula ∀xA(x. le seguenti fbf: Pn = ∃x1 .19 Siano (A. provare che se |L| = µ allora |T er(L)| = µ. . ξ A ) | |DA | = n} 4. ¬A(b)} ` soddisfacibile in un’interpretazione (A. Trovare un’interpretazione che non ne ` un modello. ξ A ) e (A . y) ∨ A(y. ξ A ) un’interpretazione e D un insieme avente la stessa cardinalit` di DA . ∆ ⊆ Γ ⇒ M od(Γ) ⊆ M od(∆) 2. ξ A ) | |DA | ` infinito } e 5. 5.18 Dimostrare che: 1. Mostrare che ogni interpretazione che ha un dominio finito ` un modello e per essa. T eo(K1 ∪ K2 ) = T eo(K2 ) M od(∆) T eo(K1 ) 5.21 Sia (A. provare che T eo(A) ` completa. e 5. x)] → ∃y∀xA(y.20 Sia (A. ξ A ) un’interpretazione.168 10. M od({Pn | n > 1}) = {(A. z)) → A(x. ξ A ) | |DA | ≥ n} 2. ξ A ) due interpretazioni isomorfe. per ogni fbf P . y)) → A(x)) ∀x∀y(C(x. con n > 1. M od(∆ ∪ Γ) = M od(Γ) 4. A |= P se e solo se A |= P . 2. y) ∧ A(y. e . 5. M od(Pn ) = {(A. ξ A ) e se e solo se DA contiene almeno due elementi. Verificare che. 5.14 Trovare un insieme di fbf soddisfacibile in un’interpretazione (A. 5. x) ∧ ∀xyz[(A(x. .

ricordiamo che (paragrafo 5. che risultano particolarmente semplici ed intuitivi: il Teorema di Herbrand ed il Metodo di Risoluzione. Entrambi procedono in modo indiretto (per refutazione).3.4. ci` e e o non dipende dai particolari metodi considerati. In questo capitolo discuteremo due metodi alternativi per provare la validit` di a una formula del primo