CAPITOLO 7 LOGICA CLASSICA DEI PREDICATI: SEMANTICA 1. Verso la logica del primo ordine: funzioni proposizionali e quantificatori L’ analisi ”Booleana” del linguaggio che ha condotto alla formalizzazione della logica proposizionale studia la nozione di conseguenza logica e la nozione di deduzione solo in riferimento ai connettivi logici proposizionali. Un’ argomentazione valida quale quella della forma di un sillogismo di forma barbara: – (1. premessa) Ogni a `e b, – (2. premessa) ogni b `e c, – (conclusione) ogni a `e c non si puo’ analizzare in termini proposizionali: le tre proposizioni si possono presentare come ”atomi” proposizionali, (nessuna di loro contiene esplicitamente dei connettivi) e la logica proposizionale non si applica. Oppure , si pensi all’ altrettanto valida argomentazione: –(premessa) Ogni a `e sia b che c; –(conclusione) Ogni a `e b. Una piu’ completa analisi logica del linguaggio, dovuta tra gli altri a G. Frege, B.Russell, G. Peano ci aveva portato gia’ nel capitolo 2 ad individuare le due nozioni basilari di –funzione proposizionale e di –quantificazione mediante le quali, portate ad un certo livello di astrazione, si formula la logica dei predicati. la restrizione principale che faremo e’ sull’ applicare i quantifictori solo ad un livello (e si parla di logica del ( primo) ordine). Nel seguito, specificheremo in modo preciso sia la nozione di ”dominio” per le variabili (struttura), che quella di ”espressione denotante” (termine) che quella di ” funzione proposizionale ” (formula). 2. Strutture del primo ordine L ’idea e’ quella di avere un insieme in cui si diano certe operazioni e certe relazioni, ed eventualmente certi elementi come privilegiati. Per descrivere la struttura conviene intanto individuare quante sono le operazioni e per ciascuna di loro su quanti argomenti opera (la sua ” ariet´a”: se sia unaria, ternaria, etc.); e similmente per le relazioni. 1 2 CAPITOLO 7 Una segnatura o tipo di strutture e’ dato da una quaterna τ =< R, F, C, ar > in cui R, F, C sono insiemi a due a due disgiunti ed ar e’ una funzione da R∪F verso l’ insieme ω dei numeri naturali. Per n ∈ ω, porremo: Rn = {R ∈ R|ar(R) = n}; Fn = {f ∈ R|ar(f ) = n}. Gli elementi di R, F, C si chiamano rispettivamente segni di predicato (o relazione), segni di funzione, segni di costante; la funzione ar d’`a l’ariet` a del segno su cui si applica: se il valore e’ n, si parla di segno di arieta’ n o n−ario (n = 0, 1, 2, ..., danno segni zeroari, unari, binari,.... ). Tali segni astratti diventeranno dotati di significato una volta considerata la seguente nozione Una struttura A della segnatura τ , o una realizzazione di τ, e’ costituita da: (1) un insieme non vuoto A (sostegno o insieme base) della struttura; (2) per ciascun R ∈ R, una relazione n–aria in A, cioe’ un sottinsieme RA ⊆ An , detta la realizzazione del segno R in A; (3) per ciascun f ∈ F , una operazione n–aria in A, cioe’ una funzione fA da An verso A detta la realizzazione del segno f in A; (4) per ciascun c ∈ C, un elemento cA in A detto la realizzazione del segno c in A. Si user`a sistematicamente la stessa lettera per la struttura (in corsivo A) e per il suo insieme base (in stampatello A). Questa nozione copre molti dominii di studio e situazioni trattate in matematica. Le strutture algebriche (gruppi, anelli, campi, campi ordinati, spazi vettoriali, ...) o i tipi di dati piu’ comuni si possono presentare come realizzazioni di opportune segnature. Il campo dei reali o quello dei complessi, con tutte le operazioni e relazioni che si vogliano, possono essere presentati in tal modo. La stessa teoria degli insiemi si presenta come riferita a domini del primo ordine con una relazione binaria per l’ appartenenza. (Tuttavia, la nozione di spazio topologico, non ha una presentazione naturale come struttura del primo ordine, sopratutto se sia formulata in modo da esprimere gli assiomi sia sui punti che sugli insiemi di punti: avremo allora variabili e quantificatoti sia per individui che per insiemi di individui, ossia una tipica situazione di secondo ordine.) Ma anche in altri settori, gli oggetti di studio si possono presentare come ”strutturati” secondo tale nozione. Per esempio, alcune parti dello studio delle parentele potrebbero essere presentate come strutture sull’ insieme degli esseri umani U , con le relazioni e funzioni che interessano , quali p, segno di funzione unaria per ”il padre di...”, o F G, segno di relazione binaria per ”— e’ figlio di ...”, o altre In particolare in matematica, ma e’ utile in generale, conviene avere sempre disponibile un segno di relazione binaria per l’ uguaglianza; porremo allora la seguente Convenzione: in qualunque segnatura e’ sempre presente un segno di relazione bi. . naria per l’uguaglianza =∈ R2 ; in qualunque struttura A la realizzazione di = e’ la . relazione identica (=)A = {< a, a > |a ∈ A}. Gli altri segni della segnatura si chiamano a volta i segni proprii di τ. Quando si specifica una segnatura, non indichiamo CAPITOLO 7 3 . esplicitamente la presenza di =∈ R ma indichiamo solo i segni proprii di relazione. NOTA Come trattare le realizzazioni dei segni in R0 , se ve ne sono? Una relazione zeroaria in un insieme A e’ per definizione un sottinsieme di A0 , ossia di A∅ ; vi sono esattamente due tali sottinsiemi: ∅ = 0 e {∅} = 1. In altre parole la realizzazione in una struttura di un segno di relazione zeroario e’ (assimilabile a) un valore di verita’; pertanto un segno di relazione zeroaria si puo’ trattare come (se fosse) una variabile proposizionale. Come trattare le realizzazioni dei segni in F0 , se ve ne sono? Una operazione zeroaria in un insieme A e’ una funzione da A0 = {∅} verso A, quindi essa non fa che scegliere un elemento di A; i segni di funzione zeroaria, quindi sono (un modo diverso per avere) segni di costante. Come trattare le operazioni parziali che possono interessare in una struttura? Per esse, nella nostra definizione, non abbiamo provveduto a fornirci di segni nella segnatura: si possono trattare come relazioni, ossia si considera la relazione che e’ il grafico delle oprerazione parziale; per questa possiamo ben prevedere un segno in R. Naturalmente, si potrebbe far lo stesso anche per le operazioni totali, n– arie, che sono attualmente le realizzazioni dei segni in F, trattandole come relazioni n + 1–arie; tuttavia certamente si perderebbe in immediatezza di espressione, ed e’ ormai tradizionale ammettere segni per operazioni fin dall’ inizio. ESEMPI. 1. Se F = C = ∅, si parla di strutture puramente relazionali. Per esempio , i poset < A, ≤A > sono di una segnatura puramente relazionale, con un sol segno di relazione, binaria ( ar(≤) = 2). 2. Se R = ∅ si parla di segnatura algebrica nel senso dell’ algebra universale. 3. In una segnatura con R = {R, T }, F = {f, g, h}C = {c}, ar(R) = 3, a(T ) = 2, ar(f ) = ar(g) = 2, ar(h) = 1, abbiamo due segni di relazione a 2 e tre posti, due segni di operazioni binarie, un segno di operazione unaria ed un segno di costante. Un esempio di struttura per questa segnatura: sostegno, l’insieme ω; la realizzazione di R sia la relazione che vale tra n, m, k ∈ ω se n ´e primo e divide il prodotto mk; la realizzazione di T sia l’usuale relazione d’ordine ≤;, la realizzazione di f sia l’ addizione, di g sia la moltiplicazione, di h sia il moltiplicare per 2; e la realizzazione di c sia il numero 7. (Tanto per dare l’ idea della estrema generalita’ delle nozioni in gioco.) 3. Linguaggi formali del primo ordine Per ogni data segnatura τ =< R, F, C, ar > di strutture, introduciamo un alfabeto per τ : esso conterra’ oltre ai segni presenti nella segnatura, i segni logici ed ausiliari come segue: – un segno di variabile individuale xi per ı ∈ ω; porremo V AR = {xi |i ∈ ω}. – segni per i connettivi: ∨, ∧, →, ¬, ⊥; – segni per i quantificatori universale ed esistenziale: ∀, ∃; 4 CAPITOLO 7 – segni di interpunzione: parentesi destra e sinistra, ”(” e ”)”, e la virgola ”,” . Diversi linguaggi del primo ordine differiscono pertanto solo per i segni della segnatura; per precisione, si puo’ indicare con L(τ ) il linguaggio per la segnatura τ. Una struttura A di segnatura τ viene anche detta una struttura (in alcuni testi, dicesi anche un modello) per L(τ ). Come al solito, usiamo “ ” per indicare un generico segno di connettivo; ed a volte usiamo “Q” per indicare uno dei due quantificatori. 4. Termini In corrispondenza della nozione informale di (schema di ) ”espressione denotante” avremo la seguente definizione dei termini del linguaggio L(τ ): sono i termini (ved. cap.3) della segnatura (algebrica)< F, C, ar > . Questi sono ”schemi” nel senso che possono contenere segni di variabile; una volta data una struttura ed assegnati valori a tali variabili, avremo una espressioine che denota un elemento della struttura. Ripetiamo per comodita’ la definizione induttiva: (1) ogni segno di variabile xi e ogni segno di costante c ∈ C ´e un termine; (2) per ogni f ∈ F con ar(f ) = n, se t0 , . . . , tnα −1 sono termini anche la sequenza finita di segni: f (t0 , . . . , tnα −1 ) [ ottenuta giustapponendo il segno f poi (, poi la sequenza di segni che compongono t0 , poi una virgola, etc. etc..] ´e un termine. (3) niente altro `e un termine se non ottenuto dall’ uso delle clausole precedenti. I segni di variabile e di costante si chiamano a volte termini atomici; gli altri termini si dicono termini composti. Nel caso che un termine non contenga alcuna occorrenza di segni di variabile, si chiama termine costante. Con T ERM e T ERMc denoteremo l’insieme dei termini e dei termini costanti; il secondo puo’ essere vuoto, se la segnatura non prevede alcun segno di costante ed alcun segno di funzione zeroario. Se necessario, per specificare la segnatura, potremmo denotarli con T ERM (τ ), T ERMc (τ ). Come al solito, potremo dimostrare proprieta’ dei termini o dei termini costanti per induzione sui termini ; ed anche definire funzioni in T ERM per induzione. Come prima applicazione, definiamo l’ insieme F V (t) dei segni di variabile che hanno almeno un’occorrenza in un termine t : –F V (c) = ∅, se c ∈ C. –F V (xi ) = {xi } per i ∈ ω. –F V (f (t1 , . . . , tn )) = F V (t1 ) ∪ · · · ∪ F V (tn ) per n ∈ ω, f ∈ Fn , ti ∈ T ERM. Ricordiamo che una funzione σ da T ERM verso T ERM si dice una sostituzione se per ogni c ∈ C, σ(c) = c, e per ogni n ∈ ω, ti ∈ T ERM ed f ∈ Fn , si ha σ(f (t1 , . . . , tn )) = f (σ(t1 ), . . . , σ(tn )). CAPITOLO 7 5 Proposizione 1. (1) Le sostituzioni in T ERM sono completamente determinate dal loro comportamento su V AR, ossia se σ, σ ′ sono sostituzioni e per ogni i ∈ ω, σ(xi ) = σ ′ (xi ), allora σ(t) = σ ′ (t) per ogni t ∈ T ERM. (2) Data una funzione σ0 da V AR verso T ERM esiste esattamente una sostituzione σ che estende σ0 . (3) Se σ, σ ′ sono sostituzioni, t ∈ T ERM, e per ogni xi ∈ F V (t), σ(xi ) = σ ′ (xi ), allora σ(t) = σ ′ (t). Si tratta di risultati gi´a visti nel cap.3 (oppure si dimostrano per induzione come esercizi). Di solito si considerano sostituzioni σ in cui supp(σ) = {xi |σ(xi ) ̸= xi } sia finito. La notazione in tal caso e’ indicata come [t1 , . . . , tn /xi1 , . . . , xin ], postfissa, sottintendendo che per i ̸= i1 , . . . , in , σ(xi ) = xi e che tj = σ(xij ). La composizione di sostituzioni produce sostituzioni; tuttavia si noti che in generale t[t0 , t1 /x0 , x1 ], (t[t0 /x0 ])[t1 /x1 ], (t[t1 /x1 ])[t0 /x0 ] sono tra loro diversi. (Si prenda t = f (x0 , x1 ), t0 = x1 , t1 = x0 .) 5. Interpretazione dei termini Il significato di un termine si ottiene quando i suoi componenti ne abbiano ottenuto uno; e pertanto occorre avere dato significato ai segni di costante, di variabile e di operazione presenti nel termine. Occurrer´a riferirsi ad una struttura A per il dato linguaggio L. L’ ingrediente principale e’ allora dato da una lettura o interpretazione per le variabilii in A, che per definizione e’ una funzione I da V AR in A, l’ insieme sostegno della struttura. Porremo IN T (A) = {I|I : V AR 7→ A}. Dal teorema di definizione per induzione su T ERM avremo: Proposizione 2. Sia I ∈ IN T (A); esiste un’ unica estensione di I su T ERM tale che (1) I(c) = (c)A per c ∈ C; (2) I(f (t1 , . . . , tn )) = (f )A (I(t1 ), . . . , I(tn )), per n ∈ ω, f ∈ Fn , Ti ∈ T ERM. Nota. Insistiamo sul cosa indica la clasuola 2 qui sopra. A sinistra, come argomento di I compare il termine composto f (t1 , . . . , tn ) -cio`e una sequenza finita di segni dell’ alfabeto per la segnatura < F, C, ar > ; persino le parentesi sono solo segni formali-. A sinistra invece abbiamo una effettiva operazione n−aria nell’ insieme base A, quella che si `e scelta come realizzazione in A del segno di funzione f ; essa `e applicata ad una n−pla di elementi di A, che sono (per ipotesi induttiva ) ordinatamente I(t1 ), . . . , I(tn ). Potremmo alternativamente chiamare interpretazione o lettura dei termini in A una funzione I : T ERM 7→ A che soddisfi 1 e 2. Allora si scoprirebbe che una lettura e’ completamente determinata dalla sua restrizione a V AR. Se I e’ una interpretazione in 6 CAPITOLO 7 A, spesso denoteremo I(t) con tI oppure piu’ chiaramente con tA,I : tale elemento di A e’ il valore o la lettura o l’ interpretazione del termine t in A sotto I. I termini costanti ricevono un’ interpretazione univoca in una struttura: se t ∈ T ERMc , sotto qualunque lettura I ∈ IN T (A), tA,I e’ sempre lo stesso elemento di A, detto allora il valore di t in A, che si pu`o indicare con tA . Interpretazioni e sostituzioni interagiscono in modo semplice: Proposizione 3. Sia I una lettura dei termini in A, e sia σ una sostituzione in T ERM ; se I σ : V AR 7→ A e’ definito da: I σ (xi ) = I(σ(xi )), allora per ogni termine t si ha : (σ(t))A,I = tA,I . σ La dimostrazione, una semplice induzione su t, e’ lasciata al lettore. Con la stessa tecnica si dimostra che: Proposizione 4. Se I, I ′ ∈ IN T (A), t ∈ T ERM e I(x) = I ′ (x) per x ∈ F V (t), allora ′ tA,I = tA,I . A volte, dati un termine t ed una struttura A conviene pensare a t come una notazione o un simbolo per una operazione nell’ insieme A. Precisamente, se F V (t) = {x1 , . . . , xn }, a t corrisponde la funzione op(tA ) : An 7→ A definita da op(tA )(a1 , . . . , an ) = tA,I , essendo I una lettura tale che I(xi ) = ai . (La definizione ´e ben data ... ) Un cambiamento di variabili e’ un’ applicazione iniettiva σ di V AR in V AR; anche in questo caso essa ha una unica estensione ad una sostituzione. Il lettore dimostrera’ facilmente che se σ e’ un cambiamento di variabili e t ∈ T ERM , allora per ogni struttura A, le due funzioni op(tA ), op((σ(t))A ) coincidono. Si noti pero’ che in una generica lettura I, si pu`o avere: tA,I ̸= (σt)A,I . Le operazioni in A della forma op(t) per un qualche termine t si chiamano a volte polinomi (o funzioni polinomiali) su A. Esempio. Si abbia una segnatura con segni (infissi) di operazioni binarie +, −, sia t := x+(y −z) e il cambiamento di variabili σ consista nello scambiare tra loro y con z. Nella struttura usuale < Z, +, − > e sotto l’ interpretazione I(x) = 3, I(y) = 4, I(z) = 5, avremo I(t) = 2, mentre I(σ(t)) = I(x + (z − y)) = 4. Invece le due funzioni da Z 3 verso Z definite da t e da σ(t) sono la stessa funzione, ossia sono il polinomio che ad a, b, c ∈ Z associa a + (b − c) -qui i segni denotano le usuali operazioni aritmetiche.6. Formule Particolari sequenze finite di segni dell’ alfabeto di un linguaggio L di segnatura < RF, C > costituiscono le formule atomiche di L, in corrispondenza della nozione di ”funzione proposizionale basilare”. La definizione e’ la seguente: se ti ∈ T ERM, R ∈ Rn , allora R(t1 , . . . tn ) e’ una formula atomica di L; inoltre ⊥ e’ una formula atomica di L. CAPITOLO 7 7 Denoteremo con AT F ORM, o se necessario con AT F ORM (L), l’ insieme delle formule atomiche di L. . . . Nel caso che R sia =, scriveremo di solito t1 = t2 invece di = (t1 , t2 ). Si noti che se R ∈ R0 , allora R e’ gia’ una formula atomica. (I segni di relazione zeroari si comportano, in un certo senso, come delle variabili proposizionali.) Definizione 1. Le formule di L son definite induttivamente da: (1) ogni formula atomica di L e’ una formula di L; (2) se φ, ψ sono formule di L , anche (φ ∨ ψ), (φ ∧ ψ), (φ → ψ), (φ ↔ ψ), (¬φ) sono formule di L; (3) se φ e’ una formula di L, ed n ∈ ω, anche (∀xn φ), (∃xn φ) son formule di L, (4) niente altro e’ una formula di L, se non ottenuto dalle clausole precedenti. Indicheremo con F ORM , o se necessario con F ORM (L), l’ insieme delle formule del linguaggo L. Nell’ esibizione di formule, limiteremo l’ uso delle parentesi, con convenzioni simili al caso di P ROP , badando naturalmente a conservare la leggibilita’ unica: quando nel metalinguaggio descriviamo una formula, l’ unica cosa che conti e’ che tale formula sia univocamente determinata. Data la definizione induttiva, avremo la possibilita’ di dimostrare proprieta’ delle formule per induzione. Circa le definizioni per induzione sulle formule, occorrera’ un teorema del seguente tenore: Proposizione 5. (Teorema sulle definizioni per induzione su F ORM ) Siano dati: un insieme B non vuoto, e, per = ∨, ∧, →, ↔ certe operazioni binarie H in B; un’ operazione unaria H¬ in B; un elemento H⊥ ∈ B; per ogni c ∈ C, un elemento cB ∈ B; ed infine per ogni i ∈ ω, operazioni unarie H∀i , H∃i in B. Per ogni funzione G da AT F OR verso B,tale che G(⊥) = H⊥ , esiste un’ unica estensione di G su F ORM, in modo che per φ, ψ ∈ F ORM, i ∈ ω, (1) G(φ ψ) = H (G(φ), Gψ)), per = ∨, ∧, →, ↔, (2) G(¬φ) = H¬ (φ); (3) G(∀xi φ) = H∀i (G(φ)), G(∃xi φ) = H∃i (G(φ)). La dimostrazione seguirebbe sempre il solito schema, come nel caso di T ERM, e viene lasciata al lettore. Per induzione su F ORM si definiscono alcune importanti nozioni. Intanto la nozione di sottoformula: l’ unica sottoformula di una formula atomica α e’ α stessa; le sottoformule di α β sono la formula stessa e le sottoformule di α e di β; le sottoformule di ¬α sono la formula stessa e le sottoformule di α; le sottoformule di ∀x α e di ∃x α sono la formula stessa e le sottoformule di α. 8 CAPITOLO 7 7. Variabili libere e vincolate Che un segno di variabile abbia un’ occorrenza in un termine o in una formula e’ nozione intuitivamente ovvia: esso e’ usato nella costruzione del termine o della formula. E’ un poco piu’ delicato dare la nozione di cosa sia una precisa occorrenza di un segno di variabile in una formula e distinguere tra le varie occorrenze di uno stesso segno: in generale si ha una nozione intuitivamente chiara; per rendere la cosa precisa, si potrebbe procedere come nel cap 3. Si osservi che x puo’ avere in una formula sia occorrenze ”libere” ossia non soggette all’ azione di quantificatori, che ”vincolate”: per esempio nella formula: (∃y R(x, y)) → (∀x(¬R(x, y) ∧ R(z, y)) la prima e seconda occorrenza di y sono vincolate, le altre due sono libere, la 1a occorrenza di x e’ libera, le altre sono vincolate e quelle di z sono libere. Intuitivamente , e vedremo poi che anche tecnicamente, le occorrenze ∫ vincolate∫ non hanno individualita’ (in modo simile a quando in analisi matematica f (x)dx = f (y)dy) : e’ intuitivo che la formula precedente “dica la stessa cosa ” della seguente: (∃y R(x, y)) → (∀w(¬R(w, y) ∧ R(z, y)) od anche della seguente: (∃w R(x, w)) → (∀w(¬R(w, y) ∧ R(z, y)), ottenute “cambiando nome” alle occorrenze vincolate di variabili. Si noti pero’ che questo cambio di nomi alle variabili vincolate non deve interferire con le occorrenze libere: la seguente invero avra’ significato ben diverso: (∃x R(x, x)) → (∀y(¬R(y, y) ∧ R(z, y)) Appare opportuno, e vedremo come si possa realizzare, che in una formula si eviti che una stessa variabile abbia occorrenze sia libere che vincolate. Per induzione si definisce per ogni formula α l’ insieme F V (α) dei (segni di) variabili che hanno almeno un’ occorrenza libera in α: – se α e’ atomica , F V (⊥) = ∅; e F V (R(t1 , . . . , tn ) = F V (ti ) ∪ · · · ∪ F V (tn ) se R ∈ Rn , ti ∈ T ERM. – F V (α β) = F V (α) ∪ F V (β); F V (¬α) = F V (α); – F V (∀x α) = F V (∃x α) = F V (α) \ {x}. Questa nozione e’ a sua volta importante nel definire la sostituzione di variabili con termini in una formula; l ’idea e’ infatti che solo le occorrenze libere di una variabile siano sostituibili con termini. Siano x, t rispettivamente una variabile ed un termine. La sostituzione α[t/x] di x con t in una formula α e’ definita per induzione sulla formula: (1) se α e’ atomica: ⊥[t/x] = ⊥; R(t1 , . . . , tn )[t/x] = R(t1 [t/x], . . . , tn [t/x]); CAPITOLO 7 9 (2) (α β)[t/x] = α[t/x] β[t/x]; (¬α)[t/x] = ¬(α[t/x]); (3) se α = Qy γ, Q = ∀, ∃, ed x = y allora α[t/x] = α; se invece x ̸= y, allora α[t/x] = Qy (γ[t/x]). In modo simile, si definirebbe la sostituzione simultanea α[t1 , . . . , tn /x1 , . . . , xn ]. Si noti che [x1 , . . . , xn /x1 , . . . , xn ] ´e la sostituzione identica. Per esempio: R(x) → Q(x, y)[f (x, y), g(y)/x, y] = R(f (x, y)) → Q(f (x, y), g(y)) mentre R(x) → Q(x, y)[f (x, y)/x][g(x)/y] = R(f (x, g(y))) → Q(f (x, g(y), g(y)). Effettuando una sostituzione puo’ capitare che una variabile del termine sostituendo finisca in α per essere sotto l’azione di un quantificatore. Per esempio, . . (∃x (x = y))[g(x)/y] = ∃x (x = g(x)). Questo e’ a volte foriero di problemi; invero fara’ comodo, nelle interpretazioni delle formule, poter avere che se una formula e’ sempre soddisfatta in una struttura ( per esempio . la ∃x (x = y) sara’ valida comunque si interpreti y) allora rimane valida in quella strut. tura anche dopo una sostituzione ( ∃x (x = g(x)) invece non e’ valida se, per esempio, si tratta di una algebra di Boole, e l’operazione che realizza g e’ la complementazione. E’ pertanto necessario tenere sotto controllo la situazione, mediante la seguente nozione: il termine t e’ libero per x in una formula α ( a volte abbreviamo in LIB(t, x, α)) se, sinteticamente, nessuna variabile di t diventa vincolata in α[t/x]. La definizione induttiva della relazione LIB(t, x, α)) ´e la seguente: (1) se α e’ atomica, ´e sempre LIB(t, x, α) ; (2) LIB(t, x, α β) se e solo se LIB(t, x, α) e LIB(t, x, β); LIB(t, x, ¬α) sse LIB(t, x, α); (3) LIB(t, x, Qy α) sse y ∈ / F V (t) e LIB(t, x, α). Nozioni simili si usano anche per la sostituzione simultanea di pi´ u variabili con termini. 8. Formule chiuse Tra le formule, si distinguono quelle che non hanno occorrenze di variabili libere: α ∈ F ORM e’ una formula chiusa o un enunciato del linguaggio L se F V (α) = ∅. (Nelle interpretazioni su una data struttura di cui al seguente paragrafo gli enunciati sono quelle espressioni portatrici di senso e che esprimono una proposizione, come in genere le formule esprimono funzioni proposizionali proposizionali.) Si noti che una formula atomica R(t1 , . . . , tn ) e’ un enunciato sse i termini ti sono tutti chiusi. Se in L non vi sono segni di operazione zeroarie ne’ di costanti, l’ unico enunciato atomico sara’ ⊥. In generale, in un enunciato o non vi e’ alcuna occorrenza di variabile, oppure qualunque occorrenza di variabile e’ vincolata. 10 CAPITOLO 7 Con SEN T o se necessario con SEN T (L) denotiamo l’ insieme degli enunciati del linguaggio L. Infine, una formula α si chiama aperta se non contiene alcun quantificatore: cioe’ se e’ atomica o e’ una combinazione booleana (cioe’ mediante i soli connettivi) di formule atomiche. Si noti che una formula puo essere sia aperta che chiusa, per esempio: una formula atomica chiusa. 9. Interpretazione delle formule para PREMESSA. L ’interpretazione delle formule di un linguaggio L in una struttura per L consente di ricostruire una nozione precisa di funzione proposizionale (o perlomeno di alcuni aspetti di tale nozione linguistica). In pratica, per noi un ”funzione proposizionale del primo ordine nelle variabili x1 , . . . , xn ” sara’ una coppia (α, A) con α formula di un linguaggio L, con F V (α) = {x1 , . . . , xn }, ed A una struttura per L. Data una struttura A per il linguaggio L, il punto di partenza sara’ una interpretazione delle variabili in A , ossia una funzione I : V AR 7→ A. Con IN T (A) denotiano l’insieme di tutte le interpretazioni delle variabili in A. L’ obiettivo e’ di definire quando una formula α e’ “soddisfatta” o “valida” in A sotto l’ interpretazione I. Tale definizione andr´a necessariamente prodotta per induzione sulle formule. Per applicare il teorema di definizione per induzione sulle formule, ci interesseremo, per una formula α , ad un certo insieme di interpretazioni: quelle le interpretazioni che la ”rendono valida in” A. Per es.: α = R(x, y) → ¬Q(y); se R, Q sono simboli di predicati, e nella struttura A sono letti come RA ⊆ A × A, QA ⊆ A, ed I manda x ad a ∈ A, y a b ∈ A, che I ”rende valida” α significa che (a, b) ∈ RA comporta b ∈ QA , ossia che b ∈ QA oppure (a, b) ∈ / RA . Con i quantificari, per´o, la faccenda e’ meno immediata. Per es.: β = ∀xα = ∀x(R(x, y) → ¬Q(y)); quando avremo che I ”rende valida” β in A?. L’ idea e’ che α debba valere per ogni possibile valore assegnato da I ad x. Ma la I ´e una data interpretazione; essa assegna ad x uno ed un sol preciso valore in A. Bisognera’ allora considerare tutte le interpretazioni possibili che sulle variabili diverse da x coincidono con I: la β sara’ ”resa valida” da I in A se e solo se qualunque di queste altre speciali interpretazioni (le chiameremo: varianti di I rispetto ad x) rende valida la formula α in A: questo consentira’ il passo induttivo del quantificatore ∀. In questo passo induttivo abbiamo a che fare non solo con I, ma con l ’insieme di tutte le sue varianti su x. Quindi l’ applicazione del teorema sulle definizioni induttive va precisato come segue. 9.1. Fissiamo una struttura A. Consideriamo l’ algebra insiemistica booleana su H = P(IN T (A)) dei sottoinsiemi di IN T (A). Le operazioni H corrispondenti ai connettivi, sono quelle insiemistiche: unione per H∨ , complementazione per H¬ , intersezione per H∧ Circa H→ , come in ogni algebra di boole: Hf r(S, T ) = (IN T \ S) ∪ T. Per introdurre le H∀n , H∃ n , , una per ogni variabile xn , usiamo la seguente nozione: se I, I ′ ∈ IN T (A), diciamo che I, I ′ differiscono al piu’ su una certa variabile x, e lo CAPITOLO 7 11 denotiamo con I ′ =x I, se per ogni variabile y diversa da x, I(y) = I ′ (y). Una tale I ′ si dira’ una variante di I sulla variabile x. Ci sono tante varianti di I su x quanti sono gli elementi dell’ insieme base A della struttura; anzi, per a ∈ A conviene indicare con Ixa quella variante di I che manda x in a. Le varianti di I su x (sempre in riferimento alla stessa strutturaA), sono quindi {Ixa |a ∈ A}. Dopo di che , per S ⊆ IN T (A), definiamo: H∀n (S) = {I| per ogni I ′ , (I ′ =xn I ⇒ I ′ ∈ S)} = {I|Ixan ∈ S per ogni a ∈ A}; H∃ n (S) = {I|per qualche I ′ ∈ S, I ′ =n I} = {I|Ixan ∈ S per qualche a ∈ A}. Cominciamo ora dalle formule atomiche. Con V AL(α) ⊆ IN T (A) [ o, per maggior chiarezza dovremmo scrivere: V AL(α, A) : tutto dipende dalla data struttura A], indichiamo l’ insieme delle interpretazioni che rendono valida α in A ; la definizione per α atomica e’ la seguente: (1) V AL(⊥) = ∅; . (2) V AL(t = t′ ) = {I|tA,I = t′A,I }; A,I (3) V AL(R(t1 , . . . , tn )) = {I| < tA,I >∈ RA }, 1 , . . . , tn per ogni n ∈ ω, R ∈ Rn , t, t′ , ti ∈ T ERM. Abbiamo cosi’ una funzione V AL dall’insieme delle formule atomiche verso H. . Si noti che = viene interpretato come l ’identita’, e che per la formula atomica generica occorrera’ prima valutare i termini e poi utilizzare la relazione che realizza in A il segno di relazione R ∈ Rn . A questo punto il teorema di definizione per induzione sulle formule assicura che esiste un’ unica estensione di V AL a F ORM , che denoteremo ancora con V AL, tale che: V AL(α ∧ β) = V AL(α) ∩ V AL(β); V AL(α ∨ β) = V AL(α) ∪ V AL(β); V AL(α → β) = (IN T (A) \ V AL(α)) ∪ V AL(β); V AL(α ↔ β) = ((IN T (A) \ V AL(α)) ∪ V AL(β)) ∩ ((IN T (A) \ V AL(β)) ∪ V AL(α)); (5) V AL(¬α) = IN T (A) \ V AL(α); (6) V AL(∀ xn α) = H∀ n (V AL(α)), cio´e: I ∈ V AL(∀xα) sse {Ixa |a ∈ A} ⊆ V AL(α); (7) V AL(∃ xn α) = H∃ n (V AL(α)), cio´e: I ∈ V AL(∃xψ sse {Ixa |a ∈ A} ∩ V AL(α) ̸= ∅. (1) (2) (3) (4) Circa il connettivo↔, sara’ considerato come definito mediante → e ∧. La nozione basilare della semantica del primo ordine e’: 12 CAPITOLO 7 Definizione 2. La formula α e’ soddisfatta da o e’ vera nella o e’ valida nella struttura A sotto l’interpretazione I se I ∈ V AL(α); questa circostanza sara’ denotata da: A, I |= α oppure da |=A,I α; o a volte – riutilizzando i valori di verita´a –, da [[α]]A,I = 1. Quando invece I ∈ / V AL(α), scriveremo A, I ̸|= α oppure ̸|=A,I α oppure [[α]]vvA,I = 0. Quando il contesto determina la struttura A, scriviamo anche semplicemente: I |= α oppure I ̸|= α. E’ chiaro a questo punto che la coppia “ α, A” sia una espressione formale precisa per una funzione proposizionale : dare valore alle variabili si realizza mediante la scelta di una interpretazione I e si otterra’ il valore V ERO se e solo se A, I |= α. In pratica e’ utile formulare alla maniera classica di A. Tarski le proprieta’ fondamentali della relazione come segue: Proposizione 6. Per I ∈ IN T (A), α, β ∈ F ORM si ha: (1) se α e’ atomica: i A, I ̸|= ⊥; . ii A, I |= (t = t′ ) sse tA,I = t′A,I ; A,I >∈ RA ; iii A, I |= R(t1 , . . . , tn ) sse < tA,I 1 , . . . , t1 (2) A, I |= α ∧ β sse A, I |= α e A, I |= β; (3) A, I |= α ∨ β sse A, I |= α oppure A, I |= β; (4) A, I |= α → β sse ( A, I ̸|= α oppure A, I |= β); (5) A, I |= α ↔ β sse ( A, I |= α sse A, I |= β); (6) A, I |= ¬α sse A, I ̸|= α; (7) A, I |= ∀x α sse per ogni I ′ che differisca da I al piu’ su x, si ha A, I ′ |= α; (8) A, I |= ∃x α sse per almeno un I ′ che differisca da I al piu’ su x, si ha A, I ′ |= α. La dimostrazione consiste in un’ ovvia rilettura delle clausole di definizione della funzione V AL. NOTA. Comunemente l’ enunciato della proposizione 6 si trova dato come definizione ” per induzione su α” della relazione ternaria ”A, I |= α” tra strutture, interpretazioni, formule. Nelle clausole (7) e (8) l’ ipotesi induttiva non solo si riferisce ad α ma anche alle interpretazioni che differiscono da I al pi´ u su x; infatti in tale passo induttivi, si da’ per scontato che conosciamo gia’ tutte le interpretazioni I ′ , che siano varianti di I su xn , e per le quali –per ipotesi induttiva, sappiamo gia’ cosa significhi che A, I ′ |= α valga. CAPITOLO 7 13 Il lavoro fatto prima con gli insiemi V AL(α) ´e un modo per rendere chiara l’applicazione del teorema sulle definizioni per induzione sulle formule che sta dietro una tale definizione. Il fatto che la A, I |= α sia definita per induzione su α, consente di procedere con dimostrazioni per induzione sulla formula e la prima osservazione molto importante e’ che interpretando una formula, le uniche variabili che interessano sono quelle che hanno occorrenze libere nella formula: Proposizione 7. Se I, I ′ ∈ IN T (A), e per ogni x ∈ F V (α), I(x) = I ′ (x), allora A, I |= α sse A, I ′ |= α. DIM. Per il caso atomico, si usa l ’analogo risultato per i termini (prop.5). Per i connettivi, il passo induttivo e’ pressoche’ ovvio: per es.:sono equivalenti le seguenti: – A, I |= (α ∨ β) sse –per definizione– – A, I |= α oppure A, I |= β sse – per ipotesi induttiva– – A, I ′ |= α oppure A, I ′ |= β sse– per definizione A, I ′ |= (α ∨ β). Sia ora A, I |= ∀ x ψ. Avremo che I, I ′ coincidono su F V (ψ) \ {x}. Dobbiamo mostrare che A, I ′ |= ∀xψ, cioe’ dobbiamo mostrare che se I ′′ ´e una qualunque interpretazione tale cheI ′′ = xI ′ ; si ha A, I ′′ |= ψ. Data una tale I ′′ , si definisca I ′′′ come variante di I su x, salvo che I ′′′ (x) = I ′′ (x). Avremo I ′′′ =x I, e pertanto A, I ′′′ |= ψ. Ma I ′′′ , I ′′ coincidono su F V (ψ), e pertanto per ipotesi induttiva, A, I ′′ |= ψ. Per l’ arbitrarieta’ di I ′′ concludiamo (per definizione) che A, I ′ |= ∀x ψ. L’altro verso, come pure il caso di ∃, si trattano in modo simile. Per es.: la formula α = ∃xR(x, y) puo’ essere interpretata in una qualunque struttura in cui si sia fissata una relazione binaria come realizzazione del segno R. 1.Consideriamo i numeri naturali, e R(n, m) si intenda come “n < m”. Nell’ interpretazione di y := 2, la formula e’ soddisfatta. Nell’ interpretazione di y := 0, non e’ soddisfatta 2. Sempre sul dominio dei naturali, leggiamo ora R(n, m) come “n ̸= 1 e n divide m”. L’ interpretazione y := m rende valida la formula se e solo se m non e’ un numero primo. 3.Sempre sullo stesso dominio, R(n, m) si realizzi come “n ≤ m ”. Ora la formula e’ soddisfatta da qualunque interpretazione della y. 4. Se cambiamo dominio, e prendiamo l’ umanit´a, con aRb per ”a ´e figlio di b” allora α e’ soddisfatta in una interpretazione I se e solo se I(y) ´e un genitore di qualcuno. Vedremo presto come con le formule del primo ordine si possono formalizzare svariate proprieta’ e funzioni proposizionali su una data struttura, o su una classe di strutture. La prop. 7 consente un’ utile notazione: sia φ una formula con F V (φ) ⊆ {x1 , . . . , xn }; e siano a1 , . . . , an elementi (non necessariamente distinti) di A; scriveremo: 14 CAPITOLO 7 (♣) A |= φ(a1 , . . . , an ) per abbreviare che in una (qualunque) interpretazione I tale che I(x1 ) = ai , i = 1, . . . , n, si ha A, I |= φ. Si noti che di per s´e, la scrittura φ(a1 , . . . , an ) e’ priva di senso: in particolare non indica certo che stiamo sostituendo alle variabili elementi di A, che sarebbe un grave errore sintattico; alle variabili possiamo solo sostituire termini del linguaggio. 10. Modelli, Soddisfacibilita’ Conseguenza logica Dalla Prop. 7, segue immediatamente: Corollario 1. Se α ´e un enunciato (formula chiusa), il suo esser valida o meno in una struttura A non dipende dall’ interpretazione I, poiche’ F V (α) = ∅ : o si ha V AL(α) = ∅ oppure V AL(α) = IN T (A). Ossia un enunciato α e’ valido in A sotto qualunque interpretazione delle variabili, o sotto nessuna. Definizione 3. Per un enunciato α scriveremo A |= α e diremo anche che A e’ un modello di α, se c’e’ una intepretazione I ∈ IN T (A) con A, I |= α; equivalentemente, se per ogni I ∈ IN T (A), A, I |= α. Questa notazione e’ anche in accordo con(♣), con n = 0. Se A non e’ un modello di α, scriviamo A ̸|= α; si noti che, essendo α un enunciato, questo equivale a A |= ¬α. Definizione 4. Se Γ e’ un insieme di enunciati, si dice che A e’ modello di Γ e scriviamo: A |= Γ quando tutte le formule di Γ sono valide in A. La nozione di “modello” si puo’ estendere a formule qualunque. All’ uopo, definiamo la cosidetta chiusura universale ∀ α di una formula α, che consiste nel premettere alla formula la quantificazione universale di ciascuna delle variabili in F V (α). Per fissare le idee se F V (α) = {xi1 , . . . , xin }, con l’ ordine alfabetico i1 < · · · < in , definiamo ∀ α = ∀xi1 (. . . (∀xin α) . . . ). Definizione 5. Per una formula qualunque α diremo che A e’ modello di α se A |= ∀α. Se Γ ⊆ F ORM, diremo che A `e modello di γ se A |= ∀γ per ogni γ ∈ Γ. Per esempio: 1. I modelli della formula R(x, y) → R(y, x) CAPITOLO 7 15 sono esattamente le strutture in cui il segno di relazione R si realizza in una relazione simmetrica; mentre i modelli di: . ¬R(x, x)∧(R(x, y)∧R(y, z) → R(x, z))∧(R(x, y) → ¬R(y, x)) wedge((x = y)∨R(x, y)∨R(y, x)) sono le strutture in cui R si realizza come relazione d’ ordine stretto totale. 2. Fissato un numero naturale k ≥ 1, in modo simile, si puo’ scrivere una formula ϑk che esprima: ”ci sono almeno k elementi”: ∧ . ∃x1 . . . ∃xk ( (¬(xi = xj )|i, j ≤ k, i ̸= j)) : i modelli di ϑ sono le strutture contenenti almeno k elementi. Per definizione, avremo che anche i modelli della formula: ∧ . (¬(xi = xj )|i, j ≤ k, i ̸= j) sono le strutture con almeno k elementi. Altrettanto importante e’ la nozione di soddisfacibilita’: Definizione 6. Una formula α e’ soddisfacibile in una struttura A se esiste un interpretazione I per le variabili tale che A, I |= α. Se α e’ un enunciato, equivale a dire che A e’ un modello di α.Una formula α e’ soddisfacibile se e’ soddisfacibile in una qualche struttura. Per collegare le due nozioni, si introduce, in modo analogo alla chiusura universale, la chiusura esistenziale ∃α di una formula α; se F V (α) = {xi1 , . . . , xin }, con l’ ordine alfabetico i1 < · · · < in , definiamo ∃ α = ∃xi1 (. . . (∃xin α) . . . ). E’ allora evidente che α e’ soddisfacibile in A se e solo se A e’ un modello di ∃ α. La formula α e’ soddisfacibile sse ∃ α ha un modello. Se α non e’ soddisfacibile, si dice che α e’ insoddisfacibile. Definizione 7. Un insieme Γ ⊆ F ORM e’ soddisfacibile se esistono una struttura A ed un’ interpretazione I su A tali che per ogni φ ∈ Γ, A, I |= φ. Se Γ ⊆ SEN T e’ un insieme di enunciati, esso e’ soddisfacibile se e solo se esso ha un modello. Γ ⊆ F ORM ´e insoddisfacibile se Γ non e’ soddisfacibile, ossia per ogni struttura A esistono una formula γ ∈ Γ ed un’ interpretazione I su A tali che A, I ̸|= γ. Se Γ ⊆ SEN T e’ un insieme di enunciati, esso e’ insoddisfacibile se e solo se non ha alcun modello, se e solo se per ogni struttura A esiste una formula γ ∈ Γ tale che A ̸|= γ. 16 CAPITOLO 7 Definizione 8. Diremo che α sia una conseguenza logica ( o censeguenza semantica) di un insieme Γ di formule, e lo denoteremo con: Γ |= α, se per ogni struttura A, e per ogni interpretazione I, se A, I |= γ per ogni γ ∈ Γ, allora A, I |= α. Se Γ e’ finito = {γ1 , . . . , γn }, scriviamo a volte γ1 , . . . , γn |= α invece di Γ |= α. Γ, ψ |= α sta per Γ ∪ {ψ} |= α. Se Γ = ∅, scriviamo |= α. La negazione di Γ |= α si denota con: Γ ̸|= α. Questo significa che esistono una A ed una I ∈ IN T (A), tali che I |= γ per ogni γ ∈ Γ, mentre I ̸|= α.. Se Γ ⊆ SEN T e’ un insieme di enunciati, ed α´e un enunciato, Γ |= α se e solo se ogni modello di Γ ´e modello anche di α. Una formula per cui |= α si chiama una formula logicamente o universalmente valida ovvero una verita’ logica. Si noti che α e’ una verita’ logica se e solo se ∀ α e’ una verita’ logica. Proposizione 8. (1) Γ ̸|= α sse Γ ∪ {¬α} e’ soddisfacibile; (2) Γ |= α sse Γ ∪ {¬α} e’ insoddisfacibile; (3) Γ |= ¬α sse Γ ∪ {α} e’ insoddisfacibile; (4) α e’ insoddisfacibile sse ¬α e’ una verita’ logica; α e’ una verita’ logica sse ¬α e’ insoddisfacibile. (5) ¬α soddisfacibile non comporta che α sia insoddisfacibile. (6) α soddisfacibile e β soddisfacibile non sempre comportano che α∧β soddisfacibile. (7) Da α soddisfacibile e α → β soddisfacibile non sempre consegue β soddisfacibile. (8) Puo’ capitare che ne’ α ne’ ¬α siano verita’ logiche. DIM La dimostrazione, del resto molto semplice, di 1,2,3,4 e’ lasciata per esercizio . al lettore. Per 5, si prenda per α la formula x = y : sia α che ¬α sono ovviamente soddisfacibili. Per lo stesso motivo, si ha la 6: α ∧ ¬α essendo chiaramente insoddisfacibile. Per la 7: α ed α → ⊥ sono soddisfacibili, mentre ⊥ non lo `e. Infine la 8: n´e tale α n´e ¬α sono verita’ logiche; la prima comporterebbe che tutte le strutture hanno un sol . elemento; ¬(x = y) e’ falsa in qualunque interpretazione I con I(x) = I(y). ´ espressiva del linguaggio del primo ordine 11. Capacita ´ comodo scrivere φ(x1 , . . . , xn ) per denotare che F v(φ) ⊆ {x1 , . . . xn }. In tale cirE costanza se t1 , . . . , tn sono termini, ´e comodo scrivere φ(t1 , . . . , tn ) invece che φ[t1 , . . . , tn /x1 , . . . , xn ]. In generale, quando scriviamo una formula φ(x, y, z, ...) diamo per inteso che le variabili sono tutte distinte tra loro e distinte dalle variabili che occorrono vincolate in φ, ossia entro l’azione di quantificatori. Per esempio se φ(x) = ∃y¬R(x, y), con R segno di CAPITOLO 7 17 relazione binaria, diamo per scontato che x, y sono variabili diverse; se f (z, x) ´e un termine, con φ(f (z, x)) si intende la formula ∃y¬R(f (z, x), y). (Succede qualcosa di spiacevole se il termine sostituito ad x contiene una y che sia’ quantificata in φ(x) : per ora, stiamo attenti a differenziare per chiarezza in una sostituzione [t/x in varphi e’ buona norma badare che t sia libero per x in φ.). Una formula φ con esattamente le n variabili libere distinte x1 , . . . , xn intuitivamente ”esprime una relazione n-aria”. Precisamente: data una struttura A per il linguaggio di φ, possiamo dire che a1 , . . . , an soddisfano φ in A se per l’ interpretazione I su A che assegna a ciascuna xi il valore ai , si ha A, I |= φ. Un enunciato ψ esprime semplicemente una proprieta’ della struttura: o e’ valido in A o no. E’ abitutale esprimere proprieta’ di A, a volte, con formule contenenti variabili libere: come si e’ visto, in tal caso si intende la chiusura universale della formula; per esempio per un’ operazione binaria + . le strutture in cui essa e’ commutativa sono i modelli di : = (x, y) = (f (y, x); che, . naturalmente uno scriverebbe in forma infissa: x + y = y + x.. 11.1. Possiamo descrivere ”esiste esattamente un oggetto tale che φ(x) :” . ∃x(φ ∧ ∀z(φ[z/x] → z = x)); oppure ”φ(x) vale per almeno due oggetti”: . ∃x∃y(φ ∧ φ[y/x] ∧ ¬(x = y)) oppure”φ(x) vale per esattamente due oggetti”: . . . ∃x∃y(φ ∧ φ[y/x] ∧ ¬(x = y) ∧ ∀z(φ(z) → (z = x ∨ z = y))). 11.2. Fissato un numero naturale k ≥ 1, in modo simile, si puo’ scrivere una formula chiusa ϑk che esprima: ”ci sono almeno k elementi”: ∧ . ∃x1 . . . ∃xk ( (¬(xi = xj |i, j ≤ k, i ̸= j)). Se poi Ω = {ϑk |k ∈ ω, k ≥ 1} , i modelli di Ω sono le strutture infinite. (Vedremo piu’ avanti che invece non esiste alcun insieme di enunciati i cui modelli siano esattamente le strutture finite.) Per esprimere ”ci sono esattamente k elementi”, potremmo prendere: ∧ ∨ . . ( (¬(xi = xj )|i, j ≤ k, i ̸= j)) ∧ ∀y( (y = xi |i = 1, . . . , k)) 18 CAPITOLO 7 11.3. Molti assiomi di strutture matematiche si scrivono al primo ordine nel relativo linguaggio. Per esempio, la nozione di gruppo, in un linguaggio con solo un segno di funzione binaria f si esprimerebbe dicendo che un gruppo e’ una struttura per tale linguaggio che e’ modello delle formule: . – f (x, f (y, z)) = f (f (x, y), z) ( e si intende: la chiusura universale); . . . . – ∃x(∀y(f (x, y) = y ∧ f (y, x) = y) ∧ ∃z(f (y, z) = x ∧ f (z, x) = x)). Se cambiamo linguaggio, ed abbiamo oltre ad f, anche un segno di funzione unaria h (per l ’inverso) ed una costante c (per l’elemento neutro), un gruppo sara’ un modello di : . . . . . f (x, f (y, z)) = f (f (x, y), z) ∧ f (x, h(x)) = c ∧ f (h(x), x) = c ∧ f (x, c) = x ∧ f (c, x) = x; e ora si tratta di una congiunzione di relazioni atomiche di identita’. 11.4. I detti popolari si prestano ad esercitarsi nel formulare esempi di formule di primo ordine in adeguati linguaggi. ”Non c’e’ due senza tre” : . . . ∃x∃y(¬(x = y) ∧ φ(x)φ(y)) → ∃z(¬x = y ∧ y = z ∧ φ(z)) : esprime che se due oggetti distinti soddisfano φ, allora ce ne n’´e un terzo (ammesso che questo sia il senso del detto). ”Chi non risica non rosica”: se R, S sono segni di predicato unarii per ”risica” e ”rosica”: (0) ∀x(¬R(x) → ¬S(x). La stessa formula in ambiete diverso avra’ tutt’ altro significato. Per esempio sui reali R, e se R denota ”essere positivo” ed S denota ”essere il quadrato di un numero razionale”, la formula (0) e’ valida. Se invece R denota ”essere positivo” ed S denota ”avere una radice cubica” , la stessa formula (0) non e’ valida. 11.5. Consideriamo una normale equazione (∗) 2x3 + x2 + 2 = 0 sul campo reale R. Essa non e’ altro che una funzione proposizionale sui reali con una variabile libera: per certi valori sara’ falsa e per altri sara’ vera. Vediamo come essa non sia altro che una formula atomica di un opportuno linguaggio. Per esempio consideriamo il linguaggio . L1 con due soli segni di operazione binaria :f, g, nessun segno di relazione (salvo =) e due segni di costante c, d. R diventa una struttura per questo linguaggio interpretando f come l’ addizione, g come la motiplicazione, a come 0, e d come 1. Vediamo di scrivere (∗) come formula atomica di questo linguaggio: siccome + e’ binaria dobbiamo raggruppare i termini, che in (∗) sono scritti di seguito (utilizzando l’ associativita’ di +, ·) φ: . f (g(f (d, d), g(x, g(x, x))), f (g(x, x), f (d, d)) = a. CAPITOLO 7 19 Questa formula φ rappresenta (∗) nel senso che risolvere (∗) significa: trovare tutte le interpretazioni I tali che R, I |= φ. Siccome φ ha solo x libera, in pratica significa trovare quali valori assegnati a x rendono soddisfatta φ in R. Se avessimo dei coefficienti generici come in: (∗∗) a1 x3 + a2 x2 + a3 = 0 e lavorando nello stesso linguaggio L1 , allora i coefficienti diventano altre variabili distinte y1 , y2 , y3 e diverse da x : ψ: . f (g(y1 , g(x, g(x, x))), f (g(y2 , g(x, x)), y3 )) = a. Abbiamo 4 variabili libere; risolvere (∗∗) per coefficienti generici ai adesso significa: fissati comunque valori reali a1 , a2 , a3 ∈ R, trovare tutte le interpretazioni I che assegnano I(yi ) = ai e che soddisfano ψ. Cambiamo linguaggio: in L2 ci sono solo due segni di operazione unaria h, k uno di operazione binaria f e la costante d, che in R si leggono come: elevare al cubo, elevare al quadrato, l’addizione e il numero 1. Stavolta non abbiamo una costante per lo zero. Tuttavia 0 e’ elemeto neutro per l’ addizione: la nostra equazione in L2 si puo’ scrivere prendendo le variabili x, y distinte: δ: . ∀yf (f (f (f (h(x), h(x)), k(x)), f (d, d)), y) = y, Abbiamo aggirato l’ assenza della costante per zero, dicendo che ”per ogni y, (2x3 + x2 + 2) + y e’ uguale a y”. Le soluzioni di (∗) in R sono esattamente le interpretazioni I tali che R, I |= δ. . 11.6. Nel linguaggio (oltre il segno di uguaglianza =) c’´e un segno di funzione binaria f che nel dominio dei numeri reali si interpreti come l’ operazione di moltiplicazione. Scrivere una formula D(x, y) con x, y variabili libere che nello stesso dominio sia soddisfatta se e solo se si assegna ad x un valore positivo e ad y l’inverso del valore di x. Possiamo descrivere ”x e’ positivo” come: x ´e il quadrato di un numero diverso da zero”. Possiamo descrivere ”b ´e zero” come: per ogni reale a, ab = a. Che a sia inverso di b si puo’ espimere : ab = 1; e c e’ uguale a 1” si puo’ descrivere come ”per ogni d reale, dc = d. Alla fine ecco una possibile formula per D(x, y) : . . . (∃z(f (z, z) = x ∧ (∀v(∀w(f (w, v) = v) → ¬(z = v))))) ∧ (∀w(f (f (x, y), w) = w)) 20 CAPITOLO 7 11.7. Nel linguaggio c’e un segno di relazione binaria R; sul dominio degli esseri umani, si interpreti come: aRb se e solo se a e’ figlio di b. Scriviamo una formula φ(x) soddisfatta esattamente da coloro che non hanno (avuto mai) cugini. Un cugino/a di x e’ figlio/a di uno/a zio/a di x, ed uno/a zio/a di x e’ figlio/a di un/a nonno/a di x: . ¬(∃y∃z∃v∃w∃w(R(x, y) ∧ R(y, z) ∧ R(v, z) ∧ ¬(v = y) ∧ R(w, v)). . Il punto cruciale qui era ¬(v = y), altrimenti avremmo scritto che x non ha nonni .... . 11.8. Avendo (oltre il segno di uguaglianza) solo: una costante c ed un segno R(x, y) di relazione binaria, che nel dominio dei numeri interi si interpretano come lo zero e l’ usuale relazione ≤, , scrivere una formula P (x) con una sola variabile libera x che nello stesso dominio descriva la proprieta’: ”x e’ minore di -1 ”. Cominciamo a descrivere ”a ´e uguale a −1”; negli interi significa: a ≤ 0 ma nessun b esiste tale che a < b < 0. Quindi una possibile formula P (x) : . . . ∃y(R(y, c) ∧ ¬∃z(R(y, z) ∧ R(z, c) ∧ (¬(y = z)) ∧ (¬(z = c))) ∧ R(x, y) ∧ ¬(x = y)). 12. Prime proprieta’ della logica del primo ordine Sar´a importante la seguente CONVENZIONE A meno che non sia indicato diversamente, ogni volta che si considera una formula assoggettata ad una sostituzione , quale α[t/x] o in genere α[t1 , . . . , tn /x1 , . . . , xn ], si da’ per scontato che il termine t sia libero per x in α, o che i termini t1 , . . . , tn siano liberi per x1 , . . . , xn in α. Vedremo presto che questa convenzione, per quanto attiene a studiare relazioni di conseguenza logica, non ´e restrittiva. 12.1. Cominciamo con un lemma tecnico di uso frequente che collega interpretazioni e sostituzioni: Lemma 1. Siano α una formula e t un termine libero per x in α. Qualunque sia I un’ interpretazione in una struttura A, si consideri l’ interpretazione I ϵ = Ixb con da b = (t)A,I . Allora A, I ϵ |= α sse A, I |= α[t/x]. dim Per induzione sulla formula α. Caso atomico: se α = ⊥, la cosa e’ ovvia. Sia . α = t = t′ . Il risultato consegue dalla proposizione 4 nel caso α = R(⃗t). Caso booleano: α = φ ψ o α = ¬φ : il risultato e’ pressoche’ ovvio. Quantificatori. Sia α = ∃yφ. 1.caso: x = y, oppure x ̸= ma x ∈ / F V (φ). Si tratta di mostrare che A, I ϵ |= ∃xφ sse A, I |= ∃xφ, il che e’ ovvio dal fatto che Ixb =x I. CAPITOLO 7 21 2.caso: x ̸= e x ∈ F V (φ). Si noti che allora t non puo’ contenere la variabile y : quindi b non dipende dal valore attribuito ad y. Supponiamo che A, Ixb |= ∃yφ. (Nel b,c seguito evitiamo di menzionare A.) Allora esiste un c ∈ A, tale che si ha Ix,y |= φ. ′ c ′b b,c c,b c,b Consideriamo I = Iy : ovviamente I x = Ix,y = Iy,x ; Quindi Iy,x |= φ. Per l’ipotesi induttiva applicata alla formula φ ed all’ interpretazione Iyc , e osservando che Iyc (t) = b, avremo: esiste c ∈ A tale che A, Iyc |= φ[t/x]; ed infine, per definizione A, I |= ∃y(φ[t/x]). Ma ∃y(φ[t/x]) = (∃yφ)[t/x]). Supponiamo viceversa che A, I |= ∃y(φ[t/x]); allora per qualche c ∈ A, avremo A, Iyc |= φ[t/x]. Per ipotesi induttiva applicata a φ ed alla interpretazione Iyc (notando che Iyc (t) = b), b,c b,c c,b c,b |= φ. |= φ; ma ovviamente Iy,x = Ix,y ; quindi esiste c ∈ A tale che Ix,y otteniamo Iy,x b Per definizione, conlcudiamo che Ix |= ∃yφ. Per il caso di ∀ si ragiona analogamente. Lasciamo per esercizio al lettore di formulare e dimostrare un lemma simile per il caso di una sostituzione simultanea [⃗t/⃗x]. Ecco alcune applicazioni di questo lemma: Proposizione 9. Se (secondo la convenzione) y e’ libera per x in α e y ∈ / F V (α), si ha: |= ∀x α ↔ ∀y (α[y/x]); |= ∃x α ↔ ∃y (α[y/x]); DIM. Si tratta di dimostrare che per ogni struttura A e per ogni interpretazione I ∈ IN T (A) si ha A, I |= ∀x α sse A, I |= ∀y (α[y/x]). Per l’implicazione “⇒”, sia I ′ =y I : occorre provare che I ′ |= α[y/x]. Bastera’, per il lemma, provare che (I ′ )ϵ |= α, ove ora (I ′ )ϵ =x I ′ , e (I ′ )ϵ (x) = I ′ (y). Poich´e y ∈ / F V (α), si verifica facilmente che (I ′ )ϵ =x I; per cui la tesi segue dall’ interpretazione di ∀x. Per l’implicazione “⇐”, sia I ′ =x I; occorre provare che I ′ |= α. Consideriamo I ′′ =y I, con I ′′ (y) = I ′ (x). E’ facile controllare che I ′ =y (I ′′ )ϵ ; avremo allora da una parte, per potesi, I ′′ |= α[y/x], per cui, dal lemma, otteniamo (I ′′ )ϵ |= α, ed infine I ′ |= α poiche’ y∈ / F V (α). Lasciamo l’ analoga prova per ∃ al lettore. Corollario 2. Se y, z ∈ / F V (α), si ha |= ∀z (α[z/x]) ↔ ∀y (α[y/x]); |= ∃z (α[z/x]) ↔ ∃y (α[y/x]); Questo rende precisa l’ idea intuitiva che le variabili quantificate non hanno indivudualit´a. 22 CAPITOLO 7 Definizione 9. Definiamo ≈ (equivalenza logica) tra formule ponendo, per α, β ∈ F ORM, α ≈ β sse |= α ↔ β. Corollario 3. (Separazione di variabili libere/vincolate.) Per ogni formula α possiamo determinare una α′ ≈ α, e tale che in α′ nessuna variabile abbia occorrenze sia libere che vincolate. Baster´a invero cambiar nome a tutte le variabili vincolate in α, scegliendo nuove variabili, che non abbiano alcuna occorrenza in α : qui si fa uso del fatto che si hanno infiniti segni di variabile a disposizione. 12.2. ISTANZE PROPOSIZIONALI. Come conseguenza del teorema di definizione per induzione su P ROP avremo che per ogni funzione G : AT P 7→ F ORM esiste esattamente un’ estensione di G a P ROP tale che G(A B) = G(α) G(β), G(¬A) = ¬G(α), G(⊥) = ⊥, (α, β ∈ P ROP ). Una tal G si chiama una istanziazione da P ROP a F ORM. Diremo che α ∈ F ORM e’ una istanza di φ ∈ P ROP se esiste una siffatta G tale che α = G(φ); diremo che α `e una istanza atomica di φ ∈ P ROP se esiste una siffatta G tale che α = G(φ) ma con G(AT P ) ⊆ AT F ORM, (ossia G porta lettere proposizionali in formule atomiche). Se φ ´e una istanza di A ∈ P ROP, e’ suggestivo dire che φ ” ha la stessa forma proposizionale di ” A. La seguente proposizione fornisce casi di conseguenza logica o di leggi logiche del primo ordine come “istanze” di conseguenze logiche o leggi logiche proposizionali (usiamo |=0 per la relazione di conseguenza tra formula proposizionali): Proposizione 10. (1) Se Γ ∪ {α} ⊆ P ROP, G e’ un’ istanziazione da P ROP a F ORM e se Γ |=0 α allora G(Γ) |= G(α). (2) Se α ∈ F ORM e’ un’ istanza di una tautologia proposizionale, allora |= α. DIM. Sia A una struttura qualunque, ed I ∈ IN T (A). Si supponga che I |= G(γ) per ogni γ ∈ Γ. Tesi: I |= G(α). Definiamo la valutazione proposizionale v mediante: v(pi ) = 1 sse I |= G(pi ). E’ presto visto, per induzione su P ROP, che allora v(φ) = 1 sse I |= G(φ), per ogni φ ∈ P ROP. Allora avremo v(γ)) = 1 per γ ∈ Γ; onde v(α) = 1 per ipotesi, e quindi I |= G(a). La seconda parte segue immediatamente. E’ chiaro che dalla proposizione precedente, possiamo ottenere facilmente casi di equivalenza logica instanziando equivalenze proposizionali. Per esempio, quali che siano le formule α, β, si ha |= ¬(α → β) → ¬β, poich´e questa ha la forma di una tautologia ¬(A → B) → ¬B. Inoltre si ha: Proposizione 11. Per ogni formula α si ha: (1) ¬∀x α ≈ ∃x ¬α (2) ¬∃x α ≈ ∀x ¬α (3) ∀x α ≈ ¬∃x ¬α (4) ∃x α ≈ ¬∀x ¬α (5) ∀x∀y α ≈ ∀y∀x α CAPITOLO 7 23 (6) ∃x∃y α ≈ ∃y∃x α (7) Se x ∈ / F V (α), ∀x α ≈ α; ∃x α ≈ α. Dim. Vediamo alcuni casi, lasciando gli altri per esercizio al lettore. (1):Sia I una interpretazione su una generica struttura A, avremo che le seguenti sono equivalenti: I |= ¬∀x α I ̸|= ∀x α esiste I ′ =x I, I ′ ̸|= α esiste I ′ =x I, I ′ |= ¬α I |= ∃x ¬α. Circa (7): se I |= ∀x , e’ ovvio che I |= α. Per il viceversa si applica la proposizione 8 e da I |= α si ha, per ogni I ′ =x I, I ′ |= α. La relazione ≈ e’ (ovviamente) riflessiva, simmetrica e transitiva; essa `e anche compatibile con i connettivi e con i quantificatori: Proposizione 12. Se α ≈ α′ , β ≈ β ′ allora (1) α α′ ≈ β β ′ ; (2) ¬α ≈ ¬α′ ; (3) Qxα ≈ Qx(α′ ). DIM. Il caso dei connettivi e’ simile alla situazione proposizionale e viene lasciato al lettore. Vediamo il caso ∀ : siano A una struttura, I ∈ IN T (A); sia I |= ∀x α. Sia I ′ =x I : si ha I ′ |= α, e dall’ ipotesi α ≈ α′ , otteniamo I ′ |= α′ . Quindi I |= ∀xα′ . Il viceversa vale per simmetria Altre utili proprieta’ dell’ equivalenza logica: Proposizione 13. Se α, β ∈ F ORM : (1) ∀x(α ∧ β) ≈ ∀x α ∧ ∀x β; (2) ∃x(α ∨ β) ≈ ∃x α ∨ ∃x β; (3) Se x ∈ / F V (β), ∀x(α ∨ β) ≈ ∀x α ∨ β; (4) Se x ∈ / F V (β), ∃x(α ∧ β) ≈ ∃x α ∧ β; (5) Se x ∈ / F V (β), ∀x(α → β) ≈ (∃x α) → β; (6) Se x ∈ / F V (β), ∃x(α → β) ≈ (∀x α) → β; (7) Se x ∈ / F V (β), β → ∀x α ≈ ∀x(β → α); / F V (β), (8) Se x ∈ β → ∃x α ≈ ∃x(β → α). 24 CAPITOLO 7 DIM. Vediamo alcune di tali equivalenze, lasciando le altre come esercizio. Sia data una qualunque struttura A e sia I ∈ IN T (A). (1).Sia I |= ∀x(α∧β); allora per ogni I ′ =x I, si ha I ′ |= α, I ′ |= β sicche’ I |= ∀x α, I |= ∀x β. Viceversa sia I |= ∀x α ∧ ∀x β; quale che sia I ′ =x I : avremo I ′ |= α, I ′ |= β, onde I ′ |= α ∧ β; quindi I |= ∀x(α ∧ β). (4). Sia I |= ∃(α ∧ β); allora per qualche I ′ =x I, I ′ |= α ∧ β; allora I ′ |= α e quindi I |= ∃x α, ed inoltre I ′ |= β, onde (x ∈ / F V (β)) anche I |= β. Quindi I |= ∃x α ∧ β. Viceversa, sia I |= ∃x α ∧ β; cioe’ I |= ∃x α, I |= β. Allora per qualche I ′ =x I, I ′ |= α; ma anche I ′ |= β e percio’ I ′ |= α ∧ β, e infine I |= ∃x(α ∧ β). Si noti che 5,6,7,8 conseguono dalle precedenti 1-4 e dalle proposizioni precedenti; per esempio (x ∈ / F V (β)) : (∀x α) → β ≈ (¬∀x α) ∨ β ≈ (∃x ¬α) ∨ β ≈ ∃x(¬α ∨ β) ≈ ∃x(α → β) NOTE. 1.Si noti che in genere ∀x(α ∨ β) → ∀x α ∨ ∀xβ non e ’ una legge logica (ogni intero e’ a pari o dispari, ma non sono tutti pari ne’ tutti dispari). Similmente non sempre vale ∃x α ∧ ∃x β → ∃x(α ∧ β) . In generale la condizione x ∈ / F V (β) e’ essenziale in 3-8 nella proposizione precedente. (Esercizio: trovare controesempi in ciascun caso se si lascia cadere questa ipotesi) 2. Dalla propriet´a (6) si ricava in particolare: (⋆) |= ∃x(α → ∀yα[y/x]) infatti essa `e equivalente a (∀xα) → ∀yα[y/x] la quale `e chiaramente una verit´a logica ( prop. 9). La (⋆) ha un sapore paradossale: ”esiste un tizio tale che, se lui ha il cappello, allora tutti lo hanno.” Il paradosso `e solo apparente, in quanto si sta dicendo che o qualcuno non ha il cappello o ce l’hanno tutti, che `e una verit´a logica classica. La difficolt´a sta, semmai, nel fatto che non abbiamo idea di chi questo tizio possa essere. Questo indica come in una logica “costruttiva”, in cui se si afferma un’ esistenziale si deve essere in grado di indicare un testimone preciso, la equivalenza (6 ) non `e ammissibile. 12.3. Ancora alcune proprieta’ tecniche che riguardano le sostituzioni; intanto a volte intendiamo sostituire una formula al posto di una sottoformula in una formula. Un modo di formalizzare questa nozione e’ quella di ipotizzare un segno di relazione zeroario “jolly” $. Allora α[β/$] e’definito per induzione su α come segue: – se α e’ atomica e ̸= $, α[β/$] = α; invece $[β/$] = β; – (α α′ )[β/$] = α[β/$] α[β/$]; (¬α)[β/$] = ¬(α[β/$]), (Qxα)[β/$] = Qx(α[β/$]). Diremo che β e’ libera per $ in α se nessuna variabile libera di β risulta vincolata in α[β/$]. Il lettore puo’ fornire la corrispondente definizione per induzione, come pure la sostituzione simultanea di diversi jolly con altrettante formule. CAPITOLO 7 25 Cominciamo dalle sostituzioni successive: Proposizione 14. Siano x, y variabili distinte,t, r, s termini e α, β, γ formule: (1) Se x ∈ / F V (r), (t[s/x])[r/y] = (t[r/y])[s[r/y]/x]; (2) Se x ∈ / F V (r), e s, r sono liberi per x, y in α : (α[s/x])[r/y] = (α[s/y])[s[r/y]/x]; (3) Se β e’ libera per $ in α, e t e’ libero per x in α e in β : (α[β/$])[t/x] = (α[t/x])[β[t/x]/$]; (4) Se α, β sono libere per $, $′ in γ, β e’ libera per $′ in in α, e $ non ha occorrenze in β : (γ[α/$])[β/$′ ] = (γ[β/$′ ])[α[β/$′ ]/$]. DIM. 1. Per induzione su t. La cosa e’ ovvia se t e’ una costante o una variabile diversa da x, y. Se t e’ x, il lato sinistro e’ s[r/y]. Il lato destro e’ x[s[r/y]/x] = s[r/y]. Passo induttivo: pressoche’ ovvio. 2.Per induzione su α. Nel caso atomico si usa la 1. Per i passi induttivi: esercizio. Lasciamo per esercizio al lettore anche 3,4. . Se ci si accontenta di avere validita’ logica (non identit´a sintattica), abbiamo: Proposizione 15. (Teorema di sostituzione) Se t, r, s sono termini , α, β, γ formule: . . (1) |= r = s → t[r/x] = t[s/x]; . (2) |= r = s → (γ[r/x] ↔ γ[s/x]); (3) Se α e β sono liberi per $ in γ : |= (α ↔ β) → (γ[α/$] ↔ γ[β/$]). DIM. Ricordiamo la convenzione sulle sostituzioni di termini. Siano A una struttura ed I ∈ IN T (A); e si assuma che rI = sI (tralasciamo di indicare A) e che I |= α ↔ β. 1.Si procede per induzione su t. Se t e’ una costante o una variabile diversa da x, la cosa e’ ovvia; se t = x, la tesi coincide con l’ipotesi. Il banale passo induttivo e’ lasciato per esercizio al lettore. 2. Si deve mostrare che I |= γ[r/x] sse I |= γ[s/x]. Si procede per induzione su γ. [Esercizio.] 3. Per induzione su γ, si dimostra che I |= γ[α/$] sse I |= γ[β/$]. Se γ `e atomica e diversa da $, la tesi, cio`e I |= γ[α/$] sse I |= γ[β/$], `e banale; se γ `e $, la tesi `e l’ ipotesi. Per i passi induttivi, su usi la proposizione 13. 13. Forme normali prenesse Definiamo quando una formula `e in forma prenessa secondo la definizione induttiva: (1) una formula aperta `e in forma prenessa; (2) se α `e in forma prenessa, anche Qxα `e in forma prenessa (3) niente altro· · · . 26 CAPITOLO 7 per Q un quantificatore e x una variabile. Insomma le forme prenesse sono del tipo α = Qxi1 Qx2 . . . Qxin β con n ≥ 0, e β formula aperta (la matrice di α). Proposizione 16. Per ogni formula α possiamo determinare una α′ in forma prenessa con α ≈ α′ . DIM. [Cenno.] In primo luogo, troviamo una α′′ che abbia la propriet´a di separazione delle variabili (corollario della proposizione 10) ed equivalente ad α. Applicando la proposizione 14 possiamo poi esportare tutti i quantificatori all’ esterno della formula. [Esercizio: descrivere un algoritmo che prende una formula α e restituisce una logicamente equivalente ad α ed in forma prenessa.] Si noti che di forme prenesse per α equivalenti ad α ce ne sono infinite. Per esempio: trovare una forma prenessa equivalente a (A, B, C sono simboli predicativi ad uno e due posti): ((∃xA(x) → ∀yB(x, y)) → ¬∀xC(x, y) per esempio, abbiamo la catena di equivalenze ≈: ((∃zA(z) → ∀wB(x, w)) → ¬∀uC(u, y) ((∃zA(z) → ∀wB(x, w)) → ∃u¬C(u, y) ∀a∀w(A(z) → B(x, w) → ∃u¬C(u, y) ∀a∀w∃u((A(z) → B(x, w)) → ¬C(u, y)). Una formula che sia atomica oppure sia la negazione di una atomica, si dice un letterale (predicativo). Una formula aperta si dice in forma normale disgiuntiva se essa `e una istanza atomica di una formula proposizionale in forma normale disgiuntiva: in sostanza, `e una disgiunzione di congiunzioni di letterali predicativi. (Similmente, per le f.n. congiuntive.) Una formula aperta β `e ovviamente sempre un’ istanza atomica di (almeno) una opportuna formula proposizionale γ mediante una funzione di istanziazione G : AT P 7→ AT F ORM. Se φ `e una formula proposizionale in forma normale (per fissare le idee, in forma normale disgiuntiva) equivalente a γ, allora la formula G(φ) `e in forma normale disgiuntiva, ma inoltre essa `e equivalente a β : infatti |=0 γ ↔ φ, onde (prop. 11) G(β) ≈ G(φ). Una formula `e in forma normale prenessa se `e in forma prenessa e la matrice `e in forma normale (disgiuntiva). Da quanto sopra, e dalla prop.13, si ricava allora: Proposizione 17. Per ogni formula α possiamo determinare una formula α′ equivalente ad α ed in forma normale prenessa. CAPITOLO 7 27 14. Forme di Skolem L’idea di partenza ´e bene illustrata da un esempio. Supponiamo di avere una formula (atomica) con tre variabili distinte R(x, y, z) di un dato linguaggio L e consideriamo la formula (chiusa) prenessa: α := ∀x∀y∃zR(x, y, z) e vogliamo indagare sulla soddisfacibilit´a di α. Se essa ´e soddisfacibile, ci saranno una struttura A, ed un’ interpretazione I tali che A, I |= α. Questo significa: per ogni a, b ∈ A, esiste un c ∈ A, tali che la terna (a, b, c) appartiene alla realizzazione RA del segno di relazione R in A. Se per ogni a, b ∈ A scegliamo uno di tali c, troviamo una funzione g da A × A verso A, tale che per ogni a ∈ A, per ogni b ∈ A, (a, b, g(a, b)) ∈ RA . Questo suggerisce una procedura per ”eliminare” ∃ dall’ espression di α, a costo di espandere il linguaggio L. Aggiungiamo alla segnatura di L un nuovo segno di funzione a due posti f, ar(f ) = 2; ”nuovo” significa che non appartiene alla segnatura di L; e sia L′ il nuovo linguaggio cos´ı ottenuto. Consisderamo allora la formula di L′ : αSk := ∀x∀yR(x, y, f (x, y)). Avremo (z) α ´e soddisfacibile se e solo se αSk ´e soddisfacibile. Infatti: se α ´e soddisfacibile in A, I come sopra, trasformiamo A in una struttura A+ per L′ , nel modo ovvio: stesso insieme base A; la segnatura di L si realizza come in A; resta da realizzare il nuovo segno di funzione f, e naturalmente lo realizziamo nelle ´ allora ovvio che A+ , I |= αSk , con la medesima lettura I per funzione g vista sopra. E le variabvili in A. Per il viceversa, se αSk ´e soddisfacibile, esister´a una struttura B del linguaggio L′ , tale che con una qualche lettura I delle variabili in B, B, I |= αSk , il che significa: per ogni a, b ∈ B, (a, b, fB (a, b)) ∈ RB . Ora trasformiamo B in una struttura per L per ”dimenticanza”: B− ha o stesso insieme base B; e la segnatura di L ´ presto si realizza esattamente come in B. Abbiamo dimenticato il segno aggiuntivof. E visto che: B− |= α. Infatti (essendo una formula chiusa) basta trovare una lettura I che la soddisfi. Prendiamo la stessa I usata per αSk ; ´e pressoch´e ovvio che B− , I |= α : per ogni a, b ∈ B esiste c = fB (a, b) tale che Iax by cz |= R(x, y, z). Non cambia granch´e se al posto di R(x, y, z) ci fosse una qualunque formula aperta con tre varabili libere distinte β(x, y, z). Una procedura del genere (detta di Skolemizzazione dal nome del logico svedese che la invent´o) si pu´o ripetere per una formula chiusa qualunque, trasformata prima in forma prenessa, facendo tante estensioni del 28 CAPITOLO 7 linguaggio di partenza quante ne necessitano. Ecco una descrizione della procedura nel caso generale. INPUT: una formula chiusa α di un linguaggio L. OUTPUT: una formula chiusa Y= αSk di un linguaggio L+ che estende L mediante qualche (numero finito di) nuovi segni di operazioni, tale che: (1) αSk sia una formula prenessa universale (nel prefisso compaiono al pi´ u solamente ∀), (2) tale che valga (z). 1.– Data α: si trasforma in forma prenessa αp [[fin qui abbiamo addirittura equivalenza logica; si ricordi che in questo passo tutti i quantificatori agiscono su variabili diverse, a costo di cambiar nome alle variabili legate.]] 2.–Si analizza il prefisso della formula corrente, [[che al primo giro sar´a αp ]], e sia: Q0 x0 Q1 x1 · · · Qn−1 xn−1 e sia β la formula aperta matrice della formula corrente sicch´e formula corrente = Q0 x0 Q1 x1 · · · Qn−1 xn−1 β. 2.1. if n = 0 : allora la formula corrente ´e una formula chiusa ed aperta: ´e atomica chiusa oppure una combinazione booleana di atomiche chiuse. then αSk := formula corrente [[i requisiti sono rispettati]] stop 2.2. else sar´a n > 0. 2.2.1. if tutti i Qj del prefisso sono ∀ then : αSk = formula corrente; stop 2.2.2 else sia Qi il primo segno di ∃ a partire da sinistra nel prefisso di formula corrente: allarghiamo il linguaggio corrente aggiungendo un nuovo segno di funzione fi ad i − 1 posti [[ sar´a come dire: un segno di costante se i = 0]]: si fa un updating della formula corrente: formula corrente:= Q0 · · · Qi−1 Qi+1 · · · Qn (β[xi /fi (x0 , . . . , xi−1 )]) [[abbiamo eliminato ∃xi , e sostituito in β (la matrice della formula corrente ) al posto di xi il termine fi (x0 , . . . , xi−1 )]] ed infine : ricomincia dal punto 2. ´ intuitivamente chiaro che in un numero finito di giri, si produce una formula αSk E come richiesto. Si noti che strutturalmente le successive sostituzioni cui β ´e sottoposta durante la procedura non interferiscono l’una con l’ altra: ogni variabile sostituita, viene sostituita con un termine che non contiene variabili con indice maggiore. La dimostrazione precisa sarebbe un’ induzione sul numero di quantificatori esistenziali della forma prenessa di α, sarebbe un immaginabile ”tour de force”, e non molto pi´ u informativa dell’ esempio di z visto sopra; per cui la tralasciamo. Un paio di esempi chiariscono l’ uso della procedura: trovare una forma di Skolem αSk per . . α = ∀y∃z(f (y) = g(z) ∧ (¬(∀y∃z(¬(g(y) = f (z)))))). Come forma prenessa, ottemiamo (a meno di equivalenza logica): CAPITOLO 7 29 . . ∀y∃z∀u∃v(f (y) = g(z) ∧ g(u) = f (v)). Aggiungiamo un segno di funzione unaria f1 ed un segno di funzione binaria f2 e possiamo prendere: . . ∀y∀u(f (y) = g(f1 (y)) ∧ g(u) = f (f2 (y, u)) come forma di Skolem per α. Siccome la sua matrice ´e una congiunzione di identit´a, essa ´e soddisfacibile (in una struttura con un sol elemento, ogni identit´a ´e soddisfatta); quindi anche α ´e soddisfacibile. Oppure: trovare una forma di Skolem αSk per α = ∃x∀y∃z∀u∃vR(x, y, z, u, v), con R formula aperta : αSk = ∀y∀uR(c, y, f1 (y), u, f2 (y, u)), con: C nuovo simbolo di costante, f1 nuovo segno di funzione unaria, f2 nuovo segno di funzione binaria. OSSERVAZIONI. 1. Sia α una formula chiusa di linguaggio L; sia αSk una sua forma di Skolem in linguaggio LSk ; come formule del linguaggio esteso, sarebbe possibile dimostrare (esercizio !?) che aSk |= α; mentre in generale α ̸|= αSk . Per esempio, per ∃xR(x), con R atomica, una forma di Skolem sarebbe R(c) = R[c/x], con c nuova costante in L′ . Supponiamo che in una struttura A con almeno due elementi, si abbia che RA = {a} (sia un singoletto). Realizziamo la nuova costante su un elemento b ∈ A, b ̸= a. Sia I un’interpretazione delle variabili che manda x as assumere il valore b. Ciononostante, anche nel nuovo linguaggio, avremo I |= ∃xR(x) : basta prendere la variante di I ′ =x I che manda x in a. Mentre, disperatamente, I ̸ modelsR(c). 2. Circa la validit´a come leggi logiche, sia α una formula chiusa di L. Ovviamente |= α se e solo se ¬α ´e insoddisfacibile, se e solo se [a causa di z)], (¬α)Sk ´e insoddisfacibile nel suo linguaggio esteso. ”A prima vista”, tuttavia controllare l ’insoddisfacibilit´a di una formula (chiusa) universale –qual’´e una forma di Skolem – appare come alquanto faticoso: nessuna struttura (del linguaggio esteso) e nessuna interpretazione debbono soddisfarla. Sembra un lavoro non meno titanico di quello della verifica della |= α : si tratta di analizzare la classe di tutte le possibili strutture . . . . Inoltre la Skolemizzata di ¬α ha una scarsa affinit´a intuitiva di significato con α. 2. Per una formula ϕ(x, y, . . . ) qualunque, contenente variabili libere, la soddisfacibilit´a di ϕ equivale alla soddisfacibilit´a di ∃ϕ, la sua chiusura esistenziale; si puo’ allora applicare la procedura di Skolemizzazione a quest’ultima. 30 CAPITOLO 7 3. Per un insieme finito F = {φ1 , . . . , varphin } di formule , la sua soddisfacibilit´a equivale alla soddisfacibilit´a delle loro congiunzione, alla quale si pu´o applicare l’osservazione precedente, per usare la forma di Skolem. NON possiamo invece invertire i due passi: se prima troviamo per ciascuna ∃φi una forma di Skolem βi , la soddisfacibilit´a dell’ insieme {β1 , . . . , βn } pu´o darsi non abbia alcuna relazione con la soddisfacibilit´a di F. 4. Per un insieme infinito di formule (supponiamo pure siano tutte chiuse) Γ le forme di Skolem sono, direttamente, di scarso aiuto per decidere sulla soddisfacibilit’ di Γ. Anticipando sul capitolo 8, tuttavia, avremo il teorema di compattezza: ogni sottinsieme finito F di Γ ´e soddisfacibile se e solo se Γ ´e soddisfacibile. Si puo’ allora usare per ofni singolo F l’ osservazione precedente. Tuttavia, le strutture che rendono soddisfacibili due distinti sottinsiemi finiti di Γ possono essere del tutto diverse tra loro. 5. L’ utilizzo principale delle forme di Skolem ´e nella cosidetta teoria di Herbrand ...[MANCA] 15. L’ eguaglianza Il predicato di eguaglianza ha un trattamento speciale: il segno formale di eguaglianza `e stato interpretato forzatamente come la relazione di identit`a in qualunque modello del linguaggio. Questo comporta che avremo una classe di verit`a logiche e di relazioni di conseguenza logica che attengono all’ eguaglianza. Infatti: Proposizione 18. Le seguenti sono verit´a logiche, per t ∈ T ERM, α ∈ F ORM : . (1) x = x; . . (2) (x = y) → (y = x); . . . (3) (x = y) ∧ (y = z) → (x = z); . . . . (4) ((x1 = y1 ) ∧ (x2 = y2 ) ∧ . . . (xn = yn )) → (t[⃗x/⃗z] = (t[⃗y /⃗z]). . . . (5) ((x1 = y1 ) ∧ (x2 = y2 ) ∧ . . . (xn = yn )) → (α[⃗x/⃗z] ↔ α[⃗y /⃗z]). . La dimostrazione di (1),(2),(3) e’ banale , basata sul fatto che = `e interpretata come identit´a in qualunque struttura; la (4) segue dalla prop. 15 (1), e la (5) segue dalla prop. 15 (2). NOTA. . Abbiamo posto che = faccia sempre parte della segnatura di un liguaggio del primo ordine. Questo non impedisce lo studio di linguaggi qualunque , anche senza eguaglianza . . Tuuti i risultati ottenuti che non riguardano specificamente = restano ovviamente validi. CAPITOLO 7 31 ´ di un linguaggio 16. Cardinalita La cardinalit´a del linguaggio L su una segnatura τ = (R, F, C) `e il numero cardinale (≥ ℵ0 ) definito da: Card(L) = max{ℵ0 , Card(R), Card(F), Card(C)}. Vale a dire che essa `e la cardinalit´a infinita numerabile se il linguaggio ha solo un numero finito o numerabile di segni di relazioni, funzioni e costanti. Altrimenti `e uguale alla cardinalit´a dell’ insieme di tali segni. Si noti che se un linguaggio ha cardinalit´a k allora l’insieme delle sue formule e l’ insieme delle formule chiuse hanno anch’essi cardinalit´a k. Infatti l’ alfabeto ha cardinalita’ k , e l’insieme di tutte le sequenze finite di segni dell’ alfabeto ha cardinalita’ κ. Ma l’ insieme delle formule atomiche e’ gia’ di cardinalita’ almeno k : . – anche se R = F = C = ∅, Card(L) = ℵ0 , e abbiamo altrettante formule atomiche:Xi = x + i, per i ∈ ω.; – altrimenti, almeno uno tra R, F, C avr´a cardinalit´a k. In ciascun caso possiamo ot. tenere almeno k formule atomiche: per esempio, se F ha cardinalita’ k, fi (x1 , · · · , xn ) = f (x1 , · · · , xn ) ´e una formula atomica per ogni fi ∈ F , ar(fi ) = ni . Circa l’ insieme dei termini di L, la sua cardinalita’ sara in generale almeno ℵ0 e non superiore a Card(L). 17. ESERCIZI . (1) Nel linguaggio (oltre il segno di uguaglianza =) c’e’ un segno di funzione binaria f . Nel dominio dei numeri naturali questo si interpreti come l’ operazione di addizione. Scrivere una formula D(x, y) con x, y variabili libere che nello stesso dominio sia soddisfatta se e solo se si assegna ad x il valore assegnato ad y piu’ 1. (2) Nel linguaggio ci sono due segni di funzione binaria f, g che nel dominio dei numeri reali si interpretino come l’ operazione di addizione e di moltiplicazione. Scrivere una formula D(x) con x variabile libera che nello stesso dominio sia soddisfatta se e solo se si assegna ad x un valore maggiore od eguale a 1. (3) Nel linguaggio ci sono: un segno di costante c un segno di funzione binaria f ed un segno di predicato unario I. Nel dominio dei numeri reali questi si interpretino come: lo zero 0, l’ operazione di moltiplicazione, e l’ insieme dei numeri interi. Scrivere una formula D(x) con x variabile libera che nello stesso dominio sia soddisfatta se e solo se si assegna ad x un numero irrazionale. (4) Nel linguaggio ci sono solo: un segno di costante c e due segni di funzione binaria f, g. Nel dominio dei numeri reali questi si interpretino come: lo zero 0 e le operazioni di addizione e moltiplicazione. Scrivere una formula D(x) con x variabile libera che nello stesso dominio sia soddisfatta se e solo se si assegna ad x un numero negativo (minore di 0). 32 CAPITOLO 7 . (5) Avendo (oltre il segno di uguaglianza =) solo: una costante c per il numero zero ed un segno R(x, y) di relazione binaria, che nel dominio dei numeri interi si interpreta come: ”x e’ minore di y”, scrivere una formula P (x) con una sola variabile libera x che nello stesso dominio sia soddisfatta solo assegnando ad x il valore 2. (6) Nel linguaggio c’e un segno di relazione binaria R; sul dominio degli esseri umani, si interpreti come aRb se e solo se a ’ figlio di b. Scrivere una formula φ(x) soddisfatta da coloro che hanno esattamente un cugino ed una formula ψ(x) soddisfatta esattamente da coloro che hanno esttamente due cugini. (7) Nel linguaggio ci sono un segno di predicato binario R ed un segno di funzione binaria f , che nel dominio Z dei numeri interi si interpretano come l’ usuale < e l’operazione di moltiplicazione. Scrivere una formula P (x) con una variabile libera, soddisfatta in Z se e solo se il valore assegnato a x e’ un numero pari. . (8) Nel linguaggio (oltre il segno di uguaglianza =) ci sono un segno di predicato binario R ed un segno di funzione unaria f , che nel dominio dei numeri reali R si interpretano come l’ usuale ≤ e l’operazione di elevamento al quadrato. Scrivere una formula P (x) con una variabile libera, soddisfatta in R se e solo se il valore assegnato a x e’ un numero strettamente minore di 0. (9) Nel linguaggio ci sono segni di funzione f unario, g binario, una costante c ed un segno di relazione binaria R. Sui reali R si interpretino come: una generica funzione, la funzione distanza |a − b|, lo zero e la relazione ≤ . Scrivere una formula senza variabili libere che esprima: ”il limite della funzione f (x) per x → 0 e’ uguale a 0”. (10) Nel liguaggio ci siano 2 simboli di operazione binaria +, ·, 2 segni di costante 0, 1 ed un simbolo di relazione binaria ≤. Scrivere gli assiomi che definiscono i campi ordinati. (11) Stesso linguaggio del numero (10): Scrivere una formula D(x, y) soddisfatta sula campo reale R (con l´ınterpretazione solita dei simboli)se e solo se ad y si assegna il valore assoluto del valore di x. (12) Stesso linguaggio del numero (10): Scrivere una formula F (x) che sul dominio degli interi Z (con l’ interpretazione usuale dei simboli) sia soddisfatta sse il valore assegnato a x ´e il prodotto di due primi distinti e dispari. (13) Stesso linguaggio del numero (10): Scrivere una formula G(x, y) che sul dominio degli interi Z (con l’ interpretazione usuale dei simboli) sia soddisfatta sse i valori assegnati ad x, y sono congruenti tra loro modulo 4. (14) Stesso linguaggio del numero (10): Scrivere una formula H(x, y) che sul dominio degli interi Z ( con l’ interpretazione usuale dei simboli) sia soddisfatta sse i valori assegnati ad x ed y sono primi tra loro. (15) Stesso linguaggio del numero (10): Scrivere una formula K(x) che sul dominio dei razionali Q (con l’ interpretazione usuale √ √dei simboli) sia soddisfatta sse il valore assegnato ad x ´e compreso tra − 2 e 3. (16) Stabilire se e’ vero o meno che (essendo f, g segni di funzioni unarie): CAPITOLO 7 33 . . . ∀x(g(x) = f (g(x))), ∀z∃y(g(y) = f (z)) |= ∀x(f (x) = x). . . (17) Stabilire se e’ vero o meno che |= ∀x(f (g(x)) = x) → ∀x(g(f (x)) = x) (essendo f, g un segni di funzioni unarie). (18) Stabilire se e’ vero o meno che (essendo f, g segni di funzioni unarie): . . . ∀x(g(x) = f (g(x))), ∀z∃y(g(y) = z) |= ∀x(f (x) = x) (19) Scrivere le seguenti formule in forma di Skolem e stabilire se siano soddisfacibili: (∃x∀yR(y, x)) ∧ (¬∃xR(x, x)). . . . ∀x(g(x) = f (g(x))) ∧ (∀z∃y(g(y) = z) → ∀x(f (x) = x)) . . ∃y∀x(f (x, y) = x) → ∃x(f (x, x) = x) . . ∃x(f (x) = x) ∧ ¬∃y(f (f (y)) = y) (essendo f un segno di funzione unaria). (¬∃x(P → Q)) ∧ ((∀xQ) → (∃xP )), (P,Q formule aperte) ¬(∃xP ∨ ((∀yQ → ∀xP ))) (P,Q formule aperte)
© Copyright 2024 ExpyDoc