Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
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
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
, /
. Si indichi con /
linsieme dei
nodi di T
, v
per esso,
che soddisfano le regole semantiche sopra esposte. Se:
v
(a) = v
(a), a /
allora v
= v
, v
, per
le quali vale che: v
(a) = v
() = 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
e insoddisfacibile, e
, allora anche
e insoddisfacibile.
Se
e soddisfacibile, e
, allora anche
e soddisfacibile.
= (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
Esercizio.
Vericare che:
a b, a, (b c) d [= d
, (
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).
= 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
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 (
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
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
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)
, a
b c (, e)
b c, (b c) d)
d (, e)
, tale che
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)), ...
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,)
)
(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
(, ) 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
(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
[ .
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)
(A(s, y) y
4
B(x, y)) C(t, z)
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.
= (M
= M, g
,)
(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)); ...
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(
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
DN
=
[=, cioe
e
insoddisfacibile.
3.4.2 Sostituzioni.
Sia dato un insieme di variabili 1
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
e = s
1
[y
1
, s
2
[y
2
, ..., s
h
[y
h
= 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
1
, C
2
S, C
L
A
e sia possi-
bile la derivazione C
1
, C
2
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
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
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
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:
_ Svolgimento.
Ci` o equivale a dimostrare che
C (A D), C (B D), D A, (B D)
DN
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
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
, 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)