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