Roméo le Crapaud

LOGICA MATEMATICA
Sonia L’Innocente
Corso di Laurea
Informatica e Tecnologie/Informatica Industriale
Argomento 1.
Logica dei Predicati del Primo Ordine
a.a.
2013-2014
Sonia L’Innocente
Sonia L’Innocente (Camerino)
1 / 57
Introduzione
Outline
1
Introduzione
2
Linguaggi e formule
3
Strutture e verità
4
Deduzione Naturale
Sonia L’Innocente
Sonia L’Innocente (Camerino)
2 / 57
Linguaggi e formule
Outline
1
Introduzione
2
Linguaggi e formule
3
Strutture e verità
4
Deduzione Naturale
Sonia L’Innocente
Sonia L’Innocente (Camerino)
3 / 57
Linguaggi e formule
Consideriamo il classico enunciato dei manuali di filosofia:
Socrate è un uomo,
tutti gli uomini sono mortali,
dunque Socrate è mortale.
Un esempio per certi versi analogo è il seguente:
17 è un numero primo,
per ogni numero primo p esiste un numero primo q maggiore di p,
dunque esiste un numero primo maggiore di 17.
Nella logica proposizionale, i due enunciati hanno la stessa struttura,
rappresentata da una formula con tre variabili proposizionali p0 , p1 e
p2 :
(p0 ∧ p1 ) → p2 .
Sonia L’Innocente
Sonia L’Innocente (Camerino)
4 / 57
Linguaggi e formule
Una simile analisi non appare del tutto soddisfacente almeno per due
motivi:
• il primo è che essa si limita alla struttura dell’enunciato, senza
preoccuparsi del contesto; eppure nel primo esempio si parla del
comune destino di ogni uomo, nel secondo di numeri primi: pare
ragionevole trovare un modo di distinguere;
• anche lo stesso studio astratto della struttura dell’enunciato pare
richiedere un esame più fine.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
5 / 57
Linguaggi e formule
Definizione. L’alfabeto della logica dei predicati del primo ordine è
l’unione di 2 insiemi: il primo è composto dai simboli logici
v0 , v1 , . . . , vn , . . . (n ∈ N) variabili individuali,
¬, ∧ connettivi non ..., ... e ...,
(, ) parentesi,
∀
quantificatore universale per ogni ...,
.
=
simbolo di uguaglianza,
il secondo dai simboli extralogici
c0 , c1 , . . . , cn , . . . (n naturale)
costanti individuali,
f0k , f1k , . . . , fnk , . . . (n, k naturali, k > 0)
simboli di operazioni k -arie,
P0k , P1k , . . . , Pnk , . . . (n, k naturali, k > 0) simboli di relazioni k -arie.
Il numero k si dice la arietà di fkn o Pkn .
.
Talora si preferisce omettere il simbolo = di uguaglianza tra i simboli
logici.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
6 / 57
Linguaggi e formule
Definizione. Si dice linguaggio un sottoinsieme L dell’insieme dei
simboli extralogici.
I simboli logici sono invece del tutto generali. Ci si potrebbe tuttavia
chiedere perché non inserire tra i simboli logici anche i connettivi ∨, →,
↔ (... o ..., se ... allora ..., ... se e solo se ...) ed il quantificatore
esistenziale ∃ (esiste ...). Per motivi esclusivamente tecnici (abbreviare
certe dimostrazioni future), preferiremo introdurre questi simboli più
tardi come abbreviazioni di certe combinazioni dei simboli logici sopra
elencati.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
7 / 57
Linguaggi e formule
Esempi
1. Per la proposizione su Socrate (in cui si insiste sull’uomo Socrate e
sulle relazioni 1-arie essere un uomo, essere mortale), conviene
scegliere il linguaggio
L = {c0 , P01 , P11 }
con una costante c0 e due simboli di relazioni 1-arie P01 e P11 .
2. Nella proposizione sui numeri naturali, si parla del numero 17, della
relazione 1-aria essere primo, e della relazione binaria >. Conviene
allora usare il linguaggio
L = {c0 , P01 , P12 }
con c0 costante, P01 simbolo di relazione 1-aria e P12 simbolo di
relazione binaria.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
8 / 57
Linguaggi e formule
Fissiamo un linguaggio L. Definiamo parola di L una sequenza finita di
elementi scelti tra i simboli di L e i simboli logici dell’alfabeto.
Definizione. L’insieme T (L) dei termini di L è il minimo insieme X di
parole di L tale che
(i) ogni variabile individuale è in X ;
(ii) ogni costante di L è in X ;
(iii) se f è un simbolo di operazione k -aria in L e t1 , . . . , tk sono in X ,
allora anche f (t1 , . . . , tk ) è in X .
L’insieme dei termini di L non contenenti variabili si indica con H(L) e si
dice universo di Herbrand di L; i suoi elementi si chiamano termini
chiusi di L.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
9 / 57
Linguaggi e formule
Definizione.
Si dicono formule atomiche di L le parole di L delle seguenti forme:
.
(i) t1 = t2 con t1 , t2 termini di L;
(ii) P(t1 , . . . , tk ) con P simbolo di relazione k -aria in L e t1 , . . . , tk
termini di L.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
10 / 57
Linguaggi e formule
Definizione. L’insieme delle formule di L è il minimo insieme F di
parole di L tale che
(i) ogni formula atomica di L è in F ,
(ii) se α e β sono in F , anche ¬α e α ∧ β sono in F ,
(iii) se α è in F e n è un numero naturale, allora ∀vn α è in F .
Abbreviazioni. Siano α e β due formule di L, n un numero naturale.
Scriveremo
α∨β
per
α→β
α↔β
per
∃vn α
per
¬(¬α ∧ ¬β),
¬α ∨ β,
(α → β) ∧ (β → α),
per
¬(∀vn ¬α).
Sonia L’Innocente
Sonia L’Innocente (Camerino)
11 / 57
Linguaggi e formule
Esempi
1. Sia L = {c0 , P01 , P11 }. Allora
• i termini di L sono le variabili vn (con n naturale) e c0 ; in particolare
H(L) = {c0 };
.
.
• le formule atomiche di L sono vn = vm , vn = c0 , P01 (c0 ), P11 (vn ), . . . (n
e m naturali);
• la proposizione su Socrate si esprime con una formula di L nel modo
seguente:
(P01 (c0 ) ∧ ∀v0 (P01 (v0 ) → P11 (v0 )) → P11 (c0 ).
2. Sia ora L = {c0 , P01 , P02 }. Si ha:
• i termini di L (e H(L)) sono come nell’Esempio 1;
• formule atomiche di L sono P02 (vn , c0 ), P02 (vn , vm ), . . . (n, m naturali);
Sonia L’Innocente
Sonia L’Innocente (Camerino)
12 / 57
Linguaggi e formule
• la proposizione sui numeri primi si esprime nel modo seguente come
formula di L:
(P01 (c0 ) ∧ ∀v0 (P01 (v0 ) → ∃v1 (P01 (v1 ) ∧ P02 (v1 , v0 ))))
→ ∃v1 (P01 (v1 ) ∧ P02 (v1 , c)).
3. Sia finalmente L = {f } con f = f01 simbolo di operazione 1-aria:
• i termini di L sono vn , f (vn ), f (f (vn )), . . . con n naturale, in particolare
H(L) = ∅;
.
• le formule atomiche di L sono vn = f (vm ), . . . (n e m naturali);
• due esempi di formule (non atomiche) di L sono:
.
.
∀v0 ∀v1 (f (v0 ) = f (v1 ) → v0 = v1 ),
.
.
∀v0 (v0 = f (v0 )) → v0 = f (v0 )
(la prima formula esprime il fatto che f è iniettiva).
Sonia L’Innocente (Camerino)
Sonia L’Innocente
13 / 57
Linguaggi e formule
Definizione. Siano n un numero naturale, α una formula del
linguaggio L. Una occorrenza di vn in α si dice
• libera se non è sotto la portata di un quantificatore che la riguarda,
• vincolata altrimenti.
α si dice un enunciato se e solo se nessuna occorrenza di una
variabile in α è libera.
Nell’Esempio 1, tra le formule atomiche elencate soltanto l’ultima è un
enunciato. È invece un enunciato la formula non atomica.
Nell’Esempio 2, le due formule atomiche non sono enunciati, mentre la
formula non atomica è un enunciato. Finalmente, nell’Esempio 3, solo
la penultima formula è un enunciato. Infatti nell’ultima formula la
variabile v0 ha due occorrenze vincolate, ma anche due occorrenze
libere.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
14 / 57
Strutture e verità
Outline
1
Introduzione
2
Linguaggi e formule
3
Strutture e verità
4
Deduzione Naturale
Sonia L’Innocente
Sonia L’Innocente (Camerino)
15 / 57
Strutture e verità
Dobbiamo ora individuare gli osservatori che giudicano una formula.
Definizione. Sia L un linguaggio. Si dice struttura di L una coppia A
formata da un insieme non vuoto A e da una funzione che:
• ad ogni costante c di L associa un elemento c A di A;
• ad ogni simbolo di operazione f di L di arietà k associa una
operazione k -aria f A su A;
• ad ogni simbolo di relazione P di L di arietà k associa una relazione
k -aria P A su A.
In modo meno ufficiale ma più intuitivo, possiamo pensare una
struttura A di L come un insieme A 6= ∅ dove i simboli di L (costanti,
simboli di operazione, simboli di relazione) sono interpretati in
elementi, operazioni, relazioni di A. Scriveremo allora, per denotare A:
(A, (c A )c∈L , (f A )f ∈L , (P A )P∈L ).
Sonia L’Innocente
Sonia L’Innocente (Camerino)
16 / 57
Strutture e verità
Osservazione. Possiamo prolungare la funzione di A all’insieme H(L)
associando ad ogni termine chiuso t di L un elemento t A nel modo che
segue;
• se t è una costante c di L, t A = c A ;
• se t = f (t1 , . . . , tk ) dove f è un simbolo di operazione k -aria in L e
t1 , . . . , tk ∈ H(L), allora t A = f A (t1A , . . . , tkA ).
Sonia L’Innocente
Sonia L’Innocente (Camerino)
17 / 57
Strutture e verità
Esempi
1. Se L = ∅, una struttura di linguaggio L è un insieme A non vuoto.
2. Sia L = {c0 , P01 , P11 }. Allora struttura di linguaggio L è un insieme A
non vuoto, con un elemento privilegiato, e due relazioni 1-arie su A (ad
esempio, si può prendere come A l’insieme di tutti gli esseri viventi,
privilegiando l’elemento Socrate, e considerando le due relazioni
1-arie costituite dall’insieme di tutti gli uomini e dall’insieme di tutti gli
esseri mortali; altro esempio di struttura di L è (N, 0, 2N, {1, 2, 3})).
3. Sia L = {f01 }. Struttura di linguaggio L è un insieme non vuoto A con
una operazione 1-aria su A (ad esempio (N, succ) dove, per ogni
naturale n, succ(n) = n + 1).
Sonia L’Innocente
Sonia L’Innocente (Camerino)
18 / 57
Strutture e verità
Osservazione. In una struttura A, ogni simbolo di L ha una
interpretazione (le costanti in elementi privilegiati, i simboli di
operazione in operazioni, i simboli di relazione in relazioni), allo stesso
modo in cui, in una rappresentazione teatrale di una commedia, ogni
personaggio ha un attore che lo recita. Relativamente ai simboli logici
.
del nostro alfabeto, è chiaro che = sarà interpretato dalla relazione di
uguaglianza = in A. Consideriamo adesso le variabili individuali.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
19 / 57
Strutture e verità
Definizione.
Sia A una struttura di L. Valutazione di A è una funzione s dell’insieme
delle variabili individuali in A.
Si noti che una valutazione s di A si può estendere ad una funzione s
dell’insieme di tutti i termini di L in A ponendo:
• s(vn ) = s(vn ) per ogni n naturale;
• s(c) = c A quando c è una costante di L;
• s(f (t1 , . . . , tk )) = f A (s(t1 ), . . . , s(tk )) quando f è un simbolo di
operazione k -aria di L e t1 , . . . , tk sono termini di L.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
20 / 57
Strutture e verità
Nel seguito identificheremo s e s (a meno che non ci sia pericolo di
confusione). Ovviamente, se t ∈ H(L), s(t) = t A .
Notazione. Siano A una struttura, s una valutazione di A, a ∈ A.
Indicheremo con s(vn /a) la valutazione s0 di A così definita: s0 (vn ) = a
mentre, per ogni naturale m 6= n, s0 (vm ) = s(vm ).
Definiamo adesso quand’è che una formula di L si intende vera in una
struttura A di L rispetto ad una valutazione s di A.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
21 / 57
Strutture e verità
Definizione (Tarski).
Siano A una struttura di L, ϕ una formula di L, s una valutazione di A.
Definiamo
A |=s ϕ
(ϕ è vera in A rispetto a s) per induzione sulla costruzione di ϕ.
.
Supponiamo dapprima ϕ atomica. Se ϕ è t1 = t2 con t1 , t2 termini di L,
poniamo
.
A |=s t1 = t2 ⇔ s(t1 ) = s(t2 );
se ϕ è P(t1 , . . . , tk ) con P simbolo di relazione k -aria in L e t1 , . . . , tk
termini di L, poniamo
A |=s P(t1 , . . . , tk )
⇔
(s(t1 ), . . . , s(tk )) ∈ P A .
Sonia L’Innocente
Sonia L’Innocente (Camerino)
22 / 57
Strutture e verità
Definizione (Tarski).
Supponiamo adesso che ϕ sia ¬α oppure α ∧ β dove α e β sono
formule di L. Poniamo rispettivamente
A |=s ¬α
A |=s α ∧ β
⇔
⇔
A 6|=s α,
A |=s α e A |=s β.
Supponiamo finalmente che ϕ sia ∀vn α dove n è un naturale, ed α è
una formula di L. Poniamo allora
A |=s ∀vn α
⇔
A |=s(vn /a) α per ogni a ∈ A.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
23 / 57
Strutture e verità
Esempi
1. Siano L = {c, f , g, P} dove c è una costante, f e g sono simboli di
operazione binaria e P è un simbolo di relazione binaria,
A = (N, 0, +, ·, ≤), ϕ la formula ∃v1 ¬P(v0 , v1 ), s la valutazione di A
definita ponendo s(vn ) = n per ogni n naturale. Si ha:
A |=s ϕ
se e solo se esiste a ∈ N tale che A |=s(v1 /a) ¬P(v0 , v1 ), dunque se e
solo se esiste a ∈ N tale che A 6|=s(v1 /a) P(v0 , v1 ), e dunque se e solo
se esiste a ∈ N tale che 0 6≤ a. In conclusione A 6|=s ϕ. Altrettanto
avviene per ogni valutazione s di A tale che s(v0 ) = 0.
2. Siano L, A, ϕ come in 1.; supponiamo stavolta s(vn ) = n + 1 per
ogni n naturale. Allora A |=s ϕ se e solo se esiste a ∈ N tale che
1 6≤ a. Siccome 1 6≤ 0, A |=s ϕ; altrettanto vale per ogni valutazione s
di A tale che s(v0 ) = 1.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
24 / 57
Strutture e verità
Esempi
3. Siano L, A come sopra, e sia ϕ la formula ∀v0 ∀v1 P(v0 , f (v0 , v1 )).
Assumiamo poi s(vn ) = n2 + 1 per ogni n naturale. Allora
A |=s ϕ
se e solo se, per ogni scelta di a0 , a1 ∈ N,
A |=s(v0 /a0 )(v1 /a1 ) P(v0 , f (v0 , v1 ))
e dunque se e solo se, per ogni scelta di a0 , a1 ∈ N, a0 ≤ a0 + a1 .
Segue che A |=s ϕ. Ma è evidente che altrettanto accade per ogni
valutazione s di A. Scriveremo allora A |= ϕ (e diremo che ϕ è vera in
A).
Sonia L’Innocente
Sonia L’Innocente (Camerino)
25 / 57
Strutture e verità
Esempi
4. Sia L come sopra; consideriamo A = (N, 0, +, ·, |) (dove | è la
relazione di divisibilità: per ogni scelta di a0 , a1 ∈ N, a0 | a1 se e solo
se esiste q ∈ N tale che a1 = a0 · q). Sia poi ϕ la seguente formula di L:
.
P(v1 , v0 ) ∧ ∀v1 (g(v0 , v1 ) = v1 ).
Sia finalmente s(vn ) = n per ogni n naturale. Allora
A |=s ϕ
se e solo se
.
A |=s P(v1 , v0 ) e A |=s ∀v1 (g(v0 , v1 ) = v1 ),
dunque se e solo se
.
A |=s P(v1 , v0 ) e, per ogni a ∈ N, A |=s(v1 /a) g(v0 , v1 ) = v1 ,
cioè se e solo se
1 | 0 e, per ogni a ∈ N, 0 · a = a.
Sonia L’Innocente (Camerino)
Sonia L’Innocente
26 / 57
Strutture e verità
Esempi
.
Siccome 0 · 1 = 0 6= 1, A 6|=s ϕ perché A 6|=s ∀v1 (g(v0 , v1 ) = v1 )
anche se A |=s P(v1 , v0 ) (ed altrettanto accade per ogni valutazione s
di A tale che s(v0 ) = 0 e s(v1 ) = 1).
5. Siano L, A, ϕ come in 4., ma supponiamo s(vn ) = 1 per ogni n
naturale. Allora A |=s ϕ se e solo se 1 | 1 e, per ogni naturale a,
1 · a = a. Segue che A |=s ϕ (ed altrettanto accade per ogni
valutazione s di A tale che s(v0 ) = s(v1 ) = 1).
Sonia L’Innocente
Sonia L’Innocente (Camerino)
27 / 57
Strutture e verità
Perché si chiama “Logica dei predicati del primo ordine”?
• “Predicato”sta per relazione: si noti infatti che ogni operazione n-aria
f su un insieme A si può pensare come una relazione (n + 1)-aria su A
identificando f con il suo grafico
{(a1 , . . . , an , b) ∈ An+1 : f (a1 , . . . , an ) = b}, e che ogni elemento
privilegiato a in A si può pensare come una relazione 1-aria su A
identificandolo con {a}.
• “Primo ordine”significa che l’uso dei quantificatori ∀ e ∃ nelle formule
è permesso solamente su variabili da interpretare in elementi delle
strutture, e non, ad esempio, su variabili da interpretare in sottoinsiemi
delle strutture. Dunque le seguenti proposizioni sui numeri naturali:
Sonia L’Innocente
Sonia L’Innocente (Camerino)
28 / 57
Strutture e verità
Definizione. Sia ϕ una formula di linguaggio L. Una variabile vn (con
n naturale) si dice libera in ϕ se esiste almeno una occorrenza libera di
vn in ϕ.
Notazione. Se ϕ è una formula di L, e le variabili libere di ϕ sono tra
v0 , . . . , vn , scriveremo (talora) ϕ(v0 , . . . , vn ) invece di ϕ.
Teorema (di coincidenza). Siano L un linguaggio, ϕ(v0 , . . . , vn ) una
formula di L, A una struttura di L, s e s0 due valutazioni di A tali che,
per ogni naturale i ≤ n, s(vi ) = s0 (vi ). Allora A |=s ϕ se e solo se
A |=s0 ϕ.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
29 / 57
Strutture e verità
Il teorema giustifica la seguente abbreviazione.
Abbreviazione. Siano ϕ(v0 , . . . , vn ) una formula di linguaggio L, A
una struttura di L, a0 , . . . , an ∈ A. Allora si pone
A |= ϕ(a0 , . . . , an )
se e solo se A |=s ϕ(v0 , . . . , vn ) dove s è una qualunque valutazione
di A tale che s(vi ) = ai per ogni naturale i ≤ n.
Corollario. Siano A una struttura di L, ϕ un enunciato di L. Allora
A |= ϕ oppure A |= ¬ϕ.
(Ricordiamo che, se α è una formula di L, A |= α significa A |=s α per
ogni valutazione s di A.)
Sonia L’Innocente
Sonia L’Innocente (Camerino)
30 / 57
Strutture e verità
Definizione. Un enunciato ϕ di L è soddisfacibile se e solo se esiste
una struttura A di L tale che A |= ϕ.
Problema della soddisfacibilità per un linguaggio L. Determinare
un algoritmo per decidere, per ogni enunciato ϕ di L, se ϕ è
soddisfacibile o no.
Osservazione. Quando A è una struttura di L e S è un insieme di
enunciati di L, scriveremo A |= S (e diremo che A è modello di S) se e
solo se A |= σ per ogni σ ∈ S.
Definizione. Un insieme S di enunciati di L è soddisfacibile se e solo
se esiste un modello A per S (ovvero una struttura A di L che soddisfa
tutti gli enunciati di S).
Notiamo che,
V se S è finito, allora S è soddisfacibile se e solo se
l’enunciato σ∈S σ è soddisfacibile.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
31 / 57
Strutture e verità
Definizione. Un enunciato ϕ di L è valido se e solo se, per ogni
struttura A di L, A |= ϕ.
Allora si ha chiaramente che ϕ è valido se e solo se ¬ϕ non è
soddisfacibile.
Definizione. Siano ϕ un enunciato di L, S un insieme di enunciati di L.
Si dice che ϕ è conseguenza logica di S (S |= ϕ) se e solo se, per
ogni struttura A di L, se A è modello di S, allora A |= ϕ.
Evidentemente S |= ϕ se e solo se S ∪ {¬ϕ} non V
è soddisfacibile. In
particolare, quando S è finito, S |= ϕ se e solo se σ∈S σ ∧ ¬ϕ non è
soddisfacibile. solo se sono veri nelle stesse strutture di L.
Definizione. Due enunciati ϕ e ϕ0 di L si dicono logicamente
equivalenti se e solo se sono veri nelle stesse strutture di L.
È chiaro che ϕ e ϕ0 sono logicamente equivalenti se e solo se ϕ ↔ ϕ0
è valido:
Sonia L’Innocente
Sonia L’Innocente (Camerino)
32 / 57
Strutture e verità
Un tale algoritmo, se esiste, permette di ottenere con facilità
procedimenti per decidere, per ϕ, ϕ0 enunciati di L e S insieme finito di
enunciati di L:
• se ϕ è valido oppure no;
• se ϕ e ϕ0 sono logicamente equivalenti oppure no;
• se ϕ è conseguenza di S (S |= ϕ) oppure no.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
33 / 57
Strutture e verità
Tutte le precedenti definizioni si possono estendere facilmente a
formule di L (anche con variabili libere).
La differenza è nel fatto che, data una struttura A di L, se ϕ è un
enunciato di L e, per qualche valutazione s di A, A |=s ϕ, allora
A |= ϕ, mentre, se ϕ è una generica formula di L, può accadere che
per qualche valutazione s di A si abbia A |=s ϕ, ma per qualche altra
valutazione s0 di L si abbia invece A |=s0 ¬ϕ, così che non può essere
né A |= ϕ né A |= ¬ϕ.
Diremo
• una formula ϕ di L è soddisfacibile se e solo se esistono una
struttura A di L ed una valutazione s di A tali che A |=s ϕ;
• due formule ϕ e ϕ0 di L sono logicamente equivalenti se e solo se,
per ogni struttura A di L e per ogni valutazione s di A,
A |=s ϕ
⇔
A |=s ϕ0 .
Sonia L’Innocente
Sonia L’Innocente (Camerino)
34 / 57
Strutture e verità
Illustreremo questo strumento tecnico.
Notazione. Siano L un linguaggio, ϕ(v , v0 , . . . , vn ) una formula di L,
t ∈ H(L). Indichiamo con
ϕ(t, v0 , . . . , vn )
la formula di L che si ottiene da ϕ sostituendo v con t in ogni sua
occorrenza libera (allora le variabili libere di ϕ(t, v0 , . . . , vn ) sono tra
v0 , . . . , vn ).
Teorema (di sostituzione). Siano ϕ(v , v0 , . . . , vn ) una formula di un
linguaggio L, t ∈ H(L), A una struttura di L, s una valutazione di A,
s0 = s(v /t A ). Allora
A |=s ϕ(t, v0 , . . . , vn ) ⇔ A |=s0 ϕ(v , v0 , . . . , vn ).
Sonia L’Innocente
Sonia L’Innocente (Camerino)
35 / 57
Strutture e verità
Consideriamo comunque il seguente esempio.
Sia L un linguaggio con una costante c; in L consideriamo la formula
.
ϕ(v , v0 ) : v = v0 (con v 6= v0 ) ed il termine chiuso t = c.
.
Allora ϕ(t, v0 ) è c = v0 . Siano ora A una struttura di L, s una
valutazione di A, s0 = s(v /c A ).
.
Allora A |=s t = v0 se e solo se s(v0 ) = c A . D’altra parte,
s(v0 ) = s0 (v0 ).
.
Dunque A |=s t = v0 se e solo se s0 (v0 ) = c A = s0 (v ), e quindi se e
.
solo se A |=s0 v = v0 .
Sonia L’Innocente
Sonia L’Innocente (Camerino)
36 / 57
Strutture e verità
Teorema di completezza. È possibile definire in modo effettivo
nell’alfabeto della logica dei predicati del primo ordine
• un insieme di funzioni che a certe sequenze ordinate di enunciati
associano nuovi enunciati (regole di deduzione)
e, soprattutto,
• un insieme di enunciati (assiomi logici),
in modo tale che, per ogni tipo τ , se ϕ è un enunciato di τ e S è un
insieme di enunciati di τ , allora S |= ϕ se e solo se S ` ϕ, e cioè esiste
una sequenza finita σ0 , . . . , σn di enunciati di τ tale che σn = ϕ e, per
ogni naturale i ≤ n, σi è in S, oppure è un assioma logico, oppure si
ottiene da enunciati tra σ0 , . . . , σi−1 con l’uso di una regola di
deduzione.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
37 / 57
Strutture e verità
Teorema di compattezza. Sia S un insieme di enunciati di linguaggio
L(S). Allora S è soddisfacibile se e solo se ogni sottoinsieme finito di
S è soddisfacibile.
Diremo che S è finitamente soddisfacibile quando ogni sottoinsieme
finito di S è soddisfacibile.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
38 / 57
Strutture e verità
Proposizione. Siano S un insieme di enunciati di L, ϕ un enunciato di
L. Allora S |= ϕ se e solo se esiste un sottoinsieme finito S0 di S tale
che S0 |= ϕ.
Dimostrazione. Evidentemente S |= ϕ se e solo se S ∪ {¬ϕ} non ha
modello. D’altra parte questo equivale, per il Teorema di compattezza,
ad affermare che esiste un sottoinsieme finito di S ∪ {¬ϕ} privo di
modello, e senza perdita di generalità possiamo assumere che tale
sottoinsieme contenga anche ¬ϕ, e sia dunque della forma S0 ∪ {¬ϕ}
con S0 sottoinsieme finito di S. Segue che S |= ϕ se e solo se esiste
un sottoinsieme finito S0 di S tale che S0 |= ϕ.
a
Sonia L’Innocente
Sonia L’Innocente (Camerino)
39 / 57
Strutture e verità
Osservazioni
1. Se ϕ e ϕ0 sono enunciati di L logicamente equivalenti, allora ϕ è
soddisfacibile se e solo se ϕ0 è soddisfacibile (infatti, per ogni struttura
A, A |= ϕ se e solo se A |= ϕ0 ).
2. Siano α, α0 , β, β 0 formule di L tali che α, α0 sono logicamente
equivalenti, e β e β 0 sono logicamente equivalenti. Allora sono
logicamente equivalenti:
¬α,
¬α0 ,
α ∧ β,
α0 ∧ β 0 ,
α ∨ β,
α0 ∨ β 0 ,
∀v α,
∀v α0 ,
∃v α,
∃v α0 .
Sonia L’Innocente
Sonia L’Innocente (Camerino)
40 / 57
Strutture e verità
Definizione.
Un enunciato ϕ di L si dice universale se e solo se ϕ è della forma
∀v0 . . . ∀vn θ(v0 , . . . , vn )
dove θ(v0 , . . . , vn ) è una formula priva di quantificatori (eventualmente
ϕ è privo di quantificatori).
Teorema. Esiste un procedimento effettivo che ad ogni enunciato ϕ di
L associa un linguaggio L0 ⊇ L ed un enunciato ϕ0 di L0 tali che
• ϕ è soddisfacibile se e solo se ϕ0 è soddisfacibile;
• ϕ0 è universale (ed anzi ϕ0 è della forma
∀v0 . . . ∀vn θ(v0 , . . . , vn )
dove θ(v0 , . . . , vn ) è una congiunzione di disgiunzioni di formule
atomiche o negazioni).
Sonia L’Innocente (Camerino)
Sonia L’Innocente
41 / 57
Strutture e verità
Ecco il procedimento richiesto.
(a) Eliminare ↔ e →.
Basta ricordare che, se α e β sono formule di L, allora α ↔ β e α → β
abbreviano rispettivamente (α → β) ∧ (β → α) e ¬α ∨ β.
(b) Limitare ¬ alle formule atomiche.
Lemma 1. Siano α e β due formule di L. Allora sono equivalenti
(i)
¬¬α,
α,
(ii) ¬(α ∧ β),
¬α ∨ ¬β,
(iii) ¬(α ∨ β),
¬α ∧ ¬β,
¬(∀v α),
∃v ¬α,
(v ) ¬(∃v α),
∀v ¬α.
(iv )
Sonia L’Innocente
Sonia L’Innocente (Camerino)
42 / 57
Strutture e verità
(c) Ribattezzare le variabili in modo che quantificatori distinti riguardino
variabili distinte.
Basta utilizzare il seguente
Lemma 2. Siano α(v0 , . . . , vn , v ) una formula di L, w una variabile
non occorrente in α. Allora sono logicamente equivalenti le formule:
(i) ∀v α(v0 , . . . , vn , v ),
∀w α(v0 , . . . , vn , w),
(ii) ∃v α(v0 , . . . , vn , v ),
∃w α(v0 , . . . , vn , w).
Sonia L’Innocente
Sonia L’Innocente (Camerino)
43 / 57
Strutture e verità
(d) Premettere i quantificatori in modo che, dove possibile, ∃ preceda
∀.
Quel che vogliamo provare è il seguente risultato:
Lemma 3. Siano α e β due formule di L, v una variabile non
occorrente liberamente in β. Sono logicamente equivalenti:
(i) ∀v α ∧ β e ∀v (α ∧ β);
(ii) ∀v α ∨ β e ∀v (α ∨ β);
(iii) ∃v α ∧ β e ∃v (α ∧ β);
(iv ) ∃v α ∨ β e ∃v (α ∨ β).
Sonia L’Innocente
Sonia L’Innocente (Camerino)
44 / 57
Strutture e verità
Con l’uso ripetuto del Lemma 3, possiamo successivamente estrarre
all’inizio di ϕ tutti i quantificatori di ϕ, in modo da ridurlo ad un
enunciato equivalente della forma
(?)
Q0 v0 . . . Qh vh θ(v0 , . . . , vh )
dove θ(v0 , . . . , vh ) è una formula priva di quantificatori, e Q0 , . . . , Qh
stanno per ∀ o ∃. Il precedente passo (c) ha la funzione di preparare ϕ
in modo tale che il Lemma 3 possa essere applicato senza timori
relativi alla condizione su v . Conviene poi, in previsione del prossimo
punto (e), dare la precedenza, nell’uso del Lemma 3, ai quantificatori ∃
rispetto a quelli ∀, naturalmente nei limiti del lecito (sappiamo bene che
.
.
enunciati quali ∃v ∀w(v = w) e ∀w∃v (v = w) non sono equivalenti):
l’esempio che segue il prossimo Lemma 5 illustra anche questo punto.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
45 / 57
Strutture e verità
(e) Eliminare ∃.
Al termine di (d) si è visto che, per controllare la soddisfacibilità di ϕ,
possiamo supporre che ϕ sia della forma:
(?)
Q0 v0 . . . Qh vh θ(v0 , . . . , vh )
dove θ(v0 , . . . , vh ) è priva di quantificatori, e Q0 , . . . , Qh sono
quantificatori (∀ o ∃): infatti è comunque possibile costruire in modo
effettivo un enunciato logicamente equivalente a ϕ della forma (?).
Assumiamo dunque, senza perdita di generalità, che ϕ sia come in (?).
Se Q0 = ∃, ϕ è
∃v α(v )
per una opportuna formula α; altrimenti, per qualche naturale m < h, si
ha che ϕ è
∀v0 . . . ∀vm ∃v α(v0 , . . . , vm , v )
ancora per α opportuna.
Sonia L’Innocente (Camerino)
Sonia L’Innocente
46 / 57
Strutture e verità
Nel primo caso, sia
Lϕ = L ∪ {c}
con c nuova costante: definiamo enunciato di Skolem associato a ϕ,
ed indichiamo Sk (ϕ), l’enunciato
α(c)
di Lϕ . Nel secondo caso, sia
Lϕ = L ∪ {f }
dove f è un nuovo simbolo di operazione (m + 1)-aria: definiamo
enunciato di Skolem associato a ϕ, ed indichiamo Sk (ϕ) l’enunciato di
Lϕ
∀v0 . . . , ∀vm α(v0 , . . . , vm , f (v0 , . . . , vm )).
Lemma 4. ϕ è soddisfacibile se e solo se Sk (ϕ) è soddisfacibile.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
47 / 57
Strutture e verità
Un uso ripetuto del Lemma 4 permette di trasformare l’enunciato ϕ
della forma
(?)
Q0 v0 . . . Qh vh θ(v0 , . . . , vn )
in un altro enunciato ϕ0 in un linguaggio L0 ⊇ L tale che ϕ è
soddisfacibile se e solo se ϕ0 è soddisfacibile e ϕ0 è in forma universale
∀v0 . . . ∀vn θ0 (v0 , . . . , vn )
con n ≤ h e θ0 (v0 , . . . , vn ) formula priva di quantificatori.
(f ) Per completare la dimostrazione del teorema, basterà vedere come
sostituire θ0 (v0 , . . . , vn ) con una formula logicamente equivalente che
sia una congiunzione di disgiunzioni di formule atomiche o negazioni.
Ma questo è possibile per i precedenti passi (a) e (b) e per il seguente.
Lemma 5. Se α, β e γ sono formule, sono logicamente equivalenti:
(i) α ∨ (β ∧ γ), (α ∨ β) ∧ (α ∨ γ);
(ii) α ∧ (β ∨ γ), (α ∧ β) ∨ (α ∧ γ).
Sonia L’Innocente (Camerino)
Sonia L’Innocente
48 / 57
Strutture e verità
Esempio. Sia L = {P, Q}, dove P e Q sono simboli di relazioni di
arietà rispettivamente 2 e 1. Consideriamo in L l’enunciato
ϕ
:
(∃v0 ¬Q(v0 ) ∨ ∀v1 ¬Q(v1 )) → ∀v0 ∀v1 P(v0 , v1 ).
Utilizzando il procedimento del precedente teorema, si ottiene
dapprima con (a)
¬(∃v0 ¬Q(v0 ) ∨ ∀v1 ¬Q(v1 )) ∨ ∀v0 ∀v1 P(v0 , v1 ),
poi da (b)
(¬(∃v0 ¬Q(v0 )) ∧ ¬(∀v1 ¬Q(v1 ))) ∨ ∀v0 ∀v1 P(v0 , v1 ),
(∀v0 ¬¬Q(v0 ) ∧ ∃v1 ¬¬Q(v1 )) ∨ ∀v0 ∀v1 P(v0 , v1 ),
(∀v0 Q(v0 ) ∧ ∃v1 Q(v1 )) ∨ ∀v0 ∀v1 P(v0 , v1 ).
Con (c) si passa a
(∀v0 Q(v0 ) ∧ ∃v1 Q(v1 )) ∨ ∀v2 ∀v3 P(v2 , v3 ),
Sonia L’Innocente (Camerino)
Sonia L’Innocente
49 / 57
Strutture e verità
da cui con (d):
∃v1 (∀v0 Q(v0 ) ∧ Q(v1 )) ∨ ∀v2 ∀v3 P(v2 , v3 ),
∃v1 ∀v0 (Q(v0 ) ∧ Q(v1 )) ∨ ∀v2 ∀v3 P(v2 , v3 ),
∃v1 (∀v0 (Q(v0 ) ∧ Q(v1 )) ∨ ∀v2 ∀v3 P(v2 , v3 )),
∃v1 ∀v0 ∀v2 ∀v3 ((Q(v0 ) ∧ Q(v1 )) ∨ P(v2 , v3 )).
A questo punto aggiungiamo al linguaggio L una costante c; con il
procedimento di Skolem (e) giungiamo all’enunciato
∀v0 ∀v2 ∀v3 ((Q(v0 ) ∧ Q(c)) ∨ P(v2 , v3 )).
Finalmente con (f ) otteniamo l’enunciato
∀v0 ∀v2 ∀v3 ((Q(v0 ) ∨ P(v2 , v3 )) ∧ (Q(c) ∨ P(v2 , v3 )))
che ha la forma richiesta, ed è soddisfacibile se e solo se ϕ è
soddisfacibile.
Sonia L’Innocente (Camerino)
Sonia L’Innocente
50 / 57
Strutture e verità
Teorema di Herbrand Abbiamo dunque ridotto il problema della
soddisfacibilità da enunciati arbitrari ad enunciati universali (ed anzi
della forma
∀v0 . . . , ∀vn θ(v0 , . . . , vn )
dove θ(v0 , . . . , vn ) è una congiunzione di disgiunzioni di formule
atomiche o negazioni). Cerchiamo adesso di ridurre ulteriormente il
problema da enunciati universali ad enunciati privi di quantificatori.
Non è restrittivo a questo proposito assumere che H(L) 6= ∅, cioè che
L contenga almeno una costante; in caso contrario, si aggiunge a L un
simbolo di costante: la (in)soddisfacibilità degli enunciati
evidentemente si preserva.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
51 / 57
Strutture e verità
Definizione. Siano θ(v0 , . . . , vn ) una formula di L priva di
quantificatori. Si dice istanza di sostituzione di θ ogni enunciato
θ(t0 , . . . , tn ) con t0 , . . . , tn ∈ H(L).
Teorema (di Herbrand). Assumiamo H(L) 6= ∅. Sia θ(v0 , . . . , vn ) una
formula di L priva di quantificatori. Allora l’enunciato
ϕ
:
∀v0 . . . , ∀vn θ(v0 , . . . , vn )
è soddisfacibile se e solo se ogni congiunzione finita di istanze di
sostituzione di θ è soddisfacibile.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
52 / 57
Strutture e verità
Pertanto il problema della soddisfacibilità per gli enunciati universali di
L è (almeno parzialmente) ridotto a quello per enunciati privi di
quantificatori.
Ammettiamo infatti che sia dato un algoritmo capace di decidere, per
ogni enunciato di L privo di quantificatori, se questo sia o no
soddisfacibile. Allora, dato un enunciato universale di L:
ϕ
:
∀v0 . . . ∀vn θ(v0 , . . . , vn ),
con θ(v0 , . . . , vn ) formula priva di quantificatori, o addirittura
congiunzione di disgiunzioni di formule atomiche o negazioni, si
considerano tutte le istanze di sostituzione di θ(v0 , . . . , vn ),
congiungendole in tutti i possibili modi.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
53 / 57
Strutture e verità
• Se H(L) è finito (cioè se L contiene al più un numero finito di
costanti, e non contiene alcun simbolo di operazione), esiste solo un
numero finito di congiunzioni di istanze di sostituzione di θ, e, per
ognuna, è possibile verificare la soddisfacibilità con l’algoritmo a
disposizione per gli enunciati privi di quantificatori; ϕ è soddisfacibile
se e solo se ogni congiunzione di istanze di sostituzione di θ risulta
soddisfacibile, ovvero se e solo se la congiunzione di tutte le istanze di
sostituzione di θ (che è una formula di L) è soddisfacibile.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
54 / 57
Strutture e verità
• Se però H(L) è infinito (cioè L contiene una infinità di costanti,
oppure anche un solo simbolo di operazione), la situazione è molto più
complicata.
Infatti esistono infinite istanze di sostituzioni di θ, e dunque infinite
congiunzioni di tali istanze.
Per ogni congiunzione è possibile ancora verificare la soddisfacibilità;
ma, se ϕ è soddisfacibile, il relativo controllo delle infinite istanze di
sostituzione di θ richiede infiniti passi (se invece ϕ non è soddisfacibile,
esiste una congiunzione finita di istanze di sostituzioni di θ che non è
soddisfacibile, e tale congiunzione si può comunque trovare in un
numero finito di passi).
In conclusione, il procedimento di decisione ora accennato funziona
soltanto quando H(L) è finito. In caso contrario, l’algoritmo permette al
più, se un enunciato ϕ non è soddisfacibile, di accorgersene.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
55 / 57
Deduzione Naturale
Outline
1
Introduzione
2
Linguaggi e formule
3
Strutture e verità
4
Deduzione Naturale
Sonia L’Innocente
Sonia L’Innocente (Camerino)
56 / 57
Deduzione Naturale
Deduzione Naturale
Vedere le pagine dalla 18 alla 23 del file “Logica Aprrofondimenti”.
Sonia L’Innocente
Sonia L’Innocente (Camerino)
57 / 57