You are on page 1of 61

Logica

Luca Telloli
12 febbraio 2003
2
Indice
1 Note introduttive 5
1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Alberi. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 I linguaggi proposizionali 7
2.1 Vocabolario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2 Sintassi del linguaggio. . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3 Semantica del linguaggio. . . . . . . . . . . . . . . . . . . . . . . 9
2.3.1 Interpretazione del linguaggio. . . . . . . . . . . . . . . . 9
2.3.2 Soddisfacibilit` a e consequenzialit` a semantica. . . . . . . . 11
2.3.3 Equivalenza semantica e completezza funzionale. . . . . . 13
2.3.4 Dal linguaggio naturale al linguaggio proposizionale. . . . 14
2.3.5 Forme normali. . . . . . . . . . . . . . . . . . . . . . . . . 17
2.4 Metodi sintattici di decisione per la soddisfacibilit` a. . . . . . . . 19
2.4.1 Risoluzione per clausole. . . . . . . . . . . . . . . . . . . . 19
2.4.2 Deduzione naturale. . . . . . . . . . . . . . . . . . . . . . 22
2.5 Soddisfacibilit` a di insieme non niti. . . . . . . . . . . . . . . . . 25
2.5.1 Compattezza semantica . . . . . . . . . . . . . . . . . . . 25
3 Linguaggi del I ordine 27
3.1 Alfabeto dei linguaggi predicativi. . . . . . . . . . . . . . . . . . 27
3.1.1 Variabili libere. . . . . . . . . . . . . . . . . . . . . . . . . 29
3.2 Semantica di un linguaggio del primo ordine. . . . . . . . . . . . 30
3.2.1 Semantica del linguaggio. . . . . . . . . . . . . . . . . . . 31
3.2.2 Equivalenze semantiche. . . . . . . . . . . . . . . . . . . . 33
3.2.3 Enunciati e variabili libere. . . . . . . . . . . . . . . . . . 36
3.3 Algoritmo di Sk olem . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3.1 Forma normale prenessa. . . . . . . . . . . . . . . . . . . 37
3.3.2 Algoritmo di Sk olem . . . . . . . . . . . . . . . . . . . . . 38
3.3.3 Teorema di Herbrandt - Sk olem . . . . . . . . . . . . . . . 40
3.4 Metodi sintattici al primo ordine. . . . . . . . . . . . . . . . . . . 41
3.4.1 Compattezza semantica. . . . . . . . . . . . . . . . . . . . 42
3.4.2 Sostituzioni. . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4.3 Unicazione. . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.5 Metodo di risoluzione al primo ordine. . . . . . . . . . . . . . . . 43
3.6 Deduzione naturale al I ordine. . . . . . . . . . . . . . . . . . . . 48
3.6.1 Regole elementari. . . . . . . . . . . . . . . . . . . . . . . 49
3.6.2 Regole condizionali. . . . . . . . . . . . . . . . . . . . . . 50
3
4 INDICE
A Esercizi desame. 53
A.1 Esercizi di risoluzione semantica. . . . . . . . . . . . . . . . . . . 53
A.2 Esercizi di risoluzione per clausole. . . . . . . . . . . . . . . . . . 58
A.3 Esercizi di deduzione naturale. . . . . . . . . . . . . . . . . . . . 59
Capitolo 1
Note introduttive
1.1 Introduzione
In questo corso verranno studiate due classi di linguaggi:
linguaggi proposizionali
linguaggi del primo ordine (o predicativi)
Ogni linguaggio e caratterizzato da elementi ricorrenti, che verranno richia-
mati di volta in volta, e che sono:
Vocabolario (o lessico): insieme ssato e nito di elementi del linguag-
gio
Sintassi: regole di corretta formazione delle stringhe (o frasi) del linguag-
gio. Le regole sono nite e ricorsive
Semantica: attribuzione di signicato alle stringhe ben formate
I linguaggi proposizionali non nascono in maniera articiale, ma dalla ries-
sione e dallindagine sui linguaggi naturali, che quotidianamente parliamo.
1.2 Alberi.
Denizione: si denisce albero (e intenderemo un albero nito) un insieme nito
e ordinato con una relazione dordine parziale; questo signica che non tutti gli
elementi dellalbero sono confrontabili tra loro.
Un albero e detto banale se composto da un unico elemento, detto radice
dellalbero. Al contrario, e detto non banale quando contiene pi` u elementi; esso
e composto da una radice (lelemento pi` u piccolo secondo la relazione dordine
assegnata) e da altri nodi, detti successori.
Si dicono nodi terminali (o foglie) i nodi che non hanno successori. Gli
altri sono detti nodi non terminali. Il numero di successori di un nodo e detto
molteplicit`a del nodo. Si dice inne ramo linsieme (totalmente ordinato!) di
nodi il cui primo elemento e la radice, e lultimo e una foglia.

E intuitivo che
un albero ha tanti rami quanti sono i suoi nodi terminali. Si deniscono inne
5
6 CAPITOLO 1. NOTE INTRODUTTIVE
lunghezza del ramo, o cardinalit` a il numero di nodi che esso percorre, diminuito
di 1; e profondit` a dellalbero il valore massimo nellinsieme delle cardinalit` a
dellalbero.
Relazione di dominanza tra nodi
Dato un albero non banale, e due nodi X, Y appartenenti ad esso, si dice che
X domina Y quando i due nodi sono sullo stesso ramo, e la profondit di X e
minore di quella di Y
1
.
Relazione di C - comando
Dato un albero non banale, e due nodi X, Y appartenenti ad esso, dicendo che
X Ccomanda Y (o comanda per costituenti) si aerma che siano vericate
tutte le seguenti condizioni:
1. X ,= Y
2. X non domina Y, ne Y domina X. Per cui X, Y non sono sullo stesso ramo,
cioe esiste ad un livello superiore un nodo che biforca
3. Il nodo biforcante pi` u profondo che domina X domina anche Y
1
Osservazione: Ci` o signica che X precede Y nella relazione dordine dellalbero
Capitolo 2
I linguaggi proposizionali
Evidenziamo gli elementi di un linguaggio proposizionale:
2.1 Vocabolario
1. Frasi atomiche:

E dato un insieme /, nito od innito, non vuoto, i cui
elementi sono detti frasi atomiche del linguaggio, e vengono indicati con
lettere alfabetiche minuscole a, b, c, . . .. Linsieme delle frasi atomiche e
insieme che caratterizza un particolare linguaggio proposizionale.
2. Connettivi:
Simbolo Denominazione Signicato
negazione non
congiunzione e
disgiunzione o, non esclusivo
implicazione se . . . allora . . .
3. Simboli ausiliari:
Simbolo Denominazione
assurdo
( parentesi aperta sinistra
) parentesi chiusa destra
2.2 Sintassi del linguaggio.
La sintassi del linguaggio fornisce le regole di formazione delle stringhe. Tali
regole sono di tipo ricorsivo.
Denizione 2.1 (linguaggio) Si denisce linguaggio, e lo si indica con L
A
linsieme delle stringhe ben formate (o frasi) ottenute dallinsieme di frasi
atomiche / mediante lutilizzo delle regole della sintassi.
Indicheremo in seguito le singole frasi di un determinato linguaggio con luti-
lizzo di lettere greche , , , ....

E immediato osservare che insiemi dierenti
di frasi atomiche generano dierenti linguaggi.
L
A
e il pi` u piccolo insieme tale che:
7
8 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
1. Lassurdo appartiene a L
A
:
L
A
2. Le frasi atomiche appartengono a L
A
/ L
A
3. Insieme delle regole ricorsive:
se L
A
allora () L
A
se , L
A
allora ( ), ( ), ( ) L
A
Osservazioni. [FARE]
Esercizio.
Dimostrare che se una stringa e ben formata, ci sono tante parentesi aperte a
sinistra quante parentesi chiuse a destra.
Ad ogni frase del linguaggio e possibile associare un albero, detto albero
sintagmatico di , indicato con T

che permette di risalire alla struttura atomica


della frase.
Dimostrazione.
La dimostrazione utilizza il procedimento induttivo:
1. nel caso di una frase atomica :
T


2. nel caso di una frase del tipo = :

T
T

L
3. nel caso di una frase del tipo =

, oppure =

, oppure
=

^
^
^
T
T


2.3. SEMANTICA DEL LINGUAGGIO. 9

Osservazioni. Ad esempio, lalbero sintagmatico per lespressione:


((a b) c) d
e la seguente:
[TODO]
Si osservi che nei nodi terminali compaiono soltanto connettivi, o frasi atom-
iche.
Osservazioni.
Se /

, /

sono insiemi di frasi atomiche, e /

, allora vale che L


A

L
A
.
Dato L
A
, se ne costruisca lalbero T

. Si indichi con /

linsieme dei
nodi di T

che sono in /. Valgono le seguenti aermazioni:


1. /

e un insieme nito. Un linguaggio ha necessariamente innite


frasi, poiche e denito in maniera ricorsiva, ma ogni singola frase del
linguaggio ha un numero nito di nodi terminali, e di conseguenza
dipende da un numero nito di frasi atomiche.
2. L
A
, cioe la frase e contenuta nel linguaggio generato dallin-
sieme di frasi atomiche che la compongono.

2.3 Semantica del linguaggio.


2.3.1 Interpretazione del linguaggio.
Denizione 2.2 (interpretazione del linguaggio) Dato un insieme di frasi atom-
iche / e il linguaggio L
A
ad esso associato, si denisce interpretazione del
linguaggio il criterio utilizzato per attribuire un valore di verit` a alle sue frasi.
Formalmente si tratta di una funzione v : L
A
0, 1 ove si attribuisce a
0 il signicato di falso e ad 1 il signicato di vero. Tale funzione e costituita
da:
Una funzione arbitraria v : / 0, 1, che attribuisce un valore di verit` a
alle frasi atomiche del linguaggio
Un insieme di regole semantiche ricorsive che permettono di attribuire un
valore di verit` a a tutte le frasi del linguaggio L
A
. In seguito assumeremo
valide le seguenti regole semantiche:
1. v() = 0. Lassurdo e falso.
10 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
2. v(a) = 1 v(a). Noto anche come principio di non contraddizione.
3. v( ) = v() v() = minv(), v()
4. v( ) = maxv(), v()
5. v( ) = max1 v(), v()
Osservazioni.
La disgiunzione e denita in maniera non esclusiva, corrispondentemente
al latino vel, anziche dellesclusivo aut.
Si osservi la denizione di implicazione: laermazione che vera implica
falsa e inaccettabile, e genera valore falso. Laermazione falsa implica
vera e poco intuitiva, ma viene inclusa nella denizione: essa garantisce
stabilit` a nellaggiunta di nuove ipotesi, cioe linclusione di una frase falsa
in un insieme di frasi che implica una frase vera, non pregiudica la verit` a
dellenunciato a secondo membro. Si consideri ad esempio laermazione:
oggi piove.
Se la frase e vera si consideri limplicazione:
se ieri era gioved` oggi piove
la condizione che ieri fosse o meno gioved` non pregiudica il valore di verit` a
della conseguenza.

Linterpretazione di una frase qualunque del linguaggio dipende in maniera


diretta dallinterpretazione delle frasi atomiche. A questo proposito si enunciano
i seguenti teoremi:
Teorema 2.3.1 Sia dato un linguaggio L
A
e due interpretazioni v

, v

per esso,
che soddisfano le regole semantiche sopra esposte. Se:
v

(a) = v

(a), a /
allora v

= v

, cioe le due interpretazioni sono uguali.


Uninterpretazione di un linguaggio e dunque individuata in maniera non am-
bigua quando e nota una interpretazione delle frasi atomiche in esso.
Dimostrazione.
Sia dato un insieme T di frasi del linguaggio L
A
, e due interpretazioni v

, v

, per
le quali vale che: v

(a) = v

(a), a /. Linsieme T sia cos` denito: T =


L
A
: v

() = v

() cioe linsieme delle frasi del linguaggio che hanno lo stesso


valore per entrambe le interpretazioni.

E suciente dimostrare che: T = L
A
, e
tale dimostrazione si eettua mediante ricorsione. Si pu` o innanzitutto aermate
che linsieme T non e vuoto: infatti esso contiene lassurdo, poiche esso e falso
per ogni interpretazione, e per ipotesi esso contiene anche le frasi atomiche
dellalfabeto del linguaggio, cioe / T. Ora:
2.3. SEMANTICA DEL LINGUAGGIO. 11
se T, segue: v

() = 1 v

() = 1 v

() = v

()
se , T, segue che: v

() = maxv

(), v

() = maxv

(), v

() =
v

( ).
I restanti casi sono lasciati per esercizio.
Teorema 2.3.2 Sia data una funzione a valori arbitrari v : / 0, 1. Allora
esiste certamente una intepretazione v dellintero linguaggio per la quale:
v(a) = v(a) a /
Ce dunque almeno una interpretazione che interpreta il linguaggio come la
funzione arbitraria assegnata. Per il teorema 2.3.1, linterpretazione dellintero
linguaggio coincide. Tale interpretazione del resto e unica, come conseguenza
del teorema 2.3.2
Osservazioni. Per quel che riguarda il secondo teorema, si consideri un
qualunque generico insieme nito di frasi atomiche: / = a
1
, a
2
, . . . a
N
, con
N 1. Le possibili interpretazioni v delle frasi atomiche di questo insieme
sono 2
N
; ognuna di queste interpretazioni genera una dierente interpretazione
dellintero linguaggio.
Nel caso di insieme innito di frasi atomiche, anche linsieme delle possibili
interpretazioni e innito.
Denizione 2.3 (tautologia) Si denisce tautologia una frase vera in ogni
interpretazione:
: v() = 1 interpretazione di v
Denizione 2.4 (contraddizione) Si denisce contraddizione una frase falsa
in ogni interpretazione:
: v() = 0 interpretazione di v
Osservazioni.
la frase (a a) una tautologia
la frase (a a) una contraddizione

2.3.2 Soddisfacibilit`a e consequenzialit`a semantica.


Denizione 2.5 (soddisfacibilit`a/insoddisfacibilit`a) Sia dato L
A
, insieme
di frasi non vuoto. Linsieme si dice soddisfacibile se esiste almeno una
interpretazione v del linguaggio tale che
v() = 1
In caso contrario linsieme e detto insoddisfacibile e non esiste nessuna in-
terpretazione che renda vero linsieme
12 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
Osservazioni. Un tipico esempio di insieme insoddisfacibile e lintero linguag-
gio che, contenendo la negazione, contiene necessariamente almeno una frase la
cui interpretazione e falsa.
Osservazioni. Siano

due insiemi di frasi dello stesso linguaggio. Valgo-


no allora le seguenti aermazioni, facilmente dimostrabili:
Se

e insoddisfacibile, e

, allora anche

e insoddisfacibile.
Se

e soddisfacibile, e

, allora anche

e soddisfacibile.

Osservazioni. Siano dati i due insiemi:

= (a a),

= (a a), ((a a) b)
Il primo insieme e certamente soddisfacibile, poiche esso contiene una sola frase,
e questa e una tautologia. Esiste poi almeno una interpretazione (tutte quelle
per le quali v(b) = 1 che rende soddisfacibile anche il secondo insieme. Il primo
insieme e contenuto nel secondo: se ne poteva dimostrare la soddisfacibilit` a
anche in base a questa osservazione.
Denizione 2.6 (conseguenza semantica) Dato un insieme ( di frasi di un
qualche linguaggio, ed una frase , non necessariamente in (, si dice che e
conseguenza semantica di (, e lo si indica con la simbologia
( [=
quando per ogni interpretazione v che rende vere le frasi di ( si verica che
v() = 1, cioe anche , con la stessa interpretazione, e vera.
Si pu` o ottenere una denizione equivalente di conseguenza semantica, osser-
vando che linsieme (() e sempre insoddisfacibile, quando e conseguenza
semantica di (. Dunque anche la nozione appena presentata coinvolge quella
pi` u ampia di soddisfacibilit` a di un insieme di frasi; in seguito osserveremo che
la soddisfabilit` a costituisce una nozione chiave. Si e visto in precedenza che le
possibili interpretazioni di un linguaggio con un insieme nito di N frasi atom-
iche sono in numero di 2
N
, cioe crescono con stima esponenziale. Allo stesso
tempo, si pu` o osservare che linsoddisfacibilit` a di un insieme equivale alla ricerca
allinterno di esso di almeno una frase falsa per ogni interpretazione: lordine di
grandezza di un possibile algoritmo di decidibilit` a, nel caso peggiore (cioe quan-
do esiste una sola interpretazione che soddisfa linsieme, e tale interpretazione e
lultima testata dallalgoritmo) resta di ordine esponenziale. Se eettivamente
questo algoritmo sia di ordine esponenziale o di un ordine minore (presumibil-
mente polinomiale) non e ancora stato dimostrato; tuttavia vedremo in seguito
le dierenti strade intraprese per risolvere il problema della decidibilit` a.
Osservazioni. [TODO]
2.3. SEMANTICA DEL LINGUAGGIO. 13
2.3.3 Equivalenza semantica e completezza funzionale.
Denizione 2.7 (equivalenza semantica) Due frasi , si dicono semantica-
mente equivalenti, e lo si indica con la scrittura , quando si verica
che:
v() = v() v
cioe se le due frasi hanno lo stesso valore di verit` a per ogni interpretazione del
linguaggio.
Enunciamo di seguito alcune equivalenze semantiche notevoli: si osservi che
le frasi sono spesso sintatticamente molto dierenti tra loro:
1. ()
2. (Propriet` a commutative):


3. (Leggi di Boole):
( ) () ()
( ) () ()
4. (Propriet` a associative):
( ) ( )
( ) ( )
5. (Propriet` a distributive):
( ) ( ) ( )
( ) ( ) ( )
6.
()
Dimostrazione.
Dimostriamone alcune (le altre per esercizio):
v(()) = 1 v() = 1 (1 v()) = v()
(Prima legge di Boole):
v(() ) = 1 v( ) = 1 minv(), v()
che equivale a :
v( ) = maxv(), v() = max1 v(), 1 v()
infatti:
14 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
v() v() 1 minv(), v() max1 v(), 1 v()
0 0 1 1
0 1 1 1
1 0 1 1
1 1 0 0

Nella nostra denizione di sintassi, abbiamo ammesso lesistenza di quattro


connettivi logici: essi costituiscono il miglior compromesso tra chiarezza esposi-
tiva e necessit` a sintattiche. Esistono linguaggi che utilizzano un numero minore
di connettivi logici ed e possibile dimostrare lequivalenza tra insiemi dierenti
di connettivi.
Denizione 2.8 (completezza funzionale) Un insieme di connettivi si dice fun-
zionalmente completo quando mediante essi e possibile rappresentare ogni ele-
mento dellinsieme iniziale di connettivi.
Osservazioni. E possibile denire un linguaggio che faccia uso dei soli con-
nettivi (, ), per il quale varranno le seguenti equivalenze semantiche:
( )
() = (() ()) = ( ())

Altri esempi sono costituiti dalle coppie di connettivi:


, ,
Si osservi che la negazione e sempre presente in tutte le coppie, ed e possibile
dimostrare che non e possibile creare una sintassi equivalente a quella nora
proposta senza utilizzare questo connettivo.
2.3.4 Dal linguaggio naturale al linguaggio proposizionale.
Un frammento di lingua italiana pu` o essere un buon esempio di come sia possi-
bile formalizzare un linguaggio naturale: formalizzare non e lo stesso di creare un
linguaggio proposizionale, come sar` a pi` u chiaro tra breve. Costruiamo dunque
un semplice linguaggio formale che rispecchii alcune strutture della lingua ital-
iana (grammatica non contestuale, o context-free). Esso sar` a costituito da
un insieme di regole sintattiche:
1. Regole ricorsive: da enunciati E, E si pu` o ottenere:
neg E, neg E
E cong E, E disg E
Se E allora E
2. Regole non ricorsive: gli enunciati sono nella forma NSv, dove N e un
nome e Sv e un sintagma verbale che pu` o essere del tipo:
2.3. SEMANTICA DEL LINGUAGGIO. 15
V
i
, Verbo intransitivo
V
t
N, Verbo transitivo, Nome
e da un vocabolario, dal quale e possibile estrarre gli elementi da combinare
mediante le regole appena esposte; ad esempio:
N:Antonio, Lucia, il gatto Tom, il topo Jerry
V
i
=corre, dorme, gioisce, brontola
V
t
=ama, odia, saluta, mangia
Ci si pu` o chiedere, a questo punto, se un certo enunciato appartiene al lin-
guaggio appena introdotto; aermiamo che lenunciato appartiene al linguaggio
se e possibile derivarlo a partire dal vocabolario e dalle regole sintattiche date.
Ad esempio, lenunciato Antonio ama Lucia o il gatto Tom dorme si pu` o
ottenere come segue:
E=E disg E (regola ricorsiva)
E=Antonio ama Lucia = N
I
V
I
t
N
II
(regola non ricorsiva)
E=il gatto Tom dorme = N
III
V
I
i
(regola non ricorsiva)
da cui gli insiemi:
N
I
, N
II
, N
III
N
V
I
t
V
t
V
I
i
V
i
Questultimo esempio e privo di ambiguit` a, ma si veda ora lesempio seguente:
Antonio ama Lucia o non si d` a il caso che il gatto Tom dorme e il topo Jerry
corre.
Questo enunciato pu` o essere derivato in due modi dierenti:
I modo:
E = E
I
disg E
I
I
E
I
= Antonio ama Lucia
E
I
= E
III
cong E
IV
E
III
= neg E
V
E
V
= il gatto Tom dorme
E
IV
= il topo Jerry corre
II modo:
E = E
I
cong E
II
E
I
= E
III
disg E
IV
E
III
= Antonio ama Lucia
E
IV
= neg E
V
E
V
= il gatto Tom dorme
E
II
= il topo Jerry corre
16 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
La mancanza di parentesi in un linguaggio naturale genera ambiguit` a che
pongono alcuni problemi nella traduzione in un linguaggio proposizionale. Ten-
tiamo di farlo con il linguaggio appena introdotto: la relazione tra i connet-
tivi proposizionali e le congiunzioni naturali e immediata; le frasi atomiche del
linguaggio saranno tutti gli enunciati del linguaggio naturale nella forma NSv.
La frase Antonio ama Lucia o non si d` a il caso che il gatto Tom dorme e il
topo Jerry corre, quando si sia ammessa la corrispondenza:
a Antonio ama Lucia
b il gatto Tom dorme
c il topo Jerry corre
genera le seguenti traduzioni in linguaggio proposizionale:
a (b c)
a ((b) c)
(a (b)) c
La corrispondenza tra frasi del linguaggio naturale e frasi del linguaggio
proposizionale non e perci` o di 1 a 1 bens, nel caso pi` u generale, di uno a
molti. Possiamo aermare che una frase del linguaggio naturale ed una del
linguaggio proposizionale sono in relazione tra di esse se uno dei possibili alberi
di derivazione di E e traducibile in una frase del linguaggio proposizionale.
Osservazioni. Vericare che:
a b, c b [= a c
Questo signica dimostrare che linsieme , , con:
= a b = c b = (a c)
e insoddisfacibile.
E suciente vericare che per ogni interpretazione possibile, almeno una
delle tre frasi contenute in questo insieme e falsa:
a b c
0 0 0 1 1 0
0 0 1 1 1 0
0 1 0 1 0 0
0 1 1 1 1 0
1 0 0 0 1 1
1 0 1 0 1 0
1 1 0 1 0 1
1 1 1 1 1 0

Esercizio.
Vericare che:
a b, a, (b c) d [= d

2.3. SEMANTICA DEL LINGUAGGIO. 17


2.3.5 Forme normali.
Le equivalenze semantiche introdotte in precedenza dimostrano che e sempre
possibile trasformare enunciati del linguaggio in altri sintatticamente dieren-
ti, ma semanticamente equivalenti. Esistono particolari trasformazioni che si
possono applicare alle frasi di un linguaggio, il cui scopo e quello di ottenere
un enunciato semanticamente equivalente al primo, che rispetti una forma pre-
cisa; tale forma puo essere successivamente elaborata in maniera automatica,
mediante regole semplici e spesso meccaniche.
Denizione 2.9 (letterale) Si denisce letterale una frase atomica o la sua
negazione. Ad esempio, tutti i seguenti termini sono letterali: , a, b, ...,
, a, b.
Denizione 2.10 (forma normale congiuntiva) Una frase di un linguaggio
proposizionale si dice in forma normale congiuntiva quando e scritta come
congiunzione di un numero nito di frasi q
i
, ciascuna delle quali e disgiunzione
di letterali.
Ad esempio, la frase seguente e in forma normale congiuntiva:
= (a b)

q1
(c d e)

q2
(a b)

q3
Denizione 2.11 (forma normale disgiuntiva) Analogamente, una frase di
un linguaggio proposizionale si dice in forma normale disgiuntiva quando e
scritta come disgiunzione di un numero nito di frasi q
j
, ciascuna delle quali e
congiunzione di letterali.
Ad esempio, la frase seguente e in forma normale disgiuntiva:
= (a b)

q1
(c d)

q2
(e a b)

q3
Teorema 2.3.3 Data una qualunque frase L
A
:
1. Esiste almeno una frase

in forma normale congiuntiva tale che

2. Esiste almeno una frase

in forma normale disgiuntiva tale che

Osservazioni. Data la frase = (a (b c)), la si riscrive in for-


ma normale congiuntiva e disgiuntiva.Ricordando alcune equivalenze seman-
tiche introdotte in precedente, si possono eettuare successivamente i seguenti
passaggi:
(a (b c)) (a (b c))
a b c
La frase cos ottenuta e gi` a in entrambe le forme:
18 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
a b c, congiunzione di tre frasi atomiche
(a b c), disgiunzione di ununica congiunzione di letterali

Osservazioni. (a b) c (a b) c a b c (f.n.c, f.n.d.)


(a b) c (a b) c (a c) (b c)(f.n.c.)
Una procedura automatica di normalizzazione.
Esiste una procedura automatica per convertire una frase nella propria forma
normale congiuntiva/disgiuntiva: a partire dalla tabella della verit` a della frase
stessa:
per ottenere una forma normale disgiuntiva equivalente, si selezionano
tutte le interpretazioni vere della frase, e per ciascuna di esse si crea un
congiunto delle frasi atomiche, in forma vera se hanno interpretazione
vera, in forma negata se hanno interpretazione falsa; le frasi cos formate
saranno poi congiunte.
per ottenere una forma normale congiuntiva equivalente, si selezionano
tutte le interpretazioni false della frase, e per ciascuna di esse si crea
un disgiunto delle frasi atomiche, in forma vera se hanno interpretazione
falsa, in forma negata se hanno interpretazione vera; le frasi cos formate
saranno poi disgiunte.
Si prenda ad esempio la seguente tabella di verit` a:
a b c
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
Per la forma normale forma normale disgiuntiva, si considerino i valori per
cui = 1: seguendo lo schema indicato si ottiene la seguente espressione:
(a b c) (a b c) (a b c)
Per la forma normale congiuntiva, si considerino i valori per cui = 0:
seguendo lo schema indicato si ottiene la seguente espressione:
(a b c) (a b c) (a b c) (a b c) (a b c)
2.4. METODI SINTATTICI DI DECISIONE PERLASODDISFACIBILIT
`
A.19
2.4 Metodi sintattici di decisione per la soddis-
facibilit`a.
Il problema fondamentale nora incontrato e quello di decidere dellinsoddis-
facibilit` a di un insieme di frasi L
A
, che e strettamente legato allo svol-
gimento della tabella di verit` a dellinsieme . Esistono procedure che utiliz-
zano metodologie sintattiche, che cioe si limitano a manipolare i simboli, e che
permettono di ottenere lo stesso risultato.
2.4.1 Risoluzione per clausole.
Un metodo che non utilizza tabelle di verit` a, e ad esempio il metodo di
risoluzione per clausole.
Enunciamo il procedimento:
si trasforma ogni frase di nella relativa forma normale congiuntiva.
per ogni frase: da ogni congiunto, si ottiene un insieme di letterali detto
clausola. Si indica col simbolo 2 la clausola vuota. Si ottiene perci` o un
insieme

formato da tutte le clausole di tutte le frasi di .
si applica la seguente regola di risoluzione: date due clausole (

, (

si dice
che la clausola ( e derivabile per risoluzione da (

, (

se esiste un
letterale l (

e il suo negato l (
1
tale che: ( = (

l) ((

l
Osservazioni. Sia data la forma normale congiuntiva: (abc)(abc).

E una singola frase, e genera le clausole:


(

= a, b, c, (

= a, b, c
Da queste e possibile dedurre: ( = b, b, c oppure ( = a, a, c
Osservazioni. Dalle clausole: (

= a, b, (

= a, c e possibile dedurre:
( = b, c
Il risultato fondamentale a cui si perviene attraverso lutilizzo di questo
metodo e il seguente:
Denizione 2.12 (risoluzione di un insieme di clausole) Sia

un insieme di
clausole ottenute dallinsieme L
A
. Si dice che la clausola ( e deducibile
dallinsieme

per risoluzione e si indica

R
( se e solo se esiste un albero
nito con radice (, con foglie in

e dove ogni nodo terminale e dedotto per
risoluzione dai due successori.
Vale il seguente teorema che enuncia un criterio di decidibilit` a per un
insieme di frasi.
Teorema 2.4.1 Sia L
A
, e

il corrispondente insieme di clausole. Allora
e insoddisfacibile se e solo se

R
2
1
l = a se l = a A; l = a se l = a, a A
20 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
Osservazioni. Consideriamo un insieme di frasi proposto in precedenza:
= (a b) c, c (b d), d a, b, d
e verichiamo per risoluzione che esso e insoddisfacibile.
Si trasformano le singole frasi nella loro forma normale congiuntiva:

= (a b c), (c b d), d a, b, d
E si costruisce linsieme delle clausole:

= a, b, c, c, b, d, d, a, b, d
Bisogna individuare un albero di derivazione che abbia radice 2.
Un possibile albero e il seguente:
a, d

, d

R
a
a, b, c

, b

R
a, c
a, a, c
R
c
b, c, d

, d

R
b, c
b, c, b

R
c
c, c
R
2
Le clausole contenute in

sono seguite da un asterisco; si pu` o vericare che
esse sono nodi terminali della struttura ad albero.
Una procedura automatica per la risoluzione per clausole?
Il teorema enunciato in questo paragrafo aerma che lesistenza di un albero
di risoluzione con radice 2 implica linsoddisfacibilit` a dellinsieme che ha per
clausole i nodi terminali dellalbero stesso. Questo teorema non dice per` o come
individuare tale albero, e neppure se tale albero esiste.
Per implementare una procedura automatica e dunque necessario consider-
are lesistenza di tutti i possibili alberi che si generano da un certo insieme di
clausole, e vericare se tra essi esiste almeno un albero con la clausola vuota a
radice.
Denizione 2.13 insieme risoluzione di un insieme di clausole Sia un insieme
nito di clausole, e siano (
i
, (
j
due qualunque clausole in esso. Deniamo un
nuovo insieme, denominato Risoluzione di , tale che
Ris() = i, j : (
i
, (
j
R
(
k

dove il secondo e linsieme delle clausole (


k
che si ottengono da tutte le possibili
coppie in .
2.4. METODI SINTATTICI DI DECISIONE PERLASODDISFACIBILIT
`
A.21
Osservazioni. Poiche il numero di coppie non ripetitive in un insieme di n
elementi e in numero
n(n1)
2
, vale che k
n(n1)
2
. Per cui tra linsieme e la
sua risoluzione vale la relazione Ris.
La denizione si pu` o estendere ricorsivamente, per cui si pone
Ris
k
() = Ris(Ris
k1
())
Si dimostra che esiste un p N tale che Ris
p
() = Ris
p+i
() i N, cioe
esiste un limite superiore nito alla cardinalit` a dellinsieme delle risoluzioni
2
.
In questo caso, e suciente vericare se 2 Ris
p
().
Benche questa procedura sia automatica e facilmente implementabile, si pu` o
dimostrare che p 2
2card()
, cioe che lordine di complessit` a dellalgoritmo e
ancora di natura esponenziale. Sia infatti = a
1
, a
2
, ..., a
p
con p 1 un in-
sieme di frasi atomiche distinte del linguaggio, se segue ogni clausola appartiene
allinsieme

di letterali ottenuto a partire da ; la cardinalit` a di tale insieme


sar` a di 2p. Linsieme delle parti di

ha di conseguenza cardinalit` a 2
2p
. Poiche
le clausole non si ripetono, e poiche ogni clausola e un elemento dellinsieme
delle parti, la risoluzione n-esima pu` o comunque contenere al massimo lo stesso
numero di elementi di questo insieme.
Lalgoritmo esposto in questa forma, per` o, si rivela poco eciente. Sono
stati individuati alcuni espedienti che permettono di migliorarne lecienza
eliminando inutili confronti:
Eliminazione delle tautologie: tutte le clausole contenenti un let-
terale e il suo negato (del tipo a, ..., a, ... ) sono tautologie, poiche
ogni clausola e una disgiunzione di letterali.
Eliminazione di clausole che contengono altre clausole: se in ci
sono due clausole (

, (

tali che (

, e possibile eliminare la clausola


(

: ogni clausola e infatti una disgiunzione di letterali, ed ogni insieme


di frasi e una congiunzione di clausole; se pertanto e vera la clausola
con meno letterali, sara di conseguenza altrettanto vera la clausola che la
contiene.
Chiameremo in seguito
c
linsieme delle clausole di ripulito secondo le
regole esposte sopra.
Osservazioni. Sia dato linsieme = a, b, ca, b, c; vericare se esso
e soddisfacibile. Si pu` o immediamente calcolare la risoluzione di :
Ris() = a, a, cb, b, c
Le due clausole ricavate per risoluzione sono entrambe tautologie, per cui vale
immediatamente che: = Ris(), e perci` o tale insieme non e soddisfacibile.
Osservazioni. Vericare se:
a b c, b c d [= a d
2
nelle ipotesi considerate, di insieme nito di clausole
22 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
Questo equivale ad indagare la soddisfacibilit` a dellinsieme:
a b c, b c d, (a d)
Mediante trasformazioni successive, possiamo scrivere:
a (b c), (b c) d, (a d)
a b c, (b c) d, a d
a b c, (b d) (c d) d, a d
da cui linsieme di clausole:
= a, b, c, b, d, c, d, a, d
e le successive risoluzioni:
Ris() = b, c, c, b
e senza procedere in ulteriori risoluzioni, e immediato ricavare dai nuovi
elementi in due passaggi la clausola vuota:
b, c, c
R
b
b, b
R
2

2.4.2 Deduzione naturale.


Esiste un altro metodo sintattico, che va sotto il nome di deduzione naturale
e permette di decidere della soddisfacibilit` a di un insieme di frasi. A dierenza
del metodo precedente esso agisce direttamente sulle frasi senza la necessit` a
di trasformarle in una forma normale, ma ha lo svantaggio di utilizzare un
insieme di regole di manipolazione pi` u esteso rispetto allaltro. Tali regole sono
usualmente divise in due classi:
regole elementari
regole condizionali
Regole elementari.
Sono regole di eliminazione/introduzione dei connettivi; le elenchiamo per ogni
connettivo:
Connettivo di congiunzione:
1. eliminazione della congiunzione: data una congiunzione di due frasi,
ne posso dedurre ciascuna delle frasi che la compongono.
(, e) :
DN

2.4. METODI SINTATTICI DI DECISIONE PERLASODDISFACIBILIT


`
A.23
2. inserimento della congiunzione: date due frasi , , ne posso dedurre
ciascuna delle loro congiunzioni.
(, i) : ,
DN



Connettivo di disgiunzione:
1. eliminazione della disgiunzione: data una disgiunzione, e la negazione
di uno dei disgiunti, ne posso dedurre laltro.
(, e) :
,
DN

,
DN

2. inserimento della disgiunzione: data una frase , e sempre possibile
congiungerla ad una qualunque frase :
(, i) :
DN



Connettivo di implicazione:
1. eliminazione dellimplicazione: data una implicazione , e lim-
plicando , e sempre possibile dedurne limplicato; tale regola va
sotto il nome di modus ponens:
(, i.1) : ,
DN

Ancora, data una implicazione, e la negazione dellimplicato, e sem-
pre possibile dedurne la negazione dellimplicando; tale regola va
sotto il nome di modus tollens:
(, i.2) : ,
DN

2. inserimento dellimplicazione: e una regola condizionale, e verr` a
esposta nel paragrafo successivo.
Connettivo di negazione:
1. eliminazione della negazione: data una frase in forma vera e la stessa
in forma negata, e possibile dedurne lassurdo:
(, e) : ,
DN

2. inserimento della negazione: dato lassurdo, se ne pu` o dedurre qualunque


frase (e la propria negazione):
(, i) :
DN

24 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
Regole condizionali.
Sono solamente due, e sono le seguenti:
1. Regola di introduzione dellimplicazione. Dato un insieme di frasi del
linguaggio:

DN
( )
DN

2. Regola di riduzione ad assurdo: da un insieme di frasi posso derivare una
certa frase se aggiungendo la negazione di questa ne viene lassurdo,
cioe:

DN

DN

Osservazioni. Le regole formali introdotte sono per la maggior parte di natu-


ra estremamente intuitiva. Ad esempio, per quel che riguarda leliminazione
della congiunzione, e piuttosto naturale, data una congiunzione di frasi vere,
dichiarare vero ciascuno dei congiunti. Se e vero che
Il 30 ottobre 1977 d.C. era domenica e gli uomini sono organismi pluricellulari
ciascuno di noi intuitivamente se la sente di aermare singolarmente che:
Il 30 ottobre 1977 d.C. era domenica
oppure che:
Gli uomini sono organismi pluricellulari
Allo stesso modo, data una frase vera, la si puo unire ad una qualunque
altra frase, vera o falsa che sia, attraverso una disgiunzione. Se e infatti vero
che:
Il 30 ottobre 1977 d.C. era domenica
e intuitivamente vero che:
Il 30 ottobre 1977 d.C. era domenica o gli asini volano
anche se la seconda frase e palesemente falsa (almeno da quanto ne so. . . ).
Ma si consideri il seguente esempio:
Oggi e domenica e questa frase contiene nove parole
`
E forse possibile ricavarne la seguente frase?
Questa frase contiene nove parole

Denizione 2.14 (deducibilit`a di una frase da un insieme) Sia ora /,


L
A
; laermazione e deducibile da , indicata dallespressione:
DN
, sig-
nica che esiste un albero che ha come radice , i cui nodi terminali sono in
e per il quale ogni nodo non terminale e dedotto dai suoi successori mediante
lapplicazione di una regola elementare.
2.5. SODDISFACIBILIT
`
A DI INSIEME NON FINITI. 25
Enunciamo ora un importante teorema:
Teorema 2.4.2 e conseguenza semantica di se e solo se ne e conseguenza
sintattica per deduzione naturale:
[=
DN

Mediante lapplicazione della regola di riduzione ad assurdo al secondo mem-
bro del teorema, e possibile ricavare che: a
DN
e questa condizione
verr` a utilizzata nella pratica per decidere della soddisfacibilit` a dellinsieme.
Osservazioni. Vericare per deduzione naturale che:
= a b c, c b d, d a, b [= d
Ci` o equivale a dimostrare che:
a b c, c b d, d a, b d
DN

Evidenziamo i passaggi:
frasi utilizzate
3
frase dedotta regola utilizzata
d

, d a

a (, e)
a, b

a b (, i)
a b, a b c

c (, e)
c, c (b d)

b d (, e)
b d, b

d (, e)
d, d

(, e)

Osservazioni. Dimostrare che


a (b c), (b c) d [= a d
Ci` o equivale a dimostrare, per la prima regola condizionale, che:
a (b c), (b c) d, a
DN
d
Evidenziamo i passaggi:
frasi utilizzate
4
frase dedotta regola utilizzata
a (b c)

, a

b c (, e)
b c, (b c) d)

d (, e)

2.5 Soddisfacibilit`a di insieme non niti.


2.5.1 Compattezza semantica
Sia dato un linguaggio proposizionale L
A
, ed un sottoinsieme di frasi in esso;
se e innito, per esso vale il seguente:
26 CAPITOLO 2. I LINGUAGGI PROPOSIZIONALI
Teorema 2.5.1 e soddisfacibile se e soltanto se ogni sottoinsieme nito di
lo e.
Dimostrazione.
Ipotizziamo lesistenza di un insieme

, tale che

sia nito e soddisfacibile;


di seguito vedremo una buona scelta dellinsieme che ci permetter` a di concludere
la dimostrazione.
Per dimostrare dunque che e soddisfacibile, si supponga per assurdo che
esso non lo sia o, il che e equivalente, che
DN
, cioe esiste un albero di
derivazione nito che ha come radice lassurdo e i nodi terminali in . Sia

linsieme delle foglie di questo albero; ma allora

e un sottoinsieme di
insoddisfacibile.
Capitolo 3
Linguaggi del I ordine
Si osservino le seguenti frasi:
1. Antonio ama Lucia
2. Tutti i ragazzi amano Lucia
3. Antonio e un ragazzo
Dalle (2,3) sembra del tutto ragionevole dedurre la (1), tuttavia nel contesto
dei linguaggi proposizionali, ne (2), ne (3) sono frasi atomiche; al contrario, (1)
e una frase atomica. Non solo, ma (2),(3) non appartengono neppure a nessun
linguaggio proposizionale, poiche contengono elementi che non sono stati deniti
(sono evidenziati in corsivo).
Si suppongano tuttavia (2), (3) come frasi atomiche, e si generi il linguaggio
L
{2,3}
: non e possibile in alcun modo derivare la (1) con alcuno dei metodi
proposti.
Si consideri ancora il seguente esempio:
Antonio dice che Marco lo ha danneggiato
Il signicato che si pu` o attribuire al pronome lo e ambiguo: certamente esso
non si riferisce a Marco, ma non e altres detto che esso si riferisca ad Antonio,
piuttosto che ad una terza persona introdotta in precedenza nel discorso.
Queste osservazioni dimostrano che i linguaggi proposizionali non possono in
alcun modo trattare unampia classe di preposizioni del linguaggio comune, ed e
perci` o necessario introdurre nuovi elementi che permettano di manipolare le pi u
complesse strutture che qui abbiamo esemplicato. A tale scopo si introducono
i linguaggi del primo ordine (o predicativi).
3.1 Alfabeto dei linguaggi predicativi.
Esso e costituito da:
1. Un insieme (eventualmente vuoto o innito) di costanti: (, che verranno
indicate con le prime lettere dellalfabeto minuscolo: a, b, c, ...
2. Un insieme innito di variabili: 1, che verranno indicate con le ultime
lettere dellalfabeto minuscolo: x, y, z, ...
27
28 CAPITOLO 3. LINGUAGGI DEL I ORDINE
3. Un insieme (non vuoto, eventualmente innito, ma generalmente nito)
di predicati: T, che verranno indicati con le prime lettere dellalfabeto
maiuscolo: A, B, C,.... Ogni predicato e caratterizzato da una propria
ariet` a, che consiste nel numero di elementi su cui agisce. Tra i predicati
di T ce ne sempre almeno uno binario, detto predicato di uguaglianza.
4. Un insieme (eventualmente vuoto, generalmente nito), di simboli fun-
zionali: T, che verranno indicati con le lettere intermedie dellalfabeto
minuscolo f, g, h, .... Ogni simbolo funzionale e caratterizzato da una
propria ariet` a.
5. Un insieme di connettivi: , , ,
6. Il simbolo di assurdo:
7. I simboli ausiliari: (, ).
8. Due nuovi simboli, detti quanticatori:
, detto quanticatore universale, che signica letteralmente per tut-
ti...
, detto quanticatore esistenziale, che signica letteralmente esiste...
I primi quattro elementi dellalfabeto sono anche detti lessico, e caratter-
izzano in maniera univoca un certo linguaggio predicativo. Da esso si ricava
linsieme Ter dei termini del linguaggio, cos denito:
Denizione 3.1 insieme dei termini Ter e il pi u piccolo insieme tale che:
1. Linsieme delle costanti e in Ter: ( Ter
2. Linsieme delle variabili e in Ter: 1 Ter
3. Se f T e un simbolo funzionale di ariet` a k, (ove k 1), e un certo
insieme di termini t
1
, t
2
, ..., t
k
Ter, allora f(t
1
, t
2
, ..., t
k
) Ter
Osservazioni. Si osservi che linsieme dei termini ha cardinalit` a innita,
poiche le variabili sono sempre in quantit` a innita. Tuttavia, se linsieme dei
simboli funzionali non e vuoto, linsieme Ter contiene inniti termini che non
sono variabili.
Osservazioni. Sia dato un linguaggio del primo ordine il cui alfabeto e: / =
(( = a, b, T = f(), 1 = , T = ). Allora:
Ter(/) = a, b, f(a), f(b), f(f(a)), ...

Denizione 3.2 frasi atomiche Le frasi atomiche del linguaggio sono il pi u


piccolo insieme Atom tale che:
1. Atom
3.1. ALFABETO DEI LINGUAGGI PREDICATIVI. 29
2. Se A T e un predicato di ariet` a k, e (t
1
, t
2
, ..., t
k
) Ter e un qualche
insieme di termini, allora A(t
1
, t
2
, ..., t
k
) e una frase atomica del linguaggio
Denizione 3.3 linguaggio predicativo Un linguaggio proposizionale L
(C,V,P,F)
e il minimo insieme tale che:
Le frasi atomiche sono in esso: Atom L
Se L, allora L
Se , L, allora , , L
Se L, x 1, allora (x), (x) L
Osservazioni. Siano dati ad esempio due predicati, un insieme di costanti, un
insieme di funzionali:
T = A(), B(, ), ove Ae un predicato ad 1 posto (ad esempio correre)
e B un predicato a 2 posti (ad esempio amare)
( = a, b
T = f; ad esempio il funzionale il padre di
Allora una frase atomica e ad esempio la seguente:
x(A(a) B(x, f(a)))
che si pu` o tradurre in linguaggio naturale come:
Per ogni x non e vero che a corre o x odia il padre di a

3.1.1 Variabili libere.


Si dice che una variabile x occorre in una frase se x gura in almeno una delle
frasi atomiche che si trovano nei nodi terminali dellalbero sintagmatico della
frase stessa.
Osservazioni. Nella frase (x)A(a, y) lunica variabile e y.
Denizione 3.4 variabili libere Sia ora x una variabile che occorre in : si dir` a
che tale variabile `e vincolata se essa e C-comandata da uno dei due quanticatori
(x), (x). In caso contrario essa sar` a detta libera.
Osservazioni. Nellesempio precedente nessuna variabile e vincolata.
Osservazioni. Nella frase (x)(A(x, y) B(x, y)) sono presenti due vari-
abili: x, y. Entrambe le occorrenze di x sono vincolate, mentre entrambe quelle
30 CAPITOLO 3. LINGUAGGI DEL I ORDINE
di y sono libere.
Osservazioni. Nella frase (x)A(x, y) (y)B(x, y) sono presenti due vari-
abili: x, y. La prima occorrenza della variabile x e vincolata, mentre la seconda
e libera; la prima occorrenza di y e libera, mentre la seconda e vincolata.
Data una frase , indicheremo con T
V
() linsieme delle variabili in 1 tali
che hanno almeno una occorrenza libera in . Tale insieme pu` o anche essere
vuoto: ci` o ovviamente accade quando tutte le variabili sono vincolate; in questo
caso la frase si dice chiusa.
3.2 Semantica di un linguaggio del primo or-
dine.
Denizione 3.5 struttura Si denisce struttura (o universo del discorso) una
coppia / formata da un certo insieme M, non vuoto, detto dominio del dis-
corso, e una certa legge g dagli insiemi (, T, T a M:
/ = (M, g) g : (, T, T M
k
Osservazioni.
sia c una costante. La funzione g : c g(c) e una funzione g : (
(
M
M che associa ad una costante dellalfabeto iniziale, una costante
nel dominio del discorso M.
sia A T un predicato unario (ad esempio essere sciocchi); allora g :
A A
M
/. Sia invece B T un predicato binario (ad esempio
amare); allora g : B B
M
//.
In questo caso la funzione associa ad un predicato, un sottoinsieme di M
k
costituito dagli elementi di M che soddisfano la preposizione. Esister` a
dunque un sottoinsieme di / composto da tutti quegli elementi che sod-
disfano il predicato essere sciocchi; esso pu` o essere al limite un insieme
vuoto, o linsieme stesso.
Sia invece f T un funzionale unario (ad esempio: e il padre di): allora
g : f f
M
ove f
M
: / /. Sia invece f T un funzionale binario
(ad esempio: e glio di
1
allora g : f f
M
ove f
M
: // /.
In questo caso la funzione g associa a un elemento di M
k
un valore in M
che corrisponde al risultato del funzionale.

1
si sottointende, supposto il funzionale binario, che sia data la coppia di informazione
(madre, padre) o la commutata
3.2. SEMANTICA DI UN LINGUAGGIO DEL PRIMO ORDINE. 31
Denizione 3.6 assegnazione Si denisce assegnazione (talora detto ambi-
ente) una funzione dallinsieme delle variabili a /:
: 1 /
Osservazioni. Una assegnazione e una funzione un po speciale: essa svolge
un compito analogo a quello della funzione g di una qualche struttura, poiche
collega linsieme delle variabili col dominio del discorso. Ma eettua questa
operazione su un insieme molto particolare - come si vedr` a in seguito - quello
delle variabili.
Per ogni t Ter(L), indicheremo con [t]
M,
lelemento corrispondente
nellinsieme /.
Osservazioni.
termine elemento in /
t
1
= a ( [t
1
]
(M,)
= g(a)
t
2
= x 1 [t
2
]
(M,)
= (x)
t = f(a, x), con f T [t]
(M,)
= f
M
(g(a), (x)) = f
M
([t
1
]
(M,)
, [t
2
]
(M,)
)

Denizione 3.7 interpretazione Date una struttura ed una assegnazione, si pu` o


denire una interpretazione che attribuisca un valore di verit` a alle frasi del
linguaggio. Essa e una funzione del tipo:
v
(M,)
: L 0, 1
Enunciamo inoltre il procedimento di sostituzione di una variabile quanti-
cata, necessario per attribuire un valore di verit` a a frasi che contengono quan-
ticatori. Sia dunque data una struttura (M, ) e un qualche elemento p M.
Si denisce la funzione
(p|x)
: 1 M come segue:


(p|x)
(y) = (y) x ,= y

(p|x)
(y) = p x = y
3.2.1 Semantica del linguaggio.
Deniamo semantica di un linguaggio del primo ordine linsieme delle seguenti
regole formali:
1. Il valore di verit` a dellassurdo e zero: v
(M,)
() = 0
2. Denisce il valore di verit` a di un predicato:
v
(M,)
(A(t
1
, ..., t
n
)) = 1 [t]
(M,)
= ([t
1
]
(M,)
, ..., [t
n
]
(M,)
) A
M
Cioe un predicato e vero se e soltanto se ln-pla dei termini che esso elabora
appartiene al sottoinsieme del dominio del discorso che soddisfano tale
predicato.
32 CAPITOLO 3. LINGUAGGI DEL I ORDINE
3. Regole per i connettivi
2
:
v
(M,)
() = 1 v
(M,)
()
v
(M,)
( ) = minv
(M,)
(), v
(M,)
()
v
(M,)
( ) = maxv
(M,)
(), v
(M,)
()
v
(M,)
( ) = max1 v
(M,)
(), v
(M,)
()
4. Regole per i quanticatori:
v
(M,)
(x) = 1 v
(M,
(p|x
)
= 1 per ogni p M
v
(M,)
(x) = 1 v
(M,
(p|x
)
= 1 per almeno un p M
Osservazioni. Si osservi che il quanticatore universale pu` o essere inter-
pretato come una congiunzione iterata su tutti gli elementi delluniverso del
discorso.
Analogamente, il quanticatore esistenziale pu` o essere visto come una dis-
giunzione iterata su tutti gli elementi delluniverso del discorso.
Enunciamo in seguito alcune denizioni che trovano una corrispondenza con
quelle enunciate nel contesto dei linguaggi proposizionali.
Denizione 3.8 insieme soddisfacibile Un insieme di frasi L
A
e sod-
disfacibile se e solo se esiste una struttura / e una assegnazione per
cui
v
(M,)
() = 1
In caso contrario linsieme si dice insoddisfacibile, cioe se per ogni struttura
ed ogni interpretazione esso contiene almeno una frase falsa.
Denizione 3.9 conseguenza semantica Una frase e conseguenza seman-
tica di un insieme di frasi , e lo si indica con [= se e solo se esiste
una interpretazione che soddisfa linsieme , e per tale interpretazione la frase
e vera. Analogamente al caso proposizionale, si pu` o vericare che linsieme
e insoddisfacibile.
Denizione 3.10 tautologia, contraddizione Si denisce tautologia una frase
tale che
v
(M,)
() = 1 /,
cioe una frase vera per qualunque interpretazione o, equivalentemente, vera in
ogni struttura.
Si denisce contraddizione una frase tale che
v
(M,)
() = 0 /,
cioe una frase falsa per ogni interpretazione o, equivalentemente, falsa in ogni
struttura.
Osservazioni. La frase (x)A(x) (x)A(x) e una tautologia.
La frase (x)A(x) (x)A(x) e una contraddizione.
2
ricordiamo che i connettivi agiscono sulle frasi atomiche del linguaggio
3.2. SEMANTICA DI UN LINGUAGGIO DEL PRIMO ORDINE. 33
Una frase vera in un linguaggio del primo ordine: che signica?
Vediamo ora di spiegare che signica calcolare il valore di verit` a di una frase in
un linguaggio del primo ordine attraverso alcuni semplici esempi: Sia data una
struttura / = (M, g).
Sia data la frase: (x)A(x). In questo caso la funzione g : A A
M
M
individua gli elementi delluniverso M tali da soddisfare la preposizione
A. Se ad esempio A : e un numero naturale, e denita su la funzione
individua tutti gli elementi di M che soddisfano tale condizione.
Ora: v
(M,)
(x)A(x) = 1 v
(M,(x|p))
A(x) per ogni p M.
Ma p A
M
A
M
M
Sia data la frase: (x)B(x).
Ora: v
(M,)
(x)A(x) = 1 v
(M,(x|p))
A(x) per almeno un p M.
Ma p A
M
A
M
,=
Sia data la frase: (x)(A(x) B(x)).
v
(M,)
(x)(A(x) B(x)) = 1 v
(M,
(x|p)
)
(A(x) B(x)) = 1 per ogni p
M. Ricordando unequivalenza semantica introdotta gi` a per i linguaggi
proposizionali, vale che: v
(M,
(x|p)
)
(A(x)B(x)) = 1 p MA
M

B
M
A
M
B
M
3.2.2 Equivalenze semantiche.
Denizione 3.11 equivalenza semantica Due frasi , si dicono (semantica-
mente) equivalenti e lo si indica con se:
v
(M,)
() = v
(M,)
() (/, )
Teorema 3.2.1 Sia data una frase del linguaggio. Si ssino in seguito una
struttura /, e due assegnazioni , : 1 /. Se le due assegnazioni coinci-
dono sullinsieme delle variabili libere T
v
(), allora:
v
(M,)
= v
(M,)
Dimostrazione.
Sia A(t
1
, ..., t
k
) un predicato dellalfabeto di linguaggio. Si considerino i due
casi:
1. A non contiene variabili libere: allora, o le A non contiene variabili
quanticate, e le due interpretazioni banalmente coincidono poich`e sono
denite sullo stesso dominio, oppure A contiene variabili quanticate, per
cui esiste certamente una sostituzione
(x|p

)
ed una sostituzione
(x|p

)
opportunamente scelte per cui valga (p

= p

); questo e possibile per la


congruenza del dominio.
2. A contiene variabili libere: in questo caso, si considerino i termini
su cui agisce il predicato: se il termine t
k
non contiene variabili, vale
banalmente che [t
k
]
(M,)
= [t
k
]
(M,)
; se il termine t
k
contiene variabili
quanticate, per il punto sopra vale ancora luguaglianza; se poi il ter-
mine t
k
contiene variabili libere, per lipotesi del teorema vale ancora
luguaglianza.
34 CAPITOLO 3. LINGUAGGI DEL I ORDINE
La composizione di frasi atomiche mediante connettivi ha una dimostrazione
induttiva, lasciata per esercizio.
Osservazioni.
Questo teorema evidenzia limportante delle variabili libere rispetto a
quelle condizionate.
Se linsieme delle variabili libere e vuoto, linterpretazione del linguaggio
e indipendente dallassegnazione

Osservazioni. Sia data la frase : (x)A(x) (y)B(y). Questa frase


contiene due variabili x, y, entrambe vincolate. In questo caso T
v
() = 0, e
qualunque interpretazione non dipende dallassegnazione.
Si considerino ora le due frasi:
= (x)(y)A(x, y) e = (y)(x)A(x, y)
Esse contengono le stesse variabili, quanticate allo stesso modo. Eppure, il
loro signicato e profondamente diverso: se si attribuisce il signicato amare
alla preposizione A(, ), esse si possono tradurre come:
: per ogni x ce almeno un y che e amato da lui. Cioe ogni x ama
qualcuno, non necessariamente lo stesso y per x dierenti.
: esiste un y che e amato da ciascun x. Cioe per ogni x, lo stesso y e
amato da questo; cioe ce un y amato da tutti.
Si osservi come il signicato di sia pi u restittivo di quello di : nel secondo
caso, infatti, ogni x si trova ad amare la stessa persona. Cioe ce una relazione
di consequenzialit` a semantica tra le due frasi, ma in un solo verso: [= ma
,[=
Dal punto di vista semantico, la frase signica che per ogni p
i
/ esiste
almeno un q
i
/ tale che la coppia (p
i
, q
i
) A
M
; mentre la frase signica
che esiste un q costante tale che la coppia (p
i
, q) A
M
. Se si visualizzasse tale
situazione su di un piano, il dominio della frase sarebbe un sottonsieme del
piano (x, y), mentre il dominio della frase sarebbe una retta allinterno dello
stesso piano.
Ora, valgono per i linguaggi predicativi tutte le equivalente introdotte nella
discussione dei linguaggi proposizionali. Ma a queste vanno aggiunte le eventuali
equivalenze che si generano con lintroduzione dei quanticatori: essi infatti non
possono essere scambiati tra loro indiscriminatamente, quando sono di natura
dierente.
1. L
A
, x , T
V
() : = (x) = (x). Se cioe una variabile
e vincolata, o non e presente, la sua quanticazione non produce alcun
cambiamento nel valore di verit` a della frase.
3.2. SEMANTICA DI UN LINGUAGGIO DEL PRIMO ORDINE. 35
2. Interazioni quanticatori - negazione
(x)() x()
(x)() x()
3. Interazione quanticatori - congiunzione/disgiunzione
(x)( ) (x)() (x)()
(x)( ) (x)() (x)()
Per le successive uguaglianze bisogna considerare le condizioni in cui
vanno applicate:

(x)( ) (x)() (x)()


(x)( ) (x)() (x)()

(, ) L
A
, x
i
, F
V
()
4. Interazione quanticatori - implicazione

(x)() (x)( )
(x)() (x)( )

(, ) L
A
, x , F
V
()

(x)() (x)( )
(x)() (x)( )

(, ) L
A
, x , F
V
()
Osservazioni. (x)(y)A(x, y) (x)(y)A(x, y) (x)(y)A(x, y)
Varianti alfabetiche.
Siano date le due frasi:
= (x)A(x) = (y)B(y)
Ci si pu` o domandare se le due frasi siano equivalenti, una volta che - ad esempio
nella prima - si sia sostituita ogni occorrenza di x con una occorrenza di y:
indicheremo con la scrittura [y[x] tale sostituzione Nel caso considerato, la
risposta e aermativa, ma in generale essa non lo sar` a: si consideri infatti la
seguente equivalenza (errata!): data = (x)((x)A(y, x)) si consideri:
(y)[y[x] = (y)((y)A(y, y))
e evidente come tale uguaglianza generi una frase che non ha pi u il signicato
che aveva in precedenza! Nel caso pi u generale e dunque necessario valutare le
occorrenze libere di una variabile che sono C - comandate dal quanticatore, e
sostituirle con una nuova variabile (che cioe non occorre in precedenza in ):
z
z

[z[x]
x
x

ove z non occorre in .


Esempio.
(x)A(x) (x)B(x) (x)(A(x) (x)B(x))
(x)(A(x) (z)B(z)) (x)(z)(A(x) B(z))
36 CAPITOLO 3. LINGUAGGI DEL I ORDINE
3.2.3 Enunciati e variabili libere.
Denizione 3.12 enunciato Si denisce enunciato una frase che non contiene
variabili libere.
Si consideri ora una frase che, al contrario, contiene k variabili libere:
F
V
() = x
1
, x
2
, ..., x
k
. Essa pu` o essere ricondotta in forma di enunciato
vincolando tutte le k - occorrenze con altrettanti quanticatori. Cos, per una
frase con una sola variabile libera, sar` a possibile creare due enunciati:
: F
V
() = x

(x)A(x)
(x)A(x)
In generale, per k variabili libere, il numero di possibili enunciati e dato dalle-
spressione 2
k
k!, che rapidamente diventa molto grande.
Denizione 3.13 chiusura esistenziale, chiusura universale Sia data L
A
; si
deniscono:
chiusura universale di , indicata dalla scrittura

lenunciato che si
ottiene vincolando con un quanticatore universale tutte le variabili libere
in
chiusura esistenziale di , indicata dalla scrittura

lenunciato che
si ottiene vincolando con un quanticatore esistenziale ogni variabili libere
in
Valgono i due seguenti teoremi:
Teorema 3.2.2
e soddisfacibile se e soltanto se lo e la sua chiusura esistenziale
Teorema 3.2.3
e una tautologia se e soltanto se lo e la sua chiusura universale
Dimostrazione.
Diamo un esempio dimostrativo del primo teorema enunciato: sia data una frase
per cui T
V
() = x, y, e dimostriamo la doppia implicazione:
e soddisfacibile

e soddisfacibile
Verichiamo entrambe le direzioni:
v
M,
() = 1 = v
M,
(x)(y)() = 1 e banalmente vericata. Infatti,
per lipotesi, esiste certamente almeno una coppia (p, q) M tale che
v
M,(x|p)(y|q)
() = 1. In questo caso, e suciente porre: p = (x), q =
(y).
Nel secondo caso, v
M,
(x)(y)() = 1 signica che esiste una qualche
assegnazione per cui v
M,(x|p)(y|q)
() = 1. Pu` o accadere che ,= , cioe
limplicazione vale ugualmente, ma non necessariamente attraverso la stes-
sa assegnazione; esiste per` o certamente una struttura /

ove luguaglianza
e vericata.
3.3. ALGORITMO DI SK

OLEM 37

Teorema 3.2.4 Dato un insieme di frasi , tale insieme e soddisfacibile se e


soltanto se lo e linsieme

=

[ .
Dimostrazione.
Segue direttamente dalla denizione di soddisfacibilit` a per un insieme di frasi,
e dal teorema dimostrato appena sopra.
3.3 Algoritmo di Sk olem
3.3.1 Forma normale prenessa.
Denizione 3.14 forma normale prenessa Data una frase si dice forma nor-
male prenessa una frase equivalente alla data dove i quanticatori sono al-
linizio della stessa.
Ogni frase pu` o essere riportata in forma normale prenessa, mediante succes-
sive applicazioni delle equivalenze semantiche esposte in precedenza, a patto di
prestare la dovuta attenzione alle situazioni in cui si rende necessario lutilizzo
di una variante alfabetica.
Illustriamo la procedura con un esempio: sia data la frase
( x

3
A(x, y) y

4
B(x, y)) x

1
( z

2
C(x, z))
Si portano ora in testa i quanticatori nellordine segnato. Per estrarre il
primo quanticatore, bisogna osservare che una variabile x compare nei predicati
A, B, ma non ovviamente la stessa x, poiche il quanticatore (1) non C -
comanda sui predicati A, B e pertanto la sua estrazione comporta luso di una
variante alfabetica, che permette di non vincolare anche queste occorrenze. Sia
ad esempio la variabile t:
t

( x

3
A(x, y) y

4
B(x, y)) ( z

2
C(t, z))

Allo stesso modo si pu` o estrarre z, ma dal momento che in questo caso lunica
occorrenza di una qualche z e solo nella frase C - comandata dal quanticatore
da estrarre, questo pu` o essere estratto semplicemente:
tz

( x

3
A(x, y) y

4
B(x, y)) C(t, z)

Lestrazione di (3), poiche esso non C - comanda la x in B, va realizzato


mediante lutilizzo di una variante alfabetica, ad esempio la variabile s:
38 CAPITOLO 3. LINGUAGGI DEL I ORDINE
tzs

(A(s, y) y

4
B(x, y)) C(t, z)

Lestrazione di (4) va fatta in due tempi: esso va estratto progressivamente


da tutte le frasi in cui e contenuto, vericando di volta in volta la necessit` a
dellutilizzo di una variante. Nel primo caso si render` a necessaria (r)...
tzs r(A(s, y) B(x, r)) C(t, z)
...nel secondo caso invece no:
tzsr (A(s, y) B(x, r)) C(t, z)
Questultima espressione e la forma normale prenessa della frase iniziale: si
osservino i quanticatori tutti sulla sinistra.
Esercizio.
Riportare i forma normale prenessa la seguente frase:
((t)A(t, y) (y)B(x, y)) (x)(z)C(x, z)

3.3.2 Algoritmo di Sk olem


Lalgoritmo di Sk olem e una procedura che permette di cancellare tutti i quan-
ticatori esistenziali di una frase in forma normale prenessa.
La procedura funziona nel modo seguente: si scorrono tutti i quanticatori:
quando si incontra un quanticatore universale lo si tralascia
quando si incontra un quanticatore esistenziale lo si cancella e si sos-
tituiscono tutte le occorrenze della variabile quanticata con una nuova
funzione delle variabili quanticate dai quanticatori a sinistra di quello
cancellato
Unapplicazione, sullesempio introdotto in precedenza, e la seguente:
tzsr (A(s, y) B(x, r)) C(t, z)
Eliminando la variabile quanticata z:
tsr (A(s, y) B(x, r)) C(t, f(t))
Eliminando la variabile quanticata s:
tr (A(g(t), y) B(x, r)) C(t, f(t))
Eliminando la variabile quanticata r:
t (A(f(t), y) B(x, h(t))) C(t, f(t))
3.3. ALGORITMO DI SK

OLEM 39
Questultima espressione corrisponde alla frase sk olemizzata, anche indi-
cata con
S
Vediamo un altro esempio:
xyztsA(x, y, t, z, s)
Eliminando la variabile quanticata z:
xytsA(x, y, t, f(x, y), s)
Eliminando la variabile quanticata s:
xytA(x, y, t, f(x, y), g(x, y, t))
Lultima espressione e in forma di Sk olem.
Osservazioni.
Ogni funzione introdotta in sostituzione delle variabili quanticate deve
essere una funzione che non appartiene gi` a al vocabolario; per cui il vo-
cabolario delle frasi in forma sk olemizzata pu` o essere pi u ampio di quello
delle frasi originarie.
Una frase sk olemizzata e in forma di enunciato universale. Si pu` o ot-
tenere un enunciato universale da qualunque frase di un linguaggio del
primo ordine applicando di seguito la procedura di normalizzazione e di
sk olemizzazione.

Teorema 3.3.1 Se una frase e soddisfacibile, allora lo e anche la sua cor-


rispondente sk olemizzata.
Dimostrazione.
Si consideri lenunciato (x)A(x) e i due casi:
a e una costante del linguaggio L
A
a non e una costante del linguaggio
(primo caso):
Sia A(a) una frase soddisfacibile. Signica che esiste una struttura / =
(M, g) nella quale a
M
A
M
M. Esiste certamente una seconda struttura
/

= (M

= M, g

= g) ed una seconda assegnazione : 1 M tale che, per un


qualche p M

, valga che (p) = a


M
. In questo caso, allora, v
(M

,)
(x)A(x) =
1.
Viceversa, sia soddisfacibile la frase quanticata. Esiste certamente un ele-
mento delluniverso del discorso p M per cui A(p) = 1. Ponendo allora a = p
mediante una funzione g =

per costanti ,= a
p per costanti = a
si ottiene una struttura
(/, g) nella quale luguaglianza e vericata.
40 CAPITOLO 3. LINGUAGGI DEL I ORDINE
(secondo caso): Ora a non e una costante del linguaggio. Ci` o signica che
il procedimento di sk olemizzazione introduce nuove costanti allinterno dellal-
fabeto del linguaggio. Si supponga per semplicit` a che ( = . Il vocabolario di
A(a) sar` a allora del tipo: / = (( =a, 1, T, T).
Sia ora soddisfacibile la frase quanticata. Allora esiste una struttura /
con g : A A
M
M ed una assegnazione tale che v
(M,)
(x)A(x) = 1, cioe
esiste un p tale che p M p A
M
. In questo caso esiste certamente una
seconda struttura / = (M, g) (dierente dalla prima) ove g =

g su T, T
g(a) = p
,
per la quale A(a) e soddisfacibile.
Viceversa, sia soddisfacibile la frase non quanticata. Allora esiste certa-
mente NON LO SO COSA. DA FARE.
Osservazioni. Sia data la frase: = (x)(y)A(x, y). La relativa frase
sk olemizzata e:
S
= (x)A(x, f(x)), ove la funzione f T se e soltanto se
linsieme T contiene funzionali ad un posto, in caso contrario f e una nuova
funzione. Segue un secondo esempio di dimostrazione.
3.3.3 Teorema di Herbrandt - Sk olem
Questo importante teorema riconduce il problema della soddisfacibilit` a di un in-
sieme di frasi del primo ordine alla soddisfacibilit` a di un corrispondente insieme
di frasi del linguaggio proposizionale, che pu` o essere poi elaborato sintattica-
mente con i metodi introdotti nel precedente capitolo.
Sia dato un linguaggio del primo ordine L
A
, con un vocabolario che contiene
un insieme di costanti non vuoto.
Si denisce linsieme H
A
, insieme dei termini del linguaggio dato che non
contengono variabili. Vale di conseguenza che H
A
Ter(L
A
).
Si denisce poi un insieme B
A
, insieme delle frasi atomiche del linguaggio
dato che non contengono variabili.
Osservazioni. Sia dato un alfabeto /, ove: ( = a, b, T = f() cioe un
funzionale unario, e T = A(, ), cioe un predicato a due posti. Allora:
H
A
= a, b, f(a), f(b), f(f(a)), f(f(b), ...
In generale, quando linsieme dei funzionali non e vuoto, linsieme H
A
sar` a
innito. Poi:
B
A
= A(a, b), A(b, a), A(f(a), b), A(a, f(b)), ...
Anche in questo caso, linsieme sar` a innito quando esiste almeno un funzionale
nellalfabeto.
Osservazioni. Detto L
BA
il linguaggio proposizionale generato dallinsieme
B
A
, vale che L
BA
L
A
.
3.4. METODI SINTATTICI AL PRIMO ORDINE. 41
Denizione 3.15 espansione di Herbrandt Sia ora un insieme di enunciati
universali (in forma prenessa) di L
A
. Si dice espansione di Herbrandt di
un enunciato universale linsieme denito ricorsivamente come segue:
se in non gurano quanticatori, lespansione coincide con stesso:
Her() =
se contiene quanticatori, sar` a nella forma: = x
1
x
2
...x
k
. In
questo caso Her() = B[t
1
[x
1
, t
2
[x
2
, ..., t
n
[x
n
], con (t
1
, ..., t
k
) H
A
Osservazioni. Sia data la frase: = (x)(y) [(x = y) A(x, y)] Lespan-
sione di Herbrandt di questa frase e allora:
Her(a) = (a = b) A(a, b); (a = a) A(a, a); a = f(b) A(a, f(b)); ...

Per linsieme dato di frasi, si pone: Her() =

Her()
Teorema 3.3.2 (di Herbrandt - Sk olem) Un insieme di frasi e soddis-
facibile in L
A
se e soltanto se lo e la corrispondente espansione di Herbrandt
Her()
Dimostrazione.
Sia un insieme di frasi di un linguaggio del primo ordine. Si ponga ogni frase
dellinsieme in forma normale prenessa, ottenendo linsieme
f.n.p.
. Si realizzi
la chiusura esistenziale di tutte le frasi di questo nuovo insieme, ottenendo un
terzo insieme

f.n.p.
. Linsieme nora ottenuto e soddisfacibile se e solo se lo
e linsieme iniziale, per quanto visto in precedenza. Si sk olemizzi ogni frase
dellultimo insieme. Si ottiene un nuovo insieme

= (

f.n.p.
)
S
; tale insieme e
composto di soli enunciati universali.
Ora, ogni frase di questo nuovo insieme deve essere espansa in forma di Her-
brandt.

E immediato intuire per la denizione di soddisfacibilit` a applicata ad
una frase quanticata universalmente, che tale frase e soddisfacibile se e soltanto
se lo e la relativa espansione di Herbrandt: basta infatti porre M = H
A
per cui
ogni assegnazione avr` a valori in H
A
. Tuttavia, come dimostrato in preceden-
za, tale insieme e generalmente innito, per cui la valutazione della soddisfaci-
bilit` a di una frase quanticata universalmente e di conseguenza impossibile in
un tempo nito.
Siano dati un insieme di enunciati universati

S: ad esso si pu` o associa-
re linsieme Her(

S), ottenuto mediante espansione di Herbandt. Allenunciato


universale x
1
...x
k
corrisponde [t
1
[x
1
, t
2
[x
2
, ..., t
n
[x
n
] ove t
1
, ...t
k
Ter(L
A
)
non contengono variabili. A cui corrisponde una clausola di un linguaggio propo-
sizionale.
3.4 Metodi sintattici al primo ordine.
I metodi sintattici enunciati nel contesto dei linguaggi proposizionali hanno
un corrispettivo allinterno dei linguaggi predicativi. Prima di enunciare in
42 CAPITOLO 3. LINGUAGGI DEL I ORDINE
dettaglio come questi metodi vengono realizzati al primo ordine, enunciamo un
teorema e alcune denizioni che saranno utili in seguito.
3.4.1 Compattezza semantica.
Il seguente teorema enuncia un criterio per valutare la soddisfacibilit` a di un
insieme innito.
Teorema 3.4.1 (di compattezza semantica) Sia un insieme innito di
frasi. e soddisfacibile se e soltanto se ogni sottoinsieme nito

lo e.
Dimostrazione.
Limplicazione verso destra e immediata. Sia ora

un sottoinsieme nito
di . Dimostreremo che, se ogni sottoinsieme nito e soddisfacibile allora anche
e soddisfacibile. O, il che e equivalente, che se e insoddisfacibile allora esiste
almeno un sottoinsieme

che lo e.
Per assurdo, sia dunque un insieme insoddisfacibile. Allora
DN
cioe
esiste un albero nito che ha come radice lassurdo e nodi terminali in . Sia

linsieme delle foglie di questo albero: allora

DN
=

[=, cioe

e
insoddisfacibile.
3.4.2 Sostituzioni.
Sia dato un insieme di variabili 1

1. Si denisce sostituzione il seguente


operatore:
= t
1
[x
1
, t
2
[x
2
, ..., t
n
[x
n

ove:
x
j
1

, i ,= j x
i
,= x
j
t
j
Ter(L
A
)
Osservazioni.

E denita anche la sostituzione nulla : essa e tale per cui
t
j
= x
j
j.
Sia ora data unespressione E del linguaggio L
A
(cioe un termine, o una
frase atomica o una sua negazione), ed una qualche sostituzione ; allora E
e una nuova espressione ottenuta sostituendo ogni occorrenza della variabile x
j
con il corrispondente termine t
j
.
Osservazioni. Sia data lespressione E = A(x, y) e la sostituzione =
u[x, g(z)[y. Lespressione E = A(u, g(z)). Su una dierente espressione E

=
B(f(x), y, t) la stessa sostituzione agisce come segue: E

= B(f(u), g(z), t).

E possibile eettuare pi u sostituzioni: date due sostituzioni , si denisce


sostituzione prodotto = :
se una delle due sostituzioni e la sostituzione nulla, la sostituzione prodotto
e uguale allaltra.
3.5. METODO DI RISOLUZIONE AL PRIMO ORDINE. 43
se entrambe le trasformazioni sono non nulle, siano esse allora = t
1
[x
1
, t
2
[x
2
, ..., t
k
[x
k

e = s
1
[y
1
, s
2
[y
2
, ..., s
h
[y
h

1. si applica la seconda trasformazione ad ogni termine della prima; si


inserisce in fondo la seconda trasformazione:
t
1
[x
1
, t
2
[x
2
, ..., t
k
[x
k
, s
1
[y
1
, s
k
[y
k

2. si cancellano i termini del tipo s


i
[y
i
se y
i
e uguale ad un qualche x
j
:
ad essi corrispondono sostituzioni doppie per uno stesso termine x
j
3. si cancellano i termini t
j
[x
j
se t
j
= x
j
: ad essi corrispondono
sostituzioni nulle.
i termini rimasti costituiscono la sostituzione prodotto.
Per come e denita, la sostituzione prodotto gode delle seguenti propriet` a:
1. (E) = E()
2. propriet` a associativa: () = ()
3.4.3 Unicazione.
Dato un insieme di espressioni E = E
1
, ..., E
k
, esso si dice unicabile se
esiste almeno una sostituzione tale che:
E
1
= E
2
= ... = E
k

e detto unicatore dellinsieme E.


Osservazioni. Siano date le espressioni: E
1
= A(x), E
2
= A(f(y)). Per
= f(y)[x vale che E
1
= E
2
= A(f(y)).
Siano date invece le espressioni: E
1
= A(x), E
2
= A(f(x)). Qualunque sos-
tituzione del tipo

= t[x si ottengono le espressioni: E


1

= A(t), E
2

=
A(f(t)) che non sono unicabili.
Teorema 3.4.2 Se E
1
, ..., E
k
sono espressioni unicabili, allora tra gli uni-
catori di queste espressioni ne esiste uno pi u generale degli altri, nel senso che
se e un altro unicatore di queste espressioni allora = per qualche .
3.5 Metodo di risoluzione al primo ordine.
In un linguaggio L del primo ordine il vocabolo letterale identica una frase
atomica o la sua negazione, come nel caso proposizionale. Una clausola e
analogamente un insieme nito e non vuoto di letterali. Laspetto al tempo
stesso critico e fondamentale e nella nuova denizione di clausola ottenuta per
risoluzione.
Denizione 3.16 risoluzione per clausole Siano date due clausole C
1
, C
2
non
vuote, ed una terza clausola C. Si dice che C e deducibile per risoluzione da
C
1
, C
2
quando:
44 CAPITOLO 3. LINGUAGGI DEL I ORDINE
1. (separazione delle variabili): esistono due sostituzioni
1
,
2
tali che C
1

1
e C
2

2
non hanno variabili in comune
2. Ce un numero nito di letterali l

1
, l

2
, ..., l

k
C
1

1
con k 1 ed un
numero nito di letterali l

1
, l

2
, ..., l

h
C
2

2
con h 1 tali che linsieme

1
,

l

2
, ...,

l

k
, l

1
, l

2
, ..., l

h
e unicabile mediante una qualche sostituzione ;
sia lunicatore pi u generale per linsieme di letterali considerato
3. La clausola C ha il seguente aspetto:
C [(C
1

1
l

1
, ..., l

k
) (C
2

2
l

1
, ..., l

h
)]
Sia dato ora un insieme di clausole L
A
e C una clausola. La scrittura
S
R
C (che si legge C e derivabile per risoluzione da ) signica:
C
C , ed esiste un albero di risoluzione con radice C e foglie in
Si osservi in primo luogo che, ad ogni clausola, corrisponde un enunciato
universale. Dato infatti un insieme di frasi, la sua chiusura esistenziale e
ugualmente soddisfacibile o insoddisfacibile. Da questa, attraverso la procedura
di normalizzazione (forma normale prenessa) e di seguito la procedura di sk olem-
izzazione ottengo un insieme

di enunciati universali; anchesso soddisfacibile
se e soltanto se lo e linsieme iniziale.
Ognuna delle frasi di questo nuovo insieme sar` a del tipo:
(x
1
)(x
2
)...(x
k
)
Si pu` o riportare in forma normale congiuntiva, per cui:
(x
1
)(x
2
)...(x
k
)(
1

2
...
p
)
ove il singolo a
j
e una disgiunzione nita di letterali al primo ordine.
Per una delle equivalenze semantiche introdotte in precedenza, vale che:
(x
1
)...(x
k
) = (x
1
)...(x
k
)
1
... (x
1
)...(x
k
)
p
=
ove ad ogni
j
corrisponde una clausola:
j
l
1
, ..., l
k

Teorema 3.5.1 Sia un insieme di clausole. Se e insoddisfacibile, allora


S
R
2, e viceversa.
Dimostrazione.
Il teorema precedente ha un duplice signicato, per ciascuno dei due versi
dellimplicazione:
Ci` o che e deducibile sintatticamente lo e anche semanticamente (facile)
Ci` o che e deducibile semanticamente si deduce anche sintatticamente (dif-
cile, lo dimostriamo di seguito)
Il passaggio critico consiste nel dimostrare che esiste un albero di prova del
linguaggio proposizionale che si pu rimontare al primo ordine. Per ottenere
questo importante risultato, dobbiamo prima enunciare il seguente:
3.5. METODO DI RISOLUZIONE AL PRIMO ORDINE. 45
Lemma 3.1 (Lifting - lemma) Siano dati C

1
, C

2


S, C

L
A
e sia possi-
bile la derivazione C

1
, C

2
C

mediante risoluzione [proposizionale]; allora


esiste una clausola C L
A
di cui C

e espansione di Herbrandt (cioe C

= C)
C che e ottenuta per risoluzione al primo ordine da C
1
, C
2
Questo lemma aerma perci` o che, date tre clausole di un linguaggio propo-
sizionale, delle quali la prima sia deducibile per risoluzione dalle altre due, se es-
istono due trasformazioni
1
,
2
tali che valgano le uguaglianze C

1
= C
1

1
, C

2
=
C
2

2
allora esiste certamente una trasformazione che fa corrispondere alla
clausola derivata del linguaggio proposizionale una clausola derivata al primo
ordine; questo permette di ricostruire al primo ordine un albero di risoluzione
ottenuto nel corrispondente linguaggio proposizionale.
Dimostrazione.
Si pu` o supporre, senza perdere di generalit` a, che C
1
, C
2
non abbiano variabili
in comune. Allora, posto =
1

2
valgono le seguenti uguaglianze: C

1
= C
1
,
C

2
= C
2
. Cioe: esistono unsieme di letterali in C
1
che possono essere unicati
tramite , e analogamente per C
2
:
l

1
, l

2
, ..., l

m
C
1
l

j
=

l j = 1, ..., m
l

1
, l

2
, ..., l

n
C
2
l

i
= l i = 1, ..., n
allora l

1
, ..., l

m
, l

1
, ..., l

n
`e unicabile e e un unicatore.
Sia ora un unicatore generale, tale cioe che = Allora:
C

= (C

l) (C

2
l) = (C
1

l) (C
2
l) =
= (C
1
l

1
, ..., l

m
) (C
2
l

1
, ..., l

m
) =
= (C
1
l

1
, ..., l

m
) (C
2
l

1
, ..., l

m
) = C
ove
C = (C
1
l

1
, ..., l

m
) (C
2
l

1
, ..., l

m
)
e una clausola al primo ordine.

E molto pi` u semplice dimostrare la seconda parte del teorema, e cioe che:
S
R
2 = S e insoddisfacibile.
Infatti, se la clausola vuota pu` o essere dedotta dallinsieme S, allora esiste
un albero di risoluzione che, ad ogni terna di nodi (C, C
1
, C
2
), - ove ad ogni
nodo corrisponde una clausola - per cui valga che C
1
, C
2
C, allora esistono
certamente
C
,
C1
,
C2
tali che
C1
,
C2
[=
C
.
Lemma 3.2 (di correttezza) Siano date C, C
1
, C
2
clausole al primo ordine:
se C
1
, C
2
R
C allora
C1
,
C2
[=
C

Dimostrazione.
dimostrare per esercizio.
Osservazioni.
Dato il seguente insieme di frasi:
46 CAPITOLO 3. LINGUAGGI DEL I ORDINE
1. : Ogni uomo e stupido
2. : Qualche uomo e disonesto
3. : Qualche uomo e stupido e disonesto
dimostrare che , [=
Questo signica dimostrare che linsieme , , e insoddisfacibile. As-
sumeremo i predicati:
U(*): ... e un uomo
S(*): ... e stupido
D(*): ... e disonesto
Per cui le frasi si possono tradurre in logica del primo ordine come segue:
1. (x)(U(x) S(x))
2. (y)(U(x) D(x))
3. (z)(U(x) S(x) D(x))
Si riconducano queste tre frasi in forma di enunciato universale:
La prima e gi` a in forma di enunciato universale; da essa si ricava la clausola
C
1
= U(x), S(x).
La seconda deve prima essere sk olemizzata, e d` a origine a due clausole:
C
2
= U(a), C
3
= D(a).
La terza deve essere prima posta in forma negata, e d` a origine ad una
clausola: C
4
= U(x), S(x), D(x)
Dallinsieme di clausole C
1
, C
2
, C
3
, C
4
si deve ora dedurre per risoluzione
la clausola vuota.
Si prendano le clausole C
1
, C
4
. Per la regola di derivazione:
si deve trovare una coppia di trasformazioni (
1
,
2
) tali che la coppia
C
1

1
, C
2

2
non abbia variabili in comune. Ad esempio, si pu` o porre:

1
= y[x,
2
= . In questo modo si ottiene la coppia di clausole:
C
1

1
= U(y), S(y), C
4

2
= U(x), S(x), D(x)
Si considerino i letterali candidati alla cancellazione: nella prima clausola
il letterale S(y), nella seconda clausola S(x). Bisogna trovare un uni-
catore generale per linsieme S(y), S(x). Un possibile unicatore
generale `e ad esempio: = z[x, z[y
Si ottiene in seguito la clausola: C
5
= [C
1

1
S(y), C
2

2
S(x)] =
U(z), D(z)
Si prendano ora le clausole C
2
, C
5
; in questo caso:
Le due clausole sono gi` a a variabili separate; in questo caso assumeremo
dunque che le trasformazioni siano nulle:
1
=
2
=
I letterali candidati alla cancellazione sono rispettivamente: U(a), U(z).
Un unicatore generale e allora: = a[z
3.5. METODO DI RISOLUZIONE AL PRIMO ORDINE. 47
Si ottiene in seguito la clausola: C
6
= [D(z)] = D(a)
Si prendano inne le clausole C
3
, C
6
Le due clausole non contengono variabili. Assumeremo ancora
1
=
2
=
Le due clausole sono gi` a unicate. Per cui assumeremo anche che =
Si ottiene la clausola vuota.

Osservazioni.
1. Lucia ama solo ragazzi sportivi
2. Lucia ama qualche ragazzo
3. Qualche ragazzo e sportivo
Si dimostri che 1, 2 [= 3, ovvero che 1, 2, 3 2. Si assumono i
seguenti predicati:
1. R(*): ... e un ragazzo
2. S(*): ... e sportivo
3. A(*,*): ... ama ...
e la costante L che rappresenta Lucia.
Tradurremo le frasi come segue:
1. [(x)(R(x) S(x))] A(L, x)
2. (x)A(L, x)
3. (x) [R(x) S(x)]
Si osservi che la prima frase poteva essere tradotta anche come:
(x) [A(L, x) (R(x) S(x))]
Tuttavia questa traduzione e pi` u forte della precedente; mentre la prima indi-
viduava un sottoinsieme allinterno dellinsieme dei ragazzi, in particolare quel-
lo dei ragazzi sportivi, questultima traduzione individua il sottoinsieme dei
ragazzi sportivi allinterno delluniverso del discorso, aermando che solo essi
sono amati da Lucia; da questa seconda traduzione non e possibile che Lucia
ami animali, cose, situazioni, ecc..., mentre tutto ci` o non era implicito nella
prima versione. Una terza versione che tiene conto di questa osservazione, e che
e perci` o equivalente alla prima e:
(x) [A(L, x) (R(x) S(x))]
La prima frase origina una clausola C
1
= R(a), S(a), A(L, a) La sec-
onda frase origina due clausole: C
2
= R(a), C
3
= A(L, a) La terza frase
origina una clausola: C
4
= R(x), S(x)
48 CAPITOLO 3. LINGUAGGI DEL I ORDINE
Dalle clausole C
1
, C
4
, mediante trasformazioni
1
=
2
= e = a[x si
ottiene la clausola C
5
= R(a), A(L, a) Dalle clausole C
2
, C
5
, mediante le
trasformazioni
1
=
2
= = si ottiene la clausola C
6
= A(L, a). Da
questultima e dalla clausola C
3
si ottiene, mediante trasformazioni nulle, la
clausola vuota.

Esercizio.
Da ogni gruppo di frasi, derivare lultima del gruppo mediante risoluzione al
primo ordine.
1. Ogni barbiere rade tutti coloro che non si radono da soli
Nessun barbiere rade chi si rade da solo
Non esistono barbieri
2. Antonio non passa lesame, a meno che non risolva tutti i problemi
Se Mario si impegna pi` u di Antonio allora Mario risolve qualche
problema che Antonio non risolve
Chiunque e diverso da Antonio si impegna pi` u di Antonio
Antonio non passa lesame
3. Ogni passeggero che non e membro dellequipaggio viene perquisito
da almeno un poliziotto
Un passeggero o un membro dellequipaggio e un tracante di droga
Ogni poliziotto non corrotto che perquisisce un tracante di droga
lo arresta
Nessun passeggero viene arrestato da alcun poliziotto
Qualche poliziotto `e corrotto o qualche membro dellequipaggio e un
tracante di droga

3.6 Deduzione naturale al I ordine.


Analogamente al caso proposizionale, esiste anche al primo ordine il metodo sin-
tattico di deduzione naturale. Esso e composto di un numero molto superiore di
regole rispetto al metodo di risoluzione per clausole, ma a suo vantaggio non ha
nessuna procedura di inizializzazione dei dati iniziali, poiche opera direttamente
sulle frasi date.
In seguito, scambieremo il simbolo
DN
con , intendendo che la derivazione
e ottenuta mediante deduzione naturale.
Analogamente al caso proposizionale, le regole della deduzione naturale si
suddividono in elementari e condizionali.
3.6. DEDUZIONE NATURALE AL I ORDINE. 49
3.6.1 Regole elementari.
Connettivo di congiunzione:
1. eliminazione della congiunzione: data una congiunzione, ne posso dedurre
ciascuna delle frasi che la compongono.
(, e) :

2. inserimento della congiunzione: date due frasi , , ne posso dedurre


ciascuna delle loro congiunzioni.
(, i) : ,



Connettivo di disgiunzione:
1. eliminazione della disgiunzione: data una disgiunzione, e la negazione di
uno dei disgiunti, ne posso dedurre laltro.
(, e) :
,
DN

,
DN

2. inserimento della disgiunzione: date una frasi , e sempre possibile con-
giungerla ad una qualunque frase :
(, i) :
DN



Connettivo di implicazione:
1. eliminazione dellimplicazione: data una implicazione , e limpli-
cando , e sempre possibile dedurne limplicato; tale regola va sotto il
nome di modus ponens:
(, i.1) : ,
DN

Ancora, data una implicazione, e la negazione dellimplicato, e sempre
possibile dedurne la negazione dellimplicato; tale regola va sotto il nome
di modus tollens:
(, i.2) : ,
DN

2. inserimento dellimplicazione: e una regola condizionale, e verr` a esposta
nel paragrafo successivo.
Connettivo di negazione:
1. eliminazione della negazione: data una frase in forma vera e la stessa in
forma negata, e possibile dedurne lassurdo:
(, e) : ,
DN

50 CAPITOLO 3. LINGUAGGI DEL I ORDINE


2. inserimento della negazione: dato lassurdo, se ne pu` o dedurre qualunque
frase (e la propria negazione):
(, i) :
DN

Quanticatori:
1. eliminazione del quanticatore universale: da una frase universalmente
quanticata posso dedurre una frase che al posto della variabile contenga
un qualunque termine del linguaggio:
(, e) : (x) [t[x] per qualunque termine t Ter(L
A
)
2. introduzione del quanticatore esistenziale: da una frase ove un termine
del linguaggio sostituisce una variabile, posso dedurre che esiste almeno
un termine del linguaggio che rende vera la stessa frase ove non sia stata
eettuata la sostituzione:
(, i) : [t[x] (x) ove t Ter(L
A
)
3.6.2 Regole condizionali.
1. Regola di introduzione dellimplicazione. Dato un insieme di frasi del
linguaggio:
(, i) : ( )
2. Regola di riduzione ad assurdo: da un insieme di frasi posso derivare una
qualunque frase se aggiungendo la negazione di questa ne viene lassurdo,
cioe:
(R.A.A.) :
DN

3. Regola di introduzione del quanticatore universale: da un insieme di frasi


posso introdurre il quanticatore universale su una frase se dallo stesso
insieme posso dedurre la frase ove alla variabile quanticata si sostituisca
una qualche variabile che non compare libera in
(, i) : (x) [y[x]
per ogni y che non occorre libera in
4. Regola di eliminazione del quanticatore esistenziale: da un insieme di
frasi ove ne sia presente una quanticata dal quanticatore esistenziale
posso dedurre una nuova frase, eliminando il quanticatore, se dallo stesso
insieme posso ricavare la nuova frase sostituendo la variabile quanticata
nella frase iniziale per una qualche variabile libera che non occorre libera
ne nellinsieme dato, ne nella frase dedotta:
(, e) : (x) [y[x]
per ogni y che non occorre libera in ,
3.6. DEDUZIONE NATURALE AL I ORDINE. 51
Denizione 3.17 deduzione naturale Sia dato un insieme ed una frase .
e deducibile (per deduzione naturale) da se:
oppure
esiste un albero nito non banale di radice i cui nodi terminali sono in
ed ogni nodo non terminale e ottenuto dai due gli mediante una qualche
regola di Deduzione Naturale.
Teorema 3.6.1 (di correttezza/completezza della deduzione naturale.)
Sia dato insieme di frasi ed una frase . Allora e deducibile sintatticamente
mediante deduzione naturale dallinsieme se e soltanto se e conseguenza
semantica di , e viceversa. Cioe:
DN
[=
Il signicato di questo teorema e duplice: La scrittura

DN
= [=
signica che se e conseguenza semantica di allora essa e anche conseguenza
sintattica dello stesso insieme; questa caratteristica e anche detta propriet` a di
correttezza del metodo di deduzione naturale.
La scrittura

DN
= [=
signica che, se e conseguenza semantica di , allora esiste un albero di pro-
va (in Deduzione Naturale) che lo dimostra sintatticamente, a partire dallin-
sieme ; questa propriet` a e anche detta propriet` a di completezza del metodo
di deduzione naturale.
La propriet` a di completezza ha una dimostrazione molto pi` u complessa
rispetto alla prima.
52 CAPITOLO 3. LINGUAGGI DEL I ORDINE
Appendice A
Esercizi desame.
A.1 Esercizi di risoluzione semantica.
Esercizio.
Si dica se il seguente insieme soddisfacibile:
xA(x, x), xyz[A(x, y) (y, z) A(x, z)], xA(x, f(x))

_ Svolgimento.
Linsieme e soddisfacibile se e soltanto se esiste una struttura ed una interpre-
tazione ove le frasi che lo compongono siano vericate (cioe vere).
Linsieme e composto da tre frasi, di cui analizziamo di seguito il signicato
singolarmente; osserviamo prima di tutto che le tre frasi sono tre enunciati
universali inerenti al solo predicato A(, ):
xA(x, x): signica che il predicato A individua una relazione non rif-
lessiva.
xyz[A(x, y)(y, z) A(x, z)]: signica che il predicato individua una
relazione transitiva.
xA(x, f(x)): signica che, per ogni p /, la coppia (p, f
M
(p)) /
M
Una struttura che soddisfa linsieme di frasi sopra e ad esempio linsieme dei
numeri naturali, ove il predicato A sia la relazione dordine (<, ma non ) e dove
la funzione f(x) sia ad esempio f : x x+1.

E suciente individuare una sola
struttura per dichiarare soddisfacibile linsieme. Si badi, per` o: linsieme dato
non e una tautologia: e infatti possibile individuare una struttura ove qualche
frase non e vericata: ad esempio il predicato di , relazione dordine che pu` o
soddisfare le ultime due frasi, ma non la prima.
Esercizio.
Sia T un connettivo ternario per cui:
v(T(a, b, c)) = 1 v(a) + 2v(b) v(c) 1
53
54 APPENDICE A. ESERCIZI DESAME.
Scrivere T(a, b, c) in una qualsiasi forma normale.
_ Svolgimento.
Si costruisce la tabella di verit` a del connettivo:
v(a) v(b) v(c) T
0 0 0 0
0 0 1 0
0 1 0 1
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

E preferibile la forma normale congiuntiva, per costruire la quale si osservano


le righe ove T ha un valore 0. Da ciascuna riga riga si ottiene un disgiunto di
frasi atomiche, in forma vera se la frase atomica e a 0, in forma negata se la
frase atomica e ad 1. Perci` o si ottiene la seguente espressione per T:
T = (a b c) (a b c) (a b c)

Esercizio.
Sia T un connettivo ternario per cui:
v(T(a, b, c)) = 1 [v(a) v(b)][v(a) + v(b) v(c)] 1
Riscrivere T(a, b, c) usando i connettivi , .
_ Svolgimento.
Si costruisce la tabella di verit` a del connettivo:
v(a) v(b) v(c) T
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 0
1 0 0 0
1 0 1 0
1 1 0 0
1 1 1 0
Come si pu` o osservare, il connettivo produce sempre valore falso. A questo
punto non e dicile creare una frase nella quale siano utilizzati solo i connettivi
indicati, che sia sempre falsa. Ad esempio la frase (a a). Oppure, se si
vuole costruire una frase che contenga tutte e tre le frasi atomiche considerate,
basta costruirne una ove un implicando vero (del tipo a a)) implica una frase
falsa: ad esempio:
(a a) [(b b) (c c)]
A.1. ESERCIZI DI RISOLUZIONE SEMANTICA. 55

Esercizio.
Descrivere tutti i modelli dellenunciato:
xy[A(x, y) A(y, x)]

_ Svolgimento.
Si osservi che la frase data e un enunciato universale: entrambe le variabili sono
quanticate in tutte le loro occorrenze. Per cui linterpretazione non dipende
dallassegnazione, ma solo dal dominio del discorso.
Per cui la frase aerma che, data una qualunque coppia (p, q) M, se la
coppia (p, q) A
M
allora (q, p) , A
M
. Cioe la proposizione A individua una
relazione non simmetrica sullinsieme M. Si osservi inoltre che, qualora si veri-
casse il caso [a[x] = [b[y], cioe si scegliessero le coppie di elementi uguali in M,
si otterrebbe la frase A(x, x) A(x, x), che risulta vera solo quando limpli-
cando e falso, cioe quando (p, p) , A
M
. Perci` o linsieme A
M
M non contiene
le coppie di elementi uguali: A individua allora una relazione non riessiva. In
denitiva, i modelli che soddisfano la frase sono quelli ove la preposizione A
individua una relazione non riessiva e non simmetrica sul dominio del discorso
M: ad esempio, si pensi allinsieme dei numeri naturali ove A sia lusuale re-
lazione di minore.
Esercizio.
Descrivere tutti i modelli dellenunciato seguente:
xy[f(x) = f(y) (x = y)] xy(f(y) = x)

_ Svolgimento.
Si osservi primariamente la struttura della frase: essa contiene le variabili x, y,
entrambe quanticate da un quanticatore universale, per cui la frase e un
enunciato. Questo signica che linterpretazione non dipende dallassegnazione,
ma soltanto dal dominio del discorso M. Allinterno della frase ce un simbolo
funzionale f ad un posto.
La frase e strutturata come congiunto di due sottofrasi, delle quali esamini-
amo rispettivamente il signicato:
f(x) = f(y) (x = y)
signica che (p, q) M se F
M
(p) = F
M
(q) allora p = q. Cioe la funzione f
M
e iniettiva. Si osservi la seconda sottofrase privata della negazione:
xy(f(y) = x)
56 APPENDICE A. ESERCIZI DESAME.
Essa aerma che per ogni p M ce un q M tale che f
M
(q) = p, cioe
la funzione f
M
e suriettiva. Poich`e la frase e negata, la funzione f
M
non e
suriettiva.
In denitiva, si vuole che la funzione f
M
sia iniettiva, ma non suriettiva.
Anche questo si possa vericare, si deve ammettere lesistenza di un dominio
del discorso innito.
Esercizio.
Trasformare la frase seguente in un enunciato universale:
y
(1)
[x
(2)
A(x, y) B(y, x)]
()
y
(3)
[x
(4)
C(x, y) B(x, y)]

_ Svolgimento.
Si osservi che nella frase ce una variabile libera: la variabile x in entrambe le
occorrenze del predicato B. Se poi si costruisce lalbero sintagmatico della frase,
si osserva che il connettivo pi u esterno e una congiunzione (). Si estraggono per
primi i connettivi interni (2,4); poiche essi quanticano rispettivamente solo le
frasi atomiche A(x, x) e C(x, y) e poiche la variabile x e presente in entrambe le
occorrenze del predicato B, si rende necessario luso di una variante alfabetica,
per cui:
y
(1)
t[A(t, y) B(y, x)]
()
y
(3)
s[C(s, y) B(x, y)]
A questo punto si devono estrarre uno per volta i vari quanticatori dalle
due frasi congiunte da (); per i primi due lestrazione e immediata, poiche non
ci sono variabili libere y, t nel secondo congiunto. Si ottiene:
y
(1)
t[A(t, y) B(y, x)]
()
y
(3)
s[C(s, y) B(x, y)]
Lestrazione dei due quanticatori richiede pi` u attenzione, per quel che
riguarda il quanticatore esistenziale (3); infatti esistono ora occorrenze libere
della variabile y nel primo congiunto, che verrebbero erroneamente vincolate se
non si utilizzasse una variante alfabetica. Inne si ottiene:
ytzs[A(t, y) B(y, x)]
()
[C(s, z) B(x, z)]
Sfruttando note equivalente semantiche si ottiene poi la frase:
ytzs[A(t, y) B(y, x)]
()
C(s, z) B(x, z)
A questo punto, prima di trasformare la frase in un enunciato universale e
necessario vincolare loccorrenza libera della variabile x; per un teorema noto
questo verr a fatto anteponendo a monte della frase un quanticatore universale
su quella variabile:
xytzs[A(t, y) B(y, x)]
()
C(s, z) B(x, z)
A questo punto, la frase e gi` a un enunciato: per ottenere un enunciato
universale bisogna ora applicare la procedura di sk olemizzazione: si ottiene
inne lenunciato universale:
yts[A(t, y) B(y, a)]
()
C(s, f(y, t)) B(a, f(y, t))
A.1. ESERCIZI DI RISOLUZIONE SEMANTICA. 57
Si osservi che il vocabolario iniziale della frase era composto come segue:
/ = ( = , T = , T = A, B, C
mentre il vocabolario della sk olemizzata e pi u ampio:
/
S
= ( = a, T = f(, ), T = A, B, C
Se si costruisce linsieme H
A
per la sk olemizzata, cioe linsieme di tutti i
termini di Ter che non contengono variabili, si ottiene:
H
A
= a, f(a, a), f(f(a, a), f(a, a)), ...
Lespansione di Herbrandt della frase si ottiene sostituendo ad ogni variabile
un termine t H
A
.
Esercizio.
Si consideri lenunciato seguente:
= (x(A(x) B(x)) (xA(x) xB(x))
1. Dire se esso e una tautologia.
2. Detta la sk olemizzata della frase, dire se essa e una tautologia.

_ Svolgimento.
Si osservi che lenunciato in questione e composto da due sottofrasi legate tra
di loro da una implicazione. In particolare, la sottofrase (x(A(x) B(x))
implica la sottofrase: (xA(x) xB(x)) Questo signica, per denizione di
implicazione, che:
1. Se limplicando e falso, allora limplicato pu` o essere vero o falso.
2. Se limplicando e vero, bisogna considerare il valore di verit` a dellimplicato
Dunque, se limplicando e vero, ci` o signica che, per ogni p M, se p A
M
allora p B
M
, cioe vale che A
M
B
M
. Quando limplicato e vero, del resto,
signica che, se esiste un p M tale che p A
M
allora esiste un q M tale
che q B
M
, cioe A
M
,= B
M
,= , ma questo e sempre vero, poiche per
limplicando A
M
B
M
.
Ora si porta lenunciato in forma normale prenessa:

= xry[(A(x) B(x)) (A(r) B(y)) =


= xry[(A(x) B(x)) (A(r) B(y))
e di seguito lo si sk olemizza:

() = r[(A(a) B(a)) (A(r) B(b))


Come si vede immediatamente, e possibile eettuare una scelta delle costanti
a, b e della variabile x in modo che la frase non sia sempre vera; per cui essa
58 APPENDICE A. ESERCIZI DESAME.
non e una tautologia.
Esercizio.
Si consideri lenunciato:
[x(A(x) B(x))] [xA(x) xB(x)]
Dire se esso e una tautologia.
_ Svolgimento.
Si consideri, ugualmente allesercizio precedente, il connettivo pi u esterno della
frase, che in questo caso e limplicazione centrale. Se limplicando e falso, la
frase e vera qualunque sia il valore di verit` a dellimplicato. Se al contrario esso
e vero, allora anche limplicando deve essere necessariamente vero.
Se dunque limplicando e vero, ci` o signica che esiste un valore p M tale
che, se p A
M
allora p B
M
, ovvero A
M
B
M
. Si consideri allora limplicato:
esso e a sua volta una implicazione: anche sia vera, a parte il caso in cui la
premessa sia falsa, essa aerma che, dato qualunque p M, se p A
M
allora
per ogni q M vale che q B
M
. Cioe essa aerma che, se A
M
M allora
B
M
M, cioe A
M
B
M
M.
La domanda e dunque: A
M
= B
M
= M e condizione necessaria anche
valga che A
M
B
M
? La risposta e ovviamente no: la seconda e infatti pi` u
restrittiva, rispetto alla prima. Infatti la si potrebbe tradurre nella domanda:
se un primo insieme e incluso in un secondo, allora i due insiemi sono uguali?, la
cui risposta e negativa. Si osservi per` o che limplicazione al contrario ha invece
valore vero: infatti, se due insiemi sono uguali, allora uno di essi e contenuto
nellaltro (e viceversa).
A.2 Esercizi di risoluzione per clausole.
Esercizio.
Si sa che:
1. Ogni gazzella teme chiunque la insegue
2. Ogni leone insegue qualche gazzella o qualche zebra
3. Non ci sono zebre

E possibile dedurne che


qualche gazzella teme qualcuno?
Se no, quale ulteriore informazione aggiunta alle frasi date permette di dedurre
lultima?
_ Svolgimento.
Si utilizzeranno i predicati ad un posto:
A.3. ESERCIZI DI DEDUZIONE NATURALE. 59
1. G(x): x e una gazzella
2. L(x): x e un leone
3. Z(x): x e una zebra
e quelli a due posti:
1. I(x, y): x insegue y
2. T(x, y): x teme y
Tradurremo le quattro frasi come segue:
xy[G(x) I(x, y)] T(y, x)
(xL(x)) [y(G(y) Z(y)) I(x, y)]
xZ(x)
xy(G(x) T(x, y))
Ora, se dalle tre frasi iniziali e possibile dedurre la quarta, questo equivale a
dire che linsieme composto dalle quattro frasi, di cui lultima negata, e insoddis-
facibile. Bench`e tale procedura sia una procedura nita, e comunque di notev-
ole impegno, poiche bisognerebbe individuare linsieme risoluzione, linsieme che
cioe costituisce il limite superiore alla risoluzione per clausole, e vericare se al
suo interno e contenuta la clausola vuota.
Intuitivamente, si pu` o vedere che non `e possibile dallinsieme dato ottenere
la clausola vuota, e bisogna supporre ulteriormente lesistenza di almeno un
leone, cioe: xL(x)

A.3 Esercizi di deduzione naturale.


Esercizio.
Dimostrare che:
C (A D), C (B D), D A
DN
B D

_ Svolgimento.
Ci` o equivale a dimostrare che
C (A D), C (B D), D A, (B D)
DN

60 APPENDICE A. ESERCIZI DESAME.


frasi utilizzate frase dedotta regola utilizzata
B D

D, B (, e)
D, D A

A modus ponens
A, D A D (, i)
A D (A D) equiv. semantica
(A D), C (A D)

C modus tollens
C, C (B D)

B D modus ponens
B D

(B D) equiv. semantica
(B D), (B D) (, i)

Esercizio.
Dimostrare per deduzione naturale che linsieme seguente e insoddisfacibile:
x(M(x) B(x)), x(A(x) M(x)), x(A(x) B(x))

_ Svolgimento.
Per note equivalenze semantiche, linsieme pu o essere riscritto come segue:
x(M(x) B(x)), x(A(x) M(x)), x(A(x) B(x))
Dimostrare che esso e insoddisfacibile equivale a dimostrare che:
x(M(x) B(x)), x(A(x) M(x)), x(A(x) B(x))
DN

La prima operazione da fare e quella di eliminare il quanticatore esisten-


ziale. Secondo la regola condizionale di eliminazione, esso pu o essere sostituito
da una qualsiasi variabile che non compaia libera nelle altre due frasi; ad esempio
sia questa la variabile y, per cui la seconda frase, per (, e) diventer` a:
(A[y[x] M[y[x])
Leliminazione dei quanticatori universali e pi` u immediata, e produce le
due frasi:
(M(x) B(x))[t[x], (A(x) B(x))[s[x]
Ora, nulla vieta di porre t = s = y; infatti, se i quanticatori universali
rendono valida una frase per ogni termine t o s, lo faranno tanto pi` u per il
generico elemento y del dominio del discorso che renda vera la frase quanticata
dal quanticatore esistenziale.
Si ottiene in denitiva linsieme di frasi:
(M(y) B(y)), (A(y) M(y)), (A(y) B(y))
Si osservi che le tre frasi sono ora enunciati. Mediante le usuali regole di
Deduzione Naturale, si ha successivamente:
A.3. ESERCIZI DI DEDUZIONE NATURALE. 61
frasi utilizzate frase dedotta regola utilizzata
(A(y) M(y))

A(y), M(y) (, e)
M(y), (M(y) B(y))

B(y) (, e)
B(y), (A(y) B(y))

A(y) (, e)
A(y), A(y) (, i)

Esercizio.
Dimostrare che:
C (A B), (D B) C, D A
DN
B D

_ Svolgimento.
Per quanto noto dalla Deduzione Naturale, in due passaggi, equivale a di-
mostrare che
C (A B), (D B) C, D A, B, D
DN

frasi utilizzate frase dedotta regola utilizzata


B

, D

B D (, i)
B D, (B D) C

C (, e)
C, C (A B)

A B (, e)
B

, A B A (, e)
D, D A

A (, e)
A, A A A (, i)
A A (, i)