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