Esercitazioni per il corso di Logica Matematica
Luca Motto Ros
25 marzo 2005
Nota importante. Queste pagine contengono appunti personali dell’esercitatore e sono messe a disposizione nel caso possano risultare utili a
qualcuno. In nessun caso vanno considerate come programma ufficiale del
corso e in nessun caso eventuali errori, inesattezze o difformità rispetto alle
lezioni qui contenuti possono essere considerati quale fonte autorevole in
sede d’esame.
Logica del prim’ordine 2
Forme normali e Teoria di Herbrand
Definizione 1. Una formula ϕ è in forma normale prenessa (brevemente,
in PNF), se è della forma Q1 x1 , . . . Qn xn ψ, dove ogni Qi (1 ≤ i ≤ n) è un
quantificatore (∀ oppure ∃) e ψ è priva di quantificatori (in questo caso, ψ
viene detta matrice della formula ϕ).
Se inoltre ψ è congiunzione di disgiunzioni di letterali (cioè formule
atomiche o negazioni di formule atomiche), allora ϕ è in forma normale
prenessa congiuntiva (brevemente, in PNF congiuntiva).
Generalizzando (con un’induzione su n) le regole di distributività del ∀
rispetto all’∧ e dell’inversa della distributività (parziale) dell’∃ rispetto al
∨, si ottiene la seguente
Proposizione 1. Siano x1 , . . . , xn variabili che occorrono libere in ϕ ma
non in ψ, e siano Q1 , . . . , Qn quantificatori arbitrari (ovvero, per ogni 1 ≤
i ≤ n, Qi è ∀ o ∃). Allora sono dimostrabilmente equivalenti
Q1 x1 . . . Qn xn ϕ(x1 , . . . , xn ) ∧ ψ e
Q1 x1 . . . Qn xn (ϕ(x1 , . . . , xn ) ∧ ψ).
Analogamente, mediante un’induzione su n si possono estendere le regole
di De Morgan generalizzate nella seguente maniera.
Proposizione 2. Siano Q1 , . . . , Qn quantificatori. Per ogni i, sia Qi il
quantificatore “opposto” a Qi (ovvero Qi = ∃ se Qi = ∀, e Qi = ∀ se Qi =
1
∃). Allora per ogni formula ϕ(x1 , . . . , xn ) sono dimostrabilmente equivalenti
¬Q1 x1 . . . Qn xn ϕ(x1 , . . . , xn ) e
Q1 x1 . . . Qn xn ¬ϕ(x1 , . . . , xn ).
Mediante un’induzione sulla complessità della formula (oltre alle proposizioni precedenti e ai teoremi di sostituzione estesi alla logica del prim’ordine) si può allora provare il seguente
Teorema 1. Per ogni formula del prim’ordine esiste una formula ad essa
(logicamente e dimostrabilmente) equivalente che è in PNF congiuntiva.
In pratica, quando si vuole trasformare (mediante equivalenze logiche)
una formula ϕ in PNF congiuntiva, si eseguono le operazioni seguenti:
1. si rinominano tutte le variabili quantificate di ϕ in modo che risultino
tutte diverse tra di loro (e dalle variabili che occorrono libere in ϕ);
2. si “esportano” i quantificatori secondo il seguente schema di equivalenze logiche:
¬(∃xϕ) ≡ ∀x(¬ϕ)
¬(∀xϕ) ≡ ∃x(¬ϕ)
(∃xϕ(x)) ∧ ψ ≡ ∃x(ϕ(x) ∧ ψ)
ϕ ∧ (∃xψ(x)) ≡ ∃x(ϕ ∧ ψ(x))
(∀xϕ(x)) ∧ ψ ≡ ∀x(ϕ(x) ∧ ψ)
ϕ ∧ (∀xψ(x)) ≡ ∀x(ϕ ∧ ψ(x))
(∃xϕ(x)) ∨ ψ ≡ ∃x(ϕ(x) ∨ ψ)
ϕ ∨ (∃xψ(x)) ≡ ∃x(ϕ ∨ ψ(x))
(∀xϕ(x)) ∨ ψ ≡ ∀x(ϕ(x) ∨ ψ)
ϕ ∨ (∀xψ(x)) ≡ ∀x(ϕ ∨ ψ(x))
(∃xϕ(x)) → ψ ≡ ∀x(ϕ(x) → ψ)
(∀xϕ(x)) → ψ ≡ ∃x(ϕ(x) → ψ)
ϕ → (∃xψ(x)) ≡ ∃x(ϕ → ψ(x))
ϕ → (∀xψ(x)) ≡ ∀x(ϕ → ψ(x)).
In questo modo si ottiene una formula ϕ0 in PNF equivalente a quella
di partenza ϕ;
3. sia ϕ0 la matrice di ϕ0 . Mediante l’algoritmo CNF si sostituisce ϕ0 con la
sua CNF, ottenendo cosı̀ una formula in PNF congiuntiva equivalente
a quella data.
2
Osservazione.
La PNF congiuntiva che si ottiene partendo da una formula ϕ non è unica. Essa dipende strettamente dall’ordine con cui vengono “esportati” i quantificatori (oltre che dalla CNF della matrice che si utilizza): tuttavia, qualunque sia l’ordine con cui si eseguono le operazioni, la formule risultanti
saranno tutte equivalenti a quella di partenza, e quindi equivalenti tra di loro.
Esercizi.
1. Per ciascuna delle formule seguenti trovarne una corrispondente in
PNF congiuntiva. Si osservi che in ciascuna di queste formule x e y
occorrono come variabili libere.
(a) ¬∃zQ(x, y, z) ∨ ∀z∃wP (w, x, y, z)
(b) ∀z(R(x, z) ∧ R(x, y) → ∃w(R(x, w) ∧ R(y, w) ∧ R(z, w)))
(c) ∃z(S(y, z) ∧ ∃y(S(z, y) ∧ ∃z(S(x, z) ∧ (S(z, y))))).
Definizione 2. Una formula ϕ si dice universale se é in PNF e non contiene
nessun quantificatore esistenziale ∃.
Definizione 3. Una formula ϕ è in Forma Normale di Skolem (SNF), se
è universale e in PNF congiuntiva.
Data una qualunque formula ϕ descriveremo un algoritmo SNF che permetterà di costruire una corrispondente formula ϕS in SNF: tale formula
verrà detta Skolemizzazione di ϕ (e non sarà, in generale, equivalente ad
essa).
Algoritmo SNF.
1. Si trova una formula ϕ0 in PNF congiuntiva tale che ϕ0 ≡ ϕ. Dunque
ϕ0 sarà una formula del tipo
Q1 x1 . . . Qm xm ϕ0 (x1 , . . . , xm ),
dove Q1 , . . . , Qm sono quantificatori e ϕ0 è priva di quantificatori.
2. Se ciascuno dei Qi (1 ≤ i ≤ m) è ∀, allora ϕ0 è universale e basta porre
ϕS = ϕ 0 .
3. Sia Qi il primo quantificatore esistenziale che compare in ϕ0 (ovvero
sia i il più piccolo intero tale che Qi = ∃).
3
Se i = 1, ϕ0 è della forma ∃x1 Q2 x2 . . . Qm xm ϕ0 (x1 , x2 , . . . , xm ). Allora sia s(ϕ0 ) la formula Q2 x2 . . . Qm xm ϕ0 (c, x2 , . . . , xm ) dove c è un
simbolo di costante che non occorre in ϕ0 .
Se i > 1, ϕ0 è della forma
∀x1 . . . ∀xi−1 ∃xi Qi+1 xi+1 . . . Qm xm ϕ0 (x1 , . . . , xm ).
Allora sia s(ϕ0 ) la formula
∀x1 . . . ∀xi−1 Qi+1 xi+1 . . . Qm xm
ϕ0 (x1 , . . . , xi−1 , f (x1 , . . . , xi−1 ), xi+1 , . . . , xm ),
dove f è un simbolo di funzione di arietà i − 1 che non occorre in ϕ0 .
In ogni caso, si ottiene una formula s(ϕ0 ) che contiene meno quantificatori esistenziali di ϕ0 . Dunque, iterando questo passo n volte
(dove n ≤ m è il numero di quantificatori esistenziali di ϕ0 ), si ottiene
la formula universale sn (ϕ0 ) = s(s(s · · · s(ϕ0 ))). Allora basta porre
ϕS = sn (ϕ0 ).
Teorema 2. Sia ϕ una formula del prim’ordine e sia ϕS la sua Skolemizzazione. Allora ϕ è soddisfacibile se e solo se ϕS lo è.
Esercizi.
1. Trovare la Skolemizzazione delle formule seguenti:
(a) ¬∃zQ(x, y, z) ∨ ∀z∃wP (w, x, y, z)
(b) ∀z(R(x, z) ∧ R(x, y) → ∃w(R(x, w) ∧ R(y, w) ∧ R(z, w)))
(c) ∃z(S(y, z) ∧ ∃y(S(z, y) ∧ ∃z(S(x, z) ∧ (S(z, y))))).
Definizione 4. Sia L un linguaggio del prim’ordine. L’ universo di Herbrand per L è l’insieme di tutti gli L-termini chiusi (cioè privi di variabili
libere).
Sia H(L) l’universo di Herbrand per il linguaggio L. Osserviamo che
H(L) = ∅ se (e solo se) L non contiene simboli di costante (cioè se e solo se
CL = ∅). Se non siamo in questa circostanza, è possibile costruire delle L
strutture che abbiano come universo l’insieme (di stringhe) H(L). Se si interpretano i simboli di costante e i simboli di funzioni di L nella maniera “naturale” (ovvero interpretando ogni simbolo di costante c ∈ CL nella stringa
c ∈ H(L), e ogni simbolo di funzione n-ario f ∈ FL come la funzione che
manda le stringhe t1 , . . . , tn di H(L) nella stringa f (t1 , . . . , tn ) ∈ H(L)) si
ottiene quella che si chiama struttura di Herbrand per L.
4
Definizione 5. Una L-struttura M è una struttura di Herbrand per L (o Lstruttura di Herbrand) se ha universo H(L) e interpreta simboli di costante
e funzione di L nella maniera suggerita dai nomi dati agli elementi di H(L).
Un linguaggio L che contenga almeno un simbolo di costante e un simbolo
di relazione, ammette dunque diversi modelli di Herbrand, a seconda di come
i simboli relazionali vengono interpretati. Più in generale:
1. H(L) = ∅ se e solo se CL = ∅.
2. H(L) è finito se e solo se FL = ∅.
3. M è l’unica L-struttura di Herbrand se e solo se RL = ∅ o H(L) = ∅.
Se anziché partire da un linguaggio L si parte da un insieme di enunciati
Γ, è possibile definire una nozione analoga di universo e modello di Herbrand
per Γ.
Definizione 6. Sia Γ un insieme di enunciati. Definiamo il linguaggio di
Herbrand per Γ (che indicheremo con LΓ ). Sia L0 l’insieme dei simboli di
funzione, relazione e costante occorrenti in qualche enunciato di Γ: se L0
non contiene simboli di costante, allora poniamo LΓ = L0 ∪ {c}, altrimenti
poniamo semplicemente LΓ = L0 .
Definizione 7. L’ universo di Herbrand per Γ, che indicheremo con H(Γ),
è l’universo di Herbrand di LΓ , ovvero H(Γ) = H(LΓ ).
Definizione 8. M è un modello di Herbrand di Γ se M è una LΓ -struttura
di Herbrand e M |= ϕi per ogni ϕi ∈ Γ.
Se Γ contiene un solo enunciato ϕ, in tutte le definizioni e notazioni
precedenti si sostituirà Γ con ϕ.
Teorema 3. Sia Γ = {ϕ1 , ϕ2 , . . . } un insieme di enunciati privi di uguaglianza in SNF 1 . Allora Γ è soddisfacibile se e solo se esiste un modello di
Herbrand di Γ.
Corollario 1. Se ϕ è un enunciato in SNF privo di uguaglianza, allora ϕ
è soddisfacibile se e solo se esiste un modello di Herbrand di ϕ.
1
Si può dimostrare che se gli enunciati di Γ non sono in SNF (anche se fossero privi
di uguaglianza), allora Γ può essere soddisfacibile senza ammettere una modello di Herbrand (mentre il viceversa è, ovviamente, sempre verificato). Un semplice esempio è dato
dall’enunciato ∃xP (x) ∧ ∃x¬P (x). Il suo universo di Herbrand è costituito soltanto dal
singoletto {c}, quindi esistono solo due possibili modelli di Herbrand: ma sia che valga
P (c), sia che valga ¬P (c) l’enunciato di partenza non verrà modellato. Tuttavia, la sua
Skolemizzazione P (c) ∧ ¬P (d) ammette un semplice modello di Herbrand (con due soli
elementi).
5
Se invece un enunciato ϕ utilizzal’identità =, si può definire una formula
ϕE priva di uguaglianza che sarà soddisfacibile se e solo se ϕ lo è.
Sia L il vocabolario di ϕ. Sia E un simbolo di relazione binaria non
appartenente L. Definiamo i seguenti enunciati:
1. sia ϕ6= l’enunciato ottenuto sostituendo ogni sottoformula atomica del
tipo t1 = t2 occorrente in ϕ con la formula atomica E(t1 , t2 );
2. sia ϕER l’enunciato
∀x∀y∀z(E(x, x) ∧ (E(x, y) → E(y, x)) ∧ (E(x, y) ∧ E(y, z) → E(x, z))),
che dice “E è una relazione di equivalenza”;
3. per ogni simbolo di relazione n-ario R ∈ L, sia ϕR l’enunciato
!
!
n
^
∀x1 . . . ∀xn ∀y1 . . . ∀yn
E(xi , yi ) ∧ R(x1 , . . . , xn ) → R(y1 , . . . , yn ) ,
i=1
e sia ϕ1 la congiunzione di tutti gli enunciati ϕR al variare di R ∈ L;
4. analogamente, per ogni simbolo di funzione n-ario f ∈ L, sia ϕf
l’enunciato
!
n
^
∀x1 . . . ∀xn ∀y1 . . . ∀yn
E(xi , yi ) → E(f (x1 , . . . , xn ), f (y1 , . . . , yn )) ,
i=1
e sia ϕ2 la congiunzione di tutti gli enunciati ϕf al variare di f ∈ L.
Notiamo che ϕER , ϕ1 e ϕ2 dicono che E ha lo stesso comportamento
dell’uguaglianza rispetto a ϕ, e osserviamo inoltre che tutti gli enunciati
sopra definiti sono privi di uguaglianza. Sia allora ϕE la SNF di ϕ6= ∧ ϕER ∧
ϕ1 ∧ ϕ2 .
Lemma 1. Per ogni formula ϕ in SNF, ϕ è soddisfacibile se e solo se ϕE
lo è.
Passiamo ora ad illustrare il Metodo di Herbrand. L’idea è che, dato un
enunciato qualsiasi, si possa considerare un enunciato ϕ in SNF e privo di
uguaglianza che è soddisfacibile se e solo se quello di partenza lo è (questo
risultato si ottiene combinando tutti i risultati fin qui proposti). Dunque ϕ
è del tipo
∀x1 . . . ∀xn ϕ0 (x1 , . . . , xn ),
dove ϕ0 è privo di uguaglianza e quantificatori. Sia allora H(ϕ) l’universo
di Herbrand di ϕ, e poniamo:
E(ϕ) = {ϕ0 (t1 , . . . , tn ) | t1 , . . . , tn ∈ H(ϕ)}.
Quindi E(ϕ) è ottenuto sostituento termini chiusi da H(ϕ) alle variabili di
ϕ0 in tutte le maniere possibili. Sia inoltre {ϕ1 , ϕ2 , . . . } una enumerazione
di E(ϕ).
6
Proposizione 3. Sia ϕ un enunciato in SNF e privo di uguaglianza. Allora
ϕ è soddisfacibile se e solo se E(ϕ) lo è.
Poiché E(ϕ) contiene enunciati privi di quantificatori, si può vedere E(ϕ)
come un insieme di formule della logica proposizionale e, poiché ϕ è in SNF,
ogni ϕi ∈ E(ϕ) è in CNF. Utilizzando la risoluzione per la logica proposizionale, sappiamo che E(ϕ) è insoddisfacibile se e solo se ∅ ∈ Res∗ (E(ϕ)).
Inoltre, per il teorema di Compattezza, E(ϕ) è insoddisfacibile se e solo se un
suo sottoinsieme finito lo è, cioè se e solo se {ϕ1 , . . . , ϕm } è insoddisfacibile
(per qualche m ∈ N).
Questo ci fornisce un metodo per stabilire se un certo enunciato del
prim’ordine ϕ è insoddisfacibile:
1. trovare la Skolemizzazione ϕS di ϕ;
2. se ϕS contiene l’identità, trovare ϕSE e porre ψ = ϕSE , altrimenti porre
semplicemente ψ = ϕS ;
3. sia {ψ1 , ψ2 , . . . } una enumerazione delle formule di E(ψ). Controllare se ∅ ∈ Res∗ ({ψ1 , . . . , ψm }) per qualche m ∈ N (si ricordi che
Res∗ ({ψ1 , . . . , ψm }) è un insieme finito, dunque la procedura termina
certamente). Fatto ciò, se ∅ ∈ Res∗ ({ψ1 , . . . , ψm }) si può concludere
che ϕ è insoddisfacibile. Altrimenti si controlla se
∅ ∈ Res∗ ({ψ1 , . . . , ψm+1 }),
e cosı̀ via.
In questo modo, se ϕ è insoddisfacibile questo metodo riuscirà ad ottenere (prima o poi) l’insieme vuoto e concludere “Sı̀, ϕ è insoddisfacibile”
in un numero finito di passi2 . Tuttavia, se ϕ è soddisfacibile, la ricerca
proseguirebbe all’infinito. Tuttavia, in questo caso, si ha che l’enunciato
ψ ottenuto utilizzando questo metodo deve avere un modello di Herbrand.
Combinando queste due tecniche è possibile (almeno per casi non troppo
complessi) trovare una risposta al problema della soddisfacibilità di ϕ (e
quindi anche ai problemi connessi di validità, conseguenza ed equivalenza
logica di enunciati).
Esercizi.
1. Sia L = {f, P }, dove f e P sono simboli, rispettivamente, di funzione
e relazione unari. Sia ϕ la formula
∀x(P (x) → P (f (x)) ∧ ∃xP (x) ∧ ∃x¬P (x)).
2
In ogni caso, il tempo necessario per portare a termine tale computazione è ben lontano
dall’essere polinomiale.
7
Trovare un modello di Herbrand per ϕ e per la sua Skolemizzazione
ϕS .
2. Sia L = {f, P }, dove f e P sono simboli, rispettivamente, di funzione
e relazione, unari. Siano ϕ e ψ gli enunciati seguenti
∃xP (x) ∧ ∃x¬P (x) ∧ ∀x(P (x) ↔ P (f (x)))
∃xP (x) ∧ ∀x(P (x) ↔ P (f (x)) ∧ ∃x¬P (x))
(a) Mostrare che non esistono modelli di Herbrand per ϕ e ψ.
(b) Trovare un modello di Herbrand per le rispettive Skolemizzazioni
ϕS e ψ S .
3. Sia ϕ1 l’enunciato
∀x∀y(f (x) = f (y) → x = y)
e ϕ2 l’enunciato
∀y∃x(f (x) = y).
Mostrare che ϕ1 ha un modello di Herbrand, ma né ϕ2 , né la sua
Skolemizzazione ϕS2 ne hanno uno.
4. Sia ϕ(x) una formula priva di quantificatori ed uguaglianza. Mostrare
che ∃xϕ(x) è una tautologia se e solo se ϕ(t1 ) ∨ ϕ(t2 ) ∨ · · ·∨ ϕ(tn ) è una
tautologia per qualche n ∈ N e per qualche scelta di termini t1 , . . . , tn
nell’universo di Herbrand per ϕ.
5. Utilizzare il metodo di Herbrand per mostrare che il seguente enunciato
non è soddisfacibile:
∀x¬R(x, x) ∧ ∀xR(x, f (x)) ∧ ∃x∀y(R(x, y) → R(f (x), y)).
6. Mostrare con il metodo di Herbrand che
∀x(P (x) → Q(x, x)) ∃xP (x) → ∃x∃yQ(x, y)
∀x(P (x) → Q(x, x)) 2 ∃x∀y(P (x) ∧ P (y) → Q(x, y)).
8